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