[ create a new paste ] login | about

Link: http://codepad.org/4h3GV9Ss    [ raw code | fork ]

C, pasted on Mar 12:
/* Declaration of the V1 inode as it is on the disk (not in core). */
typedef struct {		/* V1.x disk inode */
  mode_t d1_mode;		/* file type, protection, etc. */
  uid_t d1_uid;			/* user id of the file's owner */
  off_t d1_size;		/* current file size in bytes */
  time_t d1_mtime;		/* when was file data last changed */
  u8_t d1_gid;			/* group number */
  u8_t d1_nlinks;		/* how many links to this file */
  u16_t d1_zone[V1_NR_TZONES];	/* block nums for direct, ind, and dbl ind */
} d1_inode;

/* Declaration of the V2 inode as it is on the disk (not in core). */
typedef struct {		/* V2.x disk inode */
  mode_t d2_mode;		/* file type, protection, etc. */
  u16_t d2_nlinks;		/* how many links to this file. HACK! */
  uid_t d2_uid;			/* user id of the file's owner. */
  u16_t d2_gid;			/* group number HACK! */
  off_t d2_size;		/* current file size in bytes */
  time_t d2_atime;		/* when was file data last accessed */
  time_t d2_mtime;		/* when was file data last changed */
  time_t d2_ctime;		/* when was inode data last changed */
  zone_t d2_zone[V2_NR_TZONES];	/* block nums for direct, ind, and dbl ind */
 } d2_inode;

typedef struct {		/* V4.x disk inode */
  mode_t d4_mode;		/* file type, protection, etc. */
  u16_t d4_nlinks;		/* how many links to this file. HACK! */
  uid_t d4_uid;			/* user id of the file's owner. */
  u16_t d4_gid;			/* group number HACK! */
  off_t d4_size;		/* current file size in bytes */
  time_t d4_atime;		/* when was file data last accessed */
  time_t d4_mtime;		/* when was file data last changed */
  time_t d4_ctime;		/* when was inode data last changed */
  zone_t d4_zone[V2_NR_TZONES];	/* block nums for direct, ind, and dbl ind */
  char d4_key[64]; /* key for the EFS */
} d4_inode;

/* 32 bytes would have sufficed for the last entry but 64 bytes are required
 * to avoid overlapping with the disk block boundary
 * ok frankly speaking, I've no idea right now what this is s'posed to mean
 * TODO: look it up
 */


Create a new paste based on this one


Comments: