*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