5.3.1.3.1. EXT2 Inode Structure
struct ext2_inode {
__u16 i_mode; /* File mode */
__u16 i_uid; /* Owner ID */
__u32 i_size; /* Size in bytes */
__u32 i_atime; /* Access time */
__u32 i_ctime; /* Creation time */
__u32 i_mtime; /* Modification time */
__u32 i_dtime; /* Deletion Time */
__u16 i_gid; /* Group ID */
__u16 i_links_count; /* Links count */
__u32 i_blocks; /* Blocks count */
__u32 i_flags; /* File flags */
__u32 i_block [EXT2_N_BLOCKS]; /* Ptrs to blocks */
__u32 i_version; /* File version for NFS */
__u32 i_file_acl; /* File ACL */
__u32 i_dir_acl; /* Directory ACL */
__u32 i_faddr; /* Fragment address */
__u8 l_i_frag; /* Fragment number */
__u8 l_i_fsize; /* Fragment size */
};
#define EXT2_DIR_BLOCKS 12
#define EXT2_IND_BLOCK EXT2_DIR_BLOCKS
#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1)
#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1)
#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1)
#define EXT2_SECRM_FL 0x00000001 /* Secure del */
#define EXT2_SYNC_FL 0x00000008 /* Sync update */
#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable */
#define EXT2_APPEND_FL 0x00000020 /* Only ap */