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