Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/utilities/dnconn.list
There are no other files named dnconn.list in the archive.
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
1 ;<LCAMPBELL.DECNET>DNCONN.MAC.57 21-May-81 12:49:26, Edit by LCAMPBELL
2 ; Allow nonexistent host table, implement account/userid/pswd for
3 ; non-pass-through hosts, lengthen sleep times, etc. etc.
4 ;<LCAMPBELL.DECNET>DNCONN.MAC.53 20-May-81 14:46:34, Edit by LCAMPBELL
5 ;<LCAMPBELL.DECNET>DNCONN.MAC.52 20-May-81 14:43:02, Edit by LCAMPBELL
6 ; Return addr of host table to caller of .DNINI (for COMND recognition)
7 ;<LCAMPBELL.DECNET>DNCONN.MAC.51 20-May-81 13:57:13, Edit by LCAMPBELL
8 ; Added /NOMAIL20 for MS's use (we ignore it)
9 ;<LCAMPBELL.DECNET>DNCONN.MAC.50 19-May-81 12:52:30, Edit by LCAMPBELL
10 ; Created from code ripped out of DMAILR
11
12 ;This software is furnished under a license and may only be used
13 ; or copied in accordance with the terms of such license.
14 ;
15 ;Copyright (C) 1981 by Digital Equipment Corporation
16 ; Maynard, Massachusetts, USA
17
18
19 TITLE DNCONN - DECNET Connect Utility
20
21 SUBTTL Larry Campbell
22
23 SEARCH MACSYM,MONSYM
24 SALL
25 .DIRECTIVE FLBLST
26
27 000001 T1=1
28 000002 T2=2
29 000003 T3=3
30 000004 T4=4
31 000005 P1=5
32 000006 P2=6
33 000007 P3=7
34 000010 P4=10
35 000012 AP=12 ; Argument block pointer
36 000013 F=13 ; Flags
37 000014 W1=14
38 000015 W2=15
39 000016 JFN=16
40 000017 P=17
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 2
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
41
42 ;User interface to DNCONN - DECNET connect utility, with pass-through
43 ;
44 ;Routines are called by PUSHJ 17,<routine>
45 ;All accumulators except 1 and 2 are preserved
46 ;
47 ;Entry points:
48 ;
49 ;.DNINI Init routing database and memory manager
50 ;
51 ; AC1/ address of argument block (see DNCUNV.MAC for format)
52 ;
53 ;Return +1: failure, AC1 points to error message, and error
54 ; message has already been output to appropriate destination
55 ; +2: success, AC1 contains address of TBLUK table containing
56 ; names of all known hosts (the RH of each entry in this table
57 ; should be ignored by the calling program)
58 ;
59 ; Called only once at program startup, or whenever the routing
60 ; database might have changed. The argument block is the
61 ; same as that for .DNCON, but the only entries referenced
62 ; are DN.ERR, DN.WRN, and DN.INF, and these only if errors occur.
63 ; (DMAILR calls .DNINI whenever it wakes up to scan
64 ; for work to do)
65 ;
66 ;
67 ;.DNCON Connect to remote object
68 ;
69 ; AC1/ address of argument block
70 ;
71 ;Return +1: failure, AC1 contains either:
72 ; String pointer to text of error message
73 ;
74 ; In addition, if DN.ERR, DN.WRN, or DN.INF contain
75 ; a destination designator, the appropriate text
76 ; will have been written to the destination.
77 ;
78 ; +2: success, JFN for net link in AC1
79 ;
80 ;The caller is responsible for all subsequent I/O and for closing the net link.
81 ;
82 ;Arguments for .DNCON routine - Connect to remote object
83 ;
84 ; Name Offset Contents
85 ; ---- ------ --------
86 000000 DN.FLG== 0 ; Flag bits
87 400000 000000 DN%DTS==1B0 ; Preface msgs with date-time stamp
88 200000 000000 DN%SPL==1B1 ; Spooler - be more patient
89 000001 DN.HST== 1 ; String pointer to remote host name
90 000002 DN.ROB== 2 ; Remote object type (binary number)
91 000003 DN.LOB== 3 ; Local object type (binary number)
92 000004 DN.BSZ== 4 ; Byte size (binary number)
93 000005 DN.OPT== 5 ; String pointer to ASCIZ optional data string
94 000006 DN.PWD== 6 ; String pointer to ASCIZ password string
95 000007 DN.ACN== 7 ; String pointer to ASCIZ account string
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 2-1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
96 000010 DN.USR==10 ; String pointer to ASCIZ user-ID string
97 000011 DN.ROP==11 ; Destination designator for returned optional data
98 000012 DN.RPC==12 ; Maximum byte count for DN.ROP
99 000013 DN.ERR==13 ; Destination designator for error messages
100 000014 DN.WRN==14 ; Destination designator for warning messages
101 000015 DN.INF==15 ; Destination designator for informational messages
102
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 3
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
103
104 ;Parameters
105
106 020000 STRN==20000 ; Number of words for string space
107 000204 ROUTEN==^D132 ; Max chars in routing string
108 000047 HOSTNN==^D39 ; Max chars in a hostname
109 000500 HSTPAG==500 ; Page into which we map DECNET-HOSTS.TXT
110
111 ;Impure storage
112
113 000000' DATBEG:
114 000000' PMRHAK: BLOCK 1
115 000001' ATTEMP: BLOCK 1
116 000002' HTABJ: BLOCK 1
117 000003' HNPTR: BLOCK 1
118 000004' RTPTR: BLOCK 1
119 000005' HFPGS: BLOCK 1
120 000006' HFCNT: BLOCK 1
121 000007' HFPTR: BLOCK 1
122 000010' HSTR: BLOCK 20
123 000030' TERM: BLOCK 1
124 000031' NETJFN: BLOCK 1
125 000032' TMPST: BLOCK <ROUTEN+5>/5
126 000065' NJ: BLOCK 1
127 000066' FNAME: BLOCK 20
128 000106' PTR0: BLOCK 1
129 000107' ERRBUF: BLOCK 50 ; Error message buffer
130 000157' PSSHST: BLOCK 10 ; Name of 1st host in multihop connection
131 000167' CURRUT: BLOCK 1 ; Address of current route string block
132 000170' CURHST: BLOCK 10 ; Current (1st) destination host
133 000200' HOSTAB: BLOCK 1000 ; Host name and route table (TBLUK-style)
134 001200' FBITS: BLOCK 1 ; Flag bits for current host
135 001201' STRSPC: BLOCK STRN ; String space
136 021201' STRSP0: BLOCK 1 ; Pointer to next free word in string space
137 021202' DATEND:
138 021202' ACSAV: BLOCK 20 ; AC save area
139
140 ;Switch table
141
142 021222' 000004 000004 SWTTAB: SWTTB0,,SWTTB0
143 021223' 022345' 000000 [ASCIZ /ANF10/],,0
144 021224' 022347' 000000 [ASCIZ /Gateway.ARPANET/],,0
145 021225' 022353' 000000 [ASCIZ /KAWELL/],,0
146 021226' 022355' 000000 [ASCIZ /NoMail20/],,0 ; Can't receive TOPS20-style mail
147 000004 SWTTB0==.-SWTTAB-1
148
149
150 ;MACRO definitions
151
152 DEFINE IERROR (STRING),< ;; Internal, fatal error
153 JRST [ HRROI T1,ERRBUF ;; Where to build error message
154 CALL DTSTMP ;; Date-time stamp maybe
155 MOVE T2,[POINT 7,[ASCIZ /STRING/]]
156 SETZB T3,T4
157 SOUT
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 3-1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
158 SKIPN T1,DN.ERR(AP)
159 JRST .DNLER
160 HRROI T2,[ASCIZ /
161 ?/]
162 SOUT
163 HRROI T2,ERRBUF
164 SOUT ;; then fill it
165 HRROI T2,[ASCIZ /
166 /]
167 SOUT
168 JRST .DNLER] ;; Return pointing to string
169 >
170
171
172 DEFINE JERR (PFX,STRING),< ;; JSYS error
173 CALL [ HRROI T1,ERRBUF ;; Where to build error string
174 CALL DTSTMP ;; CRLF and maybe timestamp
175 HRROI T2,[ASCIZ /STRING because: /]
176 SETZB T3,T4 ;; Build error string
177 SOUT
178 HRLOI T2,.FHSLF ;; Last JSYS error
179 ERSTR
180 JFCL
181 JFCL
182 SETZB T3,T4
183 HRROI T2,[ASCIZ /
184 PFX/]
185 SKIPE T1,DN.ERR(AP)
186 SOUT
187 HRROI T2,ERRBUF ;; Point to string we built
188 SKIPE T1,DN.ERR(AP) ;; If user supplied message sink,
189 SOUT ;; write the error there
190 HRROI T2,[ASCIZ /
191 /]
192 SKIPE T1,DN.ERR(AP)
193 MOVE T1,[POINT 7,ERRBUF]
194 RET]
195 >
196
197 DEFINE JERROR (PFX,STRING),<
198 JRST [ JERR (PFX,STRING)
199 JRST .DNLER] ;; Go return failure to caller
200 >
201
202 DEFINE WARN (STRING),< ;; Do warning message
203 CALL [IFIDN <STRING><CRLF>,<
204 HRROI T1,ERRBUF
205 CALL DTSTMP
206 >
207 IFDIF <STRING><CRLF>,<
208 HRROI T2,[ASCIZ /STRING/]
209 SETZB T3,T4
210 SOUT
211 >
212 RET] ;; Continue on, this is nonfatal
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 3-2
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
213 >
214
215
216 ;Type an informational message
217
218 DEFINE INFO(STRING),<
219 CALL [IFIDN <STRING><CRLF>,<
220 HRROI T2,[ASCIZ/
221 /]
222 SETZB T3,T4
223 SKIPE T1,DN.INF(AP)
224 SOUT
225 SKIPE T1,DN.INF(AP)
226 CALL DTSTMP ;; CRLF and maybe timestamp
227 >
228 IFDIF <STRING><CRLF>,<
229 HRROI T2,[ASCIZ /STRING/]
230 SETZB T3,T4
231 SKIPE T1,DN.INF(AP) ;; if one exists
232 SOUT
233 >
234 RET]
235 >
236 ;Route-string block definitions
237
238 000000 RB.LNK==0 ; Link to next route-string block
239 000001 RB.FLG==1 ; Flag bits
240 000002 RB.RST==2 ; Routing string begins here
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 4
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
241
242 ;Jacket routines -- provide AC-saving and restoring and set up arg ptrs
243
244 ;Entry point for init routine
245
246 021227' 250 00 0 00 021202' .DNINI::EXCH 0,ACSAV ; First save ACs
247 021230' 200 00 0 00 022357' MOVE 0,[1,,ACSAV+1]
248 021231' 251 00 0 00 021221' BLT 0,ACSAV+17
249 021232' 200 12 0 00 000001 MOVE AP,T1 ; Get arg block pointer
250 021233' 200 13 0 12 000000 MOVE F,DN.FLG(AP) ; Load up flags AC
251 021234' 260 17 0 00 021261' CALL DNINI ; Do the work
252 021235' 124 01 0 00 021203' .DNRSK: DMOVEM T1,ACSAV+1 ; Return these two to caller
253 021236' 200 00 0 00 022360' MOVE 0,[ACSAV+1,,1] ; Restore the ACs
254 021237' 251 00 0 00 000017 BLT 0,17
255 021240' 200 00 0 00 021202' MOVE 0,ACSAV
256 021241' 254 00 0 00 022257' RETSKP
257
258 ;Here for failure return to caller
259
260 021242' 200 01 0 00 022361' .DNLER: MOVE T1,[POINT 7,ERRBUF]
261 021243' 124 01 0 00 021203' DMOVEM T1,ACSAV+1 ; Restore ACs
262 021244' 200 00 0 00 022360' MOVE 0,[ACSAV+1,,1]
263 021245' 251 00 0 00 000017 BLT 0,17
264 021246' 200 00 0 00 021202' MOVE 0,ACSAV
265 021247' 263 17 0 00 000000 RET
266
267
268 ;Entry point for connect utility
269
270 021250' 250 00 0 00 021202' .DNCON::EXCH 0,ACSAV ; Save ACs
271 021251' 200 00 0 00 022357' MOVE 0,[1,,ACSAV+1]
272 021252' 251 00 0 00 021221' BLT 0,ACSAV+17
273 021253' 200 12 0 00 000002 MOVE AP,T2
274 021254' 202 12 0 00 000000' MOVEM AP,PMRHAK
275 021255' 200 12 0 00 000001 MOVE AP,T1 ; Set up arg ptr
276 021256' 200 13 0 12 000000 MOVE F,DN.FLG(AP)
277 021257' 260 17 0 00 021465' CALL .DNCN0 ; Do the work
278 021260' 254 00 0 00 021235' CALLRET .DNRSK ; Go do winning return
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 5
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
279
280 ;DNINI - Init memory manager and routing database
281 ; Local flag: P2 nonzero indicates that we've found the routing string
282
283 021261' 260 17 0 00 022232' DNINI: CALL INIMEM ; Init memory manager
284 021262' 201 01 0 00 000777 MOVEI T1,777 ; Empty host table first
285 021263' 202 01 0 00 000200' MOVEM T1,HOSTAB ; ..
286 021264' 205 01 0 00 100001 MOVX T1,GJ%SHT!GJ%OLD
287 021265' 561 02 0 00 022362' HRROI T2,[ASCIZ /SYSTEM:DECNET-HOSTS.TXT/]
288 021266' 104 00 0 00 000020 GTJFN
289 021267' 320 16 0 00 022260' ERJMP R ; Just return quietly if no host table
290 021270' 200 02 0 00 022367' MOVX T2,<7B5>+OF%RD
291 021271' 104 00 0 00 000021 OPENF
292 021272' 320 16 0 00 022260' ERJMP R
293 021273' 202 01 0 00 000002' MOVEM T1,HTABJ
294 021274' 104 00 0 00 000036 SIZEF ; Get file size
295 021275' 255 00 0 00 000000 JFCL ; Unlikely
296 021276' 202 03 0 00 000005' MOVEM T3,HFPGS ; Save page count
297 021277' 200 01 0 00 022370' MOVE T1,[POINT 7,HSTPAG*1000]
298 021300' 202 01 0 00 000007' MOVEM T1,HFPTR ; save
299 021301' 514 01 0 00 000002' HRLZ T1,HTABJ ; Map from file page zero
300 021302' 200 02 0 00 022371' MOVE T2,[.FHSLF,,HSTPAG] ; to fork page HSTPAG
301 021303' 661 03 0 00 510000 TXO T3,PM%RD!PM%PLD!PM%CNT
302 021304' 104 00 0 00 000056 PMAP
303 021305' 200 01 0 00 000002' MOVE T1,HTABJ ; Get JFN back
304 021306' 200 02 0 00 022372' MOVE T2,[1,,.FBSIZ] ; Get byte count for file
305 021307' 201 03 0 00 000003 MOVEI T3,T3 ; Into T3
306 021310' 104 00 0 00 000063 GTFDB
307 021311' 320 16 0 00 022436' ERJMP [JERROR (?,<GTFDB failure for SYSTEM:DECNET-HOSTS.TXT>)]
308 021312' 202 03 0 00 000006' MOVEM T3,HFCNT ; Save
309 021313' 400 06 0 00 000000 SETZ P2, ;Flag that no routing string has been found yet
310 021314' 201 01 0 00 000010 DNINI0: MOVEI T1,<<HOSTNN+5>/5> ;Room for one host name plus null
311 021315' 260 17 0 00 022241' CALL ALLSTR ;Allocate string space
312 021316' 254 00 0 00 022456' IERROR <Host table from SYSTEM:DECNET-HOSTS.TXT too big for internal buffer>
313 021317' 505 01 0 00 440700 HRLI T1,(POINT 7,) ;Form byte pointer to this place
314 021320' 202 01 0 00 000003' MOVEM T1,HNPTR
315 021321' 201 01 0 00 000033 MOVEI T1,<<ROUTEN+5>/5> ;room for routing string plus null
316 021322' 260 17 0 00 022241' CALL ALLSTR
317 021323' 254 00 0 00 022456' IERROR <Host table from SYSTEM:DECNET-HOSTS.TXT too big for internal buffer>
318 021324' 505 01 0 00 440700 HRLI T1,(POINT 7,) ; Form byte pointer
319 021325' 202 01 0 00 000004' MOVEM T1,RTPTR
320 021326' 200 07 0 00 000003' MOVE P3,HNPTR ;First we're parsing hostnames
321 021327' 201 10 0 00 000047 MOVEI P4,HOSTNN ;max bytes in a hostname
322 021330' 260 17 0 00 021420' DNINI1: CALL TBIN ;Get next byte
323 021331' 254 00 0 00 021406' JRST DNINIX
324 021332' 306 01 0 00 000057 CAIN T1,"/" ; Switch?
325 021333' 260 17 0 00 021436' CALL HSTIDK ; Yes, parse it
326 021334' 306 01 0 00 000012 CAIN T1,12 ;EOL?
327 021335' 254 00 0 00 021360' JRST DNINI4 ;Yes, let's see what we've got
328 021336' 306 01 0 00 000075 CAIN T1,"=" ;MS handles synonyms, we ignore them
329 021337' 254 00 0 00 021344' JRST DNINI2
330 021340' 306 01 0 00 000054 CAIN T1,"," ;Start of routing string?
331 021341' 254 00 0 00 021351' JRST DNINI3 ;Yes, go handle
332 021342' 136 01 0 00 000007 IDPB T1,P3 ;No, deposit next char of hostname or route
333 021343' 367 10 0 00 021330' SOJG P4,DNINI1 ;Watch out for too-long strings
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 5-1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
334
335 021344' 260 17 0 00 021420' DNINI2: CALL TBIN ;Synonym - ignore entire line
336 021345' 254 00 0 00 021406' JRST DNINIX
337 021346' 302 01 0 00 000012 CAIE T1,12
338 021347' 254 00 0 00 021344' JRST DNINI2
339 021350' 254 00 0 00 021360' JRST DNINI4 ;OK, go see if we have something
340
341 021351' 400 01 0 00 000000 DNINI3: SETZ T1, ; Comma - tie off hostname string and
342 021352' 136 01 0 00 000007 IDPB T1,P3 ; begin parsing routing string
343 021353' 201 10 0 00 000204 MOVEI P4,ROUTEN ; Max chars in routing string
344 021354' 200 07 0 00 000004' MOVE P3,RTPTR ; Where to store routing string
345 021355' 271 07 0 00 000002 ADDI P3,RB.RST ; Skip to route string part of block
346 021356' 474 06 0 00 000000 SETO P2, ; Flag that routing string was found
347 021357' 254 00 0 00 021330' JRST DNINI1 ; Go eat more of the file
348
349 ;Here after EOL found. P2 will be nonzero if a routing string was found.
350
351 021360' 400 01 0 00 000000 DNINI4: SETZ T1, ;Insure ASCIZ
352 021361' 200 02 0 00 000007 MOVE T2,P3
353 021362' 136 01 0 00 000002 IDPB T1,T2 ; ..
354 021363' 201 01 0 00 000200' MOVEI T1,HOSTAB ;TBLUK table for hosts
355 021364' 560 02 0 00 000003' HRRO T2,HNPTR ; See if entry already in table
356 021365' 104 00 0 00 000537 TBLUK
357 021366' 607 02 0 00 040000 TXNN T2,TL%EXM ; Already there?
358 021367' 254 00 0 00 021377' JRST DNINI6 ; No, add to table then
359
360 ;If node already in table and this entry has no route string, ignore it
361
362 JUMPE P2,[MOVEI P4,<<HOSTNN+5>/5> ;No routing found - reuse string blks
363 MOVE P3,HNPTR ;Back to scanning hostname
364 SETZ P2, ;Flag no routing string found yet
365 021370' 322 06 0 00 022474' JRST DNINI1] ;Try next line in file
366 021371' 200 02 0 00 000001 DNINI5: MOVE T2,T1 ; Save addr of current block
367 021372' 550 01 0 01 000000 HRRZ T1,(T1) ; Move to next block in chain
368 021373' 326 01 0 00 021371' JUMPN T1,DNINI5 ; Look for end of chain
369 021374' 550 01 0 00 000004' HRRZ T1,RTPTR ; Get address of routing string
370 021375' 202 01 0 02 000000 MOVEM T1,(T2) ; Link to list
371 021376' 254 00 0 00 021404' JRST DNINI7 ; Done
372 021377' 201 01 0 00 000200' DNINI6: MOVEI T1,HOSTAB
373 021400' 504 02 0 00 000003' HRL T2,HNPTR ; Address of hostname
374 021401' 540 02 0 00 000004' HRR T2,RTPTR ; Address of routing string
375 021402' 104 00 0 00 000536 TBADD ; Add to the table
376 021403' 320 16 0 00 022541' ERJMP [JERROR (?,<TBADD error adding hosts to routing table>)]
377 021404' 400 06 0 00 000000 DNINI7: SETZ P2, ;reset route-string-found flag
378 021405' 254 00 0 00 021314' JRST DNINI0 ;OK, try for next guy
379
380 021406' 474 01 0 00 000000 DNINIX: SETO T1, ; Unmap file pages now
381 021407' 200 02 0 00 022371' MOVE T2,[.FHSLF,,HSTPAG]
382 021410' 200 03 0 00 000005' MOVE T3,HFPGS
383 021411' 661 03 0 00 400000 TXO T3,PM%CNT
384 021412' 104 00 0 00 000056 PMAP
385 021413' 200 01 0 00 000002' MOVE T1,HTABJ ;Close JFN and return
386 021414' 104 00 0 00 000022 CLOSF
387 021415' 254 00 0 00 022600' JERROR (?,Error closing SYSTEM:DECNET-HOSTS.TXT>)
388 021416' 201 01 0 00 000200' MOVEI T1,HOSTAB ; Return address of host table to caller
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 5-2
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
389 021417' 263 17 0 00 000000 RET
390
391
392 ;Utility routine to read bytes, ignoring null, LWSP, and CR
393 ; Also eats up comments so higher level need not worry about them
394 ;Return +1: EOF
395 ; +2: OK, next byte in T1
396
397 021420' 375 00 0 00 000006' TBIN: SOSGE HFCNT ; Any bytes left?
398 021421' 263 17 0 00 000000 RET ; No, nonskip return
399 021422' 134 01 0 00 000007' ILDB T1,HFPTR ; Yes, fetch next
400 021423' 322 01 0 00 021420' JUMPE T1,TBIN ; Ignore nulls
401 021424' 306 01 0 00 000073 CAIN T1,";" ; Comment?
402 JRST [ CALL TBIN ; Yes, eat chars until EOL
403 RET ; Pass EOF up to caller
404 CAIE T1,12 ; ..
405 JRST . ; ..
406 021425' 254 00 0 00 022602' RETSKP] ; OK, return the LF to caller
407 021426' 306 01 0 00 000041 CAIN T1,"!" ; Other flavor of comment?
408 JRST [ CALL TBIN ; Yes, chew it up
409 RET ; Pass EOF up to caller
410 CAIN T1,"!" ; Chew chars until closing bang
411 CALLRET TBIN ; but return next char, not bang
412 CAIE T1,12 ; or EOL
413 JRST . ; Neither case, keep munching
414 021427' 254 00 0 00 022607' RETSKP] ; EOL, return it
415 021430' 302 01 0 00 000040 CAIE T1," " ; Ignore spaces
416 021431' 306 01 0 00 000015 CAIN T1,15 ; and CR
417 021432' 254 00 0 00 021420' JRST TBIN
418 021433' 306 01 0 00 000011 CAIN T1,11 ; Ignore tabs
419 021434' 254 00 0 00 021420' JRST TBIN
420 021435' 254 00 0 00 022257' RETSKP
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 6
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
421
422 ;Parse switch
423 ;Return +1: always, T1/ terminating character, T2 trashed
424
425 021436' 201 02 0 00 000010' HSTIDK: MOVEI T2,HSTR ; Point to place to stuff switch
426 021437' 505 02 0 00 440700 HRLI T2,(POINT 7,)
427 021440' 260 17 0 00 021420' HSTDK0: CALL TBIN ; Get a byte
428 021441' 254 00 0 00 021450' JRST HSTDK1 ; Let someone else bite it on this one
429 021442' 307 01 0 00 000172 CAIG T1,172
430 021443' 305 01 0 00 000101 CAIGE T1,101 ; If not alphabetic,
431 021444' 254 00 0 00 021450' JRST HSTDK1 ; Finish up and quit
432 021445' 620 01 0 00 000040 TRZ T1,40 ; Uppercase
433 021446' 136 01 0 00 000002 IDPB T1,T2 ; Stuff into switch
434 021447' 254 00 0 00 021440' JRST HSTDK0 ; Loop thru all chars
435 021450' 202 01 0 00 000030' HSTDK1: MOVEM T1,TERM ; Save terminator
436 021451' 400 01 0 00 000000 SETZ T1, ; Insure ASCIZ
437 021452' 136 01 0 00 000002 IDPB T1,T2
438 021453' 201 02 0 00 000010' MOVEI T2,HSTR ; Point to switch name
439 021454' 201 01 0 00 021222' MOVEI T1,SWTTAB ; Switch table
440 021455' 104 00 0 00 000537 TBLUK
441 ERJMP [ JERROR (?,<TBLUK error while parsing switches from SYSTEM:DECNET-HOSTS.TXT>)
442 021456' 320 16 0 00 022663' ]
443 021457' 607 02 0 00 140000 TXNN T2,TL%EXM+TL%ABR ; Found this switch?
444 JRST [ WARN CRLF
445 WARN <Unknown switch >
446 HRROI T2,HSTR
447 SETZB T3,T4
448 SOUT
449 WARN < in SYSTEM:DECNET-HOSTS.TXT>
450 SKIPN T1,DN.WRN(AP)
451 RET
452 HRROI T2,[ASCIZ/
453 %/]
454 SOUT
455 HRROI T2,ERRBUF
456 SOUT
457 HRROI T2,[ASCIZ/
458 /]
459 SOUT
460 021460' 254 00 0 00 022712' RET]
461 021461' 550 01 0 01 000000 HRRZ T1,(T1) ; Get bits associated with switch
462 021462' 436 01 0 00 001200' IORM T1,FBITS ; Save for posterity
463 021463' 200 01 0 00 000030' MOVE T1,TERM ; Return terminator
464 021464' 263 17 0 00 000000 RET ; Return
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 7
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
465
466 ;.DNCON - Connect to remote object
467
468 021465' 402 00 0 00 000167' .DNCN0: SETZM CURRUT ; Init state variables
469 021466' 402 00 0 00 000157' SETZM PSSHST
470 021467' 402 00 0 00 000170' SETZM CURHST
471 021470' 402 00 0 00 000001' SETZM ATTEMP
472 021471' 350 00 0 00 000001' AOS ATTEMP
473 021472' 254 00 0 00 021475' JRST .DNCO2 ; Skip alternate path verbiage first pass
474 021473' 260 17 0 00 022736' .DNCO1: INFO < trying alternate path, >
475 021474' 350 00 0 00 000001' AOS ATTEMP
476 021475' 260 17 0 00 021776' .DNCO2: CALL HSTNAM ; Get JFN for server or pass-through
477 021476' 202 01 0 00 000031' MOVEM T1,NETJFN
478 021477' 332 00 0 00 000157' SKIPE PSSHST ; Doing any routing?
479 JRST [ INFO <routing = > ; Yes, be chatty
480 HRROI T2,PSSHST
481 SETZB T3,T4
482 SKIPE T1,DN.INF(AP) ; If we have a place to put msgs,
483 SOUT ; output it
484 INFO <::>
485 021500' 254 00 0 00 022761' JRST .+1]
486 021501' 200 01 0 00 000031' MOVE T1,NETJFN ; pass net JFN to OPNLNK
487 021502' 260 17 0 00 022137' CALL OPNLNK
488 021503' 254 00 0 00 021511' JRST TRYAGN
489 021504' 260 17 0 00 021553' CALL PSSNEG ; Negotiate with pass-through task if necessary
490 JRST [ MOVE T1,NETJFN ; OK, dump the JFN, it didn't work
491 TXO T1,CZ%ABT
492 CLOSF
493 JFCL
494 021505' 254 00 0 00 022770' JRST TRYAGN]
495 ; INFO <connect OK, >
496 021506' 260 17 0 00 022775' INFO CRLF
497 021507' 200 01 0 00 000031' MOVE T1,NETJFN
498 021510' 263 17 0 00 000000 RET ; Win!!
499
500
501 ;Here to try for another path
502 021511' 260 17 0 00 021546' TRYAGN: CALL ALTRNT
503 021512' 254 00 0 00 021473' JRST .DNCO1 ; Yes, go use it
504 021513' 561 01 0 00 000107' HRROI T1,ERRBUF
505 021514' 561 02 0 00 023004' HRROI T2,[ASCIZ /Connection failed after /]
506 021515' 403 03 0 00 000004 SETZB T3,T4
507 021516' 104 00 0 00 000053 SOUT
508 021517' 200 02 0 00 000001' MOVE T2,ATTEMP
509 021520' 201 03 0 00 000012 MOVEI T3,^D10
510 021521' 104 00 0 00 000224 NOUT
511 021522' 255 00 0 00 000000 JFCL
512 021523' 561 02 0 00 023011' HRROI T2,[ASCIZ / routing attempt/]
513 021524' 403 03 0 00 000004 SETZB T3,T4
514 021525' 104 00 0 00 000053 SOUT
515 021526' 201 02 0 00 000163 MOVEI T2,"s"
516 021527' 200 03 0 00 000001' MOVE T3,ATTEMP
517 021530' 302 03 0 00 000001 CAIE T3,1
518 021531' 104 00 0 00 000051 BOUT
519 021532' 400 02 0 00 000000 SETZ T2,
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 7-1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
520 021533' 104 00 0 00 000051 BOUT
521 021534' 403 03 0 00 000004 SETZB T3,T4
522 021535' 336 01 0 12 000013 SKIPN T1,DN.ERR(AP)
523 021536' 254 00 0 00 021242' JRST .DNLER
524 HRROI T2,[ASCIZ /
525 021537' 561 02 0 00 022406' ?/]
526 021540' 104 00 0 00 000053 SOUT
527 021541' 561 02 0 00 000107' HRROI T2,ERRBUF
528 021542' 104 00 0 00 000053 SOUT
529 HRROI T2,[ASCIZ /
530 021543' 561 02 0 00 022407' /]
531 021544' 104 00 0 00 000053 SOUT
532 021545' 254 00 0 00 021242' JRST .DNLER ; No, report failure to caller
533 ;Utility routine to test for alternate path to a host
534 ;Return +1: Alternate path exists
535 ; +2: nope
536
537 021546' 336 01 0 00 000167' ALTRNT: SKIPN T1,CURRUT ; Point to current routing string block
538 021547' 254 00 0 00 022257' RETSKP ; No alternate path if no routing
539 021550' 550 01 0 01 000000 HRRZ T1,(T1) ; Get possible address of alternate
540 021551' 326 01 0 00 022260' JUMPN T1,R ; If nonzero, there's a path
541 021552' 254 00 0 00 022257' RETSKP
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 8
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
542
543 ;PSSNEG - Negotiate hairy routing with pass-through task
544 ;Call with:
545 ; T1/ JFN of net link to first pass-through task
546 ;Return +1: failure, error message(s) already logged
547 ; +2: success, JFN now speaks to mail listener at other end
548
549 021553' 336 00 0 00 000157' PSSNEG: SKIPN PSSHST ; are we routing at all?
550 021554' 254 00 0 00 022257' RETSKP ; no, just pretend we did good stuff
551 021555' 202 01 0 00 000065' MOVEM T1,NJ ; Save net JFN
552 021556' 200 02 0 00 000167' MOVE T2,CURRUT ; Point to current routing string block
553 021557' 271 02 0 00 000002 ADDI T2,RB.RST ; Skip to string part
554 021560' 505 02 0 00 440700 HRLI T2,(POINT 7,) ; ..
555 021561' 134 01 0 00 000002 PSSNG0: ILDB T1,T2 ; Skip first hostname, we're already there
556 021562' 322 01 0 00 021763' JUMPE T1,PSSNFG ; Better not find any nulls here, foax
557 021563' 302 01 0 00 000072 CAIE T1,":"
558 021564' 254 00 0 00 021561' JRST PSSNG0
559 021565' 134 01 0 00 000002 ILDB T1,T2 ; Better be two colons
560 021566' 302 01 0 00 000072 CAIE T1,":" ; ..
561 021567' 254 00 0 00 021763' JRST PSSNFG ;No !@#$ing good
562 021570' 201 01 0 00 000032' MOVEI T1,TMPST ;Where to build crud for msg to psthhru
563 021571' 505 01 0 00 440700 HRLI T1,(POINT 7,)
564 021572' 201 03 0 00 000001 MOVEI T3,1 ;I don't understand what this 1 is for,
565 021573' 136 03 0 00 000001 IDPB T3,T1 ; but it don't work without it...
566 021574' 403 03 0 00 000004 SETZB T3,T4 ;Move remainder of routing string there
567 021575' 104 00 0 00 000053 SOUT
568 021576' 332 03 0 12 000010 SKIPE T3,DN.USR(AP) ;IS USERID FIELD PRESENT
569 CALL [HRLI T3,(POINT 7,0)
570 ILDB T4,T3
571 SKIPE T4
572 TRO F,1 ;USERID IS PRESENT
573 021577' 260 17 0 00 023015' RET]
574 021600' 332 03 0 12 000006 SKIPE T3,DN.PWD(AP) ;IS PASSWORD FIELD PRESENT
575 CALL [HRLI T3,(POINT 7,0)
576 ILDB T4,T3
577 SKIPE T4
578 TRO F,2
579 021601' 260 17 0 00 023022' RET]
580 021602' 332 03 0 12 000007 SKIPE T3,DN.ACN(AP)
581 CALL [HRLI T3,(POINT 7,0)
582 ILDB T4,T3
583 SKIPE T4
584 TRO F,4
585 021603' 260 17 0 00 023027' RET]
586 021604' 403 03 0 00 000004 SETZB T3,T4
587 021605' 602 13 0 00 000007 TRNE F,7 ;ANY ACCOUNTING FIELDS PRESENT?
588 021606' 254 00 0 00 021610' JRST PSSNG4 ;YES
589 JRST [ HRROI T2,[ASCIZ /"/] ; All of them are blank,
590 021607' 254 00 0 00 023035' JRST PSSNG3] ; skip this stuff entirely
591 021610' 211 02 0 00 000002 PSSNG4: MOVNI T2,2 ; Back up over terminating double colon
592 021611' 133 02 0 00 000001 ADJBP T2,T1 ; ..
593 021612' 200 01 0 00 000002 MOVE T1,T2 ; ..
594 021613' 201 02 0 00 000042 MOVEI T2,42 ; Delimit user-id/password/account strings
595 021614' 136 02 0 00 000001 IDPB T2,T1 ; with doublequote
596 021615' 606 13 0 00 000001 TRNN F,1 ;USERID THERE?
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 8-1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
597 021616' 254 00 0 00 021631' JRST PSS.A ;NO
598 021617' 200 02 0 12 000010 MOVE T2,DN.USR(AP)
599 021620' 505 02 0 00 440700 HRLI T2,(POINT 7,0)
600 021621' 260 17 0 00 021764' CALL UQSOUT
601 021622' 200 04 0 00 000013 MOVE T4,F ;GET FLAGS
602 021623' 405 04 0 00 000007 ANDI T4,7 ;GET THE BITS
603 021624' 201 02 0 00 000040 MOVEI T2," " ;GET A SPACE
604 021625' 302 04 0 00 000007 CAIE T4,7
605 021626' 306 04 0 00 000003 CAIN T4,3
606 021627' 136 02 0 00 000001 IDPB T2,T1 ;YES, OUTPUT A SPACE
607 021630' 400 04 0 00 000000 SETZ T4,
608 021631' 606 13 0 00 000002 PSS.A: TRNN F,2
609 021632' 254 00 0 00 021644' JRST PSS.B
610 021633' 200 02 0 12 000006 MOVE T2,DN.PWD(AP)
611 021634' 505 02 0 00 440700 HRLI T2,(POINT 7,0)
612 021635' 260 17 0 00 021764' CALL UQSOUT
613 021636' 201 02 0 00 000040 MOVEI T2," "
614 021637' 200 04 0 00 000013 MOVE T4,F
615 021640' 405 04 0 00 000007 ANDI T4,7
616 021641' 306 04 0 00 000007 CAIN T4,7
617 021642' 136 02 0 00 000001 IDPB T2,T1 ;OUTPUT A SPACE
618 021643' 400 04 0 00 000000 SETZ T4,
619 021644' 606 13 0 00 000004 PSS.B: TRNN F,4 ;ACCOUNT STRING THERE?
620 021645' 254 00 0 00 021651' JRST PSS.C ;NO
621 021646' 200 02 0 12 000007 MOVE T2,DN.ACN(AP)
622 021647' 505 02 0 00 440700 HRLI T2,(POINT 7,0)
623 021650' 260 17 0 00 021764' CALL UQSOUT
624 021651' 561 02 0 00 023037' PSS.C: HRROI T2,[ASCIZ /"::"/] ; More punctuation
625 021652' 104 00 0 00 000053 PSSNG3: SOUT ; ..
626 021653' 336 02 0 12 000002 SKIPN T2,DN.ROB(AP) ; Get remote object type
627 021654' 254 00 0 00 023054' IERROR <No remote object type specified when .DNCON was called>
628 021655' 201 03 0 00 000012 MOVX T3,^D10 ; Decimal number
629 021656' 104 00 0 00 000224 NOUT
630 021657' 254 00 0 00 023125' JERROR (?,<NOUT failure at PSSNEG>)
631 021660' 201 02 0 00 000075 MOVEI T2,"=" ; Punctuate!
632 021661' 136 02 0 00 000001 IDPB T2,T1 ; ..
633 021662' 201 02 0 00 000042 MOVEI T2,42 ; Close quote
634 021663' 136 02 0 00 000001 IDPB T2,T1 ; ..
635 021664' 400 02 0 00 000000 SETZ T2, ; Insure ASCIZ
636 021665' 136 02 0 00 000001 IDPB T2,T1
637 021666' 200 01 0 00 000065' MOVE T1,NJ ;JFN of net link
638 021667' 561 02 0 00 000032' HRROI T2,TMPST ;Message to send
639 021670' 403 03 0 00 000004 SETZB T3,T4
640 021671' 104 00 0 00 000532 SOUTR ;Force the message out
641 ERJMP [JERR (%,<Couldn't send path to pass-through task>)
642 021672' 320 16 0 00 023165' RET]
643 021673' 200 01 0 00 000065' PSSNG1: MOVE T1,NJ ;Now read the response
644 021674' 561 02 0 00 000032' HRROI T2,TMPST
645 021675' 403 03 0 00 000004 SETZB T3,T4
646 021676' 104 00 0 00 000531 SINR
647 ERJMP [WARN CRLF
648 WARN <Couldn't read reply from pass-through task because: >
649 HRLOI T2,.FHSLF
650 ERSTR
651 JFCL
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 8-2
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
652 JFCL
653 SKIPN T1,DN.WRN(AP)
654 RET
655 HRROI T2,[ASCIZ /
656 %/]
657 SOUT
658 HRROI T2,ERRBUF
659 SOUT
660 HRROI T2,[ASCIZ /
661 /]
662 SOUT
663 021677' 320 16 0 00 023206' RET]
664 021700' 400 04 0 00 000000 SETZ T4, ;tie off reply
665 021701' 136 04 0 00 000002 IDPB T4,T2 ; ..
666 021702' 561 01 0 00 000107' HRROI T1,ERRBUF
667 021703' 561 02 0 00 000032' HRROI T2,TMPST
668 021704' 403 03 0 00 000004 SETZB T3,T4
669 021705' 104 00 0 00 000053 SOUT ;MOVE THE ANSWER
670 021706' 200 02 0 00 022361' MOVE T2,[POINT 7,ERRBUF]
671 021707' 200 01 0 00 023225' MOVE T1,[POINT 7,TMPST]
672 021710' 134 03 0 00 000002 FIXUP: ILDB T3,T2 ;GET A BYTE
673 021711' 322 03 0 00 021745' JUMPE T3,ENDF.2 ;ALL DONE
674 021712' 306 03 0 00 000042 CAIN T3,"""" ;DOUBLE QUOTE?
675 021713' 254 00 0 00 021716' JRST FIXIT ;YES
676 021714' 136 03 0 00 000001 IDPB T3,T1 ;SAVE IT
677 021715' 254 00 0 00 021710' JRST FIXUP
678 021716' 136 03 0 00 000001 FIXIT: IDPB T3,T1 ;SAVE IT
679 021717' 134 03 0 00 000002 ILDB T3,T2 ;GET A BYTE OF THE USER ID
680 021720' 322 03 0 00 021745' JUMPE T3,ENDF.2
681 021721' 306 03 0 00 000042 CAIN T3,""""
682 021722' 254 00 0 00 021741' JRST ENDF.1
683 021723' 302 03 0 00 000040 CAIE T3," "
684 021724' 254 00 0 00 021716' JRST FIXIT
685 021725' 136 03 0 00 000001 IDPB T3,T1 ;THE BLANK
686 021726' 261 17 0 00 000002 PUSH P,T2
687 021727' 561 02 0 00 023226' HRROI T2,[ASCIZ/password/]
688 021730' 403 03 0 00 000004 setzb t3,t4
689 021731' 104 00 0 00 000053 SOUT
690 021732' 262 17 0 00 000002 POP P,T2
691 021733' 134 03 0 00 000002 EATUP: ILDB T3,T2 ;EAT UP THE PASSWORD
692 021734' 322 03 0 00 021745' JUMPE T3,ENDF.2
693 021735' 306 03 0 00 000042 CAIN T3,""""
694 021736' 254 00 0 00 021741' JRST ENDF.1
695 021737' 302 03 0 00 000040 CAIE T3," "
696 021740' 254 00 0 00 021733' JRST EATUP
697 021741' 136 03 0 00 000001 ENDF.1: IDPB T3,T1
698 021742' 403 03 0 00 000004 SETZB T3,T4
699 021743' 104 00 0 00 000053 SOUT
700 021744' 254 00 0 00 021746' JRST ENDF.3
701 021745' 136 03 0 00 000001 ENDF.2: IDPB T3,T1
702 021746' 201 07 0 00 000032' ENDF.3: MOVEI P3,TMPST ;Point to reply we just read
703 021747' 505 07 0 00 440700 HRLI P3,(POINT 7,)
704 021750' 134 10 0 00 000007 ILDB P4,P3 ;Get the answer
705 021751' 303 10 0 00 000001 CAILE P4,1 ;I think 1 means success...
706 JRST [ WARN CRLF
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 8-3
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
707 MOVE T2,P3 ; to caller's warning designator
708 SETZB T3,T4
709 SOUT
710 SKIPN T1,DN.WRN(AP)
711 RET
712 HRROI T2,[ASCIZ/
713 %/]
714 SOUT
715 HRROI T2,ERRBUF
716 SOUT
717 HRROI T2,[ASCIZ /
718 /]
719 SOUT
720 021752' 254 00 0 00 023230' RET]
721 021753' 336 01 0 12 000015 SKIPN T1,DN.INF(AP) ; Success, write pass-through's verbiage
722 021754' 254 00 0 00 021760' JRST PSSNG2
723 021755' 200 02 0 00 000007 MOVE T2,P3 ; to info destination
724 021756' 403 03 0 00 000004 SETZB T3,T4
725 021757' 104 00 0 00 000053 SOUT ;Be informative
726 021760' 322 10 0 00 021673' PSSNG2: JUMPE P4,PSSNG1 ;read msgs until a 1-prefixed msg arrives
727 021761' 260 17 0 00 023246' INFO <, >
728 021762' 254 00 0 00 022257' RETSKP
729
730 021763' 254 00 0 00 023263' PSSNFG: IERROR <bad format for internal host table>
731
732 ; DO A SOUT, DELETING ALL ^V'S ON THE WAY
733 021764' 134 03 0 00 000002 UQSOUT: ILDB T3,T2
734 021765' 306 03 0 00 000026 CAIN T3,26
735 021766' 254 00 0 00 021764' JRST UQSOUT
736 021767' 322 03 0 00 021772' JUMPE T3,UQEND
737 021770' 136 03 0 00 000001 IDPB T3,T1
738 021771' 254 00 0 00 021764' JRST UQSOUT
739 021772' 261 17 0 00 000001 UQEND: PUSH P,T1
740 021773' 136 03 0 00 000001 IDPB T3,T1
741 021774' 262 17 0 00 000001 POP P,T1
742 021775' 263 17 0 00 000000 RET
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 9
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
743
744 ;Get JFN for net link, either to host on local net, or to pass-through task
745
746 021776' 561 01 0 00 000066' HSTNAM: HRROI T1,FNAME ;build prefix of net JFN string
747 021777' 561 02 0 00 023301' HRROI T2,[ASCIZ /DCN:/]
748 022000' 403 03 0 00 000004 SETZB T3,T4
749 022001' 104 00 0 00 000053 SOUT
750 022002' 202 01 0 00 000106' MOVEM T1,PTR0 ; Save filespec pointer for a bit
751 022003' 561 01 0 00 000170' HRROI T1,CURHST ; Stuff destination hostname in here
752 022004' 336 02 0 12 000001 SKIPN T2,DN.HST(AP) ; Get host name pointer
753 022005' 254 00 0 00 023314' IERROR <No host name supplied when .DNCON was called>
754 022006' 104 00 0 00 000053 SOUT
755 022007' 332 01 0 00 000167' SKIPE T1,CURRUT ; See if trying 2nd thru nth route
756 JRST [ HRRZ T1,(T1) ; Yes, fetch next route
757 022010' 254 00 0 00 023332' JRST HSTNA2]
758 022011' 201 01 0 00 000200' MOVEI T1,HOSTAB ;see if this host is nonadjacent
759 022012' 561 02 0 00 000170' HRROI T2,CURHST ; ..
760 022013' 104 00 0 00 000537 TBLUK
761 022014' 320 16 0 00 023371' ERJMP [JERROR (?,<TBLUK failure at HSTNAM>)]
762 022015' 603 02 0 00 040000 TXNE T2,TL%EXM ;Is it in the nonadjacent table?
763 JRST [ HRRZ T1,(T1) ; Yes, point to route string block
764 022016' 254 00 0 00 023332' JRST HSTNA2] ; Go do the routing
765 022017' 561 02 0 00 000170' HSTNA0: HRROI T2,CURHST ; No, just connect straight on thru then
766 022020' 200 05 0 12 000002 MOVE P1,DN.ROB(AP) ; Get remote object type
767 022021' 402 00 0 00 000157' SETZM PSSHST ; Flag that no routing is being done
768 022022' 200 01 0 00 000106' HSTNA1: MOVE T1,PTR0 ; Restore ptr to partial filespec
769 022023' 403 03 0 00 000004 SETZB T3,T4
770 022024' 104 00 0 00 000053 SOUT ; Tack on hostname
771 022025' 201 02 0 00 000055 MOVEI T2,"-" ; Punctuation for network filespec
772 022026' 136 02 0 00 000001 IDPB T2,T1 ; ..
773 022027' 200 02 0 00 000005 MOVE T2,P1 ; Object type (final dest, or pass-through)
774 022030' 201 03 0 00 000012 MOVX T3,^D10 ; Move it in decimal
775 022031' 104 00 0 00 000224 NOUT
776 022032' 254 00 0 00 023425' JERROR (?,<NOUT failure at HSTNA1>)
777 022033' 403 03 0 00 000004 SETZB T3,T4
778 022034' 561 02 0 00 023427' HRROI T2,[ASCIZ /;BDATA:144011/]
779 022035' 332 00 0 00 000000' SKIPE PMRHAK ; SEND OPTIONAL DATA?
780 022036' 104 00 0 00 000053 SOUT ;YES
781 022037' 336 00 0 00 000157' SKIPN PSSHST ; Is this a direct connection?
782 022040' 260 17 0 00 022067' CALL MVATTR ; Yes, move file attributes then
783 022041' 205 01 0 00 000001 MOVX T1,GJ%SHT ; Get a JFN on the net file
784 022042' 561 02 0 00 000066' HRROI T2,FNAME
785 022043' 104 00 0 00 000020 GTJFN
786 022044' 320 16 0 00 023467' ERJMP [JERROR (?,<Can't GTJFN for net link>)]
787 022045' 263 17 0 00 000000 RET ; Return with JFN in T1
788
789
790 ;Here if routing node -- set up for connect to pass-thru task in adjacent node
791
792 022046' 202 01 0 00 000167' HSTNA2: MOVEM T1,CURRUT ; Save current routing block address
793 022047' 271 01 0 00 000002 ADDI T1,RB.RST ; Skip to routing string word
794 022050' 336 00 0 01 000000 SKIPN (T1) ; If this route string is null (i.e., adjacent
795 022051' 254 00 0 00 022017' JRST HSTNA0 ; node with alternate, nonadjacent routing)
796 ; just ignore and try direct connect
797 022052' 505 01 0 00 440700 HRLI T1,(POINT 7,) ; Form string pointer
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 9-1
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
798 022053' 200 03 0 00 023470' MOVE T3,[POINT 7,PSSHST]; Where to put name of adjacent node
799 022054' 134 02 0 00 000001 HSTNA3: ILDB T2,T1 ; Move chars from routing string
800 022055' 322 02 0 00 023516' JUMPE T2,[IERROR <Bad routing string at HSTNA3>]
801 022056' 306 02 0 00 000072 CAIN T2,":" ;stop at first colon
802 022057' 254 00 0 00 022062' JRST HSTNA4
803 022060' 136 02 0 00 000003 IDPB T2,T3 ;store chars of 1st node in route
804 022061' 254 00 0 00 022054' JRST HSTNA3
805 022062' 400 02 0 00 000000 HSTNA4: SETZ T2, ; Insure ASCIZ
806 022063' 136 02 0 00 000003 IDPB T2,T3 ; ..
807 022064' 561 02 0 00 000157' HRROI T2,PSSHST ; This will be host to connect to
808 022065' 201 05 0 00 000173 MOVEI P1,^D123 ; Object type for pass-through task
809 022066' 254 00 0 00 022022' JRST HSTNA1
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 10
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
810
811 ;Move file attributes into filespec string pointed to by T1
812
813 022067' 261 17 0 00 000005 MVATTR: PUSH P,P1 ; Get a reg
814 022070' 403 03 0 00 000004 SETZB T3,T4 ; Set up for all those SOUTs
815 022071' 336 05 0 12 000010 SKIPN P1,DN.USR(AP) ; UserID specified?
816 022072' 254 00 0 00 022103' JRST MVATT0 ; No, skip this
817 022073' 505 05 0 00 440700 HRLI P1,(POINT 7,0)
818 022074' 134 02 0 00 000005 ILDB T2,P1
819 022075' 322 02 0 00 022103' JUMPE T2,MVATT0
820 022076' 200 05 0 12 000010 MOVE P1,DN.USR(AP)
821 022077' 561 02 0 00 023517' HRROI T2,[ASCIZ /;USERID:/]
822 022100' 104 00 0 00 000053 SOUT
823 022101' 200 02 0 00 000005 MOVE T2,P1
824 022102' 104 00 0 00 000053 SOUT
825 022103' 336 05 0 12 000006 MVATT0: SKIPN P1,DN.PWD(AP) ; Password
826 022104' 254 00 0 00 022115' JRST MVATT1
827 022105' 505 05 0 00 440700 HRLI P1,(POINT 7,0)
828 022106' 134 02 0 00 000005 ILDB T2,P1
829 022107' 322 02 0 00 022115' JUMPE T2,MVATT1
830 022110' 200 05 0 12 000006 MOVE P1,DN.PWD(AP)
831 022111' 561 02 0 00 023521' HRROI T2,[ASCIZ /;PASSWORD:/]
832 022112' 104 00 0 00 000053 SOUT
833 022113' 200 02 0 00 000005 MOVE T2,P1
834 022114' 104 00 0 00 000053 SOUT
835 022115' 336 05 0 12 000007 MVATT1: SKIPN P1,DN.ACN(AP) ; Account
836 022116' 254 00 0 00 022127' JRST MVATT2
837 022117' 505 05 0 00 440700 HRLI P1,(POINT 7,0)
838 022120' 134 02 0 00 000005 ILDB T2,P1
839 022121' 322 02 0 00 022127' JUMPE T2,MVATT2
840 022122' 200 05 0 12 000007 MOVE P1,DN.ACN(AP)
841 022123' 561 02 0 00 023524' HRROI T2,[ASCIZ /;CHARGE:/]
842 022124' 104 00 0 00 000053 SOUT
843 022125' 200 02 0 00 000005 MOVE T2,P1
844 022126' 104 00 0 00 000053 SOUT
845 022127' 336 05 0 12 000005 MVATT2: SKIPN P1,DN.OPT(AP) ; Optional data
846 022130' 254 00 0 00 022135' JRST MVATT3
847 022131' 561 02 0 00 023526' HRROI T2,[ASCIZ /;DATA:/]
848 022132' 104 00 0 00 000053 SOUT
849 022133' 200 02 0 00 000005 MOVE T2,P1
850 022134' 104 00 0 00 000053 SOUT
851 022135' 262 17 0 00 000005 MVATT3: POP P,P1
852 022136' 263 17 0 00 000000 RET
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 11
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
853
854 ;Open link to foreign host, JFN in T1
855
856 022137' 201 15 0 00 000002 OPNLNK: MOVEI W2,^D2 ;how many times to retry OPENF
857 022140' 603 13 0 00 200000 TXNE F,DN%SPL ;if system scan,
858 022141' 201 15 0 00 000003 MOVEI W2,^D3 ; be more patient
859 022142' 200 16 0 00 000001 MOVE JFN,T1 ;save JFN
860
861 022143' 201 14 0 00 000050 OPNLK1: MOVEI W1,^D40 ;how many times to retry MTOPR
862 022144' 603 13 0 00 200000 TXNE F,DN%SPL ;if system scan,
863 022145' 201 14 0 00 000120 MOVEI W1,^D80 ; be much more patient
864 022146' 201 02 0 00 300000 MOVX T2,OF%RD!OF%WR
865 022147' 336 03 0 12 000004 SKIPN T3,DN.BSZ(AP) ; Get byte size user specified
866 022150' 254 00 0 00 023545' IERROR <Nonzero byte size must be specified when .DNCON is called>
867 022151' 137 03 0 00 023563' DPB T3,[POINT 6,T2,5] ; Stuff into OPENF arg
868 022152' 104 00 0 00 000021 OPENF
869 ERJMP [MOVE T1,JFN ;restore JFN
870 RLJFN ;dump the JFN
871 JFCL
872 JERR (%,<Can't OPENF net link>)
873 022153' 320 16 0 00 023617' RET]
874 022154' 201 02 0 00 000025 OPNLK2: MOVX T2,.MORLS ;read link status
875 022155' 104 00 0 00 000077 MTOPR ; ..
876 022156' 603 03 0 00 400000 TXNE T3,MO%CON
877 022157' 254 00 0 00 022257' RETSKP
878 022160' 603 03 0 00 014000 TXNE T3,MO%ABT!MO%SYN ; Has other end already dumped us?
879 JRST [ SETZB W1,W2 ; Yes, zero wait counts
880 022161' 254 00 0 00 023624' JRST OPNLK3] ; Dump the JFN and report the failure
881 022162' 201 01 0 00 000764 MOVEI T1,^D500 ;wait 1/2 second
882 022163' 550 02 0 00 000003 HRRZ T2,T3 ; get reason code
883 022164' 306 02 0 00 000004 CAIN T2,4 ; destination process does not exist?
884 022165' 201 01 0 00 001750 MOVEI T1,^D1000 ; yes, wait longer (other end may be busy)
885 022166' 104 00 0 00 000167 DISMS
886 022167' 200 01 0 00 000016 OPNLK3: MOVE T1,JFN ;restore JFN
887 022170' 367 14 0 00 022154' SOJG W1,OPNLK2 ;check again
888 022171' 661 01 0 00 404000 TXO T1,CZ%ABT!CO%NRJ ;dump the link but keep JFN
889 022172' 104 00 0 00 000022 CLOSF ; ..
890 022173' 255 00 0 00 000000 JFCL
891 022174' 621 01 0 00 404000 TXZ T1,CZ%ABT!CO%NRJ ;dump useless bits
892 022175' 367 15 0 00 022143' SOJG W2,OPNLK1 ;try the OPENF again
893 022176' 104 00 0 00 000023 RLJFN ;no good, dump the JFN
894 022177' 255 00 0 00 000000 JFCL
895 ; ..
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 12
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
896 ; ..
897
898 022200' 602 03 0 00 777777 TRNE T3,-1 ;disconnection reason?
899 JRST [ HRRZS T3 ;yes, discard useless bits
900 PUSH P,T3 ;save reason code
901 HRROI T1,ERRBUF ; Build error message in error buffer
902 CALL DTSTMP
903 HRROI T2,[ASCIZ /Connect failed because: /]
904 SETZB T3,T4
905 SOUT
906 POP P,T3 ;get reason code back
907 HRRO T2,REASON(T3)
908 SKIPL T3
909 CAILE T3,NREASN ;range check reason code
910 HRROI T2,FUNNY ;out of range, get catch-all msg
911 SETZB T3,T4
912 SOUT
913 SKIPN T1,DN.WRN(AP) ; If no msg sink, finish up
914 RET
915 SETZB T3,T4
916 HRROI T2,[ASCIZ /
917 %/]
918 SOUT
919 HRROI T2,ERRBUF ; Do have msg sink, fill it
920 SOUT
921 HRROI T2,[ASCIZ /
922 /]
923 SOUT
924 022201' 254 00 0 00 023633' RET]
925 022202' 561 01 0 00 000107' HRROI T1,ERRBUF
926 022203' 260 17 0 00 022220' CALL DTSTMP ; time stamp the log file
927 022204' 561 02 0 00 023663' HRROI T2,[ASCIZ /Timed out waiting for connect confirm from server process/]
928 022205' 104 00 0 00 000053 SOUT
929 022206' 336 01 0 12 000014 SKIPN T1,DN.WRN(AP)
930 022207' 263 17 0 00 000000 RET
931 022210' 403 03 0 00 000004 SETZB T3,T4
932 HRROI T2,[ASCIZ /
933 022211' 561 02 0 00 022711' %/]
934 022212' 104 00 0 00 000053 SOUT
935 022213' 561 02 0 00 000107' HRROI T2,ERRBUF
936 022214' 104 00 0 00 000053 SOUT
937 HRROI T2,[ASCIZ /
938 022215' 561 02 0 00 022407' /]
939 022216' 104 00 0 00 000053 SOUT
940 022217' 263 17 0 00 000000 RET
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 13
DNCONN MAC 13-Jul-81 11:18 Larry Campbell
941
942 SUBTTL Utility routines
943
944 ;Place CRLF and date/time stamp in log file, dest designator in T1
945
946 022220' 403 03 0 00 000004 DTSTMP: SETZB T3,T4
947 022221' 607 13 0 00 400000 TXNN F,DN%DTS ;only if user asked for timestamps
948 022222' 263 17 0 00 000000 RET
949 022223' 474 02 0 00 000000 SETO T2, ;current date/time
950 022224' 400 03 0 00 000000 SETZ T3, ; everything
951 022225' 104 00 0 00 000220 ODTIM
952 022226' 255 00 0 00 000000 JFCL
953 022227' 201 02 0 00 000040 MOVEI T2," " ; Prettyprint it
954 022230' 104 00 0 00 000051 BOUT
955 022231' 263 17 0 00 000000 RET
956
957 958
959 SUBTTL Memory manager (such as it is)
960
961 ;Init memory manager
962
963 022232' 402 00 0 00 500000 INIMEM: SETZM HSTPAG*1000 ;MAKE THIS PAGE EXIST FOR GLXLIB
964 022233' 402 00 0 00 000000' SETZM DATBEG ;ZERO IMPURE STORAGE FOR GLXLIB
965 022234' 200 01 0 00 023677' MOVE T1,[DATBEG,,DATBEG+1] ;IF WE DIDN'T DO THIS GLXLIB
966 022235' 251 01 0 00 021201' BLT T1,DATEND-1 ;WOULD MEMORY MANAGE OUR MEMORY
967 022236' 201 01 0 00 001201' MOVEI T1,STRSPC
968 022237' 202 01 0 00 021201' MOVEM T1,STRSP0
969 022240' 263 17 0 00 000000 RET
970
971
972 ;Allocate c(T1) words of storage
973 ; Returns +1: failure
974 ; +2: OK, address in T1
975
976 022241' 200 02 0 00 021201' ALLSTR: MOVE T2,STRSP0 ;current free space
977 022242' 271 02 0 01 000000 ADDI T2,(T1) ; plus amount requested
978 022243' 301 02 0 00 021201' CAIL T2,STRSPC+STRN ;overflow?
979 022244' 263 17 0 00 000000 RET ;yes, fail
980 022245' 200 02 0 00 021201' MOVE T2,STRSP0 ;no, get address of this string
981 022246' 261 17 0 00 000002 PUSH P,T2 ;save for a bit
982 022247' 402 00 0 02 000000 SETZM (T2) ;zero it
983 022250' 515 03 0 02 000000 HRLZI T3,(T2) ;build BLT pointer
984 022251' 541 03 0 02 000001 HRRI T3,1(T2) ; ..
985 022252' 271 02 0 01 777777 ADDI T2,-1(T1) ;last word to zero
986 022253' 251 03 0 02 000000 BLT T3,(T2)
987 022254' 272 01 0 00 021201' ADDM T1,STRSP0 ; ..
988 022255' 262 17 0 00 000001 POP P,T1 ;return address of chunk
989 022256' 254 00 0 00 022257' RETSKP
990
991 022257' 350 00 0 17 000000 RSKP: AOS 0(P)
992 022260' 263 17 0 00 000000 R: RET
993
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 14
DNCONN MAC 13-Jul-81 11:18 Memory manager (such as it is)
994
995 ;Table of reasons for disconnection from net link
996
997 022261' 000000 023700' REASON: [ASCIZ /No special error/] ;0
998 022262' 000000 023704' [ASCIZ /Resource allocation failure/] ;1
999 022263' 000000 023712' [ASCIZ /Destination node does not exist/] ;2
1000 022264' 000000 023721' [ASCIZ /Node shutting down/] ;3
1001 022265' 000000 023725' [ASCIZ /Destination process does not exist/] ;4
1002 022266' 000000 023734' [ASCIZ /Invalid name field/] ;5
1003 022267' 000000 023740' [ASCIZ /Destination process queue overflow/] ;6
1004 022270' 000000 023747' [ASCIZ /Unspecified error/] ;7
1005 022271' 000000 023753' [ASCIZ /Third party aborted the logical link/] ;8
1006 022272' 000000 023763' [ASCIZ /User abort/] ;9
1007 022273' 000000 022335' FUNNY ;10
1008 022274' 000000 023766' [ASCIZ /Undefined error code/] ;11
1009 022275' 000000 022335' FUNNY ;12
1010 022276' 000000 022335' FUNNY ;13
1011 022277' 000000 022335' FUNNY ;14
1012 022300' 000000 022335' FUNNY ;15
1013 022301' 000000 022335' FUNNY ;16
1014 022302' 000000 022335' FUNNY ;17
1015 022303' 000000 022335' FUNNY ;18
1016 022304' 000000 022335' FUNNY ;19
1017 022305' 000000 022335' FUNNY ;20
1018 022306' 000000 023773' [ASCIZ /Connect initiate with illegal destination address/] ;21
1019 022307' 000000 022335' FUNNY ;22
1020 022310' 000000 022335' FUNNY ;23
1021 022311' 000000 024005' [ASCIZ /Flow control violation/] ;24
1022 022312' 000000 022335' FUNNY ;25
1023 022313' 000000 022335' FUNNY ;26
1024 022314' 000000 022335' FUNNY ;27
1025 022315' 000000 022335' FUNNY ;28
1026 022316' 000000 022335' FUNNY ;29
1027 022317' 000000 022335' FUNNY ;30
1028 022320' 000000 022335' FUNNY ;31
1029 022321' 000000 024012' [ASCIZ /Too many connections to node/] ;32
1030 022322' 000000 024020' [ASCIZ /Too many connections to destination process/] ;33
1031 022323' 000000 024031' [ASCIZ /Access not permitted/] ;34
1032 022324' 000000 024036' [ASCIZ /Logical link services mismatch/] ;35
1033 022325' 000000 024045' [ASCIZ /Invalid account/] ;36
1034 022326' 000000 024051' [ASCIZ /Segment size too small/] ;37
1035 022327' 000000 024056' [ASCIZ /Process aborted/] ;38
1036 022330' 000000 024062' [ASCIZ /No path to destination node/] ;39
1037 022331' 000000 024070' [ASCIZ /Link aborted due to data loss/] ;40
1038 022332' 000000 024076' [ASCIZ /Destination logical link address does not exist/] ;41
1039 022333' 000000 024110' [ASCIZ /Confirmation of disconnect initiate/] ;42
1040 022334' 000000 024120' [ASCIZ /Image data field too long/] ;43
1041 000054 NREASN==.-REASON
1042
1043 022335' 125 156 153 156 157 FUNNY: ASCIZ /Unknown DECnet disconnect reason code/
1044
1045
1046 END
NO ERRORS DETECTED
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page 14-1
DNCONN MAC 13-Jul-81 11:18 Memory manager (such as it is)
PROGRAM BREAK IS 024126
CPU TIME USED 00:07.240
85P CORE USED
DNCONN - DECNET Connect Utility MACRO %53B(1215) 09:51 6-May-82 Page S-1
DNCONN MAC 13-Jul-81 11:18 SYMBOL TABLE
ACSAV 021202' FUNNY 022335' PMRHAK 000000' .DNCON 021250' int
ALLSTR 022241' GJ%OLD 100000 000000 sin PSS.A 021631' .DNINI 021227' int
ALTRNT 021546' GJ%SHT 000001 000000 sin PSS.B 021644' .DNLER 021242'
AP 000012 GTFDB 104000 000063 int PSS.C 021651' .DNRSK 021235'
ATTEMP 000001' GTJFN 104000 000020 int PSSHST 000157' .FBSIZ 000012 sin
BOUT 104000 000051 int HFCNT 000006' PSSNEG 021553' .FHSLF 400000 sin
CALL 260740 000000 HFPGS 000005' PSSNFG 021763' .MORLS 000025 sin
CALLRE 254000 000000 spd HFPTR 000007' PSSNG0 021561'
CLOSF 104000 000022 int HNPTR 000003' PSSNG1 021673'
CO%NRJ 400000 000000 sin HOSTAB 000200' PSSNG2 021760'
CURHST 000170' HOSTNN 000047 spd PSSNG3 021652'
CURRUT 000167' HSTDK0 021440' PSSNG4 021610'
CZ%ABT 004000 000000 sin HSTDK1 021450' PTR0 000106'
DATBEG 000000' HSTIDK 021436' R 022260'
DATEND 021202' HSTNA0 022017' RB.FLG 000001 spd
DISMS 104000 000167 int HSTNA1 022022' RB.LNK 000000 spd
DN%DTS 400000 000000 spd HSTNA2 022046' RB.RST 000002 spd
DN%SPL 200000 000000 spd HSTNA3 022054' REASON 022261'
DN.ACN 000007 spd HSTNA4 022062' RET 263740 000000
DN.BSZ 000004 spd HSTNAM 021776' RLJFN 104000 000023 int
DN.ERR 000013 spd HSTPAG 000500 spd ROUTEN 000204 spd
DN.FLG 000000 spd HSTR 000010' RSKP 022257'
DN.HST 000001 spd HTABJ 000002' RTPTR 000004'
DN.INF 000015 spd INIMEM 022232' SINR 104000 000531 int
DN.LOB 000003 spd JFN 000016 SIZEF 104000 000036 int
DN.OPT 000005 spd MO%ABT 010000 000000 sin SOUT 104000 000053 int
DN.PWD 000006 spd MO%CON 400000 000000 sin SOUTR 104000 000532 int
DN.ROB 000002 spd MO%SYN 004000 000000 sin STRN 020000 spd
DN.ROP 000011 spd MTOPR 104000 000077 int STRSP0 021201'
DN.RPC 000012 spd MVATT0 022103' STRSPC 001201'
DN.USR 000010 spd MVATT1 022115' SWTTAB 021222'
DN.WRN 000014 spd MVATT2 022127' SWTTB0 000004 spd
DNINI 021261' MVATT3 022135' T1 000001
DNINI0 021314' MVATTR 022067' T2 000002
DNINI1 021330' NETJFN 000031' T3 000003
DNINI2 021344' NJ 000065' T4 000004
DNINI3 021351' NOUT 104000 000224 int TBADD 104000 000536 int
DNINI4 021360' NREASN 000054 spd TBIN 021420'
DNINI5 021371' ODTIM 104000 000220 int TBLUK 104000 000537 int
DNINI6 021377' OF%RD 200000 sin TERM 000030'
DNINI7 021404' OF%WR 100000 sin TL%ABR 100000 000000 sin
DNINIX 021406' OPENF 104000 000021 int TL%EXM 040000 000000 sin
DTSTMP 022220' OPNLK1 022143' TMPST 000032'
EATUP 021733' OPNLK2 022154' TRYAGN 021511'
ENDF.1 021741' OPNLK3 022167' UQEND 021772'
ENDF.2 021745' OPNLNK 022137' UQSOUT 021764'
ENDF.3 021746' P 000017 W1 000014
ERJMP 320700 000000 int P1 000005 W2 000015
ERRBUF 000107' P2 000006 ..MX1 000025 spd
ERSTR 104000 000011 int P3 000007 ..MX2 000001 spd
F 000013 P4 000010 ..TX1 400000 000000 spd
FBITS 001200' PM%CNT 400000 000000 sin ..TX2 000001 spd
FIXIT 021716' PM%PLD 010000 000000 sin .DNCN0 021465'
FIXUP 021710' PM%RD 100000 000000 sin .DNCO1 021473'
FNAME 000066' PMAP 104000 000056 int .DNCO2 021475'
ACSAV 138# 246 247 248 252 253 255 261 262 264 270 271 272
ALLSTR 311 316 976#
ALTRNT 502 537#
AP 35# 249 250 273 274 275 276 307 312 317 376 387 442 450
474 479 482 484 496 522 568 574 580 598 610 621 626 627
630 641 653 710 721 727 730 752 753 761 766 776 786 800
815 820 825 830 835 840 845 865 866 872 913 929
ATTEMP 115# 471 472 475 508 516
CO%NRJ 888 891
CURHST 132# 470 751 759 765
CURRUT 131# 468 537 552 755 792
CZ%ABT 491 888 891
DATBEG 113# 964 965
DATEND 137# 966
DN%DTS 87# 947
DN%SPL 88# 857 862
DN.ACN 95# 580 621 835 840
DN.BSZ 92# 865
DN.ERR 99# 307 312 317 376 387 442 522 627 630 641 730 753 761
776 786 800 866 872
DN.FLG 86# 250 276
DN.HST 89# 752
DN.INF 101# 474 479 482 484 496 721 727
DN.LOB 91#
DN.OPT 93# 845
DN.PWD 94# 574 610 825 830
DN.ROB 90# 626 766
DN.ROP 97#
DN.RPC 98#
DN.USR 96# 568 598 815 820
DN.WRN 100# 450 653 710 913 929
DNINI 251 283#
DNINI0 310# 378
DNINI1 322# 333 347 365
DNINI2 329 335# 338
DNINI3 331 341#
DNINI4 327 339 351#
DNINI5 366# 368
DNINI6 358 372#
DNINI7 371 377#
DNINIX 323 336 380#
DTSTMP 307 312 317 376 387 442 444 496 627 630 641 647 706 730
753 761 776 786 800 866 872 902 926 946#
EATUP 691# 696
ENDF.1 682 694 697#
ENDF.2 673 680 692 701#
ENDF.3 700 702#
ERRBUF 129# 260 307 312 317 376 387 442 444 455 504 527 627 630
641 647 658 666 670 706 715 730 753 761 776 786 800 866
872 901 919 925 935
F 36# 250 276 572 578 584 587 596 601 608 614 619 857 862
947
FBITS 134# 462
FIXIT 675 678# 684
FIXUP 672# 677
FNAME 127# 746 784
FUNNY 910 1007 1009 1010 1011 1012 1013 1014 1015 1016 1017 1019 1020 1022
1023 1024 1025 1026 1027 1028 1043#
GJ%OLD 286
GJ%SHT 286 783
HFCNT 120# 308 397
HFPGS 119# 296 382
HFPTR 121# 298 399
HNPTR 117# 314 320 355 363 373
HOSTAB 133# 285 354 372 388 758
HOSTNN 108# 310 321 362
HSTDK0 427# 434
HSTDK1 428 431 435#
HSTIDK 325 425#
HSTNA0 765# 795
HSTNA1 768# 809
HSTNA2 757 764 792#
HSTNA3 799# 804
HSTNA4 802 805#
HSTNAM 476 746#
HSTPAG 109# 297 300 381 963
HSTR 122# 425 438 446
HTABJ 116# 293 299 303 385
INIMEM 283 963#
JFN 39# 859 869 886
MO%ABT 878
MO%CON 876
MO%SYN 878
MVATT0 816 819 825#
MVATT1 826 829 835#
MVATT2 836 839 845#
MVATT3 846 851#
MVATTR 782 813#
NETJFN 124# 477 486 490 497
NJ 126# 551 637 643
NREASN 909 1041#
OF%RD 290 864
OF%WR 864
OPNLK1 861# 892
OPNLK2 874# 887
OPNLK3 880 886#
OPNLNK 487 856#
P 40# 686 690 739 741 813 851 900 906 981 988 991
P1 31# 766 773 808 813 815 817 818 820 823 825 827 828 830
833 835 837 838 840 843 845 849 851
P2 32# 309 346 362 364 377
P3 33# 320 332 342 344 345 352 363 702 703 704 707 723
P4 34# 321 333 343 362 704 705 726
PM%CNT 301 383
PM%PLD 301
PM%RD 301
PMRHAK 114# 274 779
PSS.A 597 608#
PSS.B 609 619#
PSS.C 620 624#
PSSHST 130# 469 478 480 549 767 781 798 807
PSSNEG 489 549#
PSSNFG 556 561 730#
PSSNG0 555# 558
PSSNG1 643# 726
PSSNG2 722 726#
PSSNG3 590 625#
PSSNG4 588 591#
PTR0 128# 750 768
R 289 292 540 992#
RB.FLG 239#
RB.LNK 238#
RB.RST 240# 345 553 793
REASON 907 997# 1041
ROUTEN 107# 125 315 343
RSKP 256 406 414 420 538 541 550 728 877 989 991#
RTPTR 118# 319 344 369 374
STRN 106# 135 978
STRSP0 136# 968 976 980 987
STRSPC 135# 967 978
SWTTAB 142# 147 439
SWTTB0 142 147#
T1 27# 249 252 260 261 275 284 285 286 293 297 298 299 303
307 310 312 313 314 315 317 318 319 324 326 328 330 332
337 341 342 351 353 354 366 367 368 369 370 372 376 380
385 387 388 399 400 401 404 407 410 412 415 416 418 429
430 432 433 435 436 437 439 442 444 450 461 462 463 474
477 479 482 484 486 490 491 496 497 504 522 537 539 540
551 555 556 557 559 560 562 563 565 592 593 595 606 617
627 630 632 634 636 637 641 643 647 653 666 671 676 678
685 697 701 706 710 721 727 730 737 739 740 741 746 750
751 753 755 756 758 761 763 768 772 776 783 786 792 793
794 797 799 800 859 866 869 872 881 884 886 888 891 901
913 925 929 965 966 967 968 977 985 987 988
T2 28# 273 287 290 300 304 307 312 317 352 353 355 357 366
370 373 374 376 381 387 425 426 433 437 438 442 443 445
446 449 452 455 457 474 479 480 484 496 505 508 512 515
519 524 527 529 552 553 554 555 559 589 591 592 593 594
595 598 599 603 606 610 611 613 617 621 622 624 626 627
630 631 632 633 634 635 636 638 641 644 648 649 655 658
660 665 667 670 672 679 686 687 690 691 707 712 715 717
723 727 730 733 747 752 753 759 761 762 765 771 772 773
776 778 784 786 799 800 801 803 805 806 807 818 819 821
823 828 829 831 833 838 839 841 843 847 849 864 866 867
872 874 882 883 903 907 910 916 919 921 927 932 935 937
949 953 976 977 978 980 981 982 983 984 985 986
T3 29# 296 301 305 307 308 312 317 376 382 383 387 442 445
447 449 474 479 481 484 496 506 509 513 516 517 521 564
565 566 568 569 570 574 575 576 580 581 582 586 627 628
630 639 641 645 648 668 672 673 674 676 678 679 680 681
683 685 688 691 692 693 695 697 698 701 708 724 727 730
733 734 736 737 740 748 753 761 769 774 776 777 786 798
800 803 806 814 865 866 867 872 876 878 882 898 899 900
904 906 907 908 909 911 915 931 946 950 983 984 986
T4 30# 307 312 317 376 387 442 445 447 449 474 479 481 484
496 506 513 521 566 570 571 576 577 582 583 586 601 602
604 605 607 614 615 616 618 627 630 639 641 645 648 664
665 668 688 698 708 724 727 730 748 753 761 769 776 777
786 800 814 866 872 904 911 915 931 946
TBIN 322 335 397# 400 402 408 411 417 419 427
TERM 123# 435 463
TL%ABR 443
TL%EXM 357 443 762
TMPST 125# 562 638 644 667 671 702
TRYAGN 488 494 502#
UQEND 736 739#
UQSOUT 600 612 623 733# 735 738
W1 37# 861 863 879 887
W2 38# 856 858 879 892
..MX1 286# 286 290# 290 628# 628 774# 774 783# 783 864# 864 874# 874
..MX2 286# 286 287 290# 290 628# 629 774# 775 783# 783 784 864# 865
874# 875
..TX1 301# 301 357# 357 383# 383 443# 443 491# 491 762# 762 857# 857
862# 862 876# 876 878# 878 888# 888 891# 891 947# 947
..TX2 301# 301 302 357# 357 358 383# 383 384 443# 443 444 491# 491
762# 762 763 857# 857 858 862# 862 863 876# 876 877 878# 878
879 888# 888 889 891# 891 892 947# 947 948
.DNCN0 277 468#
.DNCO1 474# 503
.DNCO2 473 476#
.DNCON 270#
.DNINI 246#
.DNLER 260# 307 312 317 376 387 442 523 532 627 630 730 753 761
776 786 800 866
.DNRSK 252# 278
.FBSIZ 304
.FHSLF 300 307 376 381 387 442 630 641 649 761 776 786 872
.MORLS 874
BOUT 518 520 954
CALL 251 277 283 307 311 312 316 317 322 325 335 376 387 402
408 427 442 444 445 449 474 476 479 484 487 489 496 502
569 575 581 600 612 623 627 630 641 647 648 706 727 730
753 761 776 782 786 800 866 872 902 926
CALLRE 278 411
CLOSF 386 492 889
DISMS 885
ERJMP 289 292 307 376 441 641 647 761 786 869
ERSTR 307 376 387 442 630 641 650 761 776 786 872
GTFDB 306
GTJFN 288 785
IERROR 152# 312 317 627 730 753 800 866
INFO 218# 474 479 484 496 727
JERR 172# 307 376 387 442 630 641 761 776 786 872
JERROR 197# 307 376 387 441 630 761 776 786
MOVX 286 290 628 774 783 864 874
MTOPR 875
NOUT 510 629 775
ODTIM 951
OPENF 291 868
PMAP 302 384
RET 265 307 376 387 389 398 403 409 442 444 445 449 451 460
464 474 479 484 496 498 573 579 585 630 641 642 647 648
654 663 706 711 720 727 742 761 776 786 787 852 872 873
914 924 930 940 948 955 969 979 992
RETSKP 256 406 414 420 538 541 550 728 877 989
RLJFN 870 893
SINR 646
SIZEF 294
SOUT 307 312 317 376 387 442 445 448 449 454 456 459 474 479
483 484 496 507 514 526 528 531 567 625 627 630 641 648
657 659 662 669 689 699 709 714 716 719 725 727 730 749
753 754 761 770 776 780 786 800 822 824 832 834 842 844
848 850 866 872 905 912 918 920 923 928 934 936 939
SOUTR 640
TBADD 375
TBLUK 356 440 760
TXNE 762 857 862 876 878
TXNN 357 443 947
TXO 301 383 491 888
TXZ 891
WARN 202# 444 445 449 647 648 706