cdc:nos2.source:nam5871:cssatm
Table of Contents
CSSATM
Table Of Contents
- [00008] PROC CSSATM
- [00009] CSSATM - ACTION TEST MESSAGE COMMAND
- [00014] ACTION TEST MESSAGE COMMAND.
- [00041] PROC SSBEBF
- [00042] PROC SSBSBF
- [00043] PROC SSBTBW
- [00044] FUNC SSDCDA
- [00045] PROC SSTAQE
Source Code
- CSSATM.txt
- *DECK CSSATM
- USETEXT TEXTCS;
- USETEXT TEXTSS;
- USETEXT TXCMDCS;
- USETEXT TXTAPSS;
- USETEXT TXTSMCS;
- USETEXT TXTSUSS;
- PROC CSSATM;
- # TITLE CSSATM - ACTION TEST MESSAGE COMMAND #
- BEGIN # CSSATM #
- #
- ** CSSATM - ACTION TEST MESSAGE COMMAND.
- *
- * C. BRION 82/06/09.
- *
- * THIS PROCEDURE PROCESSES THE DIAGNOSTIC TEST MESSAGE (DATA)
- * COMMAND FROM AN OPERATOR TO THE ONLINE DIAGNOSTIC PROGRAM IN
- * AN NPU.
- *
- * PROC CSSATM
- *
- * ENTRY:
- *
- * HDRCMD = COMMAND HEADER WORD.
- * PARMS = COMMAND PARAMETER ARRAY.
- *
- * EXIT:
- *
- * AN OLDDT SM MAY BE SENT TO A NPU.
- * A TERMINAL TEXT ENTRY WILL BE SENT TO THE OPERATOR.
- #
- #
- **** PROC CSSATM XREF LIST
- #
- XREF
- BEGIN
- PROC SSBEBF; # SS-EXTRACT BIT FIELD #
- PROC SSBSBF; # SS-STOREBIT FIELD #
- PROC SSBTBW; # SS-TEST BIT IN WORD #
- FUNC SSDCDA; # SS-DISPLAY TO ASCII #
- PROC SSTAQE; # SS-ACCEPT QUEUE ENTRY #
- END
- #
- ****
- #
- ITEM OORD U; # OCB ORDINAL #
- ITEM NORD U; # NPUCB ORDINAL #
- ITEM I U; # LOOP INDUCTION VAR #
- ITEM DORD U; # CHAR MOVE VARS #
- ITEM DBIT U;
- ITEM AORD U;
- ITEM ABIT U;
- ITEM Y U; # LOOP INDUCTION VAR #
- ITEM SCHAR U; # CHARACTER VAR #
- ITEM FOUND B; # NPUCB ORDINAL FOUND FLAG #
- ITEM MCINDX U; # MSG COUNT PARM INDX #
- ITEM RUNNING B; # OLD RUNNING FLAG #
- #
- * MSGTXT - DIAGNOSTIC MESSAGE TEXT.
- #
- ARRAY MSGTXT [00:00] S(4);
- BEGIN
- ITEM MSG$NP C(00,00,07); # NPU NAME #
- ITEM MSG$TXT1 C(00,42,06) = ["/OLD: "];
- ITEM MSG$TX2 C(01,18,20);
- ITEM MSG$ZRO U(03,18,42) = [0];
- END
- #
- * INITIALIZE OUTGOING ENTRY WORDS, OCB AND NPUCB ORDINALS, AND
- * MESSAGE TEXT MESSAGE.
- #
- OORD = HDR$OPORD[0];
- FOUND = FALSE;
- #
- * FIND NPUCB ORDINAL IN COMMAND PARAMETER ARRAY.
- #
- FOR I = 0 STEP 1 WHILE NOT FOUND
- DO
- BEGIN
- IF PAR$PCODE[I] EQ "NOR"
- THEN
- BEGIN
- NORD = PAR$ORD[I];
- FOUND = TRUE;
- END
- END
- MSG$NP[0] = NPU$NAME[NORD];
- WCB$WORD[0] = 0;
- WCB$WORD[1] = 0;
- ABHWORD[0] = 0;
- ABHWORD[1] = 0;
- ABHADR[0] = OORD;
- WCB$WC[0] = 5;
- #
- * ORIGIN OPERATOR MAY NOT BE CURRENT OLD OPERATOR. IF SO, SEND
- * ERROR MESSAGE.
- #
- SSBTBW(NPU$OVFLGS[NORD],OORD,RUNNING);
- IF NOT RUNNING
- THEN
- MSG$TX2[0] = "NO PRIOR REQUEST CMD";
- ELSE
- #
- * CURRENT OLD OPERATOR SAME AS ORIGIN BUT OLD REQUEST MAY STILL BE
- * OUTSTANDING. IF SO, SEND INPROGRESS MESSAGE.
- #
- #
- * EVERYTHING OK FOR SEND OF OLDDT SM TO OLD PROGRAM OF NPU.
- #
- BEGIN
- WCB$SMID[1] = SMID"OLDDT";
- ABHDN[1] = NPU$NID[NORD];
- ABHSN[1] = NPU$HID[NORD];
- ABHABT[1] = APPSUP;
- ABHBT[1] = APPSUP;
- ABHACT[1] = ACTCSNP$;
- PFCSFC[1] = OLDDT;
- OLDDO[1] = OORD;
- #
- * CONVERT THE MESSAGE TEXT TO ASCII AND STORE INTO OUTGOING SM
- #
- FOUND = FALSE;
- FOR I = 0 STEP 1 WHILE NOT FOUND
- DO
- BEGIN
- IF PAR$PCODE[I] EQ "MS0"
- THEN
- BEGIN
- DORD = I + 1;
- MCINDX = I;
- FOUND = TRUE;
- END
- END
- DBIT = 0;
- AORD = 0;
- ABIT = 24;
- ABHTLC[1] = PAR$MSGCL[MCINDX] + 3;
- FOR Y = 1 STEP 1 UNTIL PAR$MSGCL[MCINDX]
- DO
- BEGIN
- SSBEBF(PARMS[0],DORD,DBIT,6,SCHAR);
- SCHAR = SSDCDA(SCHAR);
- SSBSBF(CSSM[1],AORD,ABIT,8,SCHAR);
- END
- WCB$WC[1] = ((ABHTLC[1] + 9)/10) + 2;
- SSTAQE(P<OTQ>,WCBUF[1],ABH[1],CSSM[1]);
- WCB$WC[0] = 2;
- END
- #
- * SEND TTEXT TO OPERATOR
- #
- WCB$IAF[0] = TRUE;
- WCB$SMID[0] = SMID"TTEXT";
- SSTAQE(P<CNQ>,WCBUF[0],ABH[0],MSGTXT[0]);
- END # CSSATM #
- TERM
cdc/nos2.source/nam5871/cssatm.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator