Google
 

Trailing-Edge - PDP-10 Archives - TOPS-20_V6.1_DECnetSrc_7-23-85 - mcb/sc/scxres.lst
There is 1 other file named scxres.lst in the archive. Click here to see a list.
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (1)

;	  0001	module SCXRES (				! Resource-Wait Processing
;	  0002			ident = 'X01190'
;	  0003			) =
;	  0004	begin
;	  0005	!
;	  0006	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0007	!                    DIGITAL EQUIPMENT CORPORATION
;	  0008	!                        Maynard, Massachusetts
;	  0009	!
;	  0010	!     This software is furnished under a license and may  be  used
;	  0011	!     and copied only in accordance with the terms of such license
;	  0012	!     and with the inclusion of the above copyright notice.   This
;	  0013	!     software  or any other copies thereof may not be provided or
;	  0014	!     otherwise made available to any other person.  No  title  to
;	  0015	!     and ownership of the software is hereby transferred.
;	  0016	!
;	  0017	!     The information  in  this  software  is  subject  to  change
;	  0018	!     without  notice  and should not be construed as a commitment
;	  0019	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0020	!
;	  0021	!     DIGITAL assumes no responsibility for the use or reliability
;	  0022	!     of  its  software  on  equipment  which  is  not supplied by
;	  0023	!     DIGITAL.
;	  0024	!
;	  0025	
;	  0026	!++
;	  0027	!
;	  0028	! FACILITY:	Task Session Control
;	  0029	!
;	  0030	! ABSTRACT:	This module performs resource-wait processing,
;	  0031	!		such as encountered when a buffer cannot be
;	  0032	!		obtained for a data transfer.
;	  0033	!
;	  0034	! ENVIRONMENT:	MCB (RSX-11 user)
;	  0035	!
;	  0036	! AUTHOR:	Buren Hoffman		CREATION DATE: 6-Aug-80
;	  0037	!
;	  0038	! MODIFIED BY:
;	  0039	!	X01010	Changed code to use $byt_ptr macro in place of the
;	  0040	!		ch$ptr macro.
;	  0041	!	X01020	Fixed routine entry binding problems.
;	  0042	!	X01030	Disconnect flag was not being set for case of
;	  0043	!		disconnect received.
;	  0044	!	X01040	Added AST activation on receipt of disconnect or
;	  0045	!		interrupt data.
;	  0046	!	X01050	Using local own queueing routines because CMQxx$ routines
;	  0047	!		are for CCBs only.
;	  0048	!	X01060	Use new Comm/Exec to process linkage (.CRDAT for database)
;	  0049	!	X01070	Upgraded GLN support
;	  0050	!	X01080	Updated to use library calls, instead of requires.
;	  0051	!	X01090	Repaired missing forward reference.
;	  0052	!	X01100	Fixed reject processing to return proper reject code.
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   2
X01190								30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (1)

;	  0053	!	X01110	Added call to QUEAST to queue ASTs.
;	  0054	!	X01120	Fixed link counter keeping.
;	  0055	!	X01130	Updated disconnect-received processing to correspond
;	  0056	!		to modified system interface definition.
;	  0057	!	X01140	Set proper lun in MB packet for interrupt or disconnect
;	  0058	!		received.
;	  0059	!	X01150	Separate abort and disconnect processing into separate
;	  0060	!		routines.
;	  0061	!	X01160	Memory management cleanup.
;	  0062	!	X01170	Optimization work.
;	  0063	!	X01180	Identified bug in processing CLOSE - $HEADR may not be
;	  0064	!		set up right. Problem not yet fixed.
;	  0065	!
;	  0066	!	x01190  Use DSR space instead or an LDB for connect info.
;	  0067	!
;	  0068	!--
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   3
X01190								30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (2)

;	  0069	!
;	  0070	! INCLUDE FILES:
;	  0071	!
;	  0072	library 'SCPRM';
;	  0073	library 'MCB:MCBLIB';
;	  0074	library 'MCB:RSXLIB';
;	  0075	library 'MCB:XPORTX';
;	  0076	library 'MCB:SCSYS';
;	  0077	
;	  0078	require 'SCRSX';
;	  0172	
;	  0173	!
;	  0174	! TABLE OF CONTENTS:
;	  0175	!
;	  0176	
;	  0177	forward routine
;	  0178	    SRUDSW: novalue,		! Disconnect received
;	  0179	    SRUINW: novalue,		! Interrupt received
;	  0180	
;	  0181	    U$ABW: novalue,		! Abort
;	  0182	    U$ACW: novalue,		! Accept
;	  0183	    U$ARQ: novalue,		! * Abort wait *
;	  0184	    U$CLW: novalue,		! Close
;	  0185	    U$CNW: novalue,		! Connect
;	  0186	    U$DSW: novalue,		! Disconnect
;	  0187	    U$GLW: novalue,		! Get local node info
;	  0188	    U$IO:  novalue,		! I/O handler for U$RCW, U$SNW, and U$XMW
;	  0189	    U$IRQ: novalue,		! * Interrupt request wait *
;	  0190	!   U$RCW: novalue,		! Receive data (See U$IO)
;	  0191	    U$RJW: novalue;		! Reject
;	  0192	!   U$SNW: novalue		! Send data (See U$IO)
;	  0193	!   U$XMW: novalue		! Xmit interrupt data (See U$IO)
;	  0194	
;	  0195	!
;	  0196	! MACROS:
;	  0197	!
;	  0198	!
;	  0199	! EQUATED SYMBOLS:
;	  0200	!
;	  0201	global bind routine
;	  0202	    U$RCW = U$IO: novalue,
;	  0203	    U$SNW = U$IO: novalue,
;	  0204	    U$XMW = U$IO: novalue;
;	  0205	
;	  0206	!
;	  0207	! OWN STORAGE:
;	  0208	!
;	  0209	
;	  0210	!
;	  0211	! EXTERNAL REFERENCES:
;	  0212	!
;	  0213	external routine
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   4
X01190								30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (2)

;	  0214	    $C5TA: novalue,		! Convert rad50 to ascii
;	  0215	    QUEAST,			! Queue an AST to RSX
;	  0216	    ULARD;			! Determine LCB address from ULA
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   5
X01190		System Interface				30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (3)

;	  0217	%sbttl 'System Interface';
;	  0218	global routine SRUDSW (TNB): novalue =
;	  0219	
;	  0220	!++
;	  0221	! FUNCTIONAL DESCRIPTION:
;	  0222	!	Obtain Mailbox memory to store arriving disconnect.
;	  0223	!
;	  0224	! FORMAL PARAMETERS:
;	  0225	!	TNB	The Task Networking block
;	  0226	!
;	  0227	! IMPLICIT INPUTS:
;	  0228	!	First CCB on the input queue
;	  0229	!
;	  0230	! IMPLICIT OUTPUTS:
;	  0231	!	None
;	  0232	!
;	  0233	! ROUTINE VALUE:
;	  0234	! COMPLETION CODES:
;	  0235	!	None
;	  0236	!
;	  0237	! SIDE EFFECTS:
;	  0238	!	APR6 is modified
;	  0239	!--
;	  0240	
;	  0241	    begin
;	  0242	    $scx_get_data_base (SCXDB);
;	  0243	    map TNB: ref block field (TNB_FIELDS);
;	  0244	    local
;	  0245		CCB: ref block field (C_FIELDS),
;	  0246		LCB: ref block field (LCB_FIELDS),
;	  0247		MB: ref block field (MBP_FIELDS);
;	  0248	    bind
;	  0249		QUICK_LOOK_CCB = TNB [TN_IQHD]: ref block field (C_FIELDS);
;	  0250	
;	  0251	    if not $MCB_GET_DSR (MBP_SIZE*bytes_word + .QUICK_LOOK_CCB [C_CNT], MB)
;	  0252	    then $SCX_WAIT;
;	  0253	
;	  0254	    $SCX_DEQUEUE (TNB [TN_IQUE], CCB);	! Get CCB off queue
;	  0255	    MAP$ (.CCB [C_BIAS]);
;	  0256	    ch$move (.CCB [C_CNT], .CCB [C_ADDR], byt$ptr (MB [MB_DATA]));
;	  0257	    MB [MB_CNT] = .CCB [C_CNT];
;	  0258	    MB [MB_LLA] = .CCB [C_LIX];
;	  0259	    MB [MB_ULA] = .CCB [$sub_field (C_PRM1, LO_BYTE)];
;	  0260	    LCB = ULARD (.MB [MB_ULA]);
;	  0261	    MB [MB_LUN] = .LCB [LC_LUN];
;	  0262	    LCB [LCF_DSC] = true;
;	  0263	    MB [MB_FNC] =
;	  0264		begin
;	  0265		    selectone .CCB [C_PRM2] of
;	  0266			set
;	  0267			[-S_EDBO]:	MB$DSC;		! Disconnect
;	  0268			[-S_EABM]:	MB$ABO;		! Abort by management
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   6
X01190		System Interface				30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (3)

;	  0269			[-S_EABO]:	MB$ABT;		! Abort by object
;	  0270			[otherwise]:	MB$ABT;
;	  0271			tes
;	  0272		end;
;	  0273	
;	  0274	    $SCX_ENQUEUE (TNB [TN_MBXQ], .MB);	! Queue the MB
;	  0275	    QUEAST (.TNB);			! Queue the AST
;	  0276	    $SCX_DO_RCE (.CCB)
;	  0277	    end;


						.TITLE	SCXRES
						.IDENT	/X01190/

						.GLOBL	$C5TA, QUEAST, ULARD, .CRDAT, $DSRGT
						.GLOBL	$SCQRM, KISAR6, $SCQIN, $SCHED


						.SBTTL	SRUDSW System Interface
000000						.PSECT	$CODE$,  RO 

000000	004167  000000G			SRUDSW::JSR	R1,$SAVE4			;					0218
000004	005746 					TST	-(SP)
000006	016704  000002G				MOV	.CRDAT+2,R4			;					0241
000012	016602  000016 				MOV	16(SP),R2			; TNB,*					0249
000016	016200  000006 				MOV	6(R2),R0			;					0251
000022	016001  000022 				MOV	22(R0),R1
000026	062701  000020 				ADD	#20,R1
000032	004767  000000G				JSR	PC,$DSRGT
000036	103402 					BCS	1$
000040	010001 					MOV	R0,R1				; $MCB$R0,MB
000042	000406 					BR	2$
000044	052762  001000  000016 		1$:	BIS	#1000,16(R2)			;					0252
000052	042714  001000 				BIC	#1000,(R4)
000056	000516 					BR	6$
000060	012746  000006 			2$:	MOV	#6,-(SP)			;					0254
000064	060216 					ADD	R2,(SP)
000066	012746  000004 				MOV	#4,-(SP)
000072	060616 					ADD	SP,(SP)				; CCB,*
000074	004767  000000G				JSR	PC,$SCQRM
000100	016604  000004 				MOV	4(SP),R4			; CCB,*					0255
000104	016467  000016  000000G			MOV	16(R4),KISAR6
000112	016416  000022 				MOV	22(R4),(SP)			;					0256
000116	016446  000020 				MOV	20(R4),-(SP)
000122	010146 					MOV	R1,-(SP)			; MB,*
000124	062716  000020 				ADD	#20,(SP)
000130	004767  000000G				JSR	PC,BL$MOV
000134	016461  000022  000002 			MOV	22(R4),2(R1)			; *,*(MB)				0257
000142	012700  000006 				MOV	#6,R0				;					0258
000146	060100 					ADD	R1,R0				; MB,*
000150	116410  000010 				MOVB	10(R4),(R0)
000154	116460  000024  000001 			MOVB	24(R4),1(R0)			;					0259
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   7
X01190		System Interface				30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (3)

000162	005016 					CLR	(SP)				;					0260
000164	116016  000001 				MOVB	1(R0),(SP)
000170	004767  000000G				JSR	PC,ULARD
000174	116061  000016  000010 			MOVB	16(R0),10(R1)			; *(LCB),*(MB)				0261
000202	052760  004000  000016 			BIS	#4000,16(R0)			; *,*(LCB)				0262
000210	016400  000026 				MOV	26(R4),R0			;					0265
000214	020027  000024 				CMP	R0,#24
000220	001003 					BNE	3$
000222	012700  000003 				MOV	#3,R0				;					0264
000226	000410 					BR	5$
000230	020027  000010 			3$:	CMP	R0,#10				;					0265
000234	001003 					BNE	4$
000236	012700  000005 				MOV	#5,R0				;					0264
000242	000402 					BR	5$
000244	012700  000004 			4$:	MOV	#4,R0
000250	110061  000004 			5$:	MOVB	R0,4(R1)			; *,*(MB)				0263
000254	010216 					MOV	R2,(SP)				;					0274
000256	062716  000026 				ADD	#26,(SP)
000262	010146 					MOV	R1,-(SP)			; MB,*
000264	004767  000000G				JSR	PC,$SCQIN
000270	010216 					MOV	R2,(SP)				;					0275
000272	004767  000000G				JSR	PC,QUEAST
000276	112764  000004  000012 			MOVB	#4,12(R4)			;					0276
000304	004767  000000G				JSR	PC,$SCHED
000310	062706  000012 				ADD	#12,SP				;					0241
000314	005726 				6$:	TST	(SP)+				;					0218
000316	000207 					RTS	PC

; Routine Size:  104 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  12 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   8
X01190		System Interface				30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (4)

;	  0278	global routine SRUINW (TNB): novalue =
;	  0279	
;	  0280	!++
;	  0281	! FUNCTIONAL DESCRIPTION:
;	  0282	!	Obtain Mailbox memory to store arriving interrupt message
;	  0283	!
;	  0284	! FORMAL PARAMETERS:
;	  0285	!	TNB	The Task Networking Block address
;	  0286	!
;	  0287	! IMPLICIT INPUTS:
;	  0288	!	First CCB on the input queue
;	  0289	!
;	  0290	! IMPLICIT OUTPUTS:
;	  0291	!	None
;	  0292	!
;	  0293	! ROUTINE VALUE:
;	  0294	! COMPLETION CODES:
;	  0295	!	None
;	  0296	!
;	  0297	! SIDE EFFECTS:
;	  0298	!	None
;	  0299	!--
;	  0300	
;	  0301	    begin
;	  0302	    $scx_get_data_base (SCXDB);
;	  0303	    map TNB: ref block field (TNB_FIELDS);
;	  0304	    local
;	  0305		CCB: ref block field (C_FIELDS),
;	  0306		LCB: ref block field (LCB_FIELDS),
;	  0307		MB: ref block field (MBP_FIELDS);
;	  0308	    bind
;	  0309		QUICK_LOOK_CCB = TNB [TN_IQHD]: ref block field (C_FIELDS);
;	  0310	
;	  0311	    if not $MCB_GET_DSR (MBP_SIZE*bytes_word + .QUICK_LOOK_CCB [C_CNT], MB)
;	  0312	    then $SCX_WAIT;
;	  0313	
;	  0314	    $SCX_DEQUEUE (TNB [TN_IQUE], CCB);	! Get CCB off queue
;	  0315	    MFBF$S (.CCB [C_CNT], .CCB [C_BIAS],.CCB [C_ADDR], byt$ptr (MB [MB_DATA]));
;	  0316	    MB [MB_CNT] = .CCB [C_CNT] ;
;	  0317	    MB [MB_LLA] = .CCB [C_LIX];
;	  0318	    MB [MB_ULA] = .CCB [$sub_field (C_PRM1, LO_BYTE)];
;	  0319	    LCB = ULARD (.MB [MB_ULA]);
;	  0320	    MB [MB_LUN] = .LCB [LC_LUN];
;	  0321	    MB [MB_FNC] = MB$INT;
;	  0322	    $SCX_ENQUEUE (TNB [TN_MBXQ], .MB);	! Queue the MB
;	  0323	    QUEAST (.TNB);			! Queue the AST
;	  0324	    $SCX_DO_RCE (.CCB)
;	  0325	    end;


						.GLOBL	$MVFBF
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page   9
X01190		System Interface				30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (4)


						.SBTTL	SRUINW System Interface
000000	004167  000000G			SRUINW::JSR	R1,$SAVE5			;					0278
000004	005746 					TST	-(SP)
000006	016702  000002G				MOV	.CRDAT+2,R2			;					0301
000012	016605  000020 				MOV	20(SP),R5			; TNB,*					0309
000016	016500  000006 				MOV	6(R5),R0			;					0311
000022	016001  000022 				MOV	22(R0),R1
000026	062701  000020 				ADD	#20,R1
000032	004767  000000G				JSR	PC,$DSRGT
000036	103402 					BCS	1$
000040	010001 					MOV	R0,R1				; $MCB$R0,MB
000042	000406 					BR	2$
000044	052765  001000  000016 		1$:	BIS	#1000,16(R5)			;					0312
000052	042712  001000 				BIC	#1000,(R2)
000056	000473 					BR	3$
000060	012746  000006 			2$:	MOV	#6,-(SP)			;					0314
000064	060516 					ADD	R5,(SP)
000066	012746  000004 				MOV	#4,-(SP)
000072	060616 					ADD	SP,(SP)				; CCB,*
000074	004767  000000G				JSR	PC,$SCQRM
000100	016604  000004 				MOV	4(SP),R4			; CCB,*					0315
000104	016416  000016 				MOV	16(R4),(SP)
000110	016446  000020 				MOV	20(R4),-(SP)
000114	010102 					MOV	R1,R2				; MB,*
000116	062702  000020 				ADD	#20,R2
000122	016403  000022 				MOV	22(R4),R3
000126	004767  000000G				JSR	PC,$MVFBF
000132	016461  000022  000002 			MOV	22(R4),2(R1)			; *,*(MB)				0316
000140	012700  000006 				MOV	#6,R0				;					0317
000144	060100 					ADD	R1,R0				; MB,*
000146	116410  000010 				MOVB	10(R4),(R0)
000152	116460  000024  000001 			MOVB	24(R4),1(R0)			;					0318
000160	005016 					CLR	(SP)				;					0319
000162	116016  000001 				MOVB	1(R0),(SP)
000166	004767  000000G				JSR	PC,ULARD
000172	116061  000016  000010 			MOVB	16(R0),10(R1)			; *(LCB),*(MB)				0320
000200	112761  000002  000004 			MOVB	#2,4(R1)			; *,*(MB)				0321
000206	010516 					MOV	R5,(SP)				;					0322
000210	062716  000026 				ADD	#26,(SP)
000214	010146 					MOV	R1,-(SP)			; MB,*
000216	004767  000000G				JSR	PC,$SCQIN
000222	010516 					MOV	R5,(SP)				;					0323
000224	004767  000000G				JSR	PC,QUEAST
000230	112764  000004  000012 			MOVB	#4,12(R4)			;					0324
000236	004767  000000G				JSR	PC,$SCHED
000242	062706  000010 				ADD	#10,SP				;					0301
000246	005726 				3$:	TST	(SP)+				;					0278
000250	000207 					RTS	PC

; Routine Size:  85 words,	Routine Base:  $CODE$ + 0320
; Maximum stack depth per invocation:  12 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  10
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (5)

;	  0326	%sbttl 'User Interface';
;	  0327	global routine U$ABW (LCB): novalue =
;	  0328	
;	  0329	!++
;	  0330	! FUNCTIONAL DESCRIPTION:
;	  0331	!	Get resources to finish processing a link abort
;	  0332	!
;	  0333	! FORMAL PARAMETERS:
;	  0334	!	LCB	The link control block
;	  0335	!
;	  0336	! IMPLICIT INPUTS:
;	  0337	!	IOP contents
;	  0338	!	 I_PRM1 = Optional-data bias
;	  0339	!	 I_PRM2 = Optional-data address
;	  0340	!	 I_PRM3 = Optional-data length
;	  0341	!
;	  0342	! IMPLICIT OUTPUTS:
;	  0343	!	None
;	  0344	!
;	  0345	! ROUTINE VALUE:
;	  0346	! COMPLETION CODES:
;	  0347	!	None
;	  0348	!
;	  0349	! SIDE EFFECTS:
;	  0350	!	None
;	  0351	!--
;	  0352	
;	  0353	    begin
;	  0354	    $scx_get_data_base (SCXDB);
;	  0355	    map LCB: ref block field (LCB_FIELDS);
;	  0356	    local
;	  0357		CCB: ref block field (C_FIELDS),
;	  0358		IOP: ref block field (IOP_FIELDS);
;	  0359	    bind
;	  0360		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0361	
;	  0362	    if not CCBGT$ (CCB) then $SCX_WAIT;
;	  0363	
;	  0364	    $SCX_DEQUEUE (LCB [LC_NQUE], IOP);
;	  0365	    $SCX_DO_XME (.CCB, S$ABO, .IOP, .LCB, IOP [I_PRM1])
;	  0366	    end;


						.GLOBL	$CCBGT, DO$XME


						.SBTTL	U$ABW User Interface
