*DECK     CSIBOT
USETEXT TEXTCS
USETEXT TXCMDCS 
PROC CSIBOT;
# TITLE CSIBOT - BUILD OPERATOR TABLES. # 
      BEGIN  # CSIBOT # 
# 
**    CSIBOT - BUILD OPERATOR TABLES. 
* 
*     C. BRION               82/04/21.
* 
*     THIS PROC ALLOCATES AND INITIALIZES THE OPERATOR CONTROL BLOCKS 
*     AND THE ACN LIST FOR THE CS PROGRAM.
* 
*     DESCRIPTION 
* 
*     PROC CSIBOT 
* 
*     ENTRY      NONE 
* 
*     EXIT       THE MANAGED TABLES FOR THE OCBS AND THE ACN LIST WILL
*                BE ALLOCATED AND INITIALIZED.
* 
# 
  
# 
****  PROC CSIBOT XREF LIST 
# 
  
      XREF
        BEGIN 
        PROC SSTATS;                      # ALLOCATE TABLE SPACE #
        END 
# 
****
# 
  
# 
*     PROC CSIBOT ITEM LIST 
# 
  
      ITEM SIZE1             I;           # SIZE VARIABLES #
  
      $BEGIN
      $END
      ITEM I;                             # LOOP VARIABLE # 
  
  
  
  
  
  
#     MAIN PROC START # 
  
# 
*     CALCULATE THE SIZE OF THE MANAGED TABLE NEEDED FOR THE OCBS 
*     AND THEN GET THE TABLE SPACE. THE TABLE WILL THEN BE ZEROED.
# 
  
      SIZE1 = (MAXACN$ * OCBSIZ$);
      SSTATS(P<OCB>,SIZE1); 
  
      FOR I=1 STEP 1 UNTIL MAXACN$
      DO
        BEGIN 
        OC$WORD[I] = 0; 
        OC$WORD1[I] = 0;
        OC$WORD2[I] = 0;
  
# 
*     INITIALIZE THE APPLICATION CONNECTION NUMBER, OCB ORDINAL WHICH 
*     IS EQUAL TO THE ACN, OPERATOR TYPE AND THE STATE OF EACH OCB
*     THE STATE IS INITIALLY SET TO INACTIVE. 
# 
  
        OC$ACN[I] = I;
        OC$ORD[I] = I;
        OC$TYPE[I] = OPTYP"NOP";
        OC$STATE[I] = FALSE;
        OC$TNAM[I] = "       "; 
        OC$UNAM[I] = "       "; 
        END 
# 
*     THE HOP OCB ENTRY NEEDS SPECIAL INITIALIZATION SINCE THE
*     NETWORK DOES NOT CAUSE THE CONNECTION TO BE BUILT IN THE SAME 
*     MANNER AS A TERMINAL OPERATOR. THE TYPE AND TERMINAL NAME MUST
*     BE SET. 
# 
  
      OC$TYPE[HOPORD$] = OPTYP"HOP";
      OC$TNAM[HOPORD$] = "HOSTCS "; 
      OC$PL[HOPORD$] = HOPIPL$;          # SET PAGE LEN FOR HOP # 
  
# 
*     THE ACN LIST SIZE IS CALCULATED AND THE MANAGED TABLE OF THAT 
*     SIZE IS THEN OBTAINED. THE ENTIRE LIST IS THEN SET TO ZERO. 
# 
  
      SIZE1 = (MAXACN$ * ACNESIZ$); 
      SSTATS(P<ACN>,SIZE1); 
  
      FOR I=1 STEP 1 UNTIL MAXACN$
      DO
        BEGIN 
        ACN$WORD0[I] = 0; 
        ACN$WORD1[I] = 0; 
  
# 
*     NOW EACH ENTRY OF THE ACN LIST IS INITIALIZED. THE ONLY FIELD 
*     THAT NEEDS TO BE SET IS THE ACN VALUE SINCE EACH ENTRY HAS BEEN 
*     SET TO ZERO.
# 
  
        ACN$ACN[I] = I; 
        END 
  
# 
*     SET THE INITIAL STATE OF THE CONTROL NOP TO ZERO. 
# 
  
      CSACNOP = 0 ; 
  
# 
*     SET CS APPLICATION NAME FOR DAYFILED COMMANDS.
# 
  
      CMD$CSID[0] = "CS/";
  
  
  
      END  #CSIBOT# 
  
      TERM
