📄 ext2-inode.h
字号:
#ifndef EXT2INODE_H#define EXT2INODE_H// Ext2Inode#define EXT2_N_BLOCKS 15#define EXT2_INODE_SIZE 128#define EXT2_INODES_PER_BLOCK (BLKSIZE/EXT2_INODE_SIZE)#define EXT2_INODE_TABLE_LOCATION 5 // starting block for inode table in 1.44 // floppy diskstruct Ext2Inode { // each inode has 128 bytes. unsigned short i_mode; unsigned short i_uid; unsigned long i_size; unsigned long i_atime; unsigned long i_ctime; unsigned long i_mtime; unsigned long i_dtime; unsigned short i_gid; unsigned short i_links_count; unsigned long i_blocks; unsigned long i_flags; union { struct{ unsigned long l_i_reserved1; } linux1; struct{ unsigned long h_i_translator; } hurd1; struct{ unsigned long m_i_reserved1; } masix1; } osd1; // OS dependent 1 unsigned long i_block[EXT2_N_BLOCKS]; // block location unsigned long i_generation; // file version (for NFS) unsigned long i_file_acl; unsigned long i_dir_acl; unsigned long i_faddr; // fragment address union { struct{ char l_i_frag; // fragment number char l_i_fsize; // fragment size unsigned short i_pad1; unsigned short l_i_uid_high; unsigned short i_i_gid_high; unsigned long l_i_reserved2; } linux2; struct{ char h_i_frag; // fragment number char h_i_fsize; // fragment size unsigned short h_i_mode_high; unsigned short h_i_uid_high; unsigned short h_i_gid_high; unsigned long h_i_author; } hurd2; struct{ char m_i_frag; // fragment number char m_i_fsize; // fragment size unsigned short m_pad1; unsigned long m_i_reserved2i[2]; } masix2; } osd2; // OS dependent 2 /* short ino; short num_blk; //number of blocks assigned to this inode long blk[MAX_INODE_BLK]; // max 7 blocks per file */};/*struct ITable{ // 16 inodes in inode table struct Inode arr[MAX_INODE_ITABLE];};*/#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -