cdc:nos2.source:nam5871:nvfiast
Table of Contents
NVFIAST
Table Of Contents
- [00007] PROC NVFIAST
- [00012] INITIALIZES THE AST.
- [00040] PROC APPLS
- [00041] PROC MESSAGE
- [00042] PROC NVFIIAP
- [00043] PROC READ
- [00044] PROC READW
- [00045] PROC REWIND
- [00046] PROC SKIPB
- [00047] PROC SKIPEI
- [00048] PROC SSTAQE
- [00049] PROC SSTATS
- [00050] PROC SSTETS
Source Code
- NVFIAST.txt
- *DECK NVFIAST
- USETEXT TEXTNVF
- USETEXT TEXTSS
- USETEXT TXTAPSS
- USETEXT TXVCBNV
- PROC NVFIAST;
- #TITLE NVFIAST - INITIALIZES THE APPLICATION-STATUS-TABLE (AST). #
- BEGIN # NVFIAST #
- #
- ** NVFIAST - INITIALIZES THE AST.
- *
- * A. LIM. 82/01/12
- * C. BRION 83/04/23. 83/05/19.
- *
- * THIS ROUTINE IS PART OF THE INITIALIZATION PROCESS FOR NVF.
- * ITS JOB IS TO INITIALIZE THE APPLICATION-STATUS-TABLE (AST).
- *
- * PROC NVFIAST
- *
- * ENTRY NONE.
- *
- * EXIT AST IS INITIALIZED.
- *
- * METHOD READ THE NOS VALIDATION COMMON DECK - COMTNAP, AND
- * TRANSFER THAT PART OF INFORMATION TO AST. THEN BUILD
- * THE VALID APPLICATION MASK FROM THE APPLICATIONS IN AST.
- * READ THE LOCAL-CONFIGURATION FILE - LCF, AND TRANSFER
- * THAT PART OF INFORMATION TO AST.
- * SAVE THE LCF VERSION IN COMMON BLOCK *LCFVRSN* DEFINED
- * IN *TEXTNVF*.
- #
- #
- **** PROC NVFIAST XREF LIST
- #
- XREF
- BEGIN
- PROC APPLS; # COMPASS INTERFACE ROUTINE TO GET COMTNAP#
- PROC MESSAGE; # MACREL - SEND MESSAGE #
- PROC NVFIIAP; # INITIALIZATION ABORT PROCEDURE #
- PROC READ; # MACREL - READ FILE TO CIO BUFFER #
- PROC READW; # MACREL - TRANSFER DATA TO WORKING BUFFER#
- PROC REWIND; # MACREL - REWIND FILE #
- PROC SKIPB; # MACREL - SKIP RECORDS BACKWARD #
- PROC SKIPEI; # MACREL - SKIP TO EOR #
- PROC SSTAQE; # SS - ACCEPT A QUEUE ENTRY #
- PROC SSTATS; # ALLOCATE TABLE SPACE #
- PROC SSTETS; # SS - ENLARGE TABLE SPACE #
- END
- #
- ****
- #
- *CALL NAMLEV
- # DEFS #
- DEF APESIZ$ # 1 #; # APPL ENTRY SIZE #
- DEF LCFETSIZ$ # 5 #; # LCF FET SIZE #
- DEF LCFPTSIZ$ # 17 #; # LCF PREFIX TBL + 2 WORDS #
- DEF TRNS$OK # 0 #; # STATUS RETURNED WHEN READ IS O.K. #
- DEF XTRAPPLS$ # 5 #; # NUMBER OF APPLS NOT IN COMTNAP (NS, ETC)#
- DEF NVFLEVL$ # 5 #; # LENGTH OF NVF LEVEL MSG #
- DEF LCFBDTL$ # 6 #; # LENGTH OF LCF BUILD DATE, TIME MSG #
- DEF LCFTITL$ # 9 #; # LENGTH OF LCF TITLE MSG #
- # ITEMS #
- ITEM CMTNAP U; # APPLS RETURN PARM- COMTNAP ADDR #
- ITEM ENDPROCG B = FALSE; # END PROCESSING LCF RECORDS #
- ITEM I,II U; # AST INDEX #
- ITEM J U; # INDUCTION VARIABLE #
- ITEM K U; # DUMMY INDUCTION VARIABLE #
- ITEM LAST$RCNAM C(7); # NAME OF THE LAST LCF-RECORD PROCESSED #
- ITEM MATCH B; # LOOP EXIT INDICATOR #
- ITEM NAPPLS U; # APPLS RETURN PARM- NO OF APPLS #
- ITEM NENTRY U; # NUMBER OF ENTRIES IN THE AST #
- ITEM STATS I; # READW RETURN PARM- STATUS #
- ITEM TAPENTRY U; # TOTAL NO OF ENTRIES IN APPL RECD #
- ITEM TOTAPPLS U; # TOTAL NO OF APPLS IN AST #
- #
- * LCFFET - LCF FET.
- *
- * THIS THE FET FOR LCF. IT IS DEFINED LOCALLY HERE SIMPLY BECAUSE
- * ONLY THIS INITIALIZATION PROC MANIPULATES IT.
- #
- ARRAY LCFFET[00:00] S(LCFETSIZ$);
- BEGIN
- ITEM LCF$WORD U(00,00,60); #FIRST WORD OF FET #
- ITEM LCF$LFN C(00,00,03) = ["LCF"];
- ITEM LCF$ZERO U(00,18,24) = [0];
- ITEM LCF$LNAT U(00,42,08); #COMB LEVEL NR AND ABN TERM CODE#
- ITEM LCF$CODE U(00,50,10); #CIO FUNCTION CODE #
- ITEM LCF$CBIT B(00,59,01) = [TRUE]; # CIO COMPLETE BIT #
- ITEM LCF$L U(01,36,06) =[0]; # FET LEN IN EXCESS OF 5 WRDS#
- ITEM LCF$FIRST U(01,42,18); #FIRST WORD ADDR OF CIO BUFF #
- ITEM LCF$IN U(02,00,60); #NEXT DATA IN POINTER #
- ITEM LCF$OUT U(03,00,60); #NEXT DATA OUT POINTER #
- ITEM LCF$LIMIT U(04,42,18); #LAST WORD ADDR + 1 OF CIO BUF #
- END
- #
- * LCFWSA - LCF WORKING STORAGE AREA.
- *
- * THIS IS THE WORKING STORAGE OF LCF RECORD.
- #
- ARRAY LCFWSA[00:00] S(LCFPTSIZ$);
- BEGIN
- ITEM LFW$RCNAM C(00,00,07); # RECORD NAME #
- ITEM LFW$RCNAM1 C(01,00,07); # RECORD NAME IN LAST RECORD #
- ITEM LFW$ANAM C(00,00,07); # APPL NAME #
- ITEM LFW$MXCOP U(00,42,04); # MAX NUMBER COPIES #
- ITEM LFW$XFERF B(00,53,01); # NETXFER FLAG #
- ITEM LFW$KDSPF B(00,54,01); # K-DISPLAY FLAG #
- ITEM LFW$PRUF B(00,55,01); # PRU INTERFACE FLAG #
- ITEM LFW$RS B(00,56,01); # REQUEST STARTABLE INDICATOR #
- ITEM LFW$PPF B(00,57,01); # PRIVILEGED PROGRAM FLAG #
- ITEM LFW$UIDF B(00,58,01); # UNIQUE IDENTIFER REQUIRED FLAG#
- ITEM LFW$DIF B(00,59,01); # APPL DISABLED FLAG #
- ITEM LFW$RWC U(01,42,18); # RECORD WORD COUNT #
- ITEM LFW$DAT C(02,00,20); # CREATION DATE AND TIME #
- ITEM LFW$DATE C(02,00,10); # CREATION DATE #
- ITEM LFW$TIME C(03,00,10); # CREATION TIME #
- ITEM LFW$TITLE C(08,00,50); # TITLE- TRUNCATED TO 50 CHAR #
- ITEM LFW$VALIDW U(16,00,60); # VALID LCF INDICATOR WORD #
- END
- #
- * REN - RESERVED ENTRY NAME.
- *
- * THIS ARRAY DEFINES THE NAME USED IN COMTNAP FOR ENTRIES THAT
- * ARE RESERVED FOR LATER USE.
- *
- #
- ARRAY REN [00:00] S(1);
- BEGIN
- ITEM REN$ANAM U(00,00,42);
- ITEM REN$AN1 U(00,00,12) = [O"7777"];
- ITEM REN$AN2 U(00,12,30) = [0];
- END
- #
- * TCMTNAP - TEMPLATE FOR COMTNAP.
- *
- * THIS IS A TEMPLATE FOR THE ENTRY IN THE NOS VALIDATION COMMON
- * DECK - COMTNAP. EACH ENTRY REPRESENTS AN APPLICATION, AND THE
- * ENTRY SIZE IS ONE WORD.
- #
- BASED ARRAY TCMTNAP[00:00] S(1);
- BEGIN
- ITEM TCM$ANAM C(00,00,07); # APPLICATION NAME #
- ITEM TCM$ANAMU U(00,00,42); # APPLICATION NAME(UNSIGNED INT)#
- ITEM TCM$AWBP U(00,54,06); # ACCESS-WORD-BIT-POSITION #
- END
- #
- * BNAMLEV - BASED ARRAY FOR NAM LEVEL MESSAGE BUFFER.
- #
- BASED ARRAY BNAMLEV[00:00] S(2);
- BEGIN
- ITEM BNL$VER C(00,54,03);
- ITEM BNL$LEV C(01,30,03);
- END
- #
- * NVFLEV - NVF VERSION AND LEVEL BUFFER.
- #
- ARRAY NVFLEV[00:00] S(NVFLEVL$);
- BEGIN
- ITEM NLV$WORD0 U(00,00,60) = [0];
- ITEM NLV$PSFC U(00,00,16) = [HOPLG];
- ITEM NLV$MSG C(01,00,35) =
- ["NV/ HH.MM.SS. VER VER - LVL."];
- ITEM NLV$TIM C(02,00,10);
- ITEM NLV$VER C(03,30,03);
- ITEM NLV$LVL C(04,06,03);
- ITEM NLV$ZRO U(04,30,30) = [0];
- END
- #
- * LCFBDT - LCF BUILD DATE AND TIME BUFFER.
- #
- ARRAY LCFBDT[00:00] S(LCFBDTL$);
- BEGIN
- ITEM LBT$WORD0 U(00,00,60) = [0];
- ITEM LBT$PSFC U(00,00,16) = [HOPLG];
- ITEM LBT$MSG C(01,00,44) =
- ["NV/ HH.MM.SS. LCF YY/MM/DD, HH.MM.SS."];
- ITEM LBT$TIM C(02,00,10);
- ITEM LBT$DATE C(03,30,08);
- ITEM LBT$TIME C(04,30,08);
- ITEM LBT$ZRO U(05,24,36) = [0];
- END
- #
- * LCFTIT - LCF TITLE BUFFER.
- #
- ARRAY LCFTIT[00:00] S(LCFTITL$);
- BEGIN
- ITEM LTL$WORD0 U(00,00,60) = [0];
- ITEM LTL$PSFC U(00,00,16) = [HOPLG];
- ITEM LTL$MSG C(01,00,21) =
- ["NV/ HH.MM.SS. "];
- ITEM LTL$TIM C(02,00,10);
- ITEM LTL$TITLE C(03,06,50);
- ITEM LTL$ZRO U(08,06,54) = [0];
- END
- #
- * LCFMSG1 AND LCFMSG2 - LCF MESSAGE 1 AND 2 ARRAYS
- *
- * LCFMSG1 AND LCFMSG2 CONTAINS THE FOLLOWING MESSAGES TO BE
- * SENT TO SYSTEM DAYFILE, LOCAL DAYFILE, AND A AND B DISPLAY.
- #
- ARRAY LCFMSG1[00:00] S(2);
- BEGIN
- ITEM L1$MSG C(00,00,09) = [" BAD LCF."];
- ITEM L1$ZERO U(00,54,06) = [0]; # ZERO BYTE TERMINATOR #
- ITEM L1$ZERO1 U(01,00,60) = [0];
- END
- ARRAY LCFMSG2[00:00] S(3);
- BEGIN
- ITEM L2$MSG C(00,00,20) = [" LCF DOES NOT EXIST."];
- ITEM L2$ZERO U(02,00,60) = [0]; # ZERO BYTE TERMINATOR #
- END
- CONTROL EJECT;
- VAPMASK = 0; # PRESET VALIDATION MASK TO 0 #
- APPLS(CMTNAP,NAPPLS); # GET COMTNAP ADDR, AND NO OF APPLS #
- P<TCMTNAP> = CMTNAP; # PLACE TEMPLATE ON THE COMMON DECK #
- TOTAPPLS = NAPPLS + XTRAPPLS$; # GET TOTAL NO. OF APPLS IN AST #
- SSTETS(P<AST>, 0, ASTSIZ$ * TOTAPPLS); # ENLRGE AST & PRESET 0#
- #
- * TRANSFER DATA FROM COMTNAP TO AST.
- * SPECIAL CASE NS, SINCE AT CURRENT LEVEL OF SOFTWARE, NS CANNOT
- * SUPPORT TERMINAL CONNECTION, SO IT WILL NOT BE FOUND IN COMTNAP.
- #
- AST$ANAM[0] = "NS";
- AST$KDSPF[0] = TRUE; # K-DISPLAY ALWAYS SET FOR NS #
- AST$AWBP[0] = NSAWBP$; # SET NS AWBP TO OUT OF RANGE #
- AST$JSN[0] = " "; # SET JSN #
- AST$MXCOP[0] = 1; # SET MAX COPY TO 1 #
- AST$SANAM[0] = "NS"; # SET SEC NAME EQUAL TO PRI NAME#
- #
- * SPECIAL CASE PTF, PTFS, QTF, AND QTFS, AS THEY ARE NOT IN COMTNAP.
- #
- AST$ANAM[1] = "PTF";
- AST$ANAM[2] = "PTFS";
- AST$ANAM[3] = "QTF";
- AST$ANAM[4] = "QTFS";
- FOR I = 1 STEP 1 UNTIL 4
- DO
- BEGIN
- AST$AWBP[I] = NSAWBP$; # SET AWBP TO OUT OF RANGE #
- AST$JSN[I] = " ";
- AST$MXCOP[I] = 1;
- AST$SANAM[I] = AST$PANAM[I];
- END
- NENTRY = 5; # SET ENTRY COUNT TO ONE FOR NS #
- FOR I = 1 STEP 1 UNTIL NAPPLS
- DO
- BEGIN
- IF TCM$ANAMU[I-1] NQ REN$ANAM[0]
- THEN
- BEGIN
- AST$ANAM[NENTRY] = TCM$ANAM[I-1];
- AST$AWBP[NENTRY] = TCM$AWBP[I-1];
- AST$JSN[NENTRY] = " ";
- AST$MXCOP[NENTRY] = 1;
- AST$SANAM[NENTRY] = AST$PANAM[NENTRY];
- IF AST$ANAM[NENTRY] EQ "CS"
- THEN AST$KDSPF[NENTRY] = TRUE;# K-DISPLAY ALWAYS SET FOR CS #
- IF AST$ANAM[NENTRY] EQ "RBF"
- OR AST$ANAM[NENTRY] EQ "PSU"
- THEN
- BEGIN
- AST$PRUF[NENTRY] = TRUE; # PRU FLAG ALWAYS SET FOR RBF #
- END # AND PSU #
- NENTRY = NENTRY + 1; # INCREMENT THE ENTRY COUNT #
- END
- END
- IF NENTRY LS TOTAPPLS
- THEN # IF NOT ALL THE ENTRIES WERE STORED #
- BEGIN # RELEASE UNUSED SPACE #
- SSTATS(P<AST>,(NENTRY-TOTAPPLS)*ASTSIZ$);
- END
- #
- * DETERMINE IF BIT NOT UNIQUE TO APPLICATION. (MORE THAN ONE
- * APPLICATION SHARES THE SAME AWBP). IF BIT NOT UNIQUE, SET BIT
- * IN BOTH THE INITIAL ENTRY AND THE CURRENT ENTRY.
- #
- FOR I = 1 STEP 1 UNTIL NENTRY-1
- DO
- BEGIN
- IF NOT AST$BNUF[I]
- THEN
- BEGIN
- MATCH = FALSE;
- FOR II = I+1 STEP 1 UNTIL NENTRY-1
- DO
- BEGIN
- IF AST$AWBP[II] EQ AST$AWBP[I] AND # ALLOW MANDATORY IAF #
- AST$ANAM[II] NQ "MAIL" AND # APPL THOUGH MAIL IS #
- AST$ANAM[I] NQ "MAIL" # AN EQUIVALENCE ON IT#
- THEN
- BEGIN
- AST$BNUF[II] = TRUE; # SET BIT NOT UNIQ IN CUR APPL #
- MATCH = TRUE;
- END
- END
- IF MATCH
- THEN AST$BNUF[I] = TRUE; # SET BIT NOT UNIQ IN INIT APPL #
- END
- END
- #
- * BUILD VALID APPLICATION MASK
- #
- FOR I = 1 STEP 1 UNTIL NENTRY-1
- DO
- BEGIN
- B<59-AST$AWBP[I],1>VAPMASK = 1;
- END
- #
- * INITIALIZES ADDRESS IN LCF FET.
- * NOTE: VCB CIRCULAR BUFFER IS USED HERE FOR THE SAKE OF
- * CONSERVING MEMORY. THIS HAS NOTHING TO DO WITH VCB FILE.
- #
- LCF$FIRST[0] = LOC(VCBBUFR);
- LCF$IN[0] = LOC(VCBBUFR);
- LCF$OUT[0] = LOC(VCBBUFR);
- LCF$LIMIT[0] = LCF$FIRST[0] + VBBUFLIM$ + 1;
- #
- * READ THE LCF
- #
- SKIPEI(LCFFET); # SKIP TO END OF INFORMATION #
- SKIPB(LCFFET,2); # SKIP BACKWARD 2 RECORDS #
- READ(LCFFET); # READ THIS LAST RECORD TO CIO BUFF #
- READW(LCFFET,LCFWSA,LCFPTSIZ$,STATS); # TRNSFR THE RECD TO WSA #
- IF STATS EQ -2
- THEN
- BEGIN # LCF DOES NOT EXIST #
- MESSAGE(LCFMSG2[0], DFILE$);
- NVFIIAP;
- END
- IF LFW$VALIDW[0] EQ 0
- THEN
- BEGIN # BAD LCF #
- MESSAGE(LCFMSG1[0], DFILE$);
- NVFIIAP;
- END
- #
- * SEND NVF VERSION NUMBER AND THE LCF BUILD DATE AND TIME, AND
- * TITLE TO NAM DAYFILE.
- #
- ABHWORD[0] = 0;
- ABHABT[0] = APPCMD;
- ABHACT[0] = CT60TRANS;
- WCB$WORD[0] = 0;
- P<BNAMLEV> = LOC(NAMLEV); # NVF VERSION AND LVL MSG #
- NLV$TIM[0] = CTM$CLOCK[0];
- NLV$VER[0] = BNL$VER[0];
- NLV$LVL[0] = BNL$LEV[0];
- ABHTLC[0] = NVFLEVL$;
- WCB$WC[0] = NVFLEVL$ + 2;
- SSTAQE(P<OTQ>, WCBUF[0],ABHBUF[0], NVFLEV[0]);
- LBT$TIM[0] = CTM$CLOCK[0]; # LCF BUILD DATE AND TIME MSG #
- LBT$DATE[0] = LFW$DATE[0];
- LBT$TIME[0] = LFW$TIME[0];
- ABHTLC[0] = LCFBDTL$;
- WCB$WC[0] = LCFBDTL$ + 2;
- SSTAQE(P<OTQ>, WCBUF[0], ABHBUF[0], LCFBDT[0]);
- LTL$TIM[0] = CTM$CLOCK[0]; # LCF TITLE MSG #
- LTL$TITLE[0] = LFW$TITLE[0];
- ABHTLC[0] = LCFTITL$;
- WCB$WC[0] = LCFTITL$ + 2;
- SSTAQE(P<OTQ>, WCBUF[0], ABHBUF[0], LCFTIT[0]);
- # SAVE THE LCF CREATION DAY AND TIME IN *LCFVRN* #
- LFV$VRN[0] = "LCF VERSION ";
- LFV$DAT[0] = LFW$DAT[0];
- LFV$ZERO[0] = 0;
- REWIND(LCFFET); # REWIND LCF TO POINT TO BOF #
- READ(LCFFET); # READ FILE HEADER RECORD TO CIO BUFF #
- READW(LCFFET,LCFWSA,LCFPTSIZ$,STATS); # DISCARD THIS RECD #
- #
- * PROCESS THE REST OF RECORDS IN THE LCF.
- #
- LAST$RCNAM = " "; # INITIALIZE LAST RECORD NAME TO BLANK #
- FOR K = 0 WHILE NOT ENDPROCG
- DO
- BEGIN # PROCESSING RECORDS IN LCF #
- READ(LCFFET); # READ NEXT RECORD #
- READW(LCFFET,LCFWSA,2,STATS); # TRNSFR FIRST 2 WORDS TO WSA #
- # WHEN SOME RECORD SIZE IS AN EXACT MULTIPLE OF PRU. THE COMBI-#
- # NATION OF READ AND READW USED IN THIS LOOP MAY NOT ALWAYS #
- # FUNCTION AS EXPECTED. THESE TWO MACROS MAY HAVE COMPLETELY #
- # TRANSFERED A RECORD WITHOUT DISCOVERING THE EOR MARK. IF THIS#
- # HAPPENS, THE READ WILL READ, IN THE NEXT ITERATION, AN EOR #
- # INSTEAD OF THE NEXT RECORD. TO AVOID THIS, WE WILL SAVE THE #
- # RECORD NAM FOR THE CURRENT ITERATION, AND ASSURE THAT WE #
- # PROCESS A NEW RECORD FOR EACH ITERATION. #
- IF LAST$RCNAM EQ LFW$RCNAM[0]
- THEN
- BEGIN
- # THE READ DID NOT READ IN A NEW RECORD, GO BACK DO IT OVER #
- TEST K;
- END
- ELSE
- BEGIN
- LAST$RCNAM = LFW$RCNAM[0]; # SAVE CURRENT RECORD NAME #
- END
- IF LFW$RCNAM[0] EQ "APPL"
- THEN
- BEGIN
- GOTO LLAPPL;
- END
- ELSE IF LFW$RCNAM[0] EQ "USER"
- THEN
- BEGIN
- GOTO LLUSER;
- END
- ELSE IF LFW$RCNAM[0] EQ "OUTCALL"
- THEN
- BEGIN
- GOTO LLOUTCALL;
- END
- ELSE IF LFW$RCNAM[0] EQ "INCALL"
- THEN
- BEGIN
- GOTO LLINCALL;
- END
- ELSE IF LFW$RCNAM[0] EQ "PATHPID"
- THEN
- BEGIN
- GOTO LLPATHPID;
- END
- ELSE IF LFW$RCNAM1[0] EQ "ENDLCF"
- THEN
- BEGIN
- ENDPROCG = TRUE;
- GOTO ENDCASE; # DONT CARE ABOUT LAST RECD #
- END
- ELSE # UNKNOWN RECORD TYPE, ABORT NVF #
- BEGIN
- MESSAGE(LCFMSG1[0], DFILE$);
- NVFIIAP;
- END
- LLAPPL: # RECORD TYPE = APPLICATION #
- TAPENTRY = LFW$RWC[0] - 1; # TOTAL NO OF APPL ENTRY #
- IF TAPENTRY EQ 0
- THEN GOTO ENDCASE; # EMPTY APPL RECORD #
- FOR J = 0 STEP 1 UNTIL TAPENTRY - 1
- DO # LOOP UNTIL APPL RECORD EXHAUSTED #
- BEGIN
- READW(LCFFET,LCFWSA,APESIZ$,STATS); # TRNSFR ENTRY TO WSA #
- MATCH = FALSE;
- FOR I = 0 STEP 1 WHILE I LS NENTRY AND NOT MATCH
- DO # SEARCH AST FOR APPL #
- BEGIN
- IF LFW$ANAM[0] EQ AST$ANAM[I]
- THEN
- BEGIN
- AST$XFERF[I] = LFW$XFERF[0];
- AST$KDSPF[I] = LFW$KDSPF[0];
- AST$UIDF[I] = LFW$UIDF[0];
- AST$DIF[I] = LFW$DIF[0];
- AST$PPF[I] = LFW$PPF[0];
- AST$RS[I] = LFW$RS[0];
- AST$MXCOP[I] = LFW$MXCOP[0];
- IF AST$MXCOP[I] EQ 0 # 2.2 LCF HAS MXCOP = 0 #
- THEN
- BEGIN
- AST$MXCOP[I] = 1; # CHANGE MXCOP TO 1 #
- END
- AST$USANAM[I] = AST$UPANAM[I];
- IF AST$ANAM[I] NQ "RBF" # DO NOT SET PRU FLAG FOR #
- THEN # RBF - IT IS ALREADY SET #
- BEGIN
- AST$PRUF[I] = LFW$PRUF[0];
- END
- MATCH = TRUE;
- END
- END
- END
- TEST K;
- LLUSER: # RECORD TYPE = USER #
- #
- * ALLOCATE TABLE SPACE TO THE AUTO LOGIN TABLE. FOR EACH ENTRY IN
- * THE USER RECORD, ENTER IT INTO THE ALT UNTIL AN END OF RECORD IS
- * DETECTED.
- #
- SSTATS(P<ALTB>,LFW$RWC[0]-1);
- FOR J=0 STEP 1 WHILE STATS EQ TRNS$OK
- DO
- BEGIN
- READW(LCFFET,ALTB[J],ALTSIZ$,STATS);
- END
- TEST K;
- LLOUTCALL: # RECORD TYPE = OUTCALL #
- SSTATS(P<OUTSMQ>,LFW$RWC[0] - 1);
- READW(LCFFET,OUTSMQ,OUTSMQL,STATS);
- TEST K;
- LLINCALL: # RECORD TYPE = INCALL #
- SSTATS(P<INSMQ>,LFW$RWC[0] - 1);
- READW(LCFFET,INSMQ,INSMQL,STATS);
- TEST K;
- LLPATHPID:
- SSTATS(P<LLPID>,LFW$RWC[0] - 1);
- READW(LCFFET,LLPID,LLPIDL,STATS);
- TEST K;
- ENDCASE:
- END # PROCESS RECORDS IN LCF #
- END # NVFIAST #
- TERM
cdc/nos2.source/nam5871/nvfiast.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator