PROC SSINIT; # TITLE SSINIT - OPEN CATALOG AND SMMAP INITIALIZER. # BEGIN # SSINIT # # ** SSINIT - OPEN CATALOG AND SMMAP INITIALIZER. * * PROC SSINIT. * * EXIT BUFFER AND TABLE POINTERS SET UP. * * NOTES *SSINIT* IS USED BY THE *MSS* UTILITIES * TO SET UP BUFFER AND TABLE ADDRESSES FOR * THE CATALOG AND SMMAP ACCESS ROUTINES. * IT ALLOWS FOR 8 CATALOGS AND 8 SMMAPS * TO BE OPEN AT A TIME. # DEF LISTCON #0#; # DO NOT LIST COMDECKS # *CALL COMBFAS *CALL COMBCMD # * FETS, BUFFERS AND TABLES. # ARRAY FETS [0:3] S(RFETL);; ARRAY BUF$AST [1:ABUFLEN] P(1);; ARRAY BUF$FCT[1:FCTBL] P(1);; ARRAY BUF$MAP [1:MAPBUFL] P(1);; ARRAY BUF$TEMP [1:FCTBL];; ARRAY BUF$WORK [1:WBUFL] P(1);; # * OPEN CATALOG TABLE. # ARRAY T$OCT [0:7] P(OCTENTL);; # * OPEN SMMAP TABLE. # ARRAY T$OMT [1:MAXSM] P(OMTENTL);; # * PREAMBLE TABLE. # ARRAY T$PRM [0:7] P(14);; CONTROL EJECT; # * SET UP BUFFER AND TABLE ADDRESSES. # FCTFADR = LOC(FETS[0]); # *FCT* FET # P = FCTFADR; MAPFADR = LOC(FETS[1]); # MAP FET # P = MAPFADR; TFETADR = LOC(FETS[2]); # TEMPORARY FET # P = TFETADR; ASTBADR = LOC(BUF$AST); # *AST* I/O BUFFER # FCTBADR = LOC(BUF$FCT[1]); # *FCT* I/O BUFFER # P = FCTBADR; MAPBADR = LOC(BUF$MAP[1]); # MAP BUFFER # P = MAPBADR; TBUFADR = LOC(BUF$TEMP[1]); # TEMPORARY BUFFER # P = TBUFADR; WBUFADR = LOC(BUF$WORK[1]); # WORKING BUFFER # P = WBUFADR; OCTLEN = 8; # *OCT* LENGTH # OCTADR = LOC(T$OCT[0]); # OPEN CATALOG TABLE # P = OCTADR; OMTADR = LOC(T$OMT[1]); # OPEN MAP TABLE # P = OMTADR; PRMBADR = LOC(T$PRM[0]); # PREAMBLE TABLE # P = PRMBADR; RETURN; END # SSINIT # TERM