*DECK NPBRK USETEXT NIPDEF USETEXT STATTAB USETEXT PARAMS USETEXT NCNB USETEXT AHEADER USETEXT DRHDR USETEXT MSGIDX PRGM NPBRK ; STARTIMS; # *1DC NPBRK * * 1. PROC NAME AUTHOR DATE * NPBRK L. T. NGUYEN 81/11/09 * * 2. FUNCTIONAL DESCRIPTION * DISCARD ALL MSG AND BLK IN NCNB UPON RECEIVING BREAK * * 3. METHOD USED * SEARCH FOR MSG OR BLK DATA, THEN DELINK FOR RELEASING. * UPDATE COUNTS AS NEEDED. * * 4. ENTRY PARAMETERS * PARAMS1 - NCNB ADDRESS * * 5. EXIT PARAMETERS * NONE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED * NIPDEF PARAMS NCNB ACKHEAD * DRHDR MSGIDX NHEADER OSSIZE * * 7. ROUTINES AND OVERLAYS CALLED * ABORT - ABORT NIP * OMSG - ISSUE DAYFILE MESSAGE * XTRACE - TRACE PROCEDURE CALL * MRELS - RELEASE BUFFER * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * "NIP RECEIVED BAD BSN." * * THIS IS A SECONDARY OVERLAY CALLED BY NBSTTP. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY *CALL OSSIZE * * # STOPIMS; XREF LABEL RJMAIN ; XREF PROC ABORT ; XREF PROC MRELS ; # RELEASE DATA RING # XREF PROC OMSG ; XREF PROC XTRACE ; # XTRACE ROUTINE # ITEM I I ; # # ITEM CURR; # CURRENT DATA TO BE RELEASED # ITEM PREVIOUS U ; # PREVIOUS BLOCK # ITEM NEXT U ; # NEXT DATA BLOCK # BEGIN # NPBRK # CONTROL IFEQ DEBUG,1; XTRACE("NPBRK") ; CONTROL FI ; P = PARAMS1 ; # NCNB POINTER # P = 0; CURR = NCNBDRFP[0]; # FIRST ENTRY IN DOWNLINE DATA RING # FOR CURR = CURR WHILE CURR NQ 0 # DATA RING EXISTS # AND CURR NQ LOC(NCNBDRFP[0]) # NOT END OF RING # DO # RELEASE ALL QUEUED DOWNLINE BLOCKS # BEGIN NEXT = NEXTPTR[CURR]; # NEXT ENTRY IN DATA RING # MRELS(CURR); # RELEASE CURRENT DATA RING ENTRY # CURR = NEXT; END # DISCARD THE ACKNOWLEDGE QUEUE IF EXISTS # NCNBNBO[0] = 0 ; # NO OUTSTANDING BLOCK COUNT # NCNBWD2[0] = 0; # CLEAR DATA RING AND ACK-Q POINTERS # NCNBDBSN[0] = 0 ; GOTO RJMAIN ; END # NPBRK # TERM