cdc:nos2.source:nam5871:nvftilp
Table of Contents
NVFTILP
Table Of Contents
- [00007] PROC NVFTILP1)
- [00008] NVFTILP - ISSUE LOGIN PROMPTS
- [00012] ISSUE LOGIN PROMPTS.
- [00076] PROC NVFTPVR
- [00077] PROC NVFUMQE
- [00078] PROC SSBSBF
- [00079] PROC SSCATR
- [00080] PROC SSTAQE
- [00102] TRBBUF - TIMER REQUEST BUFFER.
Source Code
- NVFTILP.txt
- *DECK NVFTILP
- USETEXT TEXTNVF
- USETEXT TEXTSS
- USETEXT TXTANVF
- USETEXT TXTAPSS
- PROC NVFTILP((PT));
- # TITLE NVFTILP - ISSUE LOGIN PROMPTS #
- BEGIN # NVFTILP #
- #
- ** NVFTILP - ISSUE LOGIN PROMPTS.
- *
- * E. THAVIKULWAT 81/09/02
- *
- * THIS PROCEDURE'S MAIN FUNCTION IS TO DETERMINE THE APPROPRIATE
- * LOGIN PROMPT TO ISSUE TO THE TERMINAL. IT IS CALLED INTO
- * EXECUTION BY THE FOLLOWING PROCEDURES:
- * *NVFTBRK* *NVFTDSP* *NVFTETI* *NVFTITE* *NVFTPSV*
- * *NVFTPUV* *NVFTRCN* *NVFTRVD* *NVFTTCD* *NVFTVAA*
- * *NVFTVVD*
- *
- * PROC NVFTILP((PT))
- *
- * ENTRY:
- * PT = POINTER TO PTAC ENTRY.
- * PTA$PROMPT FIELD OF PTAC ENTRY CONTAINS THE PROMPT TO ISSUE.
- *
- * EXIT:
- * APPROPRIATE PROMPT ISSUED TO TERMINAL.
- *
- * METHOD:
- * FAMILY - IF FAMILY AND USER ARE BOTH MANDATORY, PROCEED TO
- * VALIDATE THE USER.
- * IF ONLY FAMILY IS MANDATORY, THEN ISSUE USER PROMPT
- * INSTEAD.
- * IF FAMILY IS NOT MANDATORY, ISSUE FAMILY PROMPT.
- *
- * USER - IF USER IS MANDATORY, PROCEED TO VALIDATE THE USER.
- * IF USER IS NOT MANDATORY, ISSUE USER PROMPT.
- *
- * PASSWORD - TERMINAL WOULD BE SET TO AWAITING PASSWORD PROMPT
- * ONLY IF:
- * 1) USER NAME WAS ENTERED IN RESPOND TO A USER
- * PROMPT.
- * 2) USER NAME WAS ENTERED IN AN ABBREVIATED FORMAT
- * FOLLOWING A FAMILY PROMPT.
- * FOR CASE 1, PROCEED TO ISSUE PASSWORD PROMPT.
- * FOR CASE 2, IF AUTOLOGIN TYPE FOR USER IS DEFAULT
- * AND "NULL" VALUE ENTERED OR USER TYPE IS MANDATORY,
- * PROCEED TO VALIDATE THE USER. OTHERWISE, ISSUE
- * PASSWORD PROMPT.
- *
- * PID - THE TERMINAL WOULD BE SET TO AWAITING PERSONAL ID
- * PROMPT ONLY IF THE FAMILY AND USER HAVE SUCCESSFULLY
- * BEEN VALIDATED, THE USER IS REQUIRED TO ENTER A
- * PERSONAL ID, AND THE PERSONAL ID HAS NOT PREVIOUSLY
- * BEEN ENTERED. IF THE USER IS REQUIRED TO ENTER THE
- * PID, IT WILL BE REQUESTED EVEN IF THE PASSWORD IS IN
- * ERROR.
- *
- * APPL - IF APPLICATION IS MANDATORY, SET STATE OF TERMINAL
- * TO AWAIT VALIDATE APPLICATION ACCESS.
- * IF APPLICATION IS PRIMARY, CHANGE APPLICATION TO TYPE
- * DEFAULT SO THAT SUBSEQUENT ATTEMPTS WILL ALWAYS
- * SOLICITE APPLICATION PROMPT AND SET STATE OF TERMINAL
- * TO AWAIT VALIDATE APPLICATION ACCESS.
- #
- #
- **** PROC NVFTILP - XREF LIST.
- #
- XREF
- BEGIN
- PROC NVFTPVR; # PREPARE VALIDATE USER REQUEST #
- PROC NVFUMQE; # TRANSFER SM OR TEXT TO QUEUE #
- PROC SSBSBF; # STORE BITFIELD IN TABLE #
- PROC SSCATR; # ACCEPT TIMER REQUEST #
- PROC SSTAQE; # ACCEPT QUEUE ENTRY #
- END
- #
- ****
- #
- DEF DTIME$ #120#; # DELAY TIME IN SECONDS FOR A RESPONSE #
- DEF EPOFF$ #X"45503D4E"#; # HEX CODE FOR "EP=N" #
- DEF TRBSIZ$ #4#; # NUMBER OF WORDS IN TIMER REQUEST BLOCK #
- *CALL TMSGNVF
- ITEM EPWD I; # CTRL/DEF ECHOPLEX WORD POSITION #
- ITEM EPBIT I; # CTRL/DEF ECHOPLEX BIT POSITION #
- ITEM LNGTH I; # LENGTH OF MESSAGE #
- ITEM PSUB I; # SUBSCRIPT FOR GOTO SWITCH #
- ITEM PT I; # SUBSCRIPT FOR ARRAY PTAC #
- ITEM PTIND I; # AUTOLOGIN TYPE INDICATOR VARIABLE #
- ITEM PTPRMT I; # PROMPT INDICATOR VARIABLE #
- ITEM PTTC I; # TERMINAL CLASS VARIABLE #
- #
- ** TRBBUF - TIMER REQUEST BUFFER.
- *
- * BUFFER CONTAINING TIMER INFORMATION. BUFFER IS SET UP TO CONTAIN
- * FC/INACT SM WHICH IS TO BE RETURNED TO *TAINPQ* QUEUE SHOULD THE
- * TIMER EXPIRE.
- #
- ARRAY TRBBUF[00:00] S(TRBSIZ$);
- BEGIN
- ITEM TRB$SMID S:CTQSTAT(00,00,12) = [S"SINA"]; # INTERNAL ID#
- ITEM TRB$WC U(00,48,12) = [TRBSIZ$]; # ENTRY-SIZE #
- ITEM TRB$ABT U(01,00,06) = [APPCMD]; # APPL BLOCK TYPE #
- ITEM TRB$CNUM U(01,18,18); # CANCELLATION NUMBER #
- ITEM TRB$PFCSFC U(02,00,16) = [FCINA]; # FC/INACT PFCSFC #
- ITEM TRB$ACN U(02,24,12); # APPLICATION CONNECTION NUMBER #
- ITEM TRB$DELAY U(03,24,18) = [DTIME$]; # DELAY TIME IN SEC #
- ITEM TRB$QNUM U(03,42,18); # Q NUM FOR TIMER EXPIRED MSG #
- END
- #
- * THE FOLLOWING BASED ARRAY IS FOR GENERAL PURPOSE USAGE
- #
- BASED ARRAY BPGEN[00:00] S(1);
- BEGIN
- ITEM BPG$WORD U(00,00,60); # FULL WORD REFERENCE #
- END
- SWITCH PRMTSWT
- LLAPPL, # LABEL FOR APPLICATION PROMPT #
- LLPRID, # LABEL FOR PERSONAL IDENTIFIER PROMPT #
- LLPWRD, # LABEL FOR PASSWORD PROMPT #
- LLUSER, # LABEL FOR USER PROMPT #
- LLFAM; # LABEL FOR FAMILY PROMPT #
- IF NOT PTA$ALIF[PT]
- THEN # NO AUTOLOGIN DATA #
- BEGIN
- GOTO ENDPRMT; # ISSUE APPROPRIATE PROMPT #
- END
- #
- * CHECK FOR AUTOLOGIN DATA. PASSWORD PROMPT IS NOT ISSUED IF USER
- * NAME WAS OBTAINED FROM THE *LCF* (I.E., USER IS MANDATORY OR USER
- * IS DEFAULT AND "NULL" VALUE RECEIVED).
- #
- PSUB = PTA$PROMPT[PT] - 1;
- GOTO PRMTSWT[PSUB];
- LLFAM: # AWAITING FAMILY PROMPT #
- PTIND = PTA$FAMIND[PT];
- IF (PTIND EQ MNDATRY$ OR PTIND EQ PRIMARY$) AND
- (PTA$USRIND[PT] EQ MNDATRY$ OR PTA$USRIND[PT] EQ PRIMARY$)
- THEN # PRIMARY/MANDATORY FAMILY AND USER, #
- BEGIN # PROCEED TO VALIDATE USER #
- NVFTPVR(PT); # PREPARE VALIDATE USER REQUEST #
- RETURN; # EXIT #
- END
- IF PTIND EQ MNDATRY$ OR
- PTIND EQ PRIMARY$
- THEN # PRIMARY/MANDATORY FAMILY ONLY #
- BEGIN
- PTA$PROMPT[PT] = AWTUSR$; # CHANGE TO ISSUE USER PROMPT #
- END
- GOTO ENDPRMT; # ISSUE APPROPRIATE PROMPT #
- LLUSER: # AWAITING USER PROMPT #
- IF PTA$USRIND[PT] EQ MNDATRY$ OR
- PTA$USRIND[PT] EQ PRIMARY$
- THEN # PRIMARY/MANDATORY USER, #
- BEGIN # PROCEED TO VALIDATE USER #
- NVFTPVR(PT); # PREPARE VALIDATE USER REQUEST #
- RETURN; # EXIT #
- END
- GOTO ENDPRMT; # ISSUE APPROPRIATE PROMPT #
- LLPWRD: # AWAITING PASSWORD PROMPT #
- PTIND = PTA$USRIND[PT];
- IF (PTIND EQ MNDATRY$)
- OR ((PTIND EQ DEFAULT$) AND (PTA$VLTUSR[PT] EQ NULL$))
- THEN # MANDATORY/DEFAULT USER SPECIFIED IN THE #
- BEGIN # LCF, BUT USER ENTERED IN ABBRE FORMAT #
- NVFTPVR(PT); # PREPARE VALIDATE USER REQUEST #
- RETURN; # EXIT #
- END
- GOTO ENDPRMT; # ISSUE APPROPRIATE PROMPT #
- LLAPPL: # AWAITING APPLICATION PROMPT #
- PTIND = PTA$APPIND[PT];
- IF (PTIND EQ MNDATRY$) OR (PTIND EQ PRIMARY$)
- THEN # MANDATORY/PRIMARY APPLICATION #
- BEGIN
- IF PTIND EQ PRIMARY$
- THEN # PRIMARY APPLICATION SPECIFIED #
- BEGIN # CHANGE TYPE TO DEFAULT SO #
- PTA$APPIND[PT] = DEFAULT$; # THAT SUBSEQUENT ATTEMPTS #
- END # WILL SOLICITE APPL PROMPT #
- PTA$STATE[PT] = PTACST"AWTVAA"; # SET TO AWAIT APPL ACCESS #
- RETURN; # EXIT #
- END
- GOTO ENDPRMT; # ISSUE APPROPRIATE PROMPT #
- LLPRID:
- ENDPRMT: # COMMON END PROCESSING #
- PTPRMT = PTA$PROMPT[PT];
- ABHWORD[1] = 0;
- LNGTH = LMSG20$; # PRESET LENGTH OF PROMPT #
- IF PTPRMT NQ AWTPWD$
- THEN # FAMILY/USER/APPL PROMPT #
- BEGIN
- IF PTPRMT EQ AWTFAM$
- THEN # FAMILY PROMPT #
- BEGIN
- P<BPGEN> = LOC(FAMBUF[0]);
- END
- ELSE
- BEGIN
- IF PTPRMT EQ AWTUSR$
- THEN # USER PROMPT #
- BEGIN
- P<BPGEN> = LOC(USRBUF[0]);
- END
- ELSE # APPLICATION PROMPT #
- BEGIN
- IF PTPRMT EQ AWTPID$
- THEN
- BEGIN
- P<BPGEN> = LOC(PIDBUF[0]);
- END
- ELSE
- BEGIN
- APP$TNAME = PTA$TN[PT];
- P<BPGEN> = LOC(APPBUF[0]);
- LNGTH = LMSG30$;
- END
- END
- END
- END
- ELSE # PASSWORD PROMPT #
- BEGIN
- P<BPGEN> = LOC(PWRDBLK[0]);
- PTTC = PTA$TC[PT];
- IF (PTTC EQ TCM33$ OR PTTC EQ TC2741$ OR PTTC EQ TCT4014$)
- THEN # PASSWORD BLANKING REQUIRED #
- BEGIN
- LNGTH = LMSG90$;
- END
- ABHCAN[1] = 1; # SET NON-ECHOED FLAG #
- END
- #
- * SEND PROMPT AND START NVF'S 2 MINUTE TIMER RUNNING.
- #
- WCB$WORD[1] = LNGTH / 10 + 2;
- ABHABT[1] = APPPTX$;
- ABHADR[1] = PTA$ACN[PT];
- ABHACT[1] = CT6DISPLAY;
- ABHTLC[1] = LNGTH;
- IF PTPRMT GQ AWTPWD$ # IF PASSWORD HAS NOT BEEN RECIEVED, #
- THEN # KEEP CURSOR STAY ON THE SAME LINE IN #
- BEGIN # ORDER TO FACILITATE THE OVERMASKING #
- ABHNCP[1] = 1; # OF THE LINE WITH THE PASSWORD. #
- END
- SSTAQE(P<CTQ>,WCBUF[1],ABH[1],BPGEN[0]); # PROMPT TO QUEUE #
- TRB$ACN = PTA$ACN[PT]; # APPLICATION CONNECTION NUMBER #
- TRB$QNUM = LOC(P<TAINPQ>); # RETURN TIMR EXP MSG TO TAINPQ #
- SSCATR(TRBBUF[0]); # ISSUE TIMER REQUEST #
- PTA$CNUM[PT] = TRB$CNUM[0]; # SAVE CANCELLATION NUMBER #
- PTA$STATE[PT] = PTACST"AWTRSP"; # SET TERM STATE TO AWAIT RSP #
- END # END NVFTILP #
- TERM
1)
PT
cdc/nos2.source/nam5871/nvftilp.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator