|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 21674 (0x54aa)
Types: TextFile
Names: »IOSPARAMS.S«
└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!SWELL.D!IOSPARAMS.S«
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!SWELL.D!IOSPARAMS.S«
"-----------------------------------------------------------------------
"
"
" MODULE NAME: IO SYSTEM PARAMETERS (IOSPARAMS)
" MODULE ID NMB: CSS/872
" MODULE VERSION: 02
" MODULE TYPE: PREFIX
" MERGE FILES: -
"
" SPECIFICATIONS: -
" AUTHOR/DATE: PHF/850418
"
" DELIVERABLE: -
" SOURCE LANGUAGE: SWELL
" COMPILE COMPUTER: CR80
" TARGET COMPUTER: CR80
" OPER. SYSTEM: AMOS
"
"-----------------------------------------------------------------------
"
" CHANGE RECORD
"
" VERSION AUTHOR/DATE DESCRIPTION OF CHANGE
" ------- ----------- ---------------------
"
" 0102 JSL /801030 LAYOUT CHANGED TO SCL STANDARD
"
" 0103 AEK /801105 MAGTAPE = 74, ADDED TO
" DEVICE SPECIFICATION CONSTANTS
"
" 0104 AEK /810211 DEVICE_DESCRIPTION_DUAL CHANGED
"
" 0105 AEK /820120 MAGTAPE_DRIVER FUNCTION NAMES ADDED
"
" 0106 SMA /830201 PARTNER_DEVICE_ATTRIBUTES ADDED.
" STARTDUALIZE, FINISHDUALIZE AND
" DUALIZESECTORS ADDED.
"
" 0107 FP/830928 SETFILETHRESHOLD, SETVOLUMETHRESHOLD,
" AND GETVOLUMEINFORMATION DELETED.
"
" UNMOUNT, INITDUALIZESECTORS,
" INITREADSECTORS, INITWRITESECTORS,
" INITWRITEANDMARKSECTORS,
" INITWRITEANDPROTECTSECTORS,
" INITFORMAT, AND GETDEVICEINFORMATION
" ADDED.
"
" 0108 JAS/831027 DEVICE_INFORMATION TYPE ADDED.
" MAGTAPE COMPLETION CODES CHANGED.
" NEW FMS COMPLETION CODES ADDED.
" CHANGEVOLUMEID, CHANGEBOOTENTRY,
" RESERVE AND RELEASE ADDED.
"
" 0109 JAS/840405 DEVICE_INFORMATION TYPE CHANGED.
" SETFILESIZE AND EXMOUNT CMDS ADDED.
" NEW DISK TYPE, FMD675, KIND 30.
" NEW COMPLETION CODES.
"
" 0110 FP/840702 NEW COMMANDS:
" INITCREATE,INITDISMANTLE,INITPROTECT,
" INITRESET,INITOFFER,INITACCEPT,
" INITGETFILEINFORMATION,INITASSIGN,INITDEASSIGN,
" INITMOUNT,INITDISMOUNT,INITGETROOT,INITUSERON,
" INITUSEROFF,INITENTER,INITLOOKUP,INITDESCENT,
" INITRENAME,INITREMOVE,INITUPDATE,INITSTARTDUALIZE,
" INITFINISHDUALIZE,INITASSIGNDUAL,INITDISCARD,
" INITRESERVE,INITRELEASE,INITUNMOUNT,
" INITGETDEVICEINFORMATION,INITCHANGEVOLUMEID,
" INITCHANGEBOOTENTRY,INITSETFILESIZE,
" INITEXMOUNT,MULTIAWAIT.
" END_OF_VOLUME CC RESTORED AS A MAGTAPE CC.
"
" 0111 JAS/840807 NEW VOLUME USE - PARTIAL_DUALIZABLE_VOL.
" DEVICE TABLE ENTRY TYPE ADDED.
" INCLUDEDEVICEKIND CMD ADDED.
" NEW COMPLETION CODE.
" ACCESS_TYPES TYPE ADDED (FOR THIS PREFIX TO
" BE ABLE TO CO-EXIST WITH VOL_STRUCTURES.S)
"
" 0201 PHF/850418 New file types describing VDUs
"-----------------------------------------------------------------------
"PAGE«ff»
"GENERAL TYPES
TYPE FD = INTEGER; "FILE DESCRIPTION IDENTIFIER
TYPE TSTREAM = INTEGER; "STREAM IDENTIFIER
TYPE STREAM_MODE = (INPUT_MODE, OUTPUT_MODE);
"EXIT DEFINITIONS
TYPE INELEMENT_EXITS = (IE_ERROR, IE_NUMBER, IE_IDENTIFIER, IE_SPECIAL);
TYPE INFILEID_EXITS = (IF_ERROR, IF_SYNTAX, IF_DONE);
CONST DNAMELENGTH = 4;
TYPE DEVICE_NAME = ARRAY[0..DNAMELENGTH-1] OF CHAR;
CONST VNAMELENGTH = 16;
TYPE VOLUME_NAME = ARRAY[0..VNAMELENGTH-1] OF CHAR;
CONST FNAMELENGTH = 16;
TYPE FILE_NAME = ARRAY[0..FNAMELENGTH-1] OF CHAR;
TYPE FILE_NAMES =
RECORD
OLD_NAME: FILE_NAME;
NEW_NAME: FILE_NAME;
END;
TYPE VOLUME_USE = ( SINGLE_VOL, DUAL_VOL, DUALIZABLE_VOL,
PARTIAL_DUALIZABLE_VOL );
"DEVICE SPECIFICATION
CONST
"FLOPPY DISK TYPES
FD_SINGLE = 10; "SINGLE SIDED
FD_DOUBLE = 12; "DUAL SIDED
"MINI MODULE DRIVES
MMD12 = 20;
MMD24 = 22;
MMD81 = 24; "80MB (1MB FIXED)
MMD82 = 26; "80MB (2MB FIXED)
MMD160 = 28;
FMD675 = 30;
"STORAGE MODULE DRIVES
SMD40 = 40;
SMD80 = 42;
SMD150 = 44;
SMD300 = 46;
SMD600 = 48;
"CARTRIDGE MODULE DRIVES
CMD32 = 60;
CMD64 = 62;
CMD96 = 64;
"OTHER DEVICES
LINEPRINTER = 70;
CARDREADER = 72;
MAGTAPE = 74;
TYPE DEVICE_KIND = FD_SINGLE..CARDREADER;
TYPE CDC_TYPE = (MINI_MODULE, STORAGE_MODULE, CARTRIDGE_MODULE);
TYPE DRIVER_KIND = (FLOPPY_DRIVER,CDC_DRIVER,
PRINTER_DRIVER,CARD_READER_DRIVER,
MAGNETIC_TAPE_DRIVER);
TYPE DEVICE_TABLE_ENTRY =
RECORD
DEV_KIND : DEVICE_KIND;
CDC : CDC_TYPE;
DRIVER : DRIVER_KIND;
LAST_UNIT : INTEGER; "LAST UNIT ALLOWED BY DRIVER"
SECTOR_COUNT0 : LONG; "SECTORS ON SUBUNIT 0"
SECTORS_PR_CYLINDER0 : INTEGER; "SECTORS/CYLINDER ON SUBUNIT 0"
SECTOR_COUNT1 : LONG;
SECTORS_PR_CYLINDER1 : INTEGER;
END "DEVICE_TABLE_ENTRY";
TYPE DEVICE_DESCRIPTION =
RECORD
IO_KIND: DEVICE_KIND;
IO_ADDR: INTEGER;
UNIT: INTEGER;
SUBUNIT: INTEGER;
NAME: DEVICE_NAME;
END;
TYPE DUAL_DEVICE_DESCRIPTION =
RECORD
DEV_DESC: DEVICE_DESCRIPTION;
IO_ADDR_1: INTEGER;
UNIT_1: INTEGER;
END;
TYPE PARTNER_DEVICE_ATTRIBUTES =
RECORD
IO_ADDR: INTEGER;
UNIT: INTEGER;
END;
TYPE FILE_SYSTEM_NAME =
RECORD
PNAME: PROCESS_NAME;
GNAME: GROUP_NAME;
END;
CONST
GT400 = 1; "VDU TYPE GT400
ANSI = 2; " - - ANSI (VT100)
VT52 = 3; " - - VT52
Teletype = 4; " - - Teletype
DIRECTORY = 10; "TYPE DIRECTORY FILE
CONTIGUOUS = 12; "TYPE CONTIGUOUS FILE
RANDOM = 14; "TYPE RANDOM FILE
TYPE FILE_ORGANIZATION = GT400..RANDOM;
TYPE FILE_ATTRIBUTES =
RECORD
VOLUME: VOLUME_NAME;
ORGANIZATION: FILE_ORGANIZATION;
ALLOCATION_SIZE: LONG;
AREA_SIZE: INTEGER;
END;
TYPE VOLUME_THRESHOLD = LONG;
TYPE FILE_THRESHOLD = LONG;
TYPE FILE_INFORMATION = LONG;
TYPE FILE_INFORMATION_TYPE =
(F_ORGANIZATION,
F_BYTESIZE,
F_ALLOCATIONSIZE, "IF CONT FILE THEN SECTORS ELSE AREAS
F_BODYADDRESS, "LOGICAL SECTOR NUMBER OF INDEX OR BODY
F_AREASIZE, "SECTORS
F_FILETHRESHOLD, "BYTES
F_LINKS, "FROM DIRECTORIES
F_IN_BFD, "BOOLEAN
F_BFD_NUMBER, "BFD ENTRY NUMBER
F_NBR_OF_USERS); "NBR OF USERS OF FILE
TYPE DEV_STATE = (UNUSED, ASSIGNED, RESERVED, MOUNTED, DISK_CHANGED,
WRITE_PROTECTED);
TYPE VOL_STATE = (AMOS_VOL, MOUNTED_SINGLE, MOUNTED_DUAL,
DISMOUNTED_SINGLE, DISMOUNTED_DUAL,
DUALIZING_VOL);
TYPE BFDNBR = LONG;
TYPE DUAL_DISK_STATE = (DISK_OPENED, DISK_REDUALISING, DISK_DUALISING,
DISK_CLOSED, DISK_DISCARDED);
TYPE LOGICAL_DEVICE_INFO =
RECORD
STATE: DEV_STATE; "ASSIGNED, RESERVED OR MOUNTED
RESERVER: INTEGER; "USER ID - ONLY VALID IF RESERVED
DEVNAME: DEVICE_NAME; "LOG DEVICE NAME
DUAL: BOOLEAN; "DUAL DISK OR NOT
SECTORCOUNT: LONG; "NUMBER OF SECTORS ON VOLUME
NBR_ERRORS: INTEGER; "NUMBER OF NON_REPORTED ERRORS
"HAVE OCCURED ON THIS DEVICE
END;
TYPE CTRL_INFO =
RECORD
IOADDR : INTEGER;
RAMADDR: INTEGER;
END;
TYPE PHYSICAL_DEVICE_INFO =
RECORD
KIND : DEVICE_KIND;
USED_UNIT : INTEGER; "BIT 0 : SUB_UNIT
"BIT 1 - 15: UNIT
CONTROLLER_INFO: CTRL_INFO;
STATUS : DUAL_DISK_STATE;
END;
TYPE TIME = ARRAY [0..2] OF INTEGER;
TYPE VOLUME_INFO =
RECORD
VOLNAME: VOLUME_NAME; "NAME ASSIGNED TO VOLUME
FREE_ENTRIES: LONG; "NUMBER OF FREE ENTRIES IN BFD
BOOT_ENTRY: BFDNBR; "BFD NUMBER
CREATION_DATE: TIME;
ACCESS_DATE: TIME;
FORMAT: INTEGER; "IDENTIFICATION OF FORMAT OF VOLUME
STATE: VOL_STATE;
END;
TYPE DEVICE_INFORMATION =
RECORD
LOG_DEV_INFO: LOGICAL_DEVICE_INFO;
PHYS_DEV_INFO: ARRAY [0..1] OF PHYSICAL_DEVICE_INFO;
VOL_INFO: VOLUME_INFO; "ONLY VALID IF VOLUME MOUNTED
FILLER: ARRAY [38..39] OF INTEGER;
END;
TYPE SECTOR_ADDRESS =
RECORD
FIRST_SECTOR: LONG;
SECTOR_COUNT: LONG;
TRANSFERRED_SECTORS: LONG;
END;
TYPE FILE_ADDRESS =
RECORD
FIRST_BYTE: LONG;
BYTE_COUNT: LONG;
TRANSFERRED_BYTES: LONG;
END;
TYPE FILE_IDENT =
RECORD
NAME: FILE_NAME;
D: FD; "DIRECTORY FD
F: FD; "FILE FD
S: TSTREAM; "STREAM IDENTIFIER
END;
TYPE ACCESS_TYPES =
RECORD
ACCESS1: INTEGER;
ACCESS2: INTEGER;
END;
TYPE ACCESS_DESCRIPTION =
RECORD
USER: USERID;
RIGHTS: ARRAY[0..1] OF BITS; " = ACCESS_TYPES
END;
"ACCESS RIGHT DEFINITIONS
CONST
BNAREADBYTES = 0;
BNAMODIFYBYTES = 1;
BNAAPPENDBYTES = 2;
BNAENTER = 5;
BNALOOKUP = 6;
BNARENAME = 7;
BNAREMOVE = 8;
BNARESET = 10;
BNAGETFILEINFORMATION = 11;
BNAPROTECT = 12;
BNASETFILETHRESHOLD = 13;
BNAOFFER = 14;
"BUFFER TYPE DESIGNATIONS
CONST
BNUPPERBYTE = 0;
BNLOCALBUFFER = 1;
BNEXTERNALBUFFER= 2;
BMLOCALLOWER = 1 SHIFTLL BNLOCALBUFFER;
BMLOCALUPPER = 1 SHIFTLL BNLOCALBUFFER + 1 SHIFTLL BNUPPERBYTE;
BMEXTERNAL = 1 SHIFTLL BNEXTERNALBUFFER;
TYPE BUFFER_TYPE = BMLOCALLOWER..BMEXTERNAL;
TYPE BUFFER_LIST_ELEMENT =
RECORD
KIND: BUFFER_TYPE;
LINK: RELPTR;
ADDR: RELPTR;
BYTE_SIZE: INTEGER;
END;
TYPE STREAM_POSITION = LONG;
"IOS MONITOR PROCEDURE SUBNAME DEFINITIONS
CONST
CREATE = #0000;
DISMANTLE = #0001;
PROTECT = #0002;
RESET = #0003;
OFFER = #0004;
ACCEPT = #0005;
GETFILEINFORMATION = #0006;
SPECIAL = #0007;
ASSIGN = #0008;
DEASSIGN = #0009;
MOUNT = #000A;
DISMOUNT = #000B;
FORMAT = #000C;
GETROOT = #000D;
USERON = #000E;
USEROFF = #000F;
ENTERFILE = #0010;
LOOKUP = #0011;
DESCENT = #0012;
RENAME = #0013;
REMOVE = #0014;
READSECTORS = #0015;
WRITESECTORS = #0016;
WRITEANDPROTECT = #0017;
WRITEANDMARK = #0018;
READBYTES = #0019;
MODIFYBYTES = #001A;
APPENDBYTES = #001B;
INITREADBYTES = #001C;
INITMODIFYBYTES = #001D;
INITAPPENDBYTES = #001E;
WAITOPERATION = #001F;
WAITOPERATIONS = #0020;
TESTOPERATION = #0021;
CANCEL = #0022;
UPDATE = #0023;
STARTDUALIZE = #0024;
FINISHDUALIZE = #0025;
DUALIZESECTORS = #0026;
ASSIGNDUAL = #0027;
DISCARD = #0028;
RESERVE = #0029;
RELEASE = #002A;
ASSIGNMT = ASSIGN;
MOUNTMT = #002B;
DISMOUNTMT = #002C;
INITMT = #002D;
REWIND = #002E;
CREATEMT = #002F;
FINDMT = #0030;
SKIPMT = #0031;
SKIPMTBLOCKS = #0032;
BREAKMTFILE = #0033;
RESUMEMTFILE = #0034;
UNMOUNT = 53;
INITDUALIZESECTORS = 54;
INITREADSECTORS = 55;
INITWRITESECTORS = 56;
INITWRITEANDMARKSECTORS = 57;
INITWRITEANDPROTECTSECTORS = 58;
INITFORMAT = 59;
GETDEVICEINFORMATION = 60;
CHANGEVOLUMEID = 61;
CHANGEBOOTENTRY = 62;
SETFILESIZE = 63;
EXMOUNT = 64;
INITCREATE = 65;
INITDISMANTLE = 66;
INITPROTECT = 67;
INITRESET = 68;
INITOFFER = 69;
INITACCEPT = 70;
INITGETFILEINFORMATION = 71;
INITASSIGN = 72;
INITDEASSIGN = 73;
INITMOUNT = 74;
INITDISMOUNT = 75;
INITGETROOT = 76;
INITUSERON = 77;
INITUSEROFF = 78;
INITENTER = 79;
INITLOOKUP = 80;
INITDESCENT = 81;
INITRENAME = 82;
INITREMOVE = 83;
INITUPDATE = 84;
INITSTARTDUALIZE = 85;
INITFINISHDUALIZE = 86;
INITASSIGNDUAL = 87;
INITDISCARD = 88;
INITRESERVE = 89;
INITRELEASE = 90;
INITUNMOUNT = 91;
INITGETDEVICEINFORMATION= 92;
INITCHANGEVOLUMEID = 93;
INITCHANGEBOOTENTRY = 94;
INITSETFILESIZE = 95;
INITEXMOUNT = 96;
MULTIAWAIT = 97;
INCLUDEDEVICEKIND = 98;
"STREAM PROCEDURES
CONST
CONNECT = #0000;
DISCONNECT = #0001;
GETPOSITION = #0002;
SETPOSITION = #0003;
INBYTE = #0004;
BACKSPACE = #0005;
INREC = #0006;
OUTBYTE = #0007;
OUTREC = #0008;
FLUSH = #0009;
INTYPE = #000A;
INELEMENT = #000B;
OUTTEXTP = #000C;
OUTTEXTB = #000D;
OUTHEXA = #000E;
OUTINTEGER = #000F;
OUTLONGINTEGER = #0010;
OUTNL = #0011;
INLINE = #0012;
OUTLINE = #0013;
"IOS, FMS, DISK AND MT COMPLETION AND ERROR CODES
CONST
IO_OK = 0; EOF = #201;
NO_FDS_AVAILABLE = #202; ILLEGAL_FD = #203;
NO_IOCBS_AVAILABLE = #204; ILLEGAL_IOCB = #205;
NO_STREAMS_AVAILABLE = #206; ILLEGAL_STREAM = #207;
NO_XFELEMS_AVAILABLE = #208; ILLEGAL_ADDRESS = #209;
ILLEGAL_BLE = #20A; FILE_NOT_OPEN = #20B;
DIFFERENT_FILE_SYSTEMS = #20C; UNKNOWN_FILE_SYSTEM = #20D;
ILLEGAL_COMMAND = #20E; IO_SYSTEM_ERROR = #20F;
NOT_ENOUGH_SPACE = #210; ILLEGAL_MODE = #211;
ILLEGAL_MEMORY_PARM = #212; NO_BUFFER_SPACE = #213;
NOT_CONNECTED = #214; NOT_OUTPUT_MODE = #215;
NOT_INPUT_MODE = #216; ELEMENT_OVERFLOW = #217;
SYNTAX_ERROR = #218;
NONEXISTING_DEVICE = #400; ILLEGAL_DEVICE_KIND = #401;
ILLEGAL_CR80_ADDR = #402; DEVICE_NAME_IN_USE = #403;
ILLEGAL_UNIT = #404; ILLEGAL_SUBUNIT = #405;
WRONG_VOLUME_NAME = #406; NONEXISTING_VOLUME = #407;
VOLUME_MOUNTED = #408; DIFFERENT_VOLUMES = #409;
ILLEGAL_FILE = #40A; ILLEGAL_ORGANIZATION = #40B;
ILLEGAL_ALLOC_SIZE = #40C; ILLEGAL_AREA_SIZE = #40D;
ILLEGAL_WRITE = #40E; FILE_CLOSED = #40F;
FILES_OPEN = #410; NO_FILE_TO_ACCEPT = #411;
NONEXISTING_USER = #412; USER_ALREADY_ACTIVE = #413;
NO_CONNECTION = #414; ILLEGAL_USERGROUP = #415;
ILLEGAL_CALLER = #416; OTHER_USERS = #417;
NOT_CONTIGUOUS_DUALIZE = #418; OUT_OF_RANGE = #419;
FILE_FULL = #41B;
ACL_FULL = #41C; PROTECTION_FAILURE = #41D;
ILLEGAL_DIRECTORY = #420; NAME_EXISTS = #421;
NONEXISTING_NAME = #422; NOT_ALLOCATABLE = #423;
KIND_UNIT_CONFLICT = #425;
KIND_CTRLR_CONFLICT = #426;
ILLEGAL_FILE_INF_TYPE = #428; NOT_A_DUAL_DISK = #429;
ILLEGAL_DISCARD = #42A;
UNKNOWN_COMMAND = #42C; BAD_SECTOR_DURING_FORMAT = #42D;
BAD_SECTOR_TABLE_FULL = #42E; UNIT_IS_IN_USE = #42F;
VOLUME_NAME_IS_IN_USE = #430; DEVICE_NOT_RESERVED = #431;
DEVICE_ALREADY_RESERVED = #432; DEVICE_NOT_SINGLE = #433;
DEVICE_NOT_DUAL = #434; ILLEGAL_DCB_INDEX = #435;
UNKNOWN_VOLUME_USE = #436; ILLEGAL_FINISH_DUALIZE = #437;
ILLEGAL_START_DUALIZE = #43B;
NOT_DUALIZING = #43C; DUALIZING_WITHOUT_MOUNT = #43D;
BAD_SECTOR_READ = #441;
CORRUPT_HOMEBLOCK = #442; BAD_SECTOR_IN_ASF = #443;
BST_FULL = #444;
BAD_SECTOR_REPLACED = #448; LAST_BAD_SECTOR_REPLACED = #449;
DIFFERENT_VOLUME_NAMES = #44A; DIFFERENT_ACCESS_DATES = #44B;
NOT_ASSIGNED_DUAL = #44C; NOT_DISMOUNTED_DUAL = #44D;
NOT_MOUNTED_DUAL = #44E; SECTOR_COUNT_CONFLICT = #44F;
BST_SIZE_TOO_BIG = #450; NOT_EMPTY_DIRECTORY = #451;
NO_DISK_CHANGE = #452; NO_SPARE_DEVICE_KINDS = #453;
DRIVE_NOT_READY = #481;
WRITE_PROTECTED_DEVICE = #482; UNEXPEC_DISK_I_F_STATUS = #483;
DATA_OR_SYNC_ERROR = #484; ADDRESS_OR_SYNC_ERROR = #485;
BAD_SECTOR = #486; WRITE_PROTECTED_SECTOR = #487;
ILLEGAL_SECTOR = #488; TIMING_ERROR = #489;
SUBBUS_OVERRUN = #48A; PARITY_ERROR = #48B;
SELFTEST_RUNNING = #48C; CONTROLLER_RESET = #48D;
SELFTEST_FAILED = #48E; CONTROLLER_FAILURE = #48F;
TAPE_DEVICE_FAILURE = #B00; TAPE_SOFT_FAILURE = #B01;
TAPE_NOT_INITIATED = #B03;
TAPE_WRITE_PROTECTED = #B04; BEGINNING_OF_TAPE_SENSED = #B05;
END_OF_TAPE_SENSED = #B06; LOGICAL_EOT_SENSED = #B07;
FILE_MARK_SENSED = #B08; INVALID_RECORD_LENGTH = #B09;
SHORT_DATA_RECORD = #B0A; LONG_DATA_RECORD = #B0B;
TAPE_MUST_BE_LABELED = #B0C;
FILE_MUST_BE_OPEN_FOR_INPUT = #B0D;
FILE_NOT_BREAKABLE = #B0E; ILLEGAL_RESUME_TAPE = #B0F;
END_OF_VOLUME = #B10;
"DEFINITIONS FOR FILE-NAME UTILITIES:
CONST
NAMELISTMAXINDEX = 10;
TYPE NAMELISTTYPE =
ARRAY [0..FNAMELENGTH*NAMELISTMAXINDEX-1] OF CHAR;
"END OF IOSPARAMS