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 - download
Length: 21622 (0x5476) Types: TextFile Names: »CTERM.DECL.S«
└─⟦c174207bd⟧ Bits:30005194 8" CR80 Floppy CR80FD_0192 ( VOL: FLOPPY ) └─⟦194c604ac⟧ └─ ⟦this⟧ »CTERM.0001.D!CTERM.DECL.S«
"PAGE «ff» "DECLARATION CONCERNING MTCB "--------------------------- TYPE MTCB_WORK_SPACE_TYPE = ARRAY[0..7] OF INTEGER; TYPE REAL_MTCB_TYPE = RECORD TAGFIELD: INTEGER; APREC: INTEGER; IPREC: INTEGER; CLASS: INTEGER; SPEC: INTEGER; MTYPE: INTEGER; LENGTH: INTEGER; "NOTE: CORRESPOND TO WORD4 IN PSEUDO_MTCB_TYPE HDB_ADDRESS: LONG; WORD4: INTEGER; WORD5: INTEGER; WORD6: INTEGER; WORD7: INTEGER; END; TYPE PSEUDO_MTCB_TYPE = RECORD TAGFIELD: INTEGER; CATEGORY: INTEGER; SUBCAT: INTEGER; BYTE1: INTEGER; WORD2: INTEGER; WORD3: INTEGER; WORD4: INTEGER; "NOTE: CORRESPOND TO LENGTH IN REAL_MTCB_TYPE WORD5: INTEGER; WORD6: INTEGER; WORD7: INTEGER; END; CONST RETRIEVE_DTG_REF = ADDRESS(0@REAL_MTCB_TYPE.WORD6); "ORDINARY MESSAGE DT_MSG_ID_REF = ADDRESS(0@PSEUDO_MTCB_TYPE.WORD3); "AT DT-TRANSFER MTCB_BUFFER_SIZE = MAX(SIZE(REAL_MTCB_TYPE),SIZE(PSEUDO_MTCB_TYPE)); "PAGE «ff» CONST MTCB = 107; "MTCB FUNCTIONS MTCB COMPLITION CODE "-------------- -------------------- INITMTCB = 0; PCBI_OUT_OF_RANGE = #0901; CREATEMTCB = 1; NOT_INITED = #0902; RESERVEMTCB = 2; MTCBI_OUT_OFRANGE = #0903; RELEASEMTCB = 3; MTCB_NOT_IN_USE = #0904; WRITEMTCB = 4; ALL_SAVE_AREAS_USED = #0905; READMTCB = 5; SUBSYSNO_OUT_OF_RANGE = #0906; CREATEMTCBFILE = 6; NO_MTCB_AVAILABLE = #0907; GETMTCBFILE = 7; ILLEGAL_UPDATE_CODE = #0908; RELEASEMTCBFILE = 8; USE_COUNT_GT1 = #0909; FILE_ALREADY_EXISTS = #090A; NO_IMF_SPACE_AVAILABLE = #090B; NO_PDB_FILE_AVAILABLE = #090C; NO_FILE_REF = #090D; NO_FILE_IN_USE = #090E; "MTCB WAITOPTIONS MTCB_TYPES "---------------- ---------- NO_WAIT_NORMAL_MTCB = 0; TYPE_PSEUDO_MTCB = 0; WAIT_NORMAL_MTCB = 1; TYPE_REAL_MTCB = 1; NO_WAIT_PRIVILEGED_MTCB = 2; WAIT_PRIVILEGED_MTCB = 3; "MTCB FILE TYPES MESSAGE TYPES (IN MTYPE) "--------------- ------------------------ IMF_FILE = 1; NARRATIVE_MESSAGE = 0; PDB_FILE = 2; MEDE_CONTROL_MESSAGE = 1; HDB_FILE = 3; NODE_CONTROL_MESSAGE = 3; "PAGE «ff» "DECLARATION CONSERNING QACCESS "------------------------------- QACCESS = 108; TYPE QIOCB_TYPE = RECORD W1: INTEGER; W2: INTEGER; W3: INTEGER; W4: INTEGER; W5: INTEGER; S0_7: ARRAY[0..7] OF INTEGER; END; CONST "FUNNTIONS COMPLITION CODES "--------- ---------------- INITIALIZE_QACCESS = 0; OK = #0800; SET_THRESHOLD = 1; OPERATION_FAILED = #0801; LENGTH_OF_QUEUE = 2; ILLEGAL_INPUT_PARAM = #0802; LENGTH_OF_GROUP = 3; QUEUE_EMPTY = #0803; READ_NON_DESTRUCTIVE = 4; FIRST_ENTRY_NOT_ACTIVE = #0804; READ_DESTRUCTIVE = 5; QUEUE_OVERFLOW = #0805; READ_GROUP_ELEMENT = 6; FIRST_ENTRY_PENDING_READ = #0806; DELETE_ELEMENT = 7; WRITE_ELEMENT = 8; REORGANIZE_QUEUE = 9; APPEND_QUEUE = 10; RELEASE_ACTIVE_FLAG = 11; "PAGE «ff» "QUEUE DESTINATION SIMPLE FLAG READ ENTRY FUNCTIONS "----------------- ---------------- --------------- LAST_ENTRY = 0; SET_FIRST_ENTRY_ACTIVE = 0; NO_WAIT_NORMAL_QACCESS = 0; FIRST_ENTRY = 1; NO_ACTIVATION = 1; WAIT_NORMAL_QACCESS = 1; NO_WAIT_PRIVILEGED_QACCESS = 3; WAIT_PRIVILEGED_QACCESS = 4; DT_TERM_NO = 0; "SUPERVISOR DT TERMINAL NUMBER DT_QUEUE_NO = 0; "SUPERVISOR DT TERMINAL-QUEUE NUMBER %WHEN CCIS_VERSION = TRUE SKIP MDS_TERM_NO = 31; "MDS TERMINAL NUMBER %COMPILE %WHEN CCIS_VERSION = FALSE SKIP MDS_TERM_NO = 38; "USED AS INPUT-Q TO CPIPX %COMPILE "PAGE «ff» "DECLARATION CONCERNING RDF-MONITOR USE "-------------------------------------- CONST RDF = 109; GET_ANO_AIG = 1; GET_AIG_EXIST = 4; GET_ANO_TERM = 3; TYPE GET_ANO_AIG_SAVE = RECORD FA: FILE_ADDRESS; BLE: BUFFER_LIST_ELEMENT; S: REGISTERS; END; GET_ANO_AIG_WORK = RECORD AIG: INTEGER; ENTRY_LENGTH: INTEGER; A,B,E,F,H,K,L,N: ARRAY[0..6] OF INTEGER; T,U,V,W,X: ARRAY[0..15] OF INTEGER; END; GET_ANO_TERM_WORK = RECORD ANO: INTEGER; TERM_NO: INTEGER; S: REGISTERS; END; GET_AIG_EXIST_WORK = RECORD S: REGISTERS; END; "PAGE «ff» CONST RDF_WORK_AREA_SIZE = MAX(SIZE(GET_ANO_AIG_SAVE), SIZE(GET_ANO_TERM_WORK), SIZE(GET_AIG_EXIST_WORK)); TYPE ANO_CODE_TYPE = (TO_ADDRESS, INFO_ADDRESS, NEG_TO_ADDRESS, NEG_INFO_ADDRESS, TO_AIG_ADDRESS, XMT_AIG_ADDRESS, FM_ADDRESS, SPARE_ANO_TYPE); CONST "MONITOR PROCEDURES "------------------ GETDTG = 111; CONVDTG = 112; LOG_JOURNAL = 114; TESTHDB = 113; SENDREPORT = 115; LCFH = 121; "PAGE «ff» "DECLARATION CONCERNING DTG "-------------------------- CONST DTG_WORK_LENGTH = 60; "LENGTH OF DTG_WORK_AREA DTG_EDIT_LENGTH = 72; "LENGTH OF DTG_EDIT_AREA TYPE DTG_WORK_AREA_TYPE = ARRAY[0..DTG_WORK_LENGTH-1] OF CHAR; DTG_EDIT_AREA_TYPE = ARRAY[0..DTG_EDIT_LENGTH-1] OF CHAR; "REFERENCES IN DTG_WORK "---------------------- CONST CONVERSION_FLAG_REF = 0; DTG_ASCII_REF = 2; "BYTE OFFSET DTG_INTEGER_REF = 8; "WORD OFFSET DTG_ASCII_LENGTH = 14; "BYTE LENGTH CONST LOC_RELEASE_DTG = 24; "BYTE OFFSET LOC_RETRIE_DTG = 57; "BYTE OFFSET "SENDREPORT DECLARATIONS "----------------------- TYPE SENDREPORT_WORK_AREA_TYPE = ARRAY[0..20] OF INTEGER; CONST REF_TYPE = 0; "PAGE «ff» "DECLARATION CONCERNING MESSAGE_JOURNAL "-------------------------------------- CONST LOG_JOURNAL_WORK_LENGTH = 13 + 8; "LENGTH OF LOG_JOURNAL_WORK_AREA TYPE LOG_JOURNAL_WORK_AREA_TYPE = ARRAY[0..LOG_JOURNAL_WORK_LENGTH-1] OF INTEGER; "DECLARATIONS CONCERNING TERMINAL CONTROL BLOCKS "----------------------------------------------- CONST TCB_LENGTH = 16; "IN BYTES TYPE TCB_TYPE = ARRAY[0..TCB_LENGTH-1] OF CHAR; CONST U_TID_OFFSET = 0; V_USID_OFFSET = 4; "BYTE OFFSET K_USC_OFFSET = 13; "BYTE OFFSET U_ANO_OFFSET = 7; "WORD OFFSET "PAGE «ff» "DECLARATION CONCERNING BINARY_HEADER (NARRATIVE MESSAGE) "-------------------------------------------------------- CONST BINARY_HEADER_LENGTH = 26; "LENGTH IN BYTES REF_MESSAGE_LENGTH = 4; "WORD ADDRESS IN BINARY_HEADER REF_ADDRESS_LIST_OFFSET = 6; "WORD ADDRESS IN BINARY_HEADER REF_SIGNAL_HEADER_LENGTH = 8; "WORD ADDRESS IN BINARY_HEADER REF_ACCEPT_DTG = 9; "WORD ADDRESS IN BINARY_HEADER REF_MSG_ID_OFFSET = 11; "WORD ADDRESS IN BINARY_HEADER REF_SIC_REFERENCE = 12; "WORD ADDRESS IN BINARY_HEADER REF_ACTION_PREC = 2; "BYTE OFFSET IN BINARY HEADER REF_INFO_PREC = 14; "BYTE OFFSET IN BINARY HEADER REF_CLASSIFICATION = 11; "BYTE OFFSET IN BINARY HEADER REF_SPEC_CODE = 10; "BYTE OFFSET IN BINARY HEADER "OFFSETS/REFFERENCES IN CONTROL MESSAGES "--------------------------------------- OFFSET_MAINTYPE = 3; "BYTE OFFSET IN MESSAGE OFFSET_PRECEDENCE = 2; "BYTE OFFSET IN MESSAGE OFFSET_MESSAGE_LENGTH = 4; "WORD OFFSET IN MESSAGE OFFSET_CATEGORY = 11; "BYTE OFFSET IN MESSAGE OFFSET_TYPE = 10; "BYTE OFFSET IN MESSAGE OFFSET_ORIGINATOR = 12; "BYTE OFFSET IN MESSAGE OFFSET_ACK_CHANNEL_NO = 38; "BYTE OFFSET IN MESSAGE OFFSET_NACK_CHANNEL_NO = 39; "BYTE OFFSET IN MESSAGE "CONTROL MESSAGE TYPES (SUBCATEGORY) "----------------------------------- MESSAGE_ACK = 1; MESSAGE_NACK = 2; OPEN_LINK_REQUEST = 3; OPEN_LINK_AGREEMENT = 4; OPEN_LINK_REJECTION = 5; CLOSE_LINK = 6; KEEP_ALIVE = 7; CCIS_CATEGORY = 16; "PAGE «ff» "CCIS LINK STATUS (IN CONFIG.CONSTANT_BLOCK.CCIS_STATUS) "------------------------------------------------------ CCIS_LINK_NOT_EXIST = 0; CCIS_LINK_CLOSED = 1; CCIS_LINK_OPEN = 2; CCIS_LINK_FAILED = 3; "CHANNEL DECLARARTIONS "--------------------- TYPE CHANNELS = (CONTROL_CHANNEL, "(= 0) NARRATIVE_CHANNEL, "(= 1) NO_OF_CHANNELS); "(= 2) CHANNELS_ARRAY = ARRAY[0..NO_OF_CHANNELS-1] OF INTEGER; "DEFINITION OF BITS IN STATUS-WORD "--------------------------------- CONST CONTROL_CHANNEL_ACTIVE = CONTROL_CHANNEL; "(=0) NARRATIVE_CHANNEL_ACTIVE = NARRATIVE_CHANNEL; "(=1) OUTSTANDING_OPEN_REQUEST = 8; OPEN_LINK_TIMEOUT = 10*60*10; "10 MINUTES MAX_FILE_LENGTH = 9000; "MAX. LENGTH OF NARRATIVE MESSAGE "PAGE «ff» TYPE INTEGERS = ARRAY[0..#FF] OF INTEGER; LONGSE = RECORD LONGS:ARRAY[0..#FFF] OF LONG; END; LONGSO = RECORD ODDOFFSET:INTEGER; LONGS:ARRAY[0..#FFF] OF LONG; END; TYPE STATIC_RECORD_TYPE = RECORD NO_OF_MESSAGES: INTEGER; NO_OF_ANOS: INTEGER; NO_OF_BYTES: LONG; END; CONST MAX_WORK_AREA_SIZE = MAX(SIZE(MTCB_WORK_SPACE_TYPE), SIZE(DTG_WORK_AREA_TYPE), SIZE(SENDREPORT_WORK_AREA_TYPE), SIZE(LOG_JOURNAL_WORK_AREA_TYPE), RDF_WORK_AREA_SIZE); "PAGE «ff» CONST " LABEL USED IN CTERM-PROCESS RAISED BY (CALL OF) WANTED ACTION BY CODE " --------------------------- ------------------- ------------- ------- GETROOT_MOVHEAD_ERROR = 101; " MON(IO,GETROOT) ?/SWITCHOVER ALL GETROOT_FIXHEAD_ERROR = 102; " MON(IO,GETROOT) ?/SWITCHOVER ALL LOOKUP_RDF_ERROR = 103; " MON(IO,LOOKUP) OF RDF-FILE ?/SWITCHOVER ALL INITMTCB_ERROR = 300; " MON(MTCB,INIT) ?/SWITCHOVER ALL CREATEMTCB_ERROR = 301; " MON(MTCB,CREATE) WAIT 30 S, TRY AGAIN LOCAL_FIX_UP " ?/SWITCHOVER OTHERS RESERVEMTCB_ERROR = 302; " MON(MTCB,RESERVE) ?/SWITCHOVER ALL RELEASEMTCB_ERROR = 303; " MON(MTCB,RELEASE) ?/SWITCHOVER ALL WRITEMTCB_ERROR = 304; " MON(MTCB,WRITE) ?/SWITCHOVER ALL READMTCB_ERROR = 305; " MON(MTCB,READ) ?/SWITCHOVER ALL CREATEMTCBFILE_ERROR = 306; " MON(MTCB,CREATEMTCBFILE) WAIT 30 S, TRY AGAIN LOCAL_FIX_UP " ?/SWITCHOVER OTHERS GETMTCBFILE_ERROR = 307; " MON(MTCB,GETMTCBFILE) ?/SWITCHOVER ALL RELEASEMTCBFILE_ERROR = 308; " MON(MTCB,RELEASEFILE) ?/SWITCHOVER ALL ENQUEUE_TO_MDS_ERROR = 401; " MON(QACCESS,WRITE_ELEMENT) WAIT 30 S, TRY AGAIN LOCAL_FIX_UP " ?/SWITCHOVER OTHERS GET_START_RESTART_FLAG_ERROR = 501; " MON(REGION,RCOPYN) FROM CONFIG ?/SWITCHOVER ALL GET_TERM_NO_CCIS_ERROR = 502; " MON(REGION,RCOPYN) FROM CONFIG ?/SWITCHOVER ALL GET_STATUS_CCIS_ERROR = 503; " MON(REGION,RCOPYN) FROM CONFIG ?/SWITCHOVER ALL GET_TCB_CCIS_ERROR = 504; " MON(REGION,RCOPYN) FROM XTCBCR ?/SWITCHOVER ALL ENTER_CONFIG_ERROR = 511; " MON(REGION,ENTER) OF CONFIG ?/SWITCHOVER ALL UPDATE_CONFIG_ERROR = 512; " MON(REGION,RPUT) IN CONFIG ?/SWITCHOVER ALL LEAVE_CONFIG_ERROR = 513; " MON(REGION,LEAVE) OF CONFIG ?/SWITCHOVER ALL ENTER_STATIC_ERROR = 521; " MON(REGION,ENTER) OF STATIC ?/SWITCHOVER ALL READ_STATIC_ERROR = 522; " MON(REGION,RGETN) FROM STATIC ?/SWITCHOVER ALL UPDATE_STATIC_ERROR = 523; " MON(REGION,RPUTN) IN STATIC ?/SWITCHOVER ALL LEAVE_STATIC_ERROR = 524; " MON(REGION,LEAVE) OF STATIC ?/SWITCHOVER ALL "PAGE «ff» " LABEL USED IN CTERM-PROCESS RAISED BY (CALL OF) WANTED ACTION BY CODE " --------------------------- ------------------- ------------- ------- READ_MESSAGE_ERROR = 601; " MON(IO,READBYTES) ?/SWITCHOVER ALL WRITE_MESSAGE_ERROR = 602; " MON(IO,MODIFYBYTES) ?/SWITCHOVER ALL INSERT_ACCEPT_DTG_ERROR = 603; " MON(IO,MODIFYBYTES) ?/SWITCHOVER ALL GETFILEINFORMATION_ERROR = 604; " MON(IO,GETFILEINFORMATION) ?/SWITCHOVER DTG_CONVERSION_ERROR = 701; " MON(CONVDTG) ?/SWITCHOVER ALL LOG_JOURNAL_ERROR = 702; " MON(LOG_JOURNAL) ?/SWITCHOVER ALL SENDREPORT_ERROR = 703; " MON(SENDREPORT) ?/SWITCHOVER ALL CHECKPOINT_ERROR = 801; " AT CHECKPOINTING ?/SWITCHOVER #FFFF GET_AIG_ERROR = 901; " MON(RDF,GET_ANO_AIG) ?/SWITCHOVER ALL "PAGE «ff» " LABELS USED IN CONNECTION WITH DETECTION OF ERRORS IN MESSAGE PROCESSING ILLEGAL_CATEGORY = #8001; "OF CONTROL MESSAGE UNKNOWN_CONTROL_MESSAGE = #8002; ILLEGAL_ACK_NACK = #8003; ILLEGAL_FILE_LENGTH = #9001; ILLEGAL_MESSAGE_LENGTH = #9002; ILLEGAL_ANO_LIST_OFFSET = #9003; ILLEGAL_SIC_OFFSET = #9004; ILLEGAL_REF_SIGNAL_HEADER = #9005; ILLEGAL_REF_MSGID = #9006; ILLEGAL_ACTION_PREC = #9007; ILLEGAL_INFO_PREC = #9008; ILLEGAL_SIC_CODE = #9009; ILLEGAL_CLASSIFICATION = #9010; "PAGE «ff» VAR STATUS: INTEGER; STATUS_CCIS: INTEGER; TERM_NO_CCIS: INTEGER; MES_BUF: MESSAGE_BUFFER; QIOCB: QIOCB_TYPE; MTCBID: INTEGER; MSG_ID: ARRAY[0..5] OF CHAR; "STORAGE OF MESSAGE ID FILEID_MOVHEAD: INTEGER; FILEID_FIXHEAD: INTEGER; FILEID: INTEGER; RDF_FILE_ID: INTEGER; FILEADDR: FILE_ADDRESS; BLE_BUFFER: BUFFER_LIST_ELEMENT; "MISCELLANEOUS USE FILEADDR_DTG: FILE_ADDRESS; BLE_DTG: BUFFER_LIST_ELEMENT; "PAGE «ff» CPIP_NAME: PROCESS_NAME; CTERM_NAME: PROCESS_NAME; CHECKP_NAME: PROCESS_NAME; CONFIG_NAME: REGION_NAME; XTCBCR_NAME: REGION_NAME; STATIC_NAME: REGION_NAME; CHECKP_MESS_BUF0: CHECKPOINT_MESSAGE; CHECKP_MESS_BUF1: CHECKPOINT_MESSAGE; DUMPREGS_0: REGISTERS; DUMPREGS_1: REGISTERS; DUMPREGS_2: REGISTERS; MTCB_BUFFER: ARRAY[0..MTCB_BUFFER_SIZE-1] OF INTEGER; TCB_CCIS: TCB_TYPE; STATIC_RECORD: STATIC_RECORD_TYPE; RDF_NAME: FILE_NAME; VOLUME_MOVHEAD: VOLUME_NAME; VOLUME_FIXHEAD: VOLUME_NAME; FILE_SYSTEM: FILE_SYSTEM_NAME; WORK_AREA: ARRAY[0..MAX_WORK_AREA_SIZE-1] OF INTEGER; AIG_BUFFER: ARRAY[0..SIZE(GET_ANO_AIG_WORK)-1] OF INTEGER; BUFFER: ARRAY[0..511] OF CHAR; "PAGE «ff» INIT "CHECKPINT MESSAGES "------------------ "RETRIVE OF CCIS_STATUS (AT RESTART) "----------------------------------- CHECKP_MESS_BUF0 = (RETRIEVE_CHECKPOINT SHIFTLL 15) "COMMAND + (SYSTEM_CHECKPOINTS SHIFTLL 8) + (CHECKPOINT_SINGLE_WORD SHIFTLL 4), OFFSET_CCIS_STATUS, 0; "ENQUEUE TO MDS "-------------- CHECKP_MESS_BUF1 = (STORE_CHECKPOINT SHIFTLL 15) "COMMAND + (MTCB_CHECKPOINTS SHIFTLL 8) + (ENQUEUE_SINGLE SHIFTLL 4) + (1 SHIFTLL MTCB_UPDATE) + (1 SHIFTLL CLEAR_QUEUE_MAP), '*', "MTCB_INDEX MDS_TERM_NO, "MDS-TERMINAL NO - T0 '*'; "QUEUE NO - TO "PAGE «ff» STATUS_CCIS = CCIS_LINK_CLOSED; BLE_BUFFER.KIND = BMLOCALLOWER; BLE_BUFFER.LINK = 0; BLE_BUFFER.ADDR = ADDRESS(BUFFER); BLE_BUFFER.BYTE_SIZE = SIZE(BUFFER)*2; FILEADDR_DTG.FIRST_BYTE = REF_ACCEPT_DTG*2; FILEADDR_DTG.BYTE_COUNT = 4; "BYTE_SIZE(LONG) BLE_DTG.KIND = BMLOCALLOWER; BLE_DTG.LINK = 0; BLE_DTG.ADDR = ADDRESS(WORK_AREA) + DTG_INTEGER_REF; BLE_DTG.BYTE_SIZE = 4; "BYTE_SIZE(LONG) CPIP_NAME.NAME = 'CPIP'; CTERM_NAME.NAME = 'CTERM'; %WHEN CCIS_VERSION = FALSE SKIP CPIP_NAME.NAME = 'CPIPX'; CTERM_NAME.NAME = 'CTERMX'; %COMPILE CHECKP_NAME.NAME = 'CHECKP'; CONFIG_NAME.NAME = 'CONFIG'; XTCBCR_NAME.NAME = 'XTCBCR'; STATIC_NAME.NAME = 'STATIC'; FILE_SYSTEM.PNAME.NAME = 'DMA000'; FILE_SYSTEM.GNAME = 'FILE'; RDF_NAME = 'RDF'; VOLUME_MOVHEAD = 'MOVHEAD'; VOLUME_FIXHEAD = 'FIXHEAD';