*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