cdc:nos2.source:nam5871:csoboe
Table of Contents
CSOBOE
Table Of Contents
- [00005] PROC CSOBOE
- [00006] CSOBOE - BROADCAST OPERATOR EVENTS.
- [00011] BROADCAST OPERATOR EVENTS.
- [00037] PROC SSBTBW
- [00038] PROC SSTAQE
- [00039] PROC SSTRQE
- [00040] PROC CSOAHL
Source Code
- CSOBOE.txt
- *DECK CSOBOE
- USETEXT TEXTCS;
- USETEXT TEXTSS;
- USETEXT TXTAPSS;
- PROC CSOBOE;
- # TITLE CSOBOE - BROADCAST OPERATOR EVENTS. #
- BEGIN # CSOBOE #
- #
- ** CSOBOE - BROADCAST OPERATOR EVENTS.
- *
- * C. BRION 82/06/09.
- * D.K. ENDO 83/02/17 ADD FILTERED REPORT.
- *
- * THIS PROCEDURE EXTRACTS OPERATOR GROUP RESPONSE ENTRIES FROM
- * THE OPERATOR RESPONSE QUEUE (ORQ) AND GENERATES THE NEEDED
- * OPERATOR DIRECTED EVENT LINES DEPENDING ON THE AUDIENCE GROUP
- * OF THE ENTRY.
- *
- * PROC CSOBOE
- *
- * ENTRY
- * ENTRIES IN THE OPERATOR RESPONSE QUEUE.
- *
- * EXIT
- * ENTRIES IN THE ODEQ WITH THE APPROPRIATE ACN VALUE FOR EACH.
- *
- #
- #
- **** PROC CSOBOE XREF LIST.
- #
- XREF
- BEGIN
- PROC SSBTBW; # SS-TEST BIT IN WORD #
- PROC SSTAQE; # SS-ACCEPT QUEUE ENTRY #
- PROC SSTRQE; # SS-REMOVE QUEUE ENTRY #
- PROC CSOAHL; # ADD HISTORY LINES #
- END
- #
- ****
- #
- #
- * AGSWTCH - SWITCH LIST USED TO JUMP TO THE APPROPRIATE PARAGRAPH
- * BASED ON AUDIENCE GROUP.
- #
- SWITCH AGSWTCH ENDCASE,
- AUDGR1,
- AUDGR2,
- AUDGR3,
- AUDGR4,
- ENDCASE,
- ENDCASE;
- #
- * ITEMS
- #
- ITEM I; # LOOP VAR #
- ITEM NORD U; # NPU ORDINAL WORD #
- ITEM OORD U; # OCB ORDINAL WORD #
- ITEM REPORT B; # REPORT FLAG #
- #
- * THE MAIN LOOP CONTINUES TO EXECUTE AS LONG AS ENTRIES EXIST IN
- * THE OPERATOR RESPONSE QUEUE.
- #
- FOR I = 0 STEP 1 WHILE ORQL NQ 0
- DO
- BEGIN
- SSTRQE(P<ORQ>,WCBUF[0],ABH[0],MSGBUF[0]); # REMOVE ENTRY #
- WCB$WORD[1] = WCB$WORD[0];
- WCB$IAF[1] = FALSE;
- WCB$HAF[1] = FALSE;
- ABHWORD[1] = 0;
- ABHADR[1] = HOPORD$;
- #
- * LOG THE MESSAGE IN THE HISTORY BUFFER.
- #
- CSOAHL;
- #
- * CASE ON THE AUDIENCE GROUP NUMBER TO DETERMINE WHO SHOULD
- * RECEIVE THIS MESSAGE.
- #
- GOTO AGSWTCH[ABHADR[0]];
- #
- * THE AUDIENCE GROUP IS ONE. IF THERE IS NO CONTROLLING NOP THEN
- * SET THE HOP ALERT FLAG. SEND THE MESSAGE TO THE HOP. FOR EACH
- * ACTIVE OPERATOR, SEND THE MESSAGE.
- #
- AUDGR1:
- IF NPU$CNOP[ABHABN[0]] EQ 0
- THEN
- BEGIN
- WCB$HAF[1] = TRUE;
- END
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF[0]);
- FOR I=MINACN$ STEP 1 UNTIL MAXACN$
- DO
- BEGIN
- IF OC$STATE[I]
- THEN
- BEGIN
- ABHADR[1] = I;
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF[0]);
- END
- END
- GOTO ENDCASE;
- #
- * THE AUDIENCE GROUP IS TWO. SET THE HOP ALERT FLAG. SEND THE
- * MESSAGE TO THE HOP. FOR EACH ACTIVE NOP, SEND THE MESSAGE.
- #
- AUDGR2:
- WCB$HAF[1] = TRUE;
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF[0]);
- FOR I=MINACN$ STEP 1 UNTIL MAXACN$
- DO
- BEGIN
- IF OC$STATE[I] AND
- OC$TYPE[I] EQ OPTYP"NOP"
- THEN
- BEGIN
- ABHADR[1] = I;
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF[0]);
- END
- END
- GOTO ENDCASE;
- #* THE AUDIENCE GROUP IS THREE. IF THIS HOP IS RECEIVING REPORTS
- * THEN SEND THE MESSAGE TO THE HOP WITH THE SOP ALERT FLAG SET IF
- * THERE IS NOP CONTROLLING NOP. FOR EACH OPERATOR RECEIVING
- * REPORTS FOR THIS NPU, SEND THE MESSAGE.
- #
- AUDGR3:
- SSBTBW( NPU$RFLGS[ABHABN[0]] , HOPORD$ , REPORT );
- IF REPORT
- THEN
- BEGIN
- IF NPU$CNOP[ABHABN[0]] EQ 0
- THEN
- BEGIN
- WCB$HAF[1] = TRUE;
- END
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF[0]);
- END
- FOR I=MINACN$ STEP 1 UNTIL MAXACN$
- DO
- BEGIN
- IF OC$STATE[I]
- THEN
- BEGIN
- SSBTBW( NPU$RFLGS[ABHABN[0]] , I , REPORT );
- IF REPORT
- THEN
- BEGIN
- ABHADR[1] = I;
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF[0]);
- END
- END
- END
- GOTO ENDCASE;
- #
- * THE AUDIENCE GROUP IS FOUR. IF THERE IS NO CONTROLLING NOP,
- * THEN SET THE HOP ALERT FLAG. SEND THE MESSAGE TO THE HOP.
- * IF THERE IS A CONTROLLING NOP THEN SEND THE MESSAGE TO HIM.
- #
- AUDGR4:
- IF NPU$CNOP[ABHABN[0]] EQ 0
- THEN
- BEGIN
- WCB$HAF[1] = TRUE;
- END
- ELSE
- BEGIN
- ABHADR[1] = NPU$CNOP[ABHABN[0]];
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF);
- END
- ABHADR[1] = HOPORD$;
- SSTAQE(P<ODEQ>,WCBUF[1],ABH[1],MSGBUF);
- GOTO ENDCASE;
- ENDCASE:
- END # FOR I LOOP #
- END # CSOBOE #
- TERM
cdc/nos2.source/nam5871/csoboe.txt ยท Last modified: 2023/08/05 17:21 by Site Administrator