cdc:nos2.source:nam5871:nvftbrk
Table of Contents
NVFTBRK
Table Of Contents
- [00007] PROC NVFTBRK
- [00008] NVFTBRK - PROCESS BREAK OCCURRED CONDITION (FC/BRK SM)
- [00012] PROCESS BREAK OCCURRED CONDITION (FC/BRK SM).
- [00047] PROC NVFTILP
- [00048] PROC NVFUMQE
Source Code
- NVFTBRK.txt
- *DECK NVFTBRK
- USETEXT TEXTNVF
- USETEXT TXTANVF
- USETEXT TXTAPSS
- USETEXT TEXTSS
- PROC NVFTBRK;
- # TITLE NVFTBRK - PROCESS BREAK OCCURRED CONDITION (FC/BRK SM) #
- BEGIN # NVFTBRK #
- #
- ** NVFTBRK - PROCESS BREAK OCCURRED CONDITION (FC/BRK SM).
- *
- * E. THAVIKULWAT 81/09/21
- *
- * THIS PROCEDURE PROCESSES THE BREAK CONDITION. IT IS CALLED INTO
- * EXECUTION BY PROCEDURE *NVFTDQE*.
- *
- * PROC NVFTBRK
- *
- * ENTRY:
- * ABH IN *ABHBUF*
- * INTR/USR SM IN *MSGBUF*
- *
- * EXIT:
- * APPROPRIATE LOGIN PROMPT REISSUED IF NECESSARY.
- *
- * NOTES:
- * 1) IF CTRL/RTC REQUEST FOR TERMINAL CLASS AND ECHOPLEX IS
- * OUTSTANDING WHEN A BREAK IS RECEIVED, THE REQUEST MIGHT
- * HAVE BEEN DISCARDED. IN THIS CASE, THE REQUEST MUST BE
- * REISSUED.
- *
- * METHOD:
- * SEARCH PTAC TABLE FOR ENTRY THAT MATCHES THIS TERMINAL'S ACN.
- * IF ENTRY FOUND AND TERMINAL IS WAITING FOR A RESPONSE TO ONE OF
- * IT'S LOGIN PROMPT, THEN REISSUE FAMILY OR APPLICATION PROMPT.
- * OTHERWISE, IGNORE THE BREAK.
- #
- #
- **** PROC NVFTBRK - XREF LIST.
- #
- XREF
- BEGIN
- PROC NVFTILP; # ISSUE LOGIN PROMPT #
- PROC NVFUMQE; # TRANSFER PROTOCOL RESPONSE TO QUEUE #
- END
- #
- ****
- #
- ITEM ADDR I; # ADDRESSING INFORMATION FOR ABH #
- ITEM MATCH B; # EXIT LOOP VARIABLE #
- ITEM NENTRY I; # NUMBER OF ENTRIES IN TABLE #
- ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC #
- #
- * SEARCH PTAC TABLE FOR ENTRY THAT MATCHES THIS TERMINAL'S ACN.
- * IF NO MATCH, IGNORE SM.
- #
- MATCH = FALSE;
- NENTRY = PTALNGTH / PTACSIZ$; # CALCULATE NUMBER OF ENTRIES #
- FOR PT = 0 STEP 1 WHILE (NOT MATCH AND PT LS NENTRY)
- DO
- BEGIN
- IF PTA$ACN[PT] EQ INTRACN[0]
- THEN
- BEGIN # PTAC ENTRY FOUND #
- #
- * BUILD FC/RST PROTOCOL RESPONSE.
- #
- SPMSG0[1] = 0;
- PFCSFC[1] = FCRST;
- FCACN[1] = FCACN[0];
- ADDR = ABHADR[0];
- NVFUMQE(P<CTQ>,APSM[1],APPPR$,ADDR,LFC); # TRNSFR RSP TO Q #
- ADDR = PTA$ACN[PT];
- #
- * DETERMINE PROMPT TO REISSUE. IF BREAK OCCURRED WHILE
- * TERMINAL WAS WAITING FOR RESPONSE TO A FAMILY, USER, PASSWORD
- * OR PERSONAL ID PROMPT, THE FAMILY PROMPT WILL BE REISSUED. IF
- * WAITING FOR PID RESPONSE, BEFORE REISSUE FAMILY PROMPT, MAKE
- * SURE TO DECREMENT FAMILY COUNT. IF WAITING FOR RESPONSE TO
- * APPLICATION PROMPT, THE APPLICATION PROMPT WILL BE REISSUED.
- #
- IF PTA$STATE[PT] EQ PTACST"AWTRSP"
- THEN # AWAITING RESPONSE TO PROMPT #
- BEGIN
- IF PTA$PROMPT[PT] NQ AWTAPP$
- THEN
- BEGIN # REISSUE FAMILY PROMPT #
- IF (PTA$PROMPT[PT] EQ AWTPID$) AND (PTA$SCINV[PT] EQ 0)
- THEN # ISSUE CMP73 REQUEST TO #
- BEGIN # DECREMENT FAMILY COUNT #
- P<CRQBUF> = LOC(MSGBUF[0])+((NMSGBUF$+1)/2);
- CRQ$FCWORD[0] = 0;
- CRQ$FWORD[0] = 0;
- CRQ$FC[0] = CPM73B$; # DECREMENT FAMILY COUNT #
- CRQ$ACN[0] = 0;
- CRQ$FNAM[0] = PTA$FNAM[PT];
- NVFUMQE(P<CPMRQ>,CRQBUF[0],APPTTX$,0,CRQDSIZ$ * 10);
- END
- PTA$PROMPT[PT] = AWTFAM$; # AWAIT FAMILY PROMPT #
- END
- NVFTILP(PT); # ISSUE NEXT PROMPT #
- END
- MATCH = TRUE;
- END
- END
- END # END NVFTBRK #
- TERM
cdc/nos2.source/nam5871/nvftbrk.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator