DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0f2b3ffae⟧ TextFile

    Length: 7914 (0x1eea)
    Types: TextFile
    Names: »TYPES«

Derivation

└─⟦b8af24a88⟧ Bits:30005796 CR80 Disc Pack ( MINICAMPS )
    └─ ⟦this⟧ »GENS.D!SYSGEN.D!MINI_CAMPS.D!TYPES« 

TextFile

TYPE TERMINAL_INDEX = 0..TERMINAL_LIMIT;
TYPE PROCESS_INDEX  = 0..PROCESS_LIMIT;
TYPE PROGRAM_INDEX  = 0..PROGRAM_LIMIT;
TYPE FILSYS_INDEX   = 0..FILSYS_LIMIT;
TYPE DEVICE_INDEX   = 0..DEVICE_LIMIT;
TYPE LOAD_Q_INDEX   = 0..LOAD_Q_LIMIT;

CONST  ECHO_MODE  =  0;
CONST  VDU_MODE   =  1;
CONST  WAIT_MODE  =  2;
CONST  ITT_MODE   =  3;
CONST  FF_MODE    =  4;

CONST IBUFLGT = 80;

TYPE OPEN_STATE =
       ( SYSTEM_CLOSED,   SYSDEV_ASSIGNED,  SYSVOL_MOUNTED, USERED_ON,
         WF_CREATED,      MD_FOUND,         SYSDIR_FOUND,   TOSDIR_FOUND,
         PASSES_FOUND,    ERRORTEXTS_FOUND, SYSTEM_OPEN);


TYPE OS_MODE_TYPE = (SLAVE, MASTER, DUAL);

TYPE IBUF_TYPE = ARRAY [1..IBUFLGT] OF INTEGER;

TYPE NEWS_TYPE = RECORD
       BYTE_COUNT  : INTEGER;
       MSG         : IBUF_TYPE
   END;



CONST  PRHL=   26;
CONST  PGHL =  9;
CONST  PROGRAMMEMORY = 10;
CONST  UTILITYPROGRAM = #10;
CONST  REENTRANT = 1;
CONST  RELEASEMEMORY = 0;
CONST  ALLOCATEMEMORY = 1;
CONST  TRANSFERMEMORY =    4;
CONST  MESSAGE_DELAY_PARENTSIGNAL = #302;
CONST  PUBLIC_USER = #FFFC;
CONST  UNSIGNED5 = #8520 ;
CONST  SIGNED5=    #0520 ;

CONST  RESERVE= 8;

TYPE DUAL_DEVICE_DESC = RECORD
       DEVICE_KIND,
       DEVICE_ADDR_0,
       UNIT_0,
       SUBUNIT              : INTEGER;
       DEVICE               : DEVICE_NAME;
       DEVICE_ADDR_1,
       UNIT_1               : INTEGER
   END;

TYPE UNPACKED_NAME = ARRAY [0..7] OF CHAR;

TYPE TEXT = ARRAY [1..300] OF CHAR;

TYPE PROCESS_STATE = (FREE, CREATED, STOPPED, RUNNING);

TYPE TERMINAL_INIT_REC = RECORD
       OPER, ADDR, MODE, LINEWIDTH, TIMEOUT: INTEGER
   END;

TYPE DEVICE_STATE = (DEASSIGNED, ASSIGNED, MOUNTED, RESERVED);



TYPE TERMINAL_IO_MODE = (TIDLE, TIN, TOUT);

TYPE HEADER_KIND = (ILLEGAL_KIND, PROGRAM_KIND, PROCESS_KIND);

TYPE PROCESS_HEADER = RECORD
       KIND                 :  HEADER_KIND;
       SIZE                 :  INTEGER;
       PROC_NAME            :  PACKED_NAME3;
       CPU_NAME             :  PACKED_NAME3;
       PRIO, CAPAB, CLAIM, EXECSIZE:  INTEGER;
       IO_PARS              :  ARRAY [1..4] OF INTEGER;
       MSGS                 :  INTEGER;
       CURDIR               :  INTEGER;
       MEM_RANGE            :  INTEGER;
       DUMMY                :  ARRAY [0..4] OF INTEGER;
       LEVEL, BOUND         :  INTEGER
   END;

