*DECK     NVF 
OVERLAY(00,00,OV=7) 
USETEXT          TEXTSS 
USETEXT          TEXTNVF
USETEXT          TXTANVF
USETEXT          TXVCBNV
USETEXT          TXSMNVF
USETEXT          TXTAPSS
PRGM NVF; 
# TITLE NVF - NETWORK VALIDATION FACILITY.  # 
  
      BEGIN # NVF # 
# 
**    NVF - NETWORK VALIDATION FACILITY.
* 
*     D. G. DEPEW            82/06/14.
*     C. B. BRION            83/12/12.
* 
*     THE FUNCTION OF THE MAIN PROGRAM  IS TO LOAD AND EXECUTE THE
*     INITIALIZATION OVERLAY AND TO BE THE SKELETON FOR THE MAIN (0,0)
*     OVERLAY.
* 
*     PROC NVF
* 
*     ENTRY   NONE. 
* 
*     EXIT    THERE IS NO EXIT IN THE USUAL SENSE.  THE MAIN PROGRAM
*             TRANSFERS CONTROL TO THE INITIALIZATION OVERLAY, WHICH, 
*             WHEN COMPLETE, TRANSFERS CONTROL TO THE PROGRAM EXECUTION 
*             SEQUENCER (*SSSPES*), WHICH NEVER RETURNS.
# 
  
# 
****  PRGM NVF - XREF LIST. 
# 
      XREF
        BEGIN 
        PROC LOADREQ;        # ISSUE LOADER REQUEST (MACREL)           #
        PROC NVFCDQE;        # DISPATCH C-LAYER QUEUE ENTRY            #
        PROC NVFTDQE;        # DISPATCH T-A QUEUE ENTRY                #
        PROC NVFTICR;        # ISSUE CPM REQUEST                       #
        PROC NVFVPSR;        # PROCESS VCB SERIAL SEARCH REQUEST       #
        PROC NVFVRVF;        # READ VCB FILE                           #
        LABEL NVFPRPE;       # NVFUJPRP ENTRY POINT                    #
        PROC SSACNI;         # CONTROL NETWORK INTERFACE               #
        PROC SSCRTR;         # RETURN TIMER REQUEST                    #
        PROC SSOCOL;         # CONTROL OVERLAY LOADING                 #
        PROC SSOEOP;         # EXECUTE OVERLAY PROGRAM                 #
        PROC SSSPAT;         # PROCESS ABNORMAL TERMINATION            #
        PROC SSSPES;         # PROGRAM EXECUTION SEQUENCER             #
        END 
# 
****
# 
  
  
  
  
  
CONTROL PRESET; 
  
*CALL HMSGNVF 
  
*CALL TMSGNVF 
  
*CALL SMSGNVF 
  
  
  
  
  
      ARRAY LDREQ [00:00] S(2);        # LOADREQ PARAMETER BLOCK       #
        BEGIN 
        ITEM LDR$NAME   C(00,00,07) = ["NVFLSIT"];    # INIT OVL NAME  #
        ITEM LDR$RES1   U(00,42,18) = [0];            # UNUSED         #
        ITEM LDR$L1     U(01,00,06) = [O"77"];        # PRIME OVL LEV  #
        ITEM LDR$UNUSED U(01,06,11) = [0];            # L2,N,RES,S,D   #
        ITEM LDR$U      B(01,17,01) = [TRUE];         # LOAD OPTION    #
        ITEM LDR$V      B(01,18,01) = [TRUE];         # OVERLAY LD FLG #
        ITEM LDR$RES2   U(01,19,04) = [0];            # RESERVED       #
        ITEM LDR$E      B(01,23,01) = [TRUE];         # AUTO EXECUTE   #
        ITEM LDR$LWAFWA U(01,24,36) = [0];            # LWA, FWA       #
        END 
  
  
  
  
  
  
# 
*     SET THE REPRIEVE PARAMETER BLOCK SO AS TO CAUSE THE NVF 
*     PROGRAM TO GO TO NVFUPRP RATHER THAN PAT1 OF SSSPAT IN
*     ORDER TO PERFORM NVF UNIQUE REPRIEVE PROCESSING FUNCTIONS.
# 
  
      RPV$ADDR[0] = LOC(NVFPRPE); 
  
  
      SSSPAT;                # SET UP AIP TRACE FILE FLUSH UPON ABORT  #
  
# 
*     CHECK SOURCE OF PROGRAM LOAD.  LOAD AND EXECUTE INITIALIZATION
*     OVERLAY FROM SAME SOURCE. 
# 
      P<LDRINFO> = O"64"; 
      IF NOT LDI$LB[0]
      THEN                             # NVF RUNNING FROM A FILE       #
        BEGIN 
        LDR$NAME[0] = LDI$NAME[0];     # FILE NAME                     #
        LDR$U[0] = FALSE; 
        END 
  
      LOADREQ (LDREQ);       # LOAD AND EXECUTE INITIALIZATION OVERLAY #
  
  
# 
*     THE FOLLOWING SUBROUTINE CALLS ARE NEVER EXECUTED (BECAUSE THERE
*     IS NO RETURN FROM THE *LOADREQ* CALL).  THE CALLS ARE INCLUDED
*     HERE IN ORDER TO FORM THE MAIN (0,0) OVERLAY. 
# 
      SSSPES;                # PROGRAM EXECUTION SEQUENCER             #
  
      SSACNI;                # CONTROL NETWORK INTERFACE               #
  
      SSCRTR;                # RETURN TIMER REQUEST                    #
  
      SSOCOL;                # CONTROL OVERLAY LOADING                 #
  
      SSOEOP;                # EXECUTE OVERLAY PROGRAM                 #
  
      NVFCDQE;               # DISPATCH C-LAYER QUEUE ENTRY            #
  
      NVFTDQE;               # DISPATCH T-A CONNECTION QUEUE ENTRY     #
  
      NVFTICR;               # ISSUE CPM REQUEST                       #
  
      NVFVRVF;               # READ VCB FILE                           #
  
      NVFVPSR;               # PROCESS VCB SERIAL SEARCH REQUEST       #
  
  
      END # NVF # 
  
      TERM
