Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/utilities/sethos.list
There is 1 other file named sethos.list in the archive. Click here to see a list.
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 1
SETHOS MAC 4-Jan-82 08:34
1 ; UPD ID= 63, SNARK:<5.UTILITIES>SETHOS.MAC.15, 4-Jan-82 08:34:44 by GRANT
2 ;TCO - 5.1648 - When user types panic character, check for actual connection
3 ; UPD ID= 44, SNARK:<5.UTILITIES>SETHOS.MAC.14, 1-Oct-81 14:26:39 by GRANT
4 ;TCO 5.1553 - output remote system type when we don't support the protocol
5 ; UPD ID= 31, SNARK:<5.UTILITIES>SETHOS.MAC.13, 15-Sep-81 11:33:07 by GRANT
6 ;TCO 5.1509 - Enhance error message when remote system rejects connection
7 ; UPD ID= 9, SNARK:<5.UTILITIES>SETHOS.MAC.12, 24-Jul-81 07:10:07 by GRANT
8 ;Save destination node name so it can be printed out when reconnecting occurs
9 ; UPD ID= 6, SNARK:<5.UTILITIES>SETHOS.MAC.11, 17-Jul-81 16:54:37 by GRANT
10 ;Fix bug in parsing the input string of nodes - bug caused wrong message to
11 ;be sent to PSTHRU
12 ; UPD ID= 2, SNARK:<5.UTILITIES>SETHOS.MAC.10, 9-Jul-81 18:00:57 by GRANT
13 ;Add version number, fix copyright
14 ;Print out disconnect reason when ESC character is seen
15 ; UPD ID= 2300, SNARK:<5.UTILITIES>SETHOS.MAC.9, 6-Jul-81 15:32:15 by MURPHY
16 ;SAVE ONE PAGE WORTH OF TTY OUTPUT IF NOT .MOSNH
17 ;Don't create fork when not needed.
18 ;Switch for PTY/.MOSNH
19 ; UPD ID= 2200, SNARK:<5.UTILITIES>SETHOS.MAC.8, 15-Jun-81 14:19:40 by GRANT
20 ;CLOSF instead of RLJFN when " ? Remote node not responding "
21 ; UPD ID= 2079, SNARK:<5.UTILITIES>SETHOS.MAC.7, 25-May-81 22:59:33 by GRANT
22 ;check to see if link is really still there before saying "type continue to
23 ;resume connection"
24 ; UPD ID= 2034, SNARK:<5.UTILITIES>SETHOS.MAC.6, 19-May-81 15:00:45 by GRANT
25 ;Force the input string to be syntactically correct before trying to open a link
26 ; UPD ID= 1912, SNARK:<5.UTILITIES>SETHOS.MAC.5, 30-Apr-81 16:48:38 by GRANT
27 ;Don't automatically reprompt when GTJFN or OPENF fail in DOJFN
28 ; UPD ID= 1911, SNARK:<5.UTILITIES>SETHOS.MAC.4, 30-Apr-81 16:29:45 by GRANT
29 ;Use .TICCZ instead of .TICTI in ESCHAR
30 ; UPD ID= 1710, SNARK:<5.UTILITIES>SETHOS.MAC.3, 16-Mar-81 11:51:32 by GRANT
31 ;Don't say "[TYPE ^Y, etc.]" until connection has been established
32 ;Don't say "Reason n" when reporting the disconnect reeason
33 ;Time out the attempted connection
34 ;Don't say "Connection broken" when there really wasn't a connection
35 ;If received configuration message doesn't support TOPS-20, say so
36 ; UPD ID= 1646, SNARK:<5.UTILITIES>SETHOS.MAC.2, 4-Mar-81 12:14:55 by GRANT
37 ;MAKE "SETHOST NODE::" CONNECT TO OBJECT 23 INSTEAD OF 123
38 ;<MURPHY.MON>SETHOS.MAC.8, 20-Jan-81 16:07:11, EDIT BY MURPHY
39 ;SH%LPM to prevent sending XON, XOFF
40 ;<MURPHY.MON>SETHOS.MAC.7, 21-Nov-80 17:36:15, EDIT BY MURPHY
41 ;<MURPHY.MON>SETHOS.MAC.4, 10-Oct-80 13:47:05, EDIT BY MURPHY
42 ;<MURPHY.MON>SETHOST.MAC.2, 20-Aug-80 14:54:44, EDIT BY MURPHY
43 ;USE .MOSNH FUNCTION TO MAKE MONITOR DO THE WORK
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 2
SETHOS MAC 4-Jan-82 08:34
44
45 TITLE SETHOS - Program to permit logins to remote network host
46
47
48
49
50 ;COPYRIGHT (C) 1981 BY
51 ;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
52 ;
53 ;
54 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
55 ;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
56 ;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
57 ;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
58 ;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
59 ;TRANSFERRED.
60 ;
61 ;
62 ;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
63 ;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
64 ;CORPORATION.
65 ;
66 ;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
67 ;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
68
69
70 SALL ; Keep listing uncluttered, no macro expansion
71 SEARCH MONSYM,MACSYM,CMD ; Universals to search
72 .REQUIRE SYS:MACREL,SYS:CMD ; Make LINK load these automatically
73
74 ; This program will allow a user to login in to a remote system in a
75 ; DECnet network from a TOPS-20 host system. It demonstrates use of the
76 ; TOPS-20 DECnet functionality in a program which performs a real function.
77 ; The remote system must provide a program which acts as a server to
78 ; this program. The MCBNRT program is an example of a program written for
79 ; TOPS-20 which will perform that function on that system. Programs for
80 ; other systems must perform functionally similar to MCBNRT.
81 ;
82
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 3
SETHOS MAC 4-Jan-82 08:34 DECLARED SYMBOLS
83 SUBTTL DECLARED SYMBOLS
84
85 000000 IPTYF==0 ;Use PTY if 1, otherwise use .MOSNH
86
87 000001 T1=:1 ; AC definitions
88 000002 T2=:2
89 000003 T3=:3
90 000004 T4=:4
91 000005 Q1==:5
92 000006 Q2==:6
93 000016 CX=:16
94 000017 P=:17
95
96 000100 NPDL==100 ; Size of pushdown list
97 000050 INSIZ==50 ; Terminal input buffer size, in words
98 000310 MAXINP==INSIZ*5 ; Maximum number of terminal input characters
99 100000 DBUFFR==100000 ; Data buffer on page 100
100 000200 SDBUF==200 ;ASSUMED SIZE OF DBUFFR
101 101000 MEMBUF==101000 ;MEMORY BFR FOR TTY OUTPUT
102 000777 NMEMBF==777 ;SIZE THEREOF
103
104 000010 TOPS20==^D8
105 000011 TOPS10==^D9
106
107 000005 VMAJOR==5 ;MAJOR VERSION NUMBER
108 000000 VMINOR==0 ;MINOR VERSION NUMBER
109 000001 VEDIT==1 ;EDIT NUMBER
110 000000 VWHO==0 ;LAST EDITOR (0 = DEC DEVELOPMENT)
111
112 000500 000001 VSETHOS==<VWHO>B2+<VMAJOR>B11+<VMINOR>B17+VEDIT
113
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 4
SETHOS MAC 4-Jan-82 08:34 IMPURE STORAGE
114 SUBTTL IMPURE STORAGE
115
116 000000' STATUS: BLOCK 3
117 000003' STIMSK: BLOCK 1 ; Terminal interrupt word mask for STIW
118 000004' UESCCH: BLOCK 1 ; User escape char
119 000005' LOCAL: BLOCK 2 ; Local node name
120 000007' DCNJFN: BLOCK 1 ; JFN of logical link to MCBNRT server
121 000010' INSTR: BLOCK INSIZ ; Terminal input stream buffer
122 000060' CTRLY: BLOCK 1 ;CTRL/Y FLAG
123 000061' NODE0: BLOCK 20
124 000101' ROUTE: BLOCK 40
125 000141' DESTND: BLOCK 2 ;SPACE FOR DESTINATION NODE NAME
126 000143' SAVACE: BLOCK 4 ; Register save area for AC's 1 - 4
127 000147' SAVSTS: BLOCK 1 ;SAVE LOC FOR LINK STATUS
128 000150' NAME: BLOCK 50 ; File spec name of logical link to MCBNRT
129 000220' FORK: BLOCK 1 ; Handle of inferior process to read from TTY
130 000221' 000000 000000 PTYF: IPTYF ;PTY/.MOSNH FLAG
131 000222' MEMPTR: BLOCK 1 ;PTR TO MEM BFR FOR TTY OUTPUT
132 000223' NMSPC: BLOCK 1 ;SPACE REMAINING IN MEM BFR
133 000224' 777777 777777 VIRGIN: EXP -1 ; Flag to indicate fresh start, initially -1
134 000225' PC: BLOCK 3 ; Storage for PC on interrupts
135 000230' 000000 000225' LEVTAB: PC ; Software interrupt level table
136 000231' 000000 000226' PC+1
137 000232' 000000 000227' PC+2
138 000233' 000000 000000 CHNTAB: 0 ; Software interrupt channel table
139 000234' 000001 002040' 1,,ESC ; Panic character (default ^Y)
140 000235' 000000 000000 0
141 REPEAT ^D33,<0> ;FILL REST OF CHN TABLE
142 000236' 000000 000000
143 000237' 000000 000000
144 000240' 000000 000000
145 000241' 000000 000000
146 000242' 000000 000000
147 000243' 000000 000000
148 000244' 000000 000000
149 000245' 000000 000000
150 000246' 000000 000000
151 000247' 000000 000000
152 000250' 000000 000000
153 000251' 000000 000000
154 000252' 000000 000000
155 000253' 000000 000000
156 000254' 000000 000000
157 000255' 000000 000000
158 000256' 000000 000000
159 000257' 000000 000000
160 000260' 000000 000000
161 000261' 000000 000000
162 000262' 000000 000000
163 000263' 000000 000000
164 000264' 000000 000000
165 000265' 000000 000000
166 000266' 000000 000000
167 000267' 000000 000000
168 000270' 000000 000000
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 4-1
SETHOS MAC 4-Jan-82 08:34 IMPURE STORAGE
169 000271' 000000 000000
170 000272' 000000 000000
171 000273' 000000 000000
172 000274' 000000 000000
173 000275' 000000 000000
174 000276' 000000 000000
175 000277' PDL: BLOCK NPDL ; Pushdown list (STACK)
176
177 000761' 000000 000000 CMDSTG ; Command parser storage (from CMDS)
178 000762' 000000 000000
179
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 5
SETHOS MAC 4-Jan-82 08:34 START - Start of SETHOST program
180 SUBTTL START - Start of SETHOST program
181
182 001163' 254 00 0 00 001166' EVEC: JRST START ;INITIAL START
183 001164' 254 00 0 00 002116' JRST REENT ;CONTINUE EXISTING CONNECTION
184 001165' 000500 000001 EXP VSETHOS ;VERSION
185
186 001166' 104 00 0 00 000147 START: RESET ; Intialize ourself
187 001167' 200 17 0 00 002242' MOVE P,[IOWD NPDL,PDL] ; and set up pushdown list
188 001170' 350 00 0 00 000224' AOS VIRGIN ; Bump count of times we come through here
189 001171' 260 17 0 00 000000* CALL CMDINI ; Initialize command parser
190 001172' 336 00 0 00 000221' SKIPN PTYF ;USING PTY?
191 001173' 254 00 0 00 001202' IFSKP.
192 001174' 402 00 0 00 000223' SETZM NMSPC ;NOTE MEM BFR HAS NO SPACE
193 001175' 205 01 0 00 400000 MOVX T1,CR%MAP ;YES, Create process to read from TTY
194 001176' 402 00 0 00 000002 SETZM T2
195 001177' 104 00 0 00 000152 CFORK ; Make the process, same address map
196 JRST [JSHLT ; on error... halt and allow continue
197 001200' 254 00 0 00 002243' JRST START]
198 001201' 202 01 0 00 000220' MOVEM T1,FORK ; Save the process handle obtained
199 001202' ENDIF.
200 001202' 201 01 0 00 400000 MOVEI T1,.FHSLF ; Our process handle
201 001203' 104 00 0 00 000150 RPCAP ; Get our capabilities
202 001204' 661 03 0 00 400000 TXO T3,SC%CTC ; allow ^C trapping for job
203 001205' 104 00 0 00 000151 EPCAP ; Enable new set of capabilities
204 001206' 200 02 0 00 002245' MOVE T2,[LEVTAB,,CHNTAB] ; Address of software interrupt system tables
205 001207' 104 00 0 00 000125 SIR ; Give them to monitor
206 001210' 205 02 0 00 200000 MOVX T2,1B1 ; Channel number
207 001211' 104 00 0 00 000131 AIC ; Activate software interrupt channels
208 001212' 104 00 0 00 000126 EIR ; Enable software interrupt system
209 001213' 260 17 0 00 001566' CALL ALLON ; Turn on all TTY interrupts
210 001214' 260 17 0 00 001723' CALL PRESCN ; Prescan EXEC line for host name...
211 001215' 254 00 0 00 001242' JRST PREHST ; Got it - skip the prompting
212 001216' 254 00 0 00 001217' JRST ESCHAR ; Otherwise get it now
213
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 6
SETHOS MAC 4-Jan-82 08:34 ESCHAR - Obtain the escape character user wants to use
214 SUBTTL ESCHAR - Obtain the escape character user wants to use
215
216 001217' 561 01 0 00 002246' ESCHAR: PROMPT <Escape character(^Y):> ; Put out prompt to users terminal
217 001220' 260 17 0 00 000000*
218 001221' 201 01 0 00 002264' MOVEI T1,[FLDDB. (.CMTXT,CM%SDH,,<Character for interrupting connection>,<>)]
219 001222' 260 17 0 00 000000* CALL CFIELD ; Read the escape character
220 001223' 135 01 0 00 002270' LDB T1,[POINT 7,ATMBUF,6] ; Get character itself
221 001224' 202 01 0 00 000004' MOVEM T1,UESCCH ;SAVE IT
222 001225' 303 01 0 00 000032 CAILE T1,.TICCZ ; Is it a valid character? (^A to ^Z)
223 JRST [ HRROI T1,[ASCIZ /Invalid character/] ; No, tell user
224 ESOUT
225 001226' 254 00 0 00 002275' JRST ESCHAR] ; and try again
226 001227' 211 02 0 01 000000 MOVNI T2,0(T1) ; Save the character
227 001230' 507 00 0 00 000001 HRLS T1 ; Character value is terminal code
228 001231' 541 01 0 00 000001 HRRI T1,1 ; Channel number
229 001232' 104 00 0 00 000137 ATI ; Assign terminal code to software interrupt channel
230 001233' 205 01 0 00 400000 MOVX T1,1B0 ; Get a bit
231 001234' 242 01 0 02 000000 LSH T1,0(T2) ; Make terminal interrupt word mask for character
232 001235' 660 01 0 00 000020 TXO T1,1B<.TICTI> ; Allow typein
233 001236' 202 01 0 00 000003' MOVEM T1,STIMSK ; Save for use later
234 001237' 254 00 0 00 001240' JRST HSTNAM ; Get the host name
235
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 7
SETHOS MAC 4-Jan-82 08:34 HSTNAM - Get the host name user wants to login on
236 SUBTTL HSTNAM - Get the host name user wants to login on
237
238 001240' 561 01 0 00 002300' HSTNAM: PROMPT <Host name: > ; Put out prompt to users terminal
239 001241' 260 17 0 00 001220*
240 001242' 201 01 0 00 002311' PREHST: MOVEI T1,[FLDDB. (.CMTXT,CM%SDH,,<Name of system to connect to>)]
241 001243' 260 17 0 00 001222* CALL CFIELD ; Read host name
242 001244' 561 01 0 00 000010' HRROI T1,INSTR ; Pointer to destination buffer
243 001245' 561 02 0 00 000560' HRROI T2,ATMBUF ; Pointer to source buffer
244 001246' 201 03 0 00 000000 MOVEI T3,0 ; An ASCIZ string
245 001247' 104 00 0 00 000053 SOUT ; Copy the host name
246 001250' 205 01 0 00 774000 MOVX T1,177B6 ; See if real host name given
247 001251' 616 01 0 00 000010' TDNN T1,INSTR ; Was one?
248 JRST [ HRROI T1,[ASCIZ /
249 [CONNECTING TO LOCAL HOST- /] ; No, tell user what's happening
250 PSOUT
251 MOVEI T1,.NDGLN ; Function code to get local node name
252 MOVEI T2,T3
253 HRROI T3,INSTR
254 NODE ; Obtain local node name
255 HRROI T1,INSTR
256 PSOUT ; Output to user's TTY
257 HRROI T1,[ASCIZ /]
258 /]
259 PSOUT ; Finish the message nicely
260 001252' 254 00 0 00 002323' JRST .+1]
261 001253' 254 00 0 00 001254' JRST SETTMD ; Have name. Now set TTY modes
262
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 8
SETHOS MAC 4-Jan-82 08:34 SETTMD - Set TTY modes
263 SUBTTL SETTMD - Set TTY modes
264
265 001254' 201 01 0 00 000100 SETTMD: MOVEI T1,.PRIIN ; Primary input
266 001255' 104 00 0 00 000107 RFMOD ; Get current JFN mode word
267 001256' 660 02 0 00 170000 TXO T2,TT%WAK ; Wake on all
268 001257' 620 02 0 00 004300 TXZ T2,TT%ECO!TT%DAM ; Echoes off and binary data mode
269 001260' 104 00 0 00 000110 SFMOD ; Set new JFN mode word
270 001261' 201 01 0 00 777773 MOVX T1,.FHJOB ; Set terminal interrupt word for entire job
271 001262' 200 02 0 00 000003' MOVE T2,STIMSK ; Get terminal interrupt word saved earlier
272 001263' 104 00 0 00 000174 STIW ; Set it to allow only panic interrupts
273 001264' 260 17 0 00 001576' CALL COLDSH ; Convert digraph :: to -
274 001265' 561 01 0 00 000150' HRROI T1,NAME ; Build network file spec to MCBNRT
275 001266' 561 02 0 00 002336' HRROI T2,[ASCIZ /DCN:/] ; The DECnet device for making connection
276 001267' 402 00 0 00 000003 SETZM T3
277 001270' 104 00 0 00 000053 SOUT
278 001271' 200 02 0 00 002337' MOVE T2,[POINT 7,NODE0]
279 001272' 104 00 0 00 000053 SOUT ; Copy node name as well
280 001273' 561 02 0 00 002340' HRROI T2,[ASCIZ /-23/] ; MCBNRT's object type
281 001274' 332 00 0 00 000101' SKIPE ROUTE ; Doing routing?
282 001275' 561 02 0 00 002341' HRROI T2,[ASCIZ /-123/] ;PSTHRU'S OBJECT TYPE
283 001276' 104 00 0 00 000053 SOUT
284 001277' 205 01 0 00 000001 DOJFN: MOVX T1,GJ%SHT ; Do a short form GTJFN
285 001300' 561 02 0 00 000150' HRROI T2,NAME ; Using the spec just built
286 001301' 104 00 0 00 000020 GTJFN ; Get DCN connection
287 JRST [ JSERR ; If error, tell user
288 CALL ALLON ; Reset TTY to normal mode
289 HALTF ;STOP
290 001302' 254 00 0 00 002342' JRST HSTNAM] ; And go back to get host name
291 001303' 202 01 0 00 000007' MOVEM T1,DCNJFN ; Save JFN for the connection
292 ;MOVEI T1,.PRIOU ; Check if parity OK on this TTY
293 ;GDSTS ; Get device status
294 ;ERJMP [SETZM T2 ; If error, set all status off
295 ; JRST .+1] ; And continue along
296 ;MOVE T1,DCNJFN ; Restore the JFN for network connection
297 ;TXNE T2,GD%PAR ; Does terminal allow parity?
298 001304' 200 02 0 00 002346' MOVE T2,[FLD(^D8,OF%BSZ)!FLD(.GSSMB,OF%MOD)!OF%RD!OF%WR]
299 ; Yes, 8 bit bytes and read/write access
300 001305' 104 00 0 00 000021 OPENF ; Open the network connection
301 ERJMP [JSERR ; If failed, tell user
302 MOVE T1,DCNJFN ; And release the JFN
303 RLJFN
304 JFCL
305 CALL ALLON ; Reset TTY to normal mode
306 TMSG <
307 >
308 001306' 320 16 0 00 002350' JRST HSTNAM] ; And go back to get host name
309 001307' 201 04 0 00 000006 MOVEI T4,6 ;6 TRIES FOR THE CONNECTION
310 001310' 201 01 0 00 003720 TSTCON: MOVEI T1,^D2000 ;2 SECONDS BETWEEN TRIES
311 001311' 104 00 0 00 000167 DISMS ;WAIT
312 001312' 200 01 0 00 000007' MOVE T1,DCNJFN ;GET BACK THE JFN
313 001313' 201 02 0 00 000025 MOVX T2,.MORLS ;READ LINK STATUS
314 001314' 104 00 0 00 000077 MTOPR
315 001315' 320 16 0 00 001316' ERJMP .+1
316 001316' 603 03 0 00 400000 TXNE T3,MO%CON ;CONNECTED?
317 001317' 254 00 0 00 001326' JRST GOTCON ;YES, GO TO IT
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 8-1
SETHOS MAC 4-Jan-82 08:34 SETTMD - Set TTY modes
318 001320' 603 03 0 00 100000 TXNE T3,MO%WFC ;NO, WAITING FOR A CONNECT?
319 001321' 254 00 0 00 001324' JRST TSTCO1 ;YES, WAIT FOR A BIT
320 001322' 603 03 0 00 010000 TXNE T3,MO%ABT ;NO, CONNECT BEEN REJECTED?
321 JRST [ HRROI T1,[ASCIZ/
322 ? Remote system rejected connection - /]
323 PSOUT
324 001323' 254 00 0 00 002371' JRST NOTCON]
325 001324' TSTCO1: SOJE T4,[HRROI T1,[ASCIZ/
326 ? Remote node not responding
327
328 /]
329 TSTCO2: PSOUT
330 MOVE T1,DCNJFN ; And release the JFN
331 CLOSF
332 JFCL
333 CALL ALLON ; Reset TTY to normal mode
334 001324' 362 04 0 00 002403' JRST HSTNAM] ; And go back to get host name
335 001325' 254 00 0 00 001310' JRST TSTCON ;TRY AGAIN
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 9
SETHOS MAC 4-Jan-82 08:34 SETTMD - Set TTY modes
336
337 ;CONNECTION TO REMOTE NODE HAS BEEN ESTABLISHED
338
339
340 001326' 336 00 0 00 000101' GOTCON: SKIPN ROUTE ; want to route-through?
341 001327' 254 00 0 00 001352' JRST NOR ; No. Go on
342
343 ;Here to do pass-through
344
345 001330' 200 01 0 00 000007' MOVE T1,DCNJFN ;GET BACK JFN
346 001331' 561 02 0 00 000101' HRROI T2,ROUTE ;Get message
347 001332' 402 00 0 00 000003 SETZM T3
348 001333' 104 00 0 00 000532 SOUTR ; Send it
349 001334' 320 16 0 00 001435' ERJMP RTERR
350 001335' 561 02 0 00 100000 RT0: HRROI T2,DBUFFR
351 001336' 211 03 0 00 000310 MOVNI T3,^D200
352 001337' 104 00 0 00 000531 SINR ; Get message
353 001340' 320 16 0 00 001435' ERJMP RTERR
354 001341' 402 00 0 00 000004 SETZM T4
355 001342' 136 04 0 00 000002 IDPB T4,T2 ; tie it off
356 001343' 135 04 0 00 002412' LDB T4,[POINT 7,DBUFFR,6]
357 001344' 367 04 0 00 001435' SOJG T4,RTERR0 ; bad
358 001345' 322 04 0 00 001352' JUMPE T4,NOR
359 001346' 200 01 0 00 002412' MOVE T1,[POINT 7,DBUFFR,6]
360 001347' 104 00 0 00 000076 PSOUT
361 001350' 200 01 0 00 000007' MOVE T1,DCNJFN
362 001351' 254 00 0 00 001335' JRST RT0
363
364 001352' 336 00 0 00 000221' NOR: SKIPN PTYF ;IF USING PTY...
365 001353' 254 00 0 00 001360' IFSKP.
366 001354' 200 01 0 00 000220' MOVE T1,FORK ; Restore the process handle obtained
367 001355' 201 02 0 00 002136' MOVEI T2,DOINP0 ; The start address
368 001356' 104 00 0 00 000157 SFORK ; Start the process to read input from TTY
369 ERJMP [RESET ; If failed, reset ourself
370 JSHLT ; Tell user and halt
371 001357' 320 16 0 00 002413' JRST START] ; Go back to beginning if continued
372 001360' ENDIF.
373 001360' 200 01 0 00 000007' MOVE T1,DCNJFN
374 001361' 200 02 0 00 002416' MOVE T2,[POINT ^D8,DBUFFR]
375 001362' 211 03 0 00 000200 MOVNI 3,SDBUF
376 001363' 104 00 0 00 000531 SINR ; Read status message
377 001364' 320 16 0 00 001774' ERJMP BADCON
378 001365' 135 01 0 00 002417' LDB T1,[POINT ^D8,DBUFFR,7]
379 SOJN T1,[MOVEI T4,SDBUF(T3) ;GeT count received-1
380 001366' 366 01 0 00 002420' JRST GOTDAX]
381 001367' 135 01 0 00 002422' LDB T1,[POINT ^D8,DBUFFR+1,7]
382 001370' 301 01 0 00 000000 CAIL T1,0 ;IS OPERATING SYSTEM
383 001371' 303 01 0 00 000015 CAILE T1,HSTTYN ; TYPE LEGAL?
384 001372' 604 00 0 00 000000 IFNSK. ;NO
385 001373' 254 00 0 00 001377'
386 TMSG <
387 ? Remote system sent an illegal configuration message
388 001374' 561 01 0 00 002423' >
389 001375' 104 00 0 00 000076
390 001376' 254 00 0 00 001443' JRST QUIT ;BYE
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 9-1
SETHOS MAC 4-Jan-82 08:34 SETTMD - Set TTY modes
391 001377' ENDIF.
392 001377' 302 01 0 00 000010 CAIE T1,TOPS20 ;TOPS-20?
393 001400' 306 01 0 00 000011 CAIN T1,TOPS10 ;OR TOPS10?
394 001401' 334 00 0 00 000000 SKIPA ;OK
395 001402' 604 00 0 00 000000 IFNSK. ;NO
396 001403' 254 00 0 00 001417'
397 001404' 261 17 0 00 000001 PUSH P,T1 ;STASH SYSTEM TYPE
398 TMSG <
399 001405' 561 01 0 00 002437' ? Communication with >
400 001406' 104 00 0 00 000076
401 001407' 262 17 0 00 000001 POP P,T1 ;RETRIEVE SYSTEM TYPE
402 001410' 561 01 1 01 001446' HRROI T1,@HSTTYP(T1) ;MAKE BP TO REMOTE'S NAME
403 001411' 104 00 0 00 000076 PSOUT ;PRINT IT OUT
404 TMSG < not supported by SETHOST
405
406 001412' 561 01 0 00 002444' >
407 001413' 104 00 0 00 000076
408 001414' 260 17 0 00 001566' CALL ALLON ;RESET TTY TO NORMAL MODE
409 001415' 104 00 0 00 000147 RESET ;CLEAR EVERYTHING
410 001416' 254 00 0 00 001240' JRST HSTNAM ;START OVER
411 001417' ENDIF.
412 001417' 336 00 0 00 000060' SKIPN CTRLY ;TELL USER ABOUT CTRL/Y?
413 001420' 254 00 0 00 001532' JRST GOTDA2 ;NO, USER SELECTED A CHAR
414 TMSG <
415 001421' 561 01 0 00 002452' [Type ^Y to return to node > ; Tell user how to get back
416 001422' 104 00 0 00 000076
417 001423' 201 01 0 00 000001 MOVX T1,.NDGLN
418 001424' 201 02 0 00 000003 MOVX T2,T3
419 001425' 200 03 0 00 002460' MOVE T3,[POINT 7,LOCAL]
420 001426' 104 00 0 00 000567 NODE ; And name of local node
421 001427' 255 00 0 00 000000 JFCL
422 001430' 561 01 0 00 000005' HRROI T1,LOCAL
423 001431' 104 00 0 00 000076 PSOUT
424 TMSG <]
425 001432' 561 01 0 00 002322' > ; Finish off nicely
426 001433' 104 00 0 00 000076
427 001434' 254 00 0 00 001532' JRST GOTDA2
428
429 001435' RTERR:
430 001435' RTERR0: HRROI T1,[ASCIZ /
431 ?DECNET connection aborted by remote server
432 001435' 561 01 0 00 002461' /]
433 001436' 104 00 0 00 000076 PSOUT
434 001437' 200 01 0 00 002412' MOVE T1,[POINT 7,DBUFFR,6]
435 001440' 104 00 0 00 000076 PSOUT
436 HRROI T1,[ASCIZ /
437 001441' 561 01 0 00 002347' /]
438 001442' 104 00 0 00 000076 PSOUT
439 001443' 104 00 0 00 000147 QUIT: RESET
440 001444' 104 00 0 00 000170 HALTF
441 001445' 254 00 0 00 001166' JRST START
442
443
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 10
SETHOS MAC 4-Jan-82 08:34 SETTMD - Set TTY modes
444 ;OPERATING SYSTEM TYPES
445
446 001446' 000000 002473' HSTTYP: [ASCIZ\RSTS\]
447 001447' 000000 002474' [ASCIZ\RT-11\]
448 001450' 000000 002476' [ASCIZ\RSTS/E\]
449 001451' 000000 002500' [ASCIZ\RSX-11S\]
450 001452' 000000 002502' [ASCIZ\RSX-11M\]
451 001453' 000000 002504' [ASCIZ\RSX-11D\]
452 001454' 000000 002506' [ASCIZ\IAS\]
453 001455' 000000 002507' [ASCIZ\VMS\]
454 001456' 000000 002510' [ASCIZ\TOPS-20\]
455 001457' 000000 002512' [ASCIZ\TOPS-10\]
456 001460' 000000 002514' [ASCIZ\RTS-8\]
457 001461' 000000 002516' [ASCIZ\OS-8\]
458 001462' 000000 002517' [ASCIZ\RSX-11M+\]
459 001463' 000000 002521' [ASCIZ\MCB\]
460 000015 HSTTYN=.-HSTTYP-1 ;NUMBER OF DEFINED OPERATING SYSTEM TYPES
461
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 11
SETHOS MAC 4-Jan-82 08:34 GOTDA1 - Read data from network connection
462 SUBTTL GOTDA1 - Read data from network connection
463
464 001464' 332 00 0 00 000221' GOTDA1: SKIPE PTYF ;USING PTY?
465 001465' 254 00 0 00 001503' IFSKP.
466 001466' 200 01 0 00 000007' MOVE T1,DCNJFN ;NO, HAND CONNECTION TO MONITOR
467 001467' 201 02 0 00 000044 MOVEI T2,.MOSNH
468 001470' 201 03 0 17 000001 MOVEI T3,1(P)
469 001471' 261 17 0 00 002522' PUSH P,[3] ;PUSH SIZE OF ARG BLOCK
470 001472' 261 17 0 00 002523' PUSH P,[.PRIIN]
471 001473' 550 04 0 00 000004' HRRZ T4,UESCCH
472 001474' 661 04 0 00 400000 TXO T4,SH%LPM ;LOCAL PAGE MODE
473 001475' 261 17 0 00 000004 PUSH P,T4
474 001476' 104 00 0 00 000077 MTOPR ;CONNECT DCNJFN TO TTY
475 001477' 320 16 0 00 002524' ERJMP [JSHLT]
476 001500' 105 17 0 00 777775 ADJSP P,-3 ;FLUSH ARG BLOCK
477 001501' 104 00 0 00 000306 WAIT
478 001502' 254 00 0 00 001464' JRST GOTDA1
479 001503' ENDIF.
480 001503' 200 01 0 00 000007' MOVE T1,DCNJFN ; Get the network connection JFN
481 001504' 200 02 0 00 002416' MOVE T2,[POINT ^D8,DBUFFR] ; Pointer to buffer
482 001505' 211 03 0 00 000001 MOVNI T3,1 ; One byte only
483 001506' 104 00 0 00 000052 SIN ; Read from logical link
484 001507' 320 16 0 00 001774' ERJMP BADCON ; If error, connection broken
485 001510' 200 03 0 00 000002 MOVE T3,T2 ; Save byte pointer
486 001511' 104 00 0 00 000102 SIBE ; Any more data to read now ?
487 001512' 254 00 0 00 001515' IFSKP.
488 001513' 201 04 0 00 000001 MOVEI T4,1 ;NO, GO TYPE THE ONE CHARACTER
489 001514' 254 00 0 00 001523' JRST GOTDAX
490 001515' ENDIF.
491 001515' 250 02 0 00 000003 EXCH T2,T3 ; Restore byte pointer
492 001516' 200 04 0 00 000003 MOVE T4,T3 ; Save count
493 001517' 213 00 0 00 000003 MOVNS T3 ; Read the exact number available
494 001520' 104 00 0 00 000052 SIN ; Read remaining bytes
495 001521' 320 16 0 00 001774' ERJMP BADCON ; If error, connection broken
496 001522' 271 04 0 00 000001 ADDI T4,1 ;TOTAL COUNT OF BOTH SIN'S
497
498 001523' 201 01 0 00 000101 GOTDAX: MOVEI T1,.PRIOU ; Output to users terminal
499 001524' 200 02 0 00 002416' MOVE T2,[POINT ^D8,DBUFFR] ; Pointer to data from remote host
500 001525' 210 03 0 00 000004 MOVN T3,T4 ; Output count
501 001526' 260 17 0 00 001544' CALL SAVTTO ;SAVE TTY OUTPUT
502 001527' 104 00 0 00 000053 SOUT ; Type data on users terminal
503 001530' 332 00 0 00 000221' SKIPE PTYF ;USING PTY?
504 001531' 254 00 0 00 001464' JRST GOTDA1 ;YES
505 001532' 200 01 0 00 000007' GOTDA2: MOVE T1,DCNJFN
506 001533' 104 00 0 00 000102 SIBE ;HAVE PROCESSED ALL OF INITIAL MESSAGE?
507 001534' 304 00 0 00 000000 CAIA ;NO
508 001535' 254 00 0 00 001464' JRST GOTDA1 ;YES, GO SPLICE CONNECTION
509 001536' 200 04 0 00 000002 MOVE T4,T2 ;GET COUNT OF BYTES REMAINING
510 001537' 210 03 0 00 000002 MOVN T3,T2 ;READ EXACTLY THAT NUMBER
511 001540' 200 02 0 00 002416' MOVE T2,[POINT 8,DBUFFR]
512 001541' 104 00 0 00 000052 SIN ; Read remaining bytes
513 001542' 320 16 0 00 001774' ERJMP BADCON
514 001543' 254 00 0 00 001523' JRST GOTDAX ;PRINT IT
515
516 ;SAVE COPY OF OUTPUT GOING TO TERMINAL
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 11-1
SETHOS MAC 4-Jan-82 08:34 GOTDA1 - Read data from network connection
517 ;T1-T4 ARE SET FOR SOUT TO TTY
518
519 001544' 261 17 0 00 000001 SAVTTO: SAVEAC <T1,T2,T3,T4> ;BE TRANSPARENT
520 001545' 261 17 0 00 000002
521 001546' 261 17 0 00 000003
522 001547' 261 17 0 00 000004
523 001550' 415 16 0 00 002526'
524 001551' 261 17 0 00 000016
525 001552' 214 01 0 00 000003 MOVM T1,T3 ;GET POS COUNT OF CHARS HERE
526 001553' 315 01 0 00 000223' CAMGE T1,NMSPC ;MORE THAN SPACE IN MEM BFR?
527 001554' 254 00 0 00 001561' IFSKP.
528 ; *** CODE COULD BE PUT HERE TO WRITE THE BFR TO A FILE ALSO ***
529 001555' 200 01 0 00 002536' MOVE T1,[POINT 8,MEMBUF] ;YES, RESET BUFFER
530 001556' 202 01 0 00 000222' MOVEM T1,MEMPTR
531 001557' 201 01 0 00 004773 MOVEI T1,NMEMBF*5
532 001560' 202 01 0 00 000223' MOVEM T1,NMSPC
533 001561' ENDIF.
534 001561' 272 03 0 00 000223' ADDM T3,NMSPC ;REDUCE SPACE BY AMOUNT OF THIS SOUT
535 001562' 200 01 0 00 000222' MOVE T1,MEMPTR ;PTR TO MEMORY BUFFER
536 001563' 104 00 0 00 000053 SOUT
537 001564' 202 01 0 00 000222' MOVEM T1,MEMPTR ;SAVE UPDATED PTR
538 001565' 263 17 0 00 000000 RET
539
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 12
SETHOS MAC 4-Jan-82 08:34 ALLON - Restore echoing and interrupts on terminal
540 SUBTTL ALLON - Restore echoing and interrupts on terminal
541
542 001566' 201 01 0 00 777773 ALLON: MOVX T1,.FHJOB ; Set terminal interrupt word for entire job
543 001567' 476 00 0 00 000002 SETOM T2 ; Terminal interrupt word mask for all codes
544 001570' 104 00 0 00 000174 STIW ; Set terminal interrupt word
545 001571' 201 01 0 00 000100 MOVEI T1,.PRIIN ; Primary input
546 001572' 104 00 0 00 000107 RFMOD ; Read JFN mode word
547 001573' 660 02 0 00 004300 TXO T2,TT%ECO!TT%DAM ; Echo on, ASCII data mode, output translation disabled
548 001574' 104 00 0 00 000110 SFMOD ; Set new JFN mode word
549 001575' 263 17 0 00 000000 RET ; Done, return to caller
550
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 13
SETHOS MAC 4-Jan-82 08:34 ALLON - Restore echoing and interrupts on terminal
551
552 ;ROUTINE TO SCAN THE STRING IN INSTR AND CONVERT ANY
553 ;INSTANCE OF THE DIGRAPH "::" TO "-". THIS IS DONE
554 ;BECAUSE COLONS ARE DIFFICULT TO PASS VIA FILE
555 ;SPECS BUT DASHES AREN'T.
556
557 001576' 200 02 0 00 002537' COLDSH: MOVE T2,[POINT 7,INSTR] ; Source string
558 001577' 200 03 0 00 002337' MOVE T3,[POINT 7,NODE0]
559 001600' 402 00 0 00 000101' SETZM ROUTE
560 001601' 200 05 0 00 000002 MOVE Q1,T2 ;STASH THE BP
561 001602' 134 04 0 00 000002 ILDB T4,T2
562 001603' 260 17 0 00 001706' CALL GUDCHR
563 001604' 254 00 0 00 001620' JRST ENDO3
564 001605' 334 00 0 00 000000 SKIPA
565 001606' 134 04 0 00 000002 COLDS0: ILDB T4,T2 ; Get a byte
566 001607' 306 04 0 00 000072 CAIN T4,":" ; Start of a digraph?
567 001610' 254 00 0 00 001614' JRST ENDOF ;YES, GO FIGURE IT OUT
568 001611' 136 04 0 00 000003 IDPB T4,T3 ;NO, stash it
569 001612' 326 04 0 00 001606' JUMPN T4,COLDS0 ; If more to do, proceed
570 001613' 254 00 0 00 001671' JRST DUN ;GO FINISH UP
571
572 ;here is found : in file spec
573
574 001614' 402 00 0 00 000004 ENDOF: SETZM T4
575 001615' 136 04 0 00 000003 IDPB T4,T3 ; Tie it off
576 001616' 134 04 0 00 000002 ILDB T4,T2 ; get next
577 001617' 302 04 0 00 000072 CAIE T4,":" ; Another one?
578 ENDO3: JRST [ TMSG <
579 ? Invalid node name format
580
581 >
582 CALL ALLON
583 001620' 254 00 0 00 002547' JRST HSTNAM]
584 001621' 134 04 0 00 000002 ILDB T4,T2 ;PEEK AHEAD 1 BYTE
585 001622' 336 00 0 00 000004 SKIPN T4 ;IF NONE, NO ROUTING NEEDED
586 001623' 254 00 0 00 001671' JRST DUN ;GO FINISH UP
587 001624' 260 17 0 00 001706' CALL GUDCHR ;IS IT LEGIT?
588 ENDO4: JRST [ TMSG <
589 ? Illegal character after ::
590
591 >
592 CALL ALLON
593 001625' 254 00 0 00 002562' JRST HSTNAM]
594 001626' 474 04 0 00 000000 SETO T4, ;BACKUP THE
595 001627' 133 04 0 00 000002 ADJBP T4,T2 ; BYTE
596 001630' 202 04 0 00 000002 MOVEM T4,T2 ; POINTER
597 001631' 200 05 0 00 000002 MOVE Q1,T2 ;STASH THE BP
598 001632' 200 03 0 00 002566' MOVE T3,[POINT 7,ROUTE]
599 001633' 201 04 0 00 000001 MOVEI T4,1
600 001634' 136 04 0 00 000003 IDPB T4,T3
601 001635' 134 04 0 00 000002 ENDO0: ILDB T4,T2 ; Get next
602 001636' 302 04 0 00 000072 CAIE T4,":" ;A DELIMITER?
603 001637' 254 00 0 00 001654' JRST ENDO1 ;NO
604 001640' 134 04 0 00 000002 ILDB T4,T2 ;YES, GET NEXT BYTE
605 001641' 302 04 0 00 000072 CAIE T4,":" ;A SECOND DELIMITER?
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 13-1
SETHOS MAC 4-Jan-82 08:34 ALLON - Restore echoing and interrupts on terminal
606 001642' 254 00 0 00 001620' JRST ENDO3 ;NO, CAN'T HAVE THAT
607 001643' 136 04 0 00 000003 IDPB T4,T3 ;PUT IN :
608 001644' 136 04 0 00 000003 IDPB T4,T3 ; AGAIN
609 001645' 134 04 0 00 000002 ILDB T4,T2 ;PEEK AHEAD 1 BYTE
610 001646' 336 00 0 00 000004 SKIPN T4 ;IF NONE, OK
611 JRST [ SETO T4,
612 ADJBP T4,T2
613 MOVEM T4,T2
614 001647' 254 00 0 00 002567' JRST ATEND]
615 001650' 474 05 0 00 000000 SETO Q1, ;FAKE A BACK UP
616 001651' 133 05 0 00 000002 ADJBP Q1,T2 ; AND STASH THE BP
617 001652' 260 17 0 00 001706' CALL GUDCHR ;IS IT LEGIT?
618 001653' 254 00 0 00 001625' JRST ENDO4 ;NO, TOO BAD
619 001654' 322 04 0 00 001657' ENDO1: JUMPE T4,ATEND ;IF NULL, DONE
620 001655' 136 04 0 00 000003 IDPB T4,T3 ;STASH IT
621 001656' 254 00 0 00 001635' JRST ENDO0 ; Copy string
622 001657' 261 17 0 00 000001 ATEND: PUSH P,T1
623 001660' 135 01 0 00 000003 LDB T1,T3 ; Look at last byte
624 001661' 302 01 0 00 000072 CAIE T1,":" ; Finish correctly?
625 JRST [ MOVEI T1,":"
626 IDPB T1,T3
627 IDPB T1,T3
628 001662' 254 00 0 00 002573' JRST .+1]
629 001663' 561 01 0 00 002577' HRROI T1,[ASCIZ /"23="/]
630 001664' 200 02 0 00 000003 MOVE T2,T3
631 001665' 402 00 0 00 000003 SETZM T3
632 001666' 104 00 0 00 000052 SIN ; Finish string
633 001667' 262 17 0 00 000001 POP P,T1
634 001670' 136 03 0 00 000002 IDPB T3,T2 ; Tie it off
635
636 001671' 200 03 0 00 002601' DUN: MOVE T3,[POINT 7,DESTND] ;MAKE BP TO DESTINATION NODE NAME
637 001672' 134 04 0 00 000005 DUN1: ILDB T4,Q1 ;GET A BYTE
638 001673' 306 04 0 00 000072 CAIN T4,":" ;IS IT A DELIMITER?
639 001674' 604 00 0 00 000000 IFNSK. ;YES
640 001675' 254 00 0 00 001700'
641 001676' 400 04 0 00 000000 SETZ T4, ;END OF NODE NAME
642 001677' 254 00 0 00 001702' JRST DUN2 ;AND FINISH
643 001700' ENDIF.
644 001700' 303 04 0 00 000132 CAILE T4,"Z" ;IS IT LOWER CASE?
645 001701' 275 04 0 00 000040 SUBI T4,40 ;YES, MAKE IT UPPER CASE
646 001702' 136 04 0 00 000003 DUN2: IDPB T4,T3 ;PUT IN THE BYTE
647 001703' 332 00 0 00 000004 SKIPE T4 ;ARE WE DONE?
648 001704' 254 00 0 00 001672' JRST DUN1 ;NO
649 001705' 263 17 0 00 000000 RET ;YES
650
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 14
SETHOS MAC 4-Jan-82 08:34 ALLON - Restore echoing and interrupts on terminal
651
652 ;ROUTINE TO CHECK FOR LEGITIMATE CHARACTERS IN A NODE NAME
653 ;ACCEPTS: T4/ ASCIZ OF CHARACTER
654 ;RETURNS: +1 ILLEGAL
655 ; +2 OK
656
657 001706' 305 04 0 00 000060 GUDCHR: CAIGE T4,"0"
658 001707' 263 17 0 00 000000 RET
659 001710' 307 04 0 00 000071 CAIG T4,"9"
660 001711' 254 00 0 00 000000* RETSKP
661 001712' 305 04 0 00 000101 CAIGE T4,"A"
662 001713' 263 17 0 00 000000 RET
663 001714' 307 04 0 00 000132 CAIG T4,"Z"
664 001715' 254 00 0 00 001711* RETSKP
665 001716' 305 04 0 00 000141 CAIGE T4,"a"
666 001717' 263 17 0 00 000000 RET
667 001720' 307 04 0 00 000172 CAIG T4,"z"
668 001721' 254 00 0 00 001715* RETSKP
669 001722' 263 17 0 00 000000 RET
670
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 15
SETHOS MAC 4-Jan-82 08:34 PRESCN - Prescan EXEC command for host name
671 SUBTTL PRESCN - Prescan EXEC command for host name
672
673 001723' 332 00 0 00 000224' PRESCN: SKIPE VIRGIN ; Starting out fresh?
674 001724' 254 00 0 00 001721* RETSKP ; No..., so return +2 to force prompt
675 001725' 201 01 0 00 000000 MOVEI T1,.RSINI ; Make rescan buffer available
676 001726' 104 00 0 00 000500 RSCAN ; as command line to process reading from CTTY
677 001727' 320 16 0 00 001770' ERJMP PRESC1
678 001730' 201 01 0 00 000001 MOVX T1,.RSCNT ; Get count of characters
679 001731' 104 00 0 00 000500 RSCAN ; in rescan buffer
680 001732' 320 16 0 00 001770' ERJMP PRESC1
681 001733' 322 01 0 00 002602' JUMPE T1,[RETSKP] ; None there, so must prompt
682 001734' 201 01 0 00 000100 MOVEI T1,.PRIIN ; Primary input
683 001735' 104 00 0 00 000050 BIN ; Read a character
684 001736' 302 02 0 00 000122 CAIE T2,"R" ; RUN or R (program name can't start with "R")
685 001737' 306 02 0 00 000162 CAIN T2,"r" ; Check lowercase also
686 001740' 254 00 0 00 001764' JRST PRESC0 ; Yes, no prescanning, go eat rest of line
687 001741' 302 02 0 00 000040 PRES1: CAIE T2," " ; Have we hit a space yet?
688 001742' 306 02 0 00 000011 CAIN T2," " ; Also accept a tab
689 001743' 254 00 0 00 001750' JRST PRES2 ; Yes, read the node name
690 001744' 306 02 0 00 000012 CAIN T2,.CHLFD ; Have we hit EOL yet?
691 001745' 254 00 0 00 001724* RETSKP ; Yes, no node name, skip return to prompt
692 001746' 104 00 0 00 000050 BIN ; Read the next character
693 001747' 254 00 0 00 001741' JRST PRES1 ; And loop to test
694
695 001750' 205 01 0 00 000031 PRES2: MOVSI T1,.TICCY ; Default to ^Y for interrupt character
696 001751' 206 01 0 00 000004' MOVSM T1,UESCCH ;SAVE IT FOR MTOPR
697 001752' 541 01 0 00 000001 HRRI T1,1 ; And use channel one
698 001753' 104 00 0 00 000137 ATI ; Assign terminal code to interrupt channel
699 001754' 205 01 0 00 400000 MOVX T1,1B0 ; Get a hi order bit
700 001755' 242 01 0 00 777747 LSH T1,-.TICCY ; Shift bit by value of ^Y code
701 001756' 660 01 0 00 000020 TXO T1,1B<.TICTI> ; Allow typein
702 001757' 202 01 0 00 000003' MOVEM T1,STIMSK ; Save for use later
703 001760' 476 00 0 00 000060' SETOM CTRLY ;SAY USE CTRL/Y
704 001761' 561 01 0 00 002265' PROMPT <> ; Null prompt
705 001762' 260 17 0 00 001241*
706 001763' 263 17 0 00 000000 RET ; Done, return no skip to not prompt
707
708 ;HERE TO FLUSH REST OF EXEC COMMAND LINE
709
710 001764' 104 00 0 00 000050 PRESC0: BIN ; Get next byte
711 001765' 302 02 0 00 000012 CAIE T2,.CHLFD ; The end of line?
712 001766' 254 00 0 00 001764' JRST PRESC0 ; No, Try again
713 001767' 254 00 0 00 001745* RETSKP ; Yes, return +2 to prompt for node
714
715 ;Here if rescan attempt does not succeed
716
717 001770' 561 01 0 00 002603' PRESC1: HRROI T1,[ASCIZ/Unexpected error in scanning command line/] ; If error,
718 001771' 104 00 0 00 000313 ESOUT ; tell user
719 001772' 104 00 0 00 000170 HALTF ; and halt
720 001773' 254 00 0 00 001166' JRST START ; Start over if continued...
721
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 16
SETHOS MAC 4-Jan-82 08:34 BADCON - Handle a broken network connection
722 SUBTTL BADCON - Handle a broken network connection
723
724 001774' 104 00 0 00 000141 BADCON: CIS ; Prevent further interruption
725 001775' 260 17 0 00 001566' CALL ALLON ; Restore TTY modes
726 001776' 336 00 0 00 000221' SKIPN PTYF ;IF NON-MONITOR CHAR HANDLING,
727 001777' 254 00 0 00 002002' IFSKP.
728 002000' 200 01 0 00 000220' MOVE T1,FORK ; Restore the process handle
729 002001' 104 00 0 00 000153 KFORK ; Kill the terminal input process
730 002002' ENDIF.
731 002002' 200 01 0 00 000007' MOVE T1,DCNJFN ; Get JFN
732 002003' 201 02 0 00 000033 MOVEI T2,.MORDA
733 002004' 561 03 0 00 000010' HRROI T3,INSTR
734 002005' 402 00 0 00 000004 SETZM T4
735 002006' 104 00 0 00 000077 MTOPR ; Get any optional data
736 002007' 320 16 0 00 002010' ERJMP .+1
737 002010' 402 00 0 00 000001 SETZM T1
738 002011' 136 01 0 00 000003 IDPB T1,T3
739 HRROI T1,[ASCIZ /
740 002012' 561 01 0 00 002614' ?Connection broken/] ; Tell user bad news
741 002013' 104 00 0 00 000076 PSOUT
742 JUMPN T4,[HRROI T1,[ASCIZ / at host /]
743 PSOUT
744 HRROI T1,INSTR
745 PSOUT
746 002014' 326 04 0 00 002623' JRST .+1]
747 ; HRROI T1,[ASCIZ /. Reason: /]
748 002015' 561 01 0 00 002630' HRROI T1,[ASCIZ/ - /]
749 002016' 104 00 0 00 000076 PSOUT
750 002017' 200 01 0 00 000007' NOTCON: MOVE T1,DCNJFN ; Restore network connection JFN
751 002020' 201 02 0 00 000025 MOVEI T2,.MORLS ; Get current link status
752 002021' 104 00 0 00 000077 MTOPR
753 ERJMP [JSERR ; JFN must be bad
754 002022' 320 16 0 00 002631' JRST START]
755 002023' 550 02 0 00 000003 NOTCO1: HRRZ T2,T3 ; Get DECnet error reason code
756 ; MOVEI T1,.PRIOU ; Output to users terminal
757 ; MOVEI T3,12 ; In decimal
758 ; NOUT ; Type it
759 ; JFCL
760 002024' 307 02 0 00 000062 CAIG T2,MAXMSG ; Know about this error?
761 002025' 336 01 0 02 002160' SKIPN T1,MSGTBL(T2) ; Yes, have one to type?
762 002026' 334 00 0 00 000000 SKIPA ; No
763 002027' 104 00 0 00 000076 PSOUT ; Yes, type it then
764 HRROI T1,[ASCIZ /
765
766 002030' 561 01 0 00 002402' /]
767 002031' 104 00 0 00 000076 PSOUT ; Pretty it
768 002032' 200 01 0 00 000007' MOVE T1,DCNJFN ; Get the JFN for the link
769 002033' 661 01 0 00 004000 TXO T1,CZ%ABT ; Abort any operations
770 002034' 104 00 0 00 000022 CLOSF ; Close it
771 ERJMP [JSERR ;If fails tell why
772 002035' 320 16 0 00 002633' JRST .+1]
773 002036' 104 00 0 00 000170 HALTF ; Halt here
774 002037' 254 00 0 00 001166' JRST START ; And start at beginning if continued
775
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 17
SETHOS MAC 4-Jan-82 08:34 ESC - Handle input of panic escape character from terminal
776 SUBTTL ESC - Handle input of panic escape character from terminal
777
778 ;
779 ; Note: This routine runs at software interrupt level when the user
780 ; types the specifed escape character. It resets the terminal
781 ; to its normal mode and halts, thus causing the EXEC to regain
782 ; control. If the EXEC CONTINUE command is issued data will be
783 ; again directed to the remote host.
784 ;
785
786 002040' 124 01 0 00 000143' ESC: DMOVEM T1,SAVACE ; Save AC's we're going to use
787 002041' 124 03 0 00 000145' DMOVEM T3,SAVACE+2
788 002042' 336 00 0 00 000221' SKIPN PTYF ;PROGRAM PASSING CHARACTERS?
789 002043' 254 00 0 00 002046' IFSKP.
790 002044' 200 01 0 00 000220' MOVE T1,FORK ; Restore process handle
791 002045' 104 00 0 00 000154 FFORK ; Freeze the terminal input process
792 002046' ENDIF.
793 002046' 201 01 0 00 000101 MOVEI T1,.PRIOU ; Users terminal
794 002047' 104 00 0 00 000107 RFMOD ; Get current TTY modes
795 002050' 261 17 0 00 000002 PUSH P,T2 ; Save them
796 002051' 660 02 0 00 000300 TXO T2,TT%DAM ; ASCII data mode, output translation disabled
797 002052' 104 00 0 00 000110 SFMOD ; Set new JFN mode word
798 002053' 104 00 0 00 000101 CFOBF ; Flush any pending terminal output
799 002054' 201 01 0 00 000100 MOVEI T1,.PRIIN ; Users terminal
800 002055' 104 00 0 00 000100 CFIBF ; Flush terminal type ahead
801 002056' 200 01 0 00 000007' MOVE T1,DCNJFN ;GET THE LINK
802 002057' 201 02 0 00 000025 MOVEI T2,.MORLS ;READ THE
803 002060' 104 00 0 00 000077 MTOPR ; LINK'S STATUS
804 002061' 320 16 0 00 002107' ERJMP ESC1 ;TOO BAD
805 002062' 603 03 0 00 040000 TXNE T3,MO%WCC ;WAITING FOR CONNECTION TO COME TRUE?
806 002063' 604 00 0 00 000000 IFNSK. ;YES, STILL WAITING
807 002064' 254 00 0 00 002072'
808 TMSG <
809 Attempt to make connection has been aborted
810
811 002065' 561 01 0 00 002635' >
812 002066' 104 00 0 00 000076
813 002067' 260 17 0 00 001566' CALL ALLON ;RESET TTY TO NORMAL MODE
814 002070' 104 00 0 00 000147 RESET ;CLEAR EVERYTHING
815 002071' 254 00 0 00 001240' JRST HSTNAM ;START OVER
816 002072' ENDIF.
817 002072' 202 03 0 00 000147' MOVEM T3,SAVSTS ;NO, WE'VE BEEN CONNECTED - SAVE THE LINK STATUS
818 HRROI T1,[ASCIZ /
819 002073' 561 01 0 00 002647' Connection broken, back at node /] ; Tell user he's now talking to us
820 002074' 104 00 0 00 000076 PSOUT
821 002075' 201 01 0 00 000001 MOVX T1,.NDGLN
822 002076' 201 02 0 00 000003 MOVX T2,T3
823 002077' 200 03 0 00 002460' MOVE T3,[POINT 7,LOCAL]
824 002100' 104 00 0 00 000567 NODE ; Get our node name
825 002101' 255 00 0 00 000000 JFCL
826 002102' 561 01 0 00 000005' HRROI T1,LOCAL
827 002103' 104 00 0 00 000076 PSOUT ; Type node name to user
828 002104' 200 03 0 00 000147' MOVE T3,SAVSTS ;RETRIEVE THE LINK STATUS
829 002105' 603 03 0 00 400000 TXNE T3,MO%CON ;STILL CONNECTED?
830 002106' 254 00 0 00 002112' JRST ESC2 ;YES
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 17-1
SETHOS MAC 4-Jan-82 08:34 ESC - Handle input of panic escape character from terminal
831 002107' 561 01 0 00 002630' ESC1: TMSG < - >
832 002110' 104 00 0 00 000076
833 002111' 254 00 0 00 002023' JRST NOTCO1
834
835 002112' ESC2: HRROI T1,[ASCIZ/,
836 Type CONTINUE to resume connection
837 002112' 561 01 0 00 002656' /] ; Let him know how to restart
838 002113' 104 00 0 00 000076 PSOUT
839 002114' 104 00 0 00 000141 CIS
840 002115' 104 00 0 00 000170 HALTF ; Halt here until continued
841
842 002116' 561 01 0 00 002666' REENT: HRROI T1,[ASCIZ/%Reconnecting to node /]
843 002117' 104 00 0 00 000076 PSOUT ; Let user know we are restarting
844 002120' 561 01 0 00 000141' HRROI T1,DESTND ;POINT TO NODE NAME
845 002121' 104 00 0 00 000076 PSOUT ;PUT IT OUT
846 TMSG < ....
847 002122' 561 01 0 00 002673' >
848 002123' 104 00 0 00 000076
849 002124' 201 01 0 00 000101 MOVEI T1,.PRIOU ; Users terminal
850 002125' 262 17 0 00 000002 POP P,T2 ; Desired TTY modes
851 002126' 104 00 0 00 000110 SFMOD ; Set new JFN mode word
852 002127' 336 00 0 00 000221' SKIPN PTYF ;LOCAL CHARACTER HANDLING?
853 002130' 254 00 0 00 002133' IFSKP.
854 002131' 200 01 0 00 000220' MOVE T1,FORK ; Restore process handle
855 002132' 104 00 0 00 000155 RFORK ; Resume the terminal input process
856 002133' ENDIF.
857 002133' 120 01 0 00 000143' DMOVE T1,SAVACE ; Restore the AC's
858 002134' 120 03 0 00 000145' DMOVE T3,SAVACE+2
859 002135' 254 00 0 00 001464' JRST GOTDA1
860
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 18
SETHOS MAC 4-Jan-82 08:34 DOINP0 - Read terminal input and send to remote host
861 SUBTTL DOINP0 - Read terminal input and send to remote host
862
863 ;
864 ; Note: This routine runs as a separate process to read characters
865 ; from the users terminal and send them to the NRTSRV server
866 ; which is running on the remote host system.
867 ; It is only started if PTYF is on.
868
869 002136' 201 04 0 00 000310 DOINP0: MOVEI T4,MAXINP ; Maximum input characters
870 002137' 200 03 0 00 002537' MOVE T3,[POINT 7,INSTR] ; Where they are going
871 002140' 201 01 0 00 000100 MOVEI T1,.PRIIN ; Primary input
872 002141' 104 00 0 00 000050 BIN ; Wait for a byte
873 002142' 254 00 0 00 002147' JRST DOIN0 ; Got one, go handle it...
874
875 002143' 104 00 0 00 000102 DOINP: SIBE ; Any bytes?
876 002144' 334 00 0 00 000000 SKIPA ; Yes
877 002145' 254 00 0 00 002151' JRST EMPTY ; No
878 002146' 104 00 0 00 000050 BIN ; Get another byte
879 002147' 136 02 0 00 000003 DOIN0: IDPB T2,T3 ; Stash it in input stream buffer
880 002150' 367 04 0 00 002143' SOJG T4,DOINP ; Do it all
881 002151' 211 03 0 00 000310 EMPTY: MOVNI T3,MAXINP ; Maximum characters
882 002152' 270 03 0 00 000004 ADD T3,T4 ; Compute number to send
883 002153' 322 03 0 00 002136' JUMPE T3,DOINP0 ; If none, go wait
884 002154' 200 01 0 00 000007' MOVE T1,DCNJFN ; The network JFN
885 002155' 561 02 0 00 000010' HRROI T2,INSTR ; Pointer to input stream buffer
886 002156' 104 00 0 00 000532 SOUTR ; Send this buffer to remote MCBNRT
887 002157' 254 00 0 00 002136' JRST DOINP0 ; And continue
888
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 19
SETHOS MAC 4-Jan-82 08:34 MSGTBL - Table of DECnet disconnect/abort reason text
889 SUBTTL MSGTBL - Table of DECnet disconnect/abort reason text
890
891 ;
892 ; This table is used by the BADCON routine to provide an english
893 ; text translation for the DECnet error codes which indicate why
894 ; the network logical link connection was broken
895 ;
896
897 ;MACRO TO MAKE ENTRIES IN NSP ERROR TABLE
898
899 000062 MAXMSG==^D50 ; Maximum number of NSP error messages
900
901 DEFINE NSPERR (CODE,TEXT,BASE<MSGTBL>),<
902 .ORG BASE+CODE
903 POINT 7,[ASCIZ\ TEXT\]
904 .ORG
905 >
906 002160' MSGTBL: ;DECNET ERROR TEXT TABLE
907
908 REPEAT MAXMSG,<POINT 7,[ASCIZ\: Undefined NSP error\]> ;MAKE TABLE SPACE
909 002160' 44 07 0 00 002675'
910 002161' 44 07 0 00 002675'
911 002162' 44 07 0 00 002675'
912 002163' 44 07 0 00 002675'
913 002164' 44 07 0 00 002675'
914 002165' 44 07 0 00 002675'
915 002166' 44 07 0 00 002675'
916 002167' 44 07 0 00 002675'
917 002170' 44 07 0 00 002675'
918 002171' 44 07 0 00 002675'
919 002172' 44 07 0 00 002675'
920 002173' 44 07 0 00 002675'
921 002174' 44 07 0 00 002675'
922 002175' 44 07 0 00 002675'
923 002176' 44 07 0 00 002675'
924 002177' 44 07 0 00 002675'
925 002200' 44 07 0 00 002675'
926 002201' 44 07 0 00 002675'
927 002202' 44 07 0 00 002675'
928 002203' 44 07 0 00 002675'
929 002204' 44 07 0 00 002675'
930 002205' 44 07 0 00 002675'
931 002206' 44 07 0 00 002675'
932 002207' 44 07 0 00 002675'
933 002210' 44 07 0 00 002675'
934 002211' 44 07 0 00 002675'
935 002212' 44 07 0 00 002675'
936 002213' 44 07 0 00 002675'
937 002214' 44 07 0 00 002675'
938 002215' 44 07 0 00 002675'
939 002216' 44 07 0 00 002675'
940 002217' 44 07 0 00 002675'
941 002220' 44 07 0 00 002675'
942 002221' 44 07 0 00 002675'
943 002222' 44 07 0 00 002675'
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page 19-1
SETHOS MAC 4-Jan-82 08:34 MSGTBL - Table of DECnet disconnect/abort reason text
944 002223' 44 07 0 00 002675'
945 002224' 44 07 0 00 002675'
946 002225' 44 07 0 00 002675'
947 002226' 44 07 0 00 002675'
948 002227' 44 07 0 00 002675'
949 002230' 44 07 0 00 002675'
950 002231' 44 07 0 00 002675'
951 002232' 44 07 0 00 002675'
952 002233' 44 07 0 00 002675'
953 002234' 44 07 0 00 002675'
954 002235' 44 07 0 00 002675'
955 002236' 44 07 0 00 002675'
956 002237' 44 07 0 00 002675'
957 002240' 44 07 0 00 002675'
958 002241' 44 07 0 00 002675'
959 ; & UNDEFINED ENTRIES
960
961 002160' 44 07 0 00 002702' NSPERR (.DCX0,<No special error>)
962 002161' 44 07 0 00 002706' NSPERR (.DCX1,<Resource allocation failure>)
963 002162' 44 07 0 00 002714' NSPERR (.DCX2,<Destination node does not exist>)
964 002163' 44 07 0 00 002723' NSPERR (.DCX3,<Node shutting down>)
965 002164' 44 07 0 00 002727' NSPERR (.DCX4,<Destination NVT process does not exist>)
966 002165' 44 07 0 00 002737' NSPERR (.DCX5,<Invalid name field>)
967 002171' 44 07 0 00 002743' NSPERR (.DCX9,<NVT server aborted link>)
968 002173' 44 07 0 00 002750' NSPERR (.DCX11,<Undefined error>)
969 002205' 44 07 0 00 002754' NSPERR (.DCX21,<CI with illegal destination address>)
970 002210' 44 07 0 00 002764' NSPERR (.DCX24,<Flow control violation>)
971 002220' 44 07 0 00 002771' NSPERR (.DCX32,<Too many connections to node>)
972 002221' 44 07 0 00 002777' NSPERR (.DCX33,<Too many connections to destination NVT process>)
973 002222' 44 07 0 00 003011' NSPERR (.DCX34,<Access not permitted>)
974 002223' 44 07 0 00 003016' NSPERR (.DCX35,<Logical link services mismatch>)
975 002224' 44 07 0 00 003025' NSPERR (.DCX36,<Invalid account>)
976 002225' 44 07 0 00 003031' NSPERR (.DCX37,<Segment size too small>)
977 002226' 44 07 0 00 003036' NSPERR (.DCX38,<NVT process aborted, timed out, or cancelled request>)
978 002227' 44 07 0 00 003051' NSPERR (.DCX39,<No path to destination node>)
979 002230' 44 07 0 00 003057' NSPERR (.DCX40,<Link aborted due to data loss>)
980 002231' 44 07 0 00 003066' NSPERR (.DCX41,<Destination logical link address does not exist>)
981 002232' 44 07 0 00 003100' NSPERR (.DCX42,<Confirmation of disconnect initiate>)
982 002233' 44 07 0 00 003110' NSPERR (.DCX43,<Image data field too long>)
983
984
985 000003 001163' END 3,,EVEC
NO ERRORS DETECTED
PROGRAM BREAK IS 003116
CPU TIME USED 00:08.022
85P CORE USED
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page S-1
SETHOS MAC 4-Jan-82 08:34 SYMBOL TABLE
A 000001 EPCAP 104000 000151 int P 000017 int TSTCO2 002404'
AIC 104000 000131 int ERJMP 320700 000000 int PC 000225' TSTCON 001310'
ALLON 001566' ESC 002040' PDL 000277' TT%DAM 000300 sin
ATEND 001657' ESC1 002107' PREHST 001242' TT%ECO 004000 sin
ATI 104000 000137 int ESC2 002112' PRES1 001741' TT%WAK 170000 sin
ATMBLN 000141 sin ESCHAR 001217' PRES2 001750' UESCCH 000004'
ATMBUF 000560' int ESOUT 104000 000313 int PRESC0 001764' VEDIT 000001 spd
BADCON 001774' EVEC 001163' PRESC1 001770' VIRGIN 000224'
BIN 104000 000050 int FFORK 104000 000154 int PRESCN 001723' VMAJOR 000005 spd
CALL 260740 000000 FORK 000220' PSOUT 104000 000076 int VMINOR 000000 spd
CFIBF 104000 000100 int GJ%SHT 000001 000000 sin PTYF 000221' VSETHO 000500 000001 spd
CFIELD 001243' ext GOTCON 001326' Q1 000005 sin VWHO 000000 spd
CFOBF 104000 000101 int GOTDA1 001464' Q2 000006 sin WAIT 104000 000306 int
CFORK 104000 000152 int GOTDA2 001532' QUIT 001443' ..0005 001202' spd
CHNTAB 000233' GOTDAX 001523' REENT 002116' ..0013 001360' spd
CIS 104000 000141 int GTJFN 104000 000020 int REPARA 000761' int ..0021 001377' spd
CJFNBK 000741' int GUDCHR 001706' RESET 104000 000147 int ..0027 001417' spd
CJFNLN 000020 sin HALTF 104000 000170 int RET 263740 000000 ..0035 001503' spd
CLOSF 104000 000022 int HSTNAM 001240' RFMOD 104000 000107 int ..0043 001515' spd
CM%DPP 000002 000000 sin HSTTYN 000015 RFORK 104000 000155 int ..0051 001561' spd
CM%FNC 777000 000000 sin HSTTYP 001446' RLJFN 104000 000023 int ..0057 001700' spd
CM%HPP 000004 000000 sin INSIZ 000050 spd ROUTE 000101' ..0065 002002' spd
CM%SDH 000001 000000 sin INSTR 000010' RPCAP 104000 000150 int ..0073 002046' spd
CMDACS 000540' int IPTYF 000000 spd RSCAN 104000 000500 int ..0101 002072' spd
CMDBLN 000141 sin JSERR 000000000000# pol RSKP 002602' ext ..0107 002133' spd
CMDBUF 000377' int JSERR0 000000 ext RT0 001335' ..MX1 000003 spd
CMDFRM 000762' int JSHLT 000000000000# pol RTERR 001435' ..MX2 000001 spd
CMDINI 001171' ext JSHLT0 000000 ext RTERR0 001435' ..TX1 400000 000000 spd
CMDPDL 000763' int KFORK 104000 000153 int SAVACE 000143' ..TX2 000001 spd
CMDPLN 000200 sin LEVTAB 000230' SAVSTS 000147' ..XX 017005 000000 spd
COLDS0 001606' LOCAL 000005' SAVTTO 001544' .A16 000016 spd
COLDSH 001576' MAXINP 000310 spd SBK 000721' int .AC1 000001 spd
CR%MAP 400000 000000 sin MAXMSG 000062 spd SC%CTC 400000 000000 sin .CHLFD 000012 sin
CTRLY 000060' MEMBUF 101000 spd SDBUF 000200 spd .CMTXT 000017 sin
CX 000016 int MEMPTR 000222' SETTMD 001254' .DCX0 000000 sin
CZ%ABT 004000 000000 sin MO%ABT 010000 000000 sin SFMOD 104000 000110 int .DCX1 000001 sin
DBUFFR 100000 spd MO%CON 400000 000000 sin SFORK 104000 000157 int .DCX11 000013 sin
DCNJFN 000007' MO%WCC 040000 000000 sin SH%LPM 400000 000000 sin .DCX2 000002 sin
DESTND 000141' MO%WFC 100000 000000 sin SIBE 104000 000102 int .DCX21 000025 sin
DISMS 104000 000167 int MSGTBL 002160' SIN 104000 000052 int .DCX24 000030 sin
DOIN0 002147' MTOPR 104000 000077 int SINR 104000 000531 int .DCX3 000003 sin
DOINP 002143' NAME 000150' SIR 104000 000125 int .DCX32 000040 sin
DOINP0 002136' NMEMBF 000777 spd SOUT 104000 000053 int .DCX33 000041 sin
DOJFN 001277' NMSPC 000223' SOUTR 104000 000532 int .DCX34 000042 sin
DPROMP 001762' ext NODE 104000 000567 int START 001166' .DCX35 000043 sin
DUN 001671' NODE0 000061' STATUS 000000' .DCX36 000044 sin
DUN1 001672' NOR 001352' STIMSK 000003' .DCX37 000045 sin
DUN2 001702' NOTCO1 002023' STIW 104000 000174 int .DCX38 000046 sin
EIR 104000 000126 int NOTCON 002017' T1 000001 int .DCX39 000047 sin
EMPTY 002151' NPDL 000100 spd T2 000002 int .DCX4 000004 sin
ENDO0 001635' OF%BSZ 770000 000000 sin T3 000003 int .DCX40 000050 sin
ENDO1 001654' OF%MOD 007400 000000 sin T4 000004 int .DCX41 000051 sin
ENDO3 001620' OF%RD 200000 sin TOPS10 000011 spd .DCX42 000052 sin
ENDO4 001625' OF%WR 100000 sin TOPS20 000010 spd .DCX43 000053 sin
ENDOF 001614' OPENF 104000 000021 int TSTCO1 001324' .DCX5 000005 sin
SETHOS - Program to permit logins to remote network host MACRO %53B(1215) 11:08 5-May-82 Page S-2
SETHOS MAC 4-Jan-82 08:34 SYMBOL TABLE
.DCX9 000011 sin
.FHJOB 777773 sin
.FHSLF 400000 sin
.GSSMB 000001 sin
.MORDA 000033 sin
.MORLS 000025 sin
.MOSNH 000044 sin
.N1 000000 spd
.NAC 000004 spd
.NDGLN 000001 sin
.PRIIN 000100 sin
.PRIOU 000101 sin
.RSCNT 000001 sin
.RSINI 000000 sin
.TICCY 000031 sin
.TICCZ 000032 sin
.TICTI 000037 sin
A 216 238 704
ALLON 209 288 305 333 408 542# 582 592 725 813
ATEND 614 619 622#
ATMBLN 177# 177
ATMBUF 177# 220 243
BADCON 377 484 495 513 724#
CFIELD 219 241
CHNTAB 138# 204
CJFNBK 177#
CJFNLN 177# 177
CM%DPP 218
CM%FNC 218 240
CM%HPP 218 240
CM%SDH 218 240
CMDACS 177#
CMDBLN 177# 177
CMDBUF 177#
CMDFRM 178#
CMDINI 189
CMDPDL 179#
CMDPLN 179# 179
COLDS0 565# 569
COLDSH 273 557#
CR%MAP 193
CTRLY 122# 412 703
CX 93#
CZ%ABT 769
DBUFFR 99# 350 356 359 374 378 381 434 481 499 511
DCNJFN 120# 291 302 312 330 345 361 373 466 480 505 731 750 768
801 884
DESTND 125# 636 844
DOIN0 873 879#
DOINP 875# 880
DOINP0 367 869# 883 887
DOJFN 284#
DPROMP 217 239 705
DUN 570 586 636#
DUN1 637# 648
DUN2 642 646#
EMPTY 877 881#
ENDO0 601# 621
ENDO1 603 619#
ENDO3 563 578# 606
ENDO4 588# 618
ENDOF 567 574#
ESC 139 786#
ESC1 804 831#
ESC2 830 835#
ESCHAR 212 216# 225
EVEC 182# 985
FORK 129# 198 366 728 790 854
GJ%SHT 284
GOTCON 317 340#
GOTDA1 464# 478 504 508 859
GOTDA2 413 427 505#
GOTDAX 380 489 498# 514
GUDCHR 562 587 617 657#
HSTNAM 234 238# 290 308 334 410 583 593 815
HSTTYN 383 460#
HSTTYP 402 446# 460
INSIZ 97# 98 121
INSTR 121# 242 247 253 255 557 733 744 870 885
IPTYF 85# 130
JSERR 287 301 753 771
JSHLT 196 370 475
LEVTAB 135# 204
LOCAL 119# 419 422 823 826
MAXINP 98# 869 881
MAXMSG 760 899# 908
MEMBUF 101# 529
MEMPTR 131# 530 535 537
MO%ABT 320
MO%CON 316 829
MO%WCC 805
MO%WFC 318
MSGTBL 761 906# 961 962 963 964 965 966 967 968 969 970 971 972
973 974 975 976 977 978 979 980 981 982
NAME 128# 274 285
NMEMBF 102# 531
NMSPC 132# 192 526 532 534
NODE0 123# 278 558
NOR 341 358 364#
NOTCO1 755# 833
NOTCON 324 750#
NPDL 96# 175 187
OF%BSZ 298
OF%MOD 298
OF%RD 298
OF%WR 298
P 94# 187 397 401 468 469 470 473 476 519 520 521 522 523
524 622 633 795 850
PC 134# 135 136 137
PDL 175# 187
PREHST 211 240#
PRES1 687# 693
PRES2 689 695#
PRESC0 686 710# 712
PRESC1 677 680 717#
PRESCN 210 673#
PTYF 130# 190 364 464 503 726 788 852
Q1 91# 560 597 615 616 637
Q2 92#
QUIT 390 439#
REENT 183 842#
REPARA 177#
ROUTE 124# 281 340 346 559 598
RSKP 660 664 668 674 681 691 713
RT0 350# 362
RTERR 349 353 429#
RTERR0 357 430#
SAVACE 126# 786 787 857 858
SAVSTS 127# 817 828
SAVTTO 501 519#
SBK 177#
SC%CTC 202
SDBUF 100# 375 379
SETTMD 261 265#
SH%LPM 472
START 182 186# 197 371 441 720 754 774
STATUS 116#
STIMSK 117# 233 271 702
T1 87# 193 198 200 218 220 221 222 223 226 227 228 230 231
232 233 240 242 246 247 248 251 255 257 265 270 274 284
291 302 310 312 321 325 330 345 359 361 366 373 378 379
381 382 383 392 393 397 401 402 417 422 430 434 436 466
480 498 505 519 523 525 526 529 530 531 532 535 537 542
545 622 623 624 625 626 627 629 633 675 678 681 682 695
696 697 699 700 701 702 717 728 731 737 738 739 742 744
748 750 761 764 768 769 786 790 793 799 801 818 821 826
835 842 844 849 854 857 871 884
T2 88# 194 204 206 226 231 243 252 267 268 271 275 278 280
282 285 298 313 346 350 355 367 374 418 467 481 485 491
499 509 510 511 520 523 543 547 557 560 561 565 576 584
595 596 597 601 604 609 612 613 616 630 634 684 685 687
688 690 711 732 751 755 760 761 795 796 802 822 850 879
885
T3 89# 202 244 252 253 276 316 318 320 347 351 379 418 419
468 482 485 491 492 493 500 510 521 523 525 534 558 568
575 598 600 607 608 620 623 626 627 630 631 634 636 646
733 738 755 787 805 817 822 823 828 829 858 870 879 881
882 883
T4 90# 309 325 354 355 356 357 358 379 471 472 473 488 492
496 500 509 522 523 561 565 566 568 569 574 575 576 577
584 585 594 595 596 599 600 601 602 604 605 607 608 609
610 611 612 613 619 620 637 638 641 644 645 646 647 657
659 661 663 665 667 734 742 869 880 882
TOPS10 105# 393
TOPS20 104# 392
TSTCO1 319 325#
TSTCO2 329# 334
TSTCON 310# 335
TT%DAM 268 547 796
TT%ECO 268 547
TT%WAK 267
UESCCH 118# 221 471 696
VEDIT 109# 112
VIRGIN 133# 188 673
VMAJOR 107# 112
VMINOR 108# 112
VSETHO 112# 184
VWHO 110# 112
..0005 191 199#
..0013 365 372#
..0021 385 391#
..0027 396 411#
..0035 465 479#
..0043 487 490#
..0051 527 533#
..0057 640 643#
..0065 727 730#
..0073 789 792#
..0101 807 816#
..0107 853 856#
..MX1 193# 193 206# 206 230# 230 246# 246 270# 270 284# 284 313# 313
417# 417 418# 418 542# 542 678# 678 699# 699 821# 821 822# 822
..MX2 193# 193 194 206# 206 207 230# 230 231 246# 246 247 270# 271
284# 284 285 313# 314 417# 418 418# 419 542# 543 678# 679 699#
699 700 821# 822 822# 823
..TX1 202# 202 232# 232 267# 267 268# 268 316# 316 318# 318 320# 320
472# 472 547# 547 701# 701 769# 769 796# 796 805# 805 829# 829
..TX2 202# 202 203 232# 233 267# 268 268# 269 316# 316 317 318# 318
319 320# 320 321 472# 472 473 547# 548 701# 702 769# 769 770
796# 797 805# 805 806 829# 829 830
..XX 218# 218 240# 240
.A16 523 524
.AC1 307 388 399 406 415 425 581 591 811 831 847
.CHLFD 690 711
.CMTXT 218 240
.DCX0 961
.DCX1 962
.DCX11 968
.DCX2 963
.DCX21 969
.DCX24 970
.DCX3 964
.DCX32 971
.DCX33 972
.DCX34 973
.DCX35 974
.DCX36 975
.DCX37 976
.DCX38 977
.DCX39 978
.DCX4 965
.DCX40 979
.DCX41 980
.DCX42 981
.DCX43 982
.DCX5 966
.DCX9 967
.FHJOB 270 542
.FHSLF 200
.GSSMB 298
.MORDA 732
.MORLS 313 751 802
.MOSNH 467
.N1 523# 523
.NAC 519# 520 520# 521 521# 522 522# 523 523#
.NDGLN 251 417 821
.PRIIN 265 470 545 682 799 871
.PRIOU 498 793 849
.RSCNT 678
.RSINI 675
.TICCY 695 700
.TICCZ 222
.TICTI 232 701
AIC 207
ATI 229 698
BIN 683 692 710 872 878
CALL 189 209 210 217 219 239 241 273 288 305 333 408 501 562
582 587 592 617 705 725 813
CFIBF 800
CFOBF 798
CFORK 195
CIS 724 839
CLOSF 331 770
CMDSTG 177
DISMS 311
EIR 208
ELSE. 191 191# 199# 365 365# 372# 384 384# 391# 395 395# 411# 465 465#
479# 487 487# 490# 527 527# 533# 639 639# 643# 727 727# 730# 789
789# 792# 806 806# 816# 853 853# 856#
ENDIF. 191 191# 199 199# 365 365# 372 372# 384 384# 391 391# 395 395#
411 411# 465 465# 479 479# 487 487# 490 490# 527 527# 533 533#
639 639# 643 643# 727 727# 730 730# 789 789# 792 792# 806 806#
816 816# 853 853# 856 856#
EPCAP 203
ERJMP 301 315 349 353 369 377 475 484 495 513 677 680 736 753
771 804
ESOUT 224 718
FFORK 791
FLD 218 240 298
FLDDB. 218 240
GTJFN 286
HALTF 289 440 719 773 840
IFNSK. 384 395 639 806
IFSKP. 191 365 465 487 527 727 789 853
KFORK 729
MOVX 193 206 230 246 270 284 313 417 418 542 678 699 821 822
MTOPR 314 474 735 752 803
NODE 254 420 824
NSPERR 901# 961 962 963 964 965 966 967 968 969 970 971 972 973
974 975 976 977 978 979 980 981 982
OPENF 300
PROMPT 216 238 704
PSOUT 250 256 259 307 323 329 360 389 400 403 407 416 423 426
433 435 438 581 591 741 743 745 749 763 767 812 820 827
832 838 843 845 848
RESET 186 369 409 439 814
RET 538 549 649 658 662 666 669 706
RETSKP 660 664 668 674 681 691 713
RFMOD 266 546 794
RFORK 855
RLJFN 303
RPCAP 201
RSCAN 676 679
SAVEAC 519
SFMOD 269 548 797 851
SFORK 368
SIBE 486 506 875
SIN 483 494 512 632
SINR 352 376
SIR 205
SOUT 245 277 279 283 502 536
SOUTR 348 886
STIW 272 544
TMSG 306 386 398 404 414 424 578 588 808 831 846
TXNE 316 318 320 805 829
TXO 202 232 267 472 547 701 769 796
TXZ 268
WAIT 477
..0001 191# 199
..0002 191# 199
..0003 191# 199
..0004 191# 199
..0007 365# 372
..0010 365# 372
..0011 365# 372
..0012 365# 372
..0015 384# 391
..0016 384# 391
..0017 384# 391
..0020 384# 391
..0023 395# 411
..0024 395# 411
..0025 395# 411
..0026 395# 411
..0031 465# 479
..0032 465# 479
..0033 465# 479
..0034 465# 479
..0037 487# 490
..0040 487# 490
..0041 487# 490
..0042 487# 490
..0045 527# 533
..0046 527# 533
..0047 527# 533
..0050 527# 533
..0053 639# 643
..0054 639# 643
..0055 639# 643
..0056 639# 643
..0061 727# 730
..0062 727# 730
..0063 727# 730
..0064 727# 730
..0067 789# 792
..0070 789# 792
..0071 789# 792
..0072 789# 792
..0075 806# 816
..0076 806# 816
..0077 806# 816
..0100 806# 816
..0103 853# 856
..0104 853# 856
..0105 853# 856
..0106 853# 856
..INDF 191 365 384 395 465 487 527 639 727 789 806 853
..RSDF 199 372 391 411 479 490 533 643 730 792 816 856
..SVDF 191 365 384 395 465 487 527 639 727 789 806 853
..TAGE 191 192# 199# 365 366# 372# 384 386# 391# 395 397# 411# 465 466#
479# 487 488# 490# 527 528# 533# 639 641# 643# 727 728# 730# 789
790# 792# 806 808# 816# 853 854# 856#
..TAGF 191 192# 199 199# 365 366# 372 372# 384 386# 391 391# 395 397#
411 411# 465 466# 479 479# 487 488# 490 490# 527 528# 533 533#
639 641# 643 643# 727 728# 730 730# 789 790# 792 792# 806 808#
816 816# 853 854# 856 856#
.POPX 199 372 391 411 479 490 533 643 730 792 816 856
.POPX2 199 372 391 411 479 490 533 643 730 792 816 856
.POPX3 199 372 391 411 479 490 533 643 730 792 816 856
.POPX4 199 372 391 411 479 490 533 643 730 792 816 856
.PSHX 191 365 384 395 465 487 527 639 727 789 806 853
.PSHX1 191 191# 199 199# 365 365# 372 372# 384 384# 391 391# 395 395#
411 411# 465 465# 479 479# 487 487# 490 490# 527 527# 533 533#
639 639# 643 643# 727 727# 730 730# 789 789# 792 792# 806 806#
816 816# 853 853# 856 856#
.PSHX2 191 365 384 395 465 487 527 639 727 789 806 853