TYPE PROGRAM_NAME = PROCESS_NAME;

TYPE LOAD_RESULT = INTEGER;

TYPE MEMORY_TYPE = (FORPROGRAM, FORDATA);

TYPE PRINTERSTATETYPE = (PRINTERIDLE, PRINTERQUEUED, PRINTERACTIVE);

TYPE PRINTFILEREC = RECORD
       PRINTERSTATE         :  PRINTERSTATETYPE;
       PRINTERNAME          :  PROCESS_NAME;
       RESERVED             :  BOOLEAN;
       SEMA                 :  FILE;
       RESERVER             :  INTEGER
   END;

TYPE RQ_ANSWER = (RQ_OK, RQ_INV_REQUEST, RQ_INV_PROC, RQ_INV_PROC_STATE,
               RQ_INV_FSN, RQ_FAIL_TASK, RQ_LOAD_ERROR, RQ_Q_OFFER);

TYPE SERVICE_REQUEST = (STARTTASK, STOPTASK, REMOVETASK, LOGOFF,
           LOADTASK_1, LOADTASK_2, INITTASK, RESERVEPRINT, RELEASEPRINT,
           STARTPRINT, QTASK);

TYPE SERVICE_REQUEST_MESSAGE = RECORD
       CASE RQTYPE          :SERVICE_REQUEST OF
           STARTTASK, STOPTASK, REMOVETASK, LOADTASK_1, INITTASK:
                   (PNAME   :  PROCESS_NAME);
           LOADTASK_2:  (GNAME:  PACKED_NAME2);
           STARTPRINT, QTASK,
           LOGOFF, RESERVEPRINT, RELEASEPRINT: (DUMMY : INTEGER)
   END;

TYPE USERENTRYTYPE = RECORD
       ID           :       INTEGER;
       PASSWORD     : PACKED_NAME
   END;

TYPE FILE_ID = RECORD
       XCOMPLETE     : BOOLEAN;
       XFSN          : FILE_SYSTEM_NAME;
       XVOL          : VOLUME_NAME;
       XNAMELIST     : NAMELISTTYPE;
       XNAMENBR      : INTEGER
   END;

TYPE STATUS_TYPE = (SCOMPLETE, SDEVICES, STERMINALS, SPROCESSES, SPROGRAMS);

TYPE PASSES = (SERVICE_PASS, COMMAND_PASS, LOGIN_PASS, RUN_PASS, TERMINALON_PASS,
               STATUS_PASS, PRINT_PASS, LTUON_PASS);

TYPE TERMINL = RECORD
       PROCESSREF           :  PROCESS_INDEX;
       OPERATION            :  OPERATION_REFERENCE;
       MODE                 :  TERMINAL_IO_MODE;
       FIL                  :  FILE;
       FILADR               :  FILE_ADDRESS;
       USED                 :  BOOLEAN;
       LTU                  :  BOOLEAN;
       NAME                 :  ARRAY [0..0] OF INTEGER;
       NEXT                 :  TERMINAL_INDEX;  "POINTER TO NEXT TERMINAL IF AN LTU"
       TUSERS               :  INTEGER;
       REC                  :  IBUF_TYPE;
       REF_RECDESCRIPT      :  BLEPTR
   END;

TYPE PROC = RECORD
       NAME                 :  PROCESS_NAME;
       USRID                :  USERID;
       BASE                 :  INTEGER;
       EVT                  :  INTEGER;  "MESSAGE FROM PARENT TASK"
       PARENT               :  PROCESS_INDEX;
       PPROGRAM             :  PROGRAM_INDEX;
       PTERMINAL            :  TERMINAL_INDEX;
       STATE                :  PROCESS_STATE;
       MEM                  :  INTEGER
   END;

TYPE PROGRAM_HEADER = RECORD
       KIND                 :  HEADER_KIND;
       SIZE                 :  INTEGER;
       NAME                 :  PROGRAM_NAME;
       PTYPE, START, MICRO  :  INTEGER
   END;

TYPE PROGR = RECORD
       HEADER               :  PROGRAM_HEADER;
       PROG, MEM, USERS     :  INTEGER
   END;