000000	004167  000000G			U$ABW:: JSR	R1,$SAVE4			;					0327
000004	005746 					TST	-(SP)
000006	016700  000002G				MOV	.CRDAT+2,R0			;					0353
000012	016601  000016 				MOV	16(SP),R1			; LCB,*					0360
000016	004767  000000G				JSR	PC,$CCBGT			;					0362
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  11
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (5)

000022	103010 					BHIS	1$
000024	016102  000004 				MOV	4(R1),R2
000030	052762  001000  000016 			BIS	#1000,16(R2)
000036	042710  001000 				BIC	#1000,(R0)
000042	000425 					BR	2$
000044	010146 				1$:	MOV	R1,-(SP)			;					0364
000046	062716  000012 				ADD	#12,(SP)
000052	012746  000004 				MOV	#4,-(SP)
000056	060616 					ADD	SP,(SP)				; IOP,*
000060	004767  000000G				JSR	PC,$SCQRM
000064	012716  000022 				MOV	#22,(SP)			;					0365
000070	016646  000004 				MOV	4(SP),-(SP)			; IOP,*
000074	010146 					MOV	R1,-(SP)
000076	016646  000010 				MOV	10(SP),-(SP)			; IOP,*
000102	062716  000024 				ADD	#24,(SP)
000106	004767  000000G				JSR	PC,DO$XME
000112	062706  000012 				ADD	#12,SP				;					0353
000116	005726 				2$:	TST	(SP)+				;					0327
000120	000207 					RTS	PC

; Routine Size:  41 words,	Routine Base:  $CODE$ + 0572
; Maximum stack depth per invocation:  12 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  12
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (6)

;	  0367	global routine U$ACW (LCB): novalue =
;	  0368	
;	  0369	!++
;	  0370	! FUNCTIONAL DESCRIPTION:
;	  0371	!	Obtain resources to finish processing of link acceptance.
;	  0372	!
;	  0373	! FORMAL PARAMETERS:
;	  0374	!	LCB	The link control block
;	  0375	!
;	  0376	! IMPLICIT INPUTS:
;	  0377	!	IOP contents
;	  0378	!	 I_PRM1	Connect block bias
;	  0379	!	 I_PRM2	Connect block address
;	  0380	!	 I_PRM3	Output buffer bias
;	  0381	!	 I_PRM4	  "      "    address
;	  0382	!	 I_PRM5   "      "    length
;	  0383	!
;	  0384	! IMPLICIT OUTPUTS:
;	  0385	!	None
;	  0386	!
;	  0387	! ROUTINE VALUE:
;	  0388	! COMPLETION CODES:
;	  0389	!	None
;	  0390	!
;	  0391	! SIDE EFFECTS:
;	  0392	!	None
;	  0393	!--
;	  0394	
;	  0395	    begin
;	  0396	    $scx_get_data_base (SCXDB);
;	  0397	    map LCB: ref block field (LCB_FIELDS);
;	  0398	    local
;	  0399		CCB: ref block field (C_FIELDS),
;	  0400		IOP: ref block field (IOP_FIELDS);
;	  0401	    bind
;	  0402		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0403	
;	  0404	    if not CCBGT$ (CCB) then $SCX_WAIT;
;	  0405	
;	  0406	    $SCX_DEQUEUE (LCB [LC_OQUE], IOP);
;	  0407	    CCB [$sub_field (C_PRM1, HI_BYTE)] = S$PMSG;
;	  0408	    $SCX_DO_XME (.CCB, S$ACC, .IOP, .LCB, IOP [I_PRM3])
;	  0409	    end;


						.SBTTL	U$ACW User Interface
000000	004167  000000G			U$ACW:: JSR	R1,$SAVE4			;					0367
000004	005746 					TST	-(SP)
000006	016702  000002G				MOV	.CRDAT+2,R2			;					0395
000012	016601  000016 				MOV	16(SP),R1			; LCB,*					0402
000016	004767  000000G				JSR	PC,$CCBGT			;					0404
000022	103010 					BHIS	1$
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  13
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (6)

000024	016100  000004 				MOV	4(R1),R0
000030	052760  001000  000016 			BIS	#1000,16(R0)
000036	042712  001000 				BIC	#1000,(R2)
000042	000430 					BR	2$
000044	010146 				1$:	MOV	R1,-(SP)			;					0406
000046	062716  000006 				ADD	#6,(SP)
000052	012746  000004 				MOV	#4,-(SP)
000056	060616 					ADD	SP,(SP)				; IOP,*
000060	004767  000000G				JSR	PC,$SCQRM
000064	112764  000002  000025 			MOVB	#2,25(R4)			; *,*(CCB)				0407
000072	012716  000002 				MOV	#2,(SP)				;					0408
000076	016646  000004 				MOV	4(SP),-(SP)			; IOP,*
000102	010146 					MOV	R1,-(SP)
000104	016646  000010 				MOV	10(SP),-(SP)			; IOP,*
000110	062716  000030 				ADD	#30,(SP)
000114	004767  000000G				JSR	PC,DO$XME
000120	062706  000012 				ADD	#12,SP				;					0395
000124	005726 				2$:	TST	(SP)+				;					0367
000126	000207 					RTS	PC

; Routine Size:  44 words,	Routine Base:  $CODE$ + 0714
; Maximum stack depth per invocation:  12 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  14
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (7)

;	  0410	global routine U$ARQ (LCB): novalue =
;	  0411	
;	  0412	!++
;	  0413	! FUNCTIONAL DESCRIPTION:
;	  0414	!	Obtain resources to verify link abort
;	  0415	!
;	  0416	! FORMAL PARAMETERS:
;	  0417	!	LCB	LCB address
;	  0418	!
;	  0419	! IMPLICIT INPUTS:
;	  0420	!	None
;	  0421	!
;	  0422	! IMPLICIT OUTPUTS:
;	  0423	!	None
;	  0424	!
;	  0425	! ROUTINE VALUE:
;	  0426	! COMPLETION CODES:
;	  0427	!	None
;	  0428	!
;	  0429	! SIDE EFFECTS:
;	  0430	!	None
;	  0431	!--
;	  0432	
;	  0433	    begin
;	  0434	    $scx_get_data_base (SCXDB);
;	  0435	    map LCB: ref block field (LCB_FIELDS);
;	  0436	    local
;	  0437		CCB: ref block field (C_FIELDS);
;	  0438	    bind
;	  0439		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0440	
;	  0441	    if not CCBGT$ (CCB) then (LCB [LCF_ARES] = true; $SCX_WAIT);
;	  0442	
;	  0443	    CCB [C_ADDR] = CCB [C_CNT] = CCB [C_PRM5] = 0;
;	  0444	    $SCX_DO_XME (.CCB, S$ABO, 0, .LCB, 0)
;	  0445	    end;


						.SBTTL	U$ARQ User Interface
000000	004167  000000G			U$ARQ:: JSR	R1,$SAVE4			;					0410
000004	016702  000002G				MOV	.CRDAT+2,R2			;					0433
000010	016601  000014 				MOV	14(SP),R1			; LCB,*					0439
000014	004767  000000G				JSR	PC,$CCBGT			;					0441
000020	103013 					BHIS	1$
000022	052761  002000  000016 			BIS	#2000,16(R1)
000030	016100  000004 				MOV	4(R1),R0
000034	052760  001000  000016 			BIS	#1000,16(R0)
000042	042712  001000 				BIC	#1000,(R2)
000046	000207 					RTS	PC
000050	005064  000034 			1$:	CLR	34(R4)				; *(CCB)				0443
000054	005064  000022 				CLR	22(R4)				; *(CCB)
000060	005064  000020 				CLR	20(R4)				; *(CCB)
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  15
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (7)

000064	012746  000022 				MOV	#22,-(SP)			;					0444
000070	005046 					CLR	-(SP)
000072	010146 					MOV	R1,-(SP)
000074	005046 					CLR	-(SP)
000076	004767  000000G				JSR	PC,DO$XME
000102	062706  000010 				ADD	#10,SP				;					0433
000106	000207 					RTS	PC				;					0410

; Routine Size:  36 words,	Routine Base:  $CODE$ + 1044
; Maximum stack depth per invocation:  10 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  16
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (8)

;	  0446	global routine U$CLW (TNB): novalue =
;	  0447	
;	  0448	!++
;	  0449	! FUNCTIONAL DESCRIPTION:
;	  0450	!	Obtain resources to complete network close.
;	  0451	!
;	  0452	! FORMAL PARAMETERS:
;	  0453	!	TNB	The task networking block address
;	  0454	!
;	  0455	! IMPLICIT INPUTS:
;	  0456	!	IOP contents
;	  0457	!
;	  0458	! IMPLICIT OUTPUTS:
;	  0459	!	None
;	  0460	!
;	  0461	! ROUTINE VALUE:
;	  0462	! COMPLETION CODES:
;	  0463	!	None
;	  0464	!
;	  0465	! SIDE EFFECTS:
;	  0466	!	None
;	  0467	!--
;	  0468	
;	  0469	    begin
;	  0470	    $scx_get_data_base (SCXDB);
;	  0471	    external
;	  0472		$HEADR: ref block field (HDR_FIELDS);	!!**** Problems here
;	  0473							! This may not be set up
;	  0474	    map TNB: ref block field (TNB_FIELDS);
;	  0475	    local
;	  0476		MB: ref block field (MBP_FIELDS),
;	  0477		IOP: ref block field (IOP_FIELDS),
;	  0478		LIOP: ref block field (IOP_FIELDS),
;	  0479		CCB: ref block field (C_FIELDS),
;	  0480		LCB: ref block field (LCB_FIELDS);
;	  0481	
;	  0482	    if .TNB [TN_LCB] neq 0
;	  0483	    then
;	  0484		! ** Abort all links
;	  0485		begin
;	  0486		LCB = TNB [TN_LCB];		! Scan all LCBs
;	  0487		while (LCB = .LCB [LC_LINK]) neq 0 do
;	  0488		    begin
;	  0489		    if not .LCB [LCF_CLS]	! Abort already started ?
;	  0490		    then
;	  0491			begin
;	  0492			LCB [LCF_ARES] = false;		! Assure this flag is cleared
;	  0493			U$ARQ (.LCB);			! Initiate the abort
;	  0494			if .LCB [LCF_ARES]		! Did we get it ?
;	  0495			then exitloop			!  No, so quit banging
;	  0496			else LCB [LCF_CLS] = true	!  Yes, mark it
;	  0497			end
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  17
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (8)

;	  0498		    end
;	  0499		end
;	  0500	    else
;	  0501		! ** All links are aborted
;	  0502		begin
;	  0503		local
;	  0504		    THIS_TNB: ref block field (TNB_FIELDS),
;	  0505		    PREV_TNB: ref block field (TNB_FIELDS);
;	  0506	
;	  0507		THIS_TNB = SCXDB [SCX_TNB];		! Find our TNB in list
;	  0508		while (PREV_TNB = .THIS_TNB; THIS_TNB = .THIS_TNB [TN_LINK]) neq 0 do
;	  0509		    begin
;	  0510		    if .THIS_TNB eql .TNB then exitloop
;	  0511		    end;
;	  0512	
;	  0513		if .THIS_TNB eql 0 then SIGNAL_STOP (SCX$_ILE);
;	  0514		PREV_TNB [TN_LINK] = .TNB [TN_LINK];	! Unlink our TNB
;	  0515		$HEADR [H_NML] = 0;			! No more networking LUN
;	  0516		$SCX_DEQUEUE (TNB [TN_OQHD], IOP);	! Get IOP we are processing
;	  0517		.(IOP [I_LN2]) = 0;			! Kill the LUN
;	  0518	
;	  0519		! ** Flush the queues
;	  0520		while $SCX_DEQUEUE (TNB [TN_IQHD], CCB) do $SCX_DO_RCE (.CCB);
;	  0521		while $SCX_DEQUEUE (TNB [TN_OQHD], LIOP) do IOFIN$ (.SCXDB [SCX_UCB], .LIOP, IE_ABO, 0);
;	  0522		while $SCX_DEQUEUE (TNB [TN_MBXQ], MB) do $MCB_RETURN_DSR (MBP_SIZE*bytes_word + .MB [MB_CNT], .MB);
;	  0523		IOFIN$ (.SCXDB [SCX_UCB], .IOP, IS_SUC, 0)
;	  0524		end
;	  0525	    end;


						.GLOBL	$HEADR, $IOFIN, $DSRRT


						.SBTTL	U$CLW User Interface
000000	004167  000000G			U$CLW:: JSR	R1,$SAVE5			;					0446
000004	162706  000012 				SUB	#12,SP
000010	016746  000002G				MOV	.CRDAT+2,-(SP)			;					0469
000014	016646  000032 				MOV	32(SP),-(SP)			; TNB,*					0482
000020	012701  000004 				MOV	#4,R1
000024	061601 					ADD	(SP),R1
000026	010100 					MOV	R1,R0
000030	005710 					TST	(R0)
000032	001426 					BEQ	4$
000034	011101 				1$:	MOV	(R1),R1				; LCB,LCB				0487
000036	001417 					BEQ	2$
000040	012702  000016 				MOV	#16,R2				;					0489
000044	060102 					ADD	R1,R2				; LCB,*
000046	032712  000400 				BIT	#400,(R2)
000052	001370 					BNE	1$
000054	042712  002000 				BIC	#2000,(R2)			;					0492
000060	010146 					MOV	R1,-(SP)			; LCB,*					0493
000062	004767  177602 				JSR	PC,U$ARQ
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  18
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (8)

000066	032712  002000 				BIT	#2000,(R2)			;					0494
000072	001402 					BEQ	3$
000074	005726 					TST	(SP)+				;					0495
000076	000576 				2$:	BR	13$
000100	052712  000400 			3$:	BIS	#400,(R2)			;					0496
000104	005726 					TST	(SP)+				;					0491
000106	000752 					BR	1$				;					0487
000110	016600  000002 			4$:	MOV	2(SP),R0			; *,THIS.TNB				0507
000114	062700  000006 				ADD	#6,R0				; *,THIS.TNB
000120	010001 				5$:	MOV	R0,R1				; THIS.TNB,PREV.TNB			0508
000122	011000 					MOV	(R0),R0				; THIS.TNB,THIS.TNB
000124	001404 					BEQ	6$
000126	020016 					CMP	R0,(SP)				; THIS.TNB,*				0510
000130	001373 					BNE	5$
000132	005700 					TST	R0				; THIS.TNB				0513
000134	001007 					BNE	7$
000136	012746  100004 			6$:	MOV	#-77774,-(SP)
000142	012746  000001 				MOV	#1,-(SP)
000146	004767  000000G				JSR	PC,$STOP
000152	022626 					CMP	(SP)+,(SP)+
000154	017611  000000 			7$:	MOV	@0(SP),(R1)			; *,PREV.TNB				0514
000160	016700  000000G				MOV	$HEADR,R0			;					0515
000164	105060  000061 				CLRB	61(R0)
000170	012700  000012 				MOV	#12,R0				;					0516
000174	061600 					ADD	(SP),R0
000176	010066  000004 				MOV	R0,4(SP)
000202	010046 					MOV	R0,-(SP)
000204	012746  000020 				MOV	#20,-(SP)
000210	060616 					ADD	SP,(SP)				; IOP,*
000212	004767  000000G				JSR	PC,$SCQRM
000216	016600  000020 				MOV	20(SP),R0			; IOP,*					0517
000222	005070  000006 				CLR	@6(R0)
000226	012700  000006 				MOV	#6,R0				;					0520
000232	066600  000004 				ADD	4(SP),R0
000236	010001 					MOV	R0,R1
000240	010116 				8$:	MOV	R1,(SP)
000242	012746  000020 				MOV	#20,-(SP)
000246	060616 					ADD	SP,(SP)				; CCB,*
000250	004767  000000G				JSR	PC,$SCQRM
000254	005726 					TST	(SP)+
000256	032700  000001 				BIT	#1,R0
000262	001411 					BEQ	9$
000264	016600  000016 				MOV	16(SP),R0			; CCB,*
000270	112760  000004  000012 			MOVB	#4,12(R0)
000276	010004 					MOV	R0,R4				; CCB,*
000300	004767  000000G				JSR	PC,$SCHED
000304	000755 					BR	8$
000306	016616  000010 			9$:	MOV	10(SP),(SP)			;					0521
000312	012746  000016 				MOV	#16,-(SP)
000316	060616 					ADD	SP,(SP)				; LIOP,*
000320	004767  000000G				JSR	PC,$SCQRM
000324	005726 					TST	(SP)+
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  19
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (8)

000326	032700  000001 				BIT	#1,R0
000332	001414 					BEQ	10$
000334	016602  000006 				MOV	6(SP),R2
000340	016205  000004 				MOV	4(R2),R5
000344	016603  000014 				MOV	14(SP),R3			; LIOP,*
000350	012700  177761 				MOV	#-17,R0
000354	005001 					CLR	R1
000356	004767  000000G				JSR	PC,$IOFIN
000362	000751 					BR	9$
000364	012700  000026 			10$:	MOV	#26,R0				;					0522
000370	066600  000004 				ADD	4(SP),R0
000374	010002 					MOV	R0,R2
000376	010216 				11$:	MOV	R2,(SP)
000400	012746  000014 				MOV	#14,-(SP)
000404	060616 					ADD	SP,(SP)				; MB,*
000406	004767  000000G				JSR	PC,$SCQRM
000412	005726 					TST	(SP)+
000414	032700  000001 				BIT	#1,R0
000420	001411 					BEQ	12$
000422	016600  000012 				MOV	12(SP),R0			; MB,*
000426	016001  000002 				MOV	2(R0),R1
000432	062701  000020 				ADD	#20,R1
000436	004767  000000G				JSR	PC,$DSRRT
000442	000755 					BR	11$
000444	016602  000006 			12$:	MOV	6(SP),R2			;					0523
000450	016205  000004 				MOV	4(R2),R5
000454	016603  000020 				MOV	20(SP),R3			; IOP,*
000460	012700  000001 				MOV	#1,R0
000464	005001 					CLR	R1
000466	004767  000000G				JSR	PC,$IOFIN
000472	022626 					CMP	(SP)+,(SP)+			;					0502
000474	062706  000016 			13$:	ADD	#16,SP				;					0446
000500	000207 					RTS	PC

; Routine Size:  161 words,	Routine Base:  $CODE$ + 1154
; Maximum stack depth per invocation:  17 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  20
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (9)

;	  0526	global routine U$CNW (LCB): novalue =
;	  0527	
;	  0528	!++
;	  0529	! FUNCTIONAL DESCRIPTION:
;	  0530	!	Obtain resources to complete connect processing
;	  0531	!
;	  0532	! FORMAL PARAMETERS:
;	  0533	!	LCB	LCB address
;	  0534	!
;	  0535	! IMPLICIT INPUTS:
;	  0536	!	IOP contents
;	  0537	!	 I_PRM1	Connect block bias
;	  0538	!	 I_PRM2	Connect block address
;	  0539	!	 I_PRM3	Output buffer bias
;	  0540	!	 I_PRM4	  "      "    address
;	  0541	!	 I_PRM5   "      "    length
;	  0542	!	 I_PRM6	Input buffer bias
;	  0543	!	 I_PRM7	  "     "    address
;	  0544	!	 I_PRM8	  "     "    length
;	  0545	!
;	  0546	! IMPLICIT OUTPUTS:
;	  0547	!	None
;	  0548	!
;	  0549	! ROUTINE VALUE:
;	  0550	! COMPLETION CODES:
;	  0551	!	None
;	  0552	!
;	  0553	! SIDE EFFECTS:
;	  0554	!	None
;	  0555	!--
;	  0556	
;	  0557	    begin
;	  0558	    $scx_get_data_base (SCXDB);
;	  0559	    map LCB: ref block field (LCB_FIELDS);
;	  0560	    local
;	  0561		CNT,
;	  0562		PTR,
;	  0563		CB: ref block field (CB_FIELDS),
;	  0564		CBU: ref block field (CBU_FIELDS),
;	  0565		CCB: ref block field (C_FIELDS),
;	  0566		IOP: ref block field (IOP_FIELDS),
;	  0567		TCB: ref block field (TCB_FIELDS);
;	  0568	    bind
;	  0569		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0570	    literal
;	  0571		CB_L1 = (%fieldexpand (CB_SFMT, 0) - %fieldexpand (CB_NODE, 0)) * bytes_word,
;	  0572		CB_L2 = (%fieldexpand (CB_OPDL, 0) - %fieldexpand (CB_RQDL, 0)) * bytes_word;
;	  0573	
;	  0574	    if
;	  0575		begin
;	  0576		if CCBGT$( CCB) then true else false
;	  0577		end
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  21
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (9)

