]> git.proxmox.com Git - rustc.git/blob - vendor/linux-raw-sys/src/x86/io_uring.rs
New upstream version 1.72.1+dfsg1
[rustc.git] / vendor / linux-raw-sys / src / x86 / io_uring.rs
1 /* automatically generated by rust-bindgen 0.65.1 */
2
3 pub type __s8 = crate::ctypes::c_schar;
4 pub type __u8 = crate::ctypes::c_uchar;
5 pub type __s16 = crate::ctypes::c_short;
6 pub type __u16 = crate::ctypes::c_ushort;
7 pub type __s32 = crate::ctypes::c_int;
8 pub type __u32 = crate::ctypes::c_uint;
9 pub type __s64 = crate::ctypes::c_longlong;
10 pub type __u64 = crate::ctypes::c_ulonglong;
11 pub type __kernel_key_t = crate::ctypes::c_int;
12 pub type __kernel_mqd_t = crate::ctypes::c_int;
13 pub type __kernel_mode_t = crate::ctypes::c_ushort;
14 pub type __kernel_ipc_pid_t = crate::ctypes::c_ushort;
15 pub type __kernel_uid_t = crate::ctypes::c_ushort;
16 pub type __kernel_gid_t = crate::ctypes::c_ushort;
17 pub type __kernel_old_dev_t = crate::ctypes::c_ushort;
18 pub type __kernel_long_t = crate::ctypes::c_long;
19 pub type __kernel_ulong_t = crate::ctypes::c_ulong;
20 pub type __kernel_ino_t = __kernel_ulong_t;
21 pub type __kernel_pid_t = crate::ctypes::c_int;
22 pub type __kernel_suseconds_t = __kernel_long_t;
23 pub type __kernel_daddr_t = crate::ctypes::c_int;
24 pub type __kernel_uid32_t = crate::ctypes::c_uint;
25 pub type __kernel_gid32_t = crate::ctypes::c_uint;
26 pub type __kernel_old_uid_t = __kernel_uid_t;
27 pub type __kernel_old_gid_t = __kernel_gid_t;
28 pub type __kernel_size_t = crate::ctypes::c_uint;
29 pub type __kernel_ssize_t = crate::ctypes::c_int;
30 pub type __kernel_ptrdiff_t = crate::ctypes::c_int;
31 pub type __kernel_off_t = __kernel_long_t;
32 pub type __kernel_loff_t = crate::ctypes::c_longlong;
33 pub type __kernel_old_time_t = __kernel_long_t;
34 pub type __kernel_time_t = __kernel_long_t;
35 pub type __kernel_time64_t = crate::ctypes::c_longlong;
36 pub type __kernel_clock_t = __kernel_long_t;
37 pub type __kernel_timer_t = crate::ctypes::c_int;
38 pub type __kernel_clockid_t = crate::ctypes::c_int;
39 pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
40 pub type __kernel_uid16_t = crate::ctypes::c_ushort;
41 pub type __kernel_gid16_t = crate::ctypes::c_ushort;
42 pub type __le16 = __u16;
43 pub type __be16 = __u16;
44 pub type __le32 = __u32;
45 pub type __be32 = __u32;
46 pub type __le64 = __u64;
47 pub type __be64 = __u64;
48 pub type __sum16 = __u16;
49 pub type __wsum = __u32;
50 pub type __poll_t = crate::ctypes::c_uint;
51 pub type __kernel_rwf_t = crate::ctypes::c_int;
52 #[repr(C)]
53 #[derive(Default)]
54 pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
55 #[repr(C)]
56 pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
57 #[repr(C)]
58 #[derive(Debug, Copy, Clone)]
59 pub struct fscrypt_policy_v1 {
60 pub version: __u8,
61 pub contents_encryption_mode: __u8,
62 pub filenames_encryption_mode: __u8,
63 pub flags: __u8,
64 pub master_key_descriptor: [__u8; 8usize],
65 }
66 #[repr(C)]
67 #[derive(Debug, Copy, Clone)]
68 pub struct fscrypt_key {
69 pub mode: __u32,
70 pub raw: [__u8; 64usize],
71 pub size: __u32,
72 }
73 #[repr(C)]
74 #[derive(Debug, Copy, Clone)]
75 pub struct fscrypt_policy_v2 {
76 pub version: __u8,
77 pub contents_encryption_mode: __u8,
78 pub filenames_encryption_mode: __u8,
79 pub flags: __u8,
80 pub __reserved: [__u8; 4usize],
81 pub master_key_identifier: [__u8; 16usize],
82 }
83 #[repr(C)]
84 #[derive(Copy, Clone)]
85 pub struct fscrypt_get_policy_ex_arg {
86 pub policy_size: __u64,
87 pub policy: fscrypt_get_policy_ex_arg__bindgen_ty_1,
88 }
89 #[repr(C)]
90 #[derive(Copy, Clone)]
91 pub struct fscrypt_key_specifier {
92 pub type_: __u32,
93 pub __reserved: __u32,
94 pub u: fscrypt_key_specifier__bindgen_ty_1,
95 }
96 #[repr(C)]
97 #[derive(Debug)]
98 pub struct fscrypt_provisioning_key_payload {
99 pub type_: __u32,
100 pub __reserved: __u32,
101 pub raw: __IncompleteArrayField<__u8>,
102 }
103 #[repr(C)]
104 pub struct fscrypt_add_key_arg {
105 pub key_spec: fscrypt_key_specifier,
106 pub raw_size: __u32,
107 pub key_id: __u32,
108 pub __reserved: [__u32; 8usize],
109 pub raw: __IncompleteArrayField<__u8>,
110 }
111 #[repr(C)]
112 #[derive(Copy, Clone)]
113 pub struct fscrypt_remove_key_arg {
114 pub key_spec: fscrypt_key_specifier,
115 pub removal_status_flags: __u32,
116 pub __reserved: [__u32; 5usize],
117 }
118 #[repr(C)]
119 #[derive(Copy, Clone)]
120 pub struct fscrypt_get_key_status_arg {
121 pub key_spec: fscrypt_key_specifier,
122 pub __reserved: [__u32; 6usize],
123 pub status: __u32,
124 pub status_flags: __u32,
125 pub user_count: __u32,
126 pub __out_reserved: [__u32; 13usize],
127 }
128 #[repr(C)]
129 #[derive(Debug, Copy, Clone)]
130 pub struct mount_attr {
131 pub attr_set: __u64,
132 pub attr_clr: __u64,
133 pub propagation: __u64,
134 pub userns_fd: __u64,
135 }
136 #[repr(C)]
137 #[derive(Debug, Copy, Clone)]
138 pub struct file_clone_range {
139 pub src_fd: __s64,
140 pub src_offset: __u64,
141 pub src_length: __u64,
142 pub dest_offset: __u64,
143 }
144 #[repr(C)]
145 #[derive(Debug, Copy, Clone)]
146 pub struct fstrim_range {
147 pub start: __u64,
148 pub len: __u64,
149 pub minlen: __u64,
150 }
151 #[repr(C)]
152 #[derive(Debug, Copy, Clone)]
153 pub struct file_dedupe_range_info {
154 pub dest_fd: __s64,
155 pub dest_offset: __u64,
156 pub bytes_deduped: __u64,
157 pub status: __s32,
158 pub reserved: __u32,
159 }
160 #[repr(C)]
161 #[derive(Debug)]
162 pub struct file_dedupe_range {
163 pub src_offset: __u64,
164 pub src_length: __u64,
165 pub dest_count: __u16,
166 pub reserved1: __u16,
167 pub reserved2: __u32,
168 pub info: __IncompleteArrayField<file_dedupe_range_info>,
169 }
170 #[repr(C)]
171 #[derive(Debug, Copy, Clone)]
172 pub struct files_stat_struct {
173 pub nr_files: crate::ctypes::c_ulong,
174 pub nr_free_files: crate::ctypes::c_ulong,
175 pub max_files: crate::ctypes::c_ulong,
176 }
177 #[repr(C)]
178 #[derive(Debug, Copy, Clone)]
179 pub struct inodes_stat_t {
180 pub nr_inodes: crate::ctypes::c_long,
181 pub nr_unused: crate::ctypes::c_long,
182 pub dummy: [crate::ctypes::c_long; 5usize],
183 }
184 #[repr(C)]
185 #[derive(Debug, Copy, Clone)]
186 pub struct fsxattr {
187 pub fsx_xflags: __u32,
188 pub fsx_extsize: __u32,
189 pub fsx_nextents: __u32,
190 pub fsx_projid: __u32,
191 pub fsx_cowextsize: __u32,
192 pub fsx_pad: [crate::ctypes::c_uchar; 8usize],
193 }
194 #[repr(C)]
195 #[derive(Debug, Copy, Clone)]
196 pub struct __kernel_timespec {
197 pub tv_sec: __kernel_time64_t,
198 pub tv_nsec: crate::ctypes::c_longlong,
199 }
200 #[repr(C)]
201 #[derive(Debug, Copy, Clone)]
202 pub struct __kernel_itimerspec {
203 pub it_interval: __kernel_timespec,
204 pub it_value: __kernel_timespec,
205 }
206 #[repr(C)]
207 #[derive(Debug, Copy, Clone)]
208 pub struct __kernel_old_timeval {
209 pub tv_sec: __kernel_long_t,
210 pub tv_usec: __kernel_long_t,
211 }
212 #[repr(C)]
213 #[derive(Debug, Copy, Clone)]
214 pub struct __kernel_old_timespec {
215 pub tv_sec: __kernel_old_time_t,
216 pub tv_nsec: crate::ctypes::c_long,
217 }
218 #[repr(C)]
219 #[derive(Debug, Copy, Clone)]
220 pub struct __kernel_old_itimerval {
221 pub it_interval: __kernel_old_timeval,
222 pub it_value: __kernel_old_timeval,
223 }
224 #[repr(C)]
225 #[derive(Debug, Copy, Clone)]
226 pub struct __kernel_sock_timeval {
227 pub tv_sec: __s64,
228 pub tv_usec: __s64,
229 }
230 #[repr(C)]
231 pub struct io_uring_sqe {
232 pub opcode: __u8,
233 pub flags: __u8,
234 pub ioprio: __u16,
235 pub fd: __s32,
236 pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1,
237 pub __bindgen_anon_2: io_uring_sqe__bindgen_ty_2,
238 pub len: __u32,
239 pub __bindgen_anon_3: io_uring_sqe__bindgen_ty_3,
240 pub user_data: __u64,
241 pub __bindgen_anon_4: io_uring_sqe__bindgen_ty_4,
242 pub personality: __u16,
243 pub __bindgen_anon_5: io_uring_sqe__bindgen_ty_5,
244 pub __bindgen_anon_6: io_uring_sqe__bindgen_ty_6,
245 }
246 #[repr(C)]
247 #[derive(Debug, Copy, Clone)]
248 pub struct io_uring_sqe__bindgen_ty_1__bindgen_ty_1 {
249 pub cmd_op: __u32,
250 pub __pad1: __u32,
251 }
252 #[repr(C)]
253 #[derive(Debug, Copy, Clone)]
254 pub struct io_uring_sqe__bindgen_ty_5__bindgen_ty_1 {
255 pub addr_len: __u16,
256 pub __pad3: [__u16; 1usize],
257 }
258 #[repr(C)]
259 pub struct io_uring_sqe__bindgen_ty_6 {
260 pub __bindgen_anon_1: __BindgenUnionField<io_uring_sqe__bindgen_ty_6__bindgen_ty_1>,
261 pub cmd: __BindgenUnionField<[__u8; 0usize]>,
262 pub bindgen_union_field: [u32; 4usize],
263 }
264 #[repr(C)]
265 #[derive(Debug, Copy, Clone)]
266 pub struct io_uring_sqe__bindgen_ty_6__bindgen_ty_1 {
267 pub addr3: __u64,
268 pub __pad2: [__u64; 1usize],
269 }
270 #[repr(C)]
271 #[derive(Debug)]
272 pub struct io_uring_cqe {
273 pub user_data: __u64,
274 pub res: __s32,
275 pub flags: __u32,
276 pub big_cqe: __IncompleteArrayField<__u64>,
277 }
278 #[repr(C)]
279 #[derive(Debug, Copy, Clone)]
280 pub struct io_sqring_offsets {
281 pub head: __u32,
282 pub tail: __u32,
283 pub ring_mask: __u32,
284 pub ring_entries: __u32,
285 pub flags: __u32,
286 pub dropped: __u32,
287 pub array: __u32,
288 pub resv1: __u32,
289 pub resv2: __u64,
290 }
291 #[repr(C)]
292 #[derive(Debug, Copy, Clone)]
293 pub struct io_cqring_offsets {
294 pub head: __u32,
295 pub tail: __u32,
296 pub ring_mask: __u32,
297 pub ring_entries: __u32,
298 pub overflow: __u32,
299 pub cqes: __u32,
300 pub flags: __u32,
301 pub resv1: __u32,
302 pub resv2: __u64,
303 }
304 #[repr(C)]
305 #[derive(Debug, Copy, Clone)]
306 pub struct io_uring_params {
307 pub sq_entries: __u32,
308 pub cq_entries: __u32,
309 pub flags: __u32,
310 pub sq_thread_cpu: __u32,
311 pub sq_thread_idle: __u32,
312 pub features: __u32,
313 pub wq_fd: __u32,
314 pub resv: [__u32; 3usize],
315 pub sq_off: io_sqring_offsets,
316 pub cq_off: io_cqring_offsets,
317 }
318 #[repr(C)]
319 #[repr(align(8))]
320 #[derive(Debug, Copy, Clone)]
321 pub struct io_uring_files_update {
322 pub offset: __u32,
323 pub resv: __u32,
324 pub fds: __u64,
325 }
326 #[repr(C)]
327 #[repr(align(8))]
328 #[derive(Debug, Copy, Clone)]
329 pub struct io_uring_rsrc_register {
330 pub nr: __u32,
331 pub flags: __u32,
332 pub resv2: __u64,
333 pub data: __u64,
334 pub tags: __u64,
335 }
336 #[repr(C)]
337 #[repr(align(8))]
338 #[derive(Debug, Copy, Clone)]
339 pub struct io_uring_rsrc_update {
340 pub offset: __u32,
341 pub resv: __u32,
342 pub data: __u64,
343 }
344 #[repr(C)]
345 #[repr(align(8))]
346 #[derive(Debug, Copy, Clone)]
347 pub struct io_uring_rsrc_update2 {
348 pub offset: __u32,
349 pub resv: __u32,
350 pub data: __u64,
351 pub tags: __u64,
352 pub nr: __u32,
353 pub resv2: __u32,
354 }
355 #[repr(C)]
356 #[derive(Debug, Copy, Clone)]
357 pub struct io_uring_notification_slot {
358 pub tag: __u64,
359 pub resv: [__u64; 3usize],
360 }
361 #[repr(C)]
362 #[derive(Debug, Copy, Clone)]
363 pub struct io_uring_notification_register {
364 pub nr_slots: __u32,
365 pub resv: __u32,
366 pub resv2: __u64,
367 pub data: __u64,
368 pub resv3: __u64,
369 }
370 #[repr(C)]
371 #[derive(Debug, Copy, Clone)]
372 pub struct io_uring_probe_op {
373 pub op: __u8,
374 pub resv: __u8,
375 pub flags: __u16,
376 pub resv2: __u32,
377 }
378 #[repr(C)]
379 #[derive(Debug)]
380 pub struct io_uring_probe {
381 pub last_op: __u8,
382 pub ops_len: __u8,
383 pub resv: __u16,
384 pub resv2: [__u32; 3usize],
385 pub ops: __IncompleteArrayField<io_uring_probe_op>,
386 }
387 #[repr(C)]
388 #[derive(Copy, Clone)]
389 pub struct io_uring_restriction {
390 pub opcode: __u16,
391 pub __bindgen_anon_1: io_uring_restriction__bindgen_ty_1,
392 pub resv: __u8,
393 pub resv2: [__u32; 3usize],
394 }
395 #[repr(C)]
396 #[derive(Debug, Copy, Clone)]
397 pub struct io_uring_buf {
398 pub addr: __u64,
399 pub len: __u32,
400 pub bid: __u16,
401 pub resv: __u16,
402 }
403 #[repr(C)]
404 pub struct io_uring_buf_ring {
405 pub __bindgen_anon_1: io_uring_buf_ring__bindgen_ty_1,
406 }
407 #[repr(C)]
408 pub struct io_uring_buf_ring__bindgen_ty_1 {
409 pub __bindgen_anon_1: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1>,
410 pub __bindgen_anon_2: __BindgenUnionField<io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2>,
411 pub bindgen_union_field: [u32; 4usize],
412 }
413 #[repr(C)]
414 #[derive(Debug, Copy, Clone)]
415 pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_1 {
416 pub resv1: __u64,
417 pub resv2: __u32,
418 pub resv3: __u16,
419 pub tail: __u16,
420 }
421 #[repr(C)]
422 #[derive(Debug)]
423 pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2 {
424 pub __empty_bufs: io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1,
425 pub bufs: __IncompleteArrayField<io_uring_buf>,
426 }
427 #[repr(C)]
428 #[derive(Debug, Copy, Clone)]
429 pub struct io_uring_buf_ring__bindgen_ty_1__bindgen_ty_2__bindgen_ty_1 {}
430 #[repr(C)]
431 #[derive(Debug, Copy, Clone)]
432 pub struct io_uring_buf_reg {
433 pub ring_addr: __u64,
434 pub ring_entries: __u32,
435 pub bgid: __u16,
436 pub pad: __u16,
437 pub resv: [__u64; 3usize],
438 }
439 #[repr(C)]
440 #[derive(Debug, Copy, Clone)]
441 pub struct io_uring_getevents_arg {
442 pub sigmask: __u64,
443 pub sigmask_sz: __u32,
444 pub pad: __u32,
445 pub ts: __u64,
446 }
447 #[repr(C)]
448 #[derive(Debug, Copy, Clone)]
449 pub struct io_uring_sync_cancel_reg {
450 pub addr: __u64,
451 pub fd: __s32,
452 pub flags: __u32,
453 pub timeout: __kernel_timespec,
454 pub pad: [__u64; 4usize],
455 }
456 #[repr(C)]
457 #[derive(Debug, Copy, Clone)]
458 pub struct io_uring_file_index_range {
459 pub off: __u32,
460 pub len: __u32,
461 pub resv: __u64,
462 }
463 #[repr(C)]
464 #[derive(Debug, Copy, Clone)]
465 pub struct io_uring_recvmsg_out {
466 pub namelen: __u32,
467 pub controllen: __u32,
468 pub payloadlen: __u32,
469 pub flags: __u32,
470 }
471 pub const NR_OPEN: u32 = 1024;
472 pub const NGROUPS_MAX: u32 = 65536;
473 pub const ARG_MAX: u32 = 131072;
474 pub const LINK_MAX: u32 = 127;
475 pub const MAX_CANON: u32 = 255;
476 pub const MAX_INPUT: u32 = 255;
477 pub const NAME_MAX: u32 = 255;
478 pub const PATH_MAX: u32 = 4096;
479 pub const PIPE_BUF: u32 = 4096;
480 pub const XATTR_NAME_MAX: u32 = 255;
481 pub const XATTR_SIZE_MAX: u32 = 65536;
482 pub const XATTR_LIST_MAX: u32 = 65536;
483 pub const RTSIG_MAX: u32 = 32;
484 pub const _IOC_NRBITS: u32 = 8;
485 pub const _IOC_TYPEBITS: u32 = 8;
486 pub const _IOC_SIZEBITS: u32 = 14;
487 pub const _IOC_DIRBITS: u32 = 2;
488 pub const _IOC_NRMASK: u32 = 255;
489 pub const _IOC_TYPEMASK: u32 = 255;
490 pub const _IOC_SIZEMASK: u32 = 16383;
491 pub const _IOC_DIRMASK: u32 = 3;
492 pub const _IOC_NRSHIFT: u32 = 0;
493 pub const _IOC_TYPESHIFT: u32 = 8;
494 pub const _IOC_SIZESHIFT: u32 = 16;
495 pub const _IOC_DIRSHIFT: u32 = 30;
496 pub const _IOC_NONE: u32 = 0;
497 pub const _IOC_WRITE: u32 = 1;
498 pub const _IOC_READ: u32 = 2;
499 pub const IOC_IN: u32 = 1073741824;
500 pub const IOC_OUT: u32 = 2147483648;
501 pub const IOC_INOUT: u32 = 3221225472;
502 pub const IOCSIZE_MASK: u32 = 1073676288;
503 pub const IOCSIZE_SHIFT: u32 = 16;
504 pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0;
505 pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1;
506 pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2;
507 pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3;
508 pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3;
509 pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4;
510 pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8;
511 pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16;
512 pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1;
513 pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4;
514 pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5;
515 pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6;
516 pub const FSCRYPT_MODE_SM4_XTS: u32 = 7;
517 pub const FSCRYPT_MODE_SM4_CTS: u32 = 8;
518 pub const FSCRYPT_MODE_ADIANTUM: u32 = 9;
519 pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10;
520 pub const FSCRYPT_POLICY_V1: u32 = 0;
521 pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8;
522 pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9usize] = b"fscrypt:\0";
523 pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8;
524 pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64;
525 pub const FSCRYPT_POLICY_V2: u32 = 2;
526 pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16;
527 pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1;
528 pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2;
529 pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1;
530 pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2;
531 pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1;
532 pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2;
533 pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3;
534 pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1;
535 pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8;
536 pub const FS_POLICY_FLAGS_PAD_4: u32 = 0;
537 pub const FS_POLICY_FLAGS_PAD_8: u32 = 1;
538 pub const FS_POLICY_FLAGS_PAD_16: u32 = 2;
539 pub const FS_POLICY_FLAGS_PAD_32: u32 = 3;
540 pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3;
541 pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4;
542 pub const FS_POLICY_FLAGS_VALID: u32 = 7;
543 pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0;
544 pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1;
545 pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2;
546 pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3;
547 pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4;
548 pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5;
549 pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6;
550 pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9;
551 pub const FS_KEY_DESC_PREFIX: &[u8; 9usize] = b"fscrypt:\0";
552 pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8;
553 pub const FS_MAX_KEY_SIZE: u32 = 64;
554 pub const MS_RDONLY: u32 = 1;
555 pub const MS_NOSUID: u32 = 2;
556 pub const MS_NODEV: u32 = 4;
557 pub const MS_NOEXEC: u32 = 8;
558 pub const MS_SYNCHRONOUS: u32 = 16;
559 pub const MS_REMOUNT: u32 = 32;
560 pub const MS_MANDLOCK: u32 = 64;
561 pub const MS_DIRSYNC: u32 = 128;
562 pub const MS_NOSYMFOLLOW: u32 = 256;
563 pub const MS_NOATIME: u32 = 1024;
564 pub const MS_NODIRATIME: u32 = 2048;
565 pub const MS_BIND: u32 = 4096;
566 pub const MS_MOVE: u32 = 8192;
567 pub const MS_REC: u32 = 16384;
568 pub const MS_VERBOSE: u32 = 32768;
569 pub const MS_SILENT: u32 = 32768;
570 pub const MS_POSIXACL: u32 = 65536;
571 pub const MS_UNBINDABLE: u32 = 131072;
572 pub const MS_PRIVATE: u32 = 262144;
573 pub const MS_SLAVE: u32 = 524288;
574 pub const MS_SHARED: u32 = 1048576;
575 pub const MS_RELATIME: u32 = 2097152;
576 pub const MS_KERNMOUNT: u32 = 4194304;
577 pub const MS_I_VERSION: u32 = 8388608;
578 pub const MS_STRICTATIME: u32 = 16777216;
579 pub const MS_LAZYTIME: u32 = 33554432;
580 pub const MS_SUBMOUNT: u32 = 67108864;
581 pub const MS_NOREMOTELOCK: u32 = 134217728;
582 pub const MS_NOSEC: u32 = 268435456;
583 pub const MS_BORN: u32 = 536870912;
584 pub const MS_ACTIVE: u32 = 1073741824;
585 pub const MS_NOUSER: u32 = 2147483648;
586 pub const MS_RMT_MASK: u32 = 41943121;
587 pub const MS_MGC_VAL: u32 = 3236757504;
588 pub const MS_MGC_MSK: u32 = 4294901760;
589 pub const OPEN_TREE_CLONE: u32 = 1;
590 pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1;
591 pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2;
592 pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4;
593 pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16;
594 pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32;
595 pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64;
596 pub const MOVE_MOUNT_SET_GROUP: u32 = 256;
597 pub const MOVE_MOUNT__MASK: u32 = 375;
598 pub const FSOPEN_CLOEXEC: u32 = 1;
599 pub const FSPICK_CLOEXEC: u32 = 1;
600 pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2;
601 pub const FSPICK_NO_AUTOMOUNT: u32 = 4;
602 pub const FSPICK_EMPTY_PATH: u32 = 8;
603 pub const FSMOUNT_CLOEXEC: u32 = 1;
604 pub const MOUNT_ATTR_RDONLY: u32 = 1;
605 pub const MOUNT_ATTR_NOSUID: u32 = 2;
606 pub const MOUNT_ATTR_NODEV: u32 = 4;
607 pub const MOUNT_ATTR_NOEXEC: u32 = 8;
608 pub const MOUNT_ATTR__ATIME: u32 = 112;
609 pub const MOUNT_ATTR_RELATIME: u32 = 0;
610 pub const MOUNT_ATTR_NOATIME: u32 = 16;
611 pub const MOUNT_ATTR_STRICTATIME: u32 = 32;
612 pub const MOUNT_ATTR_NODIRATIME: u32 = 128;
613 pub const MOUNT_ATTR_IDMAP: u32 = 1048576;
614 pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152;
615 pub const MOUNT_ATTR_SIZE_VER0: u32 = 32;
616 pub const INR_OPEN_CUR: u32 = 1024;
617 pub const INR_OPEN_MAX: u32 = 4096;
618 pub const BLOCK_SIZE_BITS: u32 = 10;
619 pub const BLOCK_SIZE: u32 = 1024;
620 pub const SEEK_SET: u32 = 0;
621 pub const SEEK_CUR: u32 = 1;
622 pub const SEEK_END: u32 = 2;
623 pub const SEEK_DATA: u32 = 3;
624 pub const SEEK_HOLE: u32 = 4;
625 pub const SEEK_MAX: u32 = 4;
626 pub const RENAME_NOREPLACE: u32 = 1;
627 pub const RENAME_EXCHANGE: u32 = 2;
628 pub const RENAME_WHITEOUT: u32 = 4;
629 pub const FILE_DEDUPE_RANGE_SAME: u32 = 0;
630 pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1;
631 pub const NR_FILE: u32 = 8192;
632 pub const FS_XFLAG_REALTIME: u32 = 1;
633 pub const FS_XFLAG_PREALLOC: u32 = 2;
634 pub const FS_XFLAG_IMMUTABLE: u32 = 8;
635 pub const FS_XFLAG_APPEND: u32 = 16;
636 pub const FS_XFLAG_SYNC: u32 = 32;
637 pub const FS_XFLAG_NOATIME: u32 = 64;
638 pub const FS_XFLAG_NODUMP: u32 = 128;
639 pub const FS_XFLAG_RTINHERIT: u32 = 256;
640 pub const FS_XFLAG_PROJINHERIT: u32 = 512;
641 pub const FS_XFLAG_NOSYMLINKS: u32 = 1024;
642 pub const FS_XFLAG_EXTSIZE: u32 = 2048;
643 pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096;
644 pub const FS_XFLAG_NODEFRAG: u32 = 8192;
645 pub const FS_XFLAG_FILESTREAM: u32 = 16384;
646 pub const FS_XFLAG_DAX: u32 = 32768;
647 pub const FS_XFLAG_COWEXTSIZE: u32 = 65536;
648 pub const FS_XFLAG_HASATTR: u32 = 2147483648;
649 pub const BMAP_IOCTL: u32 = 1;
650 pub const FSLABEL_MAX: u32 = 256;
651 pub const FS_SECRM_FL: u32 = 1;
652 pub const FS_UNRM_FL: u32 = 2;
653 pub const FS_COMPR_FL: u32 = 4;
654 pub const FS_SYNC_FL: u32 = 8;
655 pub const FS_IMMUTABLE_FL: u32 = 16;
656 pub const FS_APPEND_FL: u32 = 32;
657 pub const FS_NODUMP_FL: u32 = 64;
658 pub const FS_NOATIME_FL: u32 = 128;
659 pub const FS_DIRTY_FL: u32 = 256;
660 pub const FS_COMPRBLK_FL: u32 = 512;
661 pub const FS_NOCOMP_FL: u32 = 1024;
662 pub const FS_ENCRYPT_FL: u32 = 2048;
663 pub const FS_BTREE_FL: u32 = 4096;
664 pub const FS_INDEX_FL: u32 = 4096;
665 pub const FS_IMAGIC_FL: u32 = 8192;
666 pub const FS_JOURNAL_DATA_FL: u32 = 16384;
667 pub const FS_NOTAIL_FL: u32 = 32768;
668 pub const FS_DIRSYNC_FL: u32 = 65536;
669 pub const FS_TOPDIR_FL: u32 = 131072;
670 pub const FS_HUGE_FILE_FL: u32 = 262144;
671 pub const FS_EXTENT_FL: u32 = 524288;
672 pub const FS_VERITY_FL: u32 = 1048576;
673 pub const FS_EA_INODE_FL: u32 = 2097152;
674 pub const FS_EOFBLOCKS_FL: u32 = 4194304;
675 pub const FS_NOCOW_FL: u32 = 8388608;
676 pub const FS_DAX_FL: u32 = 33554432;
677 pub const FS_INLINE_DATA_FL: u32 = 268435456;
678 pub const FS_PROJINHERIT_FL: u32 = 536870912;
679 pub const FS_CASEFOLD_FL: u32 = 1073741824;
680 pub const FS_RESERVED_FL: u32 = 2147483648;
681 pub const FS_FL_USER_VISIBLE: u32 = 253951;
682 pub const FS_FL_USER_MODIFIABLE: u32 = 229631;
683 pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1;
684 pub const SYNC_FILE_RANGE_WRITE: u32 = 2;
685 pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4;
686 pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7;
687 pub const IORING_FILE_INDEX_ALLOC: i32 = -1;
688 pub const IORING_SETUP_IOPOLL: u32 = 1;
689 pub const IORING_SETUP_SQPOLL: u32 = 2;
690 pub const IORING_SETUP_SQ_AFF: u32 = 4;
691 pub const IORING_SETUP_CQSIZE: u32 = 8;
692 pub const IORING_SETUP_CLAMP: u32 = 16;
693 pub const IORING_SETUP_ATTACH_WQ: u32 = 32;
694 pub const IORING_SETUP_R_DISABLED: u32 = 64;
695 pub const IORING_SETUP_SUBMIT_ALL: u32 = 128;
696 pub const IORING_SETUP_COOP_TASKRUN: u32 = 256;
697 pub const IORING_SETUP_TASKRUN_FLAG: u32 = 512;
698 pub const IORING_SETUP_SQE128: u32 = 1024;
699 pub const IORING_SETUP_CQE32: u32 = 2048;
700 pub const IORING_SETUP_SINGLE_ISSUER: u32 = 4096;
701 pub const IORING_SETUP_DEFER_TASKRUN: u32 = 8192;
702 pub const IORING_URING_CMD_FIXED: u32 = 1;
703 pub const IORING_FSYNC_DATASYNC: u32 = 1;
704 pub const IORING_TIMEOUT_ABS: u32 = 1;
705 pub const IORING_TIMEOUT_UPDATE: u32 = 2;
706 pub const IORING_TIMEOUT_BOOTTIME: u32 = 4;
707 pub const IORING_TIMEOUT_REALTIME: u32 = 8;
708 pub const IORING_LINK_TIMEOUT_UPDATE: u32 = 16;
709 pub const IORING_TIMEOUT_ETIME_SUCCESS: u32 = 32;
710 pub const IORING_TIMEOUT_CLOCK_MASK: u32 = 12;
711 pub const IORING_TIMEOUT_UPDATE_MASK: u32 = 18;
712 pub const SPLICE_F_FD_IN_FIXED: u32 = 2147483648;
713 pub const IORING_POLL_ADD_MULTI: u32 = 1;
714 pub const IORING_POLL_UPDATE_EVENTS: u32 = 2;
715 pub const IORING_POLL_UPDATE_USER_DATA: u32 = 4;
716 pub const IORING_POLL_ADD_LEVEL: u32 = 8;
717 pub const IORING_ASYNC_CANCEL_ALL: u32 = 1;
718 pub const IORING_ASYNC_CANCEL_FD: u32 = 2;
719 pub const IORING_ASYNC_CANCEL_ANY: u32 = 4;
720 pub const IORING_ASYNC_CANCEL_FD_FIXED: u32 = 8;
721 pub const IORING_RECVSEND_POLL_FIRST: u32 = 1;
722 pub const IORING_RECV_MULTISHOT: u32 = 2;
723 pub const IORING_RECVSEND_FIXED_BUF: u32 = 4;
724 pub const IORING_SEND_ZC_REPORT_USAGE: u32 = 8;
725 pub const IORING_NOTIF_USAGE_ZC_COPIED: u32 = 2147483648;
726 pub const IORING_ACCEPT_MULTISHOT: u32 = 1;
727 pub const IORING_MSG_RING_CQE_SKIP: u32 = 1;
728 pub const IORING_MSG_RING_FLAGS_PASS: u32 = 2;
729 pub const IORING_CQE_F_BUFFER: u32 = 1;
730 pub const IORING_CQE_F_MORE: u32 = 2;
731 pub const IORING_CQE_F_SOCK_NONEMPTY: u32 = 4;
732 pub const IORING_CQE_F_NOTIF: u32 = 8;
733 pub const IORING_OFF_SQ_RING: u32 = 0;
734 pub const IORING_OFF_CQ_RING: u32 = 134217728;
735 pub const IORING_OFF_SQES: u32 = 268435456;
736 pub const IORING_SQ_NEED_WAKEUP: u32 = 1;
737 pub const IORING_SQ_CQ_OVERFLOW: u32 = 2;
738 pub const IORING_SQ_TASKRUN: u32 = 4;
739 pub const IORING_CQ_EVENTFD_DISABLED: u32 = 1;
740 pub const IORING_ENTER_GETEVENTS: u32 = 1;
741 pub const IORING_ENTER_SQ_WAKEUP: u32 = 2;
742 pub const IORING_ENTER_SQ_WAIT: u32 = 4;
743 pub const IORING_ENTER_EXT_ARG: u32 = 8;
744 pub const IORING_ENTER_REGISTERED_RING: u32 = 16;
745 pub const IORING_FEAT_SINGLE_MMAP: u32 = 1;
746 pub const IORING_FEAT_NODROP: u32 = 2;
747 pub const IORING_FEAT_SUBMIT_STABLE: u32 = 4;
748 pub const IORING_FEAT_RW_CUR_POS: u32 = 8;
749 pub const IORING_FEAT_CUR_PERSONALITY: u32 = 16;
750 pub const IORING_FEAT_FAST_POLL: u32 = 32;
751 pub const IORING_FEAT_POLL_32BITS: u32 = 64;
752 pub const IORING_FEAT_SQPOLL_NONFIXED: u32 = 128;
753 pub const IORING_FEAT_EXT_ARG: u32 = 256;
754 pub const IORING_FEAT_NATIVE_WORKERS: u32 = 512;
755 pub const IORING_FEAT_RSRC_TAGS: u32 = 1024;
756 pub const IORING_FEAT_CQE_SKIP: u32 = 2048;
757 pub const IORING_FEAT_LINKED_FILE: u32 = 4096;
758 pub const IORING_FEAT_REG_REG_RING: u32 = 8192;
759 pub const IORING_RSRC_REGISTER_SPARSE: u32 = 1;
760 pub const IORING_REGISTER_FILES_SKIP: i32 = -2;
761 pub const IO_URING_OP_SUPPORTED: u32 = 1;
762 pub const IOSQE_FIXED_FILE_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_FIXED_FILE_BIT;
763 pub const IOSQE_IO_DRAIN_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_IO_DRAIN_BIT;
764 pub const IOSQE_IO_LINK_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_IO_LINK_BIT;
765 pub const IOSQE_IO_HARDLINK_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_IO_HARDLINK_BIT;
766 pub const IOSQE_ASYNC_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_ASYNC_BIT;
767 pub const IOSQE_BUFFER_SELECT_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_BUFFER_SELECT_BIT;
768 pub const IOSQE_CQE_SKIP_SUCCESS_BIT: _bindgen_ty_1 = _bindgen_ty_1::IOSQE_CQE_SKIP_SUCCESS_BIT;
769 pub const IORING_MSG_DATA: _bindgen_ty_2 = _bindgen_ty_2::IORING_MSG_DATA;
770 pub const IORING_MSG_SEND_FD: _bindgen_ty_2 = _bindgen_ty_2::IORING_MSG_SEND_FD;
771 pub const IORING_CQE_BUFFER_SHIFT: _bindgen_ty_3 = _bindgen_ty_3::IORING_CQE_BUFFER_SHIFT;
772 pub const IORING_REGISTER_BUFFERS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_BUFFERS;
773 pub const IORING_UNREGISTER_BUFFERS: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_BUFFERS;
774 pub const IORING_REGISTER_FILES: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES;
775 pub const IORING_UNREGISTER_FILES: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_FILES;
776 pub const IORING_REGISTER_EVENTFD: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_EVENTFD;
777 pub const IORING_UNREGISTER_EVENTFD: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_EVENTFD;
778 pub const IORING_REGISTER_FILES_UPDATE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES_UPDATE;
779 pub const IORING_REGISTER_EVENTFD_ASYNC: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_EVENTFD_ASYNC;
780 pub const IORING_REGISTER_PROBE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_PROBE;
781 pub const IORING_REGISTER_PERSONALITY: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_PERSONALITY;
782 pub const IORING_UNREGISTER_PERSONALITY: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_PERSONALITY;
783 pub const IORING_REGISTER_RESTRICTIONS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_RESTRICTIONS;
784 pub const IORING_REGISTER_ENABLE_RINGS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_ENABLE_RINGS;
785 pub const IORING_REGISTER_FILES2: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES2;
786 pub const IORING_REGISTER_FILES_UPDATE2: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILES_UPDATE2;
787 pub const IORING_REGISTER_BUFFERS2: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_BUFFERS2;
788 pub const IORING_REGISTER_BUFFERS_UPDATE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_BUFFERS_UPDATE;
789 pub const IORING_REGISTER_IOWQ_AFF: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_IOWQ_AFF;
790 pub const IORING_UNREGISTER_IOWQ_AFF: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_IOWQ_AFF;
791 pub const IORING_REGISTER_IOWQ_MAX_WORKERS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_IOWQ_MAX_WORKERS;
792 pub const IORING_REGISTER_RING_FDS: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_RING_FDS;
793 pub const IORING_UNREGISTER_RING_FDS: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_RING_FDS;
794 pub const IORING_REGISTER_PBUF_RING: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_PBUF_RING;
795 pub const IORING_UNREGISTER_PBUF_RING: _bindgen_ty_4 = _bindgen_ty_4::IORING_UNREGISTER_PBUF_RING;
796 pub const IORING_REGISTER_SYNC_CANCEL: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_SYNC_CANCEL;
797 pub const IORING_REGISTER_FILE_ALLOC_RANGE: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_FILE_ALLOC_RANGE;
798 pub const IORING_REGISTER_LAST: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_LAST;
799 pub const IORING_REGISTER_USE_REGISTERED_RING: _bindgen_ty_4 = _bindgen_ty_4::IORING_REGISTER_USE_REGISTERED_RING;
800 pub const IO_WQ_BOUND: _bindgen_ty_5 = _bindgen_ty_5::IO_WQ_BOUND;
801 pub const IO_WQ_UNBOUND: _bindgen_ty_5 = _bindgen_ty_5::IO_WQ_UNBOUND;
802 pub const IORING_RESTRICTION_REGISTER_OP: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_REGISTER_OP;
803 pub const IORING_RESTRICTION_SQE_OP: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_SQE_OP;
804 pub const IORING_RESTRICTION_SQE_FLAGS_ALLOWED: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_SQE_FLAGS_ALLOWED;
805 pub const IORING_RESTRICTION_SQE_FLAGS_REQUIRED: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_SQE_FLAGS_REQUIRED;
806 pub const IORING_RESTRICTION_LAST: _bindgen_ty_6 = _bindgen_ty_6::IORING_RESTRICTION_LAST;
807 #[repr(u32)]
808 #[non_exhaustive]
809 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
810 pub enum fsconfig_command {
811 FSCONFIG_SET_FLAG = 0,
812 FSCONFIG_SET_STRING = 1,
813 FSCONFIG_SET_BINARY = 2,
814 FSCONFIG_SET_PATH = 3,
815 FSCONFIG_SET_PATH_EMPTY = 4,
816 FSCONFIG_SET_FD = 5,
817 FSCONFIG_CMD_CREATE = 6,
818 FSCONFIG_CMD_RECONFIGURE = 7,
819 }
820 #[repr(u32)]
821 #[non_exhaustive]
822 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
823 pub enum _bindgen_ty_1 {
824 IOSQE_FIXED_FILE_BIT = 0,
825 IOSQE_IO_DRAIN_BIT = 1,
826 IOSQE_IO_LINK_BIT = 2,
827 IOSQE_IO_HARDLINK_BIT = 3,
828 IOSQE_ASYNC_BIT = 4,
829 IOSQE_BUFFER_SELECT_BIT = 5,
830 IOSQE_CQE_SKIP_SUCCESS_BIT = 6,
831 }
832 #[repr(u32)]
833 #[non_exhaustive]
834 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
835 pub enum io_uring_op {
836 IORING_OP_NOP = 0,
837 IORING_OP_READV = 1,
838 IORING_OP_WRITEV = 2,
839 IORING_OP_FSYNC = 3,
840 IORING_OP_READ_FIXED = 4,
841 IORING_OP_WRITE_FIXED = 5,
842 IORING_OP_POLL_ADD = 6,
843 IORING_OP_POLL_REMOVE = 7,
844 IORING_OP_SYNC_FILE_RANGE = 8,
845 IORING_OP_SENDMSG = 9,
846 IORING_OP_RECVMSG = 10,
847 IORING_OP_TIMEOUT = 11,
848 IORING_OP_TIMEOUT_REMOVE = 12,
849 IORING_OP_ACCEPT = 13,
850 IORING_OP_ASYNC_CANCEL = 14,
851 IORING_OP_LINK_TIMEOUT = 15,
852 IORING_OP_CONNECT = 16,
853 IORING_OP_FALLOCATE = 17,
854 IORING_OP_OPENAT = 18,
855 IORING_OP_CLOSE = 19,
856 IORING_OP_FILES_UPDATE = 20,
857 IORING_OP_STATX = 21,
858 IORING_OP_READ = 22,
859 IORING_OP_WRITE = 23,
860 IORING_OP_FADVISE = 24,
861 IORING_OP_MADVISE = 25,
862 IORING_OP_SEND = 26,
863 IORING_OP_RECV = 27,
864 IORING_OP_OPENAT2 = 28,
865 IORING_OP_EPOLL_CTL = 29,
866 IORING_OP_SPLICE = 30,
867 IORING_OP_PROVIDE_BUFFERS = 31,
868 IORING_OP_REMOVE_BUFFERS = 32,
869 IORING_OP_TEE = 33,
870 IORING_OP_SHUTDOWN = 34,
871 IORING_OP_RENAMEAT = 35,
872 IORING_OP_UNLINKAT = 36,
873 IORING_OP_MKDIRAT = 37,
874 IORING_OP_SYMLINKAT = 38,
875 IORING_OP_LINKAT = 39,
876 IORING_OP_MSG_RING = 40,
877 IORING_OP_FSETXATTR = 41,
878 IORING_OP_SETXATTR = 42,
879 IORING_OP_FGETXATTR = 43,
880 IORING_OP_GETXATTR = 44,
881 IORING_OP_SOCKET = 45,
882 IORING_OP_URING_CMD = 46,
883 IORING_OP_SEND_ZC = 47,
884 IORING_OP_SENDMSG_ZC = 48,
885 IORING_OP_LAST = 49,
886 }
887 #[repr(u32)]
888 #[non_exhaustive]
889 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
890 pub enum _bindgen_ty_2 {
891 IORING_MSG_DATA = 0,
892 IORING_MSG_SEND_FD = 1,
893 }
894 #[repr(u32)]
895 #[non_exhaustive]
896 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
897 pub enum _bindgen_ty_3 {
898 IORING_CQE_BUFFER_SHIFT = 16,
899 }
900 #[repr(u32)]
901 #[non_exhaustive]
902 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
903 pub enum _bindgen_ty_4 {
904 IORING_REGISTER_BUFFERS = 0,
905 IORING_UNREGISTER_BUFFERS = 1,
906 IORING_REGISTER_FILES = 2,
907 IORING_UNREGISTER_FILES = 3,
908 IORING_REGISTER_EVENTFD = 4,
909 IORING_UNREGISTER_EVENTFD = 5,
910 IORING_REGISTER_FILES_UPDATE = 6,
911 IORING_REGISTER_EVENTFD_ASYNC = 7,
912 IORING_REGISTER_PROBE = 8,
913 IORING_REGISTER_PERSONALITY = 9,
914 IORING_UNREGISTER_PERSONALITY = 10,
915 IORING_REGISTER_RESTRICTIONS = 11,
916 IORING_REGISTER_ENABLE_RINGS = 12,
917 IORING_REGISTER_FILES2 = 13,
918 IORING_REGISTER_FILES_UPDATE2 = 14,
919 IORING_REGISTER_BUFFERS2 = 15,
920 IORING_REGISTER_BUFFERS_UPDATE = 16,
921 IORING_REGISTER_IOWQ_AFF = 17,
922 IORING_UNREGISTER_IOWQ_AFF = 18,
923 IORING_REGISTER_IOWQ_MAX_WORKERS = 19,
924 IORING_REGISTER_RING_FDS = 20,
925 IORING_UNREGISTER_RING_FDS = 21,
926 IORING_REGISTER_PBUF_RING = 22,
927 IORING_UNREGISTER_PBUF_RING = 23,
928 IORING_REGISTER_SYNC_CANCEL = 24,
929 IORING_REGISTER_FILE_ALLOC_RANGE = 25,
930 IORING_REGISTER_LAST = 26,
931 IORING_REGISTER_USE_REGISTERED_RING = 2147483648,
932 }
933 #[repr(u32)]
934 #[non_exhaustive]
935 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
936 pub enum _bindgen_ty_5 {
937 IO_WQ_BOUND = 0,
938 IO_WQ_UNBOUND = 1,
939 }
940 #[repr(u32)]
941 #[non_exhaustive]
942 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
943 pub enum _bindgen_ty_6 {
944 IORING_RESTRICTION_REGISTER_OP = 0,
945 IORING_RESTRICTION_SQE_OP = 1,
946 IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,
947 IORING_RESTRICTION_SQE_FLAGS_REQUIRED = 3,
948 IORING_RESTRICTION_LAST = 4,
949 }
950 #[repr(C)]
951 #[derive(Copy, Clone)]
952 pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 {
953 pub version: __u8,
954 pub v1: fscrypt_policy_v1,
955 pub v2: fscrypt_policy_v2,
956 }
957 #[repr(C)]
958 #[derive(Copy, Clone)]
959 pub union fscrypt_key_specifier__bindgen_ty_1 {
960 pub __reserved: [__u8; 32usize],
961 pub descriptor: [__u8; 8usize],
962 pub identifier: [__u8; 16usize],
963 }
964 #[repr(C)]
965 #[derive(Copy, Clone)]
966 pub union io_uring_sqe__bindgen_ty_1 {
967 pub off: __u64,
968 pub addr2: __u64,
969 pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_1__bindgen_ty_1,
970 }
971 #[repr(C)]
972 #[derive(Copy, Clone)]
973 pub union io_uring_sqe__bindgen_ty_2 {
974 pub addr: __u64,
975 pub splice_off_in: __u64,
976 }
977 #[repr(C)]
978 #[derive(Copy, Clone)]
979 pub union io_uring_sqe__bindgen_ty_3 {
980 pub rw_flags: __kernel_rwf_t,
981 pub fsync_flags: __u32,
982 pub poll_events: __u16,
983 pub poll32_events: __u32,
984 pub sync_range_flags: __u32,
985 pub msg_flags: __u32,
986 pub timeout_flags: __u32,
987 pub accept_flags: __u32,
988 pub cancel_flags: __u32,
989 pub open_flags: __u32,
990 pub statx_flags: __u32,
991 pub fadvise_advice: __u32,
992 pub splice_flags: __u32,
993 pub rename_flags: __u32,
994 pub unlink_flags: __u32,
995 pub hardlink_flags: __u32,
996 pub xattr_flags: __u32,
997 pub msg_ring_flags: __u32,
998 pub uring_cmd_flags: __u32,
999 }
1000 #[repr(C, packed)]
1001 #[derive(Copy, Clone)]
1002 pub union io_uring_sqe__bindgen_ty_4 {
1003 pub buf_index: __u16,
1004 pub buf_group: __u16,
1005 }
1006 #[repr(C)]
1007 #[derive(Copy, Clone)]
1008 pub union io_uring_sqe__bindgen_ty_5 {
1009 pub splice_fd_in: __s32,
1010 pub file_index: __u32,
1011 pub __bindgen_anon_1: io_uring_sqe__bindgen_ty_5__bindgen_ty_1,
1012 }
1013 #[repr(C)]
1014 #[derive(Copy, Clone)]
1015 pub union io_uring_restriction__bindgen_ty_1 {
1016 pub register_op: __u8,
1017 pub sqe_op: __u8,
1018 pub sqe_flags: __u8,
1019 }
1020 impl<T> __IncompleteArrayField<T> {
1021 #[inline]
1022 pub const fn new() -> Self {
1023 __IncompleteArrayField(::core::marker::PhantomData, [])
1024 }
1025 #[inline]
1026 pub fn as_ptr(&self) -> *const T {
1027 self as *const _ as *const T
1028 }
1029 #[inline]
1030 pub fn as_mut_ptr(&mut self) -> *mut T {
1031 self as *mut _ as *mut T
1032 }
1033 #[inline]
1034 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
1035 ::core::slice::from_raw_parts(self.as_ptr(), len)
1036 }
1037 #[inline]
1038 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
1039 ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
1040 }
1041 }
1042 impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
1043 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1044 fmt.write_str("__IncompleteArrayField")
1045 }
1046 }
1047 impl<T> __BindgenUnionField<T> {
1048 #[inline]
1049 pub const fn new() -> Self {
1050 __BindgenUnionField(::core::marker::PhantomData)
1051 }
1052 #[inline]
1053 pub unsafe fn as_ref(&self) -> &T {
1054 ::core::mem::transmute(self)
1055 }
1056 #[inline]
1057 pub unsafe fn as_mut(&mut self) -> &mut T {
1058 ::core::mem::transmute(self)
1059 }
1060 }
1061 impl<T> ::core::default::Default for __BindgenUnionField<T> {
1062 #[inline]
1063 fn default() -> Self {
1064 Self::new()
1065 }
1066 }
1067 impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
1068 #[inline]
1069 fn clone(&self) -> Self {
1070 Self::new()
1071 }
1072 }
1073 impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
1074 impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
1075 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1076 fmt.write_str("__BindgenUnionField")
1077 }
1078 }
1079 impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
1080 fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
1081 }
1082 impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
1083 fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
1084 true
1085 }
1086 }
1087 impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}