TYPE TDEVICE = RECORD
       FSYS                 :  FILSYS_INDEX;
       DEV                  :  DEVICE_DESCRIPTION;
       VOLUME               :  VOLUME_NAME;
       USER                 :  INTEGER;
       STATE                :  DEVICE_STATE;
       UPDATE_RESET         :  INTEGER;
       UPDATE_COUNT         :  INTEGER
   END;

TYPE LOAD_Q_ELEM_TYPE = RECORD
       EVT                  :  INTEGER;           "SAVED EVENT ID"
       USED                 :  BOOLEAN;
       P                    :  PROCESS_INDEX;
       F                    :  FILE
   END;

TYPE LOAD_Q_TYPE = RECORD
       MEMORY_RELEASED      :  BOOLEAN;
       Q_SIZE               :  LOAD_Q_INDEX;
       Q                    :  ARRAY [ TERMINAL_INDEX ] OF LOAD_Q_ELEM_TYPE
   END;

TYPE TERMINALLIST=  ARRAY [TERMINAL_INDEX] OF TERMINL;
TYPE PROCESSLIST=   ARRAY [PROCESS_INDEX]  OF PROC;
TYPE PROGRAMLIST=   ARRAY [PROGRAM_INDEX]  OF PROGR;
TYPE FILSYSLIST=    ARRAY [FILSYS_INDEX]   OF FILE_SYSTEM_NAME;
TYPE DEVICELIST=    ARRAY [DEVICE_INDEX]   OF TDEVICE;

TYPE TERMINALPTR= @TERMINALLIST;
TYPE PROCESSPTR=  @PROCESSLIST;
TYPE PROGRAMPTR=  @PROGRAMLIST;
TYPE FILSYSPTR=   @FILSYSLIST;
TYPE DEVICEPTR=   @DEVICELIST;
TYPE LOAD_QPTR=   @LOAD_Q_TYPE;

TYPE COMMON_DATA = RECORD
   TOS_VERSION:  INTEGER;
   OS_MODE:       OS_MODE_TYPE;
   LOCAL_PRINTER: BOOLEAN;
   OC_INIT_REC:   TERMINAL_INIT_REC;
   SYSTEM_DEV:    DEVICE_DESCRIPTION;
   SYSDUAL_DEV:   DEVICE_DESCRIPTION;
   SYSTEM_VOL:    VOLUME_NAME;
   SYSTEM_DIR:    FILE_NAME;
   FILESYSTEMS:   FILSYS_INDEX;
   AUTO_OPENS:    INTEGER;
   NEWS:          NEWS_TYPE;

   TERMINAL:     TERMINALPTR;
   PROCESS:      PROCESSPTR;
   PRQGRAM:      PROGRAMPTR;
   FILSYS:       FILSYSPTR;
   DEVICE:       DEVICEPTR;
   LOAD_Q:       LOAD_QPTR;
   MAXTERMINAL:  TERMINAL_INDEX;
   MAXPROCESS:   PROCESS_INDEX;
   MAXPROGRAM:   PROGRAM_INDEX;
   MAXFILSYS:    FILSYS_INDEX;
   MAXDEVICE:    DEVICE_INDEX;
   MAX_Q_SIZE:   LOAD_Q_INDEX;
   SYSDIR:         FILE;
   ERRORTEXTS:     FILE;
   WF:             FILE;
   WS:             STREAM;
   STATUS:         STATUS_TYPE;
   PASSFILE:       ARRAY[ PASSES ] OF FILE;
   PRINTFILE:      PRINTFILEREC;
   USRIDGENERATOR: INTEGER;
   MEMMGR:         PROCESS_NAME;
   TEMP_FILE_ATTR: FILE_ATTRIBUTES;
   EVTTYP:         EVENT_TYPE;
   EVENT:          INTEGER;
   MSGBUF:         MESSAGE_BUFFER;
   CURTERMINAL:    TERMINAL_INDEX;
   CLOSED:         BOOLEAN;
   OSUSR:          USERID
END;
   "MAXTERMINAL, MAXPROCESS, MAXPROGRAM CORRESPOND TO OC"
   "FILSYS[0] CORRESPONDS TO SYSTEM FILE SYSTEM         "

TYPE GLOBAL_REF =@COMMON_DATA;
"PAGE"«ff» «a5»