1pub 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}