diff options
Diffstat (limited to 'include/bb_e2fs_defs.h')
-rw-r--r-- | include/bb_e2fs_defs.h | 23 |
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! | ||
201 | struct 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 |