11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   To edit the content of this header, modify the corresponding
11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   run bionic/libc/kernel/tools/update_all.py
13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   Any manual change here will be lost the next time this script will
15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   be run. You've been warned!
16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _LINUX_EXT2_FS_H
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _LINUX_EXT2_FS_H
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/types.h>
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#undef EXT2FS_DEBUG
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_PREALLOCATE
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEFAULT_PREALLOC_BLOCKS 8
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2FS_DATE "95/08/09"
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2FS_VERSION "0.5b"
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef EXT2FS_DEBUG
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define ext2_debug(f, a...) {   printk ("EXT2-fs DEBUG (%s, %d): %s:",   __FILE__, __LINE__, __FUNCTION__);   printk (f, ## a);   }
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define ext2_debug(f, a...)
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_BAD_INO 1
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ROOT_INO 2
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_BOOT_LOADER_INO 5
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_UNDEL_DIR_INO 6
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_GOOD_OLD_FIRST_INO 11
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SUPER_MAGIC 0xEF53
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SB(sb) (sb)
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_LINK_MAX 32000
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MIN_BLOCK_SIZE 1024
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MAX_BLOCK_SIZE 4096
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MIN_BLOCK_LOG_SIZE 10
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size)
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ?   EXT2_GOOD_OLD_INODE_SIZE :   (s)->s_inode_size)
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ?   EXT2_GOOD_OLD_FIRST_INO :   (s)->s_first_ino)
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MIN_FRAG_SIZE 1024
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MAX_FRAG_SIZE 4096
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MIN_FRAG_LOG_SIZE 10
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size)
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s))
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ext2_group_desc
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project{
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 bg_block_bitmap;
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 bg_inode_bitmap;
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 bg_inode_table;
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 bg_free_blocks_count;
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 bg_free_inodes_count;
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 bg_used_dirs_count;
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 bg_pad;
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 bg_reserved[3];
73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group)
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc))
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group)
78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_NDIR_BLOCKS 12
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SECRM_FL 0x00000001
861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_UNRM_FL 0x00000002
871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_COMPR_FL 0x00000004
88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SYNC_FL 0x00000008
901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IMMUTABLE_FL 0x00000010
911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_APPEND_FL 0x00000020
921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_NODUMP_FL 0x00000040
93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_NOATIME_FL 0x00000080
951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DIRTY_FL 0x00000100
961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_COMPRBLK_FL 0x00000200
971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_NOCOMP_FL 0x00000400
98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ECOMPR_FL 0x00000800
1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_BTREE_FL 0x00001000
1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_INDEX_FL 0x00001000
1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IMAGIC_FL 0x00002000
103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_JOURNAL_DATA_FL 0x00004000
1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_NOTAIL_FL 0x00008000
1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DIRSYNC_FL 0x00010000
1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_TOPDIR_FL 0x00020000
108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_RESERVED_FL 0x80000000
1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FL_USER_VISIBLE 0x0003DFFF
1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FL_USER_MODIFIABLE 0x000380FF
1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IOC_SETFLAGS _IOW('f', 2, long)
1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IOC_GETVERSION _IOR('v', 1, long)
1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_IOC_SETVERSION _IOW('v', 2, long)
1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ext2_inode {
118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 i_mode;
1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 i_uid;
1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_size;
1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_atime;
123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_ctime;
1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_mtime;
1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_dtime;
1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 i_gid;
128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 i_links_count;
1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_blocks;
1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_flags;
1321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project union {
133654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
1351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 l_i_reserved1;
1361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } linux1;
1371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
138654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 h_i_translator;
1401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } hurd1;
1411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
1421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 m_i_reserved1;
143654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } masix1;
1451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } osd1;
1461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_block[EXT2_N_BLOCKS];
1471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_generation;
148654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_file_acl;
1501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_dir_acl;
1511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 i_faddr;
1521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project union {
153654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
1551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 l_i_frag;
1561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 l_i_fsize;
1571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 i_pad1;
158654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 l_i_uid_high;
1601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 l_i_gid_high;
1611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 l_i_reserved2;
1621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } linux2;
163654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
1651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 h_i_frag;
1661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 h_i_fsize;
1671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 h_i_mode_high;
168654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 h_i_uid_high;
1701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 h_i_gid_high;
1711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 h_i_author;
1721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } hurd2;
173654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct {
1751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 m_i_frag;
1761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 m_i_fsize;
1771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 m_pad1;
178654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 m_i_reserved2[2];
1801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } masix2;
1811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project } osd2;
1821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
183654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_size_high i_dir_acl
1851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __linux__
1861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_reserved1 osd1.linux1.l_i_reserved1
1871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_frag osd2.linux2.l_i_frag
188654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_fsize osd2.linux2.l_i_fsize
1901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_uid_low i_uid
1911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_gid_low i_gid
1921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_uid_high osd2.linux2.l_i_uid_high
193654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_gid_high osd2.linux2.l_i_gid_high
1951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_reserved2 osd2.linux2.l_i_reserved2
1961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
1971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __hurd__
198654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_translator osd1.hurd1.h_i_translator
2001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_frag osd2.hurd2.h_i_frag;
2011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_fsize osd2.hurd2.h_i_fsize;
2021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_uid_high osd2.hurd2.h_i_uid_high
203654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_gid_high osd2.hurd2.h_i_gid_high
2051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_author osd2.hurd2.h_i_author
2061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
2071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __masix__
208654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_reserved1 osd1.masix1.m_i_reserved1
2101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_frag osd2.masix2.m_i_frag
2111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_fsize osd2.masix2.m_i_fsize
2121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define i_reserved2 osd2.masix2.m_i_reserved2
213654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
2151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_VALID_FS 0x0001
2161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ERROR_FS 0x0002
2171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_CHECK 0x000001
218654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_OLDALLOC 0x000002
2201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_GRPID 0x000004
2211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_DEBUG 0x000008
2221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_ERRORS_CONT 0x000010
223654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_ERRORS_RO 0x000020
2251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_ERRORS_PANIC 0x000040
2261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_MINIX_DF 0x000080
2271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_NOBH 0x000100
228654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_NO_UID32 0x000200
2301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_XATTR_USER 0x004000
2311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_POSIX_ACL 0x008000
2321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_XIP 0x010000
233654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_USRQUOTA 0x020000
2351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MOUNT_GRPQUOTA 0x040000
2361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
2371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define set_opt(o, opt) o |= EXT2_MOUNT_##opt
238654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt &   EXT2_MOUNT_##opt)
2401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DFL_MAX_MNT_COUNT 20
2411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DFL_CHECKINTERVAL 0
2421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ERRORS_CONTINUE 1
243654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ERRORS_RO 2
2451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ERRORS_PANIC 3
2461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
2471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ext2_super_block {
248654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_inodes_count;
2501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_blocks_count;
2511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_r_blocks_count;
2521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_free_blocks_count;
253654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_free_inodes_count;
2551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_first_data_block;
2561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_log_block_size;
2571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_log_frag_size;
258654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_blocks_per_group;
2601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_frags_per_group;
2611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_inodes_per_group;
2621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_mtime;
263654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_wtime;
2651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_mnt_count;
2661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_max_mnt_count;
2671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_magic;
268654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_state;
2701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_errors;
2711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_minor_rev_level;
2721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_lastcheck;
273654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_checkinterval;
2751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_creator_os;
2761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_rev_level;
2771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_def_resuid;
278654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_def_resgid;
2801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_first_ino;
2811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_inode_size;
2821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 s_block_group_nr;
283654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_feature_compat;
2851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_feature_incompat;
2861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_feature_ro_compat;
2871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 s_uuid[16];
288654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char s_volume_name[16];
2901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char s_last_mounted[64];
2911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_algorithm_usage_bitmap;
2921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 s_prealloc_blocks;
293654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 s_prealloc_dir_blocks;
2951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 s_padding1;
2961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 s_journal_uuid[16];
2971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 s_journal_inum;
298654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 s_journal_dev;
3001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 s_last_orphan;
3011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 s_hash_seed[4];
3021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 s_def_hash_version;
303654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 s_reserved_char_pad;
3051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u16 s_reserved_word_pad;
3061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_default_mount_opts;
3071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 s_first_meta_bg;
308654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u32 s_reserved[190];
3101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
3111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_OS_LINUX 0
3121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_OS_HURD 1
313654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_OS_MASIX 2
3151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_OS_FREEBSD 3
3161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_OS_LITES 4
3171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_GOOD_OLD_REV 0
318654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DYNAMIC_REV 1
3201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV
3211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV
3221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_GOOD_OLD_INODE_SIZE 128
323654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_HAS_COMPAT_FEATURE(sb,mask)   ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) )
3251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask)   ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) )
3261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask)   ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) )
3271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SET_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask)
328654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SET_RO_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask)
3301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_SET_INCOMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask)
3311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_CLEAR_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask)
3321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_CLEAR_RO_COMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask)
333654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask)   EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask)
3351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001
3361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
3371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
338654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008
3401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010
3411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020
3421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_ANY 0xffffffff
343654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
3451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
3461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
3471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff
348654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001
3501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
3511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
3521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
353654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
3551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff
3561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR
3571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE|   EXT2_FEATURE_INCOMPAT_META_BG)
358654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER|   EXT2_FEATURE_RO_COMPAT_LARGE_FILE|   EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
3601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP
3611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP
3621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEF_RESUID 0
363654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEF_RESGID 0
3651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEFM_DEBUG 0x0001
3661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEFM_BSDGROUPS 0x0002
3671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEFM_XATTR_USER 0x0004
368654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEFM_ACL 0x0008
3701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DEFM_UID16 0x0010
3711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_DEFM_JMODE 0x0060
3721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_DEFM_JMODE_DATA 0x0020
373654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_DEFM_JMODE_ORDERED 0x0040
3751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT3_DEFM_JMODE_WBACK 0x0060
3761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_NAME_LEN 255
3771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ext2_dir_entry {
378654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 inode;
3801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 rec_len;
3811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 name_len;
3821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char name[EXT2_NAME_LEN];
383654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
3851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct ext2_dir_entry_2 {
3861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le32 inode;
3871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __le16 rec_len;
388654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 name_len;
3901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project __u8 file_type;
3911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char name[EXT2_NAME_LEN];
3921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
393654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectenum {
3951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_UNKNOWN,
3961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_REG_FILE,
3971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_DIR,
398654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_CHRDEV,
4001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_BLKDEV,
4011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_FIFO,
4021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_SOCK,
403654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_SYMLINK,
4051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project EXT2_FT_MAX
4061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
4071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DIR_PAD 4
408654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1)
4101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) &   ~EXT2_DIR_ROUND)
4111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
412