Final Year Project: Using Linux Filesystems Under Windows   Chris Bryden BEng. Electronics and Software Engineering    School of Computer Science   University of Birmingham 78 Note that the leftmost octal digit can only take the value of 0 or 1, since the total number of bits is 16. The type of file is one of: 01 - FIFO file. 02 - Character device. 03 - Directory 06 - Block Device 10 - Regular File 12 - Symbolic Link 14 - Socket · =i_uid - The user id of the owner of the file. · =i_size - The file size in bytes. · =i_atime - The time the file was last accessed. · =i_ctime - The time the inode information for the file was last changed. · =i_mtime - The time the files content was last modified. · =i_dtime - The time the file was deleted. · =i_gid - The group id of the file · =i_links_count - The number of links pointing to the file. · =i_flags - This takes one or more of the folllowing values: EXT2_SECRM_FL 0x0001 - Secure deletion. If this flag is set, when the file is deleted random data is written in its place. EXT2_UNRM_FL 0x0002 - Undelete. If this flag is set and the file is deleted, the  system  must  store  enough  information  for  the  file  to  be  recovered (provided the space taken by the file has not been overwritten). EXT2_COMPR_FL    0x0004    Compress    file.    The    content    of    the    file    is compressed. The filesystem code must use compression/decompression algorithms when accessing the file. EXT2_SYNC_FL     0x0005  -  Synchronous  Updates  -  The  inode  and  indirect blocks are to be written to synchronously only.   Not  all  of  the  above  features  are  implemented  in  the  current  version  of ext2fs. · =i_reserved1 - Not used. · =i_block[ EXT2_N_BLOCK ] - Pointers to blocks allocated to the file represented by this inode. The  inode  contains  EXT2_N_BLOCKS,  this  is  currently  15.  Of  these  block addresses, the first EXT2_NDIR_BLOCKS (currently 12) are direct pointers to data  blocks.  The  following  entry  points  to  a  block  of  pointers  to  data blocks  (indirect  blocks).  The  entry  after  points  to  a  block  of  pointers  to blocks  of  pointers  to  data  blocks  (double  indirect  blocks)  and  the  final entry  points  to  a  block  of  pointers  to    blocks  of  pointers  to  blocks  of pointers to data blocks (triple indirect blocks).