BSD

       


inode inode , , NTFS. ! , , , .

inod', cg_iusedoff ( inode ). , UFS inode ext2fs, . , , ( ), , :

q       di_nlink  - (0 "");

q       di_size  ;

q       di_atime/di_atimensec  ;

q       di_mtime/di_mtimensec  ;

q       di_ctime/di_ctimensec  inode;

q       di_db  12- , ;

q       di_ib  ( );

inode /src/ufs/ufs/dinode.h UFS1 :

struct dinode {

/* 0x00 */ u_int16_t di_mode; /* 0: IFMT, permissions; see below. */

/* 0x02 */ int16_t di_nlink; /* 2: File link count. */



/* 0x04 */ union {

u_int16_t oldids[2]; /* 4: Ffs: old user and group ids. */




int32_t inumber; /* 4: Lfs: inode number. */

} di_u;

/* 0x08 */ u_int64_t di_size; /* 8: File byte count. */

/* 0x10 */ int32_t di_atime; /* 16: Last access time. */

/* 0x14 */ int32_t di_atimensec; /* 20: Last access time. */

/* 0x18 */ int32_t di_mtime; /* 24: Last modified time. */

/* 0x1C */ int32_t di_mtimensec; /* 28: Last modified time. */

/* 0x20 */ int32_t di_ctime; /* 32: Last inode change time. */

/* 0x24 */ int32_t di_ctimensec; /* 36: Last inode change time. */

/* 0x28 */ ufs_daddr_t di_db[NDADDR]; /* 40: Direct disk blocks. */

/* 0x58 */ ufs_daddr_t di_ib[NIADDR]; /* 88: Indirect disk blocks. */

/* 0x64 */ u_int32_t di_flags; /* 100: Status flags (chflags). */

/* 0x68 */ int32_t di_blocks; /* 104: Blocks actually held. */

/* 0x6C */ int32_t di_gen; /* 108: Generation number. */

/* 0x70 */ u_int32_t di_uid; /* 112: File owner. */

/* 0x74 */ u_int32_t di_gid; /* 116: File group. */

/* 0x78 */ int32_t di_spare[2]; /* 120: Reserved; currently unused */

};