User Tools

Site Tools


cdc:nos2.source:nam5871:ntotbts

NTOTBTS

Table Of Contents

  • [00013] PRGM NTOTBTS
  • [00054] PROC OMSG
  • [00055] PROC MRELS
  • [00056] PROC XTRACE

Source Code

NTOTBTS.txt
  1. *DECK NTOTBTS
  2. USETEXT NIPDEF
  3. USETEXT AHEADER
  4. USETEXT NHEADER
  5. USETEXT PARAMP
  6. USETEXT PT
  7. USETEXT MSGIDX
  8. USETEXT AT
  9. USETEXT DRHDR
  10. USETEXT ACB
  11. USETEXT SUPMSG
  12.  
  13. PRGM NTOTBTS;
  14. #
  15. *1DC NTOTBTS
  16. *
  17. * 1. PROC NAME AUTHOR DATE
  18. * NTOTBTS C. BITTNER 82/09/01
  19. *
  20. * 2. FUNCTIONAL DESCRIPTION
  21. * PROCESS TIMEOUT BOOTSTRAP MESSAGE
  22. *
  23. * 3. METHOD USED
  24. * SEND MESSAGE TO DAYFILE
  25. * DISCARD DUMP/LOAD MESSAGES QUEUED FOR NS.
  26. *
  27. * 4. ENTRY PARAMETERS
  28. * NONE
  29. *
  30. * 5. EXIT PARAMETERS
  31. * NONE
  32. *
  33. * 6. COMDECKS CALLED AND SYMPL TEXTS USED
  34. * NIPDEF PT MSGIDX
  35. * AT DRHDR ACB
  36. * SUPMSG
  37. *
  38. * 7. ROUTINES CALLED
  39. * OMSG - ISSUE DAYFILE MESSAGE
  40. * MRELS - RELEASE BUFFER
  41. * XTRACE - TRACE PROCEDURE CALL
  42. *
  43. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
  44. * "NS NOT RESPONDING TO NPU INIT REQUEST"
  45. * THIS IS A PRIMARY OVERLAY CALLED BY NPNIPSM.
  46. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY
  47. *CALL OPSIZE
  48.  #
  49. #
  50.   EXTERNAL VARIABLES
  51. #
  52. XREF
  53. BEGIN
  54. PROC OMSG; # DAYFILE MESSAGE #
  55. PROC MRELS; # RELEASE BUFFER #
  56. PROC XTRACE; # TRACE PROCEDURE CALL #
  57. LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
  58. END
  59.  
  60. #
  61.   INTERNAL VARIABLES
  62. #
  63.  
  64. ITEM CURR; # TEMPORARY VARIABLE #
  65. ITEM NEXT;
  66. ITEM PREVIOUS;
  67.  
  68. BEGIN
  69.  
  70. CONTROL IFEQ DEBUG,1;
  71. XTRACE("TOTBT");
  72. CONTROL FI;
  73.  
  74. OMSG(DFMSG17,0); # NS NOT RESPONDING TO NPU INIT REQ #
  75. IF PROCAN[NSORD] NQ 0
  76. THEN
  77. BEGIN
  78. P<ACB> = ATACBA[PROCAN[NSORD]];
  79. IF P<ACB> NQ 0
  80. THEN # ACB EXISTS FOR NS #
  81. BEGIN # DISCARD DATA ON ACB #
  82. P<DRHDRWD> = 0;
  83. P<NHEADER> = PARAMP1; # FWA OF NETWORK HEADER FOR TOT/BS/R #
  84. CURR = ACBDRFP[0]; # FIRST ENTRY #
  85. FOR CURR = CURR WHILE CURR NQ 0
  86. AND CURR NQ LOC(ACBDRFP[0])
  87. DO
  88. BEGIN
  89. NEXT = NEXTPTR[CURR];
  90. PREVIOUS = BACKPTR[CURR];
  91. P<AHEADER> = CURR + BLKHSIZE; # FWA OF ABH #
  92. P<SUPMSG> = P<AHEADER> + ABHSIZE;
  93. IF PFCSFC[0] EQ NPUIN
  94. AND DN[0] EQ ABHDN[0]
  95. THEN # DISCARD NPU/IN/R QUEUED FOR THIS HOST NODE #
  96. BEGIN # DISCARD MESSAGE #
  97. IF PREVIOUS EQ LOC(ACBDRFP[0])
  98. THEN
  99. BEGIN # CURR IS FIRST ENTRY IN RING #
  100. IF NEXT EQ LOC(ACBDRFP[0])
  101. THEN
  102. BEGIN # LAST AND ONLY ENTRY IN RING #
  103. ACBDRFP[0] = 0;
  104. ACBDRBP[0] = 0;
  105. END
  106. ELSE
  107. BEGIN
  108. ACBDRFP[0] = NEXT;
  109. BACKPTR[NEXT] = PREVIOUS;
  110. END
  111. END
  112. ELSE
  113. BEGIN # CURR IS NOT FIRST ENTRY IN RING #
  114. IF NEXT EQ LOC(ACBDRFP[0])
  115. THEN
  116. BEGIN # CURR IS LAST ENTRY #
  117. ACBDRBP[0] = PREVIOUS;
  118. NEXTPTR[PREVIOUS] = NEXT;
  119. END
  120. ELSE
  121. BEGIN # CURR IS NOT LAST ENTRY #
  122. NEXTPTR[PREVIOUS] = NEXT;
  123. BACKPTR[NEXT] = PREVIOUS;
  124. END
  125. END
  126. MRELS(CURR);
  127. END
  128.  
  129. CURR = NEXT;
  130. END
  131. END
  132. END
  133.  
  134. GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
  135. END
  136. TERM
cdc/nos2.source/nam5871/ntotbts.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator