• 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 _LINUX_EXT2_FS_H
20 #define _LINUX_EXT2_FS_H
21 #include <linux/types.h>
22 #undef EXT2FS_DEBUG
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define EXT2_PREALLOCATE
25 #define EXT2_DEFAULT_PREALLOC_BLOCKS 8
26 #define EXT2FS_DATE "95/08/09"
27 #define EXT2FS_VERSION "0.5b"
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #ifdef EXT2FS_DEBUG
30 #define ext2_debug(f, a...) {   printk ("EXT2-fs DEBUG (%s, %d): %s:",   __FILE__, __LINE__, __FUNCTION__);   printk (f, ## a);   }
31 #else
32 #define ext2_debug(f, a...)
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #endif
35 #define EXT2_BAD_INO 1
36 #define EXT2_ROOT_INO 2
37 #define EXT2_BOOT_LOADER_INO 5
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define EXT2_UNDEL_DIR_INO 6
40 #define EXT2_GOOD_OLD_FIRST_INO 11
41 #define EXT2_SUPER_MAGIC 0xEF53
42 #define EXT2_SB(sb) (sb)
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define EXT2_LINK_MAX 32000
45 #define EXT2_MIN_BLOCK_SIZE 1024
46 #define EXT2_MAX_BLOCK_SIZE 4096
47 #define EXT2_MIN_BLOCK_LOG_SIZE 10
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size)
50 #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
51 #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
52 #define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ?   EXT2_GOOD_OLD_INODE_SIZE :   (s)->s_inode_size)
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ?   EXT2_GOOD_OLD_FIRST_INO :   (s)->s_first_ino)
55 #define EXT2_MIN_FRAG_SIZE 1024
56 #define EXT2_MAX_FRAG_SIZE 4096
57 #define EXT2_MIN_FRAG_LOG_SIZE 10
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size)
60 #define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s))
61 struct ext2_group_desc
62 {
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  __le32 bg_block_bitmap;
65  __le32 bg_inode_bitmap;
66  __le32 bg_inode_table;
67  __le16 bg_free_blocks_count;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  __le16 bg_free_inodes_count;
70  __le16 bg_used_dirs_count;
71  __le16 bg_pad;
72  __le32 bg_reserved[3];
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 };
75 #define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group)
76 #define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc))
77 #define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group)
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define EXT2_NDIR_BLOCKS 12
80 #define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS
81 #define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
82 #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
85 #define EXT2_SECRM_FL 0x00000001
86 #define EXT2_UNRM_FL 0x00000002
87 #define EXT2_COMPR_FL 0x00000004
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #define EXT2_SYNC_FL 0x00000008
90 #define EXT2_IMMUTABLE_FL 0x00000010
91 #define EXT2_APPEND_FL 0x00000020
92 #define EXT2_NODUMP_FL 0x00000040
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define EXT2_NOATIME_FL 0x00000080
95 #define EXT2_DIRTY_FL 0x00000100
96 #define EXT2_COMPRBLK_FL 0x00000200
97 #define EXT2_NOCOMP_FL 0x00000400
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define EXT2_ECOMPR_FL 0x00000800
100 #define EXT2_BTREE_FL 0x00001000
101 #define EXT2_INDEX_FL 0x00001000
102 #define EXT2_IMAGIC_FL 0x00002000
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define EXT2_JOURNAL_DATA_FL 0x00004000
105 #define EXT2_NOTAIL_FL 0x00008000
106 #define EXT2_DIRSYNC_FL 0x00010000
107 #define EXT2_TOPDIR_FL 0x00020000
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define EXT2_RESERVED_FL 0x80000000
110 #define EXT2_FL_USER_VISIBLE 0x0003DFFF
111 #define EXT2_FL_USER_MODIFIABLE 0x000380FF
112 #define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
115 #define EXT2_IOC_GETVERSION _IOR('v', 1, long)
116 #define EXT2_IOC_SETVERSION _IOW('v', 2, long)
117 struct ext2_inode {
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  __le16 i_mode;
120  __le16 i_uid;
121  __le32 i_size;
122  __le32 i_atime;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  __le32 i_ctime;
125  __le32 i_mtime;
126  __le32 i_dtime;
127  __le16 i_gid;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  __le16 i_links_count;
130  __le32 i_blocks;
131  __le32 i_flags;
132  union {
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  struct {
135  __le32 l_i_reserved1;
136  } linux1;
137  struct {
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  __le32 h_i_translator;
140  } hurd1;
141  struct {
142  __le32 m_i_reserved1;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  } masix1;
145  } osd1;
146  __le32 i_block[EXT2_N_BLOCKS];
147  __le32 i_generation;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  __le32 i_file_acl;
150  __le32 i_dir_acl;
151  __le32 i_faddr;
152  union {
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  struct {
155  __u8 l_i_frag;
156  __u8 l_i_fsize;
157  __u16 i_pad1;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  __le16 l_i_uid_high;
160  __le16 l_i_gid_high;
161  __u32 l_i_reserved2;
162  } linux2;
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  struct {
165  __u8 h_i_frag;
166  __u8 h_i_fsize;
167  __le16 h_i_mode_high;
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  __le16 h_i_uid_high;
170  __le16 h_i_gid_high;
171  __le32 h_i_author;
172  } hurd2;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174  struct {
175  __u8 m_i_frag;
176  __u8 m_i_fsize;
177  __u16 m_pad1;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  __u32 m_i_reserved2[2];
180  } masix2;
181  } osd2;
182 };
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define i_size_high i_dir_acl
185 #ifdef __linux__
186 #define i_reserved1 osd1.linux1.l_i_reserved1
187 #define i_frag osd2.linux2.l_i_frag
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 #define i_fsize osd2.linux2.l_i_fsize
190 #define i_uid_low i_uid
191 #define i_gid_low i_gid
192 #define i_uid_high osd2.linux2.l_i_uid_high
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define i_gid_high osd2.linux2.l_i_gid_high
195 #define i_reserved2 osd2.linux2.l_i_reserved2
196 #endif
197 #ifdef __hurd__
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 #define i_translator osd1.hurd1.h_i_translator
200 #define i_frag osd2.hurd2.h_i_frag;
201 #define i_fsize osd2.hurd2.h_i_fsize;
202 #define i_uid_high osd2.hurd2.h_i_uid_high
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 #define i_gid_high osd2.hurd2.h_i_gid_high
205 #define i_author osd2.hurd2.h_i_author
206 #endif
207 #ifdef __masix__
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 #define i_reserved1 osd1.masix1.m_i_reserved1
210 #define i_frag osd2.masix2.m_i_frag
211 #define i_fsize osd2.masix2.m_i_fsize
212 #define i_reserved2 osd2.masix2.m_i_reserved2
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 #endif
215 #define EXT2_VALID_FS 0x0001
216 #define EXT2_ERROR_FS 0x0002
217 #define EXT2_MOUNT_CHECK 0x000001
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 #define EXT2_MOUNT_OLDALLOC 0x000002
220 #define EXT2_MOUNT_GRPID 0x000004
221 #define EXT2_MOUNT_DEBUG 0x000008
222 #define EXT2_MOUNT_ERRORS_CONT 0x000010
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 #define EXT2_MOUNT_ERRORS_RO 0x000020
225 #define EXT2_MOUNT_ERRORS_PANIC 0x000040
226 #define EXT2_MOUNT_MINIX_DF 0x000080
227 #define EXT2_MOUNT_NOBH 0x000100
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 #define EXT2_MOUNT_NO_UID32 0x000200
230 #define EXT2_MOUNT_XATTR_USER 0x004000
231 #define EXT2_MOUNT_POSIX_ACL 0x008000
232 #define EXT2_MOUNT_XIP 0x010000
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 #define EXT2_MOUNT_USRQUOTA 0x020000
235 #define EXT2_MOUNT_GRPQUOTA 0x040000
236 #define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
237 #define set_opt(o, opt) o |= EXT2_MOUNT_##opt
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 #define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt &   EXT2_MOUNT_##opt)
240 #define EXT2_DFL_MAX_MNT_COUNT 20
241 #define EXT2_DFL_CHECKINTERVAL 0
242 #define EXT2_ERRORS_CONTINUE 1
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 #define EXT2_ERRORS_RO 2
245 #define EXT2_ERRORS_PANIC 3
246 #define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
247 struct ext2_super_block {
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  __le32 s_inodes_count;
250  __le32 s_blocks_count;
251  __le32 s_r_blocks_count;
252  __le32 s_free_blocks_count;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  __le32 s_free_inodes_count;
255  __le32 s_first_data_block;
256  __le32 s_log_block_size;
257  __le32 s_log_frag_size;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  __le32 s_blocks_per_group;
260  __le32 s_frags_per_group;
261  __le32 s_inodes_per_group;
262  __le32 s_mtime;
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  __le32 s_wtime;
265  __le16 s_mnt_count;
266  __le16 s_max_mnt_count;
267  __le16 s_magic;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  __le16 s_state;
270  __le16 s_errors;
271  __le16 s_minor_rev_level;
272  __le32 s_lastcheck;
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __le32 s_checkinterval;
275  __le32 s_creator_os;
276  __le32 s_rev_level;
277  __le16 s_def_resuid;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  __le16 s_def_resgid;
280  __le32 s_first_ino;
281  __le16 s_inode_size;
282  __le16 s_block_group_nr;
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  __le32 s_feature_compat;
285  __le32 s_feature_incompat;
286  __le32 s_feature_ro_compat;
287  __u8 s_uuid[16];
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  char s_volume_name[16];
290  char s_last_mounted[64];
291  __le32 s_algorithm_usage_bitmap;
292  __u8 s_prealloc_blocks;
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  __u8 s_prealloc_dir_blocks;
295  __u16 s_padding1;
296  __u8 s_journal_uuid[16];
297  __u32 s_journal_inum;
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  __u32 s_journal_dev;
300  __u32 s_last_orphan;
301  __u32 s_hash_seed[4];
302  __u8 s_def_hash_version;
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  __u8 s_reserved_char_pad;
305  __u16 s_reserved_word_pad;
306  __le32 s_default_mount_opts;
307  __le32 s_first_meta_bg;
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  __u32 s_reserved[190];
310 };
311 #define EXT2_OS_LINUX 0
312 #define EXT2_OS_HURD 1
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314 #define EXT2_OS_MASIX 2
315 #define EXT2_OS_FREEBSD 3
316 #define EXT2_OS_LITES 4
317 #define EXT2_GOOD_OLD_REV 0
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 #define EXT2_DYNAMIC_REV 1
320 #define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV
321 #define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV
322 #define EXT2_GOOD_OLD_INODE_SIZE 128
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 #define EXT2_HAS_COMPAT_FEATURE(sb,mask)   ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) )
325 #define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask)   ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) )
326 #define EXT2_HAS_INCOMPAT_FEATURE(sb,mask)   ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) )
327 #define EXT2_SET_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask)
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 #define EXT2_SET_RO_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask)
330 #define EXT2_SET_INCOMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask)
331 #define EXT2_CLEAR_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask)
332 #define EXT2_CLEAR_RO_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask)
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 #define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask)
335 #define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001
336 #define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
337 #define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339 #define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
340 #define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010
341 #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
342 #define EXT2_FEATURE_COMPAT_ANY 0xffffffff
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344 #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
345 #define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
346 #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
347 #define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349 #define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001
350 #define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
351 #define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
352 #define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 #define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
355 #define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff
356 #define EXT2_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR
357 #define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE|   EXT2_FEATURE_INCOMPAT_META_BG)
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 #define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|   EXT2_FEATURE_RO_COMPAT_LARGE_FILE|   EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
360 #define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP
361 #define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP
362 #define EXT2_DEF_RESUID 0
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 #define EXT2_DEF_RESGID 0
365 #define EXT2_DEFM_DEBUG 0x0001
366 #define EXT2_DEFM_BSDGROUPS 0x0002
367 #define EXT2_DEFM_XATTR_USER 0x0004
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 #define EXT2_DEFM_ACL 0x0008
370 #define EXT2_DEFM_UID16 0x0010
371 #define EXT3_DEFM_JMODE 0x0060
372 #define EXT3_DEFM_JMODE_DATA 0x0020
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374 #define EXT3_DEFM_JMODE_ORDERED 0x0040
375 #define EXT3_DEFM_JMODE_WBACK 0x0060
376 #define EXT2_NAME_LEN 255
377 struct ext2_dir_entry {
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379  __le32 inode;
380  __le16 rec_len;
381  __le16 name_len;
382  char name[EXT2_NAME_LEN];
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 };
385 struct ext2_dir_entry_2 {
386  __le32 inode;
387  __le16 rec_len;
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389  __u8 name_len;
390  __u8 file_type;
391  char name[EXT2_NAME_LEN];
392 };
393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394 enum {
395  EXT2_FT_UNKNOWN,
396  EXT2_FT_REG_FILE,
397  EXT2_FT_DIR,
398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399  EXT2_FT_CHRDEV,
400  EXT2_FT_BLKDEV,
401  EXT2_FT_FIFO,
402  EXT2_FT_SOCK,
403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404  EXT2_FT_SYMLINK,
405  EXT2_FT_MAX
406 };
407 #define EXT2_DIR_PAD 4
408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409 #define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1)
410 #define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) &   ~EXT2_DIR_ROUND)
411 #endif
412