User Tools

Site Tools


cdc:nos2.source:nam5871:npbrk

Table of Contents

NPBRK

Table Of Contents

  • [00009] PRGM NPBRK

Source Code

NPBRK.txt
  1. *DECK NPBRK
  2. USETEXT NIPDEF
  3. USETEXT STATTAB
  4. USETEXT PARAMS
  5. USETEXT NCNB
  6. USETEXT AHEADER
  7. USETEXT DRHDR
  8. USETEXT MSGIDX
  9. PRGM NPBRK ;
  10. STARTIMS;
  11. #
  12. *1DC NPBRK
  13. *
  14. * 1. PROC NAME AUTHOR DATE
  15. * NPBRK L. T. NGUYEN 81/11/09
  16. *
  17. * 2. FUNCTIONAL DESCRIPTION
  18. * DISCARD ALL MSG AND BLK IN NCNB UPON RECEIVING BREAK
  19. *
  20. * 3. METHOD USED
  21. * SEARCH FOR MSG OR BLK DATA, THEN DELINK FOR RELEASING.
  22. * UPDATE COUNTS AS NEEDED.
  23. *
  24. * 4. ENTRY PARAMETERS
  25. * PARAMS1 - NCNB ADDRESS
  26. *
  27. * 5. EXIT PARAMETERS
  28. * NONE
  29. *
  30. * 6. COMDECKS CALLED AND SYMPL TEXTS USED
  31. * NIPDEF PARAMS NCNB ACKHEAD
  32. * DRHDR MSGIDX NHEADER OSSIZE
  33. *
  34. * 7. ROUTINES AND OVERLAYS CALLED
  35. * ABORT - ABORT NIP
  36. * OMSG - ISSUE DAYFILE MESSAGE
  37. * XTRACE - TRACE PROCEDURE CALL
  38. * MRELS - RELEASE BUFFER
  39. *
  40. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
  41. * "NIP RECEIVED BAD BSN."
  42. *
  43. * THIS IS A SECONDARY OVERLAY CALLED BY NBSTTP.
  44. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
  45. *CALL OSSIZE
  46. *
  47. *
  48.  #
  49. STOPIMS;
  50. XREF LABEL RJMAIN ;
  51. XREF PROC ABORT ;
  52. XREF PROC MRELS ; # RELEASE DATA RING #
  53. XREF PROC OMSG ;
  54. XREF PROC XTRACE ; # XTRACE ROUTINE #
  55.  
  56. ITEM I I ; # #
  57. ITEM CURR; # CURRENT DATA TO BE RELEASED #
  58. ITEM PREVIOUS U ; # PREVIOUS BLOCK #
  59. ITEM NEXT U ; # NEXT DATA BLOCK #
  60.  
  61. BEGIN # NPBRK #
  62.  
  63. CONTROL IFEQ DEBUG,1;
  64. XTRACE("NPBRK") ;
  65. CONTROL FI ;
  66. P<NCNB> = PARAMS1 ; # NCNB POINTER #
  67.  
  68. P<DRHDRWD> = 0;
  69. CURR = NCNBDRFP[0]; # FIRST ENTRY IN DOWNLINE DATA RING #
  70. FOR CURR = CURR WHILE CURR NQ 0 # DATA RING EXISTS #
  71. AND CURR NQ LOC(NCNBDRFP[0]) # NOT END OF RING #
  72. DO # RELEASE ALL QUEUED DOWNLINE BLOCKS #
  73. BEGIN
  74. NEXT = NEXTPTR[CURR]; # NEXT ENTRY IN DATA RING #
  75. MRELS(CURR); # RELEASE CURRENT DATA RING ENTRY #
  76. CURR = NEXT;
  77. END
  78.  
  79. #
  80.   DISCARD THE ACKNOWLEDGE QUEUE IF EXISTS
  81. #
  82.  
  83. NCNBNBO[0] = 0 ; # NO OUTSTANDING BLOCK COUNT #
  84. NCNBWD2[0] = 0; # CLEAR DATA RING AND ACK-Q POINTERS #
  85. NCNBDBSN[0] = 0 ;
  86.  
  87.  
  88. GOTO RJMAIN ;
  89. END # NPBRK #
  90.  
  91. TERM
  92.  
cdc/nos2.source/nam5871/npbrk.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator