blob: 70a3b1a02a3cd0071783e04bf07f8e950f48ca3e [file] [log] [blame]
Christopher Ferris37c3f3c2023-07-10 10:59:05 -07001/****************************************************************************
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_EXT4_H
20#define _UAPI_LINUX_EXT4_H
21#include <linux/fiemap.h>
22#include <linux/fs.h>
23#include <linux/ioctl.h>
24#include <linux/types.h>
25#define EXT4_IOC_GETVERSION _IOR('f', 3, long)
26#define EXT4_IOC_SETVERSION _IOW('f', 4, long)
27#define EXT4_IOC_GETVERSION_OLD FS_IOC_GETVERSION
28#define EXT4_IOC_SETVERSION_OLD FS_IOC_SETVERSION
29#define EXT4_IOC_GETRSVSZ _IOR('f', 5, long)
30#define EXT4_IOC_SETRSVSZ _IOW('f', 6, long)
31#define EXT4_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
32#define EXT4_IOC_GROUP_ADD _IOW('f', 8, struct ext4_new_group_input)
33#define EXT4_IOC_MIGRATE _IO('f', 9)
34#define EXT4_IOC_ALLOC_DA_BLKS _IO('f', 12)
35#define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent)
36#define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64)
37#define EXT4_IOC_SWAP_BOOT _IO('f', 17)
38#define EXT4_IOC_PRECACHE_EXTENTS _IO('f', 18)
39#define EXT4_IOC_CLEAR_ES_CACHE _IO('f', 40)
40#define EXT4_IOC_GETSTATE _IOW('f', 41, __u32)
41#define EXT4_IOC_GET_ES_CACHE _IOWR('f', 42, struct fiemap)
42#define EXT4_IOC_CHECKPOINT _IOW('f', 43, __u32)
43#define EXT4_IOC_GETFSUUID _IOR('f', 44, struct fsuuid)
44#define EXT4_IOC_SETFSUUID _IOW('f', 44, struct fsuuid)
45#define EXT4_IOC_SHUTDOWN _IOR('X', 125, __u32)
46#define EXT4_IOC32_GETVERSION _IOR('f', 3, int)
47#define EXT4_IOC32_SETVERSION _IOW('f', 4, int)
48#define EXT4_IOC32_GETRSVSZ _IOR('f', 5, int)
49#define EXT4_IOC32_SETRSVSZ _IOW('f', 6, int)
50#define EXT4_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
51#define EXT4_IOC32_GROUP_ADD _IOW('f', 8, struct compat_ext4_new_group_input)
52#define EXT4_IOC32_GETVERSION_OLD FS_IOC32_GETVERSION
53#define EXT4_IOC32_SETVERSION_OLD FS_IOC32_SETVERSION
54#define EXT4_STATE_FLAG_EXT_PRECACHED 0x00000001
55#define EXT4_STATE_FLAG_NEW 0x00000002
56#define EXT4_STATE_FLAG_NEWENTRY 0x00000004
57#define EXT4_STATE_FLAG_DA_ALLOC_CLOSE 0x00000008
58#define EXT4_IOC_CHECKPOINT_FLAG_DISCARD 0x1
59#define EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT 0x2
60#define EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN 0x4
61#define EXT4_IOC_CHECKPOINT_FLAG_VALID (EXT4_IOC_CHECKPOINT_FLAG_DISCARD | EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT | EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN)
62struct fsuuid {
63 __u32 fsu_len;
64 __u32 fsu_flags;
65 __u8 fsu_uuid[];
66};
67struct move_extent {
68 __u32 reserved;
69 __u32 donor_fd;
70 __u64 orig_start;
71 __u64 donor_start;
72 __u64 len;
73 __u64 moved_len;
74};
75#define EXT4_GOING_FLAGS_DEFAULT 0x0
76#define EXT4_GOING_FLAGS_LOGFLUSH 0x1
77#define EXT4_GOING_FLAGS_NOLOGFLUSH 0x2
78struct ext4_new_group_input {
79 __u32 group;
80 __u64 block_bitmap;
81 __u64 inode_bitmap;
82 __u64 inode_table;
83 __u32 blocks_count;
84 __u16 reserved_blocks;
85 __u16 unused;
86};
87#define EXT4_FIEMAP_EXTENT_HOLE 0x08000000
88#endif