blob: 3335580a71fbb775cd0edbaf25c36f2bae54406a [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
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 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** 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 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_EXT2_FS_H
20#define _LINUX_EXT2_FS_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/types.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080022#undef EXT2FS_DEBUG
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#define EXT2_PREALLOCATE
25#define EXT2_DEFAULT_PREALLOC_BLOCKS 8
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080026#define EXT2FS_DATE "95/08/09"
27#define EXT2FS_VERSION "0.5b"
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#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...)
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080035#define EXT2_BAD_INO 1
36#define EXT2_ROOT_INO 2
37#define EXT2_BOOT_LOADER_INO 5
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define EXT2_UNDEL_DIR_INO 6
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080040#define EXT2_GOOD_OLD_FIRST_INO 11
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041#define EXT2_SUPER_MAGIC 0xEF53
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080042#define EXT2_SB(sb) (sb)
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044#define EXT2_LINK_MAX 32000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080045#define EXT2_MIN_BLOCK_SIZE 1024
46#define EXT2_MAX_BLOCK_SIZE 4096
47#define EXT2_MIN_BLOCK_LOG_SIZE 10
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#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)
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080055#define EXT2_MIN_FRAG_SIZE 1024
56#define EXT2_MAX_FRAG_SIZE 4096
57#define EXT2_MIN_FRAG_LOG_SIZE 10
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#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))
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061struct ext2_group_desc
62{
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064 __le32 bg_block_bitmap;
65 __le32 bg_inode_bitmap;
66 __le32 bg_inode_table;
67 __le16 bg_free_blocks_count;
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069 __le16 bg_free_inodes_count;
70 __le16 bg_used_dirs_count;
71 __le16 bg_pad;
72 __le32 bg_reserved[3];
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080075#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)
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079#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)
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080084#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080085#define EXT2_SECRM_FL 0x00000001
86#define EXT2_UNRM_FL 0x00000002
87#define EXT2_COMPR_FL 0x00000004
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089#define EXT2_SYNC_FL 0x00000008
90#define EXT2_IMMUTABLE_FL 0x00000010
91#define EXT2_APPEND_FL 0x00000020
92#define EXT2_NODUMP_FL 0x00000040
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094#define EXT2_NOATIME_FL 0x00000080
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080095#define EXT2_DIRTY_FL 0x00000100
96#define EXT2_COMPRBLK_FL 0x00000200
97#define EXT2_NOCOMP_FL 0x00000400
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099#define EXT2_ECOMPR_FL 0x00000800
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800100#define EXT2_BTREE_FL 0x00001000
101#define EXT2_INDEX_FL 0x00001000
102#define EXT2_IMAGIC_FL 0x00002000
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104#define EXT2_JOURNAL_DATA_FL 0x00004000
105#define EXT2_NOTAIL_FL 0x00008000
106#define EXT2_DIRSYNC_FL 0x00010000
107#define EXT2_TOPDIR_FL 0x00020000
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109#define EXT2_RESERVED_FL 0x80000000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800110#define EXT2_FL_USER_VISIBLE 0x0003DFFF
111#define EXT2_FL_USER_MODIFIABLE 0x000380FF
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800112#define EXT2_IOC_GETFLAGS _IOR('f', 1, long)
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114#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)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800117struct ext2_inode {
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119 __le16 i_mode;
120 __le16 i_uid;
121 __le32 i_size;
122 __le32 i_atime;
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124 __le32 i_ctime;
125 __le32 i_mtime;
126 __le32 i_dtime;
127 __le16 i_gid;
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129 __le16 i_links_count;
130 __le32 i_blocks;
131 __le32 i_flags;
132 union {
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134 struct {
135 __le32 l_i_reserved1;
136 } linux1;
137 struct {
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139 __le32 h_i_translator;
140 } hurd1;
141 struct {
142 __le32 m_i_reserved1;
Ben Cheng654325d2012-03-07 21:13:49 -0800143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800144 } masix1;
145 } osd1;
146 __le32 i_block[EXT2_N_BLOCKS];
147 __le32 i_generation;
Ben Cheng654325d2012-03-07 21:13:49 -0800148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800149 __le32 i_file_acl;
150 __le32 i_dir_acl;
151 __le32 i_faddr;
152 union {
Ben Cheng654325d2012-03-07 21:13:49 -0800153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800154 struct {
155 __u8 l_i_frag;
156 __u8 l_i_fsize;
157 __u16 i_pad1;
Ben Cheng654325d2012-03-07 21:13:49 -0800158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800159 __le16 l_i_uid_high;
160 __le16 l_i_gid_high;
161 __u32 l_i_reserved2;
162 } linux2;
Ben Cheng654325d2012-03-07 21:13:49 -0800163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800164 struct {
165 __u8 h_i_frag;
166 __u8 h_i_fsize;
167 __le16 h_i_mode_high;
Ben Cheng654325d2012-03-07 21:13:49 -0800168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800169 __le16 h_i_uid_high;
170 __le16 h_i_gid_high;
171 __le32 h_i_author;
172 } hurd2;
Ben Cheng654325d2012-03-07 21:13:49 -0800173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800174 struct {
175 __u8 m_i_frag;
176 __u8 m_i_fsize;
177 __u16 m_pad1;
Ben Cheng654325d2012-03-07 21:13:49 -0800178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800179 __u32 m_i_reserved2[2];
180 } masix2;
181 } osd2;
182};
Ben Cheng654325d2012-03-07 21:13:49 -0800183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800184#define i_size_high i_dir_acl
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800185#ifdef __linux__
186#define i_reserved1 osd1.linux1.l_i_reserved1
187#define i_frag osd2.linux2.l_i_frag
Ben Cheng654325d2012-03-07 21:13:49 -0800188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800189#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
Ben Cheng654325d2012-03-07 21:13:49 -0800193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800194#define i_gid_high osd2.linux2.l_i_gid_high
195#define i_reserved2 osd2.linux2.l_i_reserved2
196#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800197#ifdef __hurd__
Ben Cheng654325d2012-03-07 21:13:49 -0800198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800199#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
Ben Cheng654325d2012-03-07 21:13:49 -0800203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800204#define i_gid_high osd2.hurd2.h_i_gid_high
205#define i_author osd2.hurd2.h_i_author
206#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800207#ifdef __masix__
Ben Cheng654325d2012-03-07 21:13:49 -0800208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800209#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
Ben Cheng654325d2012-03-07 21:13:49 -0800213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800214#endif
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800215#define EXT2_VALID_FS 0x0001
216#define EXT2_ERROR_FS 0x0002
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800217#define EXT2_MOUNT_CHECK 0x000001
Ben Cheng654325d2012-03-07 21:13:49 -0800218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800219#define EXT2_MOUNT_OLDALLOC 0x000002
220#define EXT2_MOUNT_GRPID 0x000004
221#define EXT2_MOUNT_DEBUG 0x000008
222#define EXT2_MOUNT_ERRORS_CONT 0x000010
Ben Cheng654325d2012-03-07 21:13:49 -0800223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800224#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
Ben Cheng654325d2012-03-07 21:13:49 -0800228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800229#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
Ben Cheng654325d2012-03-07 21:13:49 -0800233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800234#define EXT2_MOUNT_USRQUOTA 0x020000
235#define EXT2_MOUNT_GRPQUOTA 0x040000
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800236#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt
237#define set_opt(o, opt) o |= EXT2_MOUNT_##opt
Ben Cheng654325d2012-03-07 21:13:49 -0800238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800239#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & EXT2_MOUNT_##opt)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800240#define EXT2_DFL_MAX_MNT_COUNT 20
241#define EXT2_DFL_CHECKINTERVAL 0
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800242#define EXT2_ERRORS_CONTINUE 1
Ben Cheng654325d2012-03-07 21:13:49 -0800243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800244#define EXT2_ERRORS_RO 2
245#define EXT2_ERRORS_PANIC 3
246#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800247struct ext2_super_block {
Ben Cheng654325d2012-03-07 21:13:49 -0800248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800249 __le32 s_inodes_count;
250 __le32 s_blocks_count;
251 __le32 s_r_blocks_count;
252 __le32 s_free_blocks_count;
Ben Cheng654325d2012-03-07 21:13:49 -0800253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800254 __le32 s_free_inodes_count;
255 __le32 s_first_data_block;
256 __le32 s_log_block_size;
257 __le32 s_log_frag_size;
Ben Cheng654325d2012-03-07 21:13:49 -0800258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800259 __le32 s_blocks_per_group;
260 __le32 s_frags_per_group;
261 __le32 s_inodes_per_group;
262 __le32 s_mtime;
Ben Cheng654325d2012-03-07 21:13:49 -0800263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800264 __le32 s_wtime;
265 __le16 s_mnt_count;
266 __le16 s_max_mnt_count;
267 __le16 s_magic;
Ben Cheng654325d2012-03-07 21:13:49 -0800268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800269 __le16 s_state;
270 __le16 s_errors;
271 __le16 s_minor_rev_level;
272 __le32 s_lastcheck;
Ben Cheng654325d2012-03-07 21:13:49 -0800273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800274 __le32 s_checkinterval;
275 __le32 s_creator_os;
276 __le32 s_rev_level;
277 __le16 s_def_resuid;
Ben Cheng654325d2012-03-07 21:13:49 -0800278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800279 __le16 s_def_resgid;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800280 __le32 s_first_ino;
281 __le16 s_inode_size;
282 __le16 s_block_group_nr;
Ben Cheng654325d2012-03-07 21:13:49 -0800283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800284 __le32 s_feature_compat;
285 __le32 s_feature_incompat;
286 __le32 s_feature_ro_compat;
287 __u8 s_uuid[16];
Ben Cheng654325d2012-03-07 21:13:49 -0800288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800289 char s_volume_name[16];
290 char s_last_mounted[64];
291 __le32 s_algorithm_usage_bitmap;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800292 __u8 s_prealloc_blocks;
Ben Cheng654325d2012-03-07 21:13:49 -0800293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800294 __u8 s_prealloc_dir_blocks;
295 __u16 s_padding1;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800296 __u8 s_journal_uuid[16];
297 __u32 s_journal_inum;
Ben Cheng654325d2012-03-07 21:13:49 -0800298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800299 __u32 s_journal_dev;
300 __u32 s_last_orphan;
301 __u32 s_hash_seed[4];
302 __u8 s_def_hash_version;
Ben Cheng654325d2012-03-07 21:13:49 -0800303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800304 __u8 s_reserved_char_pad;
305 __u16 s_reserved_word_pad;
306 __le32 s_default_mount_opts;
307 __le32 s_first_meta_bg;
Ben Cheng654325d2012-03-07 21:13:49 -0800308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800309 __u32 s_reserved[190];
310};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800311#define EXT2_OS_LINUX 0
312#define EXT2_OS_HURD 1
Ben Cheng654325d2012-03-07 21:13:49 -0800313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800314#define EXT2_OS_MASIX 2
315#define EXT2_OS_FREEBSD 3
316#define EXT2_OS_LITES 4
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800317#define EXT2_GOOD_OLD_REV 0
Ben Cheng654325d2012-03-07 21:13:49 -0800318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800319#define EXT2_DYNAMIC_REV 1
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800320#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV
321#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800322#define EXT2_GOOD_OLD_INODE_SIZE 128
Ben Cheng654325d2012-03-07 21:13:49 -0800323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800324#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)
Ben Cheng654325d2012-03-07 21:13:49 -0800328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800329#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)
Ben Cheng654325d2012-03-07 21:13:49 -0800333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800334#define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask) EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800335#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001
336#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002
337#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
Ben Cheng654325d2012-03-07 21:13:49 -0800338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800339#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
Ben Cheng654325d2012-03-07 21:13:49 -0800343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800344#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
Ben Cheng654325d2012-03-07 21:13:49 -0800348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800349#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
Ben Cheng654325d2012-03-07 21:13:49 -0800353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800354#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
355#define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800356#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)
Ben Cheng654325d2012-03-07 21:13:49 -0800358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800359#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
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800362#define EXT2_DEF_RESUID 0
Ben Cheng654325d2012-03-07 21:13:49 -0800363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800364#define EXT2_DEF_RESGID 0
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800365#define EXT2_DEFM_DEBUG 0x0001
366#define EXT2_DEFM_BSDGROUPS 0x0002
367#define EXT2_DEFM_XATTR_USER 0x0004
Ben Cheng654325d2012-03-07 21:13:49 -0800368/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800369#define EXT2_DEFM_ACL 0x0008
370#define EXT2_DEFM_UID16 0x0010
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800371#define EXT3_DEFM_JMODE 0x0060
372#define EXT3_DEFM_JMODE_DATA 0x0020
Ben Cheng654325d2012-03-07 21:13:49 -0800373/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800374#define EXT3_DEFM_JMODE_ORDERED 0x0040
375#define EXT3_DEFM_JMODE_WBACK 0x0060
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800376#define EXT2_NAME_LEN 255
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800377struct ext2_dir_entry {
Ben Cheng654325d2012-03-07 21:13:49 -0800378/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800379 __le32 inode;
380 __le16 rec_len;
381 __le16 name_len;
382 char name[EXT2_NAME_LEN];
Ben Cheng654325d2012-03-07 21:13:49 -0800383/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800384};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800385struct ext2_dir_entry_2 {
386 __le32 inode;
387 __le16 rec_len;
Ben Cheng654325d2012-03-07 21:13:49 -0800388/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800389 __u8 name_len;
390 __u8 file_type;
391 char name[EXT2_NAME_LEN];
392};
Ben Cheng654325d2012-03-07 21:13:49 -0800393/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800394enum {
395 EXT2_FT_UNKNOWN,
396 EXT2_FT_REG_FILE,
397 EXT2_FT_DIR,
Ben Cheng654325d2012-03-07 21:13:49 -0800398/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800399 EXT2_FT_CHRDEV,
400 EXT2_FT_BLKDEV,
401 EXT2_FT_FIFO,
402 EXT2_FT_SOCK,
Ben Cheng654325d2012-03-07 21:13:49 -0800403/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800404 EXT2_FT_SYMLINK,
405 EXT2_FT_MAX
406};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800407#define EXT2_DIR_PAD 4
Ben Cheng654325d2012-03-07 21:13:49 -0800408/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800409#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)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800411#endif