! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! ! Values for INIT$_DENSITY item code. ! DECLARE LONG CONSTANT INIT$K_DENSITY_800_BPI = 1 ! 800 bpi tape DECLARE LONG CONSTANT INIT$K_DENSITY_1600_BPI = 2 ! 1600 bpi tape DECLARE LONG CONSTANT INIT$K_DENSITY_6250_BPI = 3 ! 6250 bpi tape DECLARE LONG CONSTANT INIT$K_DENSITY_SINGLE_DISK = 4 ! Single-density RX02 DECLARE LONG CONSTANT INIT$K_DENSITY_DOUBLE_DISK = 5 ! RX33 or double-density RX02 DECLARE LONG CONSTANT INIT$K_DENSITY_DD_DISK = 6 ! "Double density" (lower than "High Density") DECLARE LONG CONSTANT INIT$K_DENSITY_HD_DISK = 7 ! High density diskette DECLARE LONG CONSTANT INIT$K_DENSITY_COMPACT = 8 ! TA90 with data compaction on DECLARE LONG CONSTANT INIT$K_DENSITY_ED_DISK = 9 ! New density for RX26 ! ! Values for INIT$_HOMEBLOCKS item code. ! DECLARE LONG CONSTANT INIT$K_HOMEBLOCKS_GEOMETRY = 1 ! geometry dependent DECLARE LONG CONSTANT INIT$K_HOMEBLOCKS_FIXED = 2 ! fixed position DECLARE LONG CONSTANT INIT$K_HOMEBLOCKS_CONTIGUOUS = 3 ! contiguous ! ! Item codes for $INIT_VOL parameters. ! DECLARE LONG CONSTANT INIT$S_BADBLOCKS_LBN_DEF = 8 record BADBLOCKS_LBN_DEF LONG INIT$L_BADBLOCKS_LBN ! LBN of first block LONG INIT$L_BADBLOCKS_LBN_COUNT ! Count of blocks to be marked end record BADBLOCKS_LBN_DEF DECLARE LONG CONSTANT INIT$S_BADBLOCKS_SEC_DEF = 16 record BADBLOCKS_SEC_DEF LONG INIT$L_BADBLOCKS_SECTOR ! Sector of first block LONG INIT$L_BADBLOCKS_SEC_COUNT ! Count of blocks to be marked LONG INIT$L_BADBLOCKS_TRACK ! Track of first block LONG INIT$L_BADBLOCKS_CYLINDER ! Cylinder of first block end record BADBLOCKS_SEC_DEF ! Define codes as constants DECLARE LONG CONSTANT INIT$_ACCESSED = 1 ! Number of directories in system space DECLARE LONG CONSTANT INIT$_BADBLOCKS_LBN = 2 ! Bad block areas by logical block number DECLARE LONG CONSTANT INIT$_BADBLOCKS_SEC = 3 ! Bad block areas by sector, track, cylinder DECLARE LONG CONSTANT INIT$_CLUSTERSIZE = 4 ! Minimum allocation unit DECLARE LONG CONSTANT INIT$_COMPACTION = 5 ! Data compaction for TA90 DECLARE LONG CONSTANT INIT$_NO_COMPACTION = 6 ! No data compaction DECLARE LONG CONSTANT INIT$_DENSITY = 7 ! Format DECLARE LONG CONSTANT INIT$_DIRECTORIES = 8 ! Preallocated entries for directories DECLARE LONG CONSTANT INIT$_ERASE = 9 ! Destroy data on volume DECLARE LONG CONSTANT INIT$_NO_ERASE = 10 ! Do not destroy data on volume DECLARE LONG CONSTANT INIT$_EXTENSION = 11 ! Default extension size for files DECLARE LONG CONSTANT INIT$_FPROT = 12 ! Default protection for files DECLARE LONG CONSTANT INIT$_HEADERS = 13 ! Number of file headers for index file DECLARE LONG CONSTANT INIT$_HIGHWATER = 14 ! Set the file highwater mark attribute DECLARE LONG CONSTANT INIT$_NO_HIGHWATER = 15 ! Do not set the file highwater mark attribute DECLARE LONG CONSTANT INIT$_INDEX_BEGINNING = 16 ! Place index file at beginning of volume DECLARE LONG CONSTANT INIT$_INDEX_BLOCK = 17 ! LBN for index file DECLARE LONG CONSTANT INIT$_INDEX_END = 18 ! Place index file at end of volume DECLARE LONG CONSTANT INIT$_INDEX_MIDDLE = 19 ! Place index file at middle of volume DECLARE LONG CONSTANT INIT$_INTERCHANGE = 20 ! Do not write VMS-specific information DECLARE LONG CONSTANT INIT$_NO_INTERCHANGE = 21 ! Write VMS-specific information DECLARE LONG CONSTANT INIT$_LABEL_ACCESS = 22 ! Character for ANSI accessability field DECLARE LONG CONSTANT INIT$_LABEL_VOLO = 23 ! Text for ANSI owner ID field DECLARE LONG CONSTANT INIT$_MAXFILES = 24 ! Maximum number of files on volume DECLARE LONG CONSTANT INIT$_OVR_ACCESS = 25 ! Override ANSI accessability field DECLARE LONG CONSTANT INIT$_NO_OVR_ACCESS = 26 ! Do not override ANSI accessability field DECLARE LONG CONSTANT INIT$_OVR_EXP = 27 ! Override expiration date DECLARE LONG CONSTANT INIT$_NO_OVR_EXP = 28 ! Do not override expiration date DECLARE LONG CONSTANT INIT$_OVR_VOLO = 29 ! Override ANSI owner ID field DECLARE LONG CONSTANT INIT$_NO_OVR_VOLO = 30 ! Do not override ANSI owner ID field DECLARE LONG CONSTANT INIT$_OWNER = 31 ! UIC for volume DECLARE LONG CONSTANT INIT$_READCHECK = 32 ! Check all read operations DECLARE LONG CONSTANT INIT$_NO_READCHECK = 33 ! Do not check all read operations DECLARE LONG CONSTANT INIT$_SIZE = 34 ! Size of RAM disk DECLARE LONG CONSTANT INIT$_STRUCTURE_LEVEL_1 = 35 ! Format in Files-11 level 1 DECLARE LONG CONSTANT INIT$_STRUCTURE_LEVEL_2 = 36 ! Format in Files-11 level 2 DECLARE LONG CONSTANT INIT$_STRUCTURE_LEVEL_2_SUB_0 = 37 ! Format in subset of Files-11 level 2 DECLARE LONG CONSTANT INIT$_USER_NAME = 38 ! User name for volume DECLARE LONG CONSTANT INIT$_VERIFIED = 39 ! Use bad block data on volume DECLARE LONG CONSTANT INIT$_NO_VERIFIED = 40 ! Ignore bad block data on volume DECLARE LONG CONSTANT INIT$_VPROT = 41 ! Volume protection DECLARE LONG CONSTANT INIT$_WINDOW = 42 ! Number of mapping pointers for file windows DECLARE LONG CONSTANT INIT$_WRITECHECK = 43 ! Check all write operations DECLARE LONG CONSTANT INIT$_NO_WRITECHECK = 44 ! Do not check all write operations DECLARE LONG CONSTANT INIT$_MIN_CLASS = 45 ! Minimum security classfication DECLARE LONG CONSTANT INIT$_MAX_CLASS = 46 ! Maximum security classfication DECLARE LONG CONSTANT INIT$_NO_PROTECTION = 47 ! No default security classification DECLARE LONG CONSTANT INIT$_HOMEBLOCKS = 48 ! Homeblock placement strategy to use DECLARE LONG CONSTANT INIT$_STRUCTURE_LEVEL_5 = 49 ! Format in Files-11 level 5 DECLARE LONG CONSTANT INIT$_SHADOW = 50 ! Format disks with Shadowing SCBs DECLARE LONG CONSTANT INIT$_HARDLINKS = 51 ! Use a linkcount in creating files (ODS-5 only) DECLARE LONG CONSTANT INIT$_ACCESS_DATES = 52 ! Use access dates for attributes (ODS-5 only) DECLARE LONG CONSTANT INIT$_SPARE = 53 DECLARE LONG CONSTANT INIT$_VOLUME_LIMIT = 54 ! Maximum logical volume size DECLARE LONG CONSTANT INIT$_GPT = 55 ! Create a GUID Partition Table Structure. DECLARE LONG CONSTANT INIT$_NO_GPT = 56 ! Do not create a GPT DECLARE LONG CONSTANT INIT$_ERASE_ON_DELETE = 57 ! Set HM2$V_ERASE bit DECLARE LONG CONSTANT INIT$_ERASE_ON_INIT = 58 ! Perform DSE erase now DECLARE LONG CONSTANT INIT$_STRUCTURE_LEVEL_6 = 59 ! Format in Files-11 level 6 (CFS container) DECLARE LONG CONSTANT INIT$_LOGSIZE = 60 ! CFS log file size DECLARE LONG CONSTANT INIT$_SPECIAL_FILES = 61 ! Volume supports special files (ODS-5 only) DECLARE LONG CONSTANT INIT$_NO_SPECIAL_FILES = 62 ! Volume does not support special files DECLARE LONG CONSTANT INIT$_LAST_INIT_ITEM = 63 ! Note add all new INIT items before this one. DECLARE LONG CONSTANT INIT$_MAX_ITEM_CODE = 62 ! Maximum item code. DECLARE LONG CONSTANT INIT$S_USER_NAME = 12 ! Max size of user name on volume DECLARE LONG CONSTANT INIT$S_DEVICE_NAME = 64 ! Max size of device names DECLARE LONG CONSTANT INIT$C_MIN_SECURITY_BLKCNT = 6 ! Min size of SECURITY.SYS DECLARE LONG CONSTANT INIT$C_MIN_GPT_BLKCNT = 34 ! Min size of GPT.SYS