aboutsummaryrefslogtreecommitdiff
path: root/include/bb_e2fs_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/bb_e2fs_defs.h')
-rw-r--r--include/bb_e2fs_defs.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/include/bb_e2fs_defs.h b/include/bb_e2fs_defs.h
index 3f5e3c45b..608cbf0b0 100644
--- a/include/bb_e2fs_defs.h
+++ b/include/bb_e2fs_defs.h
@@ -182,11 +182,12 @@ struct ext2_dx_countlimit {
182#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */ 182#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */
183#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */ 183#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */
184#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ 184#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
185#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */ 185#define EXT2_EXTENT_FL 0x00080000 /* Extents */
186#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ 186#define EXT2_VERITY_FL 0x00100000
187 187#define EXT2_NOCOW_FL 0x00800000 /* Do not cow file */
188#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ 188#define EXT2_INLINE_DATA_FL 0x10000000
189#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */ 189#define EXT2_PROJINHERIT_FL 0x20000000
190#define EXT2_CASEFOLD_FL 0x40000000
190 191
191/* 192/*
192 * ioctl commands 193 * ioctl commands
@@ -195,6 +196,18 @@ struct ext2_dx_countlimit {
195#define EXT2_IOC_SETFLAGS _IOW('f', 2, long) 196#define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
196#define EXT2_IOC_GETVERSION _IOR('v', 1, long) 197#define EXT2_IOC_GETVERSION _IOR('v', 1, long)
197#define EXT2_IOC_SETVERSION _IOW('v', 2, long) 198#define EXT2_IOC_SETVERSION _IOW('v', 2, long)
199//NB: despite "long" in defs above, these ioctls use an _int_!
200//passing them a pointer to long will read/write only int-sized data!
201struct ext2_fsxattr {
202 uint32_t fsx_xflags; /* xflags field value (get/set) */
203 uint32_t fsx_extsize; /* extsize field value (get/set)*/
204 uint32_t fsx_nextents; /* nextents field value (get) */
205 uint32_t fsx_projid; /* project identifier (get/set) */
206 uint32_t fsx_cowextsize; /* CoW extsize field value (get/set)*/
207 unsigned char fsx_pad[8];
208};
209#define EXT2_IOC_FSGETXATTR _IOR('X', 31, struct ext2_fsxattr)
210#define EXT2_IOC_FSSETXATTR _IOW('X', 32, struct ext2_fsxattr)
198 211
199/* 212/*
200 * Structure of an inode on the disk 213 * Structure of an inode on the disk