;	  0578		and
;	  0579		begin
;	  0580		if $MCB_GET_DSR( DSR_CONNECT_BLOCK_SIZE, CCB[C_ADDR])
;	  0581		then true 
;	  0582		else 
;	  0583			begin
;	  0584			CCBRT$( .CCB);
;	  0585			false
;	  0586			end
;	  0587		end
;	  0588	    then
;	  0589		CCB[C_BIAS] = 0
;	  0590	    else
;	  0591		$SCX_WAIT;
;	  0592	
;	  0593	    CB = .CCB [C_ADDR];
;	  0594	    $SCX_DEQUEUE (LCB [LC_OQUE], IOP);
;	  0595	    CBU = .IOP [I_PRM2];
;	  0596	    TCB = .IOP [I_TCB];
;	  0597	
;	  0598	    CCB [$sub_field (C_PRM1, HI_BYTE)] = S$PMSG;
;	  0599	    CCB [C_PRM2] = .IOP [I_PRM6];		! Input buffer bias
;	  0600	    CCB [C_PRM3] = .IOP [I_PRM7];		!   "     "    address
;	  0601	    CCB [C_PRM4] = .IOP [I_PRM8];		!   "     "    length
;	  0602	
;	  0603	    ! ** Now build connect block
;	  0604	    CCB [C_CNT] = CB_SIZE*bytes_word;
;	  0605	    MAP$ (.IOP [I_PRM1]);
;	  0606	    MTBF$S (CB_L1, CBU [CBU_NODE], .CCB [C_BIAS], byt$ptr (CB [CB_NODE]));
;	  0607	    MTBF$S (CB_L2, CBU [CBU_RQDL], .CCB [C_BIAS], byt$ptr (CB [CB_RQDL]));
;	  0608	    MAP$ (.IOP [I_PRM3]);
;	  0609	    MTBF$S (.IOP [I_PRM5], .IOP [I_PRM4], .CCB [C_BIAS], byt$ptr (CB [CB_OPTD]));
;	  0610	    MAP$ (.CCB [C_BIAS]);
;	  0611	    CB [CB_OPDL] = .IOP [I_PRM5];
;	  0612	    CB [CB_SFMT] = 1;
;	  0613	    CB [CB_SOBJ] = 0;
;	  0614	
;	  0615	    CNT = 0;
;	  0616	    PTR = byt$ptr (CB [CB_SPR1]);
;	L 0617	    %if %bliss (bliss36)
;	U 0618	    %then
;	U 0619		$C5TA (.TCB [T_NAM], PTR, CNT);
;	  0620	    %else
;	  0621		$C5TA (.TCB [T_NM1], PTR, CNT);
;	  0622		if .TCB [T_NM2] neq 0 then $C5TA (.TCB [T_NM2], PTR, CNT);
;	  0623	    %fi
;	  0624	    CB [CB_SPL1] = .CNT;
;	  0625	    $SCX_DO_XME (.CCB, S$CON, .IOP, .LCB, 0)
;	  0626	    end;


						.GLOBL	$CCBRT, $MVTBF
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  22
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (9)



						.SBTTL	U$CNW User Interface
000000	004167  000000G			U$CNW:: JSR	R1,$SAVE5			;					0526
000004	162706  000014 				SUB	#14,SP
000010	016702  000002G				MOV	.CRDAT+2,R2			;					0557
000014	016666  000032  000002 			MOV	32(SP),2(SP)			; LCB,*					0569
000022	004767  000000G				JSR	PC,$CCBGT			;					0576
000026	103426 					BCS	3$
000030	010466  000004 				MOV	R4,4(SP)			; $MCB$R4,CCB
000034	012701  000156 				MOV	#156,R1				;					0580
000040	004767  000000G				JSR	PC,$DSRGT
000044	103405 					BCS	1$
000046	016601  000004 				MOV	4(SP),R1			; CCB,*
000052	010061  000020 				MOV	R0,20(R1)			; $MCB$R0,*(CCB)
000056	000405 					BR	2$
000060	016604  000004 			1$:	MOV	4(SP),R4			; CCB,*					0584
000064	004767  000000G				JSR	PC,$CCBRT
000070	000405 					BR	3$				;					0583
000072	016600  000004 			2$:	MOV	4(SP),R0			; CCB,*					0589
000076	005060  000016 				CLR	16(R0)				; *(CCB)
000102	000413 					BR	4$				;					0574
000104	016601  000002 			3$:	MOV	2(SP),R1			;					0590
000110	016100  000004 				MOV	4(R1),R0
000114	052760  001000  000016 			BIS	#1000,16(R0)
000122	042712  001000 				BIC	#1000,(R2)
000126	000167  000404 				JMP	6$
000132	016600  000004 			4$:	MOV	4(SP),R0			; CCB,*					0593
000136	016001  000020 				MOV	20(R0),R1			; *(CCB),CB
000142	016646  000002 				MOV	2(SP),-(SP)			;					0594
000146	062716  000006 				ADD	#6,(SP)
000152	012746  000016 				MOV	#16,-(SP)
000156	060616 					ADD	SP,(SP)				; IOP,*
000160	004767  000000G				JSR	PC,$SCQRM
000164	016604  000016 				MOV	16(SP),R4			; IOP,*					0595
000170	016466  000026  000004 			MOV	26(R4),4(SP)			; *,CBU
000176	016405  000004 				MOV	4(R4),R5			; *,TCB					0596
000202	016600  000010 				MOV	10(SP),R0			; CCB,*					0598
000206	112760  000002  000025 			MOVB	#2,25(R0)			; *,*(CCB)
000214	016460  000036  000026 			MOV	36(R4),26(R0)			; *,*(CCB)				0599
000222	016460  000040  000030 			MOV	40(R4),30(R0)			; *,*(CCB)				0600
000230	016460  000042  000032 			MOV	42(R4),32(R0)			; *,*(CCB)				0601
000236	012760  000156  000022 			MOV	#156,22(R0)			; *,*(CCB)				0604
000244	016467  000024  000000G			MOV	24(R4),KISAR6			;					0605
000252	010002 					MOV	R0,R2				; CCB,*					0606
000254	016200  000016 				MOV	16(R2),R0			; *(CCB),*
000260	010016 					MOV	R0,(SP)
000262	010146 					MOV	R1,-(SP)			; CB,*
000264	016602  000006 				MOV	6(SP),R2			; CBU,*
000270	012703  000032 				MOV	#32,R3
000274	004767  000000G				JSR	PC,$MVTBF
000300	010016 					MOV	R0,(SP)				;					0607
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  23
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (9)

000302	010146 					MOV	R1,-(SP)			; CB,*
000304	062716  000056 				ADD	#56,(SP)
000310	016602  000010 				MOV	10(SP),R2			; CBU,*
000314	062702  000032 				ADD	#32,R2
000320	012703  000056 				MOV	#56,R3
000324	004767  000000G				JSR	PC,$MVTBF
000330	016467  000030  000000G			MOV	30(R4),KISAR6			;					0608
000336	010016 					MOV	R0,(SP)				;					0609
000340	010146 					MOV	R1,-(SP)			; CB,*
000342	062716  000136 				ADD	#136,(SP)
000346	016402  000032 				MOV	32(R4),R2
000352	016403  000034 				MOV	34(R4),R3
000356	004767  000000G				JSR	PC,$MVTBF
000362	010067  000000G				MOV	R0,KISAR6			;					0610
000366	016461  000034  000134 			MOV	34(R4),134(R1)			; *,*(CB)				0611
000374	112761  000001  000032 			MOVB	#1,32(R1)			; *,*(CB)				0612
000402	105061  000033 				CLRB	33(R1)				; *(CB)					0613
000406	005066  000020 				CLR	20(SP)				; CNT					0615
000412	010166  000022 				MOV	R1,22(SP)			; CB,PTR				0616
000416	062766  000036  000022 			ADD	#36,22(SP)			; *,PTR
000424	016516  000006 				MOV	6(R5),(SP)			; *(TCB),*				0621
000430	012746  000024 				MOV	#24,-(SP)
000434	060616 					ADD	SP,(SP)				; PTR,*
000436	012746  000024 				MOV	#24,-(SP)
000442	060616 					ADD	SP,(SP)				; CNT,*
000444	004767  000000G				JSR	PC,$C5TA
000450	016500  000010 				MOV	10(R5),R0			; *(TCB),*				0622
000454	001412 					BEQ	5$
000456	010016 					MOV	R0,(SP)
000460	012746  000030 				MOV	#30,-(SP)
000464	060616 					ADD	SP,(SP)				; PTR,*
000466	012746  000030 				MOV	#30,-(SP)
000472	060616 					ADD	SP,(SP)				; CNT,*
000474	004767  000000G				JSR	PC,$C5TA
000500	022626 					CMP	(SP)+,(SP)+
000502	016661  000024  000034 		5$:	MOV	24(SP),34(R1)			; CNT,*(CB)				0624
000510	005016 					CLR	(SP)				;					0625
000512	010446 					MOV	R4,-(SP)
000514	016646  000022 				MOV	22(SP),-(SP)
000520	005046 					CLR	-(SP)
000522	016604  000030 				MOV	30(SP),R4			; CCB,*
000526	004767  000000G				JSR	PC,DO$XME
000532	062706  000024 				ADD	#24,SP				;					0557
000536	062706  000014 			6$:	ADD	#14,SP				;					0526
000542	000207 					RTS	PC

; Routine Size:  178 words,	Routine Base:  $CODE$ + 1656
; Maximum stack depth per invocation:  23 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  24
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (10)

