15bb31ed99
Change-Id: I46a8128f54112ee0092ef60160d88cadd0038be0
34 lines
1.3 KiB
C
34 lines
1.3 KiB
C
#ifndef __MFS_TYPE_H__
|
|
#define __MFS_TYPE_H__
|
|
|
|
|
|
/* Declaration of the V2 inode as it is on the disk (not in core). */
|
|
typedef struct { /* V2.x disk inode */
|
|
uint16_t d2_mode; /* file type, protection, etc. */
|
|
uint16_t d2_nlinks; /* how many links to this file. HACK! */
|
|
int16_t d2_uid; /* user id of the file's owner. */
|
|
uint16_t d2_gid; /* group number HACK! */
|
|
int32_t d2_size; /* current file size in bytes */
|
|
int32_t d2_atime; /* when was file data last accessed */
|
|
int32_t d2_mtime; /* when was file data last changed */
|
|
int32_t d2_ctime; /* when was inode data last changed */
|
|
uint32_t d2_zone[V2_NR_TZONES];/* block nums for direct, ind, and dbl ind */
|
|
} d2_inode;
|
|
|
|
struct buf {
|
|
/* Data portion of the buffer. */
|
|
union fsdata_u *bp;
|
|
|
|
/* Header portion of the buffer. */
|
|
struct buf *b_next; /* used to link all free bufs in a chain */
|
|
struct buf *b_prev; /* used to link all free bufs the other way */
|
|
struct buf *b_hash; /* used to link bufs on hash chains */
|
|
uint32_t b_blocknr; /* block number of its (minor) device */
|
|
dev_t b_dev; /* major | minor device where block resides */
|
|
char b_dirt; /* BP_CLEAN or BP_DIRTY */
|
|
char b_count; /* number of users of this buffer */
|
|
unsigned int b_bytes; /* Number of bytes allocated in bp */
|
|
};
|
|
|
|
#endif
|
|
|