SSINIT
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<FCTFET> = FCTFADR;
  
      MAPFADR = LOC(FETS[1]);        # MAP FET #
      P<MAPFET> = MAPFADR;
  
      TFETADR = LOC(FETS[2]);        # TEMPORARY FET #
      P<TFET> = TFETADR;
      ASTBADR = LOC(BUF$AST);        # *AST* I/O BUFFER # 
  
      FCTBADR = LOC(BUF$FCT[1]);     # *FCT* I/O BUFFER # 
      P<FCTBUF> = FCTBADR;
  
      MAPBADR = LOC(BUF$MAP[1]);     # MAP BUFFER # 
      P<MAPBUF> = MAPBADR;
  
      TBUFADR = LOC(BUF$TEMP[1]);    # TEMPORARY BUFFER # 
      P<TBUF> = TBUFADR;
  
      WBUFADR = LOC(BUF$WORK[1]);    # WORKING BUFFER # 
      P<WBUF> = WBUFADR;
  
      OCTLEN = 8;                    # *OCT* LENGTH # 
      OCTADR = LOC(T$OCT[0]);        # OPEN CATALOG TABLE # 
      P<OCT> = OCTADR;
  
      OMTADR = LOC(T$OMT[1]);        # OPEN MAP TABLE # 
      P<OMT> = OMTADR;
  
      PRMBADR = LOC(T$PRM[0]);       # PREAMBLE TABLE # 
      P<PRMBUF> = PRMBADR;
  
      RETURN; 
  
      END  # SSINIT # 
  
    TERM
