/* <initdef.h>
 *
 *	$INIT system service definitions
 */
#ifndef _INITDEF_H
#define _INITDEF_H

/* Values for INIT$_DENSITY item code. */
#define INIT$K_DENSITY_800_BPI	1	/* 800 bpi tape */
#define INIT$K_DENSITY_1600_BPI 2	/* 1600 bpi tape */
#define INIT$K_DENSITY_6250_BPI 3	/* 6250 bpi tape */
#define INIT$K_DENSITY_SINGLE_DISK 4	/* single-density RX02 */
#define INIT$K_DENSITY_DOUBLE_DISK 5	/* RX33 or double-density RX02 */
#define INIT$K_DENSITY_DD_DISK	6	/* "double density" (lower than "High Density") */
#define INIT$K_DENSITY_HD_DISK	7	/* high density diskette */
#define INIT$K_DENSITY_COMPACT	8	/* TA90 with data compaction on */
#define INIT$K_DENSITY_ED_DISK	9	/* new density for RX26 */

/* Item codes for $INIT_VOL parameters. */
struct badblocks_lbn_def {
    unsigned long init$l_badblocks_lbn; /* LBN of first block */
    unsigned long init$l_badblocks_lbn_count; /* count of blocks to be marked */
};
struct badblocks_sec_def {
    unsigned long init$l_badblocks_sector; /* sector of first block */
    unsigned long init$l_badblocks_sec_count; /* count of blocks to be marked */
    unsigned long init$l_badblocks_track; /* track of first block */
    unsigned long init$l_badblocks_cylinder; /* cylinder of first block */
};
/* Define codes as constants */
#define INIT$_ACCESSED		1	/* number of directories in system space */
#define INIT$_BADBLOCKS_LBN	2	/* bad block areas by logical block number */
#define INIT$_BADBLOCKS_SEC	3	/* bad block areas by sector, track, cylinder */
#define INIT$_CLUSTERSIZE	4	/* minimum allocation unit */
#define INIT$_COMPACTION	5	/* data compaction for TA90 */
#define INIT$_NO_COMPACTION	6	/* no data compaction */
#define INIT$_DENSITY		7	/* format */
#define INIT$_DIRECTORIES	8	/* preallocated entries for directories */
#define INIT$_ERASE		9	/* destroy data on volume */
#define INIT$_NO_ERASE		10	/* do not destroy data on volume */
#define INIT$_EXTENSION		11	/* default extension size for files */
#define INIT$_FPROT		12	/* default protection for files */
#define INIT$_HEADERS		13	/* number of file headers for index file */
#define INIT$_HIGHWATER		14	/* set the file highwater mark attribute */
#define INIT$_NO_HIGHWATER	15	/* do not set the file highwater mark attribute */
#define INIT$_INDEX_BEGINNING	16	/* place index file at beginning of volume */
#define INIT$_INDEX_BLOCK	17	/* LBN for index file */
#define INIT$_INDEX_END		18	/* place index file at end of volume */
#define INIT$_INDEX_MIDDLE	19	/* place index file at middle of volume */
#define INIT$_INTERCHANGE	20	/* do not write VMS-specific information */
#define INIT$_NO_INTERCHANGE	21	/* write VMS-specific information */
#define INIT$_LABEL_ACCESS	22	/* character for ANSI accessability field */
#define INIT$_LABEL_VOLO	23	/* text for ANSI owner ID field */
#define INIT$_MAXFILES		24	/* maximum number of files on volume */
#define INIT$_OVR_ACCESS	25	/* override ANSI accessability field */
#define INIT$_NO_OVR_ACCESS	26	/* do not override ANSI accessability field */
#define INIT$_OVR_EXP		27	/* override expiration date */
#define INIT$_NO_OVR_EXP	28	/* do not override expiration date */
#define INIT$_OVR_VOLO		29	/* override ANSI owner ID field */
#define INIT$_NO_OVR_VOLO	30	/* do not override ANSI owner ID field */
#define INIT$_OWNER		31	/* UIC for volume */
#define INIT$_READCHECK		32	/* check all read operations */
#define INIT$_NO_READCHECK	33	/* do not check all read operations */
#define INIT$_SIZE		34	/* size of RAM disk */
#define INIT$_STRUCTURE_LEVEL_1 35	/* format in Files-11 level 1 */
#define INIT$_STRUCTURE_LEVEL_2 36	/* format in Files-11 level 2 */
#define INIT$_STRUCTURE_LEVEL_2_SUB_0 37 /* format in subset of Files-11 level 2 */
#define INIT$_USER_NAME		38	/* user name for volume */
#define INIT$_VERIFIED		39	/* use bad block data on volume */
#define INIT$_NO_VERIFIED	40	/* ignore bad block data on volume */
#define INIT$_VPROT		41	/* volume protection */
#define INIT$_WINDOW		42	/* number of mapping pointers for file windows */
#define INIT$_WRITECHECK	43	/* check all write operations */
#define INIT$_NO_WRITECHECK	44	/* do not check all write operations */
#ifndef NO_VMS_V6
#define INIT$_MIN_CLASS		45	/* minimum security classfication */
#define INIT$_MAX_CLASS		46	/* maximum security classfication */
#define INIT$_NO_PROTECTION	47	/* no default security classification */
#define INIT$_CONTIG_INDEX	48	/* contiguous index file */
#define INIT$_NO_CONTIG_INDEX	49	/* no contiguous index file */
#endif

#define INIT$S_USER_NAME	12	/* max size of user name on volume */

#endif	/*_INITDEF_H*/