User Tools

Site Tools


cdc:nos2.source:nam5871:nvfisue

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
  1. *DECK NVFISUE
  2. USETEXT TEXTNVF
  3. USETEXT TXTAPSS
  4. PROC NVFISUE;
  5. # TITLE NVFISUE - SET USER ENVIRONMENT. #
  6.  
  7. BEGIN # NVFISUE #
  8. #
  9. *** NVFISUE - SET USER ENVIRONMENT.
  10. *
  11. * D. G. DEPEW. 82/01/11.
  12. *
  13. * NVFISUE ESTABLISHES THE OPERATING ENVIRONMENT USED BY NVF TO
  14. * CONDUCT DIALOG WITH TERMINAL USERS CONNECTED TO NVF. THAT IS,
  15. * THE HALF-DUPLEX AND TRUNCATE UPLINE DATA MODES ARE SET AND
  16. * CERTAIN USER MESSAGES ARE PREFORMATTED FOR NETWORK OUTPUT.
  17. *
  18. * PROC NVFISUE
  19. *
  20. * ENTRY NONE.
  21. *
  22. * EXIT 1. A LST/HDX SM SPECIFYING THAT ALL CONNECTIONS WILL
  23. * OPERATE IN HALF-DUPLEX MODE HAS BEEN PLACED IN THE
  24. * OUTGOING TRAFFIC QUEUE.
  25. * 2. A DC/TRU SM SPECIFYING THAT OVERSIZED BLOCKS WILL BE
  26. * TRUNCATED ON ALL CONNECTIONS HAS BEEN PLACED IN THE
  27. * OUTGOING TRAFFIC QUEUE.
  28. * 3. A LOCAL COPY OF THE SYSTEM SYSTEM HEADER LINE FROM CMR
  29. * HAS BEEN STORED (COMMON BLOCK/DECK *TMSGNVF*),
  30. * APPROPRIATELY FORMATTED FOR OUTPUTTING TO AN IVT.
  31. * 4. THE CORRECT DISPLAY CODE FOR A COLON, ACCORDING TO THE
  32. * CHARACTER SET OF THE RUNNING SYSTEM, HAS BEEN STORED
  33. * IN THE CORRECT CHARACTER POSITIONS OF ALL USER PROMPT
  34. * MESSAGES (I.E., FAMILY, USER NAME, PASSWORD AND
  35. * APPLICATION PROMPTS).
  36. #
  37.  
  38.  
  39.  
  40.  
  41. #
  42. **** PROC NVFISUE - XREF LIST.
  43. #
  44. XREF
  45. BEGIN
  46. PROC SSBEBF; # EXTRACT BITFIELD #
  47. PROC SSBSBF; # STORE BITFIELD #
  48. PROC SSTAQE; # ACCEPT QUEUE ENTRY #
  49. FUNC XSFW; # SPACE FILL WORD (MACREL) #
  50. PROC VERSION; # GET SYSTEM TITLE AND VERSION (MACREL) #
  51. END
  52. #
  53. ****
  54. #
  55.  
  56.  
  57. *CALL TMSGNVF
  58.  
  59.  
  60. DEF CSLOC$ #O"67"#; # ADDR OF CHAR SET FLAG IN JOB COMM AREA #
  61. DEF REPLACE$ (PROMPT, WP, BP)
  62. #STOREWD = WP;
  63.   STOREBP = BP;
  64.   SSBSBF (PROMPT, STOREWD, STOREBP, 6, COLON)#;
  65.  
  66.  
  67. ITEM I; # LOOP INDUCTION VARIABLE #
  68. ITEM COLON; # COLON CHAR AND TEMP STORAGE #
  69. ITEM FETCHWD I = 1; # SYSTEM HEADER STARTING FETCH WORD #
  70. ITEM FETCHBP I = 0; # SYSTEM HEADER STARTING FETCH BIT POS #
  71. ITEM STOREWD I = 0; # SYSTEM HEADER STARTING STORE WORD #
  72. ITEM STOREBP I = 6; # SYSTEM HEADER STARTING STORE BIT POS #
  73.  
  74.  
  75. BASED ARRAY CHARSET [00:00] S(1);
  76. ITEM CS$64 B(00,00,01); # CHARACTER SET FLAG #
  77.  
  78.  
  79. #
  80. * PARAMETER WORD FOR NOS VERSION MACRO.
  81. #
  82. ARRAY VERPAR [00:00] S(1);
  83. BEGIN
  84. ITEM VP$FORM2 B(00,00,01) = [TRUE];
  85. ITEM VP$BC U(00,01,11) = [30]; # 30 BYTES = 6 WORDS #
  86. ITEM VP$SBBP U(00,12,30) = [0]; # SOURCE/REC BYTE POS #
  87. ITEM VP$WADDR U(00,42,18); # RECEIVING ARRAY ADR #
  88. END
  89.  
  90.  
  91.  
  92.  
  93.  
  94. CONTROL FASTLOOP;
  95.  
  96. #
  97. * WE BEGIN BY FETCHING (FROM CMR) AND REFORMATTING THE SYSTEM
  98. * HEADER LINE. THE LINE IS SIX WORDS LONG AND (AS FORMATTED IN
  99. * CMR) CONTAINS IMBEDDED BINARY ZERO CHARACTERS. THE LINE MUST BE
  100. * PREFIXED WITH A NULL (BLANK) FORMAT EFFECTOR AND SUFFIXED WITH A
  101. * UNIT SEPARATOR (ZERO BYTE). ALSO, THE IMBEDDED BINARY ZERO
  102. * CHARACTERS MUST BE CONVERTED TO BLANKS.
  103. #
  104. VP$WADDR[0] = LOC (SYSHDR[1]); # SET ADDR TO RECEIVE HDR #
  105. VERSION (VERPAR[0]); # GET SYSTEM HEADER LINE #
  106. SYS$FE[0] = " ";
  107. FOR I=1 STEP 1 UNTIL 6
  108. DO # RT SHIFT ONE CHAR AND BLANK FILL ZEROES #
  109. BEGIN
  110. SSBEBF (SYSHDR[0], FETCHWD, FETCHBP, 60, COLON);
  111. COLON = XSFW (COLON);
  112. SSBSBF (SYSHDR[0], STOREWD, STOREBP, 60, COLON);
  113. END
  114. SYS$ZB[6] = 0;
  115.  
  116.  
  117. #
  118. * NOW REPLACE THE DOLLAR SIGNS WITH COLONS IN THE FIVE USER PROMPTS.
  119. * THE CHARACTER SET FLAG IS IN THE SIGN BIT POSITION OF LOCATION
  120. * 67B OF THE JOBS FIELD LENGTH. SINCE THERE ARE ONLY FIVE
  121. * CHARACTER POSITIONS TO BE STORED, A RATHER SIMPLE TECHNIQUE HAS
  122. * BEEN CHOSEN - THE CHARACTER POSITIONS HAVE BEEN HARD CODED, IN
  123. * COMDECK *TMSGNVF*, AND ARE SIMPLY STORED VIA PROC *SSBSBF*. A
  124. * PARAMETERIZED DEF HAS BEEN DEFINED TO SAVE CODING.
  125. #
  126. P<CHARSET> = CSLOC$;
  127. IF CS$64[0]
  128. THEN # 64 CHARACTER SET #
  129. COLON = 0;
  130. ELSE # 63 CHARACTER SET #
  131. COLON = O"63";
  132.  
  133. REPLACE$ (APPBUF[0], APPWP$, APPBP$); # APPLICATION: #
  134. REPLACE$ (FAMBUF[0], FAMWP$, FAMBP$); # FAMILY: #
  135. REPLACE$ (PIDBUF[0], PIDWP$, PIDBP$); # PERSONAL ID: #
  136. REPLACE$ (PWRDBLK[0], PASWP$, PASBP$); # PASSWORD: #
  137. REPLACE$ (USRBUF[0], USRWP$, USRBP$); # USER NAME: #
  138.  
  139.  
  140. #
  141. * FINALLY, ISSUE THE LST/HDX AND DC/TRU SUPERVISORY MESSAGES. THE
  142. * MESSAGES CAN HAVE IDENTICAL ABH'S. SET UP ABH FIRST, THEN SM
  143. * BODIES, THEN ISSUE MESSAGES.
  144. #
  145. ABHWORD[1] = 0; # SET UP ABH WORD #
  146. ABHABT[1] = APPCMD;
  147. ABHACT[1] = CT60TRANS;
  148. ABHTLC[1] = 1;
  149.  
  150. SPMSG0[1] = 0; # SET UP AND ISSUE DC/TRU SM #
  151. PFCSFC[1] = DCTRU;
  152. SSTAQE (P<OTQ>, 3, ABH[1], APSM[1]);
  153.  
  154. PFCSFC[1] = LSTHDX; # SET UP AND ISSUE LST/HDX SM #
  155. LSTDIS[1] = TRUE; # INPUT INITIALLY DISABLED FOR ALL ACN'S #
  156. SSTAQE (P<OTQ>, 3, ABH[1], APSM[1]);
  157.  
  158.  
  159. END # NVFISUE #
  160.  
  161. TERM
cdc/nos2.source/nam5871/nvfisue.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator