cdc:nos2.source:nam5871:nvfisue
Table of Contents
NVFISUE
Table Of Contents
- [00004] PROC NVFISUE
- [00005] NVFISUE - SET USER ENVIRONMENT.
- [00009] SET USER ENVIRONMENT.
- [00046] PROC SSBEBF
- [00047] PROC SSBSBF
- [00048] PROC SSTAQE
- [00049] FUNC XSFW
- [00050] PROC VERSION
Source Code
- NVFISUE.txt
- *DECK NVFISUE
- USETEXT TEXTNVF
- USETEXT TXTAPSS
- PROC NVFISUE;
- # TITLE NVFISUE - SET USER ENVIRONMENT. #
- BEGIN # NVFISUE #
- #
- *** NVFISUE - SET USER ENVIRONMENT.
- *
- * D. G. DEPEW. 82/01/11.
- *
- * NVFISUE ESTABLISHES THE OPERATING ENVIRONMENT USED BY NVF TO
- * CONDUCT DIALOG WITH TERMINAL USERS CONNECTED TO NVF. THAT IS,
- * THE HALF-DUPLEX AND TRUNCATE UPLINE DATA MODES ARE SET AND
- * CERTAIN USER MESSAGES ARE PREFORMATTED FOR NETWORK OUTPUT.
- *
- * PROC NVFISUE
- *
- * ENTRY NONE.
- *
- * EXIT 1. A LST/HDX SM SPECIFYING THAT ALL CONNECTIONS WILL
- * OPERATE IN HALF-DUPLEX MODE HAS BEEN PLACED IN THE
- * OUTGOING TRAFFIC QUEUE.
- * 2. A DC/TRU SM SPECIFYING THAT OVERSIZED BLOCKS WILL BE
- * TRUNCATED ON ALL CONNECTIONS HAS BEEN PLACED IN THE
- * OUTGOING TRAFFIC QUEUE.
- * 3. A LOCAL COPY OF THE SYSTEM SYSTEM HEADER LINE FROM CMR
- * HAS BEEN STORED (COMMON BLOCK/DECK *TMSGNVF*),
- * APPROPRIATELY FORMATTED FOR OUTPUTTING TO AN IVT.
- * 4. THE CORRECT DISPLAY CODE FOR A COLON, ACCORDING TO THE
- * CHARACTER SET OF THE RUNNING SYSTEM, HAS BEEN STORED
- * IN THE CORRECT CHARACTER POSITIONS OF ALL USER PROMPT
- * MESSAGES (I.E., FAMILY, USER NAME, PASSWORD AND
- * APPLICATION PROMPTS).
- #
- #
- **** PROC NVFISUE - XREF LIST.
- #
- XREF
- BEGIN
- PROC SSBEBF; # EXTRACT BITFIELD #
- PROC SSBSBF; # STORE BITFIELD #
- PROC SSTAQE; # ACCEPT QUEUE ENTRY #
- FUNC XSFW; # SPACE FILL WORD (MACREL) #
- PROC VERSION; # GET SYSTEM TITLE AND VERSION (MACREL) #
- END
- #
- ****
- #
- *CALL TMSGNVF
- DEF CSLOC$ #O"67"#; # ADDR OF CHAR SET FLAG IN JOB COMM AREA #
- DEF REPLACE$ (PROMPT, WP, BP)
- #STOREWD = WP;
- STOREBP = BP;
- SSBSBF (PROMPT, STOREWD, STOREBP, 6, COLON)#;
- ITEM I; # LOOP INDUCTION VARIABLE #
- ITEM COLON; # COLON CHAR AND TEMP STORAGE #
- ITEM FETCHWD I = 1; # SYSTEM HEADER STARTING FETCH WORD #
- ITEM FETCHBP I = 0; # SYSTEM HEADER STARTING FETCH BIT POS #
- ITEM STOREWD I = 0; # SYSTEM HEADER STARTING STORE WORD #
- ITEM STOREBP I = 6; # SYSTEM HEADER STARTING STORE BIT POS #
- BASED ARRAY CHARSET [00:00] S(1);
- ITEM CS$64 B(00,00,01); # CHARACTER SET FLAG #
- #
- * PARAMETER WORD FOR NOS VERSION MACRO.
- #
- ARRAY VERPAR [00:00] S(1);
- BEGIN
- ITEM VP$FORM2 B(00,00,01) = [TRUE];
- ITEM VP$BC U(00,01,11) = [30]; # 30 BYTES = 6 WORDS #
- ITEM VP$SBBP U(00,12,30) = [0]; # SOURCE/REC BYTE POS #
- ITEM VP$WADDR U(00,42,18); # RECEIVING ARRAY ADR #
- END
- CONTROL FASTLOOP;
- #
- * WE BEGIN BY FETCHING (FROM CMR) AND REFORMATTING THE SYSTEM
- * HEADER LINE. THE LINE IS SIX WORDS LONG AND (AS FORMATTED IN
- * CMR) CONTAINS IMBEDDED BINARY ZERO CHARACTERS. THE LINE MUST BE
- * PREFIXED WITH A NULL (BLANK) FORMAT EFFECTOR AND SUFFIXED WITH A
- * UNIT SEPARATOR (ZERO BYTE). ALSO, THE IMBEDDED BINARY ZERO
- * CHARACTERS MUST BE CONVERTED TO BLANKS.
- #
- VP$WADDR[0] = LOC (SYSHDR[1]); # SET ADDR TO RECEIVE HDR #
- VERSION (VERPAR[0]); # GET SYSTEM HEADER LINE #
- SYS$FE[0] = " ";
- FOR I=1 STEP 1 UNTIL 6
- DO # RT SHIFT ONE CHAR AND BLANK FILL ZEROES #
- BEGIN
- SSBEBF (SYSHDR[0], FETCHWD, FETCHBP, 60, COLON);
- COLON = XSFW (COLON);
- SSBSBF (SYSHDR[0], STOREWD, STOREBP, 60, COLON);
- END
- SYS$ZB[6] = 0;
- #
- * NOW REPLACE THE DOLLAR SIGNS WITH COLONS IN THE FIVE USER PROMPTS.
- * THE CHARACTER SET FLAG IS IN THE SIGN BIT POSITION OF LOCATION
- * 67B OF THE JOBS FIELD LENGTH. SINCE THERE ARE ONLY FIVE
- * CHARACTER POSITIONS TO BE STORED, A RATHER SIMPLE TECHNIQUE HAS
- * BEEN CHOSEN - THE CHARACTER POSITIONS HAVE BEEN HARD CODED, IN
- * COMDECK *TMSGNVF*, AND ARE SIMPLY STORED VIA PROC *SSBSBF*. A
- * PARAMETERIZED DEF HAS BEEN DEFINED TO SAVE CODING.
- #
- P<CHARSET> = CSLOC$;
- IF CS$64[0]
- THEN # 64 CHARACTER SET #
- COLON = 0;
- ELSE # 63 CHARACTER SET #
- COLON = O"63";
- REPLACE$ (APPBUF[0], APPWP$, APPBP$); # APPLICATION: #
- REPLACE$ (FAMBUF[0], FAMWP$, FAMBP$); # FAMILY: #
- REPLACE$ (PIDBUF[0], PIDWP$, PIDBP$); # PERSONAL ID: #
- REPLACE$ (PWRDBLK[0], PASWP$, PASBP$); # PASSWORD: #
- REPLACE$ (USRBUF[0], USRWP$, USRBP$); # USER NAME: #
- #
- * FINALLY, ISSUE THE LST/HDX AND DC/TRU SUPERVISORY MESSAGES. THE
- * MESSAGES CAN HAVE IDENTICAL ABH'S. SET UP ABH FIRST, THEN SM
- * BODIES, THEN ISSUE MESSAGES.
- #
- ABHWORD[1] = 0; # SET UP ABH WORD #
- ABHABT[1] = APPCMD;
- ABHACT[1] = CT60TRANS;
- ABHTLC[1] = 1;
- SPMSG0[1] = 0; # SET UP AND ISSUE DC/TRU SM #
- PFCSFC[1] = DCTRU;
- SSTAQE (P<OTQ>, 3, ABH[1], APSM[1]);
- PFCSFC[1] = LSTHDX; # SET UP AND ISSUE LST/HDX SM #
- LSTDIS[1] = TRUE; # INPUT INITIALLY DISABLED FOR ALL ACN'S #
- SSTAQE (P<OTQ>, 3, ABH[1], APSM[1]);
- END # NVFISUE #
- TERM
cdc/nos2.source/nam5871/nvfisue.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator