/*	Convergent Technologies - System V - May 1983	*/
/*	"@(#)filsys.h	1.4"	*/

#ifndef filsys_h
#define filsys_h

#include <sys/param.h>

/*
 * Structure of the super-block
 */
struct	filsys
{
	ushort	s_isize;	/* size in blocks of i-list */
	daddr_t	s_fsize;	/* size in blocks of entire volume */
	short	s_nfree;	/* number of addresses in s_free */
	daddr_t	s_free[NICFREE];	/* free block list */
	short	s_ninode;	/* number of i-nodes in s_inode */
	ino_t	s_inode[NICINOD];	/* free i-node list */
	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 */
	time_t	s_time; 	/* last super block update */
	short	s_dinfo[4];	/* device information */
	daddr_t	s_tfree;	/* total free blocks*/
	ino_t	s_tinode;	/* total free inodes */
	char	s_fname[6];	/* file system name */
	char	s_fpack[6];	/* file system pack name */
	long	s_fill[11];	/* ADJUST to make sizeof filsys be 512 */
	short	s_fsok;		/* if set then file system clean */
	short	s_cluster;	/* default file system cluster size */
	long	s_bitsize;	/* length of bitmap */
	long	s_magic;	/* magic number to indicate new file system */
	long	s_type;		/* type of new file system */
	long	s_fill2[2];	/* final ADJUSTMENT so sizeof filsys is 512 */
};

#define	FsMAGIC	0xfd187e20	/* s_magic number */

#define	Fs1b	1	/* 512 byte block */
#define	Fs2b	2	/* 1024 byte block */
#define	FsPILF	0x10000	/* PILF file system */
#endif