;	  0627	global routine U$DSW (LCB): novalue =
;	  0628	
;	  0629	!++
;	  0630	! FUNCTIONAL DESCRIPTION:
;	  0631	!	Get resources to finish processing a link disconnect.
;	  0632	!
;	  0633	! FORMAL PARAMETERS:
;	  0634	!	LCB	The link control block
;	  0635	!
;	  0636	! IMPLICIT INPUTS:
;	  0637	!	IOP contents
;	  0638	!	 I_PRM1 = Optional-data bias
;	  0639	!	 I_PRM2 = Optional-data address
;	  0640	!	 I_PRM3 = Optional-data length
;	  0641	!
;	  0642	! IMPLICIT OUTPUTS:
;	  0643	!	None
;	  0644	!
;	  0645	! ROUTINE VALUE:
;	  0646	! COMPLETION CODES:
;	  0647	!	None
;	  0648	!
;	  0649	! SIDE EFFECTS:
;	  0650	!	None
;	  0651	!--
;	  0652	
;	  0653	    begin
;	  0654	    $scx_get_data_base (SCXDB);
;	  0655	    map LCB: ref block field (LCB_FIELDS);
;	  0656	    local
;	  0657		CCB: ref block field (C_FIELDS),
;	  0658		IOP: ref block field (IOP_FIELDS);
;	  0659	    bind
;	  0660		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0661	
;	  0662	    if not CCBGT$ (CCB) then $SCX_WAIT;
;	  0663	
;	  0664	    $SCX_DEQUEUE (LCB [LC_OQUE], IOP);
;	  0665	    $SCX_DO_XME (.CCB, S$DIS, .IOP, .LCB, IOP [I_PRM1])
;	  0666	    end;


						.SBTTL	U$DSW User Interface
000000	004167  000000G			U$DSW:: JSR	R1,$SAVE4			;					0627
000004	005746 					TST	-(SP)
000006	016700  000002G				MOV	.CRDAT+2,R0			;					0653
000012	016601  000016 				MOV	16(SP),R1			; LCB,*					0660
000016	004767  000000G				JSR	PC,$CCBGT			;					0662
000022	103010 					BHIS	1$
000024	016102  000004 				MOV	4(R1),R2
000030	052762  001000  000016 			BIS	#1000,16(R2)
000036	042710  001000 				BIC	#1000,(R0)
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  25
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (10)

000042	000425 					BR	2$
000044	010146 				1$:	MOV	R1,-(SP)			;					0664
000046	062716  000006 				ADD	#6,(SP)
000052	012746  000004 				MOV	#4,-(SP)
000056	060616 					ADD	SP,(SP)				; IOP,*
000060	004767  000000G				JSR	PC,$SCQRM
000064	012716  000020 				MOV	#20,(SP)			;					0665
000070	016646  000004 				MOV	4(SP),-(SP)			; IOP,*
000074	010146 					MOV	R1,-(SP)
000076	016646  000010 				MOV	10(SP),-(SP)			; IOP,*
000102	062716  000024 				ADD	#24,(SP)
000106	004767  000000G				JSR	PC,DO$XME
000112	062706  000012 				ADD	#12,SP				;					0653
000116	005726 				2$:	TST	(SP)+				;					0627
000120	000207 					RTS	PC

; Routine Size:  41 words,	Routine Base:  $CODE$ + 2422
; Maximum stack depth per invocation:  12 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  26
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (11)

;	  0667	global routine U$GLW (TNB): novalue =
;	  0668	
;	  0669	!++
;	  0670	! FUNCTIONAL DESCRIPTION:
;	  0671	!	Obtain resources to complete "Get-Local-Node-Information"
;	  0672	!
;	  0673	! FORMAL PARAMETERS:
;	  0674	!	TNB	The task networking block address
;	  0675	!
;	  0676	! IMPLICIT INPUTS:
;	  0677	!	IOP contents
;	  0678	!	 I_PRM1 = Buffer bias
;	  0679	!	 I_PRM2 = Buffer address
;	  0680	!	 I_PRM3 = Buffer length
;	  0681	!	 I_PRM4 = Option selector
;	  0682	!
;	  0683	! IMPLICIT OUTPUTS:
;	  0684	!	None
;	  0685	!
;	  0686	! ROUTINE VALUE:
;	  0687	! COMPLETION CODES:
;	  0688	!	None
;	  0689	!
;	  0690	! SIDE EFFECTS:
;	  0691	!	None
;	  0692	!--
;	  0693	
;	  0694	    begin
;	  0695	    $scx_get_data_base (SCXDB);
;	  0696	    map TNB: ref block field (TNB_FIELDS);
;	  0697	    local
;	  0698		CCB: ref block field (C_FIELDS),
;	  0699		IOP: ref block field (IOP_FIELDS);
;	  0700	
;	  0701	    if not CCBGT$ (CCB) then $SCX_WAIT;
;	  0702	
;	  0703	    $SCX_DEQUEUE (TNB [TN_OQUE], IOP);
;	  0704	    CCB [C_PRM1] = .IOP [I_PRM4];
;	  0705	    $SCX_DO_XME (.CCB, S$GLN, .IOP, 0, IOP [I_PRM1])
;	  0706	    end;


						.SBTTL	U$GLW User Interface
000000	004167  000000G			U$GLW:: JSR	R1,$SAVE4			;					0667
000004	005746 					TST	-(SP)
000006	016701  000002G				MOV	.CRDAT+2,R1			;					0694
000012	004767  000000G				JSR	PC,$CCBGT			;					0701
000016	103010 					BHIS	1$
000020	016600  000016 				MOV	16(SP),R0			; TNB,*
000024	052760  001000  000016 			BIS	#1000,16(R0)
000032	042711  001000 				BIC	#1000,(R1)
000036	000431 					BR	2$
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  27
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (11)

000040	016646  000016 			1$:	MOV	16(SP),-(SP)			; TNB,*					0703
000044	062716  000012 				ADD	#12,(SP)
000050	012746  000004 				MOV	#4,-(SP)
000054	060616 					ADD	SP,(SP)				; IOP,*
000056	004767  000000G				JSR	PC,$SCQRM
000062	016600  000004 				MOV	4(SP),R0			; IOP,*					0704
000066	016064  000032  000024 			MOV	32(R0),24(R4)			; *,*(CCB)
000074	012716  000024 				MOV	#24,(SP)			;					0705
000100	010046 					MOV	R0,-(SP)
000102	005046 					CLR	-(SP)
000104	012746  000024 				MOV	#24,-(SP)
000110	060016 					ADD	R0,(SP)
000112	004767  000000G				JSR	PC,DO$XME
000116	062706  000012 				ADD	#12,SP				;					0694
000122	005726 				2$:	TST	(SP)+				;					0667
000124	000207 					RTS	PC

; Routine Size:  43 words,	Routine Base:  $CODE$ + 2544
; Maximum stack depth per invocation:  12 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  28
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (12)

;	  0707	global routine U$IO (LCB): novalue =
;	  0708	
;	  0709	!++
;	  0710	! FUNCTIONAL DESCRIPTION:	U$RCW & U$SNW & U$XMW
;	  0711	!	Obtain resources to queue a send/receive buffer to SC
;	  0712	!
;	  0713	! FORMAL PARAMETERS:
;	  0714	!	LCB	LCB address
;	  0715	!
;	  0716	! IMPLICIT INPUTS:
;	  0717	!	IOP Contents
;	  0718	!	 I_PRM1 = Buffer bias
;	  0719	!	 I_PRM2 = Buffer address
;	  0720	!	 I_PRM3 = Buffer length
;	  0721	!
;	  0722	! IMPLICIT OUTPUTS:
;	  0723	!	None
;	  0724	!
;	  0725	! ROUTINE VALUE:
;	  0726	! COMPLETION CODES:
;	  0727	!	None
;	  0728	!
;	  0729	! SIDE EFFECTS:
;	  0730	!	None
;	  0731	!--
;	  0732	
;	  0733	    begin
;	  0734	    $scx_get_data_base (SCXDB);
;	  0735	    map LCB: ref block field (LCB_FIELDS);
;	  0736	    local
;	  0737		CCB: ref block field (C_FIELDS),
;	  0738		IOP: ref block field (IOP_FIELDS);
;	  0739	    bind
;	  0740		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0741	    label
;	  0742		IO_SELECT;
;	  0743	
;	  0744	    if not CCBGT$ (CCB) then $SCX_WAIT;
;	  0745	
;	  0746	    IO_SELECT:
;	  0747		begin
;	  0748		if (IOP = .LCB [LC_NQUE]) neq 0
;	  0749		then
;	  0750		    begin
;	  0751		    if .IOP [I_FNC] eql IOP_XMT
;	  0752		    then
;	  0753			begin
;	  0754			$SCX_DEQUEUE (LCB [LC_NQUE], CCB [C_PRM5]);
;	  0755			CCB [C_MOD] = S$SNI;
;	  0756			leave IO_SELECT
;	  0757			end
;	  0758		    end;
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  29
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (12)

;	  0759	
;	  0760		if (IOP = .LCB [LC_OQUE]) neq 0
;	  0761		then
;	  0762		    begin
;	  0763		    if .IOP [I_FNC] eql IOP_XMT
;	  0764		    then
;	  0765			begin
;	  0766			$SCX_DEQUEUE (LCB [LC_OQUE], CCB [C_PRM5]);
;	  0767			CCB [C_MOD] = S$SND;
;	  0768			CCB [$sub_field (C_PRM1, HI_BYTE)] = S$PEOM;
;	  0769			leave IO_SELECT
;	  0770			end
;	  0771		    end;
;	  0772	
;	  0773		if (IOP = .LCB [LC_OQUE]) neq 0
;	  0774		then
;	  0775		    begin
;	  0776		    if .IOP [I_FNC] eql IOP_RCV
;	  0777		    then
;	  0778			begin
;	  0779			$SCX_DEQUEUE (LCB [LC_OQUE], CCB [C_PRM5]);
;	  0780			CCB [C_MOD] = S$MRQ;
;	  0781			leave IO_SELECT
;	  0782			end
;	  0783		    end
;	  0784		end;
;	  0785	
;	  0786	    $SCX_DO_XME (.CCB, .CCB [C_MOD], .CCB [C_PRM5], .LCB, IOP [I_PRM1])
;	  0787	    end;


						.SBTTL	U$IO User Interface
000000	004167  000000G			U$IO::	JSR	R1,$SAVE4			;					0707
000004	016700  000002G				MOV	.CRDAT+2,R0			;					0733
000010	016602  000014 				MOV	14(SP),R2			; LCB,*					0740
000014	004767  000000G				JSR	PC,$CCBGT			;					0744
000020	103010 					BHIS	1$
000022	016201  000004 				MOV	4(R2),R1
000026	052761  001000  000016 			BIS	#1000,16(R1)
000034	042710  001000 				BIC	#1000,(R0)
000040	000207 					RTS	PC
000042	016201  000012 			1$:	MOV	12(R2),R1			; *,IOP					0748
000046	001420 					BEQ	2$
000050	126127  000013  000031 			CMPB	13(R1),#31			; *(IOP),*				0751
000056	001014 					BNE	2$
000060	012746  000012 				MOV	#12,-(SP)			;					0754
000064	060216 					ADD	R2,(SP)
000066	010446 					MOV	R4,-(SP)			; CCB,*
000070	062716  000034 				ADD	#34,(SP)
000074	004767  000000G				JSR	PC,$SCQRM
000100	112764  000014  000013 			MOVB	#14,13(R4)			; *,*(CCB)				0755
000106	000445 					BR	4$				;					0756
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  30
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (12)

000110	012703  000006 			2$:	MOV	#6,R3				;					0760
000114	060203 					ADD	R2,R3
000116	011301 					MOV	(R3),R1				; *,IOP
000120	001421 					BEQ	3$
000122	126127  000013  000031 			CMPB	13(R1),#31			; *(IOP),*				0763
000130	001015 					BNE	3$
000132	010346 					MOV	R3,-(SP)			;					0766
000134	010446 					MOV	R4,-(SP)			; CCB,*
000136	062716  000034 				ADD	#34,(SP)
000142	004767  000000G				JSR	PC,$SCQRM
000146	112764  000006  000013 			MOVB	#6,13(R4)			; *,*(CCB)				0767
000154	112764  000004  000025 			MOVB	#4,25(R4)			; *,*(CCB)				0768
000162	000417 					BR	4$				;					0769
000164	011301 				3$:	MOV	(R3),R1				; *,IOP					0773
000166	001416 					BEQ	5$
000170	126127  000013  000032 			CMPB	13(R1),#32			; *(IOP),*				0776
000176	001012 					BNE	5$
000200	010346 					MOV	R3,-(SP)			;					0779
000202	010446 					MOV	R4,-(SP)			; CCB,*
000204	062716  000034 				ADD	#34,(SP)
000210	004767  000000G				JSR	PC,$SCQRM
000214	112764  000010  000013 			MOVB	#10,13(R4)			; *,*(CCB)				0780
000222	022626 				4$:	CMP	(SP)+,(SP)+			;					0781
000224	005046 				5$:	CLR	-(SP)				;					0786
000226	116416  000013 				MOVB	13(R4),(SP)			; *(CCB),*
000232	016446  000034 				MOV	34(R4),-(SP)			; *(CCB),*
000236	010246 					MOV	R2,-(SP)
000240	010146 					MOV	R1,-(SP)			; IOP,*
000242	062716  000024 				ADD	#24,(SP)
000246	004767  000000G				JSR	PC,DO$XME
000252	062706  000010 				ADD	#10,SP				;					0733
000256	000207 					RTS	PC				;					0707

; Routine Size:  88 words,	Routine Base:  $CODE$ + 2672
; Maximum stack depth per invocation:  10 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  31
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (13)

;	  0788	global routine U$IRQ (LCB): novalue =
;	  0789	
;	  0790	!++
;	  0791	! FUNCTIONAL DESCRIPTION:
;	  0792	!	Obtain resources to request an interrupt
;	  0793	!
;	  0794	! FORMAL PARAMETERS:
;	  0795	!	LCB	LCB address
;	  0796	!
;	  0797	! IMPLICIT INPUTS:
;	  0798	!	None
;	  0799	!
;	  0800	! IMPLICIT OUTPUTS:
;	  0801	!	None
;	  0802	!
;	  0803	! ROUTINE VALUE:
;	  0804	! COMPLETION CODES:
;	  0805	!	None
;	  0806	!
;	  0807	! SIDE EFFECTS:
;	  0808	!	None
;	  0809	!--
;	  0810	
;	  0811	    begin
;	  0812	    $scx_get_data_base (SCXDB);
;	  0813	    map LCB: ref block field (LCB_FIELDS);
;	  0814	    local
;	  0815		CCB: ref block field (C_FIELDS);
;	  0816	    bind
;	  0817		TNB = LCB [LC_TNB]: ref block field (TNB_FIELDS);
;	  0818	
;	  0819	    if not CCBGT$ (CCB) then (LCB [LCF_NRES] = true; $SCX_WAIT);
;	  0820	
;	  0821	    CCB [$sub_field (C_PRM1, HI_BYTE)] = 1;
;	  0822	    $SCX_DO_XME (.CCB, S$IRQ, 0, .LCB, 0)
;	  0823	    end;


						.SBTTL	U$IRQ User Interface
000000	004167  000000G			U$IRQ:: JSR	R1,$SAVE4			;					0788
000004	016702  000002G				MOV	.CRDAT+2,R2			;					0811
000010	016601  000014 				MOV	14(SP),R1			; LCB,*					0817
000014	004767  000000G				JSR	PC,$CCBGT			;					0819
000020	103013 					BHIS	1$
000022	052761  001000  000016 			BIS	#1000,16(R1)
000030	016100  000004 				MOV	4(R1),R0
000034	052760  001000  000016 			BIS	#1000,16(R0)
000042	042712  001000 				BIC	#1000,(R2)
000046	000207 					RTS	PC
000050	112764  000001  000025 		1$:	MOVB	#1,25(R4)			; *,*(CCB)				0821
000056	012746  000016 				MOV	#16,-(SP)			;					0822
000062	005046 					CLR	-(SP)
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  32
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (13)

000064	010146 					MOV	R1,-(SP)
000066	005046 					CLR	-(SP)
000070	004767  000000G				JSR	PC,DO$XME
000074	062706  000010 				ADD	#10,SP				;					0811
000100	000207 					RTS	PC				;					0788

; Routine Size:  33 words,	Routine Base:  $CODE$ + 3152
; Maximum stack depth per invocation:  10 words
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  33
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (14)

;	  0824	global routine U$RJW (TNB): novalue =
;	  0825	
;	  0826	!++
;	  0827	! FUNCTIONAL DESCRIPTION:
;	  0828	!	Obtain resources to effect link rejection.
;	  0829	!
;	  0830	! FORMAL PARAMETERS:
;	  0831	!	TNB	TNB address
;	  0832	!
;	  0833	! IMPLICIT INPUTS:
;	  0834	!	IOP contents
;	  0835	!	 I_PRM1	Connect block bias
;	  0836	!	 I_PRM2	Connect block address
;	  0837	!	 I_PRM3	Output buffer bias
;	  0838	!	 I_PRM4	  "      "    address
;	  0839	!	 I_PRM5   "      "    length
;	  0840	!	 I_PRM6 Logical link address of rejected link
;	  0841	!
;	  0842	! IMPLICIT OUTPUTS:
;	  0843	!	None
;	  0844	!
;	  0845	! ROUTINE VALUE:
;	  0846	! COMPLETION CODES:
;	  0847	!	None
;	  0848	!
;	  0849	! SIDE EFFECTS:
;	  0850	!	None
;	  0851	!--
;	  0852	
;	  0853	    begin
;	  0854	    $scx_get_data_base (SCXDB);
;	  0855	    map TNB: ref block field (TNB_FIELDS);
;	  0856	    local
;	  0857		CCB: ref block field (C_FIELDS),
;	  0858		IOP: ref block field (IOP_FIELDS);
;	  0859	
;	  0860	    if not CCBGT$ (CCB) then $SCX_WAIT;
;	  0861	
;	  0862	    $SCX_DEQUEUE (TNB [TN_OQUE], IOP);
;	  0863	    CCB [C_LIX] = .IOP [I_PRM6];
;	  0864	    CCB [C_PRM2] = S_ERBO;
;	  0865	    CCB [C_PRM4] = .TNB;
;	  0866	    $SCX_DO_XME (.CCB, S$REJ, .IOP, 0, IOP [I_PRM3])
;	  0867	    end;


						.SBTTL	U$RJW User Interface
000000	004167  000000G			U$RJW:: JSR	R1,$SAVE4			;					0824
000004	005746 					TST	-(SP)
000006	016701  000002G				MOV	.CRDAT+2,R1			;					0853
000012	004767  000000G				JSR	PC,$CCBGT			;					0860
000016	103010 					BHIS	1$
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  34
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (14)

000020	016600  000016 				MOV	16(SP),R0			; TNB,*
000024	052760  001000  000016 			BIS	#1000,16(R0)
000032	042711  001000 				BIC	#1000,(R1)
000036	000437 					BR	2$
000040	016646  000016 			1$:	MOV	16(SP),-(SP)			; TNB,*					0862
000044	062716  000012 				ADD	#12,(SP)
000050	012746  000004 				MOV	#4,-(SP)
000054	060616 					ADD	SP,(SP)				; IOP,*
000056	004767  000000G				JSR	PC,$SCQRM
000062	016600  000004 				MOV	4(SP),R0			; IOP,*					0863
000066	116064  000036  000010 			MOVB	36(R0),10(R4)			; *,*(CCB)
000074	012764  177754  000026 			MOV	#-24,26(R4)			; *,*(CCB)				0864
000102	016664  000022  000032 			MOV	22(SP),32(R4)			; TNB,*(CCB)				0865
000110	012716  000004 				MOV	#4,(SP)				;					0866
000114	010046 					MOV	R0,-(SP)
000116	005046 					CLR	-(SP)
000120	012746  000030 				MOV	#30,-(SP)
000124	060016 					ADD	R0,(SP)
000126	004767  000000G				JSR	PC,DO$XME
000132	062706  000012 				ADD	#12,SP				;					0853
000136	005726 				2$:	TST	(SP)+				;					0824
000140	000207 					RTS	PC

; Routine Size:  49 words,	Routine Base:  $CODE$ + 3254
; Maximum stack depth per invocation:  12 words


;	  0868	
;	  0869	end
;	  0870	eludom



