Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/mcb/nsrcv.list
There are no other files named nsrcv.list in the archive.
NSRCV MACRO M1110 13-OCT-79 10:25
TABLE OF CONTENTS
4- 120 $QCIR - CONNECT INITIATE RECEIVED
5- 216 FNDTSK - FIND TASK'S TCB
6- 268 SRMBQ - SEARCH QUEUE OF MAILBOXES
7- 301 $QCCR - CONNECT CONFIRM RECEIVED
8- 345 $QCRR - CONNECT REJECT RECEIVED
9- 391 CNCMP - COMMON CONNECT INITIATE COMPLETION PROCESSING
10- 439 $QDIR - DISCONNECT RECEIVED
11- 492 $QDIC - DISCONNECT COMPLETE
12- 554 $QINTR - INTERRUPT MESSAGE RECEIVED
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 3
1 .IIF NDF V$$ER1 .TITLE NSRCV
2 .IIF DF V$$ER1 .TITLE NSRCV1
3 .IDENT /V01.00/
4
5 ;
6 ; COPYRIGHT (C) 1978 BY
7 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
8 ;
9 ;
10 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
11 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
12 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
13 ; COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
14 ; OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
15 ; TRANSFERRED.
16 ;
17 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
18 ; AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
19 ; CORPORATION.
20 ;
21 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
22 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
23 ;
24 ;
25 ; MODULE DESCRIPTION:
26 ;
27 ; ACP CONNECT/DISCONNECT RECEIVED PROCESSOR
28 ;
29 ;
30 ;
31 ; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
32 ;
33 ; IDENT HISTORY:
34 ;
35 ; 1.00 10-FEB-78
36 ; VERSION 2.0 RELEASE
37 ;
38
39 ; LIBRARY MACROS
40 ;
41
42 .MCALL SAVRG,RESRG,$MVTBF,MAP,RECMAP
43
44 .MCALL CCBDF$,NSPSY$
45 000000 CCBDF$ ;DEFINE CCB OFFSETS
46 000000 NSPSY$ ;DEFINE NSP INTERNAL SYMBOLS
47
48 .MCALL MBXDF$,LLWDF$,DVBDF$
49 000000 MBXDF$ ;DEFINE MAILBOX OFFSETS
50 000000 LLWDF$ ;DEFINE WINDOW BLOCK OFFSETS
51 000000 DVBDF$ ;DEFINE VCB OFFSETS
52
53 .MCALL CRBDF$,CNBDF$,NSSYM$
54 000000 CRBDF$ ;DEFINE CONNECT REQUEST BLOCK OFFSETS
55 000000 CNBDF$ ;DEFINE CONNECT PENDING BLOCK OFFSETS
56 000000 NSSYM$ ;DEFINE DEVICE RETURN VALUES
57
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 3-1
58 ;
59 ; LOCAL MACROS
60 ;
61 ;
62 ; PUSH AND POP STACK INSTRUCTIONS
63 ;
64
65 .MACRO PUSH S
66 .IRP SS,<S>
67 MOV SS,-(SP)
68 .ENDR
69 .ENDM PUSH
70
71 .MACRO POP D
72 .IRP DD,<D>
73 MOV (SP)+,DD
74 .ENDR
75 .ENDM POP
76
77 ;
78 ; MOVE BYTE TO REGISTER WITH NO SIGN EXTEND
79 ;
80
81 .MACRO MOVBNS X,Y
82 CLR Y
83 BISB X,Y
84 .ENDM
85
86 ;
87 ; LOCAL DATA
88 ;
89 ;
90 ; CONNECT INITIATE REJECT CODES
91 ;
92
93 000000 000003 CIRTAB: .WORD ER$NSD ;NODE SHUTTING DOWN (ACP DISMOUNTING)
94 000002 000004 .WORD ER$UOB ;PROCESS DOESN'T EXIST (NOT INSTALLED)
95 000004 000041 .WORD ER$TCO ;TOO MANY CONNECTS TO TASK
96
97 ;
98 ; STATUS RETURN CODES FOR CONNECT CONFIRM
99 ;
100
101 .IF DF V$$ER1
102 .WORD IS.SUC&377 ;CONNECT ACCEPTED
103 .ENDC
104
105 000006 000000C CCRTAB: .WORD IS.SUC&377 ;CONNECT ACCEPTED
106 000010 000002 .WORD IS.DAO&377 ;CONNECT ACCEPTED - DATA OVERRUN
107
108 ;
109 ; STATUS RETURN CODES FOR CONNECT REJECT
110 ;
111
112 .IF DF V$$ER1
113 .WORD IE.CNR&377 ;CONNECTION REJECTED
114 .ENDC
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 3-2
115
116 000012 000266 CRRTAB: .WORD IE.NRJ&377 ;CONNECT ABORTED - NETWORK
117 000014 000267 .WORD IE.URJ&377 ;CONNECTION REJECTED - USER
118 000016 000000C .WORD IE.DAO&377 ;CONNECTION REJECTED - DATA OVERRUN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 4
$QCIR - CONNECT INITIATE RECEIVED
120 .SBTTL $QCIR - CONNECT INITIATE RECEIVED
121
122 ;+
123 ; ** - $QCIR - CONNECT INITIATE RECEIVED
124 ;
125 ; THIS ROUTINE IS CALLED BY NSP WHENEVER IT RECEIVES A CONNECT
126 ; INITIATE FOR EITHER AN OBJECT TYPE 0 PROCESS OR A NON-ZERO
127 ; OBJECT TYPE PROCESS WHICH RESIDES IN USER TASK SPACE. IF THE
128 ; TASK EXISTS (IS INSTALLED) ON THE SYSTEM, THE CONNECT IS
129 ; EITHER PLACED IN THE TASK'S MAILBOX QUEUE IF THE TASK HAS
130 ; ACCESSED THE NETWORK,
131 ; ACCESSED THE NETWORK OR IT IS QUEUED TO THE GENERAL DELIVERY
132 ; QUEUE AND THE TASK IS REQUESTED.
133 ;
134 ; INPUTS:
135 ;
136 ; R5 -> CCB
137 ; C.NSP = LLA
138 ; C.STS = [NS.NFL/NS.SFL/NS.MFL]
139 ; C.BUF -> CONBLK (CONNECT PENDING BLOCK)
140 ;
141 ; OUTPUTS:
142 ;
143 ; IF TASK EXISTS,
144 ; IF TASK HAS MAILBOX,
145 ; PUT CONNECT CCB IN MAILBOX QUEUE
146 ; IF REQUIRED, SPRING NETWORK DATA AST
147 ; ELSE,
148 ; PUT CONNECT CCB IN GENERAL DELIVERY QUEUE
149 ; START TIMER IF NECESSARY ON GEN. DEL. QUEUE
150 ; REQUEST TASK TO RUN
151 ; ELSE,
152 ; REJECT CONNECTION
153 ;-
154
155 000020 $QCIR:: CALL $SAVAL ;;SAVE ALL REGISTERS
156 000024 016565 000004 000006 MOV C.NSP(R5),C.LIN(R5) ;;MOVE LLA
157 000032 012701 000000' MOV #CIRTAB,R1 ;;REJECT CODE TABLE
158 000036 105767 000000G TSTB $NSDMF ;;DECNET ACP DISMOUNTING ?
159 000042 001053 BNE 25$ ;;IF NE, YES - GO REJECT CI
160 000044 005721 TST (R1)+ ;;ASSUME TASK NOT INSTALLED
161 000046 016500 000016 MOV C.BUF+2(R5),R0 ;;GET POINTER TO CONBLK
162 000052 016065 000006 000022 MOV N.SEG(R0),C.FLG(R5) ;;STORE RECEIVED SEGMENT SIZE IN THE CCB
163 000060 SAVRG R1 ;;SAVE REJECT CODE TABLE ADDRESS
164 000062 CALL FNDTSK ;;SEE IF TASK EXISTS ON OUR SYSTEM
165 000066 RESRG R1 ;;RESTORE REJECT CODE TABLE ADDRESS
166 000070 103440 BCS 25$ ;;IF CS - TASK IS NOT AVAILABLE, REJECT CONNECT
167 000072 005721 TST (R1)+ ;;ASSUME TOO MANY CONNECTS
168 000074 010065 000004 MOV R0,C.NSP(R5) ;;STORE TCB ADDRESS IN CI CCB
169
170 .IF DF V$$ER1
171 BIT #T3.NET,T.ST3(R0) ;;VERSION 1 OR VERSION 2 INTERFACE?
172 BEQ 10$ ;;IF EQ, VERSION 2
173 CALLR V1CIR ;;OTHERWISE VERSION 1
174 .ENDC
175
176 000100 105065 000011 10$: CLRB C.MOD(R5) ;;
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 4-1
$QCIR - CONNECT INITIATE RECEIVED
177 000104 112765 000001 000010 MOVB #NT.CON,C.FNC(R5) ;;MARK CCB AS CONNECT INITIATE RCVD
178 000112 016704 000000G MOV $NSVCB,R4 ;;GET THE ACP'S VCB ADDRESS
179 000116 CALL SRMBQ ;;SEARCH FOR TASK'S MAILBOX
180 000122 103014 BCC 20$ ;;IF CC - FOUND TASK MAILBOX
181 000124 005001 CLR R1 ;;SET DEFAULT UIC
182 000126 CALL $TSKRT ;;REQUEST TASK
183 000132 103005 BCC 15$ ;;IF CC - REQUEST SUCCESSFUL
184 ;;OTHERWISE EITHER
185 ;; FAILED TO ALLOCATE PCB (Z=0)
186 ;; OR TASK ALREADY ACTIVE (Z=1)
187 ;;IF TASK IS ACTIVE THEN HE HAS EITHER
188 ;;NOT DONE AN OPN$ YET OR IT IS
189 ;;BETWEEN CLS$ AND EXIT.
190 000134 152765 000002 000011 BISB #CX.REQ,C.MOD(R5) ;;INDICATE TASK IS TO BE REQUESTED AGAIN LATER
191 000142 105267 000000G INCB $NSRQF ;;SET GENERAL DELIVERY QUEUE REQUEST FLAG
192 000146 010504 15$: MOV R5,R4 ;;CHANGE REGISTER CONVENTIONS
193 000150 CALLR ADDGN1 ;;ADD EVENT TO GENERAL DELIVERY QUEUE
194
195 ;
196 ; TASK IS CURRENTLY ACTIVE NETWORK USER (MAILBOX ESTABLISHED)
197 ;
198
199 000154 105763 000007 20$: TSTB M.MAX(R3) ;;HAS USER RESTRICTED # OF LOGICAL LINKS?
200 000160 001407 BEQ 30$ ;;NO
201 000162 126363 000006 000007 CMPB M.USE(R3),M.MAX(R3) ;;CAN WE PUT THIS CONNECT ON HIS MAILBOX
202 000170 103403 BLO 30$ ;;IF LO, YES
203
204 000172 011103 25$: MOV (R1),R3 ;;GET REJECT REASON CODE
205 000174 CALLR CCBREJ ;;REJECT THE CONNECTION
206
207 000200 105263 000006 30$: INCB M.USE(R3) ;;INCREMENT COUNT OF ACTIVE/PENDING LINKS
208 000204 010504 MOV R5,R4 ;;CHANGE REGISTER CONVENTIONS
209 000206 CALL ADDEVT ;;PUT CONNECT IN USER'S MAILBOX QUEUE
210 000212 103002 BCC 40$ ;;IF CC, CONNECT QUEUED
211
212 000214 CALLR RMCON ;;ELSE, FLUSH CONNECT
213
214 000220 40$: RETURN ;;RETURN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 5
FNDTSK - FIND TASK'S TCB
216 .SBTTL FNDTSK - FIND TASK'S TCB
217
218 ;+
219 ; ** - FNDTSK - FIND TASK'S TCB
220 ;
221 ; THIS SUBROUTINE SEARCHES THE STD FOR A SPECIFIED
222 ; TASK NAME.
223 ;
224 ; INPUTS:
225 ;
226 ; R0 -> CONBLK (CONNECT PENDING BLOCK)
227 ;
228 ; OUTPUTS:
229 ;
230 ; C-BIT CLEAR (SUCCESSFUL)
231 ; R0 -> TCB
232 ; C-BIT SET (FAILED TO FIND TASK)
233 ;
234 ; DESTROYS REGISTERS R1,R2,R3
235 ;-
236
237 000222 116001 000011 FNDTSK: MOVB N.DOBJ(R0),R1 ;;GET OBJECT TYPE
238 000226 001406 BEQ 5$ ;;IF EQ, DESCRIPTOR CONTAINS NAME
239 000230 CALL $MPOBJ ;;ELSE, GET POINTER TO LOCAL NAME
240 000234 PUSH <2(R0),(R0)> ;;PUT RAD50 NAME ON STACK
241 000242 000436 BR 30$ ;;GO GET TCB ADDRESS
242
243 000244 012701 000012 5$: MOV #N.DDL1,R1 ;;ASSUME FORMAT 1 DESCRIPTOR
244 000250 012702 000020 MOV #20,R2 ;;SET UP DESCRIPTOR OFFSET & MAX LENGTH
245 000254 126027 000010 000001 CMPB N.DFMT(R0),#NC.FM1 ;;FORMAT 1 OR FORMAT 2?
246 000262 001404 BEQ 10$ ;;IF EQ, FORMAT 1
247 000264 012701 000016 MOV #N.DDL2,R1 ;;OTHERWISE SET UP FOR FORMAT 2
248 000270 012702 000014 MOV #14,R2 ;;DESCRIPTOR OFFSET AND MAX LENGTH
249
250 000274 060100 10$: ADD R1,R0 ;;MOVE POINTER TO START OF DESCRIPTOR
251 000276 162002 SUB (R0)+,R2 ;;SUBTRACT ACTUAL LENGTH FROM MAX LENGTH
252 000300 001407 BEQ 20$ ;;IF EQ, DESCRIPTOR IS MAX SIZE
253 000302 010001 MOV R0,R1 ;;COPY DESCRIPTOR STARTING ADDRESS
254 000304 066001 177776 ADD -2(R0),R1 ;;MOVE POINTER PAST TASK NAME
255 000310 112721 000040 15$: MOVB #' ,(R1)+ ;;SET REMAINDER OF DESCRIPTOR BLOCK TO SPACES
256 000314 SOB R2,15$ ;;LOOP TILL DONE
257
258 000320 005746 20$: TST -(SP) ;;RESERVE A CELL ON THE STACK
259 000322 CALL $CAT5 ;;CONVERT FIRST THREE CHARS OF NAME TO RAD50
260 000326 010146 MOV R1,-(SP) ;;STORE THEM ON THE STACK
261 000330 CALL $CAT5 ;;CONVERT LAST THREE CHARS OF NAME TO RAD50
262 000334 010166 000002 MOV R1,2(SP) ;;STORE THEM ON THE STACK
263 000340 010603 30$: MOV SP,R3 ;;GET ADDRESS OF RAD50 STRING
264 000342 CALL $SRSTD ;;SEARCH STD FOR TASK NAME
265 000346 POP (SP)+ ;;CLEAN STACK
266 000350 RETURN ;;RETURN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 6
SRMBQ - SEARCH QUEUE OF MAILBOXES
268 .SBTTL SRMBQ - SEARCH QUEUE OF MAILBOXES
269
270 ;+
271 ; ** - SRMBQ - SEARCH QUEUE OF MAILBOXES
272 ;
273 ; THIS SUBROUTINE SEARCHES THE LIST OF MAILBOXES FOR THE
274 ; MAILBOX FOR A SPECIFIED TASK.
275 ;
276 ; INPUTS:
277 ;
278 ; R0 -> TCB
279 ; R4 -> VCB
280 ;
281 ; OUTPUTS:
282 ;
283 ; C-BIT CLEAR (SUCCESSFUL)
284 ; R3 = MAILBOX
285 ; C-BIT SET (FAILED TO FIND MAILBOX)
286 ;
287 ; DESTROYS REGISTER R3
288 ;-
289 000000 .PSECT $NSACP
290
291 000000 010403 SRMBQ: MOV R4,R3 ;;COPY ADDRESS OF VCB
292 000002 062703 000012 ADD #V.MBXQ,R3 ;;ADD OFFSET TO QUEUE OF MAILBOXES
293 000006 000261 10$: SEC ;;ASSUME WE'RE AT THE END OF THE QUEUE
294 000010 011303 MOV (R3),R3 ;;GET (NEXT) ELEMENT IN QUEUE
295 000012 001404 BEQ 20$ ;;IF EQ, AT END WITH NO MATCH
296 000014 020063 000002 CMP R0,M.TASK(R3) ;;DOES TCB ADDRESS MATCH?
297 000020 001372 BNE 10$ ;;IF NE, NO - LOOP TILL DONE
298 000022 000241 CLC ;;OTHERWISE CLEAR C-BIT FOR SUCCESSFUL RETURN
299 000024 20$: RETURN ;;RETURN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 7
$QCCR - CONNECT CONFIRM RECEIVED
301 .SBTTL $QCCR - CONNECT CONFIRM RECEIVED
302
303 ;+
304 ; ** - $QCCR - CONNECT CONFIRM RECEIVED
305 ;
306 ; THIS ROUTINE IS CALLED BY NSP WHENEVER A CONNECT
307 ; CONFIRM IS RECEIVED IN RESPONSE TO A CONNECT INITIATE
308 ; ISSUED BY A USER TASK (PDV=0). THE ROUTINE COMPLETES
309 ; THE USER'S CONNECT INITIATE REQUEST.
310 ;
311 ; INPUTS:
312 ;
313 ; R5 -> CCB (FROM CONNECT INITIATE)
314 ; C.NSP = SECONDARY REJECT STATUS
315 ; C.LIN = ULA
316 ; C.BUF1 -> CONBLK (CONNECT REQUEST BLOCK)
317 ; C.FLG1 = SEGMENT SIZE
318 ; C.BUF2 -> OPTIONAL RETURN DATA
319 ; C.CNT2 = OPTIONAL DATA LENGTH
320 ;-
321
322 000352 .PSECT
323
324 .ENABL LSB
325 000352 $QCCR:: CALL $SAVAL ;;SAVE ALL REGISTERS
326 000356 CALL GETWBA ;;GET ADDRESS OF WINDOW BLOCK (IN R5)
327 000362 103523 BCS 30$ ;;IF CS, LINK IS ALREADY GONE
328 000364 016503 000014 MOV W.PIO(R5),R3 ;;GET I/O PACKET FOR CONNECT INITIATE
329 000370 005065 000014 CLR W.PIO(R5) ;;CLEAR PENDING I/O PACKET CELL
330 000374 116465 000004 000010 MOVB C.NSP(R4),W.LLA(R5) ;;STORE NSP'S LLA IN THE WINDOW BLOCK
331 000402 016402 000022 MOV C.FLG(R4),R2 ;;GET THE TRANSMIT SEGMENT SIZE
332 000406 010265 000012 MOV R2,W.SEGZ(R5) ;;...AND STORE IT IN THE WINDOW BLOCK
333 000412 152765 000002 000004 BISB #WS.EST,W.STAT(R5) ;;INDICATE CONNECTION ESTABLISHED
334 000420 012700 000006' MOV #CCRTAB,R0 ;;POINT TO SUCCESSFUL RETURN STATUS TABLE
335 000424 005001 CLR R1 ;;ASSUME NO RETURN DATA
336
337 .IF DF V$$ER1
338 BITB #WS.VE1,W.STAT(R5) ;;VERSION 1 OR VERSION 2 INTERFACE?
339 BEQ CNCMP ;;IF EQ, VERSION 2
340 CALLR V1CCR ;;OTHERWISE VERSION 1
341 .IFF
342 000426 000431 BR CNCMP ;;JOIN COMMON CODE
343 .ENDC
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 8
$QCRR - CONNECT REJECT RECEIVED
345 .SBTTL $QCRR - CONNECT REJECT RECEIVED
346
347 ;+
348 ; ** - $QCCR - CONNECT REJECT RECEIVED
349 ;
350 ; THIS ROUTINE IS CALLED BY NSP WHENEVER A CONNECT
351 ; REJECT IS RECEIVED IN RESPONSE TO A CONNECT INITIATE
352 ; ISSUED BY A USER TASK (PDV=0). THE ROUTINE COMPLETES
353 ; THE USER'S CONNECT INITIATE REQUEST WITH THE APPROPRIATE
354 ; ERROR CODE.
355 ;
356 ; INPUTS:
357 ;
358 ; R5 -> CCB (FROM CONNECT INITIATE)
359 ; C.LIN = ULA
360 ; C.STS = [NE.ABO/NE.REJ]
361 ; C.BUF1 -> CONBLK (CONNECT REQUEST BLOCK)
362 ; C.BUF2 -> OPTIONAL RETURN DATA
363 ; C.CNT2 = OPTIONAL DATA LENGTH
364 ;-
365
366 000430 $QCRR:: CALL $SAVAL ;;SAVE ALL REGISTERS
367 000434 CALL GETWBA ;;GET ADDRESS OF WINDOW BLOCK
368 000440 103474 BCS 30$ ;;IF CS, LINK IS ALREADY GONE
369 000442 116502 000004 MOVB W.STAT(R5),R2 ;;GET WINDOW BLOCK STATUS
370 000446 132702 000200 BITB #WS.KIP,R2 ;;THIS LINK IN I/O RUNDOWN ?
371 000452 001067 BNE 30$ ;;IF NE, YES - FREE CONNECT RESOURCES
372 000454 016501 000016 MOV W.MBOX(R5),R1 ;;GET TASK MAILBOX ADDRESS
373 000460 016503 000014 MOV W.PIO(R5),R3 ;;GET I/O PACKET ADDR FOR CONNECT INITIATE
374 000464 CALL REMULA ;;REMOVE WINDOW BLOCK
375
376 000470 005002 CLR R2 ;;INDICATE NO SEGMENT SIZE
377 000472 012700 000012' MOV #CRRTAB,R0 ;;POINT TO CONNECT REJECT RETURN STATUS TABLE
378
379 .IF DF V$$ER1
380 BITB #WS.VE1,R2 ;;VERSION 1 OR VERSION 2 INTERFACE?
381 BEQ 5$ ;;IF EQ, VERSION 2
382 CALLR V1CRR ;;OTHERWISE VERSION 1
383 .ENDC
384
385 000476 105361 000006 5$: DECB M.USE(R1) ;;DECREMENT THE ACTIVE/PENDING LINK COUNT
386 000502 016401 000004 MOV C.NSP(R4),R1 ;;GET NSP STATUS CODE
387 000506 001046 BNE CNCMA ;;IF NE, ABORTED BY NETWORK
388 000510 005720 TST (R0)+ ;;OTHERWISE, REJECTED
389 ;;CONTINUE IN COMMON CODE
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 9
CNCMP - COMMON CONNECT INITIATE COMPLETION PROCESSING
391 .SBTTL CNCMP - COMMON CONNECT INITIATE COMPLETION PROCESSING
392
393 ;+
394 ; ** - CNCMP - COMMON CONNECT INITIATE COMPLETION PROCESSING
395 ;
396 ; THIS ROUTINE IS COMMON PROCESSING FOR BOTH $QCCR
397 ; (CONNECT CONFIRM) AND $QCCR (CONNECT REJECT). IT
398 ; MOVES ANY OPTIONAL DATA INTO THE USER'S SPECIFIED BUFFER AND
399 ; COMPLETES THE USER'S CONNECT INITIATE REQUEST.
400 ;
401 ; INPUTS:
402 ;
403 ; R0 -> STATUS RETURN CODE TABLE
404 ; R1 = SECOND I/O STATUS WORD
405 ; R2 = SEGMENT SIZE (ZERO IF REJECT)
406 ; R3 -> CONNECT INITIATE I/O PACKET
407 ; R4 -> CONNECT INITIATE CCB
408 ;-
409
410 000512 010305 CNCMP: MOV R3,R5 ;;COPY I/O PACKET ADDRESS
411 000514 010246 MOV R2,-(SP) ;;SAVE SEGMENT SIZE
412 000516 016402 000026 MOV C.BUF2+2(R4),R2 ;;GET ADDR OF RECEIVED OPTIONAL DATA
413 000522 016403 000030 MOV C.CNT2(R4),R3 ;;GET # OF BYTES OF RETURN OPTIONAL DATA
414 000526 020365 000016G CMP R3,I.PRM+16(R5) ;;IS USER'S OPTIONAL DATA BUFFER LARGE ENOUGH?
415 000532 101403 BLOS 10$ ;;IF LOS, YES
416 000534 005720 TST (R0)+ ;;OTHERWISE INDICATE TRUNCATION
417 000536 016503 000016G MOV I.PRM+16(R5),R3 ;;SET COUNT TO USER'S BUFFER LENGTH
418 000542 10$: PUSH R3 ;;SAVE COUNT ON STACK
419 000544 001406 BEQ 20$ ;;IF EQ, DON'T TRY TO MOVE THE DATA
420 000546 $MVTBF R5,I.PRM+12 ;;MOVE OPTIONAL DATA INTO USER'S BUFFER
421 000562 20$: POP R1 ;;RECOVER COUNT AS SECOND I/O STATUS WORD
422 000564 012603 MOV (SP)+,R3 ;;RECOVER SEGMENT SIZE
423 000566 022765 000022 000016G CMP #22,I.PRM+16(R5) ;;IS THE USER BUFFER LARGE ENOUGH ?
424 000574 101012 BHI 25$ ;;IF HI, NO - DON'T STORE SEGMENT SIZE
425 000576 MAP I.PRM+12(R5) ;;MAP TO THE USER BUFFER
426 000604 016502 000014G MOV I.PRM+14(R5),R2 ;;GET THE ADDRESS OF THE USER BUFFER
427 000610 010362 000020 MOV R3,20(R2) ;;STORE THE SEGMENT SIZE
428 000614 RECMAP ;;RESTORE PROPER ACP MAPPING
429 000622 010503 25$: MOV R5,R3 ;;RESTORE I/O PACKET ADDRESS
430
431 000624 011000 CNCMA: MOV (R0),R0 ;;GET COMPLETION STATUS
432 000626 CALL IODUN ;;POST CONNECT INITIATE COMPLETION TO USER
433
434 000632 010405 30$: MOV R4,R5 ;;COPY ADDRESS OF CONNECT BLOCK
435 000634 CALLR RLSDBK ;;...AND DEALLOCATE IT
436
437 .DSABL LSB
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 10
$QDIR - DISCONNECT RECEIVED
439 .SBTTL $QDIR - DISCONNECT RECEIVED
440
441 ;+
442 ; ** - $QDIR - DISCONNECT RECEIVED
443 ;
444 ; THIS ROUTINE IS CALLED BY NSP WHENEVER A DISCONNECT
445 ; IS RECEIVED FOR AN ESTABLISHED LOGICAL LINK. THE ROUTINE
446 ; MARKS THE LINK'S WINDOW BLOCK AS BEING DISCONNECTED AND
447 ; THEN PLACES THE DISCONNECT CCB RECEIVED FROM NSP ON THE
448 ; USER'S MAILBOX QUEUE.
449 ;
450 ; INPUTS:
451 ;
452 ; R5 -> CCB
453 ; C.LIN = ULA
454 ; C.NSP = 0(USER DISCONNECT)/NSP REASON CODE
455 ; C.BUF1 -> OPTIONAL DATA
456 ; C.CNT1 = OPTIONAL DATA LENGTH
457 ;-
458
459 000026 .PSECT $NSACP
460
461 000026 $QDIR:: CALL $SAVAL ;;SAVE ALL REGISTERS
462 000032 CALL GETWBA ;;GET ADDRESS OF WINDOW BLOCK (IN R5)
463 000036 132765 000300 000004 BITB #WS.DIP!WS.KIP,W.STAT(R5) ;;IS DISCONNECT OR CLOSE ALREADY IN PROGRESS?
464 000044 001036 BNE 30$ ;;IS NE, YES - WILL RECEIVE A DC LATER
465 000046 152765 000100 000004 BISB #WS.DIP,W.STAT(R5) ;;OTHERWISE SET DISCONNECT IN PROGRESS
466 000054 142765 000060 000004 BICB #WS.INT!WS.STA,W.STAT(R5) ;;CLEAR ALL WAITING FLAGS
467 000062 CALL FLSHIO ;;FLUSH ALL PENDING XMIT & RECV REQUESTS
468
469 .IF DF V$$ER1
470 BITB #WS.VE1,W.STAT(R5) ;;VERSION 1 OR VERSION 2 INTERFACE?
471 BEQ 10$ ;;IF EQ, VERSION 2
472 CALLR V1DIR ;;OTHERWISE VERSION 1
473 .ENDC
474
475 000066 112701 000003 10$: MOVB #NT.DSC,R1 ;;ASSUME USER DISCONNECT
476 000072 016400 000004 MOV C.NSP(R4),R0 ;;GET THE DISCONNECT REASON CODE
477 000076 001407 BEQ 20$ ;;IF EQ, THIS IS A SYNCHRONOUS DISCONNECT
478 000100 112701 000004 MOVB #NT.ABT,R1 ;;ELSE, ASSUME USER ABORT
479 000104 022700 000011 CMP #ER$ABT,R0 ;;DID USER CAUSE ABORT ?
480 000110 001402 BEQ 20$ ;;IF EQ, YES
481 000112 112701 000005 MOVB #NT.ABO,R1 ;;ELSE, NETWORK CAUSED ABORT
482 000116 110164 000010 20$: MOVB R1,C.FNC(R4) ;;SET DISCONNECT NETWORK DATA TYPE
483 000122 116564 000007 000011 MOVB W.LUN(R5),C.MOD(R4) ;;STORE LOGICAL LINK'S LUN IN CCB
484 000130 016503 000016 MOV W.MBOX(R5),R3 ;;GET ADDDRESS OF MAILBOX
485 000134 CALL ADDEVT ;;PUT DISCONNECT CCB IN THE MAILBOX
486 000140 103002 BCC 40$ ;;IF CC, DISCONNECT NOTICE WAS QUEUED
487
488 000142 30$: CALLR RMDIS ;;RELEASE DISCONNECT RESOURCES
489
490 000146 40$: RETURN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 11
$QDIC - DISCONNECT COMPLETE
492 .SBTTL $QDIC - DISCONNECT COMPLETE
493
494 ;+
495 ; ** - $QDIC-DISCONNECT COMPLETE
496 ;
497 ; THIS ROUTINE IS CALLED BY NSP WHENEVER NSP DECIDES
498 ; THAT THE LINK IS DISCONNECTED, REGARDLESS OF WHERE
499 ; THE DISCONNECT WAS INITIATED. THIS ROUTINE DOES THE FINAL
500 ; CLEAN-UP OF THE DATA BASE (REMOVES WINDOW BLOCK & CLEARS THE
501 ; USER'S SECOND LUN WORD).
502 ;
503 ; INPUTS:
504 ;
505 ; R5-> CCB (DISCONNECT REQUEST)
506 ; C.LIN = ULA
507 ; C.BUF1 -> OPTIONAL DATA (MAY BE 0 IF NONE)
508 ; C.CNT1 = OPTIONAL DATA LENGTH
509 ;-
510
511 000150 .PSECT $NSACP
512
513 000150 $QDIC:: CALL $SAVAL ;;SAVE ALL REGISTERS
514 000154 CALL GETWBA ;;GET ADDRESS OF THE WINDOW BLOCK
515 000160 116500 000004 MOVB W.STAT(R5),R0 ;;GET WINDOW BLOCK STATUS
516
517 .IF DF V$$ER1
518 BITB #WS.VE1,R0 ;;IS THIS VERSION 1 OR VERSION 2 ?
519 BEQ 10$ ;;IF EQ, VERSION 2
520 CLR C.BUF+2(R4) ;;FOR V1, THE SECOND CCB IS REALLY AN I/O PACKET
521 10$: ;;SO FUDGE POINTER TO AVOID RETURNING IT
522 .ENDC
523
524 000164 CALL RMDIS ;;RELEASE THE DISCONNECT RESOURCES
525 000170 016504 000016 MOV W.MBOX(R5),R4 ;;GET ADDRESS OF TASK'S MAILBOX
526 000174 016503 000014 MOV W.PIO(R5),R3 ;;GET ANY PENDING I/O PACKET ADDRESS (FOR LATER)
527 000200 CALL REMULA ;;REMOVE ULA, DEALLOCATE WINDOW BLOCK AND DEACESS LUN
528
529 .IF DF V$$ER1
530 BITB #WS.VE1,R0 ;;WAS IT VERSION 1 OR VERSION 2?
531 BNE 50$ ;;IF NE, VERSION 1
532 .ENDC
533
534 000204 105364 000006 20$: DECB M.USE(R4) ;;DECREMENT # OF ACTIVE/PENDING LOGICAL LINKS
535 000210 132700 000200 BITB #WS.KIP,R0 ;;I/O RUNDOWN IN PROGRESS FOR THIS LINK?
536 000214 001002 BNE 30$ ;;IF NE, YES - GO CONTINUE I/O RUNDOWN
537 000216 CALL 50$ ;;GO COMPLETE ANY PENDING I/O PACKET
538 ;; (ABT$,DIS$,GND$)
539 000222 132764 000200 000004 30$: BITB #MS.CIP,M.STAT(R4) ;;CLOSE IN PROGRESS?
540 000230 001417 BEQ 60$ ;;IF EQ, NO
541 000232 016403 000010 MOV M.SPA(R4),R3 ;;GET CLOSE OR I/O RUNDOWN I/O PACKET ADDRESS
542 000236 010400 MOV R4,R0 ;;COPY POINTER TO MAILBOX
543 000240 CALL MAPHDR ;;GET ADDRESS OF USER TASK'S HEADER (IN R2)
544 000244 CALLR CLS2 ;;CONTINUE CLOSE (I/O RUNDOWN)
545
546
547 000250 005703 50$: TST R3 ;;IS THERE AN I/O PACKET TO COMPLETE
548 000252 001406 BEQ 60$ ;;IF EQ, NO - NOTHING TO DO JUST RETURN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 11-1
$QDIC - DISCONNECT COMPLETE
549 000254 016300 000014G MOV I.PRM+14(R3),R0 ;;GET FIRST STATUS WORD
550 000260 016301 000016G MOV I.PRM+16(R3),R1 ;;GET SECOND STATUS WORD
551 000264 CALL IODUN ;;COMPLETE I/O REQUEST
552 000270 60$: RETURN ;;RETURN
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 12
$QINTR - INTERRUPT MESSAGE RECEIVED
554 .SBTTL $QINTR - INTERRUPT MESSAGE RECEIVED
555
556 ;+
557 ; ** - $QINTR - INTERRUPT MESSAGE RECEIVED
558 ;
559 ; THIS ROUTINE IS CALLED BY NSP WHENEVER NSP RECEIVES
560 ; AN INTERRUPT MESSAGE ON A USER'S LINK.
561 ;
562 ; INPUTS:
563 ;
564 ; R5 -> CCB (INTERRUPT MESSAGE)
565 ; C.LIN = ULA
566 ; C.BUF1 -> INTERRUPT MESSAGE
567 ;-
568
569 000272 .PSECT $NSACP
570
571 000272 $QINTR::CALL GETWBA ;;GET WINDOW BLOCK ADDRESS
572 000276 116564 000010 000006 MOVB W.LLA(R5),C.LIN(R4) ;;SET UP THE LLA FOR 'USRRCI' LATER
573
574 .IF DF V$$ER1
575 BITB #WS.VE1,W.STAT(R5) ;;VERSION 1 OR VERSION 2 INTERFACE?
576 BEQ 5$ ;;IF EQ, VERSION 2
577 CALLR V1INTR ;;OTHERWISE VERSION 1
578 .ENDC
579
580 000304 112764 000002 000010 5$: MOVB #NT.INT,C.FNC(R4) ;; INTERRUPT NETWORK DATA TYPE
581 000312 116564 000007 000011 MOVB W.LUN(R5),C.MOD(R4) ;; USER LUN
582 000320 016503 000016 MOV W.MBOX(R5),R3 ;;GET MAILBOX ADDRESS
583 000324 CALL ADDEVT ;;PLACE ON MAILBOX NETWORK DATA QUEUE
584 000330 103002 BCC 10$ ;;IF CC, INTERRUPT QUEUED
585 000332 CALL RMINT ;;ELSE, FLUSH INTERRUPT
586 000336 10$: RETURN ;;RETURN TO CALLER
587
588 000001 .END
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 12-1
SYMBOL TABLE
ACKMAS= 170000 CS.SUC= 000001 ER$MLB= 000006 GETWBA= ****** GX LS.MAK= 000020
ACKPRE= 100000 CS.TMO= 020000 ER$NOD= 000002 G$$TPP= 000000 LS.MNK= 000040
ACKRES= 060000 CX.GDQ= 000001 ER$NSD= 000003 G$$TSS= 000000 LS.RES= 000360
ACKWRA= 010000 CX.REQ= 000002 ER$RES= 000001 G$$TTK= 000000 LS.RSV= 000300
ADDEVT= ****** GX CX.UNL= 000004 ER$SSR= 000000 G$$WRD= 000000 L$$ASG= 000000
ADDGN1= ****** GX C$$CKP= 000000 ER$SSS= 000045 IE.DAO= ****** GX L$$DRV= 000000
A$$CHK= 000000 C$$ORE= 000400 ER$STA= 000051 IE.NDA= 177662 L$$P11= 000001
A$$CPS= 000000 C$$RSH= 177564 ER$TCN= 000040 IE.NNT= 177660 L$$11R= 000000
A$$PRI= 000000 C.BID 000003 ER$TCO= 000041 IE.NRJ= 177666 L.CIQ 000026
A$$TRP= 000000 C.BUF 000014 ER$TPA= 000010 IE.URJ= 177667 L.DCR 000036
A.NAK = 010000 C.BUF1 000014 ER$UOB= 000004 IODUN = ****** GX L.FLG 000012
CB.CCB= 000002 C.BUF2 000024 E$$XPR= 000000 IS.DAO= 000002 L.LDA 000024
CB.RDB= 000004 C.CNT 000020 FC.CCP= 000020 IS.SUC= ****** GX L.LIA 000026
CCBREJ= ****** GX C.CNT1 000020 FC.CTL= 000006 I$$RAR= 000000 L.LLA 000002
CCRTAB 000006R C.CNT2 000030 FC.KCP= 000016 I$$RDN= 000000 L.LNG1 000054
CE.ABO= 100362 C.FLG 000022 FC.KIL= 000004 I.PRM = ****** GX L.LNO 000022
CE.DIS= 100366 C.FLG1 000022 FC.RCE= 000002 KDSAR0= 172360 L.LSA 000032
CE.ERR= 100370 C.FLG2 000032 FC.RCP= 000014 KDSDR0= 172320 L.LSF 000044
CE.MOP= 100372 C.FNC 000010 FC.TIM= 000010 KISAR0= 172340 L.LVL 000001
CE.NTE= 100361 C.LIN 000006 FC.XCP= 000012 KISAR5= 172352 L.NDA 000034
CE.RTE= 100376 C.LNK 000000 FC.XME= 000000 KISAR6= 172354 L.NIN 000016
CE.SRC= 100364 C.MOD 000011 FE.CAL= 000040 KISAR7= 172356 L.NLA 000036
CE.TMO= 100374 C.NSP 000004 FE.DRV= 000010 KISDR0= 172300 L.NSTA 000025
CF.EOM= 000004 C.RSV 000002 FE.EXP= 000200 KISDR6= 172314 L.NXN 000014
CF.HDR= 000020 C.STA 000007 FE.EXT= 000001 KISDR7= 172316 L.PDV 000041
CF.LB = 100000 C.STS 000012 FE.EXV= 000004 K$$CNT= 177546 L.REM 000006
CF.SOM= 000010 DF$ADJ= 020000 FE.LSI= 000400 K$$CSR= 177546 L.RLA 000010
CF.SYN= 000040 DF$DWN= 001000 FE.MUP= 000002 K$$LDC= 000000 L.RNO 000020
CF.TRN= 000100 DF$FRE= 070000 FE.MXT= 040000 K$$TPS= 000074 L.STA 000000
CIRTAB 000000R DF$LCL= 040000 FE.NLG= 100000 LA.ACK= 100000 L.TC 000042
CLS2 = ****** GX DF$LNK= 004000 FE.PKT= 000100 LA.MSK= 170000 L.TIC 000043
CL$ACK= 000040 DF$REM= 010000 FE.PLA= 000020 LA.NAK= 110000 L.TIPD 000005
CL$MFL= 000010 DF$RES= 002000 FLSHIO= ****** GX LA.NMS= 010000 L.TIPI 000004
CL$NRM= 000020 DF$TMP= 100000 FNDTSK 000222R LA.RES= 060000 L.UDQ 000034
CL$SFL= 000004 D$CHN 000002 FS.AST= 000000 LD$LP = 000000 L.ULA 000040
CL$TYP= 000001 D$FLG 000000 FS.CIB= 002000 LF.DFL= 000060 L.USA 000030
CL.MU1= 000001 D$LEN 000014 FS.CRA= 001000 LF.DSP= 000040 L.USTA 000024
CL.MU2= 000002 D$LNG 000005 FS.DIS= 013000 LF.DST= 000020 L.XQ1 000046
CL.RES= 177774 D$NAM 000006 FS.DVC= 001000 LF.FPN= 000010 L.XQ2 000050
CMODE = 140000 D$USE 000004 FS.ENB= 012000 LF.HF0= 001000 L.XQ3 000052
CNCMA 000624R D$$BUG= 177514 FS.GET= 006000 LF.HMF= 020000 MAPHDR= ****** GX
CNCMP 000512R D$$ISK= 000000 FS.INI= 000000 LF.HSF= 010000 MA.DA = 000000
CRRTAB 000012R D$$L11= 000001 FS.KIL= 000000 LF.INR= 000100 MA.IL = 000020
CS.ABO= 000100 D$$YNC= 000000 FS.LTM= 001000 LF.INT= 000400 MC.CC = 000040
CS.BUF= 000200 D$$YNM= 000000 FS.MNT= 004000 LF.LCL= 040000 MC.CI = 000020
CS.DCR= 000400 ER$ABO= 000046 FS.MSN= 014000 LF.MMF= 100000 MC.DC = 000100
CS.DEV= 000002 ER$ABT= 000011 FS.RNG= 011000 LF.MSF= 040000 MC.DI = 000060
CS.DIS= 000040 ER$ACC= 000042 FS.RTN= 001000 LF.NKR= 000200 MC.NO = 000000
CS.ENB= 000020 ER$ACT= 000044 FS.SET= 005000 LF.NKS= 000400 MC.ST = 000120
CS.EOF= 000001 ER$CDI= 000052 FS.STM= 000000 LF.NPN= 000001 MD.BM = 000040
CS.ERR= 100000 ER$COM= 000047 FS.STP= 002000 LF.NTS= 002000 MD.EM = 000100
CS.HFE= 002000 ER$FCF= 000050 FS.STR= 001000 LF.RSU= 100000 MD.ILS= 000040
CS.LST= 040000 ER$FMT= 000005 FS.TRM= 003000 LS.DLS= 000200 MD.IM = 000020
CS.MTL= 004000 ER$GEN= 000007 FS.XKL= 002000 LS.FCC= 000004 MF.ACK= 000004
CS.RNG= 000010 ER$IFC= 000030 FS.XOF= 010000 LS.FC0= 000001 MF.CTL= 000010
CS.ROV= 000004 ER$ILS= 000043 FS.XON= 007000 LS.FC1= 000002 MF.DAT= 000000
CS.RSN= 010000 ER$IMG= 000053 F$$LVL= 000001 LS.ILS= 000200 MPAR = 172100
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 12-2
SYMBOL TABLE
MPCSR = 177746 NI.FUB= 000010 NT.ACK= 000001 N.DFMT 000010 PF$RRI= 000004
MSGHDR= 000007 NI.INI= 000001 NT.BOM= 000040 N.DGP 000006 PF$RVE= 000001
MS.AST= 000010 NI.RLI= 000002 NT.CON= 000001 N.DGRP 000012 PF$RVR= 000040
MS.CIP= 000200 NI.RRI= 000004 NT.DSC= 000003 N.DNM 000014 PF$SLI= 000002
M$$CRB= 000124 NI.RVE= 000001 NT.EOM= 000100 N.DNMC 000012 PF$SRI= 000004
M$$CRX= 000000 NI.VER= 000002 NT.FCN= 037400 N.DOBJ 000011 PF$SRT= 000001
M$$FCS= 000000 NO.DTR= 000077 NT.INT= 000002 N.DOT 000005 PF$STA= 000003
M$$MGE= 000000 NO.FAL= 000021 NT.LOG= 000011 N.DUS 000010 PF$SUB= 000010
M$$OVR= 000000 NO.FA1= 000001 NT.MD1= 000420 N.DUSR 000014 PF$UP = 000001
M.MAIL 000012 NO.NCU= 000023 NT.MFL= 000002 N.LGTH= 000160 PIRQ = 177772
M.MAX 000007 NO.RTL= 000022 NT.MOD= 000020 N.NODE 000000 PMODE = 030000
M.MBL = 000016 NO.TAS= 000000 NT.MOM= 000000 N.OPDL 000136 PR0 = 000000
M.NAST 000005 NO.TCL= 000017 NT.MOP= 000010 N.OPTD 000140 PR1 = 000040
M.NEXT 000000 NO.TC1= 000005 NT.NAK= 000002 N.PASL 000102 PR4 = 000200
M.SPA 000010 NO.TLK= 000020 NT.NFL= 000000 N.PASS 000104 PR5 = 000240
M.STAT 000004 NP$RTR= 000003 NT.SFL= 000001 N.RAC 000070 PR6 = 000300
M.TASK 000002 NR$IFC= 000030 NT.SOL= 000140 N.RACC 000066 PR7 = 000340
M.USE 000006 NS.BOM= 000040 NT.XOF= 000004 N.RDE 000012 PS = 177776
NC.FM0= 000000 NS.EOM= 000100 NT.XON= 000010 N.RDEC 000010 PS$NTI= 000003
NC.FM1= 000001 NS.MFL= 000003 N$ACQ 000000 N.RFM 000006 PS$OFF= 000000
NC.FM2= 000002 NS.MOM= 000000 N$ICF 000006 N.RGP 000010 PS$STR= 000001
NETTIM= 000005 NS.NFL= 000001 N$LNI 000010 N.RID 000034 PS$UP = 000005
NE$ABO= 000046 NS.SET= 000002 N$LVC 000022 N.RIDC 000032 PS$VER= 000004
NE$ABT= 000011 NS.SFL= 000002 N$NOD 000032 N.RND 000000 PS$WT = 000002
NE$ACC= 000042 NS.SOL= 000140 N$PLD 000026 N.RNM 000016 P$CHN 000004
NE$ACT= 000044 NS.SUC= 000001 N$STS 000042 N.RNMC 000014 P$CNT 000005
NE$CDI= 000052 NT$ABO= 000022 N$TCB 000004 N.ROT 000007 P$FRQ 000012
NE$COM= 000047 NT$ACC= 000002 N$TMP 000012 N.RPS 000056 P$FSP 000013
NE$FCF= 000050 NT$ADS= 000000 N$VER 000036 N.RPSC 000054 P$LCD 000002
NE$FMT= 000005 NT$AKD= 000016 N$$DAT= 000030 N.RQDL 000060 P$LEN 000014
NE$GEN= 000007 NT$AKI= 000020 N$$DIS= 000020 N.RQID 000062 P$LST 000000
NE$ILS= 000043 NT$CC = 000012 N$$INT= 000020 N.RQL = 000110 P$NOD 000010
NE$IMG= 000053 NT$CON= 000000 N$$LDV= 000001 N.RSRV= 000030 P$PFQ 000006
NE$MLB= 000006 NT$DAT= 000002 N$$MOV= 000010 N.RUS 000012 P$TIM 000003
NE$NOD= 000002 NT$DIS= 000010 N$$OPT= 000020 N.SDE 000042 P$$P45= 000000
NE$NSD= 000003 NT$IDC= 000034 N$$OVR= 000042 N.SDEC 000040 P$$WRD= 000000
NE$RES= 000001 NT$IDN= 000030 N$$SYS= 000001 N.SDL1 000036 Q$$OPT= 000010
NE$SSR= 000000 NT$ILN= 000032 N$$USR= 000001 N.SDL2 000042 REMULA= ****** GX
NE$SSS= 000045 NT$IND= 000024 N.ACNT 000116 N.SDS1 000040 RF.CLN= 000000
NE$STA= 000051 NT$INL= 000026 N.ACTL 000114 N.SDS2 000056 RF.CTL= 000003
NE$TCN= 000040 NT$INT= 000004 N.CAC 000120 N.SEG 000006 RF.TIM= 177400
NE$TCO= 000041 NT$LS = 000014 N.CACC 000116 N.SEGZ 000002 RF.TM0= 000400
NE$TPA= 000010 NT$MOD= 000012 N.CBL = 000142 N.SFM 000036 RF.WTD= 000020
NE$UOB= 000004 NT$NAK= 000022 N.CDA 000142 N.SFMT 000034 RF.WTM= 000030
NE.ABO= 177776 NT$OFF= 000026 N.CDAC 000140 N.SGP 000040 RF.WTS= 000010
NE.ACT= 177771 NT$ON = 000002 N.CID 000064 N.SGRP 000036 RH.CNT= 000001
NE.CLS= 177767 NT$QRY= 000014 N.CIDC 000062 N.SND 000030 RH.EFM= 000020
NE.DIS= 177777 NT$REJ= 000004 N.CPS 000106 N.SNM 000046 RH.HDR= 000002
NE.FMT= 177770 NT$ROU= 000022 N.CPSC 000104 N.SNMC 000044 RH.PRI= 000014
NE.NDT= 177766 NT$RTI= 000010 N.CTL 000000 N.SOBJ 000035 RH.PR1= 000004
NE.NOD= 177774 NT$RTN= 000000 N.DDE 000010 N.SOT 000037 RH.RFM= 000100
NE.REJ= 177775 NT$SNG= 000006 N.DDEC 000006 N.SUS 000042 RLSDBK= ****** GX
NE.RES= 177773 NT$STP= 000004 N.DDL1 000012 N.SUSR 000040 RMCON = ****** GX
NE.TIM= 177772 NT$XOF= 000020 N.DDL2 000016 PF$EIP= 000100 RMDIS = ****** GX
NI.FLI= 000002 NT$XON= 000016 N.DDS1 000014 PF$ENB= 000200 RMINT = ****** GX
NI.FRI= 000004 NT.ABO= 000005 N.DDS2 000020 PF$OFF= 000000 R$$DER= 000000
NI.FRT= 000001 NT.ABT= 000004 N.DFM 000004 PF$RLI= 000002 R$$K11= 000001
NSRCV MACRO M1110 13-OCT-79 10:25 PAGE 12-3
SYMBOL TABLE
R$$SND= 000000 S$NKS 000010 UISDR4= 177610 WINDOW= 004000 W.SNDQ 000022
R$$11M= 000000 S$RES 000014 UISDR5= 177612 WS.DIC= 000004 W.STAT 000004
SISDR0= 172200 S$SEC 000000 UISDR6= 177614 WS.DIP= 000100 W.TASK 000002
SRMBQ 000000R 002 S$SNI 000016 UISDR7= 177616 WS.EST= 000002 W.ULA 000011
SR0 = 177572 S$UMR 000004 VF$RCV= 100000 WS.INT= 000040 W.WBL = 000040
SR3 = 172516 S$UMS 000002 VF$XMT= 040000 WS.KIP= 000200 X$$DBT= 000000
ST$CC = 000002 S$UNI 000020 V$FLG 000000 WS.MOD= 000010 $CAT5 = ****** GX
ST$CIR= 000003 S$$WRG= 000000 V$LEN 000022 WS.STA= 000020 $MPOBJ= ****** GX
ST$CIS= 000001 S$$YSZ= 007600 V$RCV 000002 WS.VE1= 000001 $MVTBF= ****** GX
ST$DAT= 000005 TPS = 177564 V$XMT 000012 W.CCBU 000006 $NSDMF= ****** GX
ST$DID= 000015 T$$KMG= 000000 V$$CTR= 001000 W.CINT 000032 $NSRQF= ****** GX
ST$DIP= 000006 T$$MIN= 000000 V.CULT 000004 W.CSND 000020 $NSVCB= ****** GX
ST$DIR= 000012 UBMPR = 170200 V.GENQ 000016 W.CTL 000000 $QCCR 000352RG
ST$DIS= 000014 UDSAR0= 177660 V.MBXQ 000012 W.INTQ 000034 $QCIR 000020RG
ST$UDI= 000013 UDSDR0= 177620 V.TIME 000003 W.LLA 000010 $QCRR 000430RG
ST$UNR= 000011 UISAR0= 177640 V.TIMR 000002 W.LUN 000007 $QDIC 000150RG 002
SWR = 177570 UISAR4= 177650 V.TRCT 000000 W.MBOX 000016 $QDIR 000026RG 002
S$EMR 000006 UISAR5= 177652 V.ULT 000006 W.MODC 000005 $QINTR 000272RG 002
S$FMT 000012 UISAR6= 177654 V.ULTE 000010 W.PIO 000014 $SAVAL= ****** GX
S$LEN 000040 UISAR7= 177656 V.VBL = 000026 W.RCVQ 000026 $SRSTD= ****** GX
S$LNK 000022 UISDR0= 177600 V.1CPQ 000022 W.SEGZ 000012 $TSKRT= ****** GX
S$MLK 000024
. ABS. 000160 000
000640 001
$NSACP 000340 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 21343 WORDS ( 84 PAGES)
DYNAMIC MEMORY: 20620 WORDS ( 79 PAGES)
ELAPSED TIME: 00:00:54
NSRCV,[131,34]NSRCV/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,[131,10]NSRCV
NSRCV CREATED BY MACRO ON 13-OCT-79 AT 10:26 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ADDEVT = ****** GX 4-209 10-485 12-583
ADDGN1 = ****** GX 4-193
CCBREJ = ****** GX 4-205
CCRTAB 000006 R #3-105 7-334
CIRTAB 000000 R #3-93 4-157
CLS2 = ****** GX 11-544
CNCMA 000624 R 8-387 #9-431
CNCMP 000512 R 7-342 #9-410
CRRTAB 000012 R #3-116 8-377
CX.REQ = 000002 4-190
C.BUF 000014 4-161
C.BUF2 000024 9-412
C.CNT2 000030 9-413
C.FLG 000022 *4-162 7-331
C.FNC 000010 *4-177 *10-482 *12-580
C.LIN 000006 *4-156 *12-572
C.MOD 000011 *4-176 *4-190 *10-483 *12-581
C.NSP 000004 4-156 *4-168 7-330 8-386 10-476
ER$ABT = 000011 10-479
ER$NSD = 000003 3-93
ER$TCO = 000041 3-95
ER$UOB = 000004 3-94
FLSHIO = ****** GX 10-467
FNDTSK 000222 R 4-164 #5-237
GETWBA = ****** GX 7-326 8-367 10-462 11-514 12-571
IE.DAO = ****** GX 3-118
IE.NRJ = 177666 3-116
IE.URJ = 177667 3-117
IODUN = ****** GX 9-432 11-551
IS.DAO = 000002 3-106
IS.SUC = ****** GX 3-105
I.PRM = ****** GX 9-414 9-417 9-420 9-420 9-423 9-425 9-426 11-549 11-550
KISAR6 = 172354 *9-425 *9-428
MAPHDR = ****** GX 11-543
MS.CIP = 000200 11-539
M$$MGE = 000000 9-420 9-425 9-428
M.MAX 000007 4-199 4-201
M.SPA 000010 11-541
M.STAT 000004 11-539
M.TASK 000002 6-296
M.USE 000006 4-201 *4-207 *8-385 *11-534
NC.FM1 = 000001 5-245
NT.ABO = 000005 10-481
NT.ABT = 000004 10-478
NT.CON = 000001 4-177
NT.DSC = 000003 10-475
NT.INT = 000002 12-580
N.DDL1 000012 5-243
N.DDL2 000016 5-247
N.DFMT 000010 5-245
N.DOBJ 000011 5-237
N.SEG 000006 4-162
NSRCV CREATED BY MACRO ON 13-OCT-79 AT 10:26 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
REMULA = ****** GX 8-374 11-527
RLSDBK = ****** GX 9-435
RMCON = ****** GX 4-212
RMDIS = ****** GX 10-488 11-524
RMINT = ****** GX 12-585
SRMBQ 000000 R 4-179 #6-291
UISAR6 = 177654 9-428
V$$ER1 = ****** 3-1 3-2 3-101 3-112 4-170 7-337 8-379 10-469 11-517
11-529 12-574
V.MBXQ 000012 6-292
WS.DIP = 000100 10-463 10-465
WS.EST = 000002 7-333
WS.INT = 000040 10-466
WS.KIP = 000200 8-370 10-463 11-535
WS.STA = 000020 10-466
W.LLA 000010 *7-330 12-572
W.LUN 000007 10-483 12-581
W.MBOX 000016 8-372 10-484 11-525 12-582
W.PIO 000014 7-328 *7-329 8-373 11-526
W.SEGZ 000012 *7-332
W.STAT 000004 *7-333 8-369 10-463 *10-465 *10-466 11-515
$CAT5 = ****** GX 5-259 5-261
$MPOBJ = ****** GX 5-239
$MVTBF = ****** GX 9-420
$NSDMF = ****** GX 4-158
$NSRQF = ****** GX *4-191
$NSVCB = ****** GX 4-178
$QCCR 000352 RG #7-325
$QCIR 000020 RG #4-155
$QCRR 000430 RG #8-366
$QDIC 000150 RG #11-513
$QDIR 000026 RG #10-461
$QINTR 000272 RG #12-571
$SAVAL = ****** GX 4-155 7-325 8-366 10-461 11-513
$SRSTD = ****** GX 5-264
$TSKRT = ****** GX 4-182
NSRCV CREATED BY MACRO ON 13-OCT-79 AT 10:26 PAGE 3
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
CALL 4-155 4-164 4-179 4-182 4-209 5-239 5-259 5-261 5-264 7-325
7-326 8-366 8-367 8-374 9-432 10-461 10-462 10-467 10-485 11-513
11-514 11-524 11-527 11-537 11-543 11-551 12-571 12-583 12-585
CALLR #4-193 #4-205 #4-212 #9-435 #10-488 #11-544
CCBDF$ #3-44 3-45
CNBDF$ #3-53 #3-55
CRBDF$ #3-53 3-54
DVBDF$ #3-48 #3-51
HWDDF$ #9-425 #9-425 #9-428 #9-428
LLWDF$ #3-48 #3-50
MAP #3-42 #9-425
MBXDF$ #3-48 #3-49
MOVBNS #3-81
NSPSY$ #3-44 #3-46
NSSYM$ #3-53 #3-56
POP #3-71 #5-265 #9-421
PUSH #3-65 #5-240 #9-418
RECMAP #3-42 9-428
RESRG #3-42 4-165
RETURN 4-214 5-266 6-299 10-490 11-552 12-586
SAVRG #3-42 4-163
SOB #5-256
$MVTBF #3-42 9-420