User Tools

Site Tools


cdc:nos2.source:nam5871:cssatr

CSSATR

Table Of Contents

  • [00008] PROC CSSATR
  • [00009] CSSATR - ACTION TEST REQUEST COMMAND
  • [00014] ACTION TEST REQUEST COMMAND.
  • [00040] PROC SSBSBW
  • [00041] PROC SSBTBW
  • [00042] PROC SSTAQE
  • [00043] PROC MOVE

Source Code

CSSATR.txt
  1. *DECK CSSATR
  2. USETEXT TEXTCS;
  3. USETEXT TEXTSS;
  4. USETEXT TXCMDCS;
  5. USETEXT TXTSMCS;
  6. USETEXT TXTAPSS;
  7. USETEXT TXTSUSS;
  8. PROC CSSATR;
  9. # TITLE CSSATR - ACTION TEST REQUEST COMMAND #
  10.  
  11. BEGIN # CSSATR #
  12.  
  13. #
  14. ** CSSATR - ACTION TEST REQUEST COMMAND.
  15. *
  16. * C. BRION 82/06/09.
  17. *
  18. * THIS PROCEDURE PROCESSES THE DIAGNOSTIC TEST REQUEST COMMAND.
  19. *
  20. * PROC CSSATR
  21. *
  22. * ENTRY:
  23. *
  24. * HDRCMD = COMMAND HEADER WORD.
  25. *
  26. * EXIT:
  27. *
  28. * AN OLDIN SM MAY BE SENT TO THE NPU.
  29. * A COMMAND TEXT EVENT MAY BE SENT TO THE EVENT PROCESSOR FOR
  30. * ENTRY INTO THE NETWORK LOG FILE.
  31. * THE OCB AND NPUCB WILL BE UPDATED.
  32. #
  33.  
  34. #
  35. **** PROC CSSATR XREF LIST
  36. #
  37.  
  38. XREF
  39. BEGIN
  40. PROC SSBSBW; # SS-SET BIT IN WORD #
  41. PROC SSBTBW; # SS-TEST BIT IN WORD #
  42. PROC SSTAQE; # SS-ACCEPT QUEUE ENTRY #
  43. PROC MOVE; # MACREL MOVE MEMORY #
  44. END
  45. #
  46. ****
  47. #
  48.  
  49.  
  50.  
  51. ITEM I U; # LOOP INDUCTION VAR #
  52. ITEM OORD U; # OCB ORDINAL #
  53. ITEM NORD U; # NPUCB ORDINAL #
  54. ITEM FOUND B; # NOR FOUND FLAG #
  55. ITEM RUNNING B; # ONLINE DIAG RUNNING FLAG #
  56.  
  57.  
  58. #
  59. * FLG$WORD - BASED ARRAY THAT POINTS TO THE ONLINE DIAGNOSTICS
  60. * OPERATOR BIT MAP.
  61. #
  62. BASED ARRAY FLG$WORD [00:00] S(NPCBSZ$);
  63. BEGIN
  64. ITEM FW$WORD I(00,00,60);
  65. END
  66.  
  67. #
  68. * TREQ - OLD REQUEST TEXT MESSAGE ARRAY.
  69. #
  70.  
  71. ARRAY TREQ [00:00] S(4);
  72. BEGIN
  73. ITEM TRE$NP C(00,00,07); # NPU NAME #
  74. ITEM TRE$TX1 C(00,42,06) = ["/OLD: "];
  75. ITEM TRE$TX2 C(01,18,17);
  76. ITEM TRE$TX3 C(02,00,10) = [" INITIATED"];
  77. ITEM TRE$ZERO U(03,00,60) = [0];
  78. END
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87. OORD = HDR$OPORD[0];
  88.  
  89.  
  90. #
  91. * FIND THE NPUCB ORDINAL VIA THE NOR PARAMETER IN THE CMD.
  92. #
  93.  
  94. FOUND = FALSE;
  95.  
  96. FOR I = 0 STEP 1 WHILE NOT FOUND
  97. DO
  98.  
  99. BEGIN
  100. IF PAR$PCODE[I] EQ "NOR"
  101. THEN
  102.  
  103. BEGIN
  104. FOUND = TRUE;
  105. NORD = PAR$ORD[I];
  106. END
  107.  
  108. END
  109.  
  110. #
  111. * OLD PROGRAM MAY ALREADY BE BUSY WITH ANOTHER OPERATOR. IF SO,
  112. * SEND IN USE MESSAGE TO ORIGIN OPERATOR.
  113. #
  114.  
  115. #
  116. * SET THE NPU NAME IN THE TEXT MESSAGE.
  117. #
  118.  
  119. TRE$NP[0] = NPU$NAME[NORD];
  120.  
  121. SSBTBW(NPU$OVFLGS[NORD],OORD,RUNNING);
  122. IF RUNNING
  123. THEN
  124. BEGIN
  125. TRE$TX2[0] = "ALREADY";
  126. WCB$IAF[1] = TRUE;
  127. END
  128. ELSE
  129.  
  130. #
  131. * OLD NOT BUSY. SETUP OCB AND NPUCB. SET UP OUTGOING OLDIN SM
  132. * HEADER WORDS.
  133. #
  134.  
  135. BEGIN
  136. P<FLG$WORD> = LOC(NPU$OVFLGS[NORD]);
  137. SSBSBW(FLG$WORD,OORD);
  138.  
  139. OC$CNPU[OORD] = NORD;
  140. OC$VERB[OORD] = "TS0";
  141. ABHDN[1] = NPU$NID[NORD];
  142. ABHSN[1] = NPU$HID[NORD];
  143. ABHABT[1] = APPSUP;
  144. ABHBT[1]= APPSUP;
  145. ABHACT[1] = ACTCSNP$;
  146. PFCSFC[1] = OLDIN;
  147. OLDDO[1] = OORD;
  148. ABHTLC[1] = NOLDIN;
  149. WCB$SMID[1] = SMID"OLDIN";
  150. WCB$WC[1] = LOLDIN + 2;
  151.  
  152. #
  153. * SEND OLDIN SM TO NPU
  154. #
  155.  
  156. SSTAQE(P<OTQ>,WCBUF[1],ABH[1],CSSM[1]);
  157.  
  158. #
  159. * SEND CMD TXT ENTRY TO EVENT PROCESSOR FOR LOGGING INTO NETWORK
  160. * LOG FILE.
  161. #
  162.  
  163. WCB$WORD[1] = 0;
  164. ABHWORD[1] = 0;
  165. WCB$SMID[1] = SMID"CMDTXT";
  166. ABHADR[1] = OORD;
  167. P<MSCMD> = LOC(CMD$TEXT[0]);
  168. MOVE(HDR$TXWCNT[0],PARMS[0],MSCMD[0]);
  169. CMD$TNAM[0]= OC$TNAM[OORD];
  170. WCB$WC[1] = HDR$TXWCNT[0] + 4;
  171. SSTAQE(P<EVQ>,WCBUF[1],ABH[1],CMDLINE[0]);
  172.  
  173. #
  174. * SET UP REQUEST INITIATED MESSAGE.
  175. #
  176.  
  177. TRE$TX2[0] = "REQUEST";
  178. WCB$IAF[1] = FALSE;
  179. END
  180.  
  181. #
  182. * SET UP THE WORD COUNT WORD AND ABH WORD FOR CNQ ENTRY.
  183. #
  184.  
  185. WCB$SMID[1] = SMID"TTEXT";
  186. WCB$WC[1] = 6;
  187. ABHWORD[1] = 0;
  188. ABHADR[1] = OORD;
  189. SSTAQE(P<CNQ>,WCBUF[1],ABH[1],TREQ[0]);
  190.  
  191. END #CSSATR#
  192. TERM
cdc/nos2.source/nam5871/cssatr.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator