1pub type __s8 = crate::ctypes::c_schar;
4pub type __u8 = crate::ctypes::c_uchar;
5pub type __s16 = crate::ctypes::c_short;
6pub type __u16 = crate::ctypes::c_ushort;
7pub type __s32 = crate::ctypes::c_int;
8pub type __u32 = crate::ctypes::c_uint;
9pub type __s64 = crate::ctypes::c_longlong;
10pub type __u64 = crate::ctypes::c_ulonglong;
11pub type __kernel_key_t = crate::ctypes::c_int;
12pub type __kernel_mqd_t = crate::ctypes::c_int;
13pub type __kernel_mode_t = crate::ctypes::c_ushort;
14pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort;
15pub type __kernel_uid_t = crate::ctypes::c_ushort;
16pub type __kernel_gid_t = crate::ctypes::c_ushort;
17pub type __kernel_old_dev_t = crate::ctypes::c_ushort;
18pub type __kernel_long_t = crate::ctypes::c_long;
19pub type __kernel_ulong_t = crate::ctypes::c_ulong;
20pub type __kernel_ino_t = __kernel_ulong_t;
21pub type __kernel_pid_t = crate::ctypes::c_int;
22pub type __kernel_suseconds_t = __kernel_long_t;
23pub type __kernel_daddr_t = crate::ctypes::c_int;
24pub type __kernel_uid32_t = crate::ctypes::c_uint;
25pub type __kernel_gid32_t = crate::ctypes::c_uint;
26pub type __kernel_old_uid_t = __kernel_uid_t;
27pub type __kernel_old_gid_t = __kernel_gid_t;
28pub type __kernel_size_t = crate::ctypes::c_uint;
29pub type __kernel_ssize_t = crate::ctypes::c_int;
30pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
31pub type __kernel_off_t = __kernel_long_t;
32pub type __kernel_loff_t = crate::ctypes::c_longlong;
33pub type __kernel_old_time_t = __kernel_long_t;
34pub type __kernel_time_t = __kernel_long_t;
35pub type __kernel_time64_t = crate::ctypes::c_longlong;
36pub type __kernel_clock_t = __kernel_long_t;
37pub type __kernel_timer_t = crate::ctypes::c_int;
38pub type __kernel_clockid_t = crate::ctypes::c_int;
39pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
40pub type __kernel_uid16_t = crate::ctypes::c_ushort;
41pub type __kernel_gid16_t = crate::ctypes::c_ushort;
42pub type __le16 = __u16;
43pub type __be16 = __u16;
44pub type __le32 = __u32;
45pub type __be32 = __u32;
46pub type __le64 = __u64;
47pub type __be64 = __u64;
48pub type __sum16 = __u16;
49pub type __wsum = __u32;
50pub type __poll_t = crate::ctypes::c_uint;
51pub type __kernel_rwf_t = crate::ctypes::c_int;
52#[repr(C)]
53#[derive(Default)]
54pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
55#[repr(C)]
56pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
57#[repr(C)]
58#[derive(Debug, Copy, Clone)]
59pub struct fscrypt_policy_v1 {
60pub version: __u8,
61pub contents_encryption_mode: __u8,
62pub filenames_encryption_mode: __u8,
63pub flags: __u8,
64pub master_key_descriptor: [__u8; 8usize],
65}
66#[repr(C)]
67#[derive(Debug, Copy, Clone)]
68pub struct fscrypt_key {
69pub mode: __u32,
70pub raw: [__u8; 64usize],
71pub size: __u32,
72}
73#[repr(C)]
74#[derive(Debug, Copy, Clone)]
75pub struct fscrypt_policy_v2 {
76pub version: __u8,
77pub contents_encryption_mode: __u8,
78pub filenames_encryption_mode: __u8,
79pub flags: __u8,
80pub log2_data_unit_size: __u8,
81pub __reserved: [__u8; 3usize],
82pub master_key_identifier: [__u8; 16usize],
83}
84#[repr(C)]
85#[derive(Copy, Clone)]
86pub struct fscrypt_get_policy_ex_arg {
87pub policy_size: __u64,
88pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1,
89}
90#[repr(C)]
91#[derive(Copy, Clone)]
92pub struct fscrypt_key_specifier {
93pub type_: __u32,
94pub __reserved: __u32,
95pub u: fscrypt_key_specifier__bindgen_ty_1,
96}
97#[repr(C)]
98#[derive(Debug)]
99pub struct fscrypt_provisioning_key_payload {
100pub type_: __u32,
101pub flags: __u32,
102pub raw: __IncompleteArrayField<__u8>,
103}
104#[repr(C)]
105pub struct fscrypt_add_key_arg {
106pub key_spec: fscrypt_key_specifier,
107pub raw_size: __u32,
108pub key_id: __u32,
109pub flags: __u32,
110pub __reserved: [__u32; 7usize],
111pub raw: __IncompleteArrayField<__u8>,
112}
113#[repr(C)]
114#[derive(Copy, Clone)]
115pub struct fscrypt_remove_key_arg {
116pub key_spec: fscrypt_key_specifier,
117pub removal_status_flags: __u32,
118pub __reserved: [__u32; 5usize],
119}
120#[repr(C)]
121#[derive(Copy, Clone)]
122pub struct fscrypt_get_key_status_arg {
123pub key_spec: fscrypt_key_specifier,
124pub __reserved: [__u32; 6usize],
125pub status: __u32,
126pub status_flags: __u32,
127pub user_count: __u32,
128pub __out_reserved: [__u32; 13usize],
129}
130#[repr(C)]
131#[derive(Debug, Copy, Clone)]
132pub struct mount_attr {
133pub attr_set: __u64,
134pub attr_clr: __u64,
135pub propagation: __u64,
136pub userns_fd: __u64,
137}
138#[repr(C)]
139#[derive(Debug)]
140pub struct statmount {
141pub size: __u32,
142pub mnt_opts: __u32,
143pub mask: __u64,
144pub sb_dev_major: __u32,
145pub sb_dev_minor: __u32,
146pub sb_magic: __u64,
147pub sb_flags: __u32,
148pub fs_type: __u32,
149pub mnt_id: __u64,
150pub mnt_parent_id: __u64,
151pub mnt_id_old: __u32,
152pub mnt_parent_id_old: __u32,
153pub mnt_attr: __u64,
154pub mnt_propagation: __u64,
155pub mnt_peer_group: __u64,
156pub mnt_master: __u64,
157pub propagate_from: __u64,
158pub mnt_root: __u32,
159pub mnt_point: __u32,
160pub mnt_ns_id: __u64,
161pub fs_subtype: __u32,
162pub sb_source: __u32,
163pub opt_num: __u32,
164pub opt_array: __u32,
165pub opt_sec_num: __u32,
166pub opt_sec_array: __u32,
167pub supported_mask: __u64,
168pub mnt_uidmap_num: __u32,
169pub mnt_uidmap: __u32,
170pub mnt_gidmap_num: __u32,
171pub mnt_gidmap: __u32,
172pub __spare2: [__u64; 43usize],
173pub str_: __IncompleteArrayField<crate::ctypes::c_char>,
174}
175#[repr(C)]
176#[derive(Debug, Copy, Clone)]
177pub struct mnt_id_req {
178pub size: __u32,
179pub spare: __u32,
180pub mnt_id: __u64,
181pub param: __u64,
182pub mnt_ns_id: __u64,
183}
184#[repr(C)]
185#[derive(Debug, Copy, Clone)]
186pub struct file_clone_range {
187pub src_fd: __s64,
188pub src_offset: __u64,
189pub src_length: __u64,
190pub dest_offset: __u64,
191}
192#[repr(C)]
193#[derive(Debug, Copy, Clone)]
194pub struct fstrim_range {
195pub start: __u64,
196pub len: __u64,
197pub minlen: __u64,
198}
199#[repr(C)]
200#[derive(Debug, Copy, Clone)]
201pub struct fsuuid2 {
202pub len: __u8,
203pub uuid: [__u8; 16usize],
204}
205#[repr(C)]
206#[derive(Debug, Copy, Clone)]
207pub struct fs_sysfs_path {
208pub len: __u8,
209pub name: [__u8; 128usize],
210}
211#[repr(C)]
212#[derive(Debug, Copy, Clone)]
213pub struct file_dedupe_range_info {
214pub dest_fd: __s64,
215pub dest_offset: __u64,
216pub bytes_deduped: __u64,
217pub status: __s32,
218pub reserved: __u32,
219}
220#[repr(C)]
221#[derive(Debug)]
222pub struct file_dedupe_range {
223pub src_offset: __u64,
224pub src_length: __u64,
225pub dest_count: __u16,
226pub reserved1: __u16,
227pub reserved2: __u32,
228pub info: __IncompleteArrayField<file_dedupe_range_info>,
229}
230#[repr(C)]
231#[derive(Debug, Copy, Clone)]
232pub struct files_stat_struct {
233pub nr_files: crate::ctypes::c_ulong,
234pub nr_free_files: crate::ctypes::c_ulong,
235pub max_files: crate::ctypes::c_ulong,
236}
237#[repr(C)]
238#[derive(Debug, Copy, Clone)]
239pub struct inodes_stat_t {
240pub nr_inodes: crate::ctypes::c_long,
241pub nr_unused: crate::ctypes::c_long,
242pub dummy: [crate::ctypes::c_long; 5usize],
243}
244#[repr(C)]
245#[derive(Debug, Copy, Clone)]
246pub struct fsxattr {
247pub fsx_xflags: __u32,
248pub fsx_extsize: __u32,
249pub fsx_nextents: __u32,
250pub fsx_projid: __u32,
251pub fsx_cowextsize: __u32,
252pub fsx_pad: [crate::ctypes::c_uchar; 8usize],
253}
254#[repr(C)]
255#[derive(Debug, Copy, Clone)]
256pub struct page_region {
257pub start: __u64,
258pub end: __u64,
259pub categories: __u64,
260}
261#[repr(C)]
262#[derive(Debug, Copy, Clone)]
263pub struct pm_scan_arg {
264pub size: __u64,
265pub flags: __u64,
266pub start: __u64,
267pub end: __u64,
268pub walk_end: __u64,
269pub vec: __u64,
270pub vec_len: __u64,
271pub max_pages: __u64,
272pub category_inverted: __u64,
273pub category_mask: __u64,
274pub category_anyof_mask: __u64,
275pub return_mask: __u64,
276}
277#[repr(C)]
278#[derive(Debug, Copy, Clone)]
279pub struct procmap_query {
280pub size: __u64,
281pub query_flags: __u64,
282pub query_addr: __u64,
283pub vma_start: __u64,
284pub vma_end: __u64,
285pub vma_flags: __u64,
286pub vma_page_size: __u64,
287pub vma_offset: __u64,
288pub inode: __u64,
289pub dev_major: __u32,
290pub dev_minor: __u32,
291pub vma_name_size: __u32,
292pub build_id_size: __u32,
293pub vma_name_addr: __u64,
294pub build_id_addr: __u64,
295}
296#[repr(C)]
297#[derive(Debug, Copy, Clone)]
298pub struct __kernel_timespec {
299pub tv_sec: __kernel_time64_t,
300pub tv_nsec: crate::ctypes::c_longlong,
301}
302#[repr(C)]
303#[derive(Debug, Copy, Clone)]
304pub struct __kernel_itimerspec {
305pub it_interval: __kernel_timespec,
306pub it_value: __kernel_timespec,
307}
308#[repr(C)]
309#[derive(Debug, Copy, Clone)]
310pub struct __kernel_old_timeval {
311pub tv_sec: __kernel_long_t,
312pub tv_usec: __kernel_long_t,
313}
314#[repr(C)]
315#[derive(Debug, Copy, Clone)]
316pub struct __kernel_old_timespec {
317pub tv_sec: __kernel_old_time_t,
318pub tv_nsec: crate::ctypes::c_long,
319}
320#[repr(C)]
321#[derive(Debug, Copy, Clone)]
322pub struct __kernel_old_itimerval {
323pub it_interval: __kernel_old_timeval,
324pub it_value: __kernel_old_timeval,
325}
326#[repr(C)]
327#[derive(Debug, Copy, Clone)]
328pub struct __kernel_sock_timeval {
329pub tv_sec: __s64,
330pub tv_usec: __s64,
331}
332#[repr(C)]
333pub struct io_uring_sqe {
334pub opcode: __u8,
335pub flags: __u8,
336pub ioprio: __u16,
337pub fd: __s32,
338pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
339pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
340pub len: __u32,
341pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
342pub user_data: __u64,
343pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
344pub personality: __u16,
345pub __bindgen_anon_5: io_uring_sqe__bindgen_ty_5,
346pub __bindgen_anon_6: io_uring_sqe__bindgen_ty_6,
347}
348#[repr(C)]
349#[derive(Debug, Copy, Clone)]
350pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 {
351pub cmd_op: __u32,
352pub __pad1: __u32,
353}
354#[repr(C)]
355#[derive(Debug, Copy, Clone)]
356pub struct io_uring_sqe__bindgen_ty_2__bindgen_ty_1 {
357pub level: __u32,
358pub optname: __u32,
359}
360#[repr(C)]
361#[derive(Debug, Copy, Clone)]
362pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 {
363pub addr_len: __u16,
364pub __pad3: [__u16; 1usize],
365}
366#[repr(C)]
367#[derive(Debug, Copy, Clone)]
368pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_2 {
369pub write_stream: __u8,
370pub __pad4: [__u8; 3usize],
371}
372#[repr(C)]
373pub struct io_uring_sqe__bindgen_ty_6 {
374pub __bindgen_anon_1: __BindgenUnionField<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>,
375pub __bindgen_anon_2: __BindgenUnionField<io_uring_sqe__bindgen_ty_6__bindgen_ty_2>,
376pub optval: __BindgenUnionField<__u64>,
377pub cmd: __BindgenUnionField<[__u8; 0usize]>,
378pub bindgen_union_field: [u32; 4usize],
379}
380#[repr(C)]
381#[derive(Debug, Copy, Clone)]
382pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 {
383pub addr3: __u64,
384pub __pad2: [__u64; 1usize],
385}
386#[repr(C)]
387#[derive(Debug, Copy, Clone)]
388pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_2 {
389pub attr_ptr: __u64,
390pub attr_type_mask: __u64,
391}
392#[repr(C)]
393#[derive(Debug, Copy, Clone)]
394pub struct io_uring_attr_pi {
395pub flags: __u16,
396pub app_tag: __u16,
397pub len: __u32,
398pub addr: __u64,
399pub seed: __u64,
400pub rsvd: __u64,
401}
402#[repr(C)]
403#[derive(Debug)]
404pub struct io_uring_cqe {
405pub user_data: __u64,
406pub res: __s32,
407pub flags: __u32,
408pub big_cqe: __IncompleteArrayField<__u64>,
409}
410#[repr(C)]
411#[derive(Debug, Copy, Clone)]
412pub struct io_sqring_offsets {
413pub head: __u32,
414pub tail: __u32,
415pub ring_mask: __u32,
416pub ring_entries: __u32,
417pub flags: __u32,
418pub dropped: __u32,
419pub array: __u32,
420pub resv1: __u32,
421pub user_addr: __u64,
422}
423#[repr(C)]
424#[derive(Debug, Copy, Clone)]
425pub struct io_cqring_offsets {
426pub head: __u32,
427pub tail: __u32,
428pub ring_mask: __u32,
429pub ring_entries: __u32,
430pub overflow: __u32,
431pub cqes: __u32,
432pub flags: __u32,
433pub resv1: __u32,
434pub user_addr: __u64,
435}
436#[repr(C)]
437#[derive(Debug, Copy, Clone)]
438pub struct io_uring_params {
439pub sq_entries: __u32,
440pub cq_entries: __u32,
441pub flags: __u32,
442pub sq_thread_cpu: __u32,
443pub sq_thread_idle: __u32,
444pub features: __u32,
445pub wq_fd: __u32,
446pub resv: [__u32; 3usize],
447pub sq_off: io_sqring_offsets,
448pub cq_off: io_cqring_offsets,
449}
450#[repr(C)]
451#[repr(align(8))]
452#[derive(Debug, Copy, Clone)]
453pub struct io_uring_files_update {
454pub offset: __u32,
455pub resv: __u32,
456pub fds: __u64,
457}
458#[repr(C)]
459#[derive(Debug, Copy, Clone)]
460pub struct io_uring_region_desc {
461pub user_addr: __u64,
462pub size: __u64,
463pub flags: __u32,
464pub id: __u32,
465pub mmap_offset: __u64,
466pub __resv: [__u64; 4usize],
467}
468#[repr(C)]
469#[derive(Debug, Copy, Clone)]
470pub struct io_uring_mem_region_reg {
471pub region_uptr: __u64,
472pub flags: __u64,
473pub __resv: [__u64; 2usize],
474}
475#[repr(C)]
476#[repr(align(8))]
477#[derive(Debug, Copy, Clone)]
478pub struct io_uring_rsrc_register {
479pub nr: __u32,
480pub flags: __u32,
481pub resv2: __u64,
482pub data: __u64,
483pub tags: __u64,
484}
485#[repr(C)]
486#[repr(align(8))]
487#[derive(Debug, Copy, Clone)]
488pub struct io_uring_rsrc_update {
489pub offset: __u32,
490pub resv: __u32,
491pub data: __u64,
492}
493#[repr(C)]
494#[repr(align(8))]
495#[derive(Debug, Copy, Clone)]
496pub struct io_uring_rsrc_update2 {
497pub offset: __u32,
498pub resv: __u32,
499pub data: __u64,
500pub tags: __u64,
501pub nr: __u32,
502pub resv2: __u32,
503}
504#[repr(C)]
505#[derive(Debug, Copy, Clone)]
506pub struct io_uring_probe_op {
507pub op: __u8,
508pub resv: __u8,
509pub flags: __u16,
510pub resv2: __u32,
511}
512#[repr(C)]
513#[derive(Debug)]
514pub struct io_uring_probe {
515pub last_op: __u8,
516pub ops_len: __u8,
517pub resv: __u16,
518pub resv2: [__u32; 3usize],
519pub ops: __IncompleteArrayField<io_uring_probe_op>,
520}
521#[repr(C)]
522#[derive(Copy, Clone)]
523pub struct io_uring_restriction {
524pub opcode: __u16,
525pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
526pub resv: __u8,
527pub resv2: [__u32; 3usize],
528}
529#[repr(C)]
530#[derive(Debug, Copy, Clone)]
531pub struct io_uring_clock_register {
532pub clockid: __u32,
533pub __resv: [__u32; 3usize],
534}
535#[repr(C)]
536#[derive(Debug, Copy, Clone)]
537pub struct io_uring_clone_buffers {
538pub src_fd: __u32,
539pub flags: __u32,
540pub src_off: __u32,
541pub dst_off: __u32,
542pub nr: __u32,
543pub pad: [__u32; 3usize],
544}
545#[repr(C)]
546#[derive(Debug, Copy, Clone)]
547pub struct io_uring_buf {
548pub addr: __u64,
549pub len: __u32,
550pub bid: __u16,
551pub resv: __u16,
552}
553#[repr(C)]
554pub struct io_uring_buf_ring {
555pub __bindgen_anon_1: io_uring_buf_ring__bindgen_ty_1,
556}
557#[repr(C)]
558pub struct io_uring_buf_ring__bindgen_ty_1 {
559pub __bindgen_anon_1: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>,
560pub __bindgen_anon_2: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>,
561pub bindgen_union_field: [u32; 4usize],
562}
563#[repr(C)]
564#[derive(Debug, Copy, Clone)]
565pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 {
566pub resv1: __u64,
567pub resv2: __u32,
568pub resv3: __u16,
569pub tail: __u16,
570}
571#[repr(C)]
572#[derive(Debug)]
573pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 {
574pub __empty_bufs: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
575pub bufs: __IncompleteArrayField<io_uring_buf>,
576}
577#[repr(C)]
578#[derive(Debug, Copy, Clone)]
579pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {}
580#[repr(C)]
581#[derive(Debug, Copy, Clone)]
582pub struct io_uring_buf_reg {
583pub ring_addr: __u64,
584pub ring_entries: __u32,
585pub bgid: __u16,
586pub flags: __u16,
587pub resv: [__u64; 3usize],
588}
589#[repr(C)]
590#[derive(Debug, Copy, Clone)]
591pub struct io_uring_buf_status {
592pub buf_group: __u32,
593pub head: __u32,
594pub resv: [__u32; 8usize],
595}
596#[repr(C)]
597#[derive(Debug, Copy, Clone)]
598pub struct io_uring_napi {
599pub busy_poll_to: __u32,
600pub prefer_busy_poll: __u8,
601pub opcode: __u8,
602pub pad: [__u8; 2usize],
603pub op_param: __u32,
604pub resv: __u32,
605}
606#[repr(C)]
607#[derive(Debug, Copy, Clone)]
608pub struct io_uring_reg_wait {
609pub ts: __kernel_timespec,
610pub min_wait_usec: __u32,
611pub flags: __u32,
612pub sigmask: __u64,
613pub sigmask_sz: __u32,
614pub pad: [__u32; 3usize],
615pub pad2: [__u64; 2usize],
616}
617#[repr(C)]
618#[derive(Debug, Copy, Clone)]
619pub struct io_uring_getevents_arg {
620pub sigmask: __u64,
621pub sigmask_sz: __u32,
622pub min_wait_usec: __u32,
623pub ts: __u64,
624}
625#[repr(C)]
626#[derive(Debug, Copy, Clone)]
627pub struct io_uring_sync_cancel_reg {
628pub addr: __u64,
629pub fd: __s32,
630pub flags: __u32,
631pub timeout: __kernel_timespec,
632pub opcode: __u8,
633pub pad: [__u8; 7usize],
634pub pad2: [__u64; 3usize],
635}
636#[repr(C)]
637#[derive(Debug, Copy, Clone)]
638pub struct io_uring_file_index_range {
639pub off: __u32,
640pub len: __u32,
641pub resv: __u64,
642}
643#[repr(C)]
644#[derive(Debug, Copy, Clone)]
645pub struct io_uring_recvmsg_out {
646pub namelen: __u32,
647pub controllen: __u32,
648pub payloadlen: __u32,
649pub flags: __u32,
650}
651#[repr(C)]
652#[derive(Debug, Copy, Clone)]
653pub struct io_uring_zcrx_rqe {
654pub off: __u64,
655pub len: __u32,
656pub __pad: __u32,
657}
658#[repr(C)]
659#[derive(Debug, Copy, Clone)]
660pub struct io_uring_zcrx_cqe {
661pub off: __u64,
662pub __pad: __u64,
663}
664#[repr(C)]
665#[derive(Debug, Copy, Clone)]
666pub struct io_uring_zcrx_offsets {
667pub head: __u32,
668pub tail: __u32,
669pub rqes: __u32,
670pub __resv2: __u32,
671pub __resv: [__u64; 2usize],
672}
673#[repr(C)]
674#[derive(Debug, Copy, Clone)]
675pub struct io_uring_zcrx_area_reg {
676pub addr: __u64,
677pub len: __u64,
678pub rq_area_token: __u64,
679pub flags: __u32,
680pub dmabuf_fd: __u32,
681pub __resv2: [__u64; 2usize],
682}
683#[repr(C)]
684#[derive(Debug, Copy, Clone)]
685pub struct io_uring_zcrx_ifq_reg {
686pub if_idx: __u32,
687pub if_rxq: __u32,
688pub rq_entries: __u32,
689pub flags: __u32,
690pub area_ptr: __u64,
691pub region_ptr: __u64,
692pub offsets: io_uring_zcrx_offsets,
693pub zcrx_id: __u32,
694pub __resv2: __u32,
695pub __resv: [__u64; 3usize],
696}
697pub const NR_OPEN: u32 = 1024;
698pub const NGROUPS_MAX: u32 = 65536;
699pub const ARG_MAX: u32 = 131072;
700pub const LINK_MAX: u32 = 127;
701pub const MAX_CANON: u32 = 255;
702pub const MAX_INPUT: u32 = 255;
703pub const NAME_MAX: u32 = 255;
704pub const PATH_MAX: u32 = 4096;
705pub const PIPE_BUF: u32 = 4096;
706pub const XATTR_NAME_MAX: u32 = 255;
707pub const XATTR_SIZE_MAX: u32 = 65536;
708pub const XATTR_LIST_MAX: u32 = 65536;
709pub const RTSIG_MAX: u32 = 32;
710pub const _IOC_NRBITS: u32 = 8;
711pub const _IOC_TYPEBITS: u32 = 8;
712pub const _IOC_SIZEBITS: u32 = 14;
713pub const _IOC_DIRBITS: u32 = 2;
714pub const _IOC_NRMASK: u32 = 255;
715pub const _IOC_TYPEMASK: u32 = 255;
716pub const _IOC_SIZEMASK: u32 = 16383;
717pub const _IOC_DIRMASK: u32 = 3;
718pub const _IOC_NRSHIFT: u32 = 0;
719pub const _IOC_TYPESHIFT: u32 = 8;
720pub const _IOC_SIZESHIFT: u32 = 16;
721pub const _IOC_DIRSHIFT: u32 = 30;
722pub const _IOC_NONE: u32 = 0;
723pub const _IOC_WRITE: u32 = 1;
724pub const _IOC_READ: u32 = 2;
725pub const IOC_IN: u32 = 1073741824;
726pub const IOC_OUT: u32 = 2147483648;
727pub const IOC_INOUT: u32 = 3221225472;
728pub const IOCSIZE_MASK: u32 = 1073676288;
729pub const IOCSIZE_SHIFT: u32 = 16;
730pub const __BITS_PER_LONG_LONG: u32 = 64;
731pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0;
732pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1;
733pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2;
734pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3;
735pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3;
736pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4;
737pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8;
738pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16;
739pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1;
740pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4;
741pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5;
742pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6;
743pub const FSCRYPT_MODE_SM4_XTS: u32 = 7;
744pub const FSCRYPT_MODE_SM4_CTS: u32 = 8;
745pub const FSCRYPT_MODE_ADIANTUM: u32 = 9;
746pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10;
747pub const FSCRYPT_POLICY_V1: u32 = 0;
748pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8;
749pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
750pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8;
751pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64;
752pub const FSCRYPT_POLICY_V2: u32 = 2;
753pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16;
754pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1;
755pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2;
756pub const FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED: u32 = 1;
757pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1;
758pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2;
759pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1;
760pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2;
761pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3;
762pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1;
763pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8;
764pub const FS_POLICY_FLAGS_PAD_4: u32 = 0;
765pub const FS_POLICY_FLAGS_PAD_8: u32 = 1;
766pub const FS_POLICY_FLAGS_PAD_16: u32 = 2;
767pub const FS_POLICY_FLAGS_PAD_32: u32 = 3;
768pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3;
769pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4;
770pub const FS_POLICY_FLAGS_VALID: u32 = 7;
771pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0;
772pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1;
773pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2;
774pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3;
775pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4;
776pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5;
777pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6;
778pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9;
779pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
780pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8;
781pub const FS_MAX_KEY_SIZE: u32 = 64;
782pub const MS_RDONLY: u32 = 1;
783pub const MS_NOSUID: u32 = 2;
784pub const MS_NODEV: u32 = 4;
785pub const MS_NOEXEC: u32 = 8;
786pub const MS_SYNCHRONOUS: u32 = 16;
787pub const MS_REMOUNT: u32 = 32;
788pub const MS_MANDLOCK: u32 = 64;
789pub const MS_DIRSYNC: u32 = 128;
790pub const MS_NOSYMFOLLOW: u32 = 256;
791pub const MS_NOATIME: u32 = 1024;
792pub const MS_NODIRATIME: u32 = 2048;
793pub const MS_BIND: u32 = 4096;
794pub const MS_MOVE: u32 = 8192;
795pub const MS_REC: u32 = 16384;
796pub const MS_VERBOSE: u32 = 32768;
797pub const MS_SILENT: u32 = 32768;
798pub const MS_POSIXACL: u32 = 65536;
799pub const MS_UNBINDABLE: u32 = 131072;
800pub const MS_PRIVATE: u32 = 262144;
801pub const MS_SLAVE: u32 = 524288;
802pub const MS_SHARED: u32 = 1048576;
803pub const MS_RELATIME: u32 = 2097152;
804pub const MS_KERNMOUNT: u32 = 4194304;
805pub const MS_I_VERSION: u32 = 8388608;
806pub const MS_STRICTATIME: u32 = 16777216;
807pub const MS_LAZYTIME: u32 = 33554432;
808pub const MS_SUBMOUNT: u32 = 67108864;
809pub const MS_NOREMOTELOCK: u32 = 134217728;
810pub const MS_NOSEC: u32 = 268435456;
811pub const MS_BORN: u32 = 536870912;
812pub const MS_ACTIVE: u32 = 1073741824;
813pub const MS_NOUSER: u32 = 2147483648;
814pub const MS_RMT_MASK: u32 = 41943121;
815pub const MS_MGC_VAL: u32 = 3236757504;
816pub const MS_MGC_MSK: u32 = 4294901760;
817pub const OPEN_TREE_CLONE: u32 = 1;
818pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1;
819pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2;
820pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4;
821pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16;
822pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32;
823pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64;
824pub const MOVE_MOUNT_SET_GROUP: u32 = 256;
825pub const MOVE_MOUNT_BENEATH: u32 = 512;
826pub const MOVE_MOUNT__MASK: u32 = 887;
827pub const FSOPEN_CLOEXEC: u32 = 1;
828pub const FSPICK_CLOEXEC: u32 = 1;
829pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2;
830pub const FSPICK_NO_AUTOMOUNT: u32 = 4;
831pub const FSPICK_EMPTY_PATH: u32 = 8;
832pub const FSMOUNT_CLOEXEC: u32 = 1;
833pub const MOUNT_ATTR_RDONLY: u32 = 1;
834pub const MOUNT_ATTR_NOSUID: u32 = 2;
835pub const MOUNT_ATTR_NODEV: u32 = 4;
836pub const MOUNT_ATTR_NOEXEC: u32 = 8;
837pub const MOUNT_ATTR__ATIME: u32 = 112;
838pub const MOUNT_ATTR_RELATIME: u32 = 0;
839pub const MOUNT_ATTR_NOATIME: u32 = 16;
840pub const MOUNT_ATTR_STRICTATIME: u32 = 32;
841pub const MOUNT_ATTR_NODIRATIME: u32 = 128;
842pub const MOUNT_ATTR_IDMAP: u32 = 1048576;
843pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152;
844pub const MOUNT_ATTR_SIZE_VER0: u32 = 32;
845pub const MNT_ID_REQ_SIZE_VER0: u32 = 24;
846pub const MNT_ID_REQ_SIZE_VER1: u32 = 32;
847pub const STATMOUNT_SB_BASIC: u32 = 1;
848pub const STATMOUNT_MNT_BASIC: u32 = 2;
849pub const STATMOUNT_PROPAGATE_FROM: u32 = 4;
850pub const STATMOUNT_MNT_ROOT: u32 = 8;
851pub const STATMOUNT_MNT_POINT: u32 = 16;
852pub const STATMOUNT_FS_TYPE: u32 = 32;
853pub const STATMOUNT_MNT_NS_ID: u32 = 64;
854pub const STATMOUNT_MNT_OPTS: u32 = 128;
855pub const STATMOUNT_FS_SUBTYPE: u32 = 256;
856pub const STATMOUNT_SB_SOURCE: u32 = 512;
857pub const STATMOUNT_OPT_ARRAY: u32 = 1024;
858pub const STATMOUNT_OPT_SEC_ARRAY: u32 = 2048;
859pub const STATMOUNT_SUPPORTED_MASK: u32 = 4096;
860pub const STATMOUNT_MNT_UIDMAP: u32 = 8192;
861pub const STATMOUNT_MNT_GIDMAP: u32 = 16384;
862pub const LSMT_ROOT: i32 = -1;
863pub const LISTMOUNT_REVERSE: u32 = 1;
864pub const INR_OPEN_CUR: u32 = 1024;
865pub const INR_OPEN_MAX: u32 = 4096;
866pub const BLOCK_SIZE_BITS: u32 = 10;
867pub const BLOCK_SIZE: u32 = 1024;
868pub const IO_INTEGRITY_CHK_GUARD: u32 = 1;
869pub const IO_INTEGRITY_CHK_REFTAG: u32 = 2;
870pub const IO_INTEGRITY_CHK_APPTAG: u32 = 4;
871pub const IO_INTEGRITY_VALID_FLAGS: u32 = 7;
872pub const SEEK_SET: u32 = 0;
873pub const SEEK_CUR: u32 = 1;
874pub const SEEK_END: u32 = 2;
875pub const SEEK_DATA: u32 = 3;
876pub const SEEK_HOLE: u32 = 4;
877pub const SEEK_MAX: u32 = 4;
878pub const RENAME_NOREPLACE: u32 = 1;
879pub const RENAME_EXCHANGE: u32 = 2;
880pub const RENAME_WHITEOUT: u32 = 4;
881pub const FILE_DEDUPE_RANGE_SAME: u32 = 0;
882pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1;
883pub const NR_FILE: u32 = 8192;
884pub const FS_XFLAG_REALTIME: u32 = 1;
885pub const FS_XFLAG_PREALLOC: u32 = 2;
886pub const FS_XFLAG_IMMUTABLE: u32 = 8;
887pub const FS_XFLAG_APPEND: u32 = 16;
888pub const FS_XFLAG_SYNC: u32 = 32;
889pub const FS_XFLAG_NOATIME: u32 = 64;
890pub const FS_XFLAG_NODUMP: u32 = 128;
891pub const FS_XFLAG_RTINHERIT: u32 = 256;
892pub const FS_XFLAG_PROJINHERIT: u32 = 512;
893pub const FS_XFLAG_NOSYMLINKS: u32 = 1024;
894pub const FS_XFLAG_EXTSIZE: u32 = 2048;
895pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096;
896pub const FS_XFLAG_NODEFRAG: u32 = 8192;
897pub const FS_XFLAG_FILESTREAM: u32 = 16384;
898pub const FS_XFLAG_DAX: u32 = 32768;
899pub const FS_XFLAG_COWEXTSIZE: u32 = 65536;
900pub const FS_XFLAG_HASATTR: u32 = 2147483648;
901pub const BMAP_IOCTL: u32 = 1;
902pub const FSLABEL_MAX: u32 = 256;
903pub const FS_SECRM_FL: u32 = 1;
904pub const FS_UNRM_FL: u32 = 2;
905pub const FS_COMPR_FL: u32 = 4;
906pub const FS_SYNC_FL: u32 = 8;
907pub const FS_IMMUTABLE_FL: u32 = 16;
908pub const FS_APPEND_FL: u32 = 32;
909pub const FS_NODUMP_FL: u32 = 64;
910pub const FS_NOATIME_FL: u32 = 128;
911pub const FS_DIRTY_FL: u32 = 256;
912pub const FS_COMPRBLK_FL: u32 = 512;
913pub const FS_NOCOMP_FL: u32 = 1024;
914pub const FS_ENCRYPT_FL: u32 = 2048;
915pub const FS_BTREE_FL: u32 = 4096;
916pub const FS_INDEX_FL: u32 = 4096;
917pub const FS_IMAGIC_FL: u32 = 8192;
918pub const FS_JOURNAL_DATA_FL: u32 = 16384;
919pub const FS_NOTAIL_FL: u32 = 32768;
920pub const FS_DIRSYNC_FL: u32 = 65536;
921pub const FS_TOPDIR_FL: u32 = 131072;
922pub const FS_HUGE_FILE_FL: u32 = 262144;
923pub const FS_EXTENT_FL: u32 = 524288;
924pub const FS_VERITY_FL: u32 = 1048576;
925pub const FS_EA_INODE_FL: u32 = 2097152;
926pub const FS_EOFBLOCKS_FL: u32 = 4194304;
927pub const FS_NOCOW_FL: u32 = 8388608;
928pub const FS_DAX_FL: u32 = 33554432;
929pub const FS_INLINE_DATA_FL: u32 = 268435456;
930pub const FS_PROJINHERIT_FL: u32 = 536870912;
931pub const FS_CASEFOLD_FL: u32 = 1073741824;
932pub const FS_RESERVED_FL: u32 = 2147483648;
933pub const FS_FL_USER_VISIBLE: u32 = 253951;
934pub const FS_FL_USER_MODIFIABLE: u32 = 229631;
935pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1;
936pub const SYNC_FILE_RANGE_WRITE: u32 = 2;
937pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4;
938pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7;
939pub const PROCFS_IOCTL_MAGIC: u8 = 102u8;
940pub const PAGE_IS_WPALLOWED: u32 = 1;
941pub const PAGE_IS_WRITTEN: u32 = 2;
942pub const PAGE_IS_FILE: u32 = 4;
943pub const PAGE_IS_PRESENT: u32 = 8;
944pub const PAGE_IS_SWAPPED: u32 = 16;
945pub const PAGE_IS_PFNZERO: u32 = 32;
946pub const PAGE_IS_HUGE: u32 = 64;
947pub const PAGE_IS_SOFT_DIRTY: u32 = 128;
948pub const PAGE_IS_GUARD: u32 = 256;
949pub const PM_SCAN_WP_MATCHING: u32 = 1;
950pub const PM_SCAN_CHECK_WPASYNC: u32 = 2;
951pub const IORING_RW_ATTR_FLAG_PI: u32 = 1;
952pub const IORING_FILE_INDEX_ALLOC: i32 = -1;
953pub const IORING_SETUP_IOPOLL: u32 = 1;
954pub const IORING_SETUP_SQPOLL: u32 = 2;
955pub const IORING_SETUP_SQ_AFF: u32 = 4;
956pub const IORING_SETUP_CQSIZE: u32 = 8;
957pub const IORING_SETUP_CLAMP: u32 = 16;
958pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
959pub const IORING_SETUP_R_DISABLED: u32 = 64;
960pub const IORING_SETUP_SUBMIT_ALL: u32 = 128;
961pub const IORING_SETUP_COOP_TASKRUN: u32 = 256;
962pub const IORING_SETUP_TASKRUN_FLAG: u32 = 512;
963pub const IORING_SETUP_SQE128: u32 = 1024;
964pub const IORING_SETUP_CQE32: u32 = 2048;
965pub const IORING_SETUP_SINGLE_ISSUER: u32 = 4096;
966pub const IORING_SETUP_DEFER_TASKRUN: u32 = 8192;
967pub const IORING_SETUP_NO_MMAP: u32 = 16384;
968pub const IORING_SETUP_REGISTERED_FD_ONLY: u32 = 32768;
969pub const IORING_SETUP_NO_SQARRAY: u32 = 65536;
970pub const IORING_SETUP_HYBRID_IOPOLL: u32 = 131072;
971pub const IORING_URING_CMD_FIXED: u32 = 1;
972pub const IORING_URING_CMD_MASK: u32 = 1;
973pub const IORING_FSYNC_DATASYNC: u32 = 1;
974pub const IORING_TIMEOUT_ABS: u32 = 1;
975pub const IORING_TIMEOUT_UPDATE: u32 = 2;
976pub const IORING_TIMEOUT_BOOTTIME: u32 = 4;
977pub const IORING_TIMEOUT_REALTIME: u32 = 8;
978pub const IORING_LINK_TIMEOUT_UPDATE: u32 = 16;
979pub const IORING_TIMEOUT_ETIME_SUCCESS: u32 = 32;
980pub const IORING_TIMEOUT_MULTISHOT: u32 = 64;
981pub const IORING_TIMEOUT_CLOCK_MASK: u32 = 12;
982pub const IORING_TIMEOUT_UPDATE_MASK: u32 = 18;
983pub const SPLICE_F_FD_IN_FIXED: u32 = 2147483648;
984pub const IORING_POLL_ADD_MULTI: u32 = 1;
985pub const IORING_POLL_UPDATE_EVENTS: u32 = 2;
986pub const IORING_POLL_UPDATE_USER_DATA: u32 = 4;
987pub const IORING_POLL_ADD_LEVEL: u32 = 8;
988pub const IORING_ASYNC_CANCEL_ALL: u32 = 1;
989pub const IORING_ASYNC_CANCEL_FD: u32 = 2;
990pub const IORING_ASYNC_CANCEL_ANY: u32 = 4;
991pub const IORING_ASYNC_CANCEL_FD_FIXED: u32 = 8;
992pub const IORING_ASYNC_CANCEL_USERDATA: u32 = 16;
993pub const IORING_ASYNC_CANCEL_OP: u32 = 32;
994pub const IORING_RECVSEND_POLL_FIRST: u32 = 1;
995pub const IORING_RECV_MULTISHOT: u32 = 2;
996pub const IORING_RECVSEND_FIXED_BUF: u32 = 4;
997pub const IORING_SEND_ZC_REPORT_USAGE: u32 = 8;
998pub const IORING_RECVSEND_BUNDLE: u32 = 16;
999pub const IORING_NOTIF_USAGE_ZC_COPIED: u32 = 2147483648;
1000pub const IORING_ACCEPT_MULTISHOT: u32 = 1;
1001pub const IORING_ACCEPT_DONTWAIT: u32 = 2;
1002pub const IORING_ACCEPT_POLL_FIRST: u32 = 4;
1003pub const IORING_MSG_RING_CQE_SKIP: u32 = 1;
1004pub const IORING_MSG_RING_FLAGS_PASS: u32 = 2;
1005pub const IORING_FIXED_FD_NO_CLOEXEC: u32 = 1;
1006pub const IORING_NOP_INJECT_RESULT: u32 = 1;
1007pub const IORING_NOP_FILE: u32 = 2;
1008pub const IORING_NOP_FIXED_FILE: u32 = 4;
1009pub const IORING_NOP_FIXED_BUFFER: u32 = 8;
1010pub const IORING_CQE_F_BUFFER: u32 = 1;
1011pub const IORING_CQE_F_MORE: u32 = 2;
1012pub const IORING_CQE_F_SOCK_NONEMPTY: u32 = 4;
1013pub const IORING_CQE_F_NOTIF: u32 = 8;
1014pub const IORING_CQE_F_BUF_MORE: u32 = 16;
1015pub const IORING_CQE_BUFFER_SHIFT: u32 = 16;
1016pub const IORING_OFF_SQ_RING: u32 = 0;
1017pub const IORING_OFF_CQ_RING: u32 = 134217728;
1018pub const IORING_OFF_SQES: u32 = 268435456;
1019pub const IORING_OFF_PBUF_RING: u32 = 2147483648;
1020pub const IORING_OFF_PBUF_SHIFT: u32 = 16;
1021pub const IORING_OFF_MMAP_MASK: u32 = 4160749568;
1022pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
1023pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
1024pub const IORING_SQ_TASKRUN: u32 = 4;
1025pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
1026pub const IORING_ENTER_GETEVENTS: u32 = 1;
1027pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
1028pub const IORING_ENTER_SQ_WAIT: u32 = 4;
1029pub const IORING_ENTER_EXT_ARG: u32 = 8;
1030pub const IORING_ENTER_REGISTERED_RING: u32 = 16;
1031pub const IORING_ENTER_ABS_TIMER: u32 = 32;
1032pub const IORING_ENTER_EXT_ARG_REG: u32 = 64;
1033pub const IORING_ENTER_NO_IOWAIT: u32 = 128;
1034pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
1035pub const IORING_FEAT_NODROP: u32 = 2;
1036pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
1037pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
1038pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
1039pub const IORING_FEAT_FAST_POLL: u32 = 32;
1040pub const IORING_FEAT_POLL_32BITS: u32 = 64;
1041pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128;
1042pub const IORING_FEAT_EXT_ARG: u32 = 256;
1043pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512;
1044pub const IORING_FEAT_RSRC_TAGS: u32 = 1024;
1045pub const IORING_FEAT_CQE_SKIP: u32 = 2048;
1046pub const IORING_FEAT_LINKED_FILE: u32 = 4096;
1047pub const IORING_FEAT_REG_REG_RING: u32 = 8192;
1048pub const IORING_FEAT_RECVSEND_BUNDLE: u32 = 16384;
1049pub const IORING_FEAT_MIN_TIMEOUT: u32 = 32768;
1050pub const IORING_FEAT_RW_ATTR: u32 = 65536;
1051pub const IORING_FEAT_NO_IOWAIT: u32 = 131072;
1052pub const IORING_RSRC_REGISTER_SPARSE: u32 = 1;
1053pub const IORING_REGISTER_FILES_SKIP: i32 = -2;
1054pub const IO_URING_OP_SUPPORTED: u32 = 1;
1055pub const IORING_ZCRX_AREA_SHIFT: u32 = 48;
1056pub const IORING_MEM_REGION_TYPE_USER: _bindgen_ty_1 = _bindgen_ty_1::IORING_MEM_REGION_TYPE_USER;
1057pub const IORING_MEM_REGION_REG_WAIT_ARG: _bindgen_ty_2 = _bindgen_ty_2::IORING_MEM_REGION_REG_WAIT_ARG;
1058pub const IORING_REGISTER_SRC_REGISTERED: _bindgen_ty_3 = _bindgen_ty_3::IORING_REGISTER_SRC_REGISTERED;
1059pub const IORING_REGISTER_DST_REPLACE: _bindgen_ty_3 = _bindgen_ty_3::IORING_REGISTER_DST_REPLACE;
1060pub const IORING_REG_WAIT_TS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REG_WAIT_TS;
1061#[repr(u32)]
1062#[non_exhaustive]
1063#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1064pub enum fsconfig_command {
1065FSCONFIG_SET_FLAG = 0,
1066FSCONFIG_SET_STRING = 1,
1067FSCONFIG_SET_BINARY = 2,
1068FSCONFIG_SET_PATH = 3,
1069FSCONFIG_SET_PATH_EMPTY = 4,
1070FSCONFIG_SET_FD = 5,
1071FSCONFIG_CMD_CREATE = 6,
1072FSCONFIG_CMD_RECONFIGURE = 7,
1073FSCONFIG_CMD_CREATE_EXCL = 8,
1074}
1075#[repr(u32)]
1076#[non_exhaustive]
1077#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1078pub enum procmap_query_flags {
1079PROCMAP_QUERY_VMA_READABLE = 1,
1080PROCMAP_QUERY_VMA_WRITABLE = 2,
1081PROCMAP_QUERY_VMA_EXECUTABLE = 4,
1082PROCMAP_QUERY_VMA_SHARED = 8,
1083PROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16,
1084PROCMAP_QUERY_FILE_BACKED_VMA = 32,
1085}
1086#[repr(u32)]
1087#[non_exhaustive]
1088#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1089pub enum io_uring_sqe_flags_bit {
1090IOSQE_FIXED_FILE_BIT = 0,
1091IOSQE_IO_DRAIN_BIT = 1,
1092IOSQE_IO_LINK_BIT = 2,
1093IOSQE_IO_HARDLINK_BIT = 3,
1094IOSQE_ASYNC_BIT = 4,
1095IOSQE_BUFFER_SELECT_BIT = 5,
1096IOSQE_CQE_SKIP_SUCCESS_BIT = 6,
1097}
1098#[repr(u32)]
1099#[non_exhaustive]
1100#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1101pub enum io_uring_op {
1102IORING_OP_NOP = 0,
1103IORING_OP_READV = 1,
1104IORING_OP_WRITEV = 2,
1105IORING_OP_FSYNC = 3,
1106IORING_OP_READ_FIXED = 4,
1107IORING_OP_WRITE_FIXED = 5,
1108IORING_OP_POLL_ADD = 6,
1109IORING_OP_POLL_REMOVE = 7,
1110IORING_OP_SYNC_FILE_RANGE = 8,
1111IORING_OP_SENDMSG = 9,
1112IORING_OP_RECVMSG = 10,
1113IORING_OP_TIMEOUT = 11,
1114IORING_OP_TIMEOUT_REMOVE = 12,
1115IORING_OP_ACCEPT = 13,
1116IORING_OP_ASYNC_CANCEL = 14,
1117IORING_OP_LINK_TIMEOUT = 15,
1118IORING_OP_CONNECT = 16,
1119IORING_OP_FALLOCATE = 17,
1120IORING_OP_OPENAT = 18,
1121IORING_OP_CLOSE = 19,
1122IORING_OP_FILES_UPDATE = 20,
1123IORING_OP_STATX = 21,
1124IORING_OP_READ = 22,
1125IORING_OP_WRITE = 23,
1126IORING_OP_FADVISE = 24,
1127IORING_OP_MADVISE = 25,
1128IORING_OP_SEND = 26,
1129IORING_OP_RECV = 27,
1130IORING_OP_OPENAT2 = 28,
1131IORING_OP_EPOLL_CTL = 29,
1132IORING_OP_SPLICE = 30,
1133IORING_OP_PROVIDE_BUFFERS = 31,
1134IORING_OP_REMOVE_BUFFERS = 32,
1135IORING_OP_TEE = 33,
1136IORING_OP_SHUTDOWN = 34,
1137IORING_OP_RENAMEAT = 35,
1138IORING_OP_UNLINKAT = 36,
1139IORING_OP_MKDIRAT = 37,
1140IORING_OP_SYMLINKAT = 38,
1141IORING_OP_LINKAT = 39,
1142IORING_OP_MSG_RING = 40,
1143IORING_OP_FSETXATTR = 41,
1144IORING_OP_SETXATTR = 42,
1145IORING_OP_FGETXATTR = 43,
1146IORING_OP_GETXATTR = 44,
1147IORING_OP_SOCKET = 45,
1148IORING_OP_URING_CMD = 46,
1149IORING_OP_SEND_ZC = 47,
1150IORING_OP_SENDMSG_ZC = 48,
1151IORING_OP_READ_MULTISHOT = 49,
1152IORING_OP_WAITID = 50,
1153IORING_OP_FUTEX_WAIT = 51,
1154IORING_OP_FUTEX_WAKE = 52,
1155IORING_OP_FUTEX_WAITV = 53,
1156IORING_OP_FIXED_FD_INSTALL = 54,
1157IORING_OP_FTRUNCATE = 55,
1158IORING_OP_BIND = 56,
1159IORING_OP_LISTEN = 57,
1160IORING_OP_RECV_ZC = 58,
1161IORING_OP_EPOLL_WAIT = 59,
1162IORING_OP_READV_FIXED = 60,
1163IORING_OP_WRITEV_FIXED = 61,
1164IORING_OP_PIPE = 62,
1165IORING_OP_LAST = 63,
1166}
1167#[repr(u32)]
1168#[non_exhaustive]
1169#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1170pub enum io_uring_msg_ring_flags {
1171IORING_MSG_DATA = 0,
1172IORING_MSG_SEND_FD = 1,
1173}
1174#[repr(u32)]
1175#[non_exhaustive]
1176#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1177pub enum io_uring_register_op {
1178IORING_REGISTER_BUFFERS = 0,
1179IORING_UNREGISTER_BUFFERS = 1,
1180IORING_REGISTER_FILES = 2,
1181IORING_UNREGISTER_FILES = 3,
1182IORING_REGISTER_EVENTFD = 4,
1183IORING_UNREGISTER_EVENTFD = 5,
1184IORING_REGISTER_FILES_UPDATE = 6,
1185IORING_REGISTER_EVENTFD_ASYNC = 7,
1186IORING_REGISTER_PROBE = 8,
1187IORING_REGISTER_PERSONALITY = 9,
1188IORING_UNREGISTER_PERSONALITY = 10,
1189IORING_REGISTER_RESTRICTIONS = 11,
1190IORING_REGISTER_ENABLE_RINGS = 12,
1191IORING_REGISTER_FILES2 = 13,
1192IORING_REGISTER_FILES_UPDATE2 = 14,
1193IORING_REGISTER_BUFFERS2 = 15,
1194IORING_REGISTER_BUFFERS_UPDATE = 16,
1195IORING_REGISTER_IOWQ_AFF = 17,
1196IORING_UNREGISTER_IOWQ_AFF = 18,
1197IORING_REGISTER_IOWQ_MAX_WORKERS = 19,
1198IORING_REGISTER_RING_FDS = 20,
1199IORING_UNREGISTER_RING_FDS = 21,
1200IORING_REGISTER_PBUF_RING = 22,
1201IORING_UNREGISTER_PBUF_RING = 23,
1202IORING_REGISTER_SYNC_CANCEL = 24,
1203IORING_REGISTER_FILE_ALLOC_RANGE = 25,
1204IORING_REGISTER_PBUF_STATUS = 26,
1205IORING_REGISTER_NAPI = 27,
1206IORING_UNREGISTER_NAPI = 28,
1207IORING_REGISTER_CLOCK = 29,
1208IORING_REGISTER_CLONE_BUFFERS = 30,
1209IORING_REGISTER_SEND_MSG_RING = 31,
1210IORING_REGISTER_ZCRX_IFQ = 32,
1211IORING_REGISTER_RESIZE_RINGS = 33,
1212IORING_REGISTER_MEM_REGION = 34,
1213IORING_REGISTER_LAST = 35,
1214IORING_REGISTER_USE_REGISTERED_RING = 2147483648,
1215}
1216#[repr(u32)]
1217#[non_exhaustive]
1218#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1219pub enum io_wq_type {
1220IO_WQ_BOUND = 0,
1221IO_WQ_UNBOUND = 1,
1222}
1223#[repr(u32)]
1224#[non_exhaustive]
1225#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1226pub enum _bindgen_ty_1 {
1227IORING_MEM_REGION_TYPE_USER = 1,
1228}
1229#[repr(u32)]
1230#[non_exhaustive]
1231#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1232pub enum _bindgen_ty_2 {
1233IORING_MEM_REGION_REG_WAIT_ARG = 1,
1234}
1235#[repr(u32)]
1236#[non_exhaustive]
1237#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1238pub enum _bindgen_ty_3 {
1239IORING_REGISTER_SRC_REGISTERED = 1,
1240IORING_REGISTER_DST_REPLACE = 2,
1241}
1242#[repr(u32)]
1243#[non_exhaustive]
1244#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1245pub enum io_uring_register_pbuf_ring_flags {
1246IOU_PBUF_RING_MMAP = 1,
1247IOU_PBUF_RING_INC = 2,
1248}
1249#[repr(u32)]
1250#[non_exhaustive]
1251#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1252pub enum io_uring_napi_op {
1253IO_URING_NAPI_REGISTER_OP = 0,
1254IO_URING_NAPI_STATIC_ADD_ID = 1,
1255IO_URING_NAPI_STATIC_DEL_ID = 2,
1256}
1257#[repr(u32)]
1258#[non_exhaustive]
1259#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1260pub enum io_uring_napi_tracking_strategy {
1261IO_URING_NAPI_TRACKING_DYNAMIC = 0,
1262IO_URING_NAPI_TRACKING_STATIC = 1,
1263IO_URING_NAPI_TRACKING_INACTIVE = 255,
1264}
1265#[repr(u32)]
1266#[non_exhaustive]
1267#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1268pub enum io_uring_register_restriction_op {
1269IORING_RESTRICTION_REGISTER_OP = 0,
1270IORING_RESTRICTION_SQE_OP = 1,
1271IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,
1272IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,
1273IORING_RESTRICTION_LAST = 4,
1274}
1275#[repr(u32)]
1276#[non_exhaustive]
1277#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1278pub enum _bindgen_ty_4 {
1279IORING_REG_WAIT_TS = 1,
1280}
1281#[repr(u32)]
1282#[non_exhaustive]
1283#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1284pub enum io_uring_socket_op {
1285SOCKET_URING_OP_SIOCINQ = 0,
1286SOCKET_URING_OP_SIOCOUTQ = 1,
1287SOCKET_URING_OP_GETSOCKOPT = 2,
1288SOCKET_URING_OP_SETSOCKOPT = 3,
1289}
1290#[repr(u32)]
1291#[non_exhaustive]
1292#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1293pub enum io_uring_zcrx_area_flags {
1294IORING_ZCRX_AREA_DMABUF = 1,
1295}
1296#[repr(C)]
1297#[derive(Copy, Clone)]
1298pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 {
1299pub version: __u8,
1300pub v1: fscrypt_policy_v1,
1301pub v2: fscrypt_policy_v2,
1302}
1303#[repr(C)]
1304#[derive(Copy, Clone)]
1305pub union fscrypt_key_specifier__bindgen_ty_1 {
1306pub __reserved: [__u8; 32usize],
1307pub descriptor: [__u8; 8usize],
1308pub identifier: [__u8; 16usize],
1309}
1310#[repr(C)]
1311#[derive(Copy, Clone)]
1312pub union io_uring_sqe__bindgen_ty_1 {
1313pub off: __u64,
1314pub addr2: __u64,
1315pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1__bindgen_ty_1,
1316}
1317#[repr(C)]
1318#[derive(Copy, Clone)]
1319pub union io_uring_sqe__bindgen_ty_2 {
1320pub addr: __u64,
1321pub splice_off_in: __u64,
1322pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_2__bindgen_ty_1,
1323}
1324#[repr(C)]
1325#[derive(Copy, Clone)]
1326pub union io_uring_sqe__bindgen_ty_3 {
1327pub rw_flags: __kernel_rwf_t,
1328pub fsync_flags: __u32,
1329pub poll_events: __u16,
1330pub poll32_events: __u32,
1331pub sync_range_flags: __u32,
1332pub msg_flags: __u32,
1333pub timeout_flags: __u32,
1334pub accept_flags: __u32,
1335pub cancel_flags: __u32,
1336pub open_flags: __u32,
1337pub statx_flags: __u32,
1338pub fadvise_advice: __u32,
1339pub splice_flags: __u32,
1340pub rename_flags: __u32,
1341pub unlink_flags: __u32,
1342pub hardlink_flags: __u32,
1343pub xattr_flags: __u32,
1344pub msg_ring_flags: __u32,
1345pub uring_cmd_flags: __u32,
1346pub waitid_flags: __u32,
1347pub futex_flags: __u32,
1348pub install_fd_flags: __u32,
1349pub nop_flags: __u32,
1350pub pipe_flags: __u32,
1351}
1352#[repr(C, packed)]
1353#[derive(Copy, Clone)]
1354pub union io_uring_sqe__bindgen_ty_4 {
1355pub buf_index: __u16,
1356pub buf_group: __u16,
1357}
1358#[repr(C)]
1359#[derive(Copy, Clone)]
1360pub union io_uring_sqe__bindgen_ty_5 {
1361pub splice_fd_in: __s32,
1362pub file_index: __u32,
1363pub zcrx_ifq_idx: __u32,
1364pub optlen: __u32,
1365pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_5__bindgen_ty_1,
1366pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_5__bindgen_ty_2,
1367}
1368#[repr(C)]
1369#[derive(Copy, Clone)]
1370pub union io_uring_restriction__bindgen_ty_1 {
1371pub register_op: __u8,
1372pub sqe_op: __u8,
1373pub sqe_flags: __u8,
1374}
1375impl<T> __IncompleteArrayField<T> {
1376#[inline]
1377pub const fn new() -> Self {
1378__IncompleteArrayField(::core::marker::PhantomData, [])
1379}
1380#[inline]
1381pub fn as_ptr(&self) -> *const T {
1382self as *const _ as *const T
1383}
1384#[inline]
1385pub fn as_mut_ptr(&mut self) -> *mut T {
1386self as *mut _ as *mut T
1387}
1388#[inline]
1389pub unsafe fn as_slice(&self, len: usize) -> &[T] {
1390::core::slice::from_raw_parts(self.as_ptr(), len)
1391}
1392#[inline]
1393pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
1394::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
1395}
1396}
1397impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
1398fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1399fmt.write_str("__IncompleteArrayField")
1400}
1401}
1402impl<T> __BindgenUnionField<T> {
1403#[inline]
1404pub const fn new() -> Self {
1405__BindgenUnionField(::core::marker::PhantomData)
1406}
1407#[inline]
1408pub unsafe fn as_ref(&self) -> &T {
1409::core::mem::transmute(self)
1410}
1411#[inline]
1412pub unsafe fn as_mut(&mut self) -> &mut T {
1413::core::mem::transmute(self)
1414}
1415}
1416impl<T> ::core::default::Default for __BindgenUnionField<T> {
1417#[inline]
1418fn default() -> Self {
1419Self::new()
1420}
1421}
1422impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
1423#[inline]
1424fn clone(&self) -> Self {
1425*self
1426}
1427}
1428impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
1429impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
1430fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1431fmt.write_str("__BindgenUnionField")
1432}
1433}
1434impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
1435fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
1436}
1437impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
1438fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
1439true
1440}
1441}
1442impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}