1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_LINUX_EXT4_H
8 #define _UAPI_LINUX_EXT4_H
9 #include <linux/fiemap.h>
10 #include <linux/fs.h>
11 #include <linux/ioctl.h>
12 #include <linux/types.h>
13 #define EXT4_IOC_GETVERSION _IOR('f', 3, long)
14 #define EXT4_IOC_SETVERSION _IOW('f', 4, long)
15 #define EXT4_IOC_GETVERSION_OLD FS_IOC_GETVERSION
16 #define EXT4_IOC_SETVERSION_OLD FS_IOC_SETVERSION
17 #define EXT4_IOC_GETRSVSZ _IOR('f', 5, long)
18 #define EXT4_IOC_SETRSVSZ _IOW('f', 6, long)
19 #define EXT4_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
20 #define EXT4_IOC_GROUP_ADD _IOW('f', 8, struct ext4_new_group_input)
21 #define EXT4_IOC_MIGRATE _IO('f', 9)
22 #define EXT4_IOC_ALLOC_DA_BLKS _IO('f', 12)
23 #define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent)
24 #define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64)
25 #define EXT4_IOC_SWAP_BOOT _IO('f', 17)
26 #define EXT4_IOC_PRECACHE_EXTENTS _IO('f', 18)
27 #define EXT4_IOC_CLEAR_ES_CACHE _IO('f', 40)
28 #define EXT4_IOC_GETSTATE _IOW('f', 41, __u32)
29 #define EXT4_IOC_GET_ES_CACHE _IOWR('f', 42, struct fiemap)
30 #define EXT4_IOC_CHECKPOINT _IOW('f', 43, __u32)
31 #define EXT4_IOC_GETFSUUID _IOR('f', 44, struct fsuuid)
32 #define EXT4_IOC_SETFSUUID _IOW('f', 44, struct fsuuid)
33 #define EXT4_IOC_SHUTDOWN _IOR('X', 125, __u32)
34 #define EXT4_IOC32_GETVERSION _IOR('f', 3, int)
35 #define EXT4_IOC32_SETVERSION _IOW('f', 4, int)
36 #define EXT4_IOC32_GETRSVSZ _IOR('f', 5, int)
37 #define EXT4_IOC32_SETRSVSZ _IOW('f', 6, int)
38 #define EXT4_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
39 #define EXT4_IOC32_GROUP_ADD _IOW('f', 8, struct compat_ext4_new_group_input)
40 #define EXT4_IOC32_GETVERSION_OLD FS_IOC32_GETVERSION
41 #define EXT4_IOC32_SETVERSION_OLD FS_IOC32_SETVERSION
42 #define EXT4_STATE_FLAG_EXT_PRECACHED 0x00000001
43 #define EXT4_STATE_FLAG_NEW 0x00000002
44 #define EXT4_STATE_FLAG_NEWENTRY 0x00000004
45 #define EXT4_STATE_FLAG_DA_ALLOC_CLOSE 0x00000008
46 #define EXT4_IOC_CHECKPOINT_FLAG_DISCARD 0x1
47 #define EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT 0x2
48 #define EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN 0x4
49 #define EXT4_IOC_CHECKPOINT_FLAG_VALID (EXT4_IOC_CHECKPOINT_FLAG_DISCARD | EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT | EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN)
50 struct fsuuid {
51   __u32 fsu_len;
52   __u32 fsu_flags;
53   __u8 fsu_uuid[];
54 };
55 struct move_extent {
56   __u32 reserved;
57   __u32 donor_fd;
58   __u64 orig_start;
59   __u64 donor_start;
60   __u64 len;
61   __u64 moved_len;
62 };
63 #define EXT4_GOING_FLAGS_DEFAULT 0x0
64 #define EXT4_GOING_FLAGS_LOGFLUSH 0x1
65 #define EXT4_GOING_FLAGS_NOLOGFLUSH 0x2
66 struct ext4_new_group_input {
67   __u32 group;
68   __u64 block_bitmap;
69   __u64 inode_bitmap;
70   __u64 inode_table;
71   __u32 blocks_count;
72   __u16 reserved_blocks;
73   __u16 unused;
74 };
75 #define EXT4_FIEMAP_EXTENT_HOLE 0x08000000
76 #endif
77