linux_io_uring_sys/
sys.rs

1/* automatically generated by rust-bindgen */
2
3pub const __NR_io_uring_setup: u32 = 425;
4pub const __NR_io_uring_enter: u32 = 426;
5pub const __NR_io_uring_register: u32 = 427;
6pub const IOSQE_FIXED_FILE: u32 = 1;
7pub const IOSQE_IO_DRAIN: u32 = 2;
8pub const IOSQE_IO_LINK: u32 = 4;
9pub const IOSQE_IO_HARDLINK: u32 = 8;
10pub const IORING_SETUP_IOPOLL: u32 = 1;
11pub const IORING_SETUP_SQPOLL: u32 = 2;
12pub const IORING_SETUP_SQ_AFF: u32 = 4;
13pub const IORING_SETUP_CQSIZE: u32 = 8;
14pub const IORING_FSYNC_DATASYNC: u32 = 1;
15pub const IORING_TIMEOUT_ABS: u32 = 1;
16pub const IORING_OFF_SQ_RING: u32 = 0;
17pub const IORING_OFF_CQ_RING: u32 = 134217728;
18pub const IORING_OFF_SQES: u32 = 268435456;
19pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
20pub const IORING_ENTER_GETEVENTS: u32 = 1;
21pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
22pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
23pub const IORING_FEAT_NODROP: u32 = 2;
24pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
25pub const IORING_REGISTER_BUFFERS: u32 = 0;
26pub const IORING_UNREGISTER_BUFFERS: u32 = 1;
27pub const IORING_REGISTER_FILES: u32 = 2;
28pub const IORING_UNREGISTER_FILES: u32 = 3;
29pub const IORING_REGISTER_EVENTFD: u32 = 4;
30pub const IORING_UNREGISTER_EVENTFD: u32 = 5;
31pub const IORING_REGISTER_FILES_UPDATE: u32 = 6;
32pub type __u8 = libc::c_uchar;
33pub type __u16 = libc::c_ushort;
34pub type __s32 = libc::c_int;
35pub type __u32 = libc::c_uint;
36pub type __u64 = libc::c_ulonglong;
37pub type __kernel_time64_t = libc::c_longlong;
38#[repr(C)]
39#[derive(Debug, Default, Copy, Clone)]
40pub struct __kernel_timespec {
41    pub tv_sec: __kernel_time64_t,
42    pub tv_nsec: libc::c_longlong,
43}
44#[test]
45fn bindgen_test_layout___kernel_timespec() {
46    assert_eq!(
47        ::core::mem::size_of::<__kernel_timespec>(),
48        16usize,
49        concat!("Size of: ", stringify!(__kernel_timespec))
50    );
51    assert_eq!(
52        ::core::mem::align_of::<__kernel_timespec>(),
53        8usize,
54        concat!("Alignment of ", stringify!(__kernel_timespec))
55    );
56    assert_eq!(
57        unsafe { &(*(::core::ptr::null::<__kernel_timespec>())).tv_sec as *const _ as usize },
58        0usize,
59        concat!(
60            "Offset of field: ",
61            stringify!(__kernel_timespec),
62            "::",
63            stringify!(tv_sec)
64        )
65    );
66    assert_eq!(
67        unsafe { &(*(::core::ptr::null::<__kernel_timespec>())).tv_nsec as *const _ as usize },
68        8usize,
69        concat!(
70            "Offset of field: ",
71            stringify!(__kernel_timespec),
72            "::",
73            stringify!(tv_nsec)
74        )
75    );
76}
77pub type __kernel_rwf_t = libc::c_int;
78#[repr(C)]
79#[derive(Copy, Clone)]
80pub struct io_uring_sqe {
81    pub opcode: __u8,
82    pub flags: __u8,
83    pub ioprio: __u16,
84    pub fd: __s32,
85    pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
86    pub addr: __u64,
87    pub len: __u32,
88    pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
89    pub user_data: __u64,
90    pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
91}
92#[repr(C)]
93#[derive(Copy, Clone)]
94pub union io_uring_sqe__bindgen_ty_1 {
95    pub off: __u64,
96    pub addr2: __u64,
97    _bindgen_union_align: u64,
98}
99#[test]
100fn bindgen_test_layout_io_uring_sqe__bindgen_ty_1() {
101    assert_eq!(
102        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_1>(),
103        8usize,
104        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_1))
105    );
106    assert_eq!(
107        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_1>(),
108        8usize,
109        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_1))
110    );
111    assert_eq!(
112        unsafe { &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_1>())).off as *const _ as usize },
113        0usize,
114        concat!(
115            "Offset of field: ",
116            stringify!(io_uring_sqe__bindgen_ty_1),
117            "::",
118            stringify!(off)
119        )
120    );
121    assert_eq!(
122        unsafe {
123            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_1>())).addr2 as *const _ as usize
124        },
125        0usize,
126        concat!(
127            "Offset of field: ",
128            stringify!(io_uring_sqe__bindgen_ty_1),
129            "::",
130            stringify!(addr2)
131        )
132    );
133}
134impl Default for io_uring_sqe__bindgen_ty_1 {
135    fn default() -> Self {
136        unsafe { ::core::mem::zeroed() }
137    }
138}
139#[repr(C)]
140#[derive(Copy, Clone)]
141pub union io_uring_sqe__bindgen_ty_2 {
142    pub rw_flags: __kernel_rwf_t,
143    pub fsync_flags: __u32,
144    pub poll_events: __u16,
145    pub sync_range_flags: __u32,
146    pub msg_flags: __u32,
147    pub timeout_flags: __u32,
148    pub accept_flags: __u32,
149    pub cancel_flags: __u32,
150    _bindgen_union_align: u32,
151}
152#[test]
153fn bindgen_test_layout_io_uring_sqe__bindgen_ty_2() {
154    assert_eq!(
155        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_2>(),
156        4usize,
157        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_2))
158    );
159    assert_eq!(
160        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_2>(),
161        4usize,
162        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_2))
163    );
164    assert_eq!(
165        unsafe {
166            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).rw_flags as *const _ as usize
167        },
168        0usize,
169        concat!(
170            "Offset of field: ",
171            stringify!(io_uring_sqe__bindgen_ty_2),
172            "::",
173            stringify!(rw_flags)
174        )
175    );
176    assert_eq!(
177        unsafe {
178            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).fsync_flags as *const _ as usize
179        },
180        0usize,
181        concat!(
182            "Offset of field: ",
183            stringify!(io_uring_sqe__bindgen_ty_2),
184            "::",
185            stringify!(fsync_flags)
186        )
187    );
188    assert_eq!(
189        unsafe {
190            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).poll_events as *const _ as usize
191        },
192        0usize,
193        concat!(
194            "Offset of field: ",
195            stringify!(io_uring_sqe__bindgen_ty_2),
196            "::",
197            stringify!(poll_events)
198        )
199    );
200    assert_eq!(
201        unsafe {
202            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).sync_range_flags as *const _
203                as usize
204        },
205        0usize,
206        concat!(
207            "Offset of field: ",
208            stringify!(io_uring_sqe__bindgen_ty_2),
209            "::",
210            stringify!(sync_range_flags)
211        )
212    );
213    assert_eq!(
214        unsafe {
215            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).msg_flags as *const _ as usize
216        },
217        0usize,
218        concat!(
219            "Offset of field: ",
220            stringify!(io_uring_sqe__bindgen_ty_2),
221            "::",
222            stringify!(msg_flags)
223        )
224    );
225    assert_eq!(
226        unsafe {
227            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).timeout_flags as *const _
228                as usize
229        },
230        0usize,
231        concat!(
232            "Offset of field: ",
233            stringify!(io_uring_sqe__bindgen_ty_2),
234            "::",
235            stringify!(timeout_flags)
236        )
237    );
238    assert_eq!(
239        unsafe {
240            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).accept_flags as *const _
241                as usize
242        },
243        0usize,
244        concat!(
245            "Offset of field: ",
246            stringify!(io_uring_sqe__bindgen_ty_2),
247            "::",
248            stringify!(accept_flags)
249        )
250    );
251    assert_eq!(
252        unsafe {
253            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_2>())).cancel_flags as *const _
254                as usize
255        },
256        0usize,
257        concat!(
258            "Offset of field: ",
259            stringify!(io_uring_sqe__bindgen_ty_2),
260            "::",
261            stringify!(cancel_flags)
262        )
263    );
264}
265impl Default for io_uring_sqe__bindgen_ty_2 {
266    fn default() -> Self {
267        unsafe { ::core::mem::zeroed() }
268    }
269}
270#[repr(C)]
271#[derive(Copy, Clone)]
272pub union io_uring_sqe__bindgen_ty_3 {
273    pub buf_index: __u16,
274    pub __pad2: [__u64; 3usize],
275    _bindgen_union_align: [u64; 3usize],
276}
277#[test]
278fn bindgen_test_layout_io_uring_sqe__bindgen_ty_3() {
279    assert_eq!(
280        ::core::mem::size_of::<io_uring_sqe__bindgen_ty_3>(),
281        24usize,
282        concat!("Size of: ", stringify!(io_uring_sqe__bindgen_ty_3))
283    );
284    assert_eq!(
285        ::core::mem::align_of::<io_uring_sqe__bindgen_ty_3>(),
286        8usize,
287        concat!("Alignment of ", stringify!(io_uring_sqe__bindgen_ty_3))
288    );
289    assert_eq!(
290        unsafe {
291            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).buf_index as *const _ as usize
292        },
293        0usize,
294        concat!(
295            "Offset of field: ",
296            stringify!(io_uring_sqe__bindgen_ty_3),
297            "::",
298            stringify!(buf_index)
299        )
300    );
301    assert_eq!(
302        unsafe {
303            &(*(::core::ptr::null::<io_uring_sqe__bindgen_ty_3>())).__pad2 as *const _ as usize
304        },
305        0usize,
306        concat!(
307            "Offset of field: ",
308            stringify!(io_uring_sqe__bindgen_ty_3),
309            "::",
310            stringify!(__pad2)
311        )
312    );
313}
314impl Default for io_uring_sqe__bindgen_ty_3 {
315    fn default() -> Self {
316        unsafe { ::core::mem::zeroed() }
317    }
318}
319#[test]
320fn bindgen_test_layout_io_uring_sqe() {
321    assert_eq!(
322        ::core::mem::size_of::<io_uring_sqe>(),
323        64usize,
324        concat!("Size of: ", stringify!(io_uring_sqe))
325    );
326    assert_eq!(
327        ::core::mem::align_of::<io_uring_sqe>(),
328        8usize,
329        concat!("Alignment of ", stringify!(io_uring_sqe))
330    );
331    assert_eq!(
332        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).opcode as *const _ as usize },
333        0usize,
334        concat!(
335            "Offset of field: ",
336            stringify!(io_uring_sqe),
337            "::",
338            stringify!(opcode)
339        )
340    );
341    assert_eq!(
342        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).flags as *const _ as usize },
343        1usize,
344        concat!(
345            "Offset of field: ",
346            stringify!(io_uring_sqe),
347            "::",
348            stringify!(flags)
349        )
350    );
351    assert_eq!(
352        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).ioprio as *const _ as usize },
353        2usize,
354        concat!(
355            "Offset of field: ",
356            stringify!(io_uring_sqe),
357            "::",
358            stringify!(ioprio)
359        )
360    );
361    assert_eq!(
362        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).fd as *const _ as usize },
363        4usize,
364        concat!(
365            "Offset of field: ",
366            stringify!(io_uring_sqe),
367            "::",
368            stringify!(fd)
369        )
370    );
371    assert_eq!(
372        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).addr as *const _ as usize },
373        16usize,
374        concat!(
375            "Offset of field: ",
376            stringify!(io_uring_sqe),
377            "::",
378            stringify!(addr)
379        )
380    );
381    assert_eq!(
382        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).len as *const _ as usize },
383        24usize,
384        concat!(
385            "Offset of field: ",
386            stringify!(io_uring_sqe),
387            "::",
388            stringify!(len)
389        )
390    );
391    assert_eq!(
392        unsafe { &(*(::core::ptr::null::<io_uring_sqe>())).user_data as *const _ as usize },
393        32usize,
394        concat!(
395            "Offset of field: ",
396            stringify!(io_uring_sqe),
397            "::",
398            stringify!(user_data)
399        )
400    );
401}
402impl Default for io_uring_sqe {
403    fn default() -> Self {
404        unsafe { ::core::mem::zeroed() }
405    }
406}
407pub const IORING_OP_NOP: _bindgen_ty_4 = 0;
408pub const IORING_OP_READV: _bindgen_ty_4 = 1;
409pub const IORING_OP_WRITEV: _bindgen_ty_4 = 2;
410pub const IORING_OP_FSYNC: _bindgen_ty_4 = 3;
411pub const IORING_OP_READ_FIXED: _bindgen_ty_4 = 4;
412pub const IORING_OP_WRITE_FIXED: _bindgen_ty_4 = 5;
413pub const IORING_OP_POLL_ADD: _bindgen_ty_4 = 6;
414pub const IORING_OP_POLL_REMOVE: _bindgen_ty_4 = 7;
415pub const IORING_OP_SYNC_FILE_RANGE: _bindgen_ty_4 = 8;
416pub const IORING_OP_SENDMSG: _bindgen_ty_4 = 9;
417pub const IORING_OP_RECVMSG: _bindgen_ty_4 = 10;
418pub const IORING_OP_TIMEOUT: _bindgen_ty_4 = 11;
419pub const IORING_OP_TIMEOUT_REMOVE: _bindgen_ty_4 = 12;
420pub const IORING_OP_ACCEPT: _bindgen_ty_4 = 13;
421pub const IORING_OP_ASYNC_CANCEL: _bindgen_ty_4 = 14;
422pub const IORING_OP_LINK_TIMEOUT: _bindgen_ty_4 = 15;
423pub const IORING_OP_CONNECT: _bindgen_ty_4 = 16;
424pub const IORING_OP_LAST: _bindgen_ty_4 = 17;
425pub type _bindgen_ty_4 = u32;
426#[repr(C)]
427#[derive(Debug, Default, Copy, Clone)]
428pub struct io_uring_cqe {
429    pub user_data: __u64,
430    pub res: __s32,
431    pub flags: __u32,
432}
433#[test]
434fn bindgen_test_layout_io_uring_cqe() {
435    assert_eq!(
436        ::core::mem::size_of::<io_uring_cqe>(),
437        16usize,
438        concat!("Size of: ", stringify!(io_uring_cqe))
439    );
440    assert_eq!(
441        ::core::mem::align_of::<io_uring_cqe>(),
442        8usize,
443        concat!("Alignment of ", stringify!(io_uring_cqe))
444    );
445    assert_eq!(
446        unsafe { &(*(::core::ptr::null::<io_uring_cqe>())).user_data as *const _ as usize },
447        0usize,
448        concat!(
449            "Offset of field: ",
450            stringify!(io_uring_cqe),
451            "::",
452            stringify!(user_data)
453        )
454    );
455    assert_eq!(
456        unsafe { &(*(::core::ptr::null::<io_uring_cqe>())).res as *const _ as usize },
457        8usize,
458        concat!(
459            "Offset of field: ",
460            stringify!(io_uring_cqe),
461            "::",
462            stringify!(res)
463        )
464    );
465    assert_eq!(
466        unsafe { &(*(::core::ptr::null::<io_uring_cqe>())).flags as *const _ as usize },
467        12usize,
468        concat!(
469            "Offset of field: ",
470            stringify!(io_uring_cqe),
471            "::",
472            stringify!(flags)
473        )
474    );
475}
476#[repr(C)]
477#[derive(Debug, Default, Copy, Clone)]
478pub struct io_sqring_offsets {
479    pub head: __u32,
480    pub tail: __u32,
481    pub ring_mask: __u32,
482    pub ring_entries: __u32,
483    pub flags: __u32,
484    pub dropped: __u32,
485    pub array: __u32,
486    pub resv1: __u32,
487    pub resv2: __u64,
488}
489#[test]
490fn bindgen_test_layout_io_sqring_offsets() {
491    assert_eq!(
492        ::core::mem::size_of::<io_sqring_offsets>(),
493        40usize,
494        concat!("Size of: ", stringify!(io_sqring_offsets))
495    );
496    assert_eq!(
497        ::core::mem::align_of::<io_sqring_offsets>(),
498        8usize,
499        concat!("Alignment of ", stringify!(io_sqring_offsets))
500    );
501    assert_eq!(
502        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).head as *const _ as usize },
503        0usize,
504        concat!(
505            "Offset of field: ",
506            stringify!(io_sqring_offsets),
507            "::",
508            stringify!(head)
509        )
510    );
511    assert_eq!(
512        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).tail as *const _ as usize },
513        4usize,
514        concat!(
515            "Offset of field: ",
516            stringify!(io_sqring_offsets),
517            "::",
518            stringify!(tail)
519        )
520    );
521    assert_eq!(
522        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).ring_mask as *const _ as usize },
523        8usize,
524        concat!(
525            "Offset of field: ",
526            stringify!(io_sqring_offsets),
527            "::",
528            stringify!(ring_mask)
529        )
530    );
531    assert_eq!(
532        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).ring_entries as *const _ as usize },
533        12usize,
534        concat!(
535            "Offset of field: ",
536            stringify!(io_sqring_offsets),
537            "::",
538            stringify!(ring_entries)
539        )
540    );
541    assert_eq!(
542        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).flags as *const _ as usize },
543        16usize,
544        concat!(
545            "Offset of field: ",
546            stringify!(io_sqring_offsets),
547            "::",
548            stringify!(flags)
549        )
550    );
551    assert_eq!(
552        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).dropped as *const _ as usize },
553        20usize,
554        concat!(
555            "Offset of field: ",
556            stringify!(io_sqring_offsets),
557            "::",
558            stringify!(dropped)
559        )
560    );
561    assert_eq!(
562        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).array as *const _ as usize },
563        24usize,
564        concat!(
565            "Offset of field: ",
566            stringify!(io_sqring_offsets),
567            "::",
568            stringify!(array)
569        )
570    );
571    assert_eq!(
572        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).resv1 as *const _ as usize },
573        28usize,
574        concat!(
575            "Offset of field: ",
576            stringify!(io_sqring_offsets),
577            "::",
578            stringify!(resv1)
579        )
580    );
581    assert_eq!(
582        unsafe { &(*(::core::ptr::null::<io_sqring_offsets>())).resv2 as *const _ as usize },
583        32usize,
584        concat!(
585            "Offset of field: ",
586            stringify!(io_sqring_offsets),
587            "::",
588            stringify!(resv2)
589        )
590    );
591}
592#[repr(C)]
593#[derive(Debug, Default, Copy, Clone)]
594pub struct io_cqring_offsets {
595    pub head: __u32,
596    pub tail: __u32,
597    pub ring_mask: __u32,
598    pub ring_entries: __u32,
599    pub overflow: __u32,
600    pub cqes: __u32,
601    pub resv: [__u64; 2usize],
602}
603#[test]
604fn bindgen_test_layout_io_cqring_offsets() {
605    assert_eq!(
606        ::core::mem::size_of::<io_cqring_offsets>(),
607        40usize,
608        concat!("Size of: ", stringify!(io_cqring_offsets))
609    );
610    assert_eq!(
611        ::core::mem::align_of::<io_cqring_offsets>(),
612        8usize,
613        concat!("Alignment of ", stringify!(io_cqring_offsets))
614    );
615    assert_eq!(
616        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).head as *const _ as usize },
617        0usize,
618        concat!(
619            "Offset of field: ",
620            stringify!(io_cqring_offsets),
621            "::",
622            stringify!(head)
623        )
624    );
625    assert_eq!(
626        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).tail as *const _ as usize },
627        4usize,
628        concat!(
629            "Offset of field: ",
630            stringify!(io_cqring_offsets),
631            "::",
632            stringify!(tail)
633        )
634    );
635    assert_eq!(
636        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).ring_mask as *const _ as usize },
637        8usize,
638        concat!(
639            "Offset of field: ",
640            stringify!(io_cqring_offsets),
641            "::",
642            stringify!(ring_mask)
643        )
644    );
645    assert_eq!(
646        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).ring_entries as *const _ as usize },
647        12usize,
648        concat!(
649            "Offset of field: ",
650            stringify!(io_cqring_offsets),
651            "::",
652            stringify!(ring_entries)
653        )
654    );
655    assert_eq!(
656        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).overflow as *const _ as usize },
657        16usize,
658        concat!(
659            "Offset of field: ",
660            stringify!(io_cqring_offsets),
661            "::",
662            stringify!(overflow)
663        )
664    );
665    assert_eq!(
666        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).cqes as *const _ as usize },
667        20usize,
668        concat!(
669            "Offset of field: ",
670            stringify!(io_cqring_offsets),
671            "::",
672            stringify!(cqes)
673        )
674    );
675    assert_eq!(
676        unsafe { &(*(::core::ptr::null::<io_cqring_offsets>())).resv as *const _ as usize },
677        24usize,
678        concat!(
679            "Offset of field: ",
680            stringify!(io_cqring_offsets),
681            "::",
682            stringify!(resv)
683        )
684    );
685}
686#[repr(C)]
687#[derive(Debug, Default, Copy, Clone)]
688pub struct io_uring_params {
689    pub sq_entries: __u32,
690    pub cq_entries: __u32,
691    pub flags: __u32,
692    pub sq_thread_cpu: __u32,
693    pub sq_thread_idle: __u32,
694    pub features: __u32,
695    pub resv: [__u32; 4usize],
696    pub sq_off: io_sqring_offsets,
697    pub cq_off: io_cqring_offsets,
698}
699#[test]
700fn bindgen_test_layout_io_uring_params() {
701    assert_eq!(
702        ::core::mem::size_of::<io_uring_params>(),
703        120usize,
704        concat!("Size of: ", stringify!(io_uring_params))
705    );
706    assert_eq!(
707        ::core::mem::align_of::<io_uring_params>(),
708        8usize,
709        concat!("Alignment of ", stringify!(io_uring_params))
710    );
711    assert_eq!(
712        unsafe { &(*(::core::ptr::null::<io_uring_params>())).sq_entries as *const _ as usize },
713        0usize,
714        concat!(
715            "Offset of field: ",
716            stringify!(io_uring_params),
717            "::",
718            stringify!(sq_entries)
719        )
720    );
721    assert_eq!(
722        unsafe { &(*(::core::ptr::null::<io_uring_params>())).cq_entries as *const _ as usize },
723        4usize,
724        concat!(
725            "Offset of field: ",
726            stringify!(io_uring_params),
727            "::",
728            stringify!(cq_entries)
729        )
730    );
731    assert_eq!(
732        unsafe { &(*(::core::ptr::null::<io_uring_params>())).flags as *const _ as usize },
733        8usize,
734        concat!(
735            "Offset of field: ",
736            stringify!(io_uring_params),
737            "::",
738            stringify!(flags)
739        )
740    );
741    assert_eq!(
742        unsafe { &(*(::core::ptr::null::<io_uring_params>())).sq_thread_cpu as *const _ as usize },
743        12usize,
744        concat!(
745            "Offset of field: ",
746            stringify!(io_uring_params),
747            "::",
748            stringify!(sq_thread_cpu)
749        )
750    );
751    assert_eq!(
752        unsafe { &(*(::core::ptr::null::<io_uring_params>())).sq_thread_idle as *const _ as usize },
753        16usize,
754        concat!(
755            "Offset of field: ",
756            stringify!(io_uring_params),
757            "::",
758            stringify!(sq_thread_idle)
759        )
760    );
761    assert_eq!(
762        unsafe { &(*(::core::ptr::null::<io_uring_params>())).features as *const _ as usize },
763        20usize,
764        concat!(
765            "Offset of field: ",
766            stringify!(io_uring_params),
767            "::",
768            stringify!(features)
769        )
770    );
771    assert_eq!(
772        unsafe { &(*(::core::ptr::null::<io_uring_params>())).resv as *const _ as usize },
773        24usize,
774        concat!(
775            "Offset of field: ",
776            stringify!(io_uring_params),
777            "::",
778            stringify!(resv)
779        )
780    );
781    assert_eq!(
782        unsafe { &(*(::core::ptr::null::<io_uring_params>())).sq_off as *const _ as usize },
783        40usize,
784        concat!(
785            "Offset of field: ",
786            stringify!(io_uring_params),
787            "::",
788            stringify!(sq_off)
789        )
790    );
791    assert_eq!(
792        unsafe { &(*(::core::ptr::null::<io_uring_params>())).cq_off as *const _ as usize },
793        80usize,
794        concat!(
795            "Offset of field: ",
796            stringify!(io_uring_params),
797            "::",
798            stringify!(cq_off)
799        )
800    );
801}
802#[repr(C)]
803#[derive(Debug, Copy, Clone)]
804pub struct io_uring_files_update {
805    pub offset: __u32,
806    pub fds: *mut __s32,
807}
808#[test]
809fn bindgen_test_layout_io_uring_files_update() {
810    assert_eq!(
811        ::core::mem::size_of::<io_uring_files_update>(),
812        16usize,
813        concat!("Size of: ", stringify!(io_uring_files_update))
814    );
815    assert_eq!(
816        ::core::mem::align_of::<io_uring_files_update>(),
817        8usize,
818        concat!("Alignment of ", stringify!(io_uring_files_update))
819    );
820    assert_eq!(
821        unsafe { &(*(::core::ptr::null::<io_uring_files_update>())).offset as *const _ as usize },
822        0usize,
823        concat!(
824            "Offset of field: ",
825            stringify!(io_uring_files_update),
826            "::",
827            stringify!(offset)
828        )
829    );
830    assert_eq!(
831        unsafe { &(*(::core::ptr::null::<io_uring_files_update>())).fds as *const _ as usize },
832        8usize,
833        concat!(
834            "Offset of field: ",
835            stringify!(io_uring_files_update),
836            "::",
837            stringify!(fds)
838        )
839    );
840}
841impl Default for io_uring_files_update {
842    fn default() -> Self {
843        unsafe { ::core::mem::zeroed() }
844    }
845}