You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
976 lines
21 KiB
976 lines
21 KiB
Extended 2 filesystem structure definitions for ext2ed. |
|
|
|
Most of this file is just copied from the ext2 main include file. |
|
|
|
My parser is very primitive - It only searches for the struct keywords, |
|
and uses the variables in there. The rest of the file is just ignored. |
|
|
|
You will find at the end a few additional types which are not aviable in |
|
the original include file, such as the types "file" and "dir". They have |
|
no variables, but are necessary due to the way ext2ed binds C commands |
|
to specific types. |
|
|
|
Gadi Oxman, 7/95 |
|
|
|
Here is the original copyright: |
|
|
|
/* |
|
* linux/include/linux/ext2_fs.h |
|
* |
|
* Copyright (C) 1992, 1993, 1994 Remy Card (card@masi.ibp.fr) |
|
* Laboratoire MASI - Institut Blaise Pascal |
|
* Universite Pierre et Marie Curie (Paris VI) |
|
* |
|
* from |
|
* |
|
* linux/include/linux/minix_fs.h |
|
* |
|
* Copyright (C) 1991, 1992 Linus Torvalds |
|
*/ |
|
|
|
|
|
/* |
|
* ACL structures |
|
*/ |
|
struct ext2_acl_header /* Header of Access Control Lists */ |
|
{ |
|
unsigned long aclh_size; |
|
unsigned long aclh_file_count; |
|
unsigned long aclh_acle_count; |
|
unsigned long aclh_first_acle; |
|
}; |
|
|
|
struct ext2_acl_entry /* Access Control List Entry */ |
|
{ |
|
unsigned long acle_size; |
|
unsigned short acle_perms; /* Access permissions */ |
|
unsigned short acle_type; /* Type of entry */ |
|
unsigned short acle_tag; /* User or group identity */ |
|
unsigned short acle_pad1; |
|
unsigned long acle_next; /* Pointer on next entry for the */ |
|
/* same inode or on next free entry */ |
|
}; |
|
|
|
/* |
|
* Structure of a blocks group descriptor |
|
*/ |
|
|
|
struct ext2_group_desc |
|
{ |
|
__u32 bg_block_bitmap; /* Blocks bitmap block */ |
|
__u32 bg_inode_bitmap; /* Inodes bitmap block */ |
|
__u32 bg_inode_table; /* Inodes table block */ |
|
__u16 bg_free_blocks_count; /* Free blocks count */ |
|
__u16 bg_free_inodes_count; /* Free inodes count */ |
|
__u16 bg_used_dirs_count; /* Directories count */ |
|
__u16 bg_pad; |
|
__u32 bg_reserved[0]; |
|
__u32 bg_reserved[1]; |
|
__u32 bg_reserved[2]; |
|
}; |
|
|
|
/* |
|
* Structure of an inode on the disk |
|
*/ |
|
struct ext2_inode { |
|
__u16 i_mode; /* File mode */ |
|
__u16 i_uid; /* Owner Uid */ |
|
__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 l_i_reserved1; |
|
__u32 i_block[0]; /* Pointers to blocks */ |
|
__u32 i_block[1]; /* Pointers to blocks */ |
|
__u32 i_block[2]; /* Pointers to blocks */ |
|
__u32 i_block[3]; /* Pointers to blocks */ |
|
__u32 i_block[4]; /* Pointers to blocks */ |
|
__u32 i_block[5]; /* Pointers to blocks */ |
|
__u32 i_block[6]; /* Pointers to blocks */ |
|
__u32 i_block[7]; /* Pointers to blocks */ |
|
__u32 i_block[8]; /* Pointers to blocks */ |
|
__u32 i_block[9]; /* Pointers to blocks */ |
|
__u32 i_block[10]; /* Pointers to blocks */ |
|
__u32 i_block[11]; /* Pointers to blocks */ |
|
__u32 i_block[12]; /* Pointers to blocks */ |
|
__u32 i_block[13]; /* Pointers to blocks */ |
|
__u32 i_block[14]; /* Pointers 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 */ |
|
__u16 i_pad1; |
|
__u16 l_i_uid_high; /* these 2 fields */ |
|
__u16 l_i_gid_high; /* were reserved2[0] */ |
|
__u32 l_i_reserved2; |
|
}; |
|
|
|
/* |
|
* Structure of the super block |
|
*/ |
|
struct ext2_super_block { |
|
__u32 s_inodes_count; /* Inodes count */ |
|
__u32 s_blocks_count; /* Blocks count */ |
|
__u32 s_r_blocks_count; /* Reserved blocks count */ |
|
__u32 s_free_blocks_count; /* Free blocks count */ |
|
__u32 s_free_inodes_count; /* Free inodes count */ |
|
__u32 s_first_data_block; /* First Data Block */ |
|
__u32 s_log_block_size; /* Block size */ |
|
__s32 s_log_frag_size; /* Fragment size */ |
|
__u32 s_blocks_per_group; /* # Blocks per group */ |
|
__u32 s_frags_per_group; /* # Fragments per group */ |
|
__u32 s_inodes_per_group; /* # Inodes per group */ |
|
__u32 s_mtime; /* Mount time */ |
|
__u32 s_wtime; /* Write time */ |
|
__u16 s_mnt_count; /* Mount count */ |
|
__s16 s_max_mnt_count; /* Maximal mount count */ |
|
__u16 s_magic; /* Magic signature */ |
|
__u16 s_state; /* File system state */ |
|
__u16 s_errors; /* Behaviour when detecting errors */ |
|
__u16 s_minor_rev_level; /* minor revision level */ |
|
__u32 s_lastcheck; /* time of last check */ |
|
__u32 s_checkinterval; /* max. time between checks */ |
|
__u32 s_creator_os; /* OS */ |
|
__u32 s_rev_level; /* Revision level */ |
|
__u16 s_def_resuid; /* Default uid for reserved blocks */ |
|
__u16 s_def_resgid; /* Default gid for reserved blocks */ |
|
__u32 s_first_ino; /* First non-reserved inode */ |
|
__u16 s_inode_size; /* size of inode structure */ |
|
__u16 s_block_group_nr; /* block group # of this superblock */ |
|
__u32 s_feature_compat; /* compatible feature set */ |
|
__u32 s_feature_incompat; /* incompatible feature set */ |
|
__u32 s_feature_ro_compat; /* readonly-compatible feature set */ |
|
char[16] s_uuid; /* 128-bit uuid for volume */ |
|
char[16] s_volume_name; /* volume name */ |
|
char[64] s_last_mounted; /* directory where last mounted */ |
|
__u32 s_algorithm_usage_bitmap; /* For compression */ |
|
/* |
|
* Performance hints. Directory preallocation should only |
|
* happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. |
|
*/ |
|
__u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ |
|
__u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ |
|
__u16 s_padding1; |
|
/* |
|
* Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. |
|
*/ |
|
char[16] s_journal_uuid; /* uuid of journal superblock */ |
|
__u32 s_journal_inum; /* inode number of journal file */ |
|
__u32 s_journal_dev; /* device number of journal file */ |
|
__u32 s_last_orphan; /* start of list of inodes to delete */ |
|
|
|
|
|
__u32 s_reserved[0]; /* Padding to the end of the block */ |
|
__u32 s_reserved[1]; |
|
__u32 s_reserved[2]; |
|
__u32 s_reserved[3]; |
|
__u32 s_reserved[4]; |
|
__u32 s_reserved[5]; |
|
__u32 s_reserved[6]; |
|
__u32 s_reserved[7]; |
|
__u32 s_reserved[8]; |
|
__u32 s_reserved[9]; |
|
__u32 s_reserved[10]; |
|
__u32 s_reserved[11]; |
|
__u32 s_reserved[12]; |
|
__u32 s_reserved[13]; |
|
__u32 s_reserved[14]; |
|
__u32 s_reserved[15]; |
|
__u32 s_reserved[16]; |
|
__u32 s_reserved[17]; |
|
__u32 s_reserved[18]; |
|
__u32 s_reserved[19]; |
|
__u32 s_reserved[20]; |
|
__u32 s_reserved[21]; |
|
__u32 s_reserved[22]; |
|
__u32 s_reserved[23]; |
|
__u32 s_reserved[24]; |
|
__u32 s_reserved[25]; |
|
__u32 s_reserved[26]; |
|
__u32 s_reserved[27]; |
|
__u32 s_reserved[28]; |
|
__u32 s_reserved[29]; |
|
__u32 s_reserved[30]; |
|
__u32 s_reserved[31]; |
|
__u32 s_reserved[32]; |
|
__u32 s_reserved[33]; |
|
__u32 s_reserved[34]; |
|
__u32 s_reserved[35]; |
|
__u32 s_reserved[36]; |
|
__u32 s_reserved[37]; |
|
__u32 s_reserved[38]; |
|
__u32 s_reserved[39]; |
|
__u32 s_reserved[40]; |
|
__u32 s_reserved[41]; |
|
__u32 s_reserved[42]; |
|
__u32 s_reserved[43]; |
|
__u32 s_reserved[44]; |
|
__u32 s_reserved[45]; |
|
__u32 s_reserved[46]; |
|
__u32 s_reserved[47]; |
|
__u32 s_reserved[48]; |
|
__u32 s_reserved[49]; |
|
__u32 s_reserved[50]; |
|
__u32 s_reserved[51]; |
|
__u32 s_reserved[52]; |
|
__u32 s_reserved[53]; |
|
__u32 s_reserved[54]; |
|
__u32 s_reserved[55]; |
|
__u32 s_reserved[56]; |
|
__u32 s_reserved[57]; |
|
__u32 s_reserved[58]; |
|
__u32 s_reserved[59]; |
|
__u32 s_reserved[60]; |
|
__u32 s_reserved[61]; |
|
__u32 s_reserved[62]; |
|
__u32 s_reserved[63]; |
|
__u32 s_reserved[64]; |
|
__u32 s_reserved[65]; |
|
__u32 s_reserved[66]; |
|
__u32 s_reserved[67]; |
|
__u32 s_reserved[68]; |
|
__u32 s_reserved[69]; |
|
__u32 s_reserved[70]; |
|
__u32 s_reserved[71]; |
|
__u32 s_reserved[72]; |
|
__u32 s_reserved[73]; |
|
__u32 s_reserved[74]; |
|
__u32 s_reserved[75]; |
|
__u32 s_reserved[76]; |
|
__u32 s_reserved[77]; |
|
__u32 s_reserved[78]; |
|
__u32 s_reserved[79]; |
|
__u32 s_reserved[80]; |
|
__u32 s_reserved[81]; |
|
__u32 s_reserved[82]; |
|
__u32 s_reserved[83]; |
|
__u32 s_reserved[84]; |
|
__u32 s_reserved[85]; |
|
__u32 s_reserved[86]; |
|
__u32 s_reserved[87]; |
|
__u32 s_reserved[88]; |
|
__u32 s_reserved[89]; |
|
__u32 s_reserved[90]; |
|
__u32 s_reserved[91]; |
|
__u32 s_reserved[92]; |
|
__u32 s_reserved[93]; |
|
__u32 s_reserved[94]; |
|
__u32 s_reserved[95]; |
|
__u32 s_reserved[96]; |
|
__u32 s_reserved[97]; |
|
__u32 s_reserved[98]; |
|
__u32 s_reserved[99]; |
|
__u32 s_reserved[100]; |
|
__u32 s_reserved[101]; |
|
__u32 s_reserved[102]; |
|
__u32 s_reserved[103]; |
|
__u32 s_reserved[104]; |
|
__u32 s_reserved[105]; |
|
__u32 s_reserved[106]; |
|
__u32 s_reserved[107]; |
|
__u32 s_reserved[108]; |
|
__u32 s_reserved[109]; |
|
__u32 s_reserved[110]; |
|
__u32 s_reserved[111]; |
|
__u32 s_reserved[112]; |
|
__u32 s_reserved[113]; |
|
__u32 s_reserved[114]; |
|
__u32 s_reserved[115]; |
|
__u32 s_reserved[116]; |
|
__u32 s_reserved[117]; |
|
__u32 s_reserved[118]; |
|
__u32 s_reserved[119]; |
|
__u32 s_reserved[120]; |
|
__u32 s_reserved[121]; |
|
__u32 s_reserved[122]; |
|
__u32 s_reserved[123]; |
|
__u32 s_reserved[124]; |
|
__u32 s_reserved[125]; |
|
__u32 s_reserved[126]; |
|
__u32 s_reserved[127]; |
|
__u32 s_reserved[128]; |
|
__u32 s_reserved[129]; |
|
__u32 s_reserved[130]; |
|
__u32 s_reserved[131]; |
|
__u32 s_reserved[132]; |
|
__u32 s_reserved[133]; |
|
__u32 s_reserved[134]; |
|
__u32 s_reserved[135]; |
|
__u32 s_reserved[136]; |
|
__u32 s_reserved[137]; |
|
__u32 s_reserved[138]; |
|
__u32 s_reserved[139]; |
|
__u32 s_reserved[140]; |
|
__u32 s_reserved[141]; |
|
__u32 s_reserved[142]; |
|
__u32 s_reserved[143]; |
|
__u32 s_reserved[144]; |
|
__u32 s_reserved[145]; |
|
__u32 s_reserved[146]; |
|
__u32 s_reserved[147]; |
|
__u32 s_reserved[148]; |
|
__u32 s_reserved[149]; |
|
__u32 s_reserved[150]; |
|
__u32 s_reserved[151]; |
|
__u32 s_reserved[152]; |
|
__u32 s_reserved[153]; |
|
__u32 s_reserved[154]; |
|
__u32 s_reserved[155]; |
|
__u32 s_reserved[156]; |
|
__u32 s_reserved[157]; |
|
__u32 s_reserved[158]; |
|
__u32 s_reserved[159]; |
|
__u32 s_reserved[160]; |
|
__u32 s_reserved[161]; |
|
__u32 s_reserved[162]; |
|
__u32 s_reserved[163]; |
|
__u32 s_reserved[164]; |
|
__u32 s_reserved[165]; |
|
__u32 s_reserved[166]; |
|
__u32 s_reserved[167]; |
|
__u32 s_reserved[168]; |
|
__u32 s_reserved[169]; |
|
__u32 s_reserved[170]; |
|
__u32 s_reserved[171]; |
|
__u32 s_reserved[172]; |
|
__u32 s_reserved[173]; |
|
__u32 s_reserved[174]; |
|
__u32 s_reserved[175]; |
|
__u32 s_reserved[176]; |
|
__u32 s_reserved[177]; |
|
__u32 s_reserved[178]; |
|
__u32 s_reserved[179]; |
|
__u32 s_reserved[180]; |
|
__u32 s_reserved[181]; |
|
__u32 s_reserved[182]; |
|
__u32 s_reserved[183]; |
|
__u32 s_reserved[184]; |
|
__u32 s_reserved[185]; |
|
__u32 s_reserved[186]; |
|
__u32 s_reserved[187]; |
|
__u32 s_reserved[188]; |
|
__u32 s_reserved[189]; |
|
__u32 s_reserved[190]; |
|
__u32 s_reserved[191]; |
|
__u32 s_reserved[192]; |
|
__u32 s_reserved[193]; |
|
__u32 s_reserved[194]; |
|
__u32 s_reserved[195]; |
|
__u32 s_reserved[196]; |
|
}; |
|
|
|
The following is actually not used, due to the variable length of the |
|
name field. EXT2ED handles directories through the type "dir" below. |
|
|
|
/* |
|
* Structure of a directory entry |
|
*/ |
|
|
|
/* struct ext2_dir_entry { */ |
|
/* |
|
__u32 inode; /* Inode number */ |
|
__u16 rec_len; /* Directory entry length */ |
|
__u16 name_len; /* Name length */ |
|
char name[EXT2_NAME_LEN]; /* File name */ |
|
}; |
|
*/ |
|
|
|
struct file { |
|
}; |
|
|
|
struct dir { |
|
}; |
|
|
|
struct block_bitmap { |
|
}; |
|
|
|
struct inode_bitmap { |
|
}; |
|
|
|
struct ext2_dx_root_node { |
|
__u32 dot_inode; |
|
__u16 dot_rec_len; |
|
__u8 dot_name_len; |
|
__u8 dot_file_type; |
|
char[4] dot_name; |
|
__u32 dot_dot_inode; |
|
__u16 dot_dot_rec_len; |
|
__u8 dot_dot_name_len; |
|
__u8 dot_dot_file_type; |
|
char[4] dot_dot_name; |
|
__u32 reserved_zero; |
|
__u8 hash_version; /* 0 now, 1 at release */ |
|
__u8 info_length; /* 8 */ |
|
__u8 indirect_levels; |
|
__u8 unused_flags; |
|
__u16 limit; |
|
__u16 count; |
|
__u32 block[0]; |
|
__u32 hash[1]; |
|
__u32 block[1]; |
|
__u32 hash[2]; |
|
__u32 block[2]; |
|
__u32 hash[3]; |
|
__u32 block[3]; |
|
__u32 hash[4]; |
|
__u32 block[4]; |
|
__u32 hash[5]; |
|
__u32 block[5]; |
|
__u32 hash[6]; |
|
__u32 block[6]; |
|
__u32 hash[7]; |
|
__u32 block[7]; |
|
__u32 hash[8]; |
|
__u32 block[8]; |
|
__u32 hash[9]; |
|
__u32 block[9]; |
|
__u32 hash[10]; |
|
__u32 block[10]; |
|
__u32 hash[11]; |
|
__u32 block[11]; |
|
__u32 hash[12]; |
|
__u32 block[12]; |
|
__u32 hash[13]; |
|
__u32 block[13]; |
|
__u32 hash[14]; |
|
__u32 block[14]; |
|
__u32 hash[15]; |
|
__u32 block[15]; |
|
__u32 hash[16]; |
|
__u32 block[16]; |
|
__u32 hash[17]; |
|
__u32 block[17]; |
|
__u32 hash[18]; |
|
__u32 block[18]; |
|
__u32 hash[19]; |
|
__u32 block[19]; |
|
__u32 hash[20]; |
|
__u32 block[20]; |
|
__u32 hash[21]; |
|
__u32 block[21]; |
|
__u32 hash[22]; |
|
__u32 block[22]; |
|
__u32 hash[23]; |
|
__u32 block[23]; |
|
__u32 hash[24]; |
|
__u32 block[24]; |
|
__u32 hash[25]; |
|
__u32 block[25]; |
|
__u32 hash[26]; |
|
__u32 block[26]; |
|
__u32 hash[27]; |
|
__u32 block[27]; |
|
__u32 hash[28]; |
|
__u32 block[28]; |
|
__u32 hash[29]; |
|
__u32 block[29]; |
|
__u32 hash[30]; |
|
__u32 block[30]; |
|
__u32 hash[31]; |
|
__u32 block[31]; |
|
__u32 hash[32]; |
|
__u32 block[32]; |
|
__u32 hash[33]; |
|
__u32 block[33]; |
|
__u32 hash[34]; |
|
__u32 block[34]; |
|
__u32 hash[35]; |
|
__u32 block[35]; |
|
__u32 hash[36]; |
|
__u32 block[36]; |
|
__u32 hash[37]; |
|
__u32 block[37]; |
|
__u32 hash[38]; |
|
__u32 block[38]; |
|
__u32 hash[39]; |
|
__u32 block[39]; |
|
__u32 hash[40]; |
|
__u32 block[40]; |
|
__u32 hash[41]; |
|
__u32 block[41]; |
|
__u32 hash[42]; |
|
__u32 block[42]; |
|
__u32 hash[43]; |
|
__u32 block[43]; |
|
__u32 hash[44]; |
|
__u32 block[44]; |
|
__u32 hash[45]; |
|
__u32 block[45]; |
|
__u32 hash[46]; |
|
__u32 block[46]; |
|
__u32 hash[47]; |
|
__u32 block[47]; |
|
__u32 hash[48]; |
|
__u32 block[48]; |
|
__u32 hash[49]; |
|
__u32 block[49]; |
|
__u32 hash[50]; |
|
__u32 block[50]; |
|
__u32 hash[51]; |
|
__u32 block[51]; |
|
__u32 hash[52]; |
|
__u32 block[52]; |
|
__u32 hash[53]; |
|
__u32 block[53]; |
|
__u32 hash[54]; |
|
__u32 block[54]; |
|
__u32 hash[55]; |
|
__u32 block[55]; |
|
__u32 hash[56]; |
|
__u32 block[56]; |
|
__u32 hash[57]; |
|
__u32 block[57]; |
|
__u32 hash[58]; |
|
__u32 block[58]; |
|
__u32 hash[59]; |
|
__u32 block[59]; |
|
__u32 hash[60]; |
|
__u32 block[60]; |
|
__u32 hash[61]; |
|
__u32 block[61]; |
|
__u32 hash[62]; |
|
__u32 block[62]; |
|
__u32 hash[63]; |
|
__u32 block[63]; |
|
__u32 hash[64]; |
|
__u32 block[64]; |
|
__u32 hash[65]; |
|
__u32 block[65]; |
|
__u32 hash[66]; |
|
__u32 block[66]; |
|
__u32 hash[67]; |
|
__u32 block[67]; |
|
__u32 hash[68]; |
|
__u32 block[68]; |
|
__u32 hash[69]; |
|
__u32 block[69]; |
|
__u32 hash[70]; |
|
__u32 block[70]; |
|
__u32 hash[71]; |
|
__u32 block[71]; |
|
__u32 hash[72]; |
|
__u32 block[72]; |
|
__u32 hash[73]; |
|
__u32 block[73]; |
|
__u32 hash[74]; |
|
__u32 block[74]; |
|
__u32 hash[75]; |
|
__u32 block[75]; |
|
__u32 hash[76]; |
|
__u32 block[76]; |
|
__u32 hash[77]; |
|
__u32 block[77]; |
|
__u32 hash[78]; |
|
__u32 block[78]; |
|
__u32 hash[79]; |
|
__u32 block[79]; |
|
__u32 hash[80]; |
|
__u32 block[80]; |
|
__u32 hash[81]; |
|
__u32 block[81]; |
|
__u32 hash[82]; |
|
__u32 block[82]; |
|
__u32 hash[83]; |
|
__u32 block[83]; |
|
__u32 hash[84]; |
|
__u32 block[84]; |
|
__u32 hash[85]; |
|
__u32 block[85]; |
|
__u32 hash[86]; |
|
__u32 block[86]; |
|
__u32 hash[87]; |
|
__u32 block[87]; |
|
__u32 hash[88]; |
|
__u32 block[88]; |
|
__u32 hash[89]; |
|
__u32 block[89]; |
|
__u32 hash[80]; |
|
__u32 block[80]; |
|
__u32 hash[81]; |
|
__u32 block[81]; |
|
__u32 hash[82]; |
|
__u32 block[82]; |
|
__u32 hash[83]; |
|
__u32 block[83]; |
|
__u32 hash[84]; |
|
__u32 block[84]; |
|
__u32 hash[85]; |
|
__u32 block[85]; |
|
__u32 hash[86]; |
|
__u32 block[86]; |
|
__u32 hash[87]; |
|
__u32 block[87]; |
|
__u32 hash[88]; |
|
__u32 block[88]; |
|
__u32 hash[89]; |
|
__u32 block[89]; |
|
__u32 hash[90]; |
|
__u32 block[90]; |
|
__u32 hash[91]; |
|
__u32 block[91]; |
|
__u32 hash[92]; |
|
__u32 block[92]; |
|
__u32 hash[93]; |
|
__u32 block[93]; |
|
__u32 hash[94]; |
|
__u32 block[94]; |
|
__u32 hash[95]; |
|
__u32 block[95]; |
|
__u32 hash[96]; |
|
__u32 block[96]; |
|
__u32 hash[97]; |
|
__u32 block[97]; |
|
__u32 hash[98]; |
|
__u32 block[98]; |
|
__u32 hash[99]; |
|
__u32 block[99]; |
|
__u32 hash[100]; |
|
__u32 block[100]; |
|
__u32 hash[101]; |
|
__u32 block[101]; |
|
__u32 hash[102]; |
|
__u32 block[102]; |
|
__u32 hash[103]; |
|
__u32 block[103]; |
|
__u32 hash[104]; |
|
__u32 block[104]; |
|
__u32 hash[105]; |
|
__u32 block[105]; |
|
__u32 hash[106]; |
|
__u32 block[106]; |
|
__u32 hash[107]; |
|
__u32 block[107]; |
|
__u32 hash[108]; |
|
__u32 block[108]; |
|
__u32 hash[109]; |
|
__u32 block[109]; |
|
__u32 hash[110]; |
|
__u32 block[110]; |
|
__u32 hash[111]; |
|
__u32 block[111]; |
|
__u32 hash[112]; |
|
__u32 block[112]; |
|
__u32 hash[113]; |
|
__u32 block[113]; |
|
__u32 hash[114]; |
|
__u32 block[114]; |
|
__u32 hash[115]; |
|
__u32 block[115]; |
|
__u32 hash[116]; |
|
__u32 block[116]; |
|
__u32 hash[117]; |
|
__u32 block[117]; |
|
__u32 hash[118]; |
|
__u32 block[118]; |
|
__u32 hash[119]; |
|
__u32 block[119]; |
|
__u32 hash[120]; |
|
__u32 block[120]; |
|
__u32 hash[121]; |
|
__u32 block[121]; |
|
__u32 hash[122]; |
|
__u32 block[122]; |
|
__u32 hash[123]; |
|
__u32 block[123]; |
|
__u32 hash[124]; |
|
__u32 block[124]; |
|
__u32 hash[125]; |
|
__u32 block[125]; |
|
__u32 hash[126]; |
|
__u32 block[126]; |
|
__u32 hash[127]; |
|
__u32 block[127]; |
|
}; |
|
|
|
struct ext2_dx_int_node { |
|
__u32 fake_inode; |
|
__u16 fake_rec_len; |
|
__u8 fake_name_len; |
|
__u8 fake_file_type; |
|
__u16 limit; |
|
__u16 count; |
|
__u32 block[0]; |
|
__u32 hash[1]; |
|
__u32 block[1]; |
|
__u32 hash[2]; |
|
__u32 block[2]; |
|
__u32 hash[3]; |
|
__u32 block[3]; |
|
__u32 hash[4]; |
|
__u32 block[4]; |
|
__u32 hash[5]; |
|
__u32 block[5]; |
|
__u32 hash[6]; |
|
__u32 block[6]; |
|
__u32 hash[7]; |
|
__u32 block[7]; |
|
__u32 hash[8]; |
|
__u32 block[8]; |
|
__u32 hash[9]; |
|
__u32 block[9]; |
|
__u32 hash[10]; |
|
__u32 block[10]; |
|
__u32 hash[11]; |
|
__u32 block[11]; |
|
__u32 hash[12]; |
|
__u32 block[12]; |
|
__u32 hash[13]; |
|
__u32 block[13]; |
|
__u32 hash[14]; |
|
__u32 block[14]; |
|
__u32 hash[15]; |
|
__u32 block[15]; |
|
__u32 hash[16]; |
|
__u32 block[16]; |
|
__u32 hash[17]; |
|
__u32 block[17]; |
|
__u32 hash[18]; |
|
__u32 block[18]; |
|
__u32 hash[19]; |
|
__u32 block[19]; |
|
__u32 hash[20]; |
|
__u32 block[20]; |
|
__u32 hash[21]; |
|
__u32 block[21]; |
|
__u32 hash[22]; |
|
__u32 block[22]; |
|
__u32 hash[23]; |
|
__u32 block[23]; |
|
__u32 hash[24]; |
|
__u32 block[24]; |
|
__u32 hash[25]; |
|
__u32 block[25]; |
|
__u32 hash[26]; |
|
__u32 block[26]; |
|
__u32 hash[27]; |
|
__u32 block[27]; |
|
__u32 hash[28]; |
|
__u32 block[28]; |
|
__u32 hash[29]; |
|
__u32 block[29]; |
|
__u32 hash[30]; |
|
__u32 block[30]; |
|
__u32 hash[31]; |
|
__u32 block[31]; |
|
__u32 hash[32]; |
|
__u32 block[32]; |
|
__u32 hash[33]; |
|
__u32 block[33]; |
|
__u32 hash[34]; |
|
__u32 block[34]; |
|
__u32 hash[35]; |
|
__u32 block[35]; |
|
__u32 hash[36]; |
|
__u32 block[36]; |
|
__u32 hash[37]; |
|
__u32 block[37]; |
|
__u32 hash[38]; |
|
__u32 block[38]; |
|
__u32 hash[39]; |
|
__u32 block[39]; |
|
__u32 hash[40]; |
|
__u32 block[40]; |
|
__u32 hash[41]; |
|
__u32 block[41]; |
|
__u32 hash[42]; |
|
__u32 block[42]; |
|
__u32 hash[43]; |
|
__u32 block[43]; |
|
__u32 hash[44]; |
|
__u32 block[44]; |
|
__u32 hash[45]; |
|
__u32 block[45]; |
|
__u32 hash[46]; |
|
__u32 block[46]; |
|
__u32 hash[47]; |
|
__u32 block[47]; |
|
__u32 hash[48]; |
|
__u32 block[48]; |
|
__u32 hash[49]; |
|
__u32 block[49]; |
|
__u32 hash[50]; |
|
__u32 block[50]; |
|
__u32 hash[51]; |
|
__u32 block[51]; |
|
__u32 hash[52]; |
|
__u32 block[52]; |
|
__u32 hash[53]; |
|
__u32 block[53]; |
|
__u32 hash[54]; |
|
__u32 block[54]; |
|
__u32 hash[55]; |
|
__u32 block[55]; |
|
__u32 hash[56]; |
|
__u32 block[56]; |
|
__u32 hash[57]; |
|
__u32 block[57]; |
|
__u32 hash[58]; |
|
__u32 block[58]; |
|
__u32 hash[59]; |
|
__u32 block[59]; |
|
__u32 hash[60]; |
|
__u32 block[60]; |
|
__u32 hash[61]; |
|
__u32 block[61]; |
|
__u32 hash[62]; |
|
__u32 block[62]; |
|
__u32 hash[63]; |
|
__u32 block[63]; |
|
__u32 hash[64]; |
|
__u32 block[64]; |
|
__u32 hash[65]; |
|
__u32 block[65]; |
|
__u32 hash[66]; |
|
__u32 block[66]; |
|
__u32 hash[67]; |
|
__u32 block[67]; |
|
__u32 hash[68]; |
|
__u32 block[68]; |
|
__u32 hash[69]; |
|
__u32 block[69]; |
|
__u32 hash[70]; |
|
__u32 block[70]; |
|
__u32 hash[71]; |
|
__u32 block[71]; |
|
__u32 hash[72]; |
|
__u32 block[72]; |
|
__u32 hash[73]; |
|
__u32 block[73]; |
|
__u32 hash[74]; |
|
__u32 block[74]; |
|
__u32 hash[75]; |
|
__u32 block[75]; |
|
__u32 hash[76]; |
|
__u32 block[76]; |
|
__u32 hash[77]; |
|
__u32 block[77]; |
|
__u32 hash[78]; |
|
__u32 block[78]; |
|
__u32 hash[79]; |
|
__u32 block[79]; |
|
__u32 hash[80]; |
|
__u32 block[80]; |
|
__u32 hash[81]; |
|
__u32 block[81]; |
|
__u32 hash[82]; |
|
__u32 block[82]; |
|
__u32 hash[83]; |
|
__u32 block[83]; |
|
__u32 hash[84]; |
|
__u32 block[84]; |
|
__u32 hash[85]; |
|
__u32 block[85]; |
|
__u32 hash[86]; |
|
__u32 block[86]; |
|
__u32 hash[87]; |
|
__u32 block[87]; |
|
__u32 hash[88]; |
|
__u32 block[88]; |
|
__u32 hash[89]; |
|
__u32 block[89]; |
|
__u32 hash[80]; |
|
__u32 block[80]; |
|
__u32 hash[81]; |
|
__u32 block[81]; |
|
__u32 hash[82]; |
|
__u32 block[82]; |
|
__u32 hash[83]; |
|
__u32 block[83]; |
|
__u32 hash[84]; |
|
__u32 block[84]; |
|
__u32 hash[85]; |
|
__u32 block[85]; |
|
__u32 hash[86]; |
|
__u32 block[86]; |
|
__u32 hash[87]; |
|
__u32 block[87]; |
|
__u32 hash[88]; |
|
__u32 block[88]; |
|
__u32 hash[89]; |
|
__u32 block[89]; |
|
__u32 hash[90]; |
|
__u32 block[90]; |
|
__u32 hash[91]; |
|
__u32 block[91]; |
|
__u32 hash[92]; |
|
__u32 block[92]; |
|
__u32 hash[93]; |
|
__u32 block[93]; |
|
__u32 hash[94]; |
|
__u32 block[94]; |
|
__u32 hash[95]; |
|
__u32 block[95]; |
|
__u32 hash[96]; |
|
__u32 block[96]; |
|
__u32 hash[97]; |
|
__u32 block[97]; |
|
__u32 hash[98]; |
|
__u32 block[98]; |
|
__u32 hash[99]; |
|
__u32 block[99]; |
|
__u32 hash[100]; |
|
__u32 block[100]; |
|
__u32 hash[101]; |
|
__u32 block[101]; |
|
__u32 hash[102]; |
|
__u32 block[102]; |
|
__u32 hash[103]; |
|
__u32 block[103]; |
|
__u32 hash[104]; |
|
__u32 block[104]; |
|
__u32 hash[105]; |
|
__u32 block[105]; |
|
__u32 hash[106]; |
|
__u32 block[106]; |
|
__u32 hash[107]; |
|
__u32 block[107]; |
|
__u32 hash[108]; |
|
__u32 block[108]; |
|
__u32 hash[109]; |
|
__u32 block[109]; |
|
__u32 hash[110]; |
|
__u32 block[110]; |
|
__u32 hash[111]; |
|
__u32 block[111]; |
|
__u32 hash[112]; |
|
__u32 block[112]; |
|
__u32 hash[113]; |
|
__u32 block[113]; |
|
__u32 hash[114]; |
|
__u32 block[114]; |
|
__u32 hash[115]; |
|
__u32 block[115]; |
|
__u32 hash[116]; |
|
__u32 block[116]; |
|
__u32 hash[117]; |
|
__u32 block[117]; |
|
__u32 hash[118]; |
|
__u32 block[118]; |
|
__u32 hash[119]; |
|
__u32 block[119]; |
|
__u32 hash[120]; |
|
__u32 block[120]; |
|
__u32 hash[121]; |
|
__u32 block[121]; |
|
__u32 hash[122]; |
|
__u32 block[122]; |
|
__u32 hash[123]; |
|
__u32 block[123]; |
|
__u32 hash[124]; |
|
__u32 block[124]; |
|
__u32 hash[125]; |
|
__u32 block[125]; |
|
__u32 hash[126]; |
|
__u32 block[126]; |
|
__u32 hash[127]; |
|
__u32 block[127]; |
|
}; |
|
|
|
|
|
|