User Tools

Site Tools


cdc:nos2.source:nam5871:csesde

CSESDE

Table Of Contents

  • [00007] PROC CSESDE
  • [00008] SEND DIAGNOSTICS END MESSAGE.
  • [00011] SEND DIAGNOSTICS END MESSAGE.
  • [00031] PROC CSESLE
  • [00032] PROC SSBSBF
  • [00033] PROC SSTAQE

Source Code

CSESDE.txt
  1. *DECK CSESDE
  2. USETEXT TEXTCS
  3. USETEXT TEXTSS
  4. USETEXT TXCMDCS
  5. USETEXT TXTAPSS
  6. USETEXT TXTSMCS
  7. PROC CSESDE;
  8. # TITLE - SEND DIAGNOSTICS END MESSAGE. #
  9. BEGIN
  10. #
  11. ** CSESDE - SEND DIAGNOSTICS END MESSAGE.
  12. *
  13. * D.K. ENDO 82/06/07
  14. *
  15. * THIS PROCEDURE SENDS THE FINAL MESSAGE WHEN NPU DIAGNOSTICS ARE
  16. * REQUESTED.
  17. *
  18. * PROC CSESDE
  19. *
  20. * ENTRY 1. OLD/IN/N OR OLD/IN/A SM.
  21. *
  22. * EXIT 1. NULL TEXT TO CNQ (OLD/IN/N)
  23. * 2. NO DIAGNOSTICS MESSAGE TO CNQ (OLD/IN/A)
  24. *
  25. #
  26. #
  27. **** PROC CSESDE - XREF LIST BEGINS.
  28. #
  29. XREF
  30. BEGIN
  31. PROC CSESLE; # SEND LOG FILE ENTRY #
  32. PROC SSBSBF; # STORE BIT FIELD #
  33. PROC SSTAQE; # ACCEPT QUEUE ENTRY #
  34. END
  35. #
  36. ****
  37. #
  38.  
  39.  
  40. DEF NOD$TXTL # 50 #; # NO DIAGNOSTICS MESSAGE TEXT LENGTH #
  41. DEF SNM$TXTL # 30 #; # SOURCE NPU-NAME MESSAGE TEXT LENGTH #
  42.  
  43.  
  44. ITEM CNST1; # INTEGER CONSTANT ---> 1 #
  45. ITEM CNST2; # INTEGER CONSTANT ---> 2 #
  46. ITEM CNST3; # INTEGER CONSTANT ---> 3 #
  47. ITEM I; # LOOP INDUCTION VARIABLE #
  48.  
  49.  
  50. #
  51.   THIS ARRAY DEFINES THE -NO ONLINE DIAGNOSTICS- MESSAGE TEXT SENT
  52.   WHEN AN OLD/IN/A SM IS RECEIVED.
  53. #
  54. ARRAY NOD$TXT [00:04] S(1);
  55. BEGIN
  56. ITEM NOD$TIM C(00,00,10);
  57. ITEM NOD$MSG1 C(01,00,20) = [" NO ONLINE DIAGNOSTI"];
  58. ITEM NOD$MSG2 C(03,00,11) = ["CS PRESENT."];
  59. ITEM NOD$ZBYT U(04,06,54) = [0];
  60. END
  61.  
  62.  
  63. #
  64.   THIS ARRAY DEFINES THE SOURCE NPU$NAME MESSAGE TEXT.
  65. #
  66. ARRAY SNM$TXT [00:02] S(1);
  67. BEGIN
  68. ITEM SNM$TIM C(00,00,10);
  69. ITEM SNM$MSG C(01,00,14) = ["FROM UNKNOWN: "];
  70. ITEM SNM$ZBYT U(02,24,36) = [0];
  71. END
  72. CONTROL EJECT;
  73. # #
  74. # CSESDE CODE BEGINS HERE #
  75. # #
  76. #
  77. * IF THIS SM IS OLD/IN/N, THEN SEND A NULL TEXT WITH THE INPUT
  78. * ALLOWED FLAG SET.
  79. #
  80.  
  81. IF WCB$SMID[0] EQ SMID"OLDINN"
  82. THEN
  83. BEGIN
  84. WCB$WORD[1] = 2;
  85. WCB$SMID[1] = SMID"TTEXT";
  86. WCB$IAF[1] = TRUE;
  87.  
  88. ABHWORD[1] = 0;
  89. ABHADR[1] = OLDDO[0];
  90.  
  91. SSTAQE(P<CNQ>,WCBUF[1],ABH[1],CSSM[1]);
  92. END
  93.  
  94. #
  95. * IF THIS SM IS OLD/IN/A, THEN SEND A -NO ONLINE DIAGNOSTICS-
  96. * MESSAGE TEXT WITH THE INPUT ALLOWED FLAG SET. (*** NOTE - THE
  97. * SOURCE NODE IS IN THE DN FIELD AND THE OCB ORDINAL IS IN THE
  98. * ABN FIELD. ***)
  99. #
  100. ELSE
  101. BEGIN
  102.  
  103. SNM$TIM[0] = CTM$CLOCK[0];
  104.  
  105. FOR I=0 STEP 1 WHILE ABHDN[0] NQ NPU$NID[I] AND
  106. I LS CSNPCNT
  107. DO
  108. BEGIN
  109. END
  110.  
  111. CNST1 = 1;
  112. CNST2 = 30;
  113. CNST3 = 42;
  114.  
  115. IF I LS CSNPCNT
  116. THEN
  117. BEGIN
  118. SSBSBF(SNM$TXT,CNST1,CNST2,CNST3,B<0,42>NPU$NAME[I]);
  119. END
  120. ELSE
  121. BEGIN
  122. SSBSBF(SNM$TXT,CNST1,CNST2,CNST3," UNKNOWN");
  123. END
  124.  
  125.  
  126.  
  127. WCB$WORD[1] = 2 + SNM$TXTL/10;
  128. WCB$SMID[1] = SMID"TTEXT";
  129.  
  130. ABHWORD[1] = SNM$TXTL;
  131. ABHADR[1] = OLDDO[0];
  132.  
  133.  
  134. SSTAQE(P<CNQ>,WCBUF[1],ABH[1],SNM$TXT);
  135. CSESLE(ABHDN[0],WCBUF[1],SNM$TXT);
  136.  
  137.  
  138. NOD$TIM[0] = CTM$CLOCK[0];
  139.  
  140. WCB$WC[1] = 2 + NOD$TXTL/10;
  141. WCB$IAF[1] = TRUE;
  142.  
  143. ABHWORD[1] = NOD$TXTL;
  144. ABHADR[1] = OLDDO[0];
  145.  
  146. SSTAQE(P<CNQ>,WCBUF[1],ABH[1],NOD$TXT);
  147. WCB$IAF[1] = FALSE;
  148. CSESLE(ABHDN[0],WCBUF[1],NOD$TXT);
  149. END
  150.  
  151.  
  152. RETURN; # **** RETURN **** #
  153. END
  154. TERM
cdc/nos2.source/nam5871/csesde.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator