Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/utilities/fal.list
There are no other files named fal.list in the archive.
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 1
FAL MAC 14-Jan-82 08:35 D. Oran - P.J. Taylor /POM/CLB/ 17-Nov-81
1 TITLE FAL Network file transfer utility for TOPS20 DECNET
2 SUBTTL D. Oran - P.J. Taylor /POM/CLB/ 17-Nov-81
3
4 ;
5 ;
6 ;
7 ; COPYRIGHT (c) 1978,1979,1980
8 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MA.
9 ;
10 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED
11 ; AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE
12 ; AND WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS
13 ; SOFTWARE OR ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR
14 ; OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON. NO TITLE TO
15 ; AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
16 ;
17 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE
18 ; WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
19 ; BY DIGITAL EQUIPMENT CORPORATION.
20 ;
21 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
22 ; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY
23 ; DIGITAL.
24
25
26 SEARCH GLXMAC ;Get Galaxy symbols
27 PROLOG (FAL)^
28 ^
29
30 SEARCH DAPSYM ;Get DAPLIB symbols
31 SEARCH QSRMAC ;Get quasars symbols
32
33 ;Version Information
34
35 000002 FALVER==2 ;MAJOR VERSION OF FAL
36 000000 FALMIN==0 ;MINOR VERSION OF FAL
37 000025 FALEDT==25 ;EDIT LEVEL
38 000000 FALWHO==0 ;WHO LAST EDITED (0=DEC DEVELOPMENT)
39
40 GLOB DAPEDT
41
42 000000000000# VFAL==<VRSN.(FAL)>+DAPEDT ;Get the version level
43
44 EXTERN .JBFF ;ADDRESS OF FIRST FREE LOCATION
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 2
FAL MAC 14-Jan-82 08:35 Table of contents
45 SUBTTL Table of contents
46
47 ; TABLE OF CONTENTS FOR FAL
48 ;
49 ;
50 ; SECTION PAGE
51 ; 1. Title page................................................ 1
52 ; 2. Table of contents......................................... 2
53 ; 3. Revision History.......................................... 3
54 ; 4. Constants and assembly parameters......................... 4
55 ; 5. LOCAL MACROS.............................................. 5
56 ; 6. Job version and entry vector.............................. 6
57 ; 7. Initialization blocks..................................... 6
58 ; 8. MAIN ENTRY POINT AND INITIALIZATION....................... 7
59 ; 9. CHKQUE Routine to process IPCF messages.................. 8
60 ; 10. LOG message processing................................... 9
61 ; 11. CHKFRK Routine to check fork status...................... 10
62 ; 12. SERVER initializtion...................................... 11
63 ; 13. SERVER Listening loop..................................... 12
64 ; 14. SERVER Connection verification routine.................... 13
65 ; 15. CREFRK Fork creation and initializtion................... 14
66 ; 16. KILFRK Routine to kill a server.......................... 15
67 ; 17. LOGSNM Routine to log system name........................ 16
68 ; 18. LOGMSG and LOGCHR Logfile output routines................. 17
69 ; 19. MSGCHR Text output routine for inferior servers........... 18
70 ; 20. SNDFAL Routine to send IPCF packet to FAL................ 19
71 ; 21. CLSJFN, RELJFN, CPYSTR.................................... 19
72 ; 22. PSIINI Software interrupt system initialization.......... 20
73 ; 23. Interrupt service routines................................ 20
74 ; 24. Pure data storage......................................... 21
75 ; 25. Interrupt tables.......................................... 22
76 ; 26. Impure Data storage....................................... 23
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 3
FAL MAC 14-Jan-82 08:35 Revision History
77 SUBTTL Revision History
78
79 COMMENT \
80
81 Edit Comment
82
83 0020 First field test of FAL 2(20)
84 0021 Fix FAL to check for network support before starting forks
85 Fix logging from forks
86 0022 Add interrupt reason to D$INTR calls so it doesn't interrogate
87 link status for each interrupt
88 0023 Make DIRPSW large enough to accommadate 39 character passwords
89 so stack won't get destroyed. Also get default account for
90 login so that a null account string will be allowed.
91 0024 Process all interrupts as level 1 and make LEV1PC global to
92 allow access from D$INTR in DAPLIB
93
94 *** Edits for DECnet-20 V3.0 begin here
95
96 0025 Implement logging of activity in PS:<SPOOL>FAL.LOG. If this file
97 exists it will be appended to. If the file does not exist, no
98 logging will be done.
99
100 \ ;end revision history
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 4
FAL MAC 14-Jan-82 08:35 Constants and assembly parameters
101 SUBTTL Constants and assembly parameters
102
103 ; ACCUMULATOR DEFINITIONS
104
105
106 000013 P5==13 ;EXTRA PERMANENT AC
107 000014 M==14 ;IPCF message address
108
109 ;Constants
110
111 000001 XP SRVLNK,1 ;Server link index is 1
112
113 000003 XP MINSRV,3 ;Minimum number of forks
114 000004 XP MAXSRV,4 ;Maximum number of forks
115
116 000020 XP MAXNOD,20 ;Maximum number of nodes
117 000400 XP PDLEN,MAXNOD*20 ;Size of the stack
118 000020 XP GJFSIZ,20 ;Size of the GTJFN block
119 000020 XP FILSIZ,20 ;Maximum size of a file name
120 000005 XP CHKLEN,.CKAUD+1 ;Length of CHKAC arg block
121
122 004703 XP MSGSIZ,^D500*5-1 ;Maximum count of logcharacters
123
124
125 ;Interrupt channel assignments
126
127 000000 XP .ICIPC,0 ;IPCF channel
128 000001 XP .ICDAV,1 ;Data available
129 000002 XP .ICCDN,2 ;Connect/Disconnect
130 000003 XP .ICIMA,3 ;Interrupt message
131
132 GLOB DATEND ;Last location of DAP storage
133
134 000000000000# NFKPGS==<DATEND/1000>+1 ;Number of fork pages
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 5
FAL MAC 14-Jan-82 08:35 LOCAL MACROS
135 SUBTTL LOCAL MACROS
136
137 DEFINE TXT(TEXT) <POINT 7,[ASCIZ\TEXT\]>
138
139 DEFINE $FD(NAME) <
140 XWD 10,0
141 ASCIZ\NAME\>
142
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 6
FAL MAC 14-Jan-82 08:35 Job version and entry vector
143 SUBTTL Job version and entry vector
144
145 000137 LOC 137 ;SET THE VERSION
146 000137 000000000000# .JBVER: EXP VFAL
147 000000'00 RELOC
148
149 ; ENTRY VECTOR DEFINITION
150
151 000000'00 254 00 0 00 000051' ENTVEC: JRST FAL ;MAIN ENTRY POINT
152 000001'00 254 00 0 00 000051' JRST FAL ;REENTER ENTRY POINT
153 000002'00 000000000000# EXP VFAL ;VERSION OF FAL PROGRAM
154
155 SUBTTL Initialization blocks
156
157 000003'00 FALIB: $BUILD (IB.SZ)
158 $SET (IB.PRG,,%%.MOD) ;Program name is FAL
159 $SET (IB.OUT,,LOGMSG) ;Default output routine
160 $SET (IB.INT,,<LEVTAB,,CHNTAB>) ;Point to PSI stuff
161 $SET (IB.PIB,,FALPIB) ;Point to IPCF stuff
162 $EOB
163
164 000011'00 FALPIB: $BUILD (PB.MXS) ;Pid info
165 $SET (PB.HDR,PB.LEN,PB.MXS) ;Length
166 $SET (PB.INT,IP.CHN,.ICIPC) ;IPCF channel
167 $SET (PB.FLG,IP.PSI,1) ;Use PSI for IPCF
168 $SET (PB.SYS,IP.MNP,MAXSRV) ;Number of pids required
169 $SET (PB.NAM,,<POINT 7,SRVOBJ>)
170 $EOB
171
172 000021'00 SRVIB: $BUILD (IB.SZ)
173 $SET (IB.PRG,,'FALSRV') ;Program name is FALSRV
174 $SET (IB.OUT,,MSGCHR) ;Default output routine
175 $SET (IB.INT,,<LEVTAB,,CHNTAB>) ;Point to PSI stuff
176 $SET (IB.PIB,,SRVPIB) ;Point to IPCF stuff
177 $EOB
178
179 000027'00 SRVPIB: $BUILD (PB.MXS) ;Pid info
180 $SET (PB.HDR,PB.LEN,PB.MXS) ;Length
181 $SET (PB.INT,IP.CHN,.ICIPC) ;IPCF channel
182 $SET (PB.FLG,IP.PSI,1) ;Use PSI for IPCF
183 $EOB
184
185 000037'00 LOGFOB: $BUILD (FOB.SZ)
186 $SET (FOB.FD,,[$FD(PS:<SPOOL>FAL.LOG)])
187 $SET (FOB.CW,FB.BSZ,7)
188 $EOB
189
190 000044'00 LOGDBG: $BUILD (FOB.SZ)
191 $SET (FOB.FD,,[$FD(DSK:FAL.LOG)])
192 $SET (FOB.CW,FB.BSZ,7)
193 $EOB
194
195
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 7
FAL MAC 14-Jan-82 08:35 MAIN ENTRY POINT AND INITIALIZATION
196 SUBTTL MAIN ENTRY POINT AND INITIALIZATION
197
198 000051'00 104 00 0 00 000147 FAL: RESET ;Clean up from last start
199 000052'00 200 17 0 00 000676' MOVE P,[IOWD PDLEN,PDL] ;SET UP STACK
200 000053'00 402 00 0 00 000000# SETZM DATORG ;Clear impure storage
201 000054'00 200 01 0 00 000677' MOVE S1,[DATORG,,DATORG+1]
202 000055'00 251 01 0 00 000000# BLT S1,DATEND-1
203 000056'00 561 01 0 00 000000# HRROI S1,SRVOBJ ;Point to my object name
204 000057'00 200 02 0 00 000701' MOVX S2,TXT(FAL)
205 000060'00 332 00 0 00 000135 SKIPE DEBUGW
206 000061'00 200 02 0 00 000704' MOVX S2,TXT(FAL-DEBUG)
207 000062'00 260 17 0 00 000626' $CALL CPYSTR ;Store the name
208 000063'00 201 01 0 00 000006 MOVEI S1,IB.SZ
209 000064'00 201 02 0 00 000003' MOVEI S2,FALIB ;POINT TO IB
210 000065'00 260 17 0 00 000000* $CALL I%INIT ;GET THE LIBRARY
211 000066'00 561 01 0 00 000705' HRROI S1,[ASCIZ/DCN:/]
212 000067'00 104 00 0 00 000120 STDEV
213 000070'00 320 16 0 00 000716' ERJMP [$FATAL (No network support)]
214 000071'00 200 02 0 00 000012' MOVE S2,FALPIB+PB.PID ;Get my PIB
215 000072'00 202 02 0 00 000000# MOVEM S2,FALPID ;Say I am FAL
216 000073'00 551 01 0 00 000016 HRRZI S1,.MSIIC ;BYPASS MOUNT COUNTS
217 000074'00 104 00 0 00 000555 MSTR
218 000075'00 320 16 0 00 000076' ERJMP .+1
219 000076'00 260 17 0 00 000631' $CALL PSIINI ;INITIALIZE PSI SYSTEM
220 000077'00 205 01 0 00 100001 MOVX S1,GJ%SHT+GJ%OLD ;[0025]IS LOG FILE AROUND?
221 000100'00 561 02 0 00 000666' HRROI S2,[ASCIZ/PS:<SPOOL>FAL.LOG/] ;[0025]
222 000101'00 104 00 0 00 000020 GTJFN ;[0025]
223 000102'00 320 16 0 00 000114' ERJMP NOLOG ;[0025] DON'T LOG ANYTHING
224 000103'00 104 00 0 00 000023 RLJFN ;[0025]RELEASE THE JFN
225 000104'00 255 00 0 00 000000 JFCL ;[0025]DONT CARE ABOUT ERRORS
226 000105'00 201 01 0 00 000005 MOVEI S1,FOB.SZ ;[0025]LENGTH OF THE FOB
227 000106'00 201 02 0 00 000037' MOVEI S2,LOGFOB ;[0025]ADDRESS OF THE FOB
228 000107'00 332 00 0 00 000135 SKIPE DEBUGW ;[0025]DEBUGGING?
229 000110'00 201 02 0 00 000044' MOVEI S2,LOGDBG ;[0025]ADDRESS OF DEBUG FOB
230 000111'00 260 17 0 00 000000* $CALL F%AOPN ;[0025]APPEND OPEN
231 000112'00 202 01 0 00 000000# MOVEM S1,LOGIFN ;[0025]SAVE THE NEW IFN
232 000113'00 336 00 0 00 000000 SKIPT ;[0025]FILE OPENED OK?
233 000114'00 476 00 0 00 000000# NOLOG: SETOM LOGIFN ;[0025]NO, FORGET IT
234 000115'00 476 00 0 00 000000# SETOM FRKFLG ;SET TO CREATE INITIAL FORKS
235 000116'00 332 00 0 00 000135 SKIPE DEBUGW ;AM I DEBUGGING?
236 000117'00 254 00 0 00 000252' JRST SRVINI ;YES..JUST BECOME LISTENER
237
238 000120'00 402 00 0 00 000000# MAIN: SETZM SLPTIM ;ASSUME WE'LL WAIT FOR INTERRUPT
239 000121'00 260 17 0 00 000131' $CALL CHKQUE ;PROCESS IPCF MESSAGES
240 000122'00 356 00 0 00 000000# AOSN FRKFLG ;CHECK FORKS?
241 000123'00 260 17 0 00 000170' $CALL CHKFRK ;YES..CHECK OUR FORKS
242 000124'00 331 01 0 00 000000# SKIPL S1,LOGIFN ;GET LOGFILE IFN
243 000125'00 260 17 0 00 000000* $CALL F%CHKP ;CHECK POINT IT
244 000126'00 200 01 0 00 000000# MOVE S1,SLPTIM ;GET MAX SLEEP TIME
245 000127'00 260 17 0 00 000000* $CALL I%SLP ;WAIT FOR INTERRUPT
246 000130'00 254 00 0 00 000120' JRST MAIN
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 8
FAL MAC 14-Jan-82 08:35 CHKQUE Routine to process IPCF messages
247 SUBTTL CHKQUE Routine to process IPCF messages
248
249 000131'00 CHKQUE:
250
251 000131'00 403 14 0 00 000000# CHKQ.1: SETZB M,MESSAG ;ZERO MESSAGE ADDRESS
252 000132'00 260 17 0 00 000000* $CALL C%RECV ;RECEIVE A MESSAGE?
253 000133'00 326 00 0 00 000135' JUMPT CHKQ.9 ;[0025]YES..CHECK IT OUT
254 000134'00 324740 000000* $RETF ;NO..NOTHING THERE
255
256 000135'00 550 14 0 01 000003 CHKQ.9: LOAD M,MDB.MS(S1),MD.ADR ;GET THE MESSAGE ADDRESS
257 000136'00 202 14 0 00 000000# MOVEM M,MESSAG ;SAVE ADDRESS
258 000137'00 550 01 0 14 000000 LOAD S1,.MSTYP(M),MS.TYP ;GET THE MESSAGE TYPE
259 000140'00 205 04 0 00 777777 MOVSI T2,-NMSGT ;NO -- SEARCH QUASAR TYPES
260
261 000141'00 550 03 0 04 000152' CHKQ.3: HRRZ T1,MSGTBL(T2) ;GET A MESSAGE TYPE
262 000142'00 316 01 0 00 000003 CAMN S1,T1 ;MATCH?
263 000143'00 254 00 0 00 000146' JRST CHKQ.4 ;YES, WIN
264 000144'00 253 04 0 00 000141' AOBJN T2,CHKQ.3 ;NO, LOOP
265 000145'00 254 00 0 00 000150' JRST CHKQ.5 ;UNKNOWN TYPE -- IGNORE IT
266
267 000146'00 554 03 0 04 000152' CHKQ.4: HLRZ T1,MSGTBL(T2) ;GET THE ROUTINE ADDRESS
268 000147'00 260 17 0 03 000000 PUSHJ P,0(T1) ;DISPATCH
269
270 000150'00 260 17 0 00 000000* CHKQ.5: $CALL C%REL ;RELEASE MESSAGE
271 000151'00 254 00 0 00 000131' CHKQ.6: JRST CHKQ.1 ;GET NEXT MESSAGE
272
273
274 000152'00 000153' 700000 MSGTBL: XWD LOG,MT.TXT ;Log from FAL or QUASAR ACK
275
276 000001 NMSGT==.-MSGTBL
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 9
FAL MAC 14-Jan-82 08:35 LOG message processing
277 SUBTTL LOG message processing
278
279 000153'00 304 00 0 00 000000 LOG: $SAVE <STREAM> ;Preserve our stream
280 000157'00 200 01 0 14 000002 MOVE S1,.MSCOD(M) ;Get stream number from message
281 000160'00 202 01 0 00 000000# MOVEM S1,STREAM
282 000161'00 561 01 0 14 000000# HRROI S1,MSGTXT-MSGHDR(M) ;Point to text
283 000162'00 554 02 0 14 000000# HLRZ S2,MSGARH-MSGHDR(M) ;Get argument length
284 000163'00 307 02 0 00 000001 CAIG S2,1 ;Any text to log?
285 000164'00 324740 000000* $RETT ;No..just return
286 000165'00 260 17 0 00 000000* $TEXT (,<^Q/S1/^0>) ;Log it
287 000167'00 324740 000164* $RETT
288
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 10
FAL MAC 14-Jan-82 08:35 CHKFRK Routine to check fork status
289 SUBTTL CHKFRK Routine to check fork status
290
291 000170'00 260 17 0 00 000000* CHKFRK: $SAVE <P1>
292 000171'00 402 00 0 00 000000# SETZM FRKFLG ;Clear flag to say we've been here
293 000172'00 205 07 0 00 777774 MOVSI P1,-MAXSRV ;Get maximum fork number
294 000173'00 550 01 0 07 000000# CHKFR1: HRRZ S1,FRKTBL(P1) ;Get fork handle
295 000174'00 322 01 0 00 000211' JUMPE S1,CHKFR2 ;Next fork if handle is nill
296 000175'00 104 00 0 00 000156 RFSTS ;Read fork status
297 000176'00 135 03 0 00 000733' LOAD T1,S1,RF%STS ;Get status field
298 000177'00 302 03 0 00 000002 CAIE T1,.RFHLT ;Is fork halted
299 000200'00 306 03 0 00 000003 CAIN T1,.RFFPT ; or forced to terminate?
300 000201'00 334 00 0 00 000000 SKIPA ;Yes..process the error
301 000202'00 254 00 0 00 000211' JRST CHKFR2 ;No..check next fork
302 000203'00 260 17 0 00 000165* $TEXT (,<Abnormal process termination at PC ^O/S2,RHMASK/>)
303 000205'00 260 17 0 00 000203* $TEXT (,<Status: ^O/S1/^0>)
304 000207'00 550 01 0 00 000007 HRRZ S1,P1 ;Get the fork index
305 000210'00 260 17 0 00 000470' $CALL KILFRK ;Kill the dead fork
306 000211'00 253 07 0 00 000173' CHKFR2: AOBJN P1,CHKFR1 ;Check the next fork
307
308 000212'00 200 01 0 00 000000# MOVE S1,FRKCNT ;Get active fork count
309 000213'00 301 01 0 00 000003 CHKFR3: CAIL S1,MINSRV ;Do we have enough forks?
310 000214'00 324740 000167* $RETT ;Yes..just return
311 000215'00 260 17 0 00 000437' $CALL CREFRK ;No..create a fork
312 000216'00 326 00 0 00 000213' JUMPT CHKFR3 ;Check count again
313 000217'00 201 01 0 00 000074 MOVEI S1,^D60 ;Set sleep time to a minute
314 000220'00 202 01 0 00 000000# MOVEM S1,SLPTIM
315 000221'00 476 00 0 00 000000# SETOM FRKFLG ;Request another check
316 000222'00 324740 000134* $RETF
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 11
FAL MAC 14-Jan-82 08:35 SERVER initializtion
317 SUBTTL SERVER initializtion
318
319 000223'00 DAPIB: $BUILD (.DISIZ) ;Dap initialization block
320 $SET (.DIFLG,DI%CNT,1) ;Request 1 link
321 $EOB
322
323 000225'00 104 00 0 00 000147 SRV: RESET ;Clean up from last start
324 000226'00 200 17 0 00 000763' MOVE P,[IOWD PDLEN,PDL] ;SET UP STACK
325 000227'00 402 00 0 00 000000# SETZM DATORG ;Clear impure storage
326 000230'00 200 01 0 00 000764' MOVE S1,[DATORG,,DATORG+1]
327 000231'00 251 01 0 00 000000# BLT S1,DATEND-1
328 000232'00 552 04 0 00 000000# HRRZM T2,STREAM ;[0025]STREAM NUMBER-1
329 000233'00 350 00 0 00 000000# AOS STREAM ;[0025]STREAM NUMBER
330 000234'00 561 01 0 00 000000# HRROI S1,SRVOBJ ;Point to server name
331 000235'00 200 02 0 00 000701' MOVX S2,TXT(FAL) ;GET OBJECT NAME
332 000236'00 332 00 0 00 000135 SKIPE DEBUGW
333 000237'00 200 02 0 00 000704' MOVX S2,TXT(FAL-DEBUG)
334 000240'00 260 17 0 00 000626' $CALL CPYSTR ;Copy the string
335 000241'00 201 01 0 00 000006 MOVEI S1,IB.SZ
336 000242'00 201 02 0 00 000021' MOVEI S2,SRVIB ;POINT TO IB
337 000243'00 260 17 0 00 000065* $CALL I%INIT ;GET THE LIBRARY
338 000244'00 551 01 0 00 000016 HRRZI S1,.MSIIC ;BYPASS MOUNTS
339 000245'00 104 00 0 00 000555 MSTR
340 000246'00 320 16 0 00 000247' ERJMP .+1
341 000247'00 260 17 0 00 000631' $CALL PSIINI ;INITIALIZE PSI SYSTEM
342 000250'00 476 00 0 00 000000# SETOM LOGIFN ;Not to write in logfile
343 000251'00 402 00 0 00 000000# SETZM FRKCNT ;I don't have any inferiors
344
345 000252'00 201 01 0 00 000002 SRVINI: MOVEI S1,.DISIZ
346 000253'00 201 02 0 00 000223' MOVEI S2,DAPIB
347 000254'00 260 17 0 00 000000* $CALL D$INIT ;Init DAPLIB
348 000255'00 336 00 0 00 000000 SKIPT
349 000256'00 260 17 0 00 000000* $FATAL (Can't initialize DAPLIB)
350 000260'00 254 00 0 00 000310' JRST LISTEN
351
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 12
FAL MAC 14-Jan-82 08:35 SERVER Listening loop
352 SUBTTL SERVER Listening loop
353
354 000261'00 DAPOB: $BUILD (.DOSIZ) ;Dap link open block
355 $SET (.DOFLG,DO%SRV,1) ;Become server
356 $SET (.DOFLG,DO%WCN,1) ;Wait for connection
357 $SET (.DOFLG,DO%PSI,1) ;Use PSI
358 $SET (.DOFLG,DO%LNK,SRVLNK) ;Use servers link
359 $SET (.DOPSI,DO%CDN,.ICCDN) ;Connect/Disconnect channel
360 $SET (.DOPSI,DO%DAV,.ICDAV) ;Data available
361 $SET (.DOPSI,DO%INA,.ICIMA) ;Interrupt message
362 $SET (.DOCID,,CHKUSR) ;Connect verification
363 $SET (.DONOD,,<POINT 7,SRVNOD>) ;Remote node name
364 $SET (.DOOBJ,,<POINT 7,SRVOBJ>) ;Requested object name
365 $SET (.DOUSR,,<POINT 7,SRVUSR>) ;User string
366 $SET (.DOPSW,,<POINT 7,SRVPSW>) ;Password string
367 $SET (.DOACT,,<POINT 7,SRVACT>) ;Account string
368 $SET (.DOOPD,,<POINT 7,SRVOPD>) ;Optional data
369 $EOB
370
371 000276'00 DAPSRV: $BUILD (.DFSIZ)
372 $SET (.DFFLG,DF%LNK,SRVLNK)
373 $SET (.DFLFS,,<POINT 7,SRVFIL>)
374 $EOB
375
376 000310'00 335 00 0 00 000000# LISTEN: SKIPGE LOGIFN ;Am I the master?
377 000311'00 260 17 0 00 000621' $CALL CLSJFN ;Yes..close all JFN's
378 000312'00 201 01 0 00 000066 MOVEI S1,SRVSIZ ;Get size of server data
379 000313'00 201 02 0 00 000000# MOVEI S2,SRVBEG ;Get start of area to clear
380 000314'00 260 17 0 00 000000* $CALL .ZCHNK ;Clear it
381 000315'00 201 01 0 00 000015 MOVEI S1,.DOSIZ ;Get size of open block
382 000316'00 201 02 0 00 000261' MOVEI S2,DAPOB ;Point to open block
383 000317'00 260 17 0 00 000000* $CALL D$OPEN
384 000320'00 322 00 0 00 000345' JUMPF LISTE5 ;Close our end on failure
385 000321'00 260 17 0 00 000205* $TEXT (,Connection from node ^T/SRVNOD/ for ^T/SRVUSR/)
386
387 000323'00 260 17 0 00 000622' LISTE1: $CALL RELJFN ;Release unopen JFNS
388 000324'00 201 01 0 00 000012 MOVEI S1,.DFSIZ
389 000325'00 201 02 0 00 000276' MOVEI S2,DAPSRV
390 000326'00 201 03 0 00 000005 MOVEI T1,^D5 ;Timer retry to wait for access
391 000327'00 260 17 0 00 000000* $CALL D$FUNC ;Do one function
392 000330'00 322 00 0 00 000333' JUMPF LISTE3 ;Check link status on failure
393 000331'00 201 01 0 00 000024 LISTE2: MOVEI S1,^D20 ;Wait twenty seconds
394 000332'00 260 17 0 00 000127* $CALL I%SLP
395 000333'00 201 01 0 00 000001 LISTE3: MOVEI S1,SRVLNK ;Get the link index
396 000334'00 260 17 0 00 000000* $CALL D$STAT ;Check link status
397 000335'00 603 01 0 00 020000 TXNE S1,MO%EOM ;Message available?
398 000336'00 326 00 0 00 000323' JUMPT LISTE1 ;Yes..go process it
399 000337'00 607 01 0 00 014000 TXNN S1,MO%SYN!MO%ABT ;Disconnected or aborted?
400 000340'00 607 01 0 00 400000 TXNN S1,MO%CON ; and still connected?
401 000341'00 254 00 0 00 000345' JRST LISTE5 ;No..close our end
402 000342'00 603 01 0 00 020000 TXNE S1,MO%EOM ;Have a message available?
403 000343'00 254 00 0 00 000323' JRST LISTE1 ;Yes..process it
404 000344'00 367 03 0 00 000331' SOJG T1,LISTE2 ;No..try again
405 000345'00 201 01 0 00 000001 LISTE5: MOVEI S1,SRVLNK ;Point to our link
406 000346'00 201 02 0 00 001016' MOVEI S2,[.DCX38] ;Abort close
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 12-1
FAL MAC 14-Jan-82 08:35 SERVER Listening loop
407 000347'00 260 17 0 00 000000* $CALL D$CLOS ;Close or abort the link
408 000350'00 260 17 0 00 000321* $TEXT (,^0) ;CLOSE THE LOG ENTRY
409 000352'00 254 00 0 00 000310' JRST LISTEN ;Wait for new connection
410
411 000353'00 44 07 0 00 001023' FNCTBL: TXT(Unknown)
412 000354'00 44 07 0 00 001025' TXT(Read)
413 000355'00 44 07 0 00 001026' TXT(Write)
414 000356'00 44 07 0 00 001030' TXT(Rename)
415 000357'00 44 07 0 00 001032' TXT(Delete) ;Directory connect
416 000360'00 44 07 0 00 001023' TXT(Unknown)
417 000361'00 44 07 0 00 001034' TXT(Directory)
418 000362'00 44 07 0 00 001036' TXT(Submit)
419 000363'00 44 07 0 00 001040' TXT(Execute)
420
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 13
FAL MAC 14-Jan-82 08:35 CHKUSR Connection verification routine
421 SUBTTL CHKUSR Connection verification routine
422
423 ;CHKUSR - Called at interrupt level from D$OPEN to validate connect
424
425 ;ACCEPTS Connect info stored per pointers in D$OPEN request
426
427 ;Returns TRUE S1/ User number
428 ; S2/ Directory number
429
430 ; FALSE S1/ NSP reason code
431 ; S2/ Pointer to reason string
432
433 000364'00 260 17 0 00 000000* CHKUSR: STKVAR <DIRNUM,USRNUM,<DIRPSW,10>>
434 000365'00 000012 000012
435 000366'00 205 01 0 00 000001 MOVX S1,RC%EMO ;Require exact match
436 000367'00 561 02 0 00 000000# HRROI S2,SRVUSR ;POINT TO USER NAME GIVEN
437 000370'00 402 00 0 00 000003 SETZM T1 ;GOOD FORM
438 000371'00 104 00 0 00 000554 RCUSR ;CHECK USER NUMBER
439 000372'00 320 16 0 00 000430' ERJMP CKUER1 ;BAD USER NAME
440 000373'00 322 03 0 00 000430' JUMPE T1,CKUER1 ;...
441 000374'00 202 03 0 17 777775 MOVEM T1,USRNUM ;SAVE USER NUMBER FOR CHKACC
442 000375'00 200 02 0 00 000003 MOVE S2,T1 ;GET IN PROPER AC FOR RCDIR
443 000376'00 402 00 0 00 000003 SETZM T1 ;GOOD FORM
444 000377'00 104 00 0 00 000553 RCDIR ;GET DIRECTORY FOR THIS USER
445 000400'00 320 16 0 00 000430' ERJMP CKUER1 ;CAN'T HAPPEN
446 000401'00 322 03 0 00 000430' JUMPE T1,CKUER1 ;BAD DIRECTORY HERE
447 000402'00 202 03 0 17 777776 MOVEM T1,DIRNUM ;SAVE DIRECTORY NUMBER
448 000403'00 200 01 0 17 777776 MOVE S1,DIRNUM ;GET DIRECTORY NUMBER
449 000404'00 201 02 0 00 000000# MOVEI S2,DIRBLK ;POINT TO THE BLOCK
450 000405'00 201 03 0 00 000020 MOVEI T1,.CDDAC+1 ;GET LENGTH OF ARGUMENT BLOCK
451 000406'00 202 03 0 02 000000 MOVEM T1,.CDLEN(S2) ;SAVE FOR THE CALL
452 000407'00 561 03 0 00 000000# HRROI T1,SRVACT ;POINT TO ACCOUNT STRING
453 000410'00 336 00 0 00 000000# SKIPN SRVACT ;ALREADY SPECIFIED?
454 000411'00 202 03 0 02 000017 MOVEM T1,.CDDAC(S2) ;NO, GET DEFAULT FROM DIRECTORY IF ANY
455 000412'00 561 03 0 17 777765 HRROI T1,DIRPSW ;POINT TO PASSWORD STRING
456 000413'00 104 00 0 00 000241 GTDIR ;GET ALL THE DIRECTORY STUFF
457 000414'00 320 16 0 00 000430' ERJMP CKUER1 ;GIVE UP
458
459 ;HERE TO CHECK PASSWORD
460 000415'00 561 01 0 17 777765 CHKUPW: HRROI S1,DIRPSW
461 000416'00 561 02 0 00 000000# HRROI S2,SRVPSW
462 000417'00 104 00 0 00 000540 STCMP
463 000420'00 326 01 0 00 000431' JUMPN S1,CKUER2 ;FAIL IF NOT EXACT
464
465 ;HERE IF PASSWORDS MATCH TO VALIDATE THE ACCOUNTING DATA
466 000421'00 200 01 0 17 777776 CHKUAC: MOVE S1,DIRNUM ;GET DIRECTORY NUMBER
467 000422'00 561 02 0 00 000000# HRROI S2,SRVACT ;POINT TO REMOTE ACCOUNT STRING
468 000423'00 104 00 0 00 000566 VACCT ;VALIDATE THE ACCOUNT
469 000424'00 320 16 0 00 000434' ERJMP CKUER3 ;NOT VALID
470 000425'00 200 01 0 17 777775 MOVE S1,USRNUM ;Return user number
471 000426'00 200 02 0 17 777776 MOVE S2,DIRNUM ;Return directory number
472 000427'00 324740 000214* $RETT ;Return success
473
474
475 ;HERE IF ERROR VALIDATING USER
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 13-1
FAL MAC 14-Jan-82 08:35 CHKUSR Connection verification routine
476 000430'00 334 02 0 00 001046' CKUER1: SKIPA S2,[TXT(Invalid user-id)]
477 000431'00 200 02 0 00 001053' CKUER2: MOVX S2,TXT(Invalid password)
478 000432'00 201 01 0 00 000042 MOVX S1,.DCX34 ;Generic error type
479 000433'00 324740 000222* $RETF ;Return the failure
480
481 000434'00 201 01 0 00 000044 CKUER3: MOVX S1,.DCX36 ;ERROR FOR BAD ACCOUNT
482 000435'00 200 02 0 00 001060' MOVX S2,TXT(Invalid account)
483 000436'00 324740 000433* $RETF ;Return the failure
484
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 14
FAL MAC 14-Jan-82 08:35 CREFRK Fork creation and initializtion
485 SUBTTL CREFRK Fork creation and initializtion
486
487 ;ACCEPTS No arguments
488
489 ;RETURNS TRUE S1/ Count of active forks
490 ; Fork has been started
491
492 ; FALSE Server fork could not be started
493
494 000437'00 205 04 0 00 777774 CREFRK: MOVSI T2,-MAXSRV
495 000440'00 336 00 0 04 000000# SKIPN FRKTBL(T2) ;Fork available?
496 000441'00 254 00 0 00 000444' JRST CREFR1 ;Yes..use it
497 000442'00 253 04 0 00 000440' AOBJN T2,.-2 ;No..look at next slot
498 000443'00 324740 000436* $RETF ;No more forks available
499
500 000444'00 205 01 0 00 240000 CREFR1: MOVX S1,CR%CAP+CR%ACS ;[0025]Allow forks capabilities
501 000445'00 400 02 0 00 000000 SETZ S2, ;[0025]POINT AT MY ACS
502 000446'00 104 00 0 00 000152 CFORK
503 000447'00 320 16 0 00 000443* ERJMP .RETF ;Give Up if CFORK fails
504 000450'00 350 00 0 00 000000# AOS FRKCNT ;Bump active fork count
505 000451'00 202 01 0 04 000000# MOVEM S1,FRKTBL(T2) ;Save fork handle
506 000452'00 514 02 0 00 000001 HRLZ S2,S1 ;Set up to Map my pages
507 000453'00 205 01 0 00 400000 MOVSI S1,.FHSLF ;Map my address space
508 000454'00 200 03 0 00 001061' MOVX T1,PM%RD!PM%EX!PM%CPY!PM%CNT!NFKPGS
509 000455'00 104 00 0 00 000056 PMAP
510 000456'00 320 16 0 00 000465' ERJMP CREFR2
511 000457'00 550 01 0 04 000000# HRRZ S1,FRKTBL(T2) ;Start the fork as a server
512 000460'00 201 02 0 00 001062' MOVEI S2,[JRST SRV]
513 000461'00 104 00 0 00 000157 SFORK
514 000462'00 320 16 0 00 000465' ERJMP CREFR2
515 000463'00 200 01 0 00 000000# MOVE S1,FRKCNT ;Return count of active forks
516 000464'00 324740 000427* $RETT
517
518 000465'00 550 01 0 00 000004 CREFR2: HRRZ S1,T2 ;Get fork index
519 000466'00 260 17 0 00 000470' $CALL KILFRK ;Kill the fork
520 000467'00 324740 000447* $RETF ;Return the failure
521
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 15
FAL MAC 14-Jan-82 08:35 KILFRK Routine to kill a server
522 SUBTTL KILFRK Routine to kill a server
523
524 ;ACCEPTS S1/ index into FRKTBL
525
526 ;RETURNS TRUE S1/ Number of active forks
527 ; Fork has been killed
528
529 000470'00 400 04 0 00 000000 KILFRK: SETZ T2, ;Set up to clear and fetch
530 000471'00 250 04 0 01 000000# EXCH T2,FRKTBL(S1) ;Get the fork stuff
531 000472'00 550 01 0 00 000004 HRRZ S1,T2 ;Get the fork handle
532 000473'00 554 02 0 00 000004 HLRZ S2,T2 ;Get offset to page
533 000474'00 104 00 0 00 000153 KFORK
534 000475'00 320 16 0 00 000476' ERJMP .+1 ;Can't happen
535 000476'00 370 01 0 00 000000# KILFR1: SOS S1,FRKCNT ;Decr active fork count
536 000477'00 324740 000464* $RETT ;Return
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 16
FAL MAC 14-Jan-82 08:35 LOGSNM Routine to log system name
537 SUBTTL LOGSNM Routine to log system name
538
539 000500'00 260 17 0 00 000364* LOGSNM: STKVAR <<SYSNAM,20>> ;Get some space for system name
540 000501'00 000020 000020
541 000502'00 200 01 0 00 001063' MOVX S1,'SYSVER' ;NAME OF GETTAB FOR SYSNAME
542 000503'00 104 00 0 00 000016 SYSGT ;GET IT
543 000504'00 514 03 0 00 000002 HRLZ T1,S2 ;GET TABLE#,,0
544 000505'00 201 04 0 17 777757 MOVEI T2,SYSNAM ;Point to name storage
545 000506'00 505 04 0 00 777760 HRLI T2,-20 ;GET COUNT
546 000507'00 204 01 0 00 000003 LOGSN1: MOVS S1,T1 ;GET N,,TABLE#
547 000510'00 104 00 0 00 000010 GETAB ;GET THE ENTRY
548 000511'00 201 01 0 00 000000 MOVEI S1,0 ;USE ZERO IF LOSING
549 000512'00 202 01 0 04 000000 MOVEM S1,(T2) ;STORE THE RESULT
550 000513'00 271 03 0 00 000001 ADDI T1,1 ;POINT TO NEXT ENTRY
551 000514'00 253 04 0 00 000507' AOBJN T2,LOGSN1 ;GET IT
552 000515'00 561 01 0 17 777757 HRROI S1,SYSNAM ;POINT TO THE NAME
553 000516'00 260 17 0 00 000350* $TEXT (,<^Q/S1/>)
554 000520'00 324740 000477* $RETT ;RETURN TRUE
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 17
FAL MAC 14-Jan-82 08:35 LOGMSG Text output routine for Superior FAL
555 SUBTTL LOGMSG Text output routine for Superior FAL
556
557 000521'00 332 00 0 00 000000# LOGMSG: SKIPE LOGHDR ;First time here
558 000522'00 254 00 0 00 000534' JRST LOGMS1 ;No..proceed
559 000523'00 260 17 0 00 000516* $TEXT (LOGCHR,<^H/[-1]/^A>) ;Yes..write the header
560 000525'00 332 00 0 00 000000# SKIPE STREAM ;Am I inferior?
561 000526'00 260 17 0 00 000523* $TEXT (LOGCHR,< SRV-^D1/STREAM/ ^A>) ;Yes..log srv-n
562 000530'00 336 00 0 00 000000# SKIPN STREAM
563 000531'00 260 17 0 00 000526* $TEXT (LOGCHR,< ^A>) ;No..display a tab
564 000533'00 476 00 0 00 000000# SETOM LOGHDR
565 000534'00 322 01 0 00 000544' LOGMS1: JUMPE S1,LOGMS2 ;End of message?
566 000535'00 331 00 0 00 000000# SKIPL LOGHDR ;Ready for indention?
567 000536'00 260 17 0 00 000531* $TEXT (LOGCHR,< ^A>) ;yes..do it
568 000540'00 476 00 0 00 000000# SETOM LOGHDR ;Clear indention flag
569 000541'00 306 01 0 00 000012 CAIN S1,.CHLFD ;Unless this is a line feed
570 000542'00 213 00 0 00 000000# MOVNS LOGHDR ; Store a +1
571 000543'00 324 17 0 00 000551' PJRST LOGCHR ;Log the character and return
572
573 000544'00 337 00 0 00 000000# LOGMS2: SKIPG LOGHDR ;Was the last thing a line feed?
574 000545'00 260 17 0 00 000536* $TEXT (LOGCHR,<>) ;No..write one
575 000547'00 402 00 0 00 000000# SETZM LOGHDR ;Clear the header flag
576 000550'00 324740 000520* $RETT ;And return
577
578 000551'00 200 02 0 00 000001 LOGCHR: MOVE S2,S1 ;No..move character to S2
579 000552'00 331 01 0 00 000000# SKIPL S1,LOGIFN
580 000553'00 260 17 0 00 000000* $CALL F%OBYT ;Write the character
581 000554'00 324740 000550* $RETT
582
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 18
FAL MAC 14-Jan-82 08:35 MSGCHR Text output routine routine for inferior servers
583 SUBTTL MSGCHR Text output routine routine for inferior servers
584
585 000555'00 332 00 0 00 000000# MSGCHR: SKIPE LOGHDR ;First time here?
586 000556'00 254 00 0 00 000564' JRST MSGCH1 ;Store the character
587 000557'00 200 02 0 00 001132' MOVE S2,[POINT 7,MSGTXT] ;Point to IPCF message block
588 000560'00 202 02 0 00 000000# MOVEM S2,MSGPTR ;Store the pointer
589 000561'00 201 02 0 00 004703 MOVEI S2,MSGSIZ ;Get max character count
590 000562'00 202 02 0 00 000000# MOVEM S2,MSGCNT ;Store the count
591 000563'00 476 00 0 00 000000# SETOM LOGHDR ;Flag headers set
592 000564'00 373 00 0 00 000000# MSGCH1: SOSLE MSGCNT ;Bump character count
593 000565'00 133 00 0 00 000000# IBP MSGPTR ;Bump the pointer
594 000566'00 137 01 0 00 000000# DPB S1,MSGPTR ;Store the character
595 000567'00 326 01 0 00 000554* JUMPN S1,.RETT ;Return if not null
596 000570'00 136 01 0 00 000000# IDPB S1,MSGPTR ;Store the null
597 000571'00 402 00 0 00 000000# SETZM LOGHDR ;Clear the log header flag
598 000572'00 201 01 0 00 700000 MSGCH2: MOVEI S1,MT.TXT ;Get text message type
599 000573'00 202 01 0 00 000000# MOVEM S1,MSGHDR ;Store it in header
600 000574'00 201 01 0 00 000017 MOVEI S1,.CMTXT ;Get text argument type
601 000575'00 202 01 0 00 000000# MOVEM S1,MSGARH ;Store in Argument header
602 000576'00 200 01 0 00 000000# MOVE S1,MSGPTR ;Get message pointer
603 000577'00 201 01 0 01 000000# MOVEI S1,-MSGARC(S1) ;Get argument length
604 000600'00 506 01 0 00 000000# HRLM S1,MSGARH ;Save size in arg header
605 000601'00 350 00 0 00 000000# AOS MSGARC ;Increment argument count
606 000602'00 271 01 0 00 000000# ADDI S1,MSGARH-MSGHDR ;Get size of message
607 000603'00 506 01 0 00 000000# HRLM S1,MSGHDR ;Save in the header
608 000604'00 201 02 0 00 000000# MOVEI S2,MSGHDR ;Point to the message
609 000605'00 324 17 0 00 000607' PJRST SNDFAL ;Send the message to FAL
610 000606'00 324740 000567* $RETT
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 19
FAL MAC 14-Jan-82 08:35 SNDFAL Routine to send IPCF packet to FAL
611 SUBTTL SNDFAL Routine to send IPCF packet to FAL
612
613 ;ACCEPTS S1/ Length of message
614 ; S2/ Address of message
615
616 000607'00 200 03 0 00 000000# SNDFAL: MOVE T1,FALPID
617 000610'00 202 03 0 00 000000# MOVEM T1,SNDSAB+SAB.PD ;Send only to FAL
618 000611'00 200 03 0 00 000000# SNDMSG: MOVE T1,STREAM ;Get my stream number
619 000612'00 202 03 0 02 000002 MOVEM T1,.MSCOD(S2) ;Save in message
620 000613'00 202 01 0 00 000000# MOVEM S1,SNDSAB+SAB.LN ;Store the length
621 000614'00 202 02 0 00 000000# MOVEM S2,SNDSAB+SAB.MS ;Store the address
622 000615'00 201 01 0 00 000005 MOVEI S1,SAB.SZ
623 000616'00 201 02 0 00 000000# MOVEI S2,SNDSAB
624 000617'00 260 17 0 00 000000* $CALL C%SEND
625 000620'00 324740 000606* $RETT ;Don't care about failures
626
627 ;RELJFN QUICKY ROUTINE TO RELEASE ALL NON-OPEN JFNS
628 ;ACCEPTS NO ARGUMENTS
629 ;RETURNS TRUE ALWAYS
630
631 000621'00 334 01 0 00 001133' CLSJFN::SKIPA S1,[EXP CZ%ABT!.FHSLF] ;ABORT ALL FILE OPERATIONS
632 000622'00 200 01 0 00 001134' RELJFN::MOVX S1,CZ%NCL!.FHSLF ;RELEASE ALL NON-OPEN JFNS
633 000623'00 104 00 0 00 000034 CLZFF
634 000624'00 320 16 0 00 000625' ERJMP .+1 ;Ignore any errors
635 000625'00 324740 000620* $RETT ;RETURN
636
637 ;CPYSTR QUICKY ROUTINE TO COPY ASCIZ TEXT
638
639 ;ACCEPTS S1/ DESTINATION POINTER
640 ; S2/ SOURCE POINTER
641
642 000626'00 400 03 0 00 000000 CPYSTR: SETZ T1, ;Terminate on Null
643 000627'00 104 00 0 00 000053 SOUT
644 000630'00 263 17 0 00 000000 $RET
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 20
FAL MAC 14-Jan-82 08:35 PSIINI Software interrupt system initialization
645 SUBTTL PSIINI Software interrupt system initialization
646
647 000631'00 201 01 0 00 400000 PSIINI: MOVEI S1,.FHSLF ;Initialize for me
648 000632'00 200 02 0 00 001135' MOVE S2,[LEVTAB,,CHNTAB] ;Point to tables
649 000633'00 104 00 0 00 000125 SIR
650 000634'00 200 02 0 00 001136' MOVX S2,1B<.ICIPC>!1B<.ICCDN>!1B<.ICDAV>!1B<.ICIMA>!1B<.ICIFT>
651 000635'00 104 00 0 00 000131 AIC ;Turn on selected channels
652 000636'00 104 00 0 00 000126 EIR ;Enable requests
653 000637'00 324740 000625* $RETT
654
655 SUBTTL Interrupt service routines
656
657 000640'00 260 17 0 00 000000* INTPSI: $BGINT 1
658 000641'00 260 17 0 00 000000* $CALL C%INTR ;Flag the message
659 000642'00 263 17 0 00 000000 $DEBRK
660
661 000643'00 260 17 0 00 000640* INTCDN: $BGINT 1
662 000644'00 201 01 0 00 000001 MOVEI S1,SRVLNK ;POINT TO OUR LINK
663 000645'00 201 02 0 00 000001 MOVEI S2,.DICDN ;Get interrupt cause
664 000646'00 260 17 0 00 000000* $CALL D$INTR
665 000647'00 263 17 0 00 000000 $DEBRK
666
667 000650'00 260 17 0 00 000643* INTDAV: $BGINT 1
668 000651'00 201 01 0 00 000001 MOVEI S1,SRVLNK ;POINT TO OUR LINK
669 000652'00 201 02 0 00 000003 MOVEI S2,.DIDAV ;Get interrupt cause
670 000653'00 260 17 0 00 000646* $CALL D$INTR
671 000654'00 263 17 0 00 000000 $DEBRK
672
673 000655'00 260 17 0 00 000650* INTINA: $BGINT 1
674 000656'00 201 01 0 00 000001 MOVEI S1,SRVLNK ;POINT TO OUR LINK
675 000657'00 201 02 0 00 000002 MOVEI S2,.DIINA ;Get interrupt cause
676 000660'00 260 17 0 00 000653* $CALL D$INTR
677 000661'00 263 17 0 00 000000 $DEBRK
678
679 000662'00 260 17 0 00 000655* INTIFT: $BGINT 1 ;Inferior fork termination
680 000663'00 476 00 0 00 000000# SETOM FRKFLG ;Request fork status check
681 000664'00 263 17 0 00 000000 $DEBRK ;Dismiss for now
682
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 21
FAL MAC 14-Jan-82 08:35 Literals
683 SUBTTL Literals
684
685 ;Dump the literals
686
687 LSTOF.
688 LSTON.
689
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 22
FAL MAC 14-Jan-82 08:35 Interrupt tables
690 SUBTTL Interrupt tables
691
692 .PSECT DATA ;Load into impure storage
693
694 000000'01 000000 000062' LEVTAB: LEV1PC
695 000001'01 000000 000000 EXP 0
696 000002'01 000000 000000 EXP 0
697
698 ;INTERRUPT CHANNELS
699
700 RADIX 5+5
701
702 000003'01 CHNTAB:
703 000003'01 000001 000000# ICHPSI: 1,,INTPSI ;PSI interrupts
704 000004'01 000001 000000# ICHDAV: 1,,INTDAV ;Data available
705 000005'01 000001 000000# ICHCDN: 1,,INTCDN ;Connect/Disconnect
706 000006'01 000001 000000# ICHINA: 1,,INTINA ;Interrupt message
707 000007'01 ICH004: BLOCK 1 ;ASSIGNABLE CHANNEL 4
708 000010'01 ICH005: BLOCK 1 ;ASSIGNABLE CHANNEL 5
709 000011'01 ICHAOV: BLOCK 1 ;ARITHMETIC OVERFLOW
710 000012'01 ICHFOV: BLOCK 1 ;FLOATING OVERFLOW
711 000013'01 ICH008: BLOCK 1 ;RESERVED
712 000014'01 ICHPOV: BLOCK 1 ;PDL OVERFLOW
713 000015'01 ICHEOF: BLOCK 1 ;END OF FILE
714 000016'01 ICHDAE: BLOCK 1 ;DATA ERROR
715 000017'01 ICHQTA: BLOCK 1 ;QUOTA EXCEEDED
716 000020'01 ICH013: BLOCK 1 ;RESERVED
717 000021'01 ICHTOD: BLOCK 1 ;TIME OF DAY (RESERVED)
718 000022'01 ICHILI: BLOCK 1 ;ILLEG INSTRUCTION
719 000023'01 ICHIRD: BLOCK 1 ;ILLEGAL READ
720 000024'01 ICHIWR: BLOCK 1 ;ILLEGAL WRITE
721 000025'01 ICHIEX: BLOCK 1 ;ILLEGAL EXECUTE (RESERVED)
722 000026'01 000001 000000# ICHIFT: 1,,INTIFT ;INFERIOR FORK TERMINATION
723 000027'01 ICHMSE: BLOCK 1 ;MACHINE SIZE EXCEEDED
724 000030'01 ICHTRU: BLOCK 1 ;TRAP TO USER (RESERVED)
725 000031'01 ICHNXP: BLOCK 1 ;NONEXISTENT PAGE REFERENCED
726 000032'01 ICH023: BLOCK 1 ;ASSIGNABLE CHANNEL 23
727 000033'01 ICH024: BLOCK 1 ;ASSIGNABLE CHANNEL 24
728 000034'01 ICH025: BLOCK 1 ;ASSIGNABLE CHANNEL 25
729 000035'01 ICH026: BLOCK 1 ;ASSIGNABLE CHANNEL 26
730 000036'01 ICH027: BLOCK 1 ;ASSIGNABLE CHANNEL 27
731 000037'01 ICH028: BLOCK 1 ;ASSIGNABLE CHANNEL 28
732 000040'01 ICH029: BLOCK 1 ;ASSIGNABLE CHANNEL 29
733 000041'01 ICH030: BLOCK 1 ;ASSIGNABLE CHANNEL 30
734 000042'01 ICH031: BLOCK 1 ;ASSIGNABLE CHANNEL 31
735 000043'01 ICH032: BLOCK 1 ;ASSIGNABLE CHANNEL 32
736 000044'01 ICH033: BLOCK 1 ;ASSIGNABLE CHANNEL 33
737 000045'01 ICH034: BLOCK 1 ;ASSIGNABLE CHANNEL 34
738 000046'01 ICH035: BLOCK 1 ;ASSIGNABLE CHANNEL 35
739
740 RADIX 8
741
742 .ENDPS DATA
743
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 23
FAL MAC 14-Jan-82 08:35 IMPURE Storage
744 SUBTTL IMPURE Storage
745
746 .PSECT DATA
747
748 DEFINE $DATA (NAME,SIZE<1>) <
749 NAME: BLOCK SIZE
750 ..LOC==.>
751
752
753 000053' $DATA FRKTBL,MAXSRV ;LH offset to fork data pages
754 000054' $DATA STREAM,1 ;My stream number
755 000055' $DATA FALPID,1 ;Fal's pid
756 000056' $DATA MESSAG,1 ;Address of latest IPCF message
757 000057' $DATA FRKFLG,1 ;-1 to check fork status
758 000060' $DATA FRKCNT,1 ;Count of active forks
759 000061' $DATA SLPTIM,1 ;Max time to sleep in main loop
760 000062' $DATA LOGIFN,1 ;Logfile IFN
761 ;RH fork handle
762
763 000062' $DATA DATORG,0 ;Start of area to clear
764
765 ;Interrupt PC locations
766
767 000062'01 $GDATA LEV1PC,1 ;RETURN PC FOR INTERRUPT LEVEL 1
768
769 000463' $DATA PDL,PDLEN ;PUSH DOWN POINTER
770
771 000470' $DATA SRVOBJ,5 ;Requested object name
772
773 000470' $DATA SRVBEG,0 ;Start of area to clear for SRV
774 000472' $DATA SRVNOD,2 ;Remote node name
775 000477' $DATA SRVUSR,5 ;Remote user name
776 000504' $DATA SRVPSW,5 ;Remote password string
777 000511' $DATA SRVACT,5 ;Remote account string
778 000516' $DATA SRVOPD,5 ;Optional data
779 000536' $DATA SRVFIL,FILSIZ ;Remote file spec
780 000556' $DATA DIRBLK,.CDDAC+1 ;Size of directory storage
781 000066 SRVSIZ==.-SRVBEG
782
783 000557' $DATA REMSWS,1 ;Remote file switches
784
785
786 000564' $DATA SNDSAB,SAB.SZ
787 000565' $DATA MSGPTR,1 ;Pointer to log message char
788 000566' $DATA MSGCNT,1 ;Remaining room in MSGTXT
789
790 ;IPCF message area
791
792 000571' $DATA MSGHDR,MSHSIZ ;Message header area
793 000572' $DATA MSGARF ;Message argument flags
794 000573' $DATA MSGARC ;Message argument count
795 000574' $DATA MSGARH ;Message argument header
796 001560' $DATA MSGTXT,<MSGSIZ/5+1> ;Message body goes here
797 001616' $DATA ERRTXT,^D30 ;Room to store error text
798
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page 23-1
FAL MAC 14-Jan-82 08:35 IMPURE Storage
799 001617' $DATA LOGHDR,1 ;LOG HEADER FLAG
800
801 .ENDPS DATA ;End of Impure storage
802
803 000003 000000' END <3,,ENTVEC>
NO ERRORS DETECTED
PROGRAM BREAK IS 001141
PSECT 1 BREAK IS 001617 FOR DATA
CPU TIME USED 00:23.403
113P CORE USED
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page S-1
FAL MAC 14-Jan-82 08:35 SYMBOL TABLE
AIC 104000 000131 int ERJMP 320700 000000 int LOGCHR 000551' PMAP 104000 000056 int
C%INTR 000641' ext F%AOPN 000111' ext LOGDBG 000044' PSIINI 000631'
C%RECV 000132' ext F%CHKP 000125' ext LOGFOB 000037' RC%EMO 000001 000000 sin
C%REL 000150' ext F%OBYT 000553' ext LOGMS1 000534' RCDIR 104000 000553 int
C%SEND 000617' ext FAL 000051' LOGMS2 000544' RCUSR 104000 000554 int
CFORK 104000 000152 int FALEDT 000025 spd LOGMSG 000521' RELJFN 000622' int
CHKFR1 000173' FALIB 000003' LOGSN1 000507' RESET 104000 000147 int
CHKFR2 000211' FALMIN 000000 spd LOGSNM 000500' RF%STS 377777 000000 sin
CHKFR3 000213' FALPIB 000011' LSTIN. 000000 spd RFSTS 104000 000156 int
CHKFRK 000170' FALVER 000002 spd M 000014 spd RHMASK 777777 spd
CHKLEN 000005 sin FALWHO 000000 spd MAIN 000120' RLJFN 104000 000023 int
CHKQ.1 000131' FB.BSZ 000077 spd MAXNOD 000020 sin S1 000001 spd
CHKQ.3 000141' FILSIZ 000020 sin MAXSRV 000004 sin S2 000002 spd
CHKQ.4 000146' FNCTBL 000353' MD.ADR 777777 spd SAB.LN 000001 spd
CHKQ.5 000150' FOB.CW 000001 spd MDB.MS 000003 spd SAB.MS 000002 spd
CHKQ.6 000151' FOB.FD 000000 spd MINSRV 000003 sin SAB.PD 000000 spd
CHKQ.9 000135' FOB.SZ 000005 spd MO%ABT 010000 000000 sin SAB.SZ 000005 spd
CHKQUE 000131' FTJSYS 777777 777777 sin MO%CDN 777000 000000 sin SFORK 104000 000157 int
CHKUAC 000421' FTUUOS 000000 sin MO%CON 400000 000000 sin SIR 104000 000125 int
CHKUPW 000415' FWMASK 777777 777777 spd MO%DAV 777000 sin SKIPT 336000 000000 spd
CHKUSR 000364' GETAB 104000 000010 int MO%EOM 020000 000000 sin SNDFAL 000607'
CKUER1 000430' GJ%OLD 100000 000000 sin MO%INA 000777 000000 sin SNDMSG 000611'
CKUER2 000431' GJ%SHT 000001 000000 sin MO%SYN 004000 000000 sin SOUT 104000 000053 int
CKUER3 000434' GJFSIZ 000020 sin MS.TYP 777777 spd SRV 000225'
CLSJFN 000621' int GLXVRS 000100 001124 spd MSGCH1 000564' SRVIB 000021'
CLZFF 104000 000034 int GTDIR 104000 000241 int MSGCH2 000572' SRVINI 000252'
CPYSTR 000626' GTJFN 104000 000020 int MSGCHR 000555' SRVLNK 000001 sin
CR%ACS 040000 000000 sin I%INIT 000243' ext MSGSIZ 004703 sin SRVPIB 000027'
CR%CAP 200000 000000 sin I%INT1 000662' ext MSGTBL 000152' STCMP 104000 000540 int
CREFR1 000444' I%SLP 000332' ext MSHSIZ 000003 spd STDEV 104000 000120 int
CREFR2 000465' IB.INT 000002 spd MSTR 104000 000555 int SYSGT 104000 000016 int
CREFRK 000437' IB.OUT 000000 spd MT.TXT 700000 spd T%TEXT 000545' ext
CZ%ABT 004000 000000 sin IB.PIB 000003 spd NFKPGS 000000000000# pol T1 000003 spd
CZ%NCL 040000 000000 sin IB.PRG 000005 spd NMSGT 000001 spd T2 000004 spd
D$CLOS 000347' ext IB.SZ 000006 spd NOLOG 000114' T4 000006 spd
D$FUNC 000327' ext INT.LV 000003 spd P 000017 spd TXT.AD 000400 000000 spd
D$INIT 000254' ext INTCDN 000643' P1 000007 spd TXT.FC 000377 spd
D$INTR 000660' ext INTDAV 000650' P2 000010 spd TXT.FN 077000 000000 spd
D$OPEN 000317' ext INTIFT 000662' P3 000011 spd TXT.JU 000140 000000 spd
D$STAT 000334' ext INTINA 000655' P4 000012 spd TXT.WD 000003 770000 spd
DAPEDT 000000 ext INTPSI 000640' P5 000013 spd VACCT 104000 000566 int
DAPIB 000223' IP.CHN 000077 spd PB.FLG 000002 spd VFAL 000000000000# pol
DAPOB 000261' IP.MNP 777777 000000 spd PB.HDR 000000 spd $CALL 260740 000000 spd
DAPSRV 000276' IP.PSI 400000 000000 spd PB.INT 000003 spd $DIRNU 000017 777776 spd
DATA 000000 ext JUMPF 322000 000000 spd PB.LEN 777777 000000 spd $DIRPS 000017 777765 spd
DATEND 000000 ext JUMPT 326000 000000 spd PB.MXS 000010 spd $RET 263740 000000 spd
DEBUGW 000135 spd KFORK 104000 000153 int PB.NAM 000005 spd $RETF 324740 000000* spd
DF%LNK 000077 spd KILFR1 000476' PB.PID 000001 spd $RETIF 322000 000000* spd
DI%CNT 000077 spd KILFRK 000470' PB.SYS 000004 spd $RETIT 326000 000000* spd
DO%LNK 000077 spd LISTE1 000323' PDLEN 000400 sin $RETT 324740 000000* spd
DO%PSI 200000 000000 spd LISTE2 000331' PJRST 324740 000000 $SYSNA 000017 777757 spd
DO%SRV 400000 000000 spd LISTE3 000333' PM%CNT 400000 000000 sin $USRNU 000017 777775 spd
DO%WCN 100000 000000 spd LISTE5 000345' PM%CPY 000400 000000 sin %%.GLX 000010 spd
EIR 104000 000126 int LISTEN 000310' PM%EX 020000 000000 sin %%.MOD 464154 000000 spd
ENTVEC 000000' LOG 000153' PM%RD 100000 000000 sin ..0001 000157' spd
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page S-2
FAL MAC 14-Jan-82 08:35 SYMBOL TABLE
..0002 000171' spd .MSCOD 000002 spd
..CSC 000004 spd .MSIIC 000016 sin
..CSN 000003 spd .MSTYP 000000 spd
..IFT 000000 spd .NVR 000000 spd
..PST 000000 spd .POPJ 000000 ext
..TXB 000000 spd .RETF 000467' ext
..TXC 000101 spd .RETT 000637' ext
..TXEF 000000 spd .RFFPT 000003 sin
..TXEG 000000 spd .RFHLT 000002 sin
..TXF 000000 spd .SAVE1 000170' ext
..TXFC 000000 spd .STKST 000500' ext
..TXJU 000000 spd .STOP 000716' ext
..TXP 000000 spd .TQCH0 000024 spd
..TXPT 000000 spd .TQCHA 000023 spd
..TXWD 000000 spd .TQCHD 000002 000003 spd
.A13 000013 spd .TQCHH 000002 000013 spd
.A14 000014 spd .TQCHO 000002 000002 spd
.A15 000015 spd .TQCHQ 000002 000030 spd
.A16 000016 spd .TQCHT 000002 000001 spd
.ACB 000001 spd .TQDEC 000002 000003 spd
.ACM 000000 spd .TQOCT 000002 000002 spd
.CDDAC 000017 sin .TXTJL 000001 spd
.CDLEN 000000 sin .TXTJR 000002 spd
.CHLFD 000012 spd .ZCHNK 000314' ext
.CKAUD 000004 sin
.CMTXT 000017 sin
.DCX34 000042 sin
.DCX36 000044 sin
.DCX38 000046 sin
.DFFLG 000000 spd
.DFLFS 000003 spd
.DFSIZ 000012 spd
.DICDN 000001 spd
.DIDAV 000003 spd
.DIFLG 000000 spd
.DIINA 000002 spd
.DISIZ 000002 spd
.DOACT 000007 spd
.DOCID 000013 spd
.DOFLG 000000 spd
.DONOD 000001 spd
.DOOBJ 000002 spd
.DOOPD 000010 spd
.DOPSI 000012 spd
.DOPSW 000006 spd
.DOSIZ 000015 spd
.DOUSR 000005 spd
.FHSLF 400000 sin
.ICCDN 000002 sin
.ICDAV 000001 sin
.ICIFT 000023 sin
.ICIMA 000003 sin
.ICIPC 000000 sin
.JBFF 000000 ext
.JBVER 000137
FAL Network file transfer utility for TOPS20 DECNET MACRO %53B(1215) 10:18 6-May-82 Page S-3
FAL MAC 14-Jan-82 08:35 SYMBOL TABLE FOR PSECT DATA
CHNTAB 000003' MSGTXT 000574'
DATORG 000062' PDL 000063'
DIRBLK 000536' REMSWS 000556'
ERRTXT 001560' SLPTIM 000060'
FALPID 000054' SNDSAB 000557'
FRKCNT 000057' SRVACT 000504'
FRKFLG 000056' SRVBEG 000470'
FRKTBL 000047' SRVFIL 000516'
ICH004 000007' SRVNOD 000470'
ICH005 000010' SRVOBJ 000463'
ICH008 000013' SRVOPD 000511'
ICH013 000020' SRVPSW 000477'
ICH023 000032' SRVSIZ 000066 spd
ICH024 000033' SRVUSR 000472'
ICH025 000034' STREAM 000053'
ICH026 000035' ..LOC 001617' spd
ICH027 000036'
ICH028 000037'
ICH029 000040'
ICH030 000041'
ICH031 000042'
ICH032 000043'
ICH033 000044'
ICH034 000045'
ICH035 000046'
ICHAOV 000011'
ICHCDN 000005'
ICHDAE 000016'
ICHDAV 000004'
ICHEOF 000015'
ICHFOV 000012'
ICHIEX 000025'
ICHIFT 000026'
ICHILI 000022'
ICHINA 000006'
ICHIRD 000023'
ICHIWR 000024'
ICHMSE 000027'
ICHNXP 000031'
ICHPOV 000014'
ICHPSI 000003'
ICHQTA 000017'
ICHTOD 000021'
ICHTRU 000030'
LEV1PC 000062' int
LEVTAB 000000'
LOGHDR 001616'
LOGIFN 000061'
MESSAG 000055'
MSGARC 000572'
MSGARF 000571'
MSGARH 000573'
MSGCNT 000565'
MSGHDR 000566'
MSGPTR 000564'
C%INTR 658
C%RECV 252
C%REL 270
C%SEND 624
CHKFR1 294# 306
CHKFR2 295 301 306#
CHKFR3 309# 312
CHKFRK 241 291#
CHKLEN 120#
CHKQ.1 251# 271
CHKQ.3 261# 264
CHKQ.4 263 267#
CHKQ.5 265 270#
CHKQ.6 271#
CHKQ.9 253 256#
CHKQUE 239 249#
CHKUAC 466#
CHKUPW 460#
CHKUSR 362 433#
CHNTAB 160 175 648 702#
CKUER1 439 440 445 446 457 476#
CKUER2 463 477#
CKUER3 469 481#
CLSJFN 377 631#
CPYSTR 207 334 642#
CR%ACS 500
CR%CAP 500
CREFR1 496 500#
CREFR2 510 514 518#
CREFRK 311 494#
CZ%ABT 631
CZ%NCL 632
D$CLOS 407
D$FUNC 391
D$INIT 347
D$INTR 664 670 676
D$OPEN 383
D$STAT 396
DAPEDT 40 40# 42
DAPIB 319# 346
DAPOB 354# 382
DAPSRV 371# 389
DATEND 132 132# 134 202 327
DATORG 200 201 325 326 763#
DEBUGW 205 228 235 332
DF%LNK 372
DI%CNT 320
DIRBLK 449 780#
DIRNUM 433
DIRPSW 433
DO%CDN 359
DO%DAV 360
DO%INA 361
DO%LNK 358
DO%PSI 357
DO%SRV 355
DO%WCN 356
ENTVEC 151# 803
ERRTXT 797#
F%AOPN 230
F%CHKP 243
F%OBYT 580
FAL 151 152 198#
FALEDT 37# 42
FALIB 157# 209
FALMIN 36# 42
FALPIB 161 164# 214
FALPID 215 616 755#
FALVER 35# 42
FALWHO 38# 42
FB.BSZ 187 192
FILSIZ 119# 779
FNCTBL 411#
FOB.CW 187 192
FOB.FD 186 191
FOB.SZ 185 190 226
FRKCNT 308 343 504 515 535 758#
FRKFLG 234 240 292 315 680 757#
FRKTBL 294 495 505 511 530 753#
FWMASK 158 159 160 161 169 173 174 175 176 186 191 362 363 364
365 366 367 368 373
GJ%OLD 220
GJ%SHT 220
GJFSIZ 118#
I%INIT 210 337
I%INT1 657 661 667 673 679
I%SLP 245 394
IB.INT 160 175
IB.OUT 159 174
IB.PIB 161 176
IB.PRG 158 173
IB.SZ 157 172 208 335
ICH004 707#
ICH005 708#
ICH008 711#
ICH013 716#
ICH023 726#
ICH024 727#
ICH025 728#
ICH026 729#
ICH027 730#
ICH028 731#
ICH029 732#
ICH030 733#
ICH031 734#
ICH032 735#
ICH033 736#
ICH034 737#
ICH035 738#
ICHAOV 709#
ICHCDN 705#
ICHDAE 714#
ICHDAV 704#
ICHEOF 713#
ICHFOV 710#
ICHIEX 721#
ICHIFT 722#
ICHILI 718#
ICHINA 706#
ICHIRD 719#
ICHIWR 720#
ICHMSE 723#
ICHNXP 725#
ICHPOV 712#
ICHPSI 703#
ICHQTA 715#
ICHTOD 717#
ICHTRU 724#
INT.LV 657 661 667 673 679
INTCDN 661# 705
INTDAV 667# 704
INTIFT 679# 722
INTINA 673# 706
INTPSI 657# 703
IP.CHN 166 181
IP.MNP 168
IP.PSI 167 182
KILFR1 535#
KILFRK 305 519 529#
LEV1PC 694 767 767#
LEVTAB 160 175 648 694#
LISTE1 387# 398 403
LISTE2 393# 404
LISTE3 392 395#
LISTE5 384 401 405#
LISTEN 350 376# 409
LOG 274 279#
LOGCHR 571 578#
LOGDBG 190# 229
LOGFOB 185# 227
LOGHDR 557 564 566 568 570 573 575 585 591 597 799#
LOGIFN 231 233 242 342 376 579 760#
LOGMS1 558 565#
LOGMS2 565 573#
LOGMSG 159 557#
LOGSN1 546# 551
LOGSNM 539#
LSTIN. 28 162 163 163# 170 171 171# 177 178 178# 183 184 184# 188
189 189# 193 194 194# 213 213# 280 280# 287 292 303 304 321
322 322# 350 350# 369 370 370# 374 375 375# 386 409 554 560
562 564 568 575 687 688 688#
M 107# 251 256 257 258 280 282 283
MAIN 238# 246
MAXNOD 116# 117
MAXSRV 114# 168 293 494 753
MD.ADR 256
MDB.MS 256
MESSAG 251 257 756#
MINSRV 113# 309
MO%ABT 399
MO%CDN 359
MO%CON 400
MO%DAV 360
MO%EOM 397 402
MO%INA 361
MO%SYN 399
MS.TYP 258
MSGARC 603 605 794#
MSGARF 793#
MSGARH 283 601 604 606 795#
MSGCH1 586 592#
MSGCH2 598#
MSGCHR 174 585#
MSGCNT 590 592 788#
MSGHDR 282 283 599 606 607 608 792#
MSGPTR 588 593 594 596 602 787#
MSGSIZ 122# 589 796
MSGTBL 261 267 274# 276
MSGTXT 282 587 796#
MSHSIZ 792
MT.TXT 274 598
NFKPGS 134# 508
NMSGT 259 276#
NOLOG 223 233#
P 28 199 268 280 324 433 441 447 448 455 460 466 470 471
539 544 552
P1 291 293 294 304 306
P2 291
P3 291
P4 291
P5 106#
PB.FLG 167 182
PB.HDR 165 180
PB.INT 166 181
PB.LEN 165 180
PB.MXS 164 165 179 180
PB.NAM 169
PB.PID 214
PB.SYS 168
PDL 199 324 769#
PDLEN 117# 199 324 769
PM%CNT 508
PM%CPY 508
PM%EX 508
PM%RD 508
PSIINI 219 341 647#
RC%EMO 435
RELJFN 387 632#
REMSWS 783#
RF%STS 297
S1 201 202 203 208 211 216 220 226 231 242 244 256 258 262
280 281 282 294 295 297 304 308 309 313 314 326 327 330
335 338 345 378 381 388 393 395 397 399 400 402 405 435
448 460 463 466 470 478 481 500 505 506 507 511 515 518
530 531 535 541 546 548 549 552 565 569 578 579 594 595
596 598 599 600 601 602 603 604 606 607 620 622 631 632
647 662 668 674
S2 204 206 209 214 215 221 227 229 283 284 331 333 336 346
379 382 389 406 436 442 449 451 454 461 467 471 476 477
482 501 506 512 532 543 578 587 588 589 590 608 619 621
623 648 650 663 669 675
SAB.LN 620
SAB.MS 621
SAB.PD 617
SAB.SZ 622 786
SLPTIM 238 244 314 759#
SNDFAL 609 616#
SNDMSG 618#
SNDSAB 617 620 621 623 786#
SRV 323# 512
SRVACT 367 452 453 467 777#
SRVBEG 379 773# 781
SRVFIL 373 779#
SRVIB 172# 336
SRVINI 236 345#
SRVLNK 111# 358 372 395 405 662 668 674
SRVNOD 363 774#
SRVOBJ 169 203 330 364 771#
SRVOPD 368 778#
SRVPIB 176 179#
SRVPSW 366 461 776#
SRVSIZ 378 781#
SRVUSR 365 436 775#
STREAM 279 280 281 328 329 560 562 618 754#
SYSNAM 539
T%TEXT 286 302 303 385 408 553 559 561 563 567 574
T1 261 262 267 268 297 298 299 390 404 437 440 441 442 443
446 447 450 451 452 454 455 508 543 546 550 616 617 618
619 642
T2 259 261 264 267 328 494 495 497 505 511 518 529 530 531
532 544 545 549 551
T4 291
TXT.FN 213 350
USRNUM 433
VFAL 42# 146 153
$DIRNU 433#
$DIRPS 433#
$RETF 28 254 316 479 483 498 520
$RETIF 28
$RETIT 28
$RETT 28 285 287 310 472 516 536 554 576 581 610 625 635 653
$SYSNA 539#
$USRNU 433#
%%.MOD 158 213 350
%DF%LN 372
%DI%CN 320
%DO%CD 359
%DO%DA 360
%DO%IN 361
%DO%LN 358
%DO%PS 357
%DO%SR 355
%DO%WC 356
%FB.BS 187 192
%FWMAS 158 159 160 161 169 173 174 175 176 186 191 362 363 364
365 366 367 368 373
%IP.CH 166 181
%IP.MN 168
%IP.PS 167 182
%MD.AD 256 257
%MS.TY 258 259
%PB.LE 165 180
%RF%ST 297 298
..0001 280 280#
..0002 292#
..BLOC 157# 162 163 164# 170 171 172# 177 178 179# 183 184 185# 188
189 190# 193 194 319# 321 322 354# 369 370 371# 374 375
..BSIZ 157 157# 158 159 160 161 162 163 164 164# 165 166 167 168
169 170 171 172 172# 173 174 175 176 177 178 179 179# 180
181 182 183 184 185 185# 186 187 188 189 190 190# 191 192
193 194 319 319# 320 321 322 354 354# 355 356 357 358 359
360 361 362 363 364 365 366 367 368 369 370 371 371# 372
373 374 375
..CSC 256# 256 257 257# 258# 258 259 259# 297# 297 298 298#
..CSN 256# 256 258# 258 297# 297
..LOC 753# 754# 755# 756# 757# 758# 759# 760# 763# 767# 769# 771# 773# 774#
775# 776# 777# 778# 779# 780# 783# 786# 787# 788# 792# 793# 794# 795#
796# 797# 799#
..MX1 204# 205 206# 207 220# 220 221 331# 332 333# 334 435# 435 436
477# 478 478# 479 481# 481 482 482# 483 500# 500 501 508# 509
541# 541 542 632# 632 633 650# 650 651
..MX2 220# 220 221 435# 435 436 478# 479 481# 482 500# 500 501 541#
541 542 632# 632 633 650# 650 651
..PST 256# 256 258# 258 297# 297
..STKN 433# 433 434 435 539# 539 540 541
..STKQ 433# 433 435 539# 539 541
..STKR 433# 435 539# 541
..T 163# 163 171# 171 178# 178 184# 184 189# 189 194# 194 322# 322
370# 370 375# 375
..T0 157# 159 159# 163 164# 165 165# 171 172# 174 174# 178 179# 180
180# 184 185# 186 186# 189 190# 191 191# 194 319# 320 320# 322
354# 355 355# 356 356# 357 357# 358 358# 370 371# 372 372# 375
..T1 157# 163 164# 171 172# 178 179# 184 185# 187 187# 189 190# 192
192# 194 319# 322 354# 363 363# 370 371# 375
..T10 354# 368 368# 370 371# 375
..T11 354# 370 371# 375
..T12 354# 359 359# 360 360# 361 361# 370
..T13 354# 362 362# 370
..T14 354# 370
..T2 157# 160 160# 163 164# 167 167# 171 172# 175 175# 178 179# 182
182# 184 185# 189 190# 194 354# 364 364# 370 371# 375
..T3 157# 161 161# 163 164# 166 166# 171 172# 176 176# 178 179# 181
181# 184 185# 189 190# 194 354# 370 371# 373 373# 375
..T4 157# 163 164# 168 168# 171 172# 178 179# 184 185# 189 190# 194
354# 370 371# 375
..T5 157# 158 158# 163 164# 169 169# 171 172# 173 173# 178 179# 184
354# 365 365# 370 371# 375
..T6 164# 171 179# 184 354# 366 366# 370 371# 375
..T7 164# 171 179# 184 354# 367 367# 370 371# 375
..TMSK 158# 158 159# 159 160# 160 161# 161 165# 165 166# 166 167# 167
168# 168 169# 169 173# 173 174# 174 175# 175 176# 176 180# 180
181# 181 182# 182 186# 186 187# 187 191# 191 192# 192 320# 320
355# 355 356# 356 357# 357 358# 358 359# 359 360# 360 361# 361
362# 362 363# 363 364# 364 365# 365 366# 366 367# 367 368# 368
372# 372 373# 373
..TSA1 279# 279 291# 291
..TVAL 158# 158 159# 159 160# 160 161# 161 165# 165 166# 166 167# 167
168# 168 169# 169 173# 173 174# 174 175# 175 176# 176 180# 180
181# 181 182# 182 186# 186 187# 187 191# 191 192# 192 320# 320
355# 355 356# 356 357# 357 358# 358 359# 359 360# 360 361# 361
362# 362 363# 363 364# 364 365# 365 366# 366 367# 367 368# 368
372# 372 373# 373
..TX1 397# 397 398 399# 399 400 400# 401 402# 402 403
..TX2 397# 397 398 399# 399 400 400# 401 402# 402 403
..TXB 213# 213 350# 350
..TXC 213# 213 350# 350
..TXEF 213# 213 350# 350
..TXEG 213# 213 350# 350
..TXF 213# 213 350# 350
..TXP 213# 213 350# 350
.A13 292
.A14 292
.A15 292
.A16 291 292
.ACB 279# 279 291# 291
.ACM 279# 280 291# 291 292
.CDDAC 450 454 780
.CDLEN 451
.CHLFD 569
.CKAUD 120
.CMTXT 600
.DCX34 478
.DCX36 481
.DCX38 406
.DFFLG 372
.DFLFS 373
.DFSIZ 371 388
.DICDN 663
.DIDAV 669
.DIFLG 320
.DIINA 675
.DISIZ 319 345
.DOACT 367
.DOCID 362
.DOFLG 355 356 357 358
.DONOD 363
.DOOBJ 364
.DOOPD 368
.DOPSI 359 360 361
.DOPSW 366
.DOSIZ 354 381
.DOUSR 365
.FHSLF 507 631 632 647
.ICCDN 129# 359 650
.ICDAV 128# 360 650
.ICIFT 650
.ICIMA 130# 361 650
.ICIPC 127# 166 181 650
.JBFF 44#
.JBVER 146#
.MSCOD 280 619
.MSIIC 216 338
.MSTYP 258
.NVR 279# 279 280 280# 291# 291 292
.POPJ 28
.PSECT 204 205 206 207 220 221 279 291 331 332 333 334 397 398
399 400 401 402 403 435 436 477 478 479 481 482 483 500
501 508 509 541 542 632 633 650 651
.RETF 28 503
.RETT 28 595
.RFFPT 299
.RFHLT 298
.SAVE1 291
.STKST 433 539
.STOP 213 349
.TQCHT 213 350
.ZCHNK 380
AIC 651
BLD0. 157 163 164 171 172 178 179 184 185 189 190 194 319 322
354 370 371 375
CFORK 502
CLZFF 633
DIRNUM 433# 433 447 448 466 471
DIRPSW 433# 433 455 460
DO%CDN 359
DO%DAV 360
DO%INA 361
EIR 652
ERJMP 213 218 223 340 439 445 457 469 503 510 514 534 634
FLD 158 159 160 161 165 166 167 168 169 173 174 175 176 180
181 182 186 187 191 192 213 320 350 355 356 357 358 359
360 361 362 363 364 365 366 367 368 372 373
GETAB 547
GLOB 28 40 132
GTDIR 456
GTJFN 222
ITEXT 213 350
JUMPF 28 384 392
JUMPT 28 253 312 398
KFORK 533
LOAD 256 258 297
LSTOF. 28 162 170 177 183 188 193 213 280 287 303 304 321 350
369 374 386 409 554 560 562 564 568 575 687
LSTON. 163 171 178 184 189 194 213 280 292 322 350 370 375 688
MOVX 204 206 220 331 333 435 477 478 481 482 500 508 541 632
650
MSTR 217 339
PJRST 28 571 609
PMAP 509
POINTR 297
POS 158 159 160 161 165 166 167 168 169 173 174 175 176 180
181 182 186 187 191 192 213 297 320 350 355 356 357 358
359 360 361 362 363 364 365 366 367 368 372 373
PROLOG 27
RCDIR 444
RCUSR 438
RESET 198 323
RFSTS 296
RLJFN 224
SET0. 158 159 160 161 165 166 167 168 169 173 174 175 176 180
181 182 186 187 191 192 320 355 356 357 358 359 360 361
362 363 364 365 366 367 368 372 373
SFORK 513
SIR 649
SKIPT 232 348
SOUT 643
STCMP 462
STDEV 212
STKVAR 433 539
SYSGT 542
SYSNAM 539# 539 544 552
TXNE 397 402
TXNN 399 400
TXT 137# 204 206 331 333 411 412 413 414 415 416 417 418 419
476 477 482
USRNUM 433# 433 441 470
VACCT 468
VRSN. 42
WID 297
XP 111 113 114 116 117 118 119 120 122 127 128 129 130
$BGINT 657 661 667 673 679
$BUILD 157 164 172 179 185 190 319 354 371
$CALL 207 210 213 219 230 239 241 243 245 252 270 286 291 302
303 305 311 334 337 341 347 349 377 380 383 385 387 391
394 396 407 408 433 519 539 553 559 561 563 567 574 580
624 657 658 661 664 667 670 673 676 679
$DATA 748# 753 754 755 756 757 758 759 760 763 767 769 771 773
774 775 776 777 778 779 780 783 786 787 788 792 793 794
795 796 797 799
$DEBRK 659 665 671 677 681
$EOB 162 170 177 183 188 193 321 369 374
$FATAL 213 349
$FD 139# 186 191
$GDATA 767
$RET 28# 28 644 659 665 671 677 681
$RETF 28#
$RETIF 28#
$RETIT 28#
$RETT 28#
$SAVE 279 291
$SET 158 159 160 161 165 166 167 168 169 173 174 175 176 180
181 182 186 187 191 192 320 355 356 357 358 359 360 361
362 363 364 365 366 367 368 372 373
$TEXT 286 302 303 385 408 553 559 561 563 567 574
..CAS1 256 258 297
..CNS 213# 213 350# 350
..CNS2 213# 213 350# 350
..GCNS 213 350
..ICNS 213 350
..LDB 256 258 297
..POP 280
..PUSH 280
..SET 158 159 160 161 165 166 167 168 169 173 174 175 176 180
181 182 186 187 191 192 320 355 356 357 358 359 360 361
362 363 364 365 366 367 368 372 373
..STR0 158 159 160 161 165 166 167 168 169 173 174 175 176 180
181 182 186 187 191 192 256 258 297 320 355 356 357 358
359 360 361 362 363 364 365 366 367 368 372 373
..TEXT 213 350
..TSAC 279 291
..TSIZ 256 258 297
..TX 397 399 400 402
..TXC0 213 350
..TXC1 213 350
..TXQ 213 350
..TXQ0 213 350
.BGINT 657 661 667 673 679
.CASE 256 258 297
.NV1 280# 280
.STKV1 433 539
.STKV2 433 539
.STKV3 433 539