User Tools

Site Tools


cdc:nos2.source:nam5871:cssdrc

CSSDRC

Table Of Contents

  • [00008] PROC CSSDRC
  • [00009] CSSDRC - DISPATCH ROUTED COMMANDS.
  • [00013] DISPATCH COMMANDS.
  • [00040] PROC CSSACO
  • [00041] PROC CSSAGO
  • [00042] PROC CSSADI
  • [00043] PROC CSSAEN
  • [00044] PROC CSSADL
  • [00045] PROC CSSDTC
  • [00046] PROC CSSARE
  • [00047] PROC CSSASD
  • [00048] PROC CSSAST
  • [00049] PROC CSSAIN
  • [00050] PROC CSSAED
  • [00051] PROC CSSAAC
  • [00052] PROC CSSASO
  • [00053] PROC CSSTCM
  • [00054] PROC SSTAQE
  • [00055] PROC SSTRQE
  • [00056] PROC MESSAGE
  • [00057] PROC ABORT

Source Code

CSSDRC.txt
  1. *DECK CSSDRC
  2. USETEXT TEXTCS;
  3. USETEXT TXTAPSS;
  4. USETEXT TXTSUSS;
  5. USETEXT TXTSMCS;
  6. USETEXT TXCMDCS;
  7. USETEXT TEXTSS;
  8. PROC CSSDRC;
  9. # TITLE CSSDRC - DISPATCH ROUTED COMMANDS. #
  10.  
  11. BEGIN #CSSDRC#
  12. #
  13. ** CSSDRC - DISPATCH COMMANDS.
  14. *
  15. * C. BRION 82/06/15.
  16. *
  17. * THIS PROCEDURE WILL EXTRACT ROUTED COMMANDS FROM THE ROUTED
  18. * COMMAND QUEUE AND THEN, BASED ON THE COMMAND VERB, EITHER
  19. * CALL THE APPROPRIATE COMMAND PROCESSING PROCEDURE OR QUEUE
  20. * AN ENTRY TO THE APPROPRIATE PROCESSOR.
  21. *
  22. * PROC CSSDRC
  23. *
  24. * ENTRY:
  25. * AT LEAST ONE ROUTED COMMAND QUEUE ENTRY RESIDES IN THE
  26. * ROUTED COMMAND QUEUE.
  27. *
  28. * EXIT:
  29. * THE ROUTED COMMAND QUEUE WILL BE EXHAUSTED AND THE ENTRIES
  30. * WILL HAVE BEEN PROCESSED BY THE APPROPRIATE COMMAND PROCESSING
  31. * PROCEDURE.
  32. #
  33.  
  34. #
  35. **** PROC CSSDRC XREF LIST
  36. #
  37.  
  38. XREF
  39. BEGIN
  40. PROC CSSACO; # ACTION CONTROL CMD #
  41. PROC CSSAGO; # ACTION GO COMMAND #
  42. PROC CSSADI; # ACTION DISABLE CMD #
  43. PROC CSSAEN; # ACTION ENABLE CMD #
  44. PROC CSSADL; # ACTION DUMP/LOAD CMD #
  45. PROC CSSDTC; # ACTION OVERLAY CMD #
  46. PROC CSSARE; # ACTION REPORT COMMAND #
  47. PROC CSSASD; # ACTION SEND CMD #
  48. PROC CSSAST; # ACTION STATUS CMD #
  49. PROC CSSAIN; # ACTION INFO CMD #
  50. PROC CSSAED; # ACTION END CMD #
  51. PROC CSSAAC; # ACTION ALERT COMMAND #
  52. PROC CSSASO; # ACTION SEND TO OPERATOR #
  53. PROC CSSTCM; # TERMINATE COMMAND #
  54. PROC SSTAQE; # SS-ACCEPT QUEUE ENTRY #
  55. PROC SSTRQE; # SS-REMOVE QUEUE ENTRY #
  56. PROC MESSAGE; # MACREL DAYFILE MSG #
  57. PROC ABORT; # MACREL ABORT #
  58. END
  59. #
  60. ****
  61. #
  62.  
  63. #
  64. * ITEMS
  65. #
  66.  
  67. ITEM I; # LOOP VARIABLE #
  68. ITEM J; # LOOP VARIABLE #
  69. ITEM OORD I; # OCB ORDINAL #
  70.  
  71. #
  72. * BADCMD - BAD COMMAND VERB MESSAGE.
  73. #
  74.  
  75. ARRAY BADCMD [00:00] S(2);
  76. BEGIN
  77. ITEM BAD$TXT1 C(00,00,18) = ["CSSDRC-BAD COMMAND"];
  78. ITEM BAD$ZERO U(01,48,12) = [0];
  79. END
  80.  
  81.  
  82.  
  83.  
  84. #
  85. * MAIN PROC START
  86. #
  87.  
  88. #
  89. * THIS PROCEDURE WILL REMOVE A QUEUE ENTRY FROM THE ROUTED COMMAND
  90. * QUEUE UNTIL IT IS EMPTY.
  91. #
  92.  
  93. FOR I = 0 WHILE RCQL NQ 0
  94. DO
  95. BEGIN
  96. #
  97. * CLEAR BUFFER.
  98. #
  99. FOR J=0 STEP 1 UNTIL MCMDL$
  100. DO
  101. BEGIN
  102. PAR$WORD[J] = 0;
  103. END
  104.  
  105. SSTRQE(P<RCQ>,WCBUF[0],HDRCMD[0],PARMS[0]);
  106. #
  107. * ENTRY REMOVED INTO COMMON MEMORY AS FOLLOWS:
  108. *
  109. * WCBUF = ONE WORD FOR ENTRY WORD COUNT.
  110. * HDRCMD = ONE WORD FOR COMMAND HEADER.
  111. * PARMS = THE COMMAND BODY WITH THE SYNTAX AND ADDRESS PARAMETER
  112. * LISTS PRECEEDED BY THE RAW COMMAND TEXT STRING.
  113. #
  114.  
  115. #
  116. * IF THE OCB IS CURRENTLY ACTIVE AND THE CB PENDING FLAG
  117. * IS NOT SET TRUE, THEN CONTINUE WITH PROCESSING. OTHER-
  118. * WISE, SEND NULL TERMINAL TEXT TO CONNECTION LAYER SO
  119. * AS TO UNLEASH THE CON/CB FOR THE OPERATOR.
  120. #
  121.  
  122. OORD = HDR$OPORD[0]; # SET THE OCB ORDINAL #
  123.  
  124. IF OC$STATE[OORD]
  125. THEN
  126. BEGIN
  127. IF NOT OC$CBPD[OORD]
  128. THEN
  129. BEGIN
  130.  
  131. #
  132. * BASED ON THE COMMAND VERB VALUE OF THE COMMAND HEADER WORD,
  133. * THE DISPATCH TO THE APPROPRIATE COMMAND PROCESSOR IS DONE.
  134. #
  135.  
  136. IF HDR$VERB[0] EQ "CO0" # CONTROL CMD #
  137. THEN
  138. CSSACO;
  139.  
  140. ELSE IF HDR$VERB[0] EQ "GO0" # GO CMD #
  141. THEN
  142. CSSAGO;
  143.  
  144. ELSE IF HDR$VERB[0] EQ "DI0" # DISABLE CMD #
  145. THEN
  146. CSSADI;
  147.  
  148. ELSE IF HDR$VERB[0] EQ "EN0" # ENABLE CMD #
  149. THEN
  150. CSSAEN;
  151.  
  152. ELSE IF HDR$VERB[0] EQ "DU0" # DUMP OR LOAD CMD #
  153. OR HDR$VERB[0] EQ "LO0"
  154. THEN
  155. CSSADL;
  156.  
  157. ELSE IF HDR$VERB[0] EQ "TS0" # OVERLAY CMD #
  158. THEN
  159. CSSDTC;
  160.  
  161. ELSE IF HDR$VERB[0] EQ "SE0" # SEND CMD #
  162. THEN
  163. CSSASD;
  164.  
  165. ELSE IF HDR$VERB[0] EQ "SE1" # SEND CMD #
  166. THEN
  167. CSSASO;
  168.  
  169. ELSE IF HDR$VERB[0] EQ "ST0" # STATUS CMD #
  170. THEN
  171. CSSAST;
  172.  
  173. ELSE IF HDR$VERB[0] EQ "IN0" # INFO CMD #
  174. THEN
  175. CSSAIN;
  176.  
  177. ELSE IF HDR$VERB[0] EQ "RE0" # REPORT CMD #
  178. THEN
  179. CSSARE;
  180.  
  181. ELSE IF HDR$VERB[0] EQ "END" # END CMD #
  182. OR HDR$VERB[0] EQ "BYE"
  183. OR HDR$VERB[0] EQ "HEL"
  184. THEN
  185. CSSAED;
  186.  
  187. ELSE IF HDR$VERB[0] EQ "BRK" # BREAK CMD #
  188. THEN
  189. CSSTCM;
  190.  
  191. ELSE IF HDR$VERB[0] EQ "HI0" # HISTORY CMD #
  192. THEN
  193. BEGIN
  194. WCB$SMID[0] = SMID"HIST"; # SET INTERNAL ID #
  195. SSTAQE(P<HRQ>,WCBUF[0],HDRCMD[0],PARMS[0]); # QUEUE OPERATOR #
  196. # OUPUT Q ENTRY #
  197. # FOR HISTORY #
  198. END
  199.  
  200. ELSE IF HDR$VERB[0] EQ "AL0" # ACTION ALERT COMMAND #
  201. THEN
  202. CSSAAC;
  203.  
  204. ELSE
  205. BEGIN
  206. $BEGIN
  207. MESSAGE(BADCMD,0);
  208. ABORT;
  209. $END
  210. END
  211. END
  212. ELSE # CB PENDING FLAG ON #
  213. BEGIN
  214. WCB$WORD[1] = 0;
  215. ABHWORD[1] = 0;
  216. WCB$WC[1] = 2;
  217. WCB$SMID[1] = SMID"TTEXT";
  218. WCB$IAF[1] = TRUE;
  219. ABHADR[1] = OORD;
  220. SSTAQE(P<CNQ>,WCBUF[1],ABH[1],CSSM[1]);
  221. END
  222. END
  223.  
  224.  
  225. END # FOR LOOP #
  226.  
  227. END #CSSDRC#
  228. TERM
  229.  
  230.  
  231.  
  232.  
cdc/nos2.source/nam5871/cssdrc.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator