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