/*
 * FCS attribute block.
 */
struct	fcs
{
	char	f_rtyp;
	char	f_ratt;
	int	f_rsiz;
	long	f_hibk;
	long	f_efbk;
	int	f_ffby;
	char	f_gok[18];
};

#define	R_FIX	01		/* Fixed length records */
#define R_VAR	02		/* Variable length records */
#define R_SEQ	04		/* Sequenced records */

#define FD_FTN	01		/* FORTRAN slew */
#define FD_CR	02		/* CRLF slew */
#define FD_BLK	010		/* Records cannot straddle blocks */

/*
 * Files-11 header block.
 */
struct	hdr
{
	char	h_idof;		/* Identification area offset */
	char	h_mpof;		/* Map area offset */
	int	h_fnum;		/* File number */
	int	h_fseq;		/* File sequence */
	int	h_flev;		/* Structure level */
	char	h_prog;		/* Member number */
	char	h_proj;		/* Group number */
	int	h_fpro;		/* File protection code */
	char	h_ucha;		/* User characteristics */
	char	h_scha;		/* System characteristics */
	struct	fcs h_ufat;	/* FCS attributes */
	char	i_fnam[6];	/* File name */
	char	i_ftyp[2];	/* File type */
	int	i_fver;		/* File version */
	int	i_rvno;		/* Revision number */
	char	i_rvdt[7];	/* Revision date */
	char	i_rvti[6];	/* Revision time */
	char	i_crdt[7];	/* Creation date */
	char	i_crti[6];	/* Creation time */
	char	i_exdt[7];	/* Expiration date */
	char	i_fill;		/* To word boundry */
	char	m_esqn;		/* Extension segment number */
	char	m_ervn;		/* Extension rel. volume number */
	int	m_efnu;		/* Extension file number */
	int	m_efsq;		/* Extension sequence number */
	char	m_ctsz;		/* Size of count in rp */
	char	m_lbsz;		/* Size of logical block in rp */
	char	m_use;		/* Words of pointers in use */
	char	m_max;		/* Max words available */
	char	m_rtrv[408];	/* The pointers */
	int	h_cksm;		/* Checksum */
};

/*
 * Some magic bits.
 * Mostly in the system and user characteristic
 * fields.
 */
#define	UC_CON	0200
#define UC_DLK	0100
#define SC_MDL	0200
#define SC_BAD	0100
