• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_LINUX_BTRFS_H
20 #define _UAPI_LINUX_BTRFS_H
21 #include <linux/types.h>
22 #include <linux/ioctl.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define BTRFS_IOCTL_MAGIC 0x94
25 #define BTRFS_VOL_NAME_MAX 255
26 #define BTRFS_PATH_NAME_MAX 4087
27 struct btrfs_ioctl_vol_args {
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29  __s64 fd;
30  char name[BTRFS_PATH_NAME_MAX + 1];
31 };
32 #define BTRFS_DEVICE_PATH_NAME_MAX 1024
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
35 #define BTRFS_SUBVOL_RDONLY (1ULL << 1)
36 #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
37 #define BTRFS_FSID_SIZE 16
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define BTRFS_UUID_SIZE 16
40 #define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0)
41 struct btrfs_qgroup_limit {
42  __u64 flags;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  __u64 max_rfer;
45  __u64 max_excl;
46  __u64 rsv_rfer;
47  __u64 rsv_excl;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 };
50 struct btrfs_qgroup_inherit {
51  __u64 flags;
52  __u64 num_qgroups;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  __u64 num_ref_copies;
55  __u64 num_excl_copies;
56  struct btrfs_qgroup_limit lim;
57  __u64 qgroups[0];
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 };
60 struct btrfs_ioctl_qgroup_limit_args {
61  __u64 qgroupid;
62  struct btrfs_qgroup_limit lim;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 };
65 #define BTRFS_SUBVOL_NAME_MAX 4039
66 struct btrfs_ioctl_vol_args_v2 {
67  __s64 fd;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  __u64 transid;
70  __u64 flags;
71  union {
72  struct {
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  __u64 size;
75  struct btrfs_qgroup_inherit __user *qgroup_inherit;
76  };
77  __u64 unused[4];
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  };
80  char name[BTRFS_SUBVOL_NAME_MAX + 1];
81 };
82 struct btrfs_scrub_progress {
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  __u64 data_extents_scrubbed;
85  __u64 tree_extents_scrubbed;
86  __u64 data_bytes_scrubbed;
87  __u64 tree_bytes_scrubbed;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  __u64 read_errors;
90  __u64 csum_errors;
91  __u64 verify_errors;
92  __u64 no_csum;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  __u64 csum_discards;
95  __u64 super_errors;
96  __u64 malloc_errors;
97  __u64 uncorrectable_errors;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  __u64 corrected_errors;
100  __u64 last_physical;
101  __u64 unverified_errors;
102 };
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define BTRFS_SCRUB_READONLY 1
105 struct btrfs_ioctl_scrub_args {
106  __u64 devid;
107  __u64 start;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  __u64 end;
110  __u64 flags;
111  struct btrfs_scrub_progress progress;
112  __u64 unused[(1024-32-sizeof(struct btrfs_scrub_progress))/8];
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 };
115 #define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0
116 #define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1
117 struct btrfs_ioctl_dev_replace_start_params {
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  __u64 srcdevid;
120  __u64 cont_reading_from_srcdev_mode;
121  __u8 srcdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1];
122  __u8 tgtdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1];
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 };
125 #define BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED 0
126 #define BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED 1
127 #define BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED 2
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 #define BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED 3
130 #define BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED 4
131 struct btrfs_ioctl_dev_replace_status_params {
132  __u64 replace_state;
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  __u64 progress_1000;
135  __u64 time_started;
136  __u64 time_stopped;
137  __u64 num_write_errors;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  __u64 num_uncorrectable_read_errors;
140 };
141 #define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0
142 #define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2
145 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0
146 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1
147 #define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 struct btrfs_ioctl_dev_replace_args {
150  __u64 cmd;
151  __u64 result;
152  union {
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  struct btrfs_ioctl_dev_replace_start_params start;
155  struct btrfs_ioctl_dev_replace_status_params status;
156  };
157  __u64 spare[64];
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 };
160 struct btrfs_ioctl_dev_info_args {
161  __u64 devid;
162  __u8 uuid[BTRFS_UUID_SIZE];
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  __u64 bytes_used;
165  __u64 total_bytes;
166  __u64 unused[379];
167  __u8 path[BTRFS_DEVICE_PATH_NAME_MAX];
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 };
170 struct btrfs_ioctl_fs_info_args {
171  __u64 max_id;
172  __u64 num_devices;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  __u8 fsid[BTRFS_FSID_SIZE];
175  __u64 reserved[124];
176 };
177 struct btrfs_ioctl_feature_flags {
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  __u64 compat_flags;
180  __u64 compat_ro_flags;
181  __u64 incompat_flags;
182 };
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define BTRFS_BALANCE_CTL_PAUSE 1
185 #define BTRFS_BALANCE_CTL_CANCEL 2
186 struct btrfs_balance_args {
187  __u64 profiles;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189  __u64 usage;
190  __u64 devid;
191  __u64 pstart;
192  __u64 pend;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  __u64 vstart;
195  __u64 vend;
196  __u64 target;
197  __u64 flags;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  __u64 unused[8];
200 } __attribute__ ((__packed__));
201 struct btrfs_balance_progress {
202  __u64 expected;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  __u64 considered;
205  __u64 completed;
206 };
207 #define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0)
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 #define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1)
210 #define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2)
211 struct btrfs_ioctl_balance_args {
212  __u64 flags;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  __u64 state;
215  struct btrfs_balance_args data;
216  struct btrfs_balance_args meta;
217  struct btrfs_balance_args sys;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  struct btrfs_balance_progress stat;
220  __u64 unused[72];
221 };
222 #define BTRFS_INO_LOOKUP_PATH_MAX 4080
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 struct btrfs_ioctl_ino_lookup_args {
225  __u64 treeid;
226  __u64 objectid;
227  char name[BTRFS_INO_LOOKUP_PATH_MAX];
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 };
230 struct btrfs_ioctl_search_key {
231  __u64 tree_id;
232  __u64 min_objectid;
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  __u64 max_objectid;
235  __u64 min_offset;
236  __u64 max_offset;
237  __u64 min_transid;
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  __u64 max_transid;
240  __u32 min_type;
241  __u32 max_type;
242  __u32 nr_items;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  __u32 unused;
245  __u64 unused1;
246  __u64 unused2;
247  __u64 unused3;
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  __u64 unused4;
250 };
251 struct btrfs_ioctl_search_header {
252  __u64 transid;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  __u64 objectid;
255  __u64 offset;
256  __u32 type;
257  __u32 len;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 };
260 #define BTRFS_SEARCH_ARGS_BUFSIZE (4096 - sizeof(struct btrfs_ioctl_search_key))
261 struct btrfs_ioctl_search_args {
262  struct btrfs_ioctl_search_key key;
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  char buf[BTRFS_SEARCH_ARGS_BUFSIZE];
265 };
266 struct btrfs_ioctl_clone_range_args {
267  __s64 src_fd;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  __u64 src_offset, src_length;
270  __u64 dest_offset;
271 };
272 #define BTRFS_DEFRAG_RANGE_COMPRESS 1
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 #define BTRFS_DEFRAG_RANGE_START_IO 2
275 #define BTRFS_SAME_DATA_DIFFERS 1
276 struct btrfs_ioctl_same_extent_info {
277  __s64 fd;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  __u64 logical_offset;
280  __u64 bytes_deduped;
281  __s32 status;
282  __u32 reserved;
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 };
285 struct btrfs_ioctl_same_args {
286  __u64 logical_offset;
287  __u64 length;
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  __u16 dest_count;
290  __u16 reserved1;
291  __u32 reserved2;
292  struct btrfs_ioctl_same_extent_info info[0];
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 };
295 struct btrfs_ioctl_space_info {
296  __u64 flags;
297  __u64 total_bytes;
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  __u64 used_bytes;
300 };
301 struct btrfs_ioctl_space_args {
302  __u64 space_slots;
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  __u64 total_spaces;
305  struct btrfs_ioctl_space_info spaces[0];
306 };
307 struct btrfs_data_container {
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  __u32 bytes_left;
310  __u32 bytes_missing;
311  __u32 elem_cnt;
312  __u32 elem_missed;
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  __u64 val[0];
315 };
316 struct btrfs_ioctl_ino_path_args {
317  __u64 inum;
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  __u64 size;
320  __u64 reserved[4];
321  __u64 fspath;
322 };
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 struct btrfs_ioctl_logical_ino_args {
325  __u64 logical;
326  __u64 size;
327  __u64 reserved[4];
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  __u64 inodes;
330 };
331 enum btrfs_dev_stat_values {
332  BTRFS_DEV_STAT_WRITE_ERRS,
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  BTRFS_DEV_STAT_READ_ERRS,
335  BTRFS_DEV_STAT_FLUSH_ERRS,
336  BTRFS_DEV_STAT_CORRUPTION_ERRS,
337  BTRFS_DEV_STAT_GENERATION_ERRS,
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  BTRFS_DEV_STAT_VALUES_MAX
340 };
341 #define BTRFS_DEV_STATS_RESET (1ULL << 0)
342 struct btrfs_ioctl_get_dev_stats {
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  __u64 devid;
345  __u64 nr_items;
346  __u64 flags;
347  __u64 values[BTRFS_DEV_STAT_VALUES_MAX];
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX];
350 };
351 #define BTRFS_QUOTA_CTL_ENABLE 1
352 #define BTRFS_QUOTA_CTL_DISABLE 2
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 #define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3
355 struct btrfs_ioctl_quota_ctl_args {
356  __u64 cmd;
357  __u64 status;
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 };
360 struct btrfs_ioctl_quota_rescan_args {
361  __u64 flags;
362  __u64 progress;
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  __u64 reserved[6];
365 };
366 struct btrfs_ioctl_qgroup_assign_args {
367  __u64 assign;
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369  __u64 src;
370  __u64 dst;
371 };
372 struct btrfs_ioctl_qgroup_create_args {
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  __u64 create;
375  __u64 qgroupid;
376 };
377 struct btrfs_ioctl_timespec {
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  __u64 sec;
380  __u32 nsec;
381 };
382 struct btrfs_ioctl_received_subvol_args {
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384  char uuid[BTRFS_UUID_SIZE];
385  __u64 stransid;
386  __u64 rtransid;
387  struct btrfs_ioctl_timespec stime;
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389  struct btrfs_ioctl_timespec rtime;
390  __u64 flags;
391  __u64 reserved[16];
392 };
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 #define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1
395 #define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER 0x2
396 #define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4
397 #define BTRFS_SEND_FLAG_MASK   (BTRFS_SEND_FLAG_NO_FILE_DATA |   BTRFS_SEND_FLAG_OMIT_STREAM_HEADER |   BTRFS_SEND_FLAG_OMIT_END_CMD)
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399 struct btrfs_ioctl_send_args {
400  __s64 send_fd;
401  __u64 clone_sources_count;
402  __u64 __user *clone_sources;
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  __u64 parent_root;
405  __u64 flags;
406  __u64 reserved[4];
407 };
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 enum btrfs_err_code {
410  notused,
411  BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET,
412  BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET,
413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414  BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET,
415  BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET,
416  BTRFS_ERROR_DEV_TGT_REPLACE,
417  BTRFS_ERROR_DEV_MISSING_NOT_FOUND,
418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419  BTRFS_ERROR_DEV_ONLY_WRITABLE,
420  BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS
421 };
422 #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1,   struct btrfs_ioctl_vol_args)
423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424 #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2,   struct btrfs_ioctl_vol_args)
425 #define BTRFS_IOC_RESIZE _IOW(BTRFS_IOCTL_MAGIC, 3,   struct btrfs_ioctl_vol_args)
426 #define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4,   struct btrfs_ioctl_vol_args)
427 #define BTRFS_IOC_TRANS_START _IO(BTRFS_IOCTL_MAGIC, 6)
428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429 #define BTRFS_IOC_TRANS_END _IO(BTRFS_IOCTL_MAGIC, 7)
430 #define BTRFS_IOC_SYNC _IO(BTRFS_IOCTL_MAGIC, 8)
431 #define BTRFS_IOC_CLONE _IOW(BTRFS_IOCTL_MAGIC, 9, int)
432 #define BTRFS_IOC_ADD_DEV _IOW(BTRFS_IOCTL_MAGIC, 10,   struct btrfs_ioctl_vol_args)
433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434 #define BTRFS_IOC_RM_DEV _IOW(BTRFS_IOCTL_MAGIC, 11,   struct btrfs_ioctl_vol_args)
435 #define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12,   struct btrfs_ioctl_vol_args)
436 #define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13,   struct btrfs_ioctl_clone_range_args)
437 #define BTRFS_IOC_SUBVOL_CREATE _IOW(BTRFS_IOCTL_MAGIC, 14,   struct btrfs_ioctl_vol_args)
438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439 #define BTRFS_IOC_SNAP_DESTROY _IOW(BTRFS_IOCTL_MAGIC, 15,   struct btrfs_ioctl_vol_args)
440 #define BTRFS_IOC_DEFRAG_RANGE _IOW(BTRFS_IOCTL_MAGIC, 16,   struct btrfs_ioctl_defrag_range_args)
441 #define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17,   struct btrfs_ioctl_search_args)
442 #define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18,   struct btrfs_ioctl_ino_lookup_args)
443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444 #define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64)
445 #define BTRFS_IOC_SPACE_INFO _IOWR(BTRFS_IOCTL_MAGIC, 20,   struct btrfs_ioctl_space_args)
446 #define BTRFS_IOC_START_SYNC _IOR(BTRFS_IOCTL_MAGIC, 24, __u64)
447 #define BTRFS_IOC_WAIT_SYNC _IOW(BTRFS_IOCTL_MAGIC, 22, __u64)
448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449 #define BTRFS_IOC_SNAP_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 23,   struct btrfs_ioctl_vol_args_v2)
450 #define BTRFS_IOC_SUBVOL_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 24,   struct btrfs_ioctl_vol_args_v2)
451 #define BTRFS_IOC_SUBVOL_GETFLAGS _IOR(BTRFS_IOCTL_MAGIC, 25, __u64)
452 #define BTRFS_IOC_SUBVOL_SETFLAGS _IOW(BTRFS_IOCTL_MAGIC, 26, __u64)
453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454 #define BTRFS_IOC_SCRUB _IOWR(BTRFS_IOCTL_MAGIC, 27,   struct btrfs_ioctl_scrub_args)
455 #define BTRFS_IOC_SCRUB_CANCEL _IO(BTRFS_IOCTL_MAGIC, 28)
456 #define BTRFS_IOC_SCRUB_PROGRESS _IOWR(BTRFS_IOCTL_MAGIC, 29,   struct btrfs_ioctl_scrub_args)
457 #define BTRFS_IOC_DEV_INFO _IOWR(BTRFS_IOCTL_MAGIC, 30,   struct btrfs_ioctl_dev_info_args)
458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459 #define BTRFS_IOC_FS_INFO _IOR(BTRFS_IOCTL_MAGIC, 31,   struct btrfs_ioctl_fs_info_args)
460 #define BTRFS_IOC_BALANCE_V2 _IOWR(BTRFS_IOCTL_MAGIC, 32,   struct btrfs_ioctl_balance_args)
461 #define BTRFS_IOC_BALANCE_CTL _IOW(BTRFS_IOCTL_MAGIC, 33, int)
462 #define BTRFS_IOC_BALANCE_PROGRESS _IOR(BTRFS_IOCTL_MAGIC, 34,   struct btrfs_ioctl_balance_args)
463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464 #define BTRFS_IOC_INO_PATHS _IOWR(BTRFS_IOCTL_MAGIC, 35,   struct btrfs_ioctl_ino_path_args)
465 #define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36,   struct btrfs_ioctl_ino_path_args)
466 #define BTRFS_IOC_SET_RECEIVED_SUBVOL _IOWR(BTRFS_IOCTL_MAGIC, 37,   struct btrfs_ioctl_received_subvol_args)
467 #define BTRFS_IOC_SEND _IOW(BTRFS_IOCTL_MAGIC, 38, struct btrfs_ioctl_send_args)
468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469 #define BTRFS_IOC_DEVICES_READY _IOR(BTRFS_IOCTL_MAGIC, 39,   struct btrfs_ioctl_vol_args)
470 #define BTRFS_IOC_QUOTA_CTL _IOWR(BTRFS_IOCTL_MAGIC, 40,   struct btrfs_ioctl_quota_ctl_args)
471 #define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41,   struct btrfs_ioctl_qgroup_assign_args)
472 #define BTRFS_IOC_QGROUP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 42,   struct btrfs_ioctl_qgroup_create_args)
473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474 #define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43,   struct btrfs_ioctl_qgroup_limit_args)
475 #define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44,   struct btrfs_ioctl_quota_rescan_args)
476 #define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45,   struct btrfs_ioctl_quota_rescan_args)
477 #define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46)
478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479 #define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49,   char[BTRFS_LABEL_SIZE])
480 #define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50,   char[BTRFS_LABEL_SIZE])
481 #define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52,   struct btrfs_ioctl_get_dev_stats)
482 #define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53,   struct btrfs_ioctl_dev_replace_args)
483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484 #define BTRFS_IOC_FILE_EXTENT_SAME _IOWR(BTRFS_IOCTL_MAGIC, 54,   struct btrfs_ioctl_same_args)
485 #define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57,   struct btrfs_ioctl_feature_flags)
486 #define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57,   struct btrfs_ioctl_feature_flags[2])
487 #define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57,   struct btrfs_ioctl_feature_flags[3])
488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489 #endif
490