cdc:nos2.source:nam5871:cssatr
Table of Contents
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
- *DECK CSSATR
- USETEXT TEXTCS;
- USETEXT TEXTSS;
- USETEXT TXCMDCS;
- USETEXT TXTSMCS;
- USETEXT TXTAPSS;
- USETEXT TXTSUSS;
- PROC CSSATR;
- # TITLE CSSATR - ACTION TEST REQUEST COMMAND #
- BEGIN # CSSATR #
- #
- ** CSSATR - ACTION TEST REQUEST COMMAND.
- *
- * C. BRION 82/06/09.
- *
- * THIS PROCEDURE PROCESSES THE DIAGNOSTIC TEST REQUEST COMMAND.
- *
- * PROC CSSATR
- *
- * ENTRY:
- *
- * HDRCMD = COMMAND HEADER WORD.
- *
- * EXIT:
- *
- * AN OLDIN SM MAY BE SENT TO THE NPU.
- * A COMMAND TEXT EVENT MAY BE SENT TO THE EVENT PROCESSOR FOR
- * ENTRY INTO THE NETWORK LOG FILE.
- * THE OCB AND NPUCB WILL BE UPDATED.
- #
- #
- **** PROC CSSATR XREF LIST
- #
- XREF
- BEGIN
- PROC SSBSBW; # SS-SET BIT IN WORD #
- PROC SSBTBW; # SS-TEST BIT IN WORD #
- PROC SSTAQE; # SS-ACCEPT QUEUE ENTRY #
- PROC MOVE; # MACREL MOVE MEMORY #
- END
- #
- ****
- #
- ITEM I U; # LOOP INDUCTION VAR #
- ITEM OORD U; # OCB ORDINAL #
- ITEM NORD U; # NPUCB ORDINAL #
- ITEM FOUND B; # NOR FOUND FLAG #
- ITEM RUNNING B; # ONLINE DIAG RUNNING FLAG #
- #
- * FLG$WORD - BASED ARRAY THAT POINTS TO THE ONLINE DIAGNOSTICS
- * OPERATOR BIT MAP.
- #
- BASED ARRAY FLG$WORD [00:00] S(NPCBSZ$);
- BEGIN
- ITEM FW$WORD I(00,00,60);
- END
- #
- * TREQ - OLD REQUEST TEXT MESSAGE ARRAY.
- #
- ARRAY TREQ [00:00] S(4);
- BEGIN
- ITEM TRE$NP C(00,00,07); # NPU NAME #
- ITEM TRE$TX1 C(00,42,06) = ["/OLD: "];
- ITEM TRE$TX2 C(01,18,17);
- ITEM TRE$TX3 C(02,00,10) = [" INITIATED"];
- ITEM TRE$ZERO U(03,00,60) = [0];
- END
- OORD = HDR$OPORD[0];
- #
- * FIND THE NPUCB ORDINAL VIA THE NOR PARAMETER IN THE CMD.
- #
- FOUND = FALSE;
- FOR I = 0 STEP 1 WHILE NOT FOUND
- DO
- BEGIN
- IF PAR$PCODE[I] EQ "NOR"
- THEN
- BEGIN
- FOUND = TRUE;
- NORD = PAR$ORD[I];
- END
- END
- #
- * OLD PROGRAM MAY ALREADY BE BUSY WITH ANOTHER OPERATOR. IF SO,
- * SEND IN USE MESSAGE TO ORIGIN OPERATOR.
- #
- #
- * SET THE NPU NAME IN THE TEXT MESSAGE.
- #
- TRE$NP[0] = NPU$NAME[NORD];
- SSBTBW(NPU$OVFLGS[NORD],OORD,RUNNING);
- IF RUNNING
- THEN
- BEGIN
- TRE$TX2[0] = "ALREADY";
- WCB$IAF[1] = TRUE;
- END
- ELSE
- #
- * OLD NOT BUSY. SETUP OCB AND NPUCB. SET UP OUTGOING OLDIN SM
- * HEADER WORDS.
- #
- BEGIN
- P<FLG$WORD> = LOC(NPU$OVFLGS[NORD]);
- SSBSBW(FLG$WORD,OORD);
- OC$CNPU[OORD] = NORD;
- OC$VERB[OORD] = "TS0";
- ABHDN[1] = NPU$NID[NORD];
- ABHSN[1] = NPU$HID[NORD];
- ABHABT[1] = APPSUP;
- ABHBT[1]= APPSUP;
- ABHACT[1] = ACTCSNP$;
- PFCSFC[1] = OLDIN;
- OLDDO[1] = OORD;
- ABHTLC[1] = NOLDIN;
- WCB$SMID[1] = SMID"OLDIN";
- WCB$WC[1] = LOLDIN + 2;
- #
- * SEND OLDIN SM TO NPU
- #
- SSTAQE(P<OTQ>,WCBUF[1],ABH[1],CSSM[1]);
- #
- * SEND CMD TXT ENTRY TO EVENT PROCESSOR FOR LOGGING INTO NETWORK
- * LOG FILE.
- #
- WCB$WORD[1] = 0;
- ABHWORD[1] = 0;
- WCB$SMID[1] = SMID"CMDTXT";
- ABHADR[1] = OORD;
- P<MSCMD> = LOC(CMD$TEXT[0]);
- MOVE(HDR$TXWCNT[0],PARMS[0],MSCMD[0]);
- CMD$TNAM[0]= OC$TNAM[OORD];
- WCB$WC[1] = HDR$TXWCNT[0] + 4;
- SSTAQE(P<EVQ>,WCBUF[1],ABH[1],CMDLINE[0]);
- #
- * SET UP REQUEST INITIATED MESSAGE.
- #
- TRE$TX2[0] = "REQUEST";
- WCB$IAF[1] = FALSE;
- END
- #
- * SET UP THE WORD COUNT WORD AND ABH WORD FOR CNQ ENTRY.
- #
- WCB$SMID[1] = SMID"TTEXT";
- WCB$WC[1] = 6;
- ABHWORD[1] = 0;
- ABHADR[1] = OORD;
- SSTAQE(P<CNQ>,WCBUF[1],ABH[1],TREQ[0]);
- END #CSSATR#
- TERM
cdc/nos2.source/nam5871/cssatr.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator