*DECK     CSISIT
USETEXT TEXTSS
USETEXT TEXTCS
USETEXT          TXTSMCS
USETEXT          TXTAPSS
PROC CSISIT;
# TITLE CSISIT - SEQUENCE INITIALIZATION TASKS.                       # 
  
      BEGIN  # CSISIT # 
# 
**    CSISIT - SEQUENCE INITIALIZATION TASKS. 
* 
*     S. H. FISCHER.         81/08/26.
*     D. G. DEPEW.           81/11/18.
*     C. J. BRION.      82/02/20. 
* 
*     THIS ROUTINE IS PART OF THE INITIALIZATION PROCESS FOR CS.
*     ITS JOB IS TO PERFORM OR CALL ROUTINES TO PERFORM ALL THE 
*     TASKS THAT MUST BE DONE BEFORE STARTING NORMAL OPERATIONS 
*     OF CS BY ENTERING THE MAIN LOOP.
* 
*     PROC CSISIT 
* 
*     ENTRY      NONE.
* 
*     EXIT       PROGRAM READY TO START NORMAL OPERATIONS.
* 
# 
  
  
  
# 
****  PROC CSISIT - XREF LIST.
# 
  
      XREF
        BEGIN 
        PROC CSIBPT;         # BUILD DEBUG AID POINTER TABLE           #
        PROC CSIIAM;         # INITIALIZE AIP MONITOR                  #
        PROC CSIIMT;         # INITIALIZE MANAGED TABLES               #
        PROC CSIBWD;         # BUILD WORKLIST DEFINITIONS              #
        PROC CSIBSW;         # BUILD STATUS WORKLIST DEFINITIONS       #
        PROC CSIBXT;         # BUILD NCF CROSS REFERENCE TABLE         #
        PROC CSIBRT;         # BUILD ROLLOUT TABLE                     #
        PROC CSIBOD;         # BUILD OVERLAY DEFINITIONS               #
        PROC CSIBOT;         # BUILD OPERATOR CONTROL BLOCKS #
                                         # AND THE ACN LIST # 
        PROC MESSAGE;        # ISSUE DAYFILE MESSAGE (MACREL)          #
        PROC NETON;          # CONNECT TO NETWORK                      #
        PROC NETSETP;        # PARALLEL MODE CONTROL                   #
        PROC RECALL;         # PLACE JOB IN RECALL (MACREL)            #
        END 
  
# 
****
# 
  
  
      DEF OPTION$  #0#;      # DAYFILE MESSAGE OPTION                  #
  
      STATUS NETON$          # NETON STATUS LIST                       #
        SUCCESS,             # NETON SUCCESSFUL                        #
        UNAVAIL,             # NAM UNAVAILABLE                         #
        DUPLICATE,           # DUPLICATE CS NETON ATTEMPT              #
        DISABLED;            # CS IS DISABLED                          #
  
  
      ITEM NSTAT  S:NETON$;  # NETON STATUS                            #
  
  
      ARRAY TRYMSG [00:00] S(3);
        BEGIN 
        ITEM TR$TEXT    C(00,00,20) = ["CS ATTEMPTING NETON."]; 
        ITEM TR$ZERO    U(02,00,60) = [0];
        END 
  
      ARRAY DUPMSG [00:00] S(3);
        BEGIN 
        ITEM DP$TEXT    C(00,00,20) = ["CS DUPLICATE NETON."];
        ITEM DP$ZERO    U(02,00,60) = [0];
        END 
  
      ARRAY DISMSG [00:00] S(2);
        BEGIN 
        ITEM DI$TEXT    C(00,00,15) = ["CS DISABLED."]; 
        ITEM DI$ZERO    U(01,30,30) = [0];
        END 
  
      ARRAY OKMSG [00:00] S(3); 
        BEGIN 
        ITEM OK$TEXT    C(00,00,20) = ["CS NETON SUCCESSFUL."]; 
        ITEM OK$ZERO    U(02,00,60) = [0];
        END 
  
  
  
  
  
      CSIBPT;                # BUILD DEBUG AID POINTER TABLE           #
  
      CSIIMT;                # INITIALIZE MANAGED TABLES               #
  
      CSIBWD;                # BUILD WORKLIST DEFINITIONS              #
  
      CSIBSW;                # BUILD WORKLIST DEFINITIONS              #
  
      CSIIAM;                # INITIALIZE AIP MONITOR                  #
  
      CSIBXT;                # BUILD NCF CROSS REFERENCE TABLE         #
  
      CSIBOT;                # BUILD OPERATOR TABLES #
  
      CSIBOD;                # BUILD OVERLAY DEFINITIONS               #
  
      CSIBRT;                # BUILD ROLLOUT TABLE                     #
  
  
      P<ABH> = LOC(ABHBUF); 
      P<CSSM> = LOC(MSGBUF);
      P<APSM> = LOC(MSGBUF);
  
  
      CTM$FTIME[0] = O"7777 7777";
  
      CSSTATE = FALSE;       # EQUALS SHUTDOWN NOT IN PROGRESS         #
  
  
      MESSAGE (TRYMSG, OPTION$);
      FOR NSTAT = S"UNAVAIL"
        WHILE NSTAT EQ S"UNAVAIL" 
      DO                     # LOOP UNTIL NAM IS AVAILABLE             #
        BEGIN 
        RECALL (0); 
        NETON ("CS", NSUP, NSTAT, MINACN$, MAXACN$); # CONNECT TO NW #
        END 
  
  
      IF NSTAT EQ S"DUPLICATE"
      THEN                   # CS ALREADY NETTED ON                    #
        BEGIN 
        MESSAGE (DUPMSG, OPTION$);
        STOP; 
        END 
      ELSE IF NSTAT EQ S"DISABLED"
      THEN                   # CS IS DISABLED                          #
        BEGIN 
        MESSAGE (DISMSG, OPTION$);
        STOP; 
        END 
      MESSAGE (OKMSG, OPTION$); 
  
      NETSETP(0);            # BEGIN PARALLEL MODE                     #
  
  
  
      END  # CSISIT # 
      TERM
