User Tools

Site Tools


cdc:nos2.source:nam5871:npregcn

NPREGCN

Table Of Contents

  • [00008] PRGM NPREGCN

Source Code

NPREGCN.txt
  1. *DECK NPREGCN
  2. USETEXT NIPDEF
  3. USETEXT PARAMS
  4. USETEXT LLCB
  5. USETEXT NCNT
  6. USETEXT NCNB
  7. USETEXT DRHDR
  8. PRGM NPREGCN;
  9. STARTIMS;
  10. #
  11. *1DC NPREGCN
  12. *
  13. * 1. PROC NAME AUTHOR DATE
  14. * NPREGCN L.T.NGUYEN 81/10/01
  15. *
  16. * 2. FUNCTIONAL DESCRIPTION
  17. * REGULATING THE CONNECTION
  18. *
  19. * 3. METHOD USED
  20. * NEW 1 2 3
  21. * OLD
  22. * 1 XXX HPO AOR
  23. *
  24. * 2 HPI XXX AOR
  25. *
  26. * 3 ACI LPI XXX
  27. *
  28. * HOP = HIGH PRIORITY OUT OF REGULAION I.E. CLEAR NCNBNR
  29. * AOR = ALL CONNECTION OUT OF REGULATION
  30. * HPI = HIGH PRIORITY IN REGULATION
  31. * ACI = ALL CONNECTIONS IN REGULATION
  32. * LPI = LOW PRIORITY IN REGULATION
  33. * XXX = NOTHING TO DO
  34. *
  35. * DEPENDING ON THE CURRENT BUFFER LEVEL (OLD) AND THE
  36. * NEW BUFFER LEVEL IN REG/LL SUPERVISOR MESSAGE WE DO
  37. * ACCORDINGLY TO THE ABOVE MATRIX.
  38. *
  39. * 4. ENTRY PARAMETERS:
  40. * PARAMS1 = LLCB ADDRESS
  41. * PARAMS2 = NEW REGULATION BUFFER LEVEL
  42. * PARAMS3 = INDICATOR - 0 (LOWERING) NEW =< OLD
  43. * - 1 (RAISING) NEW >= OLD
  44. *
  45. *
  46. * 5. EXIT PARAMETER:
  47. * NONE.
  48. *
  49. * 6. COMDECKS CALLED:
  50. * NIPDEF
  51. * PARAMS
  52. * LLCB
  53. * NCNT
  54. * NCNB
  55. * DRHDR
  56. * OSSIZE
  57. *
  58. * 7. ROUTINES AND OVERLAY CALLED
  59. * NFOB
  60. *
  61. * 8. NOTE
  62. * CALLED BY NPREGLL.
  63. * THIS IS A SECONDARY OVERLAY
  64. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY
  65. *CALL OSSIZE
  66. *
  67. *
  68.  #
  69. STOPIMS;
  70. #
  71.  
  72. #
  73. ITEM I ;
  74. ITEM TEMPPTR U ; # TEMPORARY POINTER #
  75. ITEM DRADDRESS U ; # DATA RING ADDRESS #
  76. ITEM NFOBCALL B ;
  77. ITEM LLCBIX U ;
  78. ITEM NCNTIX U ;
  79. XREF PROC NFOB ;
  80. XREF LABEL RJMAIN;
  81. BEGIN # NPREGCN #
  82. P<LLCB> = PARAMS1 ;
  83. FOR LLCBIX = LLCBHSIZE STEP 1 UNTIL LLCBSIZE - LLCBHSIZE - 1
  84. DO
  85. BEGIN
  86. P<NCNT> = LLCBNCNT[LLCBIX] ;
  87. IF P<NCNT> NQ 0
  88. THEN
  89. BEGIN
  90. FOR NCNTIX = NCNTHSIZE STEP 1 UNTIL NCNTSIZE-NCNTHSIZE
  91. DO
  92. BEGIN
  93. NFOBCALL = FALSE ;
  94. P<NCNB> = NCNTNCNB[NCNTIX] ;
  95. IF P<NCNB> NQ 0
  96. THEN
  97. BEGIN
  98. IF PARAMS3 NQ 0 # LOWERING #
  99. THEN
  100. BEGIN
  101. IF PARAMS2 EQ BUFLSM # BUFFER LEVEL IS 1 #
  102. THEN
  103. NCNBNR = TRUE ;
  104. IF PARAMS2 EQ BUFLHDS # BUFFER LEVEL IS 2 #
  105. AND NCNBPRI EQ 2 # LOW PRIORITY #
  106. THEN
  107. NCNBNR = TRUE ;
  108. END
  109. ELSE # RAISING #
  110. BEGIN
  111. IF PARAMS2 EQ BUFLHDS # BUFFER$LEVEL IS 2 #
  112. AND NCNBPRI EQ 1 # HIGH PRIORITY #
  113. THEN
  114. BEGIN
  115. NCNBNR = FALSE ;
  116. NFOBCALL = TRUE ;
  117. END
  118. IF PARAMS2 EQ BUFLAM # BUFFER LEVEL IS 3 #
  119. THEN
  120. BEGIN
  121. NCNBNR = FALSE ;
  122. NFOBCALL = TRUE ;
  123. END
  124. IF (NFOBCALL) AND # OKAY TO SEND DOWNLINE DATA #
  125. (NCNBID[0] EQ NCNBIDVALUE) # THIS IS A NCNB #
  126. THEN
  127. BEGIN # CALL NFOB TO SEND DATA #
  128. FOR I = I WHILE (NCNBNBO[0] LS NCNBDBL[0])
  129. AND NCNBDRFP[0] NQ 0
  130. AND NOT NCNBHR[0]
  131. DO
  132. BEGIN # FOR LOOP #
  133. DRADDRESS = NCNBDRFP ; # ADDRESS FOR NFOB CALL #
  134. IF NCNBDRFP NQ NCNBDRBP
  135. THEN
  136. BEGIN # NOT THE LAST NCNB #
  137. P<DRHDRWD> = NCNBDRFP ;
  138. NCNBDRFP = NEXTPTR ;
  139. TEMPPTR = BACKPTR ;
  140. P<DRHDRWD> = NEXTPTR ;
  141. BACKPTR = TEMPPTR ;
  142. END # NOT THE LAST NCNB #
  143. ELSE
  144. BEGIN # THE LAST NCNB #
  145. NCNBDRFP = 0 ;
  146. NCNBDRBP = 0 ;
  147. END # THE LAST NCNB #
  148. NCNBBLKSQ[0] = NCNBBLKSQ[0] - 1;
  149.  
  150. NFOB(DRADDRESS,P<NCNB>) ;
  151.  
  152. END # FOR LOOP #
  153. END # CALL NFOB #
  154. END
  155. END
  156. END
  157. END
  158. END
  159. GOTO RJMAIN ;
  160. END
  161. TERM
  162.  
  163.  
  164.  
cdc/nos2.source/nam5871/npregcn.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator