*DECK NVFUPRP
USETEXT TEXTNVF
USETEXT TEXTSS
USETEXT TXTANVF
PROC NVFUPRP;
# TITLE NVFUPRP - PERFORM NVF REPRIEVE PROCESSING #
BEGIN
#
** NVFUPRP - PERFORM NVF REPRIEVE PROCESSING.
*
* C. J. BRION 83/12/12.
*
* THIS ROUTINE PERFORMS THE REPRIEVE PROCESSING FUNCTIONS
* THAT ARE UNIQUE FOR THE NVF PROGRAM. CURRENTLY, ONLY A GLOBAL
* SPIDA CALL IS MADE IN ORDER TO INSURE THAT ALL PIDS DEFINED
* FOR THE NHP NETWORK ARE SET UNAVAILABLE.
*
* A CALL IS THEN MADE TO THE PAT1 ENTRY POINT OF THE SS ROUTINE
* SSSPAT IN ORDER TO COMPLETE REPRIEVE PROCESSING.
*
*
* PROC NVFUPRP
*
* ENTRY NONE.
*
* EXIT GLOBAL SPIDA CALL MADE AND CONTROL TRANSFERRED
* TO SSSPAT ENTRY POINT PAT1.
#
#
**** PROC NVFUPRP XDEF LIST.
#
XDEF
BEGIN
LABEL NVFPRPE; # EXT LABEL FOR REPRIEVE #
END
#
****
#
#
**** PROC NVFUPRP - XREF LIST.
#
XREF
BEGIN
PROC DFC; # DECREMENT FAMILY COUNT #
PROC SPIDA; # MACREL SETPIDA I/F ROUTINE #
LABEL PAT1; # SSPAT ENTRY POINT PAT1 #
END
#
** SPIDBLK - SETPIDA PARAMETER BLOCK.
*
* THIS PARAMETER BLOCK DEFINES THE SETPIDA FUNCTION PARAMETERS
* FOR SETTING ALL NHP CONNECTED PIDS UNAVAILABLE.
#
ARRAY SPIDBLK [00:00] S(2);
BEGIN
ITEM SPI$FC U(00,00,12) = [1]; # SET NW STATUS FC #
ITEM SPI$NP U(00,12,12) = [1]; # NUMBER PIDS = 1 #
ITEM SPI$NW U(00,24,12) = [1]; # NHP NW ID #
ITEM SPI$RES1 U(00,36,23) = [0]; # RESERVED #
ITEM SPI$CBIT B(00,59,01) = [TRUE]; # COMPLETE BIT #
ITEM SPI$PID C(01,00,03) = ["***"]; # GLOBAL ALL PIDS #
ITEM SPI$RES2 U(01,18,38) = [0]; # RESERVED #
ITEM SPI$ST U(01,56,04) = [0]; # NETWORK UNAVAIL STATUS #
END
ITEM BLKADDR I; # SPIDA ADDRESS CELL #
ITEM I I; # LOOP COUNT #
ITEM PTR I; # POINTER OF IFMC TABLE #
CONTROL EJECT;
NVFPRPE:
#
* ISSUE SETPIDA MACREL CALL USING THE SPIDBLK PARAMETER BLOCK.
#
BLKADDR = LOC(SPIDBLK[0]);
SPIDA(BLKADDR);
#
* SEARCH IFMC TABLE, FOR EACH IFMC$COUNT GREATER THAN ZERO,
* ISSUE CPM73B REQUESTS TO DECREMENT FAMILY COUNTS UNTIL
* IFMC$COUNT EQUAL TO ZERO.
#
FOR PTR=0 STEP 1 UNTIL (IFCLNGTH-1)
DO
BEGIN
FOR I=0 STEP 1 UNTIL (IFMC$COUNT[PTR]-1)
DO
BEGIN
CPB$WORD[0]=0;
CPB$FNAM[0]=IFMC$FNAM[PTR];
DFC(CPMBUF);
END
END
#
* CALL SSSPAT ENTRY POINT PAT1 TO CONTINUE REPRIEVE PROCESSING.
* THERE IS NO RETURN FROM SSSPAT.
#
GOTO PAT1;
END # NVFUPRP #
TERM