0,0 → 1,28 |
/* Data block. */ |
|
#ifndef _BLOCK_H |
#define _BLOCK_H |
|
#include "dir.h" |
|
#define DIRECTORY_BLOCK 1 /* directory block */ |
#define INDIRECT_BLOCK 2 /* pointer block */ |
|
typedef struct { |
union { |
char b__data[BLOCK_SIZE]; /* ordinary user data */ |
direct_t b__dir[NR_DIR_ENTRIES]; /* directory block */ |
directex_t b__direx[NR_DIR_ENTRIES_EX]; /* extended directory block */ |
zone1_t b__v1_ind[V1_INDIRECTS]; /* V1 indirect block */ |
zone_t b__v2_ind[V2_INDIRECTS]; /* V2 indirect block */ |
d1_inode_t b__v1_ino[V1_INODES_PER_BLOCK]; /* V1 inode block */ |
d2_inode_t b__v2_ino[V2_INODES_PER_BLOCK]; /* V2 inode block */ |
} b; |
|
block_num_t b_blocknr; /* number of block */ |
char b_count; /* number of users of this block */ |
} block_t; |
|
extern block_t* work_block; |
|
#endif /* _BLOCK_H */ |