linux_raw_sys/x86_64/
btrfs.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub 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_old_uid_t = crate::ctypes::c_ushort;
14pub type __kernel_old_gid_t = crate::ctypes::c_ushort;
15pub type __kernel_old_dev_t = crate::ctypes::c_ulong;
16pub type __kernel_long_t = crate::ctypes::c_long;
17pub type __kernel_ulong_t = crate::ctypes::c_ulong;
18pub type __kernel_ino_t = __kernel_ulong_t;
19pub type __kernel_mode_t = crate::ctypes::c_uint;
20pub type __kernel_pid_t = crate::ctypes::c_int;
21pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
22pub type __kernel_uid_t = crate::ctypes::c_uint;
23pub type __kernel_gid_t = crate::ctypes::c_uint;
24pub type __kernel_suseconds_t = __kernel_long_t;
25pub type __kernel_daddr_t = crate::ctypes::c_int;
26pub type __kernel_uid32_t = crate::ctypes::c_uint;
27pub type __kernel_gid32_t = crate::ctypes::c_uint;
28pub type __kernel_size_t = __kernel_ulong_t;
29pub type __kernel_ssize_t = __kernel_long_t;
30pub type __kernel_ptrdiff_t = __kernel_long_t;
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 __s128 = i128;
43pub type __u128 = u128;
44pub type __le16 = __u16;
45pub type __be16 = __u16;
46pub type __le32 = __u32;
47pub type __be32 = __u32;
48pub type __le64 = __u64;
49pub type __be64 = __u64;
50pub type __sum16 = __u16;
51pub type __wsum = __u32;
52pub type __poll_t = crate::ctypes::c_uint;
53pub type __kernel_rwf_t = crate::ctypes::c_int;
54#[repr(C)]
55#[derive(Default)]
56pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
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 btrfs_ioctl_vol_args {
324pub fd: __s64,
325pub name: [crate::ctypes::c_char; 4088usize],
326}
327#[repr(C)]
328#[derive(Debug, Copy, Clone)]
329pub struct btrfs_qgroup_limit {
330pub flags: __u64,
331pub max_rfer: __u64,
332pub max_excl: __u64,
333pub rsv_rfer: __u64,
334pub rsv_excl: __u64,
335}
336#[repr(C)]
337#[derive(Debug)]
338pub struct btrfs_qgroup_inherit {
339pub flags: __u64,
340pub num_qgroups: __u64,
341pub num_ref_copies: __u64,
342pub num_excl_copies: __u64,
343pub lim: btrfs_qgroup_limit,
344pub qgroups: __IncompleteArrayField<__u64>,
345}
346#[repr(C)]
347#[derive(Debug, Copy, Clone)]
348pub struct btrfs_ioctl_qgroup_limit_args {
349pub qgroupid: __u64,
350pub lim: btrfs_qgroup_limit,
351}
352#[repr(C)]
353#[derive(Copy, Clone)]
354pub struct btrfs_ioctl_vol_args_v2 {
355pub fd: __s64,
356pub transid: __u64,
357pub flags: __u64,
358pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1,
359pub __bindgen_anon_2: btrfs_ioctl_vol_args_v2__bindgen_ty_2,
360}
361#[repr(C)]
362#[derive(Debug, Copy, Clone)]
363pub struct btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1 {
364pub size: __u64,
365pub qgroup_inherit: *mut btrfs_qgroup_inherit,
366}
367#[repr(C)]
368#[derive(Debug, Copy, Clone)]
369pub struct btrfs_scrub_progress {
370pub data_extents_scrubbed: __u64,
371pub tree_extents_scrubbed: __u64,
372pub data_bytes_scrubbed: __u64,
373pub tree_bytes_scrubbed: __u64,
374pub read_errors: __u64,
375pub csum_errors: __u64,
376pub verify_errors: __u64,
377pub no_csum: __u64,
378pub csum_discards: __u64,
379pub super_errors: __u64,
380pub malloc_errors: __u64,
381pub uncorrectable_errors: __u64,
382pub corrected_errors: __u64,
383pub last_physical: __u64,
384pub unverified_errors: __u64,
385}
386#[repr(C)]
387#[derive(Debug, Copy, Clone)]
388pub struct btrfs_ioctl_scrub_args {
389pub devid: __u64,
390pub start: __u64,
391pub end: __u64,
392pub flags: __u64,
393pub progress: btrfs_scrub_progress,
394pub unused: [__u64; 109usize],
395}
396#[repr(C)]
397#[derive(Debug, Copy, Clone)]
398pub struct btrfs_ioctl_dev_replace_start_params {
399pub srcdevid: __u64,
400pub cont_reading_from_srcdev_mode: __u64,
401pub srcdev_name: [__u8; 1025usize],
402pub tgtdev_name: [__u8; 1025usize],
403}
404#[repr(C)]
405#[derive(Debug, Copy, Clone)]
406pub struct btrfs_ioctl_dev_replace_status_params {
407pub replace_state: __u64,
408pub progress_1000: __u64,
409pub time_started: __u64,
410pub time_stopped: __u64,
411pub num_write_errors: __u64,
412pub num_uncorrectable_read_errors: __u64,
413}
414#[repr(C)]
415#[derive(Copy, Clone)]
416pub struct btrfs_ioctl_dev_replace_args {
417pub cmd: __u64,
418pub result: __u64,
419pub __bindgen_anon_1: btrfs_ioctl_dev_replace_args__bindgen_ty_1,
420pub spare: [__u64; 64usize],
421}
422#[repr(C)]
423#[derive(Debug, Copy, Clone)]
424pub struct btrfs_ioctl_dev_info_args {
425pub devid: __u64,
426pub uuid: [__u8; 16usize],
427pub bytes_used: __u64,
428pub total_bytes: __u64,
429pub fsid: [__u8; 16usize],
430pub unused: [__u64; 377usize],
431pub path: [__u8; 1024usize],
432}
433#[repr(C)]
434#[derive(Debug, Copy, Clone)]
435pub struct btrfs_ioctl_fs_info_args {
436pub max_id: __u64,
437pub num_devices: __u64,
438pub fsid: [__u8; 16usize],
439pub nodesize: __u32,
440pub sectorsize: __u32,
441pub clone_alignment: __u32,
442pub csum_type: __u16,
443pub csum_size: __u16,
444pub flags: __u64,
445pub generation: __u64,
446pub metadata_uuid: [__u8; 16usize],
447pub reserved: [__u8; 944usize],
448}
449#[repr(C)]
450#[derive(Debug, Copy, Clone)]
451pub struct btrfs_ioctl_feature_flags {
452pub compat_flags: __u64,
453pub compat_ro_flags: __u64,
454pub incompat_flags: __u64,
455}
456#[repr(C, packed)]
457#[derive(Copy, Clone)]
458pub struct btrfs_balance_args {
459pub profiles: __u64,
460pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1,
461pub devid: __u64,
462pub pstart: __u64,
463pub pend: __u64,
464pub vstart: __u64,
465pub vend: __u64,
466pub target: __u64,
467pub flags: __u64,
468pub __bindgen_anon_2: btrfs_balance_args__bindgen_ty_2,
469pub stripes_min: __u32,
470pub stripes_max: __u32,
471pub unused: [__u64; 6usize],
472}
473#[repr(C)]
474#[derive(Debug, Copy, Clone)]
475pub struct btrfs_balance_args__bindgen_ty_1__bindgen_ty_1 {
476pub usage_min: __u32,
477pub usage_max: __u32,
478}
479#[repr(C)]
480#[derive(Debug, Copy, Clone)]
481pub struct btrfs_balance_args__bindgen_ty_2__bindgen_ty_1 {
482pub limit_min: __u32,
483pub limit_max: __u32,
484}
485#[repr(C)]
486#[derive(Debug, Copy, Clone)]
487pub struct btrfs_balance_progress {
488pub expected: __u64,
489pub considered: __u64,
490pub completed: __u64,
491}
492#[repr(C)]
493#[derive(Copy, Clone)]
494pub struct btrfs_ioctl_balance_args {
495pub flags: __u64,
496pub state: __u64,
497pub data: btrfs_balance_args,
498pub meta: btrfs_balance_args,
499pub sys: btrfs_balance_args,
500pub stat: btrfs_balance_progress,
501pub unused: [__u64; 72usize],
502}
503#[repr(C)]
504#[derive(Debug, Copy, Clone)]
505pub struct btrfs_ioctl_ino_lookup_args {
506pub treeid: __u64,
507pub objectid: __u64,
508pub name: [crate::ctypes::c_char; 4080usize],
509}
510#[repr(C)]
511#[derive(Debug, Copy, Clone)]
512pub struct btrfs_ioctl_ino_lookup_user_args {
513pub dirid: __u64,
514pub treeid: __u64,
515pub name: [crate::ctypes::c_char; 256usize],
516pub path: [crate::ctypes::c_char; 3824usize],
517}
518#[repr(C)]
519#[derive(Debug, Copy, Clone)]
520pub struct btrfs_ioctl_search_key {
521pub tree_id: __u64,
522pub min_objectid: __u64,
523pub max_objectid: __u64,
524pub min_offset: __u64,
525pub max_offset: __u64,
526pub min_transid: __u64,
527pub max_transid: __u64,
528pub min_type: __u32,
529pub max_type: __u32,
530pub nr_items: __u32,
531pub unused: __u32,
532pub unused1: __u64,
533pub unused2: __u64,
534pub unused3: __u64,
535pub unused4: __u64,
536}
537#[repr(C)]
538#[derive(Debug, Copy, Clone)]
539pub struct btrfs_ioctl_search_header {
540pub transid: __u64,
541pub objectid: __u64,
542pub offset: __u64,
543pub type_: __u32,
544pub len: __u32,
545}
546#[repr(C)]
547#[derive(Debug, Copy, Clone)]
548pub struct btrfs_ioctl_search_args {
549pub key: btrfs_ioctl_search_key,
550pub buf: [crate::ctypes::c_char; 3992usize],
551}
552#[repr(C)]
553#[derive(Debug)]
554pub struct btrfs_ioctl_search_args_v2 {
555pub key: btrfs_ioctl_search_key,
556pub buf_size: __u64,
557pub buf: __IncompleteArrayField<__u64>,
558}
559#[repr(C)]
560#[derive(Debug, Copy, Clone)]
561pub struct btrfs_ioctl_clone_range_args {
562pub src_fd: __s64,
563pub src_offset: __u64,
564pub src_length: __u64,
565pub dest_offset: __u64,
566}
567#[repr(C)]
568#[derive(Copy, Clone)]
569pub struct btrfs_ioctl_defrag_range_args {
570pub start: __u64,
571pub len: __u64,
572pub flags: __u64,
573pub extent_thresh: __u32,
574pub __bindgen_anon_1: btrfs_ioctl_defrag_range_args__bindgen_ty_1,
575pub unused: [__u32; 4usize],
576}
577#[repr(C)]
578#[derive(Debug, Copy, Clone)]
579pub struct btrfs_ioctl_defrag_range_args__bindgen_ty_1__bindgen_ty_1 {
580pub type_: __u8,
581pub level: __s8,
582}
583#[repr(C)]
584#[derive(Debug, Copy, Clone)]
585pub struct btrfs_ioctl_same_extent_info {
586pub fd: __s64,
587pub logical_offset: __u64,
588pub bytes_deduped: __u64,
589pub status: __s32,
590pub reserved: __u32,
591}
592#[repr(C)]
593#[derive(Debug)]
594pub struct btrfs_ioctl_same_args {
595pub logical_offset: __u64,
596pub length: __u64,
597pub dest_count: __u16,
598pub reserved1: __u16,
599pub reserved2: __u32,
600pub info: __IncompleteArrayField<btrfs_ioctl_same_extent_info>,
601}
602#[repr(C)]
603#[derive(Debug, Copy, Clone)]
604pub struct btrfs_ioctl_space_info {
605pub flags: __u64,
606pub total_bytes: __u64,
607pub used_bytes: __u64,
608}
609#[repr(C)]
610#[derive(Debug)]
611pub struct btrfs_ioctl_space_args {
612pub space_slots: __u64,
613pub total_spaces: __u64,
614pub spaces: __IncompleteArrayField<btrfs_ioctl_space_info>,
615}
616#[repr(C)]
617#[derive(Debug)]
618pub struct btrfs_data_container {
619pub bytes_left: __u32,
620pub bytes_missing: __u32,
621pub elem_cnt: __u32,
622pub elem_missed: __u32,
623pub val: __IncompleteArrayField<__u64>,
624}
625#[repr(C)]
626#[derive(Debug, Copy, Clone)]
627pub struct btrfs_ioctl_ino_path_args {
628pub inum: __u64,
629pub size: __u64,
630pub reserved: [__u64; 4usize],
631pub fspath: __u64,
632}
633#[repr(C)]
634#[derive(Debug, Copy, Clone)]
635pub struct btrfs_ioctl_logical_ino_args {
636pub logical: __u64,
637pub size: __u64,
638pub reserved: [__u64; 3usize],
639pub flags: __u64,
640pub inodes: __u64,
641}
642#[repr(C)]
643#[derive(Debug, Copy, Clone)]
644pub struct btrfs_ioctl_get_dev_stats {
645pub devid: __u64,
646pub nr_items: __u64,
647pub flags: __u64,
648pub values: [__u64; 5usize],
649pub unused: [__u64; 121usize],
650}
651#[repr(C)]
652#[derive(Debug, Copy, Clone)]
653pub struct btrfs_ioctl_quota_ctl_args {
654pub cmd: __u64,
655pub status: __u64,
656}
657#[repr(C)]
658#[derive(Debug, Copy, Clone)]
659pub struct btrfs_ioctl_quota_rescan_args {
660pub flags: __u64,
661pub progress: __u64,
662pub reserved: [__u64; 6usize],
663}
664#[repr(C)]
665#[derive(Debug, Copy, Clone)]
666pub struct btrfs_ioctl_qgroup_assign_args {
667pub assign: __u64,
668pub src: __u64,
669pub dst: __u64,
670}
671#[repr(C)]
672#[derive(Debug, Copy, Clone)]
673pub struct btrfs_ioctl_qgroup_create_args {
674pub create: __u64,
675pub qgroupid: __u64,
676}
677#[repr(C)]
678#[derive(Debug, Copy, Clone)]
679pub struct btrfs_ioctl_timespec {
680pub sec: __u64,
681pub nsec: __u32,
682}
683#[repr(C)]
684#[derive(Debug, Copy, Clone)]
685pub struct btrfs_ioctl_received_subvol_args {
686pub uuid: [crate::ctypes::c_char; 16usize],
687pub stransid: __u64,
688pub rtransid: __u64,
689pub stime: btrfs_ioctl_timespec,
690pub rtime: btrfs_ioctl_timespec,
691pub flags: __u64,
692pub reserved: [__u64; 16usize],
693}
694#[repr(C)]
695#[derive(Debug, Copy, Clone)]
696pub struct btrfs_ioctl_send_args {
697pub send_fd: __s64,
698pub clone_sources_count: __u64,
699pub clone_sources: *mut __u64,
700pub parent_root: __u64,
701pub flags: __u64,
702pub version: __u32,
703pub reserved: [__u8; 28usize],
704}
705#[repr(C)]
706#[derive(Debug, Copy, Clone)]
707pub struct btrfs_ioctl_get_subvol_info_args {
708pub treeid: __u64,
709pub name: [crate::ctypes::c_char; 256usize],
710pub parent_id: __u64,
711pub dirid: __u64,
712pub generation: __u64,
713pub flags: __u64,
714pub uuid: [__u8; 16usize],
715pub parent_uuid: [__u8; 16usize],
716pub received_uuid: [__u8; 16usize],
717pub ctransid: __u64,
718pub otransid: __u64,
719pub stransid: __u64,
720pub rtransid: __u64,
721pub ctime: btrfs_ioctl_timespec,
722pub otime: btrfs_ioctl_timespec,
723pub stime: btrfs_ioctl_timespec,
724pub rtime: btrfs_ioctl_timespec,
725pub reserved: [__u64; 8usize],
726}
727#[repr(C)]
728#[derive(Debug, Copy, Clone)]
729pub struct btrfs_ioctl_get_subvol_rootref_args {
730pub min_treeid: __u64,
731pub rootref: [btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1; 255usize],
732pub num_items: __u8,
733pub align: [__u8; 7usize],
734}
735#[repr(C)]
736#[derive(Debug, Copy, Clone)]
737pub struct btrfs_ioctl_get_subvol_rootref_args__bindgen_ty_1 {
738pub treeid: __u64,
739pub dirid: __u64,
740}
741#[repr(C)]
742#[derive(Debug, Copy, Clone)]
743pub struct btrfs_ioctl_encoded_io_args {
744pub iov: *const iovec,
745pub iovcnt: crate::ctypes::c_ulong,
746pub offset: __s64,
747pub flags: __u64,
748pub len: __u64,
749pub unencoded_len: __u64,
750pub unencoded_offset: __u64,
751pub compression: __u32,
752pub encryption: __u32,
753pub reserved: [__u8; 64usize],
754}
755#[repr(C)]
756#[derive(Debug, Copy, Clone)]
757pub struct btrfs_ioctl_subvol_wait {
758pub subvolid: __u64,
759pub mode: __u32,
760pub count: __u32,
761}
762#[repr(C, packed)]
763#[derive(Debug, Copy, Clone)]
764pub struct btrfs_disk_key {
765pub objectid: __le64,
766pub type_: __u8,
767pub offset: __le64,
768}
769#[repr(C, packed)]
770#[derive(Debug, Copy, Clone)]
771pub struct btrfs_key {
772pub objectid: __u64,
773pub type_: __u8,
774pub offset: __u64,
775}
776#[repr(C, packed)]
777#[derive(Debug, Copy, Clone)]
778pub struct btrfs_header {
779pub csum: [__u8; 32usize],
780pub fsid: [__u8; 16usize],
781pub bytenr: __le64,
782pub flags: __le64,
783pub chunk_tree_uuid: [__u8; 16usize],
784pub generation: __le64,
785pub owner: __le64,
786pub nritems: __le32,
787pub level: __u8,
788}
789#[repr(C, packed)]
790#[derive(Debug, Copy, Clone)]
791pub struct btrfs_root_backup {
792pub tree_root: __le64,
793pub tree_root_gen: __le64,
794pub chunk_root: __le64,
795pub chunk_root_gen: __le64,
796pub extent_root: __le64,
797pub extent_root_gen: __le64,
798pub fs_root: __le64,
799pub fs_root_gen: __le64,
800pub dev_root: __le64,
801pub dev_root_gen: __le64,
802pub csum_root: __le64,
803pub csum_root_gen: __le64,
804pub total_bytes: __le64,
805pub bytes_used: __le64,
806pub num_devices: __le64,
807pub unused_64: [__le64; 4usize],
808pub tree_root_level: __u8,
809pub chunk_root_level: __u8,
810pub extent_root_level: __u8,
811pub fs_root_level: __u8,
812pub dev_root_level: __u8,
813pub csum_root_level: __u8,
814pub unused_8: [__u8; 10usize],
815}
816#[repr(C, packed)]
817#[derive(Debug, Copy, Clone)]
818pub struct btrfs_item {
819pub key: btrfs_disk_key,
820pub offset: __le32,
821pub size: __le32,
822}
823#[repr(C, packed)]
824pub struct btrfs_leaf {
825pub header: btrfs_header,
826pub items: __IncompleteArrayField<btrfs_item>,
827}
828#[repr(C, packed)]
829#[derive(Debug, Copy, Clone)]
830pub struct btrfs_key_ptr {
831pub key: btrfs_disk_key,
832pub blockptr: __le64,
833pub generation: __le64,
834}
835#[repr(C, packed)]
836pub struct btrfs_node {
837pub header: btrfs_header,
838pub ptrs: __IncompleteArrayField<btrfs_key_ptr>,
839}
840#[repr(C, packed)]
841#[derive(Debug, Copy, Clone)]
842pub struct btrfs_dev_item {
843pub devid: __le64,
844pub total_bytes: __le64,
845pub bytes_used: __le64,
846pub io_align: __le32,
847pub io_width: __le32,
848pub sector_size: __le32,
849pub type_: __le64,
850pub generation: __le64,
851pub start_offset: __le64,
852pub dev_group: __le32,
853pub seek_speed: __u8,
854pub bandwidth: __u8,
855pub uuid: [__u8; 16usize],
856pub fsid: [__u8; 16usize],
857}
858#[repr(C, packed)]
859#[derive(Debug, Copy, Clone)]
860pub struct btrfs_stripe {
861pub devid: __le64,
862pub offset: __le64,
863pub dev_uuid: [__u8; 16usize],
864}
865#[repr(C, packed)]
866#[derive(Debug, Copy, Clone)]
867pub struct btrfs_chunk {
868pub length: __le64,
869pub owner: __le64,
870pub stripe_len: __le64,
871pub type_: __le64,
872pub io_align: __le32,
873pub io_width: __le32,
874pub sector_size: __le32,
875pub num_stripes: __le16,
876pub sub_stripes: __le16,
877pub stripe: btrfs_stripe,
878}
879#[repr(C, packed)]
880#[derive(Debug, Copy, Clone)]
881pub struct btrfs_super_block {
882pub csum: [__u8; 32usize],
883pub fsid: [__u8; 16usize],
884pub bytenr: __le64,
885pub flags: __le64,
886pub magic: __le64,
887pub generation: __le64,
888pub root: __le64,
889pub chunk_root: __le64,
890pub log_root: __le64,
891pub __unused_log_root_transid: __le64,
892pub total_bytes: __le64,
893pub bytes_used: __le64,
894pub root_dir_objectid: __le64,
895pub num_devices: __le64,
896pub sectorsize: __le32,
897pub nodesize: __le32,
898pub __unused_leafsize: __le32,
899pub stripesize: __le32,
900pub sys_chunk_array_size: __le32,
901pub chunk_root_generation: __le64,
902pub compat_flags: __le64,
903pub compat_ro_flags: __le64,
904pub incompat_flags: __le64,
905pub csum_type: __le16,
906pub root_level: __u8,
907pub chunk_root_level: __u8,
908pub log_root_level: __u8,
909pub dev_item: btrfs_dev_item,
910pub label: [crate::ctypes::c_char; 256usize],
911pub cache_generation: __le64,
912pub uuid_tree_generation: __le64,
913pub metadata_uuid: [__u8; 16usize],
914pub nr_global_roots: __u64,
915pub reserved: [__le64; 27usize],
916pub sys_chunk_array: [__u8; 2048usize],
917pub super_roots: [btrfs_root_backup; 4usize],
918pub padding: [__u8; 565usize],
919}
920#[repr(C, packed)]
921#[derive(Debug, Copy, Clone)]
922pub struct btrfs_free_space_entry {
923pub offset: __le64,
924pub bytes: __le64,
925pub type_: __u8,
926}
927#[repr(C, packed)]
928#[derive(Debug, Copy, Clone)]
929pub struct btrfs_free_space_header {
930pub location: btrfs_disk_key,
931pub generation: __le64,
932pub num_entries: __le64,
933pub num_bitmaps: __le64,
934}
935#[repr(C, packed)]
936#[derive(Debug, Copy, Clone)]
937pub struct btrfs_raid_stride {
938pub devid: __le64,
939pub physical: __le64,
940}
941#[repr(C, packed)]
942pub struct btrfs_stripe_extent {
943pub __bindgen_anon_1: btrfs_stripe_extent__bindgen_ty_1,
944}
945#[repr(C)]
946#[derive(Debug)]
947pub struct btrfs_stripe_extent__bindgen_ty_1 {
948pub __empty_strides: btrfs_stripe_extent__bindgen_ty_1__bindgen_ty_1,
949pub strides: __IncompleteArrayField<btrfs_raid_stride>,
950}
951#[repr(C)]
952#[derive(Debug, Copy, Clone)]
953pub struct btrfs_stripe_extent__bindgen_ty_1__bindgen_ty_1 {}
954#[repr(C, packed)]
955#[derive(Debug, Copy, Clone)]
956pub struct btrfs_extent_item {
957pub refs: __le64,
958pub generation: __le64,
959pub flags: __le64,
960}
961#[repr(C, packed)]
962#[derive(Debug, Copy, Clone)]
963pub struct btrfs_extent_item_v0 {
964pub refs: __le32,
965}
966#[repr(C, packed)]
967#[derive(Debug, Copy, Clone)]
968pub struct btrfs_tree_block_info {
969pub key: btrfs_disk_key,
970pub level: __u8,
971}
972#[repr(C, packed)]
973#[derive(Debug, Copy, Clone)]
974pub struct btrfs_extent_data_ref {
975pub root: __le64,
976pub objectid: __le64,
977pub offset: __le64,
978pub count: __le32,
979}
980#[repr(C, packed)]
981#[derive(Debug, Copy, Clone)]
982pub struct btrfs_shared_data_ref {
983pub count: __le32,
984}
985#[repr(C, packed)]
986#[derive(Debug, Copy, Clone)]
987pub struct btrfs_extent_owner_ref {
988pub root_id: __le64,
989}
990#[repr(C, packed)]
991#[derive(Debug, Copy, Clone)]
992pub struct btrfs_extent_inline_ref {
993pub type_: __u8,
994pub offset: __le64,
995}
996#[repr(C, packed)]
997#[derive(Debug, Copy, Clone)]
998pub struct btrfs_dev_extent {
999pub chunk_tree: __le64,
1000pub chunk_objectid: __le64,
1001pub chunk_offset: __le64,
1002pub length: __le64,
1003pub chunk_tree_uuid: [__u8; 16usize],
1004}
1005#[repr(C, packed)]
1006#[derive(Debug, Copy, Clone)]
1007pub struct btrfs_inode_ref {
1008pub index: __le64,
1009pub name_len: __le16,
1010}
1011#[repr(C, packed)]
1012pub struct btrfs_inode_extref {
1013pub parent_objectid: __le64,
1014pub index: __le64,
1015pub name_len: __le16,
1016pub name: __IncompleteArrayField<__u8>,
1017}
1018#[repr(C, packed)]
1019#[derive(Debug, Copy, Clone)]
1020pub struct btrfs_timespec {
1021pub sec: __le64,
1022pub nsec: __le32,
1023}
1024#[repr(C, packed)]
1025#[derive(Debug, Copy, Clone)]
1026pub struct btrfs_inode_item {
1027pub generation: __le64,
1028pub transid: __le64,
1029pub size: __le64,
1030pub nbytes: __le64,
1031pub block_group: __le64,
1032pub nlink: __le32,
1033pub uid: __le32,
1034pub gid: __le32,
1035pub mode: __le32,
1036pub rdev: __le64,
1037pub flags: __le64,
1038pub sequence: __le64,
1039pub reserved: [__le64; 4usize],
1040pub atime: btrfs_timespec,
1041pub ctime: btrfs_timespec,
1042pub mtime: btrfs_timespec,
1043pub otime: btrfs_timespec,
1044}
1045#[repr(C, packed)]
1046#[derive(Debug, Copy, Clone)]
1047pub struct btrfs_dir_log_item {
1048pub end: __le64,
1049}
1050#[repr(C, packed)]
1051#[derive(Debug, Copy, Clone)]
1052pub struct btrfs_dir_item {
1053pub location: btrfs_disk_key,
1054pub transid: __le64,
1055pub data_len: __le16,
1056pub name_len: __le16,
1057pub type_: __u8,
1058}
1059#[repr(C, packed)]
1060#[derive(Debug, Copy, Clone)]
1061pub struct btrfs_root_item {
1062pub inode: btrfs_inode_item,
1063pub generation: __le64,
1064pub root_dirid: __le64,
1065pub bytenr: __le64,
1066pub byte_limit: __le64,
1067pub bytes_used: __le64,
1068pub last_snapshot: __le64,
1069pub flags: __le64,
1070pub refs: __le32,
1071pub drop_progress: btrfs_disk_key,
1072pub drop_level: __u8,
1073pub level: __u8,
1074pub generation_v2: __le64,
1075pub uuid: [__u8; 16usize],
1076pub parent_uuid: [__u8; 16usize],
1077pub received_uuid: [__u8; 16usize],
1078pub ctransid: __le64,
1079pub otransid: __le64,
1080pub stransid: __le64,
1081pub rtransid: __le64,
1082pub ctime: btrfs_timespec,
1083pub otime: btrfs_timespec,
1084pub stime: btrfs_timespec,
1085pub rtime: btrfs_timespec,
1086pub reserved: [__le64; 8usize],
1087}
1088#[repr(C, packed)]
1089#[derive(Debug, Copy, Clone)]
1090pub struct btrfs_root_ref {
1091pub dirid: __le64,
1092pub sequence: __le64,
1093pub name_len: __le16,
1094}
1095#[repr(C, packed)]
1096#[derive(Copy, Clone)]
1097pub struct btrfs_disk_balance_args {
1098pub profiles: __le64,
1099pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1,
1100pub devid: __le64,
1101pub pstart: __le64,
1102pub pend: __le64,
1103pub vstart: __le64,
1104pub vend: __le64,
1105pub target: __le64,
1106pub flags: __le64,
1107pub __bindgen_anon_2: btrfs_disk_balance_args__bindgen_ty_2,
1108pub stripes_min: __le32,
1109pub stripes_max: __le32,
1110pub unused: [__le64; 6usize],
1111}
1112#[repr(C)]
1113#[derive(Debug, Copy, Clone)]
1114pub struct btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1 {
1115pub usage_min: __le32,
1116pub usage_max: __le32,
1117}
1118#[repr(C)]
1119#[derive(Debug, Copy, Clone)]
1120pub struct btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1 {
1121pub limit_min: __le32,
1122pub limit_max: __le32,
1123}
1124#[repr(C, packed)]
1125#[derive(Copy, Clone)]
1126pub struct btrfs_balance_item {
1127pub flags: __le64,
1128pub data: btrfs_disk_balance_args,
1129pub meta: btrfs_disk_balance_args,
1130pub sys: btrfs_disk_balance_args,
1131pub unused: [__le64; 4usize],
1132}
1133#[repr(C, packed)]
1134#[derive(Debug, Copy, Clone)]
1135pub struct btrfs_file_extent_item {
1136pub generation: __le64,
1137pub ram_bytes: __le64,
1138pub compression: __u8,
1139pub encryption: __u8,
1140pub other_encoding: __le16,
1141pub type_: __u8,
1142pub disk_bytenr: __le64,
1143pub disk_num_bytes: __le64,
1144pub offset: __le64,
1145pub num_bytes: __le64,
1146}
1147#[repr(C, packed)]
1148#[derive(Debug, Copy, Clone)]
1149pub struct btrfs_csum_item {
1150pub csum: __u8,
1151}
1152#[repr(C, packed)]
1153#[derive(Debug, Copy, Clone)]
1154pub struct btrfs_dev_stats_item {
1155pub values: [__le64; 5usize],
1156}
1157#[repr(C, packed)]
1158#[derive(Debug, Copy, Clone)]
1159pub struct btrfs_dev_replace_item {
1160pub src_devid: __le64,
1161pub cursor_left: __le64,
1162pub cursor_right: __le64,
1163pub cont_reading_from_srcdev_mode: __le64,
1164pub replace_state: __le64,
1165pub time_started: __le64,
1166pub time_stopped: __le64,
1167pub num_write_errors: __le64,
1168pub num_uncorrectable_read_errors: __le64,
1169}
1170#[repr(C, packed)]
1171#[derive(Debug, Copy, Clone)]
1172pub struct btrfs_block_group_item {
1173pub used: __le64,
1174pub chunk_objectid: __le64,
1175pub flags: __le64,
1176}
1177#[repr(C, packed)]
1178#[derive(Debug, Copy, Clone)]
1179pub struct btrfs_free_space_info {
1180pub extent_count: __le32,
1181pub flags: __le32,
1182}
1183#[repr(C, packed)]
1184#[derive(Debug, Copy, Clone)]
1185pub struct btrfs_qgroup_status_item {
1186pub version: __le64,
1187pub generation: __le64,
1188pub flags: __le64,
1189pub rescan: __le64,
1190pub enable_gen: __le64,
1191}
1192#[repr(C, packed)]
1193#[derive(Debug, Copy, Clone)]
1194pub struct btrfs_qgroup_info_item {
1195pub generation: __le64,
1196pub rfer: __le64,
1197pub rfer_cmpr: __le64,
1198pub excl: __le64,
1199pub excl_cmpr: __le64,
1200}
1201#[repr(C, packed)]
1202#[derive(Debug, Copy, Clone)]
1203pub struct btrfs_qgroup_limit_item {
1204pub flags: __le64,
1205pub max_rfer: __le64,
1206pub max_excl: __le64,
1207pub rsv_rfer: __le64,
1208pub rsv_excl: __le64,
1209}
1210#[repr(C, packed)]
1211#[derive(Debug, Copy, Clone)]
1212pub struct btrfs_verity_descriptor_item {
1213pub size: __le64,
1214pub reserved: [__le64; 2usize],
1215pub encryption: __u8,
1216}
1217#[repr(C)]
1218#[derive(Debug, Copy, Clone)]
1219pub struct iovec {
1220pub _address: u8,
1221}
1222pub const __BITS_PER_LONG_LONG: u32 = 64;
1223pub const _IOC_NRBITS: u32 = 8;
1224pub const _IOC_TYPEBITS: u32 = 8;
1225pub const _IOC_SIZEBITS: u32 = 14;
1226pub const _IOC_DIRBITS: u32 = 2;
1227pub const _IOC_NRMASK: u32 = 255;
1228pub const _IOC_TYPEMASK: u32 = 255;
1229pub const _IOC_SIZEMASK: u32 = 16383;
1230pub const _IOC_DIRMASK: u32 = 3;
1231pub const _IOC_NRSHIFT: u32 = 0;
1232pub const _IOC_TYPESHIFT: u32 = 8;
1233pub const _IOC_SIZESHIFT: u32 = 16;
1234pub const _IOC_DIRSHIFT: u32 = 30;
1235pub const _IOC_NONE: u32 = 0;
1236pub const _IOC_WRITE: u32 = 1;
1237pub const _IOC_READ: u32 = 2;
1238pub const IOC_IN: u32 = 1073741824;
1239pub const IOC_OUT: u32 = 2147483648;
1240pub const IOC_INOUT: u32 = 3221225472;
1241pub const IOCSIZE_MASK: u32 = 1073676288;
1242pub const IOCSIZE_SHIFT: u32 = 16;
1243pub const NR_OPEN: u32 = 1024;
1244pub const NGROUPS_MAX: u32 = 65536;
1245pub const ARG_MAX: u32 = 131072;
1246pub const LINK_MAX: u32 = 127;
1247pub const MAX_CANON: u32 = 255;
1248pub const MAX_INPUT: u32 = 255;
1249pub const NAME_MAX: u32 = 255;
1250pub const PATH_MAX: u32 = 4096;
1251pub const PIPE_BUF: u32 = 4096;
1252pub const XATTR_NAME_MAX: u32 = 255;
1253pub const XATTR_SIZE_MAX: u32 = 65536;
1254pub const XATTR_LIST_MAX: u32 = 65536;
1255pub const RTSIG_MAX: u32 = 32;
1256pub const FSCRYPT_POLICY_FLAGS_PAD_4: u32 = 0;
1257pub const FSCRYPT_POLICY_FLAGS_PAD_8: u32 = 1;
1258pub const FSCRYPT_POLICY_FLAGS_PAD_16: u32 = 2;
1259pub const FSCRYPT_POLICY_FLAGS_PAD_32: u32 = 3;
1260pub const FSCRYPT_POLICY_FLAGS_PAD_MASK: u32 = 3;
1261pub const FSCRYPT_POLICY_FLAG_DIRECT_KEY: u32 = 4;
1262pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64: u32 = 8;
1263pub const FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32: u32 = 16;
1264pub const FSCRYPT_MODE_AES_256_XTS: u32 = 1;
1265pub const FSCRYPT_MODE_AES_256_CTS: u32 = 4;
1266pub const FSCRYPT_MODE_AES_128_CBC: u32 = 5;
1267pub const FSCRYPT_MODE_AES_128_CTS: u32 = 6;
1268pub const FSCRYPT_MODE_SM4_XTS: u32 = 7;
1269pub const FSCRYPT_MODE_SM4_CTS: u32 = 8;
1270pub const FSCRYPT_MODE_ADIANTUM: u32 = 9;
1271pub const FSCRYPT_MODE_AES_256_HCTR2: u32 = 10;
1272pub const FSCRYPT_POLICY_V1: u32 = 0;
1273pub const FSCRYPT_KEY_DESCRIPTOR_SIZE: u32 = 8;
1274pub const FSCRYPT_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
1275pub const FSCRYPT_KEY_DESC_PREFIX_SIZE: u32 = 8;
1276pub const FSCRYPT_MAX_KEY_SIZE: u32 = 64;
1277pub const FSCRYPT_POLICY_V2: u32 = 2;
1278pub const FSCRYPT_KEY_IDENTIFIER_SIZE: u32 = 16;
1279pub const FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: u32 = 1;
1280pub const FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: u32 = 2;
1281pub const FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED: u32 = 1;
1282pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_FILES_BUSY: u32 = 1;
1283pub const FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS: u32 = 2;
1284pub const FSCRYPT_KEY_STATUS_ABSENT: u32 = 1;
1285pub const FSCRYPT_KEY_STATUS_PRESENT: u32 = 2;
1286pub const FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED: u32 = 3;
1287pub const FSCRYPT_KEY_STATUS_FLAG_ADDED_BY_SELF: u32 = 1;
1288pub const FS_KEY_DESCRIPTOR_SIZE: u32 = 8;
1289pub const FS_POLICY_FLAGS_PAD_4: u32 = 0;
1290pub const FS_POLICY_FLAGS_PAD_8: u32 = 1;
1291pub const FS_POLICY_FLAGS_PAD_16: u32 = 2;
1292pub const FS_POLICY_FLAGS_PAD_32: u32 = 3;
1293pub const FS_POLICY_FLAGS_PAD_MASK: u32 = 3;
1294pub const FS_POLICY_FLAG_DIRECT_KEY: u32 = 4;
1295pub const FS_POLICY_FLAGS_VALID: u32 = 7;
1296pub const FS_ENCRYPTION_MODE_INVALID: u32 = 0;
1297pub const FS_ENCRYPTION_MODE_AES_256_XTS: u32 = 1;
1298pub const FS_ENCRYPTION_MODE_AES_256_GCM: u32 = 2;
1299pub const FS_ENCRYPTION_MODE_AES_256_CBC: u32 = 3;
1300pub const FS_ENCRYPTION_MODE_AES_256_CTS: u32 = 4;
1301pub const FS_ENCRYPTION_MODE_AES_128_CBC: u32 = 5;
1302pub const FS_ENCRYPTION_MODE_AES_128_CTS: u32 = 6;
1303pub const FS_ENCRYPTION_MODE_ADIANTUM: u32 = 9;
1304pub const FS_KEY_DESC_PREFIX: &[u8; 9] = b"fscrypt:\0";
1305pub const FS_KEY_DESC_PREFIX_SIZE: u32 = 8;
1306pub const FS_MAX_KEY_SIZE: u32 = 64;
1307pub const MS_RDONLY: u32 = 1;
1308pub const MS_NOSUID: u32 = 2;
1309pub const MS_NODEV: u32 = 4;
1310pub const MS_NOEXEC: u32 = 8;
1311pub const MS_SYNCHRONOUS: u32 = 16;
1312pub const MS_REMOUNT: u32 = 32;
1313pub const MS_MANDLOCK: u32 = 64;
1314pub const MS_DIRSYNC: u32 = 128;
1315pub const MS_NOSYMFOLLOW: u32 = 256;
1316pub const MS_NOATIME: u32 = 1024;
1317pub const MS_NODIRATIME: u32 = 2048;
1318pub const MS_BIND: u32 = 4096;
1319pub const MS_MOVE: u32 = 8192;
1320pub const MS_REC: u32 = 16384;
1321pub const MS_VERBOSE: u32 = 32768;
1322pub const MS_SILENT: u32 = 32768;
1323pub const MS_POSIXACL: u32 = 65536;
1324pub const MS_UNBINDABLE: u32 = 131072;
1325pub const MS_PRIVATE: u32 = 262144;
1326pub const MS_SLAVE: u32 = 524288;
1327pub const MS_SHARED: u32 = 1048576;
1328pub const MS_RELATIME: u32 = 2097152;
1329pub const MS_KERNMOUNT: u32 = 4194304;
1330pub const MS_I_VERSION: u32 = 8388608;
1331pub const MS_STRICTATIME: u32 = 16777216;
1332pub const MS_LAZYTIME: u32 = 33554432;
1333pub const MS_SUBMOUNT: u32 = 67108864;
1334pub const MS_NOREMOTELOCK: u32 = 134217728;
1335pub const MS_NOSEC: u32 = 268435456;
1336pub const MS_BORN: u32 = 536870912;
1337pub const MS_ACTIVE: u32 = 1073741824;
1338pub const MS_NOUSER: u32 = 2147483648;
1339pub const MS_RMT_MASK: u32 = 41943121;
1340pub const MS_MGC_VAL: u32 = 3236757504;
1341pub const MS_MGC_MSK: u32 = 4294901760;
1342pub const OPEN_TREE_CLONE: u32 = 1;
1343pub const MOVE_MOUNT_F_SYMLINKS: u32 = 1;
1344pub const MOVE_MOUNT_F_AUTOMOUNTS: u32 = 2;
1345pub const MOVE_MOUNT_F_EMPTY_PATH: u32 = 4;
1346pub const MOVE_MOUNT_T_SYMLINKS: u32 = 16;
1347pub const MOVE_MOUNT_T_AUTOMOUNTS: u32 = 32;
1348pub const MOVE_MOUNT_T_EMPTY_PATH: u32 = 64;
1349pub const MOVE_MOUNT_SET_GROUP: u32 = 256;
1350pub const MOVE_MOUNT_BENEATH: u32 = 512;
1351pub const MOVE_MOUNT__MASK: u32 = 887;
1352pub const FSOPEN_CLOEXEC: u32 = 1;
1353pub const FSPICK_CLOEXEC: u32 = 1;
1354pub const FSPICK_SYMLINK_NOFOLLOW: u32 = 2;
1355pub const FSPICK_NO_AUTOMOUNT: u32 = 4;
1356pub const FSPICK_EMPTY_PATH: u32 = 8;
1357pub const FSMOUNT_CLOEXEC: u32 = 1;
1358pub const MOUNT_ATTR_RDONLY: u32 = 1;
1359pub const MOUNT_ATTR_NOSUID: u32 = 2;
1360pub const MOUNT_ATTR_NODEV: u32 = 4;
1361pub const MOUNT_ATTR_NOEXEC: u32 = 8;
1362pub const MOUNT_ATTR__ATIME: u32 = 112;
1363pub const MOUNT_ATTR_RELATIME: u32 = 0;
1364pub const MOUNT_ATTR_NOATIME: u32 = 16;
1365pub const MOUNT_ATTR_STRICTATIME: u32 = 32;
1366pub const MOUNT_ATTR_NODIRATIME: u32 = 128;
1367pub const MOUNT_ATTR_IDMAP: u32 = 1048576;
1368pub const MOUNT_ATTR_NOSYMFOLLOW: u32 = 2097152;
1369pub const MOUNT_ATTR_SIZE_VER0: u32 = 32;
1370pub const MNT_ID_REQ_SIZE_VER0: u32 = 24;
1371pub const MNT_ID_REQ_SIZE_VER1: u32 = 32;
1372pub const STATMOUNT_SB_BASIC: u32 = 1;
1373pub const STATMOUNT_MNT_BASIC: u32 = 2;
1374pub const STATMOUNT_PROPAGATE_FROM: u32 = 4;
1375pub const STATMOUNT_MNT_ROOT: u32 = 8;
1376pub const STATMOUNT_MNT_POINT: u32 = 16;
1377pub const STATMOUNT_FS_TYPE: u32 = 32;
1378pub const STATMOUNT_MNT_NS_ID: u32 = 64;
1379pub const STATMOUNT_MNT_OPTS: u32 = 128;
1380pub const STATMOUNT_FS_SUBTYPE: u32 = 256;
1381pub const STATMOUNT_SB_SOURCE: u32 = 512;
1382pub const STATMOUNT_OPT_ARRAY: u32 = 1024;
1383pub const STATMOUNT_OPT_SEC_ARRAY: u32 = 2048;
1384pub const STATMOUNT_SUPPORTED_MASK: u32 = 4096;
1385pub const STATMOUNT_MNT_UIDMAP: u32 = 8192;
1386pub const STATMOUNT_MNT_GIDMAP: u32 = 16384;
1387pub const LSMT_ROOT: i32 = -1;
1388pub const LISTMOUNT_REVERSE: u32 = 1;
1389pub const INR_OPEN_CUR: u32 = 1024;
1390pub const INR_OPEN_MAX: u32 = 4096;
1391pub const BLOCK_SIZE_BITS: u32 = 10;
1392pub const BLOCK_SIZE: u32 = 1024;
1393pub const IO_INTEGRITY_CHK_GUARD: u32 = 1;
1394pub const IO_INTEGRITY_CHK_REFTAG: u32 = 2;
1395pub const IO_INTEGRITY_CHK_APPTAG: u32 = 4;
1396pub const IO_INTEGRITY_VALID_FLAGS: u32 = 7;
1397pub const SEEK_SET: u32 = 0;
1398pub const SEEK_CUR: u32 = 1;
1399pub const SEEK_END: u32 = 2;
1400pub const SEEK_DATA: u32 = 3;
1401pub const SEEK_HOLE: u32 = 4;
1402pub const SEEK_MAX: u32 = 4;
1403pub const RENAME_NOREPLACE: u32 = 1;
1404pub const RENAME_EXCHANGE: u32 = 2;
1405pub const RENAME_WHITEOUT: u32 = 4;
1406pub const LBMD_PI_CAP_INTEGRITY: u32 = 1;
1407pub const LBMD_PI_CAP_REFTAG: u32 = 2;
1408pub const LBMD_PI_CSUM_NONE: u32 = 0;
1409pub const LBMD_PI_CSUM_IP: u32 = 1;
1410pub const LBMD_PI_CSUM_CRC16_T10DIF: u32 = 2;
1411pub const LBMD_PI_CSUM_CRC64_NVME: u32 = 4;
1412pub const LBMD_SIZE_VER0: u32 = 16;
1413pub const FILE_DEDUPE_RANGE_SAME: u32 = 0;
1414pub const FILE_DEDUPE_RANGE_DIFFERS: u32 = 1;
1415pub const NR_FILE: u32 = 8192;
1416pub const FILE_ATTR_SIZE_VER0: u32 = 24;
1417pub const FILE_ATTR_SIZE_LATEST: u32 = 24;
1418pub const FS_XFLAG_REALTIME: u32 = 1;
1419pub const FS_XFLAG_PREALLOC: u32 = 2;
1420pub const FS_XFLAG_IMMUTABLE: u32 = 8;
1421pub const FS_XFLAG_APPEND: u32 = 16;
1422pub const FS_XFLAG_SYNC: u32 = 32;
1423pub const FS_XFLAG_NOATIME: u32 = 64;
1424pub const FS_XFLAG_NODUMP: u32 = 128;
1425pub const FS_XFLAG_RTINHERIT: u32 = 256;
1426pub const FS_XFLAG_PROJINHERIT: u32 = 512;
1427pub const FS_XFLAG_NOSYMLINKS: u32 = 1024;
1428pub const FS_XFLAG_EXTSIZE: u32 = 2048;
1429pub const FS_XFLAG_EXTSZINHERIT: u32 = 4096;
1430pub const FS_XFLAG_NODEFRAG: u32 = 8192;
1431pub const FS_XFLAG_FILESTREAM: u32 = 16384;
1432pub const FS_XFLAG_DAX: u32 = 32768;
1433pub const FS_XFLAG_COWEXTSIZE: u32 = 65536;
1434pub const FS_XFLAG_HASATTR: u32 = 2147483648;
1435pub const BMAP_IOCTL: u32 = 1;
1436pub const FSLABEL_MAX: u32 = 256;
1437pub const FS_SECRM_FL: u32 = 1;
1438pub const FS_UNRM_FL: u32 = 2;
1439pub const FS_COMPR_FL: u32 = 4;
1440pub const FS_SYNC_FL: u32 = 8;
1441pub const FS_IMMUTABLE_FL: u32 = 16;
1442pub const FS_APPEND_FL: u32 = 32;
1443pub const FS_NODUMP_FL: u32 = 64;
1444pub const FS_NOATIME_FL: u32 = 128;
1445pub const FS_DIRTY_FL: u32 = 256;
1446pub const FS_COMPRBLK_FL: u32 = 512;
1447pub const FS_NOCOMP_FL: u32 = 1024;
1448pub const FS_ENCRYPT_FL: u32 = 2048;
1449pub const FS_BTREE_FL: u32 = 4096;
1450pub const FS_INDEX_FL: u32 = 4096;
1451pub const FS_IMAGIC_FL: u32 = 8192;
1452pub const FS_JOURNAL_DATA_FL: u32 = 16384;
1453pub const FS_NOTAIL_FL: u32 = 32768;
1454pub const FS_DIRSYNC_FL: u32 = 65536;
1455pub const FS_TOPDIR_FL: u32 = 131072;
1456pub const FS_HUGE_FILE_FL: u32 = 262144;
1457pub const FS_EXTENT_FL: u32 = 524288;
1458pub const FS_VERITY_FL: u32 = 1048576;
1459pub const FS_EA_INODE_FL: u32 = 2097152;
1460pub const FS_EOFBLOCKS_FL: u32 = 4194304;
1461pub const FS_NOCOW_FL: u32 = 8388608;
1462pub const FS_DAX_FL: u32 = 33554432;
1463pub const FS_INLINE_DATA_FL: u32 = 268435456;
1464pub const FS_PROJINHERIT_FL: u32 = 536870912;
1465pub const FS_CASEFOLD_FL: u32 = 1073741824;
1466pub const FS_RESERVED_FL: u32 = 2147483648;
1467pub const FS_FL_USER_VISIBLE: u32 = 253951;
1468pub const FS_FL_USER_MODIFIABLE: u32 = 229631;
1469pub const SYNC_FILE_RANGE_WAIT_BEFORE: u32 = 1;
1470pub const SYNC_FILE_RANGE_WRITE: u32 = 2;
1471pub const SYNC_FILE_RANGE_WAIT_AFTER: u32 = 4;
1472pub const SYNC_FILE_RANGE_WRITE_AND_WAIT: u32 = 7;
1473pub const PROCFS_IOCTL_MAGIC: u8 = 102u8;
1474pub const PAGE_IS_WPALLOWED: u32 = 1;
1475pub const PAGE_IS_WRITTEN: u32 = 2;
1476pub const PAGE_IS_FILE: u32 = 4;
1477pub const PAGE_IS_PRESENT: u32 = 8;
1478pub const PAGE_IS_SWAPPED: u32 = 16;
1479pub const PAGE_IS_PFNZERO: u32 = 32;
1480pub const PAGE_IS_HUGE: u32 = 64;
1481pub const PAGE_IS_SOFT_DIRTY: u32 = 128;
1482pub const PAGE_IS_GUARD: u32 = 256;
1483pub const PM_SCAN_WP_MATCHING: u32 = 1;
1484pub const PM_SCAN_CHECK_WPASYNC: u32 = 2;
1485pub const BTRFS_IOCTL_MAGIC: u32 = 148;
1486pub const BTRFS_VOL_NAME_MAX: u32 = 255;
1487pub const BTRFS_LABEL_SIZE: u32 = 256;
1488pub const BTRFS_PATH_NAME_MAX: u32 = 4087;
1489pub const BTRFS_DEVICE_PATH_NAME_MAX: u32 = 1024;
1490pub const BTRFS_SUBVOL_NAME_MAX: u32 = 4039;
1491pub const BTRFS_SUBVOL_CREATE_ASYNC: u32 = 1;
1492pub const BTRFS_SUBVOL_RDONLY: u32 = 2;
1493pub const BTRFS_SUBVOL_QGROUP_INHERIT: u32 = 4;
1494pub const BTRFS_DEVICE_SPEC_BY_ID: u32 = 8;
1495pub const BTRFS_SUBVOL_SPEC_BY_ID: u32 = 16;
1496pub const BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED: u32 = 30;
1497pub const BTRFS_FSID_SIZE: u32 = 16;
1498pub const BTRFS_UUID_SIZE: u32 = 16;
1499pub const BTRFS_UUID_UNPARSED_SIZE: u32 = 37;
1500pub const BTRFS_QGROUP_LIMIT_MAX_RFER: u32 = 1;
1501pub const BTRFS_QGROUP_LIMIT_MAX_EXCL: u32 = 2;
1502pub const BTRFS_QGROUP_LIMIT_RSV_RFER: u32 = 4;
1503pub const BTRFS_QGROUP_LIMIT_RSV_EXCL: u32 = 8;
1504pub const BTRFS_QGROUP_LIMIT_RFER_CMPR: u32 = 16;
1505pub const BTRFS_QGROUP_LIMIT_EXCL_CMPR: u32 = 32;
1506pub const BTRFS_QGROUP_INHERIT_SET_LIMITS: u32 = 1;
1507pub const BTRFS_QGROUP_INHERIT_FLAGS_SUPP: u32 = 1;
1508pub const BTRFS_DEVICE_REMOVE_ARGS_MASK: u32 = 8;
1509pub const BTRFS_SUBVOL_CREATE_ARGS_MASK: u32 = 6;
1510pub const BTRFS_SUBVOL_DELETE_ARGS_MASK: u32 = 16;
1511pub const BTRFS_SCRUB_READONLY: u32 = 1;
1512pub const BTRFS_SCRUB_SUPPORTED_FLAGS: u32 = 1;
1513pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0;
1514pub const BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1;
1515pub const BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED: u32 = 0;
1516pub const BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED: u32 = 1;
1517pub const BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED: u32 = 2;
1518pub const BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED: u32 = 3;
1519pub const BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED: u32 = 4;
1520pub const BTRFS_IOCTL_DEV_REPLACE_CMD_START: u32 = 0;
1521pub const BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS: u32 = 1;
1522pub const BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL: u32 = 2;
1523pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR: u32 = 0;
1524pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED: u32 = 1;
1525pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED: u32 = 2;
1526pub const BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS: u32 = 3;
1527pub const BTRFS_FS_INFO_FLAG_CSUM_INFO: u32 = 1;
1528pub const BTRFS_FS_INFO_FLAG_GENERATION: u32 = 2;
1529pub const BTRFS_FS_INFO_FLAG_METADATA_UUID: u32 = 4;
1530pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE: u32 = 1;
1531pub const BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: u32 = 2;
1532pub const BTRFS_FEATURE_COMPAT_RO_VERITY: u32 = 4;
1533pub const BTRFS_FEATURE_COMPAT_RO_BLOCK_GROUP_TREE: u32 = 8;
1534pub const BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF: u32 = 1;
1535pub const BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL: u32 = 2;
1536pub const BTRFS_FEATURE_INCOMPAT_MIXED_GROUPS: u32 = 4;
1537pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO: u32 = 8;
1538pub const BTRFS_FEATURE_INCOMPAT_COMPRESS_ZSTD: u32 = 16;
1539pub const BTRFS_FEATURE_INCOMPAT_BIG_METADATA: u32 = 32;
1540pub const BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF: u32 = 64;
1541pub const BTRFS_FEATURE_INCOMPAT_RAID56: u32 = 128;
1542pub const BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA: u32 = 256;
1543pub const BTRFS_FEATURE_INCOMPAT_NO_HOLES: u32 = 512;
1544pub const BTRFS_FEATURE_INCOMPAT_METADATA_UUID: u32 = 1024;
1545pub const BTRFS_FEATURE_INCOMPAT_RAID1C34: u32 = 2048;
1546pub const BTRFS_FEATURE_INCOMPAT_ZONED: u32 = 4096;
1547pub const BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2: u32 = 8192;
1548pub const BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE: u32 = 16384;
1549pub const BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA: u32 = 65536;
1550pub const BTRFS_BALANCE_CTL_PAUSE: u32 = 1;
1551pub const BTRFS_BALANCE_CTL_CANCEL: u32 = 2;
1552pub const BTRFS_BALANCE_DATA: u32 = 1;
1553pub const BTRFS_BALANCE_SYSTEM: u32 = 2;
1554pub const BTRFS_BALANCE_METADATA: u32 = 4;
1555pub const BTRFS_BALANCE_TYPE_MASK: u32 = 7;
1556pub const BTRFS_BALANCE_FORCE: u32 = 8;
1557pub const BTRFS_BALANCE_RESUME: u32 = 16;
1558pub const BTRFS_BALANCE_ARGS_PROFILES: u32 = 1;
1559pub const BTRFS_BALANCE_ARGS_USAGE: u32 = 2;
1560pub const BTRFS_BALANCE_ARGS_DEVID: u32 = 4;
1561pub const BTRFS_BALANCE_ARGS_DRANGE: u32 = 8;
1562pub const BTRFS_BALANCE_ARGS_VRANGE: u32 = 16;
1563pub const BTRFS_BALANCE_ARGS_LIMIT: u32 = 32;
1564pub const BTRFS_BALANCE_ARGS_LIMIT_RANGE: u32 = 64;
1565pub const BTRFS_BALANCE_ARGS_STRIPES_RANGE: u32 = 128;
1566pub const BTRFS_BALANCE_ARGS_USAGE_RANGE: u32 = 1024;
1567pub const BTRFS_BALANCE_ARGS_MASK: u32 = 1279;
1568pub const BTRFS_BALANCE_ARGS_CONVERT: u32 = 256;
1569pub const BTRFS_BALANCE_ARGS_SOFT: u32 = 512;
1570pub const BTRFS_BALANCE_STATE_RUNNING: u32 = 1;
1571pub const BTRFS_BALANCE_STATE_PAUSE_REQ: u32 = 2;
1572pub const BTRFS_BALANCE_STATE_CANCEL_REQ: u32 = 4;
1573pub const BTRFS_INO_LOOKUP_PATH_MAX: u32 = 4080;
1574pub const BTRFS_INO_LOOKUP_USER_PATH_MAX: u32 = 3824;
1575pub const BTRFS_DEFRAG_RANGE_COMPRESS: u32 = 1;
1576pub const BTRFS_DEFRAG_RANGE_START_IO: u32 = 2;
1577pub const BTRFS_DEFRAG_RANGE_COMPRESS_LEVEL: u32 = 4;
1578pub const BTRFS_DEFRAG_RANGE_NOCOMPRESS: u32 = 8;
1579pub const BTRFS_DEFRAG_RANGE_FLAGS_SUPP: u32 = 15;
1580pub const BTRFS_SAME_DATA_DIFFERS: u32 = 1;
1581pub const BTRFS_LOGICAL_INO_ARGS_IGNORE_OFFSET: u32 = 1;
1582pub const BTRFS_DEV_STATS_RESET: u32 = 1;
1583pub const BTRFS_QUOTA_CTL_ENABLE: u32 = 1;
1584pub const BTRFS_QUOTA_CTL_DISABLE: u32 = 2;
1585pub const BTRFS_QUOTA_CTL_RESCAN__NOTUSED: u32 = 3;
1586pub const BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA: u32 = 4;
1587pub const BTRFS_SEND_FLAG_NO_FILE_DATA: u32 = 1;
1588pub const BTRFS_SEND_FLAG_OMIT_STREAM_HEADER: u32 = 2;
1589pub const BTRFS_SEND_FLAG_OMIT_END_CMD: u32 = 4;
1590pub const BTRFS_SEND_FLAG_VERSION: u32 = 8;
1591pub const BTRFS_SEND_FLAG_COMPRESSED: u32 = 16;
1592pub const BTRFS_SEND_FLAG_MASK: u32 = 31;
1593pub const BTRFS_MAX_ROOTREF_BUFFER_NUM: u32 = 255;
1594pub const BTRFS_ENCODED_IO_COMPRESSION_NONE: u32 = 0;
1595pub const BTRFS_ENCODED_IO_COMPRESSION_ZLIB: u32 = 1;
1596pub const BTRFS_ENCODED_IO_COMPRESSION_ZSTD: u32 = 2;
1597pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_4K: u32 = 3;
1598pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_8K: u32 = 4;
1599pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_16K: u32 = 5;
1600pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_32K: u32 = 6;
1601pub const BTRFS_ENCODED_IO_COMPRESSION_LZO_64K: u32 = 7;
1602pub const BTRFS_ENCODED_IO_COMPRESSION_TYPES: u32 = 8;
1603pub const BTRFS_ENCODED_IO_ENCRYPTION_NONE: u32 = 0;
1604pub const BTRFS_ENCODED_IO_ENCRYPTION_TYPES: u32 = 1;
1605pub const BTRFS_SUBVOL_SYNC_WAIT_FOR_ONE: u32 = 0;
1606pub const BTRFS_SUBVOL_SYNC_WAIT_FOR_QUEUED: u32 = 1;
1607pub const BTRFS_SUBVOL_SYNC_COUNT: u32 = 2;
1608pub const BTRFS_SUBVOL_SYNC_PEEK_FIRST: u32 = 3;
1609pub const BTRFS_SUBVOL_SYNC_PEEK_LAST: u32 = 4;
1610pub const BTRFS_MAGIC: u64 = 5575266562640200287;
1611pub const BTRFS_MAX_LEVEL: u32 = 8;
1612pub const BTRFS_NAME_LEN: u32 = 255;
1613pub const BTRFS_LINK_MAX: u32 = 65535;
1614pub const BTRFS_ROOT_TREE_OBJECTID: u32 = 1;
1615pub const BTRFS_EXTENT_TREE_OBJECTID: u32 = 2;
1616pub const BTRFS_CHUNK_TREE_OBJECTID: u32 = 3;
1617pub const BTRFS_DEV_TREE_OBJECTID: u32 = 4;
1618pub const BTRFS_FS_TREE_OBJECTID: u32 = 5;
1619pub const BTRFS_ROOT_TREE_DIR_OBJECTID: u32 = 6;
1620pub const BTRFS_CSUM_TREE_OBJECTID: u32 = 7;
1621pub const BTRFS_QUOTA_TREE_OBJECTID: u32 = 8;
1622pub const BTRFS_UUID_TREE_OBJECTID: u32 = 9;
1623pub const BTRFS_FREE_SPACE_TREE_OBJECTID: u32 = 10;
1624pub const BTRFS_BLOCK_GROUP_TREE_OBJECTID: u32 = 11;
1625pub const BTRFS_RAID_STRIPE_TREE_OBJECTID: u32 = 12;
1626pub const BTRFS_DEV_STATS_OBJECTID: u32 = 0;
1627pub const BTRFS_BALANCE_OBJECTID: i32 = -4;
1628pub const BTRFS_ORPHAN_OBJECTID: i32 = -5;
1629pub const BTRFS_TREE_LOG_OBJECTID: i32 = -6;
1630pub const BTRFS_TREE_LOG_FIXUP_OBJECTID: i32 = -7;
1631pub const BTRFS_TREE_RELOC_OBJECTID: i32 = -8;
1632pub const BTRFS_DATA_RELOC_TREE_OBJECTID: i32 = -9;
1633pub const BTRFS_EXTENT_CSUM_OBJECTID: i32 = -10;
1634pub const BTRFS_FREE_SPACE_OBJECTID: i32 = -11;
1635pub const BTRFS_FREE_INO_OBJECTID: i32 = -12;
1636pub const BTRFS_MULTIPLE_OBJECTIDS: i32 = -255;
1637pub const BTRFS_FIRST_FREE_OBJECTID: u32 = 256;
1638pub const BTRFS_LAST_FREE_OBJECTID: i32 = -256;
1639pub const BTRFS_FIRST_CHUNK_TREE_OBJECTID: u32 = 256;
1640pub const BTRFS_DEV_ITEMS_OBJECTID: u32 = 1;
1641pub const BTRFS_BTREE_INODE_OBJECTID: u32 = 1;
1642pub const BTRFS_EMPTY_SUBVOL_DIR_OBJECTID: u32 = 2;
1643pub const BTRFS_DEV_REPLACE_DEVID: u32 = 0;
1644pub const BTRFS_INODE_ITEM_KEY: u32 = 1;
1645pub const BTRFS_INODE_REF_KEY: u32 = 12;
1646pub const BTRFS_INODE_EXTREF_KEY: u32 = 13;
1647pub const BTRFS_XATTR_ITEM_KEY: u32 = 24;
1648pub const BTRFS_VERITY_DESC_ITEM_KEY: u32 = 36;
1649pub const BTRFS_VERITY_MERKLE_ITEM_KEY: u32 = 37;
1650pub const BTRFS_ORPHAN_ITEM_KEY: u32 = 48;
1651pub const BTRFS_DIR_LOG_ITEM_KEY: u32 = 60;
1652pub const BTRFS_DIR_LOG_INDEX_KEY: u32 = 72;
1653pub const BTRFS_DIR_ITEM_KEY: u32 = 84;
1654pub const BTRFS_DIR_INDEX_KEY: u32 = 96;
1655pub const BTRFS_EXTENT_DATA_KEY: u32 = 108;
1656pub const BTRFS_EXTENT_CSUM_KEY: u32 = 128;
1657pub const BTRFS_ROOT_ITEM_KEY: u32 = 132;
1658pub const BTRFS_ROOT_BACKREF_KEY: u32 = 144;
1659pub const BTRFS_ROOT_REF_KEY: u32 = 156;
1660pub const BTRFS_EXTENT_ITEM_KEY: u32 = 168;
1661pub const BTRFS_METADATA_ITEM_KEY: u32 = 169;
1662pub const BTRFS_EXTENT_OWNER_REF_KEY: u32 = 172;
1663pub const BTRFS_TREE_BLOCK_REF_KEY: u32 = 176;
1664pub const BTRFS_EXTENT_DATA_REF_KEY: u32 = 178;
1665pub const BTRFS_SHARED_BLOCK_REF_KEY: u32 = 182;
1666pub const BTRFS_SHARED_DATA_REF_KEY: u32 = 184;
1667pub const BTRFS_BLOCK_GROUP_ITEM_KEY: u32 = 192;
1668pub const BTRFS_FREE_SPACE_INFO_KEY: u32 = 198;
1669pub const BTRFS_FREE_SPACE_EXTENT_KEY: u32 = 199;
1670pub const BTRFS_FREE_SPACE_BITMAP_KEY: u32 = 200;
1671pub const BTRFS_DEV_EXTENT_KEY: u32 = 204;
1672pub const BTRFS_DEV_ITEM_KEY: u32 = 216;
1673pub const BTRFS_CHUNK_ITEM_KEY: u32 = 228;
1674pub const BTRFS_RAID_STRIPE_KEY: u32 = 230;
1675pub const BTRFS_QGROUP_STATUS_KEY: u32 = 240;
1676pub const BTRFS_QGROUP_INFO_KEY: u32 = 242;
1677pub const BTRFS_QGROUP_LIMIT_KEY: u32 = 244;
1678pub const BTRFS_QGROUP_RELATION_KEY: u32 = 246;
1679pub const BTRFS_BALANCE_ITEM_KEY: u32 = 248;
1680pub const BTRFS_TEMPORARY_ITEM_KEY: u32 = 248;
1681pub const BTRFS_DEV_STATS_KEY: u32 = 249;
1682pub const BTRFS_PERSISTENT_ITEM_KEY: u32 = 249;
1683pub const BTRFS_DEV_REPLACE_KEY: u32 = 250;
1684pub const BTRFS_UUID_KEY_SUBVOL: u32 = 251;
1685pub const BTRFS_UUID_KEY_RECEIVED_SUBVOL: u32 = 252;
1686pub const BTRFS_STRING_ITEM_KEY: u32 = 253;
1687pub const BTRFS_MAX_METADATA_BLOCKSIZE: u32 = 65536;
1688pub const BTRFS_CSUM_SIZE: u32 = 32;
1689pub const BTRFS_FT_UNKNOWN: u32 = 0;
1690pub const BTRFS_FT_REG_FILE: u32 = 1;
1691pub const BTRFS_FT_DIR: u32 = 2;
1692pub const BTRFS_FT_CHRDEV: u32 = 3;
1693pub const BTRFS_FT_BLKDEV: u32 = 4;
1694pub const BTRFS_FT_FIFO: u32 = 5;
1695pub const BTRFS_FT_SOCK: u32 = 6;
1696pub const BTRFS_FT_SYMLINK: u32 = 7;
1697pub const BTRFS_FT_XATTR: u32 = 8;
1698pub const BTRFS_FT_MAX: u32 = 9;
1699pub const BTRFS_FT_ENCRYPTED: u32 = 128;
1700pub const BTRFS_INODE_NODATASUM: u32 = 1;
1701pub const BTRFS_INODE_NODATACOW: u32 = 2;
1702pub const BTRFS_INODE_READONLY: u32 = 4;
1703pub const BTRFS_INODE_NOCOMPRESS: u32 = 8;
1704pub const BTRFS_INODE_PREALLOC: u32 = 16;
1705pub const BTRFS_INODE_SYNC: u32 = 32;
1706pub const BTRFS_INODE_IMMUTABLE: u32 = 64;
1707pub const BTRFS_INODE_APPEND: u32 = 128;
1708pub const BTRFS_INODE_NODUMP: u32 = 256;
1709pub const BTRFS_INODE_NOATIME: u32 = 512;
1710pub const BTRFS_INODE_DIRSYNC: u32 = 1024;
1711pub const BTRFS_INODE_COMPRESS: u32 = 2048;
1712pub const BTRFS_INODE_ROOT_ITEM_INIT: u32 = 2147483648;
1713pub const BTRFS_INODE_FLAG_MASK: u32 = 2147487743;
1714pub const BTRFS_INODE_RO_VERITY: u32 = 1;
1715pub const BTRFS_INODE_RO_FLAG_MASK: u32 = 1;
1716pub const BTRFS_SYSTEM_CHUNK_ARRAY_SIZE: u32 = 2048;
1717pub const BTRFS_NUM_BACKUP_ROOTS: u32 = 4;
1718pub const BTRFS_FREE_SPACE_EXTENT: u32 = 1;
1719pub const BTRFS_FREE_SPACE_BITMAP: u32 = 2;
1720pub const BTRFS_HEADER_FLAG_WRITTEN: u32 = 1;
1721pub const BTRFS_HEADER_FLAG_RELOC: u32 = 2;
1722pub const BTRFS_SUPER_FLAG_ERROR: u32 = 4;
1723pub const BTRFS_SUPER_FLAG_SEEDING: u64 = 4294967296;
1724pub const BTRFS_SUPER_FLAG_METADUMP: u64 = 8589934592;
1725pub const BTRFS_SUPER_FLAG_METADUMP_V2: u64 = 17179869184;
1726pub const BTRFS_SUPER_FLAG_CHANGING_FSID: u64 = 34359738368;
1727pub const BTRFS_SUPER_FLAG_CHANGING_FSID_V2: u64 = 68719476736;
1728pub const BTRFS_SUPER_FLAG_CHANGING_BG_TREE: u64 = 274877906944;
1729pub const BTRFS_SUPER_FLAG_CHANGING_DATA_CSUM: u64 = 549755813888;
1730pub const BTRFS_SUPER_FLAG_CHANGING_META_CSUM: u64 = 1099511627776;
1731pub const BTRFS_EXTENT_FLAG_DATA: u32 = 1;
1732pub const BTRFS_EXTENT_FLAG_TREE_BLOCK: u32 = 2;
1733pub const BTRFS_BLOCK_FLAG_FULL_BACKREF: u32 = 256;
1734pub const BTRFS_BACKREF_REV_MAX: u32 = 256;
1735pub const BTRFS_BACKREF_REV_SHIFT: u32 = 56;
1736pub const BTRFS_OLD_BACKREF_REV: u32 = 0;
1737pub const BTRFS_MIXED_BACKREF_REV: u32 = 1;
1738pub const BTRFS_EXTENT_FLAG_SUPER: u64 = 281474976710656;
1739pub const BTRFS_ROOT_SUBVOL_RDONLY: u32 = 1;
1740pub const BTRFS_ROOT_SUBVOL_DEAD: u64 = 281474976710656;
1741pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_ALWAYS: u32 = 0;
1742pub const BTRFS_DEV_REPLACE_ITEM_CONT_READING_FROM_SRCDEV_MODE_AVOID: u32 = 1;
1743pub const BTRFS_BLOCK_GROUP_DATA: u32 = 1;
1744pub const BTRFS_BLOCK_GROUP_SYSTEM: u32 = 2;
1745pub const BTRFS_BLOCK_GROUP_METADATA: u32 = 4;
1746pub const BTRFS_BLOCK_GROUP_RAID0: u32 = 8;
1747pub const BTRFS_BLOCK_GROUP_RAID1: u32 = 16;
1748pub const BTRFS_BLOCK_GROUP_DUP: u32 = 32;
1749pub const BTRFS_BLOCK_GROUP_RAID10: u32 = 64;
1750pub const BTRFS_BLOCK_GROUP_RAID5: u32 = 128;
1751pub const BTRFS_BLOCK_GROUP_RAID6: u32 = 256;
1752pub const BTRFS_BLOCK_GROUP_RAID1C3: u32 = 512;
1753pub const BTRFS_BLOCK_GROUP_RAID1C4: u32 = 1024;
1754pub const BTRFS_BLOCK_GROUP_TYPE_MASK: u32 = 7;
1755pub const BTRFS_BLOCK_GROUP_PROFILE_MASK: u32 = 2040;
1756pub const BTRFS_BLOCK_GROUP_RAID56_MASK: u32 = 384;
1757pub const BTRFS_BLOCK_GROUP_RAID1_MASK: u32 = 1552;
1758pub const BTRFS_AVAIL_ALLOC_BIT_SINGLE: u64 = 281474976710656;
1759pub const BTRFS_SPACE_INFO_GLOBAL_RSV: u64 = 562949953421312;
1760pub const BTRFS_EXTENDED_PROFILE_MASK: u64 = 281474976712696;
1761pub const BTRFS_FREE_SPACE_USING_BITMAPS: u32 = 1;
1762pub const BTRFS_QGROUP_LEVEL_SHIFT: u32 = 48;
1763pub const BTRFS_QGROUP_STATUS_FLAG_ON: u32 = 1;
1764pub const BTRFS_QGROUP_STATUS_FLAG_RESCAN: u32 = 2;
1765pub const BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT: u32 = 4;
1766pub const BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE: u32 = 8;
1767pub const BTRFS_QGROUP_STATUS_FLAGS_MASK: u32 = 15;
1768pub const BTRFS_QGROUP_STATUS_VERSION: u32 = 1;
1769pub const BTRFS_FILE_EXTENT_INLINE: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_INLINE;
1770pub const BTRFS_FILE_EXTENT_REG: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_REG;
1771pub const BTRFS_FILE_EXTENT_PREALLOC: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_FILE_EXTENT_PREALLOC;
1772pub const BTRFS_NR_FILE_EXTENT_TYPES: _bindgen_ty_1 = _bindgen_ty_1::BTRFS_NR_FILE_EXTENT_TYPES;
1773#[repr(u32)]
1774#[non_exhaustive]
1775#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1776pub enum fsconfig_command {
1777FSCONFIG_SET_FLAG = 0,
1778FSCONFIG_SET_STRING = 1,
1779FSCONFIG_SET_BINARY = 2,
1780FSCONFIG_SET_PATH = 3,
1781FSCONFIG_SET_PATH_EMPTY = 4,
1782FSCONFIG_SET_FD = 5,
1783FSCONFIG_CMD_CREATE = 6,
1784FSCONFIG_CMD_RECONFIGURE = 7,
1785FSCONFIG_CMD_CREATE_EXCL = 8,
1786}
1787#[repr(u32)]
1788#[non_exhaustive]
1789#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1790pub enum procfs_ino {
1791PROCFS_ROOT_INO = 1,
1792}
1793#[repr(u32)]
1794#[non_exhaustive]
1795#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1796pub enum procmap_query_flags {
1797PROCMAP_QUERY_VMA_READABLE = 1,
1798PROCMAP_QUERY_VMA_WRITABLE = 2,
1799PROCMAP_QUERY_VMA_EXECUTABLE = 4,
1800PROCMAP_QUERY_VMA_SHARED = 8,
1801PROCMAP_QUERY_COVERING_OR_NEXT_VMA = 16,
1802PROCMAP_QUERY_FILE_BACKED_VMA = 32,
1803}
1804#[repr(u32)]
1805#[non_exhaustive]
1806#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1807pub enum btrfs_dev_stat_values {
1808BTRFS_DEV_STAT_WRITE_ERRS = 0,
1809BTRFS_DEV_STAT_READ_ERRS = 1,
1810BTRFS_DEV_STAT_FLUSH_ERRS = 2,
1811BTRFS_DEV_STAT_CORRUPTION_ERRS = 3,
1812BTRFS_DEV_STAT_GENERATION_ERRS = 4,
1813BTRFS_DEV_STAT_VALUES_MAX = 5,
1814}
1815#[repr(u32)]
1816#[non_exhaustive]
1817#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1818pub enum btrfs_err_code {
1819BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,
1820BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET = 2,
1821BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET = 3,
1822BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET = 4,
1823BTRFS_ERROR_DEV_TGT_REPLACE = 5,
1824BTRFS_ERROR_DEV_MISSING_NOT_FOUND = 6,
1825BTRFS_ERROR_DEV_ONLY_WRITABLE = 7,
1826BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS = 8,
1827BTRFS_ERROR_DEV_RAID1C3_MIN_NOT_MET = 9,
1828BTRFS_ERROR_DEV_RAID1C4_MIN_NOT_MET = 10,
1829}
1830#[repr(u32)]
1831#[non_exhaustive]
1832#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1833pub enum btrfs_csum_type {
1834BTRFS_CSUM_TYPE_CRC32 = 0,
1835BTRFS_CSUM_TYPE_XXHASH = 1,
1836BTRFS_CSUM_TYPE_SHA256 = 2,
1837BTRFS_CSUM_TYPE_BLAKE2 = 3,
1838}
1839#[repr(u32)]
1840#[non_exhaustive]
1841#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1842pub enum _bindgen_ty_1 {
1843BTRFS_FILE_EXTENT_INLINE = 0,
1844BTRFS_FILE_EXTENT_REG = 1,
1845BTRFS_FILE_EXTENT_PREALLOC = 2,
1846BTRFS_NR_FILE_EXTENT_TYPES = 3,
1847}
1848#[repr(C)]
1849#[derive(Copy, Clone)]
1850pub union fscrypt_get_policy_ex_arg__bindgen_ty_1 {
1851pub version: __u8,
1852pub v1: fscrypt_policy_v1,
1853pub v2: fscrypt_policy_v2,
1854}
1855#[repr(C)]
1856#[derive(Copy, Clone)]
1857pub union fscrypt_key_specifier__bindgen_ty_1 {
1858pub __reserved: [__u8; 32usize],
1859pub descriptor: [__u8; 8usize],
1860pub identifier: [__u8; 16usize],
1861}
1862#[repr(C)]
1863#[derive(Copy, Clone)]
1864pub union btrfs_ioctl_vol_args_v2__bindgen_ty_1 {
1865pub __bindgen_anon_1: btrfs_ioctl_vol_args_v2__bindgen_ty_1__bindgen_ty_1,
1866pub unused: [__u64; 4usize],
1867}
1868#[repr(C)]
1869#[derive(Copy, Clone)]
1870pub union btrfs_ioctl_vol_args_v2__bindgen_ty_2 {
1871pub name: [crate::ctypes::c_char; 4040usize],
1872pub devid: __u64,
1873pub subvolid: __u64,
1874}
1875#[repr(C)]
1876#[derive(Copy, Clone)]
1877pub union btrfs_ioctl_dev_replace_args__bindgen_ty_1 {
1878pub start: btrfs_ioctl_dev_replace_start_params,
1879pub status: btrfs_ioctl_dev_replace_status_params,
1880}
1881#[repr(C)]
1882#[derive(Copy, Clone)]
1883pub union btrfs_balance_args__bindgen_ty_1 {
1884pub usage: __u64,
1885pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_1__bindgen_ty_1,
1886}
1887#[repr(C)]
1888#[derive(Copy, Clone)]
1889pub union btrfs_balance_args__bindgen_ty_2 {
1890pub limit: __u64,
1891pub __bindgen_anon_1: btrfs_balance_args__bindgen_ty_2__bindgen_ty_1,
1892}
1893#[repr(C)]
1894#[derive(Copy, Clone)]
1895pub union btrfs_ioctl_defrag_range_args__bindgen_ty_1 {
1896pub compress_type: __u32,
1897pub compress: btrfs_ioctl_defrag_range_args__bindgen_ty_1__bindgen_ty_1,
1898}
1899#[repr(C)]
1900#[derive(Copy, Clone)]
1901pub union btrfs_disk_balance_args__bindgen_ty_1 {
1902pub usage: __le64,
1903pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_1__bindgen_ty_1,
1904}
1905#[repr(C)]
1906#[derive(Copy, Clone)]
1907pub union btrfs_disk_balance_args__bindgen_ty_2 {
1908pub limit: __le64,
1909pub __bindgen_anon_1: btrfs_disk_balance_args__bindgen_ty_2__bindgen_ty_1,
1910}
1911impl<T> __IncompleteArrayField<T> {
1912#[inline]
1913pub const fn new() -> Self {
1914__IncompleteArrayField(::core::marker::PhantomData, [])
1915}
1916#[inline]
1917pub fn as_ptr(&self) -> *const T {
1918self as *const _ as *const T
1919}
1920#[inline]
1921pub fn as_mut_ptr(&mut self) -> *mut T {
1922self as *mut _ as *mut T
1923}
1924#[inline]
1925pub unsafe fn as_slice(&self, len: usize) -> &[T] {
1926::core::slice::from_raw_parts(self.as_ptr(), len)
1927}
1928#[inline]
1929pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
1930::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
1931}
1932}
1933impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
1934fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1935fmt.write_str("__IncompleteArrayField")
1936}
1937}