Ausam/include/filsys.h
/*
* Definition of the unix super block.
* The root super block is allocated and
* read in iinit/alloc.c. Subsequently
* a super block is allocated and read
* with each mount (smount/sys3.c) and
* released with unmount (sumount/sys3.c).
* A disk block is ripped off for storage.
* See alloc.c for general alloc/free
* routines for free list and I list.
*/
struct filsys
{
unsigned s_isize; /* size in blocks of I list */ /* fix000 */
unsigned s_fsize; /* size in blocks of entire volume */ /* fix000 */
int s_nfree; /* number of in core free blocks (0-100) */
unsigned s_free[100]; /* in core free blocks */ /* fix000 */
int s_ninode; /* number of in core I nodes (0-100) */
int s_inode[100]; /* in core free I nodes */
char s_flock; /* lock during free list manipulation */
char s_ilock; /* lock during I list manipulation */
char s_fmod; /* super block modified flag */
char s_ronly; /* mounted read-only flag */
long s_time; /* current date of last update */ /* fix000 */
unsigned s_ilowa; /* lowest block with a free inode fix026 */
int pad[47];
};
/*
* ilock codes fix026
*/
#define S_BUSY 01 /* ialloc in progress */
#define S_WANTED 02 /* want to ialloc */