*DECK NRELBLK
USETEXT NIPDEF
USETEXT DRHDR
USETEXT NCNB
USETEXT PARAMS
PROC NRELBLK;
STARTIMS;
#
*1DC NRELBLK
*
* 1. PROC NAME AUTHOR DATE
* NRELBLK C. BITTNER 81/10/12
*
* 2. FUNCTIONAL DESCRIPTION
* DELETE ALL OUTSTANDING BLOCKS LINKED TO CCP
*
* 3.METHOD USED
* LINK THROUGH DATA RING TO FIND BLOCKS QUEUED.
* RELEASE BLOCKS BY CALLING MRELS.
*
* 4. ENTRY PARAMETERS
* PARAMS1 - NCNB ADDRESS
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED
* NIPDEF
* DRHDR
* NCNB
* PARAMS
* ACKHEAD
*
* 7. ROUTINES CALLED
* MRELS - RELEASE BUFFER SPACE
* XTRACE - TRACE PROCEDURE CALL
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS PROCEDURE IS CALLED BY COMPCON VIA NBSTTP.
*
#
STOPIMS;
#
EXTERNAL VARIABLES
#
XREF
BEGIN
PROC MRELS; # RETURN BUFFER #
PROC XTRACE; # TRACE PROCEDURE CALL #
END
#
INTERNAL VARIABLES
#
ITEM CURR; # INDUCTION LOOP VARIABLE #
ITEM NEXT; # NEXT ENTRY IN DATA RING #
#**********************************************************************#
BEGIN
CONTROL IFEQ DEBUG,1;
XTRACE("BRELB") ;
CONTROL FI;
# DELETE ALL OUTSTANDING BLOCKS LINKED FOR CCP #
P<NCNB> = PARAMS1;
P<DRHDRWD> = 0;
CURR = NCNBDRFP[0]; # FIRST ENTRY IN DATA RING #
FOR CURR = CURR WHILE (CURR NQ LOC(NCNBDRFP[0]) AND CURR NQ 0) DO
BEGIN
NEXT = NEXTPTR[CURR]; # NEXT ENTRY IN DATA RING #
MRELS(CURR); # RELEASE DATA RING ENTRY #
CURR = NEXT;
END
NCNBNBO[0] = 0; # NETWORK BLOCKS OUTSTANDING #
NCNBDBSN[0] = 0 ;
NCNBWD2[0] = 0; # CLEAR DATA RING/ACKQ DATA #
RETURN ; # RETURN TO CALLING PROGRAM #
END
TERM