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