;					OTS external references
						.GLOBL	$SAVE5, $SAVE4, $STOP, BL$MOV


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $CODE$				  903	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<SC>SCPRM.L16.4		       262        94        35         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        41        11         0
SCXRES								25-Jan-1983 10:26:20	TOPS-20 Bliss-16 2A(530)	    Page  35
X01190		User Interface					30-Dec-1982 21:03:55	NETPKG:<SC>SCXRES.BLI.9 (14)

;  NETPKG:<MCB>RSXLIB.L16.13		       317       124        39         0
;  NETPKG:<MCB>XPORTX.L16.15		       599        30         5         0
;  NETPKG:<MCB>SCSYS.L16.13		       113        46        40         0





; Size:		903 code + 0 data words
; Run Time:	00:17.5
; Elapsed Time:	01:01.5
; Memory Used:	53 pages
; Compilation Complete
ALL				 106+
BLISS36				 617
BYT$PTR				 256	 315	 606	 607	 609	 616
BYTES_WORD			 133+	 251	 311	 522	 571	 572	 604
CB				 563	 593#	 606	 607	 609	 611#	 612#	 613#	 616	 624#
CBU				 564	 595#	 606	 607
CBU_ACNT			 128+#
CBU_ACTL			 127+#
CBU_DFMT			 117+#
CBU_DOBJ			 118+#
CBU_DST				 119+#
CBU_FIELDS			 113+#	 564
CBU_NODE			 115+#	 606
CBU_PASL			 124+#
CBU_PASW			 125+#
CBU_RQDL			 121+#	 607
CBU_RQID			 122+#
CBU_SIZE			 132+#	 133+
CB_FIELDS			 563
CB_L1				 571#	 606
CB_L2				 572#	 607
CB_NODE				 571	 606
CB_OPDL				 572	 611
CB_OPTD				 609
CB_RQDL				 572	 607
CB_SFMT				 571	 612
CB_SIZE				 604
CB_SOBJ				 613
CB_SPL1				 624
CB_SPR1				 616
CCB				 245	 254	 255	 256	 257	 258	 259	 265	 276	 305	 314	 315
				 316	 317	 318	 324	 357	 362	 365	 399	 404	 407#	 408	 437
				 441	 443#	 444	 479	 520	 565	 576	 580	 584	 589#	 593	 598#
				 599#	 600#	 601#	 604#	 606	 607	 609	 610	 625	 657	 662	 665
				 698	 701	 704#	 705	 737	 744	 754	 755#	 766	 767#	 768#	 779
				 780#	 786	 815	 819	 821#	 822	 857	 860	 863#	 864#	 865#	 866
CCBGT$				 362	 404	 441	 576	 662	 701	 744	 819	 860
CCBRT$				 584
CND_ACNT			 159+#
CND_ACTL			 158+#
CND_DFMT			 142+#
CND_DOBJ			 143+#
CND_DST				 144+#
CND_FIELDS			 137+#
CND_NODE			 146+#
CND_OPDL			 161+#
CND_OPTD			 162+#
CND_PASL			 155+#
CND_PASW			 156+#
CND_RQDL			 152+#
CND_RQID			 153+#
CND_SEG				 140+#
CND_SFMT			 148+#
CND_SIZE			 166+#
CND_SOBJ			 149+#
CND_SRC				 150+#
CND_TLA				 139+#
CNT				 561	 615#	 619	 621	 622	 624
C_ADDR				 256	 315	 443	 580	 593
C_BIAS				 255	 315	 589	 606	 607	 609	 610
C_CNT				 251	 256	 257	 311	 315	 316	 443	 604
C_FIELDS			 245	 249	 305	 309	 357	 399	 437	 479	 565	 657	 698	 737
				 815	 857
C_LIX				 258	 317	 863
C_MOD				 755	 767	 780	 786
C_PRM1				 259	 318	 407	 598	 704	 768	 821
C_PRM2				 265	 599	 864
C_PRM3				 600
C_PRM4				 601	 865
C_PRM5				 443	 754	 766	 779	 786
DSR_CONNECT_BLOCK_SIZE		 580
FALSE				 492	 576	 585
HDR_FIELDS			 472
HI_BYTE				 407	 598	 768	 821
H_NML				 515
IE_ABO				 521
IOFIN$				 521	 523
IOP				 358	 364	 365	 400	 406	 408	 477	 516	 517	 523	 566	 594
				 595	 596	 599	 600	 601	 605	 608	 609	 611	 625	 658	 664
				 665	 699	 703	 704	 705	 738	 748#	 751	 760#	 763	 773#	 776
				 786	 858	 862	 863	 866
IOP_FIELDS			 358	 400	 477	 478	 566	 658	 699	 738	 858
IOP_RCV				 776
IOP_XMT				 751	 763
IO_SELECT			 742	 746	 756	 769	 781
IS_SUC				 523
I_FNC				 751	 763	 776
I_LN2				 517
I_PRM1				 365	 605	 665	 705	 786
I_PRM2				 595
I_PRM3				 408	 608	 866
I_PRM4				 609	 704
I_PRM5				 609	 611
I_PRM6				 599	 863
I_PRM7				 600
I_PRM8				 601
I_TCB				 596
LCB				 246	 260#	 261	 262#	 306	 319#	 320	 327	 355	 360	 364	 365
				 367	 397	 402	 406	 408	 410	 435	 439	 441#	 444	 480	 486#
				 487#	 489	 492#	 493	 494	 496#	 526	 559	 569	 594	 625	 627
				 655	 660	 664	 665	 707	 735	 740	 748	 754	 760	 766	 773
				 779	 786	 788	 813	 817	 819#	 822
LCB_FIELDS			 246	 306	 355	 397	 435	 480	 559	 655	 735	 813
LCF_ARES			 441	 492	 494
LCF_CLS				 489	 496
LCF_DSC				 262
LCF_NRES			 819
LC_LINK				 487
LC_LUN				 261	 320
LC_NQUE				 364	 748	 754
LC_OQUE				 406	 594	 664	 760	 766	 773	 779
LC_TNB				 360	 402	 439	 569	 660	 740	 817
LIOP				 478	 521
LO_BYTE				 259	 318
MAP$				 255	 605	 608	 610
MB				 247	 251	 256	 257#	 258#	 259#	 260	 261#	 263#	 274	 307	 311
				 315	 316#	 317#	 318#	 319	 320#	 321#	 322	 476	 522
MB$ABO				 268
MB$ABT				 269	 270
MB$DSC				 267
MB$INT				 321
MBP_FIELDS			 247	 307	 476
MBP_SIZE			 251	 311	 522
MB_CNT				 257	 316	 522
MB_DATA				 256	 315
MB_FNC				 263	 321
MB_LLA				 258	 317
MB_LUN				 261	 320
MB_ULA				 259	 260	 318	 319
MFBF$S				 315
MTBF$S				 606	 607	 609
N_RQL				 133+#
PREV_TNB			 505	 508#	 514#
PTR				 562	 616#	 619	 621	 622
QUEAST				 215	 275	 323
QUICK_LOOK_CCB			 249#	 251	 309#	 311
S$ABO				 365	 444
S$ACC				 408
S$CON				 625
S$DIS				 665
S$GLN				 705
S$IRQ				 822
S$MRQ				 780
S$PEOM				 768
S$PMSG				 407	 598
S$REJ				 866
S$SND				 767
S$SNI				 755
SCX$_ILE			 513
SCXDB				 242	 302	 354	 396	 434	 470	 507	 521	 523	 558	 654	 695
				 734	 812	 854
SCXRES				   1#
SCX_TNB				 507
SCX_UCB				 521	 523
SRUDSW				 178	 218*
SRUINW				 179	 278*
S_EABM				 268
S_EABO				 269
S_EDBO				 267
S_ERBO				 864
TCB				 567	 596#	 619	 621	 622
TCB_FIELDS			 567
THIS_TNB			 504	 507#	 508#	 510	 513
TNB				 218	 243	 249	 254	 274	 275	 278	 303	 309	 314	 322	 323
				 360#	 402#	 439#	 446	 474	 482	 486	 510	 514	 516	 520	 521
				 522	 569#	 660#	 667	 696	 703	 740#	 817#	 824	 855	 862	 865
TNB_FIELDS			 243	 303	 360	 402	 439	 474	 504	 505	 569	 660	 696	 740
				 817	 855
TN_IQHD				 249	 309	 520
TN_IQUE				 254	 314
TN_LCB				 482	 486
TN_LINK				 508	 514
TN_MBXQ				 274	 322	 522
TN_OQHD				 516	 521
TN_OQUE				 703	 862
TRUE				 262	 441	 496	 576	 581	 819
T_NAM				 619
T_NM1				 621
T_NM2				 622
U$ABW				 181	 327*
U$ACW				 182	 367*
U$ARQ				 183	 410*	 493
U$CLW				 184	 446*
U$CNW				 185	 526*
U$DSW				 186	 627*
U$GLW				 187	 667*
U$IO				 188	 202	 203	 204	 707*
U$IRQ				 189	 788*
U$RCW				 202*
U$RJW				 191	 824*
U$SNW				 203#
U$XMW				 204#
ULARD				 216	 260	 319
XPO$K_VERSION			 103+
$ADDRESS			 139+
$BYTE_STRING			 115+	 119+	 122+	 125+	 128+	 144+	 146+	 150+	 153+	 156+	 159+	 162+
$BYTE				 117+	 118+	 142+	 143+	 148+	 149+
$C5TA				 214*	 619	 621	 622
$FIELD				 113+	 137+
$FIELD_SET_SIZE			 132+	 166+
$HEADR				 472	 515#
$MCB_GET_DSR			 251	 311	 580
$MCB_RETURN_DSR			 522
$SCX_DEQUEUE			 254	 314	 364	 406	 516#	 520	 521	 522	 594	 664	 703	 754
				 766	 779	 862
$SCX_DO_RCE			 276	 324	 520
$SCX_DO_XME			 365	 408	 444	 625	 665	 705	 786	 822	 866
$SCX_ENQUEUE			 274	 322
$SCX_GET_DATA_BASE		 242	 302	 354	 396	 434	 470	 558	 654	 695	 734	 812	 854
$SCX_WAIT			 252	 312	 362	 404	 441	 591	 662	 701	 744	 819	 860
$SHORT_INTEGER			 121+	 124+	 127+	 140+	 152+	 155+	 158+	 161+
$SHOW				 106+
$SUB_FIELD			 259	 318	 407	 598	 768	 821