User Tools

Site Tools


cdc:nos2.source:nam5871:cssare

CSSARE

Table Of Contents

  • [00006] PROC CSSARE
  • [00007] ACTION REPORT COMMAND
  • [00010] ACTION REPORT COMMAND.
  • [00030] PROC SSBCBW
  • [00031] PROC SSBSBW
  • [00032] PROC SSTAQE

Source Code

CSSARE.txt
  1. *DECK CSSARE
  2. USETEXT TEXTCS
  3. USETEXT TEXTSS
  4. USETEXT TXCMDCS
  5. USETEXT TXTAPSS
  6. PROC CSSARE;
  7. # TITLE - ACTION REPORT COMMAND #
  8. BEGIN
  9. #
  10. ** CSSARE - ACTION REPORT COMMAND.
  11. *
  12. * D.K. ENDO 83/02/09
  13. *
  14. * THIS PROCEDURE PROCESSES THE REPORT COMMAND.
  15. *
  16. * PROC CSSARE
  17. *
  18. * ENTRY 1. HDRCMD = COMMAND HEADER.
  19. * 2. PARMS = PARAMETER LIST.
  20. *
  21. * EXIT 1. ENTRIES IN THE EVENT QUEUE. (CONTROL ON/OFF)
  22. * 2. MESSAGES TO THE C-LAYER.
  23. *
  24. #
  25. #
  26. **** PROC CSSARE - XREF LIST.
  27. #
  28. XREF
  29. BEGIN
  30. PROC SSBCBW; # CLEAR BIT IN WORD #
  31. PROC SSBSBW; # SET BET IN WORD #
  32. PROC SSTAQE; # ACCEPT QUEUE ENTRY #
  33. END
  34. #
  35. ****
  36. #
  37.  
  38. DEF MODEIDX # HDR$TXWCNT[0]+2 #; # INDEX TO MODE (ON/OFF) WORD #
  39. DEF NORIDX # HDR$TXWCNT[0]+3 #; # INDEX TO NPUCB ORDINAL WORD #
  40. DEF NPUIDX # HDR$TXWCNT[0]+1 #; # INDEX TO NP/NPS PARAMETER WORD#
  41.  
  42.  
  43. ITEM I; # LOOP INDUCTION VARIABLE #
  44.  
  45.  
  46. #
  47. * FLG$WORD - BASED ARRAY POINTED TO A REPORT FLAG WORD IN THE
  48. * NPUCB-S.
  49. #
  50. BASED ARRAY FLG$WORD [00:00] S(1);
  51. BEGIN
  52. ITEM FW$WORD I(00,00,60);
  53. END
  54.  
  55.  
  56. #
  57. * CSSARE CODE BEGINS HERE
  58. #
  59. #
  60. * IF REQUEST TO RECEIVE REPORTS, THEN IF ONE NPU IS SPECIFIED, THEN
  61. * SET THE REPORT FLAG IN THE NPUCB CORRESPONDING TO THIS OPERATOR.
  62. * IF *NPUS* IS SPECIFIED, THEN SET THE REPORT FLAG IN ALL THE ACTIVE
  63. * NPUCB-S FOR THIS OPERATOR.
  64. #
  65. IF PAR$PCODE[MODEIDX] EQ "ON0"
  66. THEN
  67. BEGIN
  68.  
  69. IF PAR$PCODE[NPUIDX] EQ "NP0"
  70. THEN
  71. BEGIN
  72. P<FLG$WORD> = LOC(NPU$RFLGS[PAR$ORD[NORIDX]]);
  73. SSBSBW( FLG$WORD , HDR$OPORD[0] );
  74. END
  75.  
  76. ELSE
  77. BEGIN
  78. FOR I=0 STEP 1 WHILE I LS CSNPCNT
  79. DO
  80. BEGIN
  81. IF NPU$STAT[I] NQ SUPSTAT"SUPLOST"
  82. THEN
  83. BEGIN
  84. P<FLG$WORD> = LOC(NPU$RFLGS[I]);
  85. SSBSBW( FLG$WORD , HDR$OPORD[0] );
  86. END
  87. END
  88. END
  89. END
  90. #
  91. * IF REPORTS ARE TO BE TURNED OFF, THEN IF ONE NPU WAS SPECIFIED,
  92. * THEN CLEAR THE REPORT FLAG IN THE NPUCB FOR THIS OPERATOR. IF
  93. * ALL NPUS WAS SPECIFIED, THEN CLEAR THE FLAGS IN ALL THE NPUCB-S
  94. * FOR THIS OPERATOR.
  95. #
  96. ELSE
  97. BEGIN
  98. IF PAR$PCODE[NPUIDX] EQ "NP0"
  99. THEN
  100. BEGIN
  101. P<FLG$WORD> = LOC(NPU$RFLGS[PAR$ORD[NORIDX]]);
  102. SSBCBW( FLG$WORD , HDR$OPORD[0]);
  103. END
  104.  
  105. ELSE
  106. BEGIN
  107. FOR I=0 STEP 1 WHILE I LS CSNPCNT
  108. DO
  109. BEGIN
  110. IF NPU$STAT[I] NQ SUPSTAT"SUPLOST"
  111. THEN
  112. BEGIN
  113. P<FLG$WORD> = LOC(NPU$RFLGS[I]);
  114. SSBCBW( FLG$WORD , HDR$OPORD[0] );
  115. END
  116. END
  117. END
  118. END
  119.  
  120. #
  121. * SEND AN EMPTY TERMINAL TEXT WITH THE INPUT ALLOWED FLAG SET TO
  122. * INDICATE THAT THE COMMAND IS COMPLETE.
  123. #
  124. WCB$WORD[1] = 2;
  125. WCB$SMID[1] = SMID"TTEXT";
  126. WCB$IAF[1] = TRUE;
  127. ABHWORD[1] = 0;
  128. ABHADR[1] = HDR$OPORD[0];
  129. SSTAQE(P<CNQ>,WCBUF[1],ABH[1],MSGBUF);
  130.  
  131.  
  132. END # CSSARE #
  133. TERM
  134.  
  135.  
cdc/nos2.source/nam5871/cssare.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator