Google
 

Trailing-Edge - PDP-10 Archives - BB-R598A-RM_1983 - swskit-v3/listings/xpt/tliitf.list
There are no other files named tliitf.list in the archive.
TLI								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (1)

;	  0001	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0002	!                    DIGITAL EQUIPMENT CORPORATION
;	  0003	!                        Maynard, Massachusetts
;	  0004	!
;	  0005	!     This software is furnished under a license and may  be  used
;	  0006	!     and copied only in accordance with the terms of such license
;	  0007	!     and with the inclusion of the above copyright notice.   This
;	  0008	!     software  or any other copies thereof may not be provided or
;	  0009	!     otherwise made available to any other person.  No  title  to
;	  0010	!     and ownership of the software is hereby transferred.
;	  0011	!
;	  0012	!     The information  in  this  software  is  subject  to  change
;	  0013	!     without  notice  and should not be construed as a commitment
;	  0014	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0015	!
;	  0016	!     DIGITAL assumes no responsibility for the use or reliability
;	  0017	!     of  its  software  on  equipment  which  is  not supplied by
;	  0018	!     DIGITAL.
;	  0019	
;	  0020	module TLIITF	(
;	  0021			IDENT = 'X01150'
;	  0022			) =
;	  0023	begin
;	  0024	
;	  0025	!
;	  0026	!			  COPYRIGHT (c) 1979 BY
;	  0027	!	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;	  0028	!
;	  0029	! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
;	  0030	! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
;	  0031	! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
;	  0032	! COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;	  0033	! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
;	  0034	! TRANSFERRED.
;	  0035	!
;	  0036	! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
;	  0037	! AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
;	  0038	! CORPORATION.
;	  0039	!
;	  0040	! FACILITY:	Transport
;	  0041	!
;	  0042	! ABSTRACT:
;	  0043	!
;	  0044	!	Transport Line Interface interface module: dispatches
;	  0045	!	all CCBs passed to the Transport Line Interface Layer.
;	  0046	!
;	  0047	! ENVIRONMENT:	MCB
;	  0048	!
;	  0049	! AUTHOR: L. Webber , CREATION DATE: 17-Dec-79
;	  0050	!
;	  0051	! MODIFIED BY:
;	  0052	!
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   2
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (1)

;	  0053	!	17-Dec-79 : VERSION 1.00
;	  0054	!
;	  0055	! 1.01	L. Webber, 16-Apr-80
;	  0056	!	Add $XPTDB, the address of the Transport data base
;	  0057	!	Make all line control functions take a LIX and translate to a line
;	  0058	!	    index (1-NLN).  If the LIX is a new one (only possible for SET
;	  0059	!	    STATE LINE), assign a free line index to it.
;	  0060	!       Make all line numbers within XPT and TLI be line indices (1-NLN),
;	  0061	!           which should be translated to LIXes if the Data Link Layer is
;	  0062	!           to be called.
;	  0063	!
;	  0064	! 1.02	L. Webber, 23-June-80
;	  0065	!	Modify to use MCBLIB macros
;	  0066	!
;	  0067	! 1.03	A. Peckham, 15-Oct-80
;	  0068	!	Update to use dispatch TABLE$ macro.
;	  0069	!	Use symbolic function modifiers.
;	  0070	!
;	  0071	! 1.04	A. Peckham, 21-Oct-80
;	  0072	!	Change CE_ERR returns to SIGNAL_STOP.
;	  0073	!
;	  0074	! 1.05	A. Peckham, 24-Oct-80
;	  0075	!	Change some CE_ERRs back from SIGNAL_STOPs.
;	  0076	!
;	  0077	! 1.06	L. Webber, 3-Dec-80
;	  0078	!	Switch first two parameters to DISPATCH$ to match
;	  0079	!	macro definition
;	  0080	!
;	  0081	! 1.07  L. Webber, 11-Dec-80
;	  0082	!	Modify to support MCB 3.1
;	  0083	!
;	  0084	! 1.08	L. Webber, 12-Jan-81
;	  0085	!	Take out Network Management code, and modify to call
;	  0086	!	TLINMI.
;	  0087	!
;	  0088	! 1.09	L. Webber, 20-Jan-81
;	  0089	!	Take out $XPTDB and $NLN to make TLI read-only.
;	  0090	!
;	  0091	! 1.10	L. Webber, 24-Feb-81
;	  0092	!	Take TLITIM out of the dispatch table.
;	  0093	!	Delete MAXVAL; it's not used anymore.
;	  0094	!
;	  0095	! 1.11	L. Webber, 27-Feb-81
;	  0096	!	Put "timer routine" TLINOP back in dispatch table.
;	  0097	!
;	  0098	! 1.12	L. Webber, 19-May-81
;	  0099	!	Add interface to ownership functions; change other DLL interfaces to
;	  0100	!	new standard.
;	  0101	!
;	  0102	! 1.13	L. Webber, 2-Jun-81
;	  0103	!	Fix routines not to put LINEindex into C_LIN when sending CCBs to
;	  0104	!	the DLL.
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   3
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (1)

;	  0105	!
;	  0106	! 1.14	A. peckham, 14-Apr-82
;	  0107	!	Optimize linkages through CTLTAB.
;	  0108	!
;	  0109	! 1.15	A. peckham, 8-Jul-82
;	  0110	!	Recognize Phase II node verification messages.
;	  0111	!
;	  0112	!--
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   4
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (2)

;	  0113	
;	  0114	!
;	  0115	! MACROS
;	  0116	!
;	  0117	
;	  0118	require 'XPTMAC';
;	  0216	
;	  0217	!
;	  0218	! TABLE OF CONTENTS
;	  0219	!
;	  0220	
;	  0221	forward routine
;	  0222		XMEGO: MCB_DB_CCB_MOD novalue,
;	  0223		RCEGO: MCB_DB_CCB_MOD novalue,
;	  0224		CTLGO: MCB_DB_CCB_MOD novalue,
;	  0225		XCPGO: MCB_DB_CCB_MOD novalue,
;	  0226		RCPGO: MCB_DB_CCB_MOD novalue,
;	  0227		CCPGO: MCB_DB_CCB_MOD novalue,
;	  0228	        TIMGO: MCB_DB_MOD novalue,
;	  0229		TLI_XMT: MCB_DB_CCB novalue,
;	  0230		TLI_RTN: MCB_DB_CCB novalue,
;	  0231		DLL_RTN: MCB_DB_CCB novalue,
;	  0232		REINIT: MCB_DB_CCB novalue,
;	  0233		TERMINATE: MCB_DB_CCB novalue;
;	  0234	
;	  0235	!
;	  0236	! EQUATED SYMBOLS:
;	  0237	!
;	  0238	
;	  0239	!
;	  0240	! OWN STORAGE:
;	  0241	!
;	  0242	!	$TLILL (see below)
;	  0243	!
;	  0244	
;	  0245	!
;	  0246	! EXTERNAL REFERENCES:
;	  0247	!
;	  0248	
;	  0249	external
;	  0250	    MCB$GW_PROCESS_HANDLE;
;	  0251	
;	  0252	external routine
;	  0253	    CCPSTR: MCB_DB_CCB novalue,
;	  0254	    CCPSTP: MCB_DB_CCB novalue,
;	  0255	    GIVE_CIRCUIT: MCB_DB_CCB novalue,
;	  0256	    LD_CMP: MCB_DB_CCB novalue,
;	  0257	    LU_CMP: MCB_DB_CCB novalue,
;	  0258	    RCV_HLO: LINKAGE_DB_CCB novalue,
;	  0259	    RCV_NI: LINKAGE_DB_CCB novalue,
;	  0260	    RCV_NV: LINKAGE_DB_CCB novalue,
;	  0261	    RCV_TI: LINKAGE_DB_CCB novalue,
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   5
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (2)

;	  0262	    RCV_TV: LINKAGE_DB_CCB novalue,
;	  0263	    TAKE_CIRCUIT: MCB_DB_CCB novalue,
;	  0264	    TLI_NM: MCB_DB_CCB novalue,
;	  0265	    TLIAST: MCB_DB_CCB_MOD novalue,
;	  0266	    XCPDAT: MCB_DB_CCB novalue,
;	  0267	    XCPINI: MCB_DB_CCB novalue,
;	  0268	    XCPSTP: MCB_DB_CCB novalue;
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   6
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (3)

;	  0269	
;	  0270	!++
;	  0271	!
;	  0272	!  Dispatch tables
;	  0273	!
;	  0274	!--
;	  0275	
;	  0276	!+
;	  0277	!	TRANSPORT LINE INTERFACE DISPATCH VECTOR
;	  0278	!
;	  0279	! NAME:	$TLILL
;	  0280	!
;	  0281	! This vector is the main MCB transport vector which dispatches
;	  0282	! received CCBs to the interface routine TLIITF.
;	  0283	!
;	  0284	!-
;	  0285	external routine $DSPCR : novalue;
;	  0286	
;	  0287	global
;	  0288	bind
;	P 0289	$TLILL = TABLE$ ($DSPCR, FC_CCP,
;	P 0290		(FC_AST, TLIAST),		! Asynchronous Event
;	P 0291		(FC_XME, XMEGO),		! Transmit Enable
;	P 0292		(FC_RCE, RCEGO),		! Receive Enable
;	P 0293		(FC_CTL, CTLGO),		! Control
;	P 0294		(FC_TIM, TIMGO),		! Timer (process initialization)
;	P 0295		(FC_XCP, XCPGO),		! Transmit Complete
;	P 0296		(FC_RCP, RCPGO),		! Receive Complete
;	  0297		(FC_CCP, CCPGO));		! Control Complete
;	  0298	
;	  0299	!++
;	  0300	!
;	  0301	!		PROCESS HEADER
;	  0302	!
;	  0303	!  NAME OF PROCESS: TLI
;	  0304	!
;	  0305	!--
;	  0306	
;	  0307	$MCB_PROCESS(name=TLI,llc_dispatch=$TLILL)
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   7
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (4)

;	  0308	
;	  0309	routine XMEGO (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
;	  0310	
;	  0311	!++
;	  0312	! FUNCTIONAL DESCRIPTION:
;	  0313	!
;	  0314	! Dispatches "transmit enable" CCBs
;	  0315	!
;	  0316	! FORMAL PARAMETERS
;	  0317	!
;	  0318	!	XPTDB    	Address of Transport data base
;	  0319	!	CCB		CCB to be passed to dispatched routine
;	  0320	!	MODIFIER	Subfunction code; used to select routine
;	  0321	!
;	  0322	! IMPLICIT INPUTS
;	  0323	!
;	  0324	!	NONE.
;	  0325	!
;	  0326	! ROUTINE VALUE:
;	  0327	! COMPLETION CODES:
;	  0328	!
;	  0329	!	NONE.
;	  0330	!
;	  0331	! SIDE EFFECTS:
;	  0332	!
;	  0333	!	NONE.
;	  0334	!
;	  0335	!--
;	  0336	
;	  0337	begin
;	P 0338	DISPATCH$(.MODIFIER,
;	P 0339	          TABLE$ ($DSPCR, FD_XME,
;	P 0340	                  (TM_DAT, TLI_XMT)),
;	P 0341	          (.XPTDB,.CCB),
;	  0342	          MCB_DB_CCB);
;	  0343	end;				!End of XMEGO


						.TITLE	TLIITF
						.IDENT	/X01150/


000000						.PSECT	......,  D  
000000	077351 				; HEADER
					U.14:	.RAD50	/TLI/
000002	000403 					.WORD	403
000004	000000 					.WORD	0
000006	000000 					.WORD	0
000010	000000 					.WORD	0
000012	000000'					.WORD	$TLILL
000014	000000G					.WORD	.DSPCR
000016	000000G					.WORD	.DSPCR
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   8
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (4)

000020	000000G					.WORD	MCB$V0
000022	000000G					.WORD	MCB$V1
000024	140310 					.WORD	140310
000026	143716 					.WORD	143716
000030	001400 					.WORD	1400
000032	000000 					.WORD	0
000034	000000 					.WORD	0
000036	000000 					.WORD	0



000000						.PSECT	$PLIT$,  RO ,  D  
000000	000000G				P.AAA:	.WORD	TLIAST
000002	000000'					.WORD	U.1
000004	000000V					.WORD	U.2
000006	000000G					.WORD	$DSPCR
000010	000000V					.WORD	U.3
000012	000000V					.WORD	U.7
000014	000000V					.WORD	U.4
000016	000000V					.WORD	U.5
000020	000000G					.WORD	$DSPCR
000022	000000V					.WORD	U.6
000024	000000V				P.AAB:	.WORD	U.8


						.GLOBL	.CRPIX, CCPSTR, CCPSTP, GIVE.CIRCUIT
						.GLOBL	LD.CMP, LU.CMP, RCV.HLO, RCV.NI
						.GLOBL	RCV.NV, RCV.TI, RCV.TV, TAKE.CIRCUIT
						.GLOBL	TLI.NM, TLIAST, XCPDAT, XCPINI
						.GLOBL	XCPSTP, $DSPCR, .DSPCR, MCB$V0
						.GLOBL	MCB$V1


	000000'				$TLILL==	    P.AAA


						.SBTTL	XMEGO
000000						.PSECT	$CODE$,  RO 

000000	004773  000024'			; XMEGO
					U.1:	JSR	PC,@P.AAB(R3)			; *,*(MODIFIER)				0342
000004	000207 					RTS	PC				;					0309

; Routine Size:  3 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page   9
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (5)

;	  0344	
;	  0345	routine RCEGO (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
;	  0346	
;	  0347	!++
;	  0348	! FUNCTIONAL DESCRIPTION:
;	  0349	!
;	  0350	! Routine to dispatch "receive enable" CCBs
;	  0351	!
;	  0352	! FORMAL PARAMETERS
;	  0353	!
;	  0354	!	CCB		CCB to pass to dispatched routine.
;	  0355	!	MODIFIER	Subfunction code; used to select routine.
;	  0356	!
;	  0357	! IMPLICIT INPUTS
;	  0358	!
;	  0359	!	NONE.
;	  0360	!
;	  0361	! ROUTINE VALUE:
;	  0362	! COMPLETION CODES:
;	  0363	!
;	  0364	!	NONE.
;	  0365	!
;	  0366	! SIDE EFFECTS:
;	  0367	!
;	  0368	!	NONE.
;	  0369	!
;	  0370	!--
;	  0371	
;	  0372	begin
;	  0373	map CCB:ref block field (C_XPT_FIELDS);
;	  0374	require 'XPTSYM';
;	  0411	
;	P 0412	DISPATCH$(.MODIFIER,
;	P 0413	          TABLE$ ($DSPCR, FD_RCE,
;	P 0414	                  (TM_INI, LU_CMP),
;	P 0415	                  (TM_DAT, TLI_RTN),
;	P 0416	                  (TM_TRM, LD_CMP)),
;	P 0417	          ($TLI_GET_LINE_DB(.CCB[C_LIN]),.CCB),
;	  0418	          MCB_DB_CCB);
;	  0419	end;				!End of RCEGO



000026						.PSECT	$PLIT$,  RO ,  D  
000026	000000V				P.AAC:	.WORD	U.9
000030	000000G					.WORD	$DSPCR
000032	000000G					.WORD	$DSPCR
000034	000000G					.WORD	$DSPCR
000036	000000G					.WORD	$DSPCR
000040	000000G					.WORD	$DSPCR
000042	000000G					.WORD	LU.CMP
000044	000000G					.WORD	LD.CMP
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  10
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (5)



						.GLOBL	.CRDAT, GTLINE


						.SBTTL	RCEGO
000006						.PSECT	$CODE$,  RO 

000000	005000 				; RCEGO
					U.2:	CLR	R0				;					0418
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5
000014	004773  000026'				JSR	PC,@P.AAC(R3)			; *,*(MODIFIER)
000020	000207 					RTS	PC				;					0345

; Routine Size:  9 words,	Routine Base:  $CODE$ + 0006
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  11
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (6)

;	  0420	
;	  0421	routine CTLGO (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
;	  0422	
;	  0423	!++
;	  0424	! FUNCTIONAL DESCRIPTION:
;	  0425	!
;	  0426	! Routine to dispatch "control" CCBs
;	  0427	!
;	  0428	! FORMAL PARAMETERS
;	  0429	!
;	  0430	!	XPTDB     	Address of Transport data base
;	  0431	!	CCB		CCB to pass to dispatched routine.
;	  0432	!	MODIFIER	Subfunction code; used to select routine.
;	  0433	!
;	  0434	! IMPLICIT INPUTS
;	  0435	!
;	  0436	!	NONE.
;	  0437	!
;	  0438	! ROUTINE VALUE:
;	  0439	! COMPLETION CODES:
;	  0440	!
;	  0441	!	NONE.
;	  0442	!
;	  0443	! SIDE EFFECTS:
;	  0444	!
;	  0445	!	NONE.
;	  0446	!
;	  0447	!--
;	  0448	
;	  0449	begin
;	P 0450	DISPATCH$(.MODIFIER,
;	P 0451	          TABLE$ ($DSPCR, FD_CTL,
;	P 0452	                  (FM_STR, GIVE_CIRCUIT),
;	P 0453	                  (FM_STP, TAKE_CIRCUIT),
;	P 0454	                  (TM_STR, REINIT),
;	P 0455	                  (TM_STP, TERMINATE),
;	P 0456	                  (FM_NM,  TLI_NM)),
;	P 0457	          (.XPTDB,.CCB),
;	  0458	          MCB_DB_CCB);
;	  0459	end;				!End of CTLGO



000046						.PSECT	$PLIT$,  RO ,  D  
000046	000000G				P.AAD:	.WORD	$DSPCR
000050	000000G					.WORD	GIVE.CIRCUIT
000052	000000G					.WORD	TAKE.CIRCUIT
000054	000000G					.WORD	TLI.NM
000056	000000V					.WORD	U.12
000060	000000V					.WORD	U.11
000062	000000G					.WORD	$DSPCR
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  12
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (6)


						.SBTTL	CTLGO
000030						.PSECT	$CODE$,  RO 

000000	004773  000046'			; CTLGO
					U.3:	JSR	PC,@P.AAD(R3)			; *,*(MODIFIER)				0458
000004	000207 					RTS	PC				;					0421

; Routine Size:  3 words,	Routine Base:  $CODE$ + 0030
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  13
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (7)

;	  0460	
;	  0461	routine XCPGO (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
;	  0462	
;	  0463	!++
;	  0464	! FUNCTIONAL DESCRIPTION:
;	  0465	!
;	  0466	! Routine to dispatch "transmit complete" CCBs
;	  0467	!
;	  0468	! FORMAL PARAMETERS
;	  0469	!
;	  0470	!	XPTDB    	Address of Transport data base
;	  0471	!	CCB		CCB to pass to dispatched routine.
;	  0472	!	MODIFIER	Subfunction code; used to select routine.
;	  0473	!
;	  0474	! IMPLICIT INPUTS
;	  0475	!
;	  0476	!	NONE.
;	  0477	!
;	  0478	! ROUTINE VALUE:
;	  0479	! COMPLETION CODES:
;	  0480	!
;	  0481	!	NONE.
;	  0482	!
;	  0483	! SIDE EFFECTS:
;	  0484	!
;	  0485	!	NONE.
;	  0486	!
;	  0487	!--
;	  0488	
;	  0489	begin
;	  0490	map CCB:ref block field (C_XPT_FIELDS);
;	  0491	require 'XPTSYM';
;	  0528	
;	P 0529	DISPATCH$(.MODIFIER,
;	P 0530	          TABLE$ ($DSPCR, FD_XCP,
;	P 0531	                  (DLL$K_TRANSMIT, DLL_RTN),
;	P 0532	                  (DLL$K_INITIALIZE_LINK,XCPINI),
;	P 0533	                  (DLL$K_STOP_LINK,XCPSTP)),
;	P 0534	          ($TLI_GET_LINE_DB(.CCB[C_LIN]),.CCB),
;	  0535	          MCB_DB_CCB);
;	  0536	end;				!End of XCPGO



000064						.PSECT	$PLIT$,  RO ,  D  
000064	000000V				P.AAE:	.WORD	U.10
000066	000000G					.WORD	XCPINI
000070	000000G					.WORD	XCPSTP


						.SBTTL	XCPGO
000036						.PSECT	$CODE$,  RO 
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  14
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (7)


000000	005000 				; XCPGO
					U.4:	CLR	R0				;					0535
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5
000014	004773  000064'				JSR	PC,@P.AAE(R3)			; *,*(MODIFIER)
000020	000207 					RTS	PC				;					0461

; Routine Size:  9 words,	Routine Base:  $CODE$ + 0036
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  15
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (8)

;	  0537	
;	  0538	routine RCPGO (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
;	  0539	
;	  0540	!++
;	  0541	! FUNCTIONAL DESCRIPTION:
;	  0542	!
;	  0543	! Routine to dispatch "receive complete" CCBs.
;	  0544	!
;	  0545	! FORMAL PARAMETERS
;	  0546	!
;	  0547	!	XPTDB   	Address of Transport data base
;	  0548	!	CCB		CCB to pass to dispatched routine.
;	  0549	!	MODIFIER	Subfunction code; not used.
;	  0550	!
;	  0551	! IMPLICIT INPUTS
;	  0552	!
;	  0553	!	NONE.
;	  0554	!
;	  0555	! ROUTINE VALUE:
;	  0556	! COMPLETION CODES:
;	  0557	!
;	  0558	!	NONE.
;	  0559	!
;	  0560	! SIDE EFFECTS:
;	  0561	!
;	  0562	!	NONE.
;	  0563	!
;	  0564	!--
;	  0565	
;	  0566	begin
;	  0567	map CCB: ref block field (C_XPT_fields);
;	  0568	local LINEb;
;	  0569	require 'XPTSYM';
;	  0606	
;	  0607	LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN]);	! Address line data base entry
;	  0608	
;	  0609	!
;	  0610	!
;	  0611	!
;	  0612	
;	  0613	if .DLLstate eql DLL_RUNNING
;	  0614	then begin
;	  0615	     pointer PTR;
;	  0616	
;	  0617	     !
;	  0618	     !  Reset the T4 timer (listen timer).
;	  0619	     !	Note that even invalid messages set this flag; Transport is
;	  0620	     !	happy as long as SOMETHING is received over a line...
;	  0621	     !
;	  0622	
;	  0623	     Listen_clock = .Listen_timer;
;	  0624	
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  16
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (8)

;	  0625	     !
;	  0626	     !  Map in the receive buffer
;	  0627	     !
;	  0628	
;	  0629	     MAPBUF (.CCB,PTR);
;	  0630	
;	  0631	     !
;	  0632	     !  Pick up the first character of the message and dispatch on it
;	  0633	     !
;	  0634	
;	  0635	     selectone getb(PTR) of
;	  0636	         set
;	  0637	         [OTI_CTLflg]:                  ! Node Init/Verify
;	  0638	             selectone getb(PTR) of
;	  0639	                 set
;	  0640	                 [INIT_SUBflg]:         !  Node Init
;	  0641	                     begin
;	  0642	                     RCV_NI(.LINEb,.CCB);
;	  0643	                     CCB[C_FNC] = FC_RCE;
;	  0644	                     end;
;	  0645	                 [VER_SUBflg]:          !  Node Verify
;	  0646	                     begin
;	  0647	                     RCV_NV(.LINEb,.CCB);
;	  0648	                     CCB[C_FNC] = FC_RCE;
;	  0649	                     end;
;	  0650	                 [otherwise]:           ! Unknown
;	  0651	                     CCB[C_FNC] = FC_RCE;
;	  0652	                 tes;
;	  0653	         [INIT_CTLflg]:                 ! Transport Init
;	  0654	             begin
;	  0655	             RCV_TI(.LINEb,.CCB);
;	  0656	             CCB[C_FNC] = FC_RCE;
;	  0657	             end;
;	  0658	         [HELLO_CTLflg]:                ! Hello or Test
;	  0659	             begin
;	  0660	             RCV_HLO(.LINEb,.CCB);
;	  0661	             CCB[C_FNC] = FC_RCE;
;	  0662	             end;
;	  0663	         [VERIFY_CTLflg]:               ! Transport Verify
;	  0664	             begin
;	  0665	             RCV_TV(.LINEb,.CCB);
;	  0666	             CCB[C_FNC] = FC_RCE;
;	  0667	             end;
;	  0668	         [otherwise]:                   ! Something else
;	  0669	             begin
;	  0670	             CCB[C_HANDLE] = .XPThandle;
;	  0671	             CCB[C_MOD] = XM_DAT;
;	  0672	             end;
;	  0673	         tes
;	  0674	     end
;	  0675	else CCB [C_FNC] = FC_RCE;              ! Toss message
;	  0676	
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  17
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (8)

;	  0677	$MCB_SCHEDULE_CCB(.CCB);
;	  0678	end;				!End of RCPGO


						.GLOBL	KISAR6, $SCHED


						.SBTTL	RCPGO
000000	005000 				; RCPGO
					U.5:	CLR	R0				;					0607
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5				; *,LINEB
000014	126527  000006  000004 			CMPB	6(R5),#4			; *(LINEB),*				0613
000022	001064 					BNE	6$
000024	016565  000024  000046 			MOV	24(R5),46(R5)			; *(LINEB),*(LINEB)			0623
000032	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0629
000040	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR
000044	005003 					CLR	R3				;					0635
000046	152003 					BISB	(R0)+,R3			; PTR,*
000050	020327  000130 				CMP	R3,#130
000054	001017 					BNE	2$
000056	112000 					MOVB	(R0)+,R0			; PTR,*					0638
000060	042700  177400 				BIC	#177400,R0
000064	020027  000001 				CMP	R0,#1
000070	001003 					BNE	1$
000072	004767  000000G				JSR	PC,RCV.NI			;					0642
000076	000436 					BR	6$				;					0643
000100	020027  000002 			1$:	CMP	R0,#2				;					0638
000104	001033 					BNE	6$
000106	004767  000000G				JSR	PC,RCV.NV			;					0647
000112	000430 					BR	6$				;					0648
000114	020327  000001 			2$:	CMP	R3,#1				;					0635
000120	001003 					BNE	3$
000122	004767  000000G				JSR	PC,RCV.TI			;					0655
000126	000422 					BR	6$				;					0656
000130	020327  000005 			3$:	CMP	R3,#5				;					0635
000134	001003 					BNE	4$
000136	004767  000000G				JSR	PC,RCV.HLO			;					0660
000142	000414 					BR	6$				;					0661
000144	020327  000003 			4$:	CMP	R3,#3				;					0635
000150	001003 					BNE	5$
000152	004767  000000G				JSR	PC,RCV.TV			;					0665
000156	000406 					BR	6$				;					0666
000160	016564  000026  000010 		5$:	MOV	26(R5),10(R4)			; *(LINEB),*(CCB)			0670
000166	105064  000013 				CLRB	13(R4)				; *(CCB)				0671
000172	000403 					BR	7$				;					0613
000174	112764  000004  000012 		6$:	MOVB	#4,12(R4)			; *,*(CCB)				0675
000202	004767  000000G			7$:	JSR	PC,$SCHED			;					0677
000206	000207 					RTS	PC				;					0538

; Routine Size:  68 words,	Routine Base:  $CODE$ + 0060
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  18
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (8)

; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  19
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (9)

;	  0679	
;	  0680	routine CCPGO (XPTDB,CCB,MODIFIER): MCB_DB_CCB_MOD novalue =
;	  0681	
;	  0682	!++
;	  0683	! FUNCTIONAL DESCRIPTION:
;	  0684	!
;	  0685	! Routine to dispatch "control complete" CCBs.
;	  0686	!
;	  0687	! FORMAL PARAMETERS
;	  0688	!
;	  0689	!	XPTDB    	Address of Transport data base
;	  0690	!	CCB		CCB to pass to dispatched routine.
;	  0691	!	MODIFIER	Subfunction code; used to select routine.
;	  0692	!
;	  0693	! IMPLICIT INPUTS
;	  0694	!
;	  0695	!	NONE.
;	  0696	!
;	  0697	! ROUTINE VALUE:
;	  0698	! COMPLETION CODES:
;	  0699	!
;	  0700	!	NONE.
;	  0701	!
;	  0702	! SIDE EFFECTS:
;	  0703	!
;	  0704	!	NONE.
;	  0705	!
;	  0706	!--
;	  0707	
;	  0708	begin
;	  0709	map CCB:ref block field (C_XPT_FIELDS);
;	  0710	require 'XPTSYM';
;	  0747	
;	P 0748	DISPATCH$(.MODIFIER,
;	P 0749	          TABLE$ ($DSPCR, FD_CCP,
;	P 0750	                  (FM_STR, CCPSTR),
;	P 0751	                  (FM_STP, CCPSTP)),
;	P 0752	          ($TLI_GET_LINE_DB(.CCB[C_LIN]),.CCB),
;	  0753	          MCB_DB_CCB);
;	  0754	
;	  0755	end;				!End of CCPGO



000072						.PSECT	$PLIT$,  RO ,  D  
000072	000000G				P.AAF:	.WORD	$DSPCR
000074	000000G					.WORD	CCPSTR
000076	000000G					.WORD	CCPSTP
000100	000000G					.WORD	$DSPCR
000102	000000G					.WORD	$DSPCR
000104	000000G					.WORD	$DSPCR
000106	000000G					.WORD	$DSPCR
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  20
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (9)



						.SBTTL	CCPGO
000270						.PSECT	$CODE$,  RO 

000000	005000 				; CCPGO
					U.6:	CLR	R0				;					0753
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5
000014	004773  000072'				JSR	PC,@P.AAF(R3)			; *,*(MODIFIER)
000020	000207 					RTS	PC				;					0680

; Routine Size:  9 words,	Routine Base:  $CODE$ + 0270
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  21
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (10)

;	  0756	
;	  0757	routine TIMGO (XPTDB,MODIFIER): MCB_DB_MOD novalue =
;	  0758	
;	  0759	!++
;	  0760	! FUNCTIONAL DESCRIPTION:
;	  0761	!
;	  0762	! Routine to dispatch system related stuff
;	  0763	!
;	  0764	! FORMAL PARAMETERS
;	  0765	!
;	  0766	!	XPTDB    	Address of Transport data base
;	  0767	!	MODIFIER	Subfunction code; used to select routine.
;	  0768	!
;	  0769	! IMPLICIT INPUTS
;	  0770	!
;	  0771	!	NONE.
;	  0772	!
;	  0773	! ROUTINE VALUE:
;	  0774	! COMPLETION CODES:
;	  0775	!
;	  0776	!	NONE.
;	  0777	!
;	  0778	! SIDE EFFECTS:
;	  0779	!
;	  0780	!	NONE.
;	  0781	!
;	  0782	!--
;	  0783	
;	  0784	begin
;	  0785	0                                       ! Nothing to do...
;	  0786	end;                                    ! End of TIMGO


						.SBTTL	TIMGO
000000	000207 				; TIMGO
					U.7:	RTS	PC				;					0757

; Routine Size:  1 word,	Routine Base:  $CODE$ + 0312
; Maximum stack depth per invocation:  0 words
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  22
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (11)

;	  0787	
;	  0788	routine TLI_XMT (XPTDB,CCB): MCB_DB_CCB novalue =
;	  0789	
;	  0790	!++
;	  0791	! FUNCTIONAL DESCRIPTION:
;	  0792	!
;	  0793	! Routine to pass CCBs from Transport to the Data Link Layer.
;	  0794	!
;	  0795	! FORMAL PARAMETERS
;	  0796	!
;	  0797	!	CCB		CCB to pass on.
;	  0798	!	    CCB[C_LIN]	Line index of line to transmit on
;	  0799	!
;	  0800	! IMPLICIT INPUTS
;	  0801	!
;	  0802	!	NONE.
;	  0803	!
;	  0804	! ROUTINE VALUE:
;	  0805	! COMPLETION CODES:
;	  0806	!
;	  0807	!	NONE.
;	  0808	!
;	  0809	! SIDE EFFECTS:
;	  0810	!
;	  0811	!	The line index is translated into a LIX.
;	  0812	!
;	  0813	!--
;	  0814	
;	  0815	begin
;	  0816	map CCB: ref block field (C_XPT_fields);
;	  0817	local LINEb;
;	  0818	require 'XPTSYM';
;	  0855	
;	  0856	LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN]);  ! Address line data base entry
;	  0857	CCB[C_HANDLE] = .DLLhandle;
;	  0858	$DLL_TRANSMIT(.CCB);
;	  0859	end;				!End of TLI_XMT


						.SBTTL	TLI.XMT
000000	005000 				; TLI.XMT
					U.8:	CLR	R0				;					0856
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	016064  000032  000010 			MOV	32(R0),10(R4)			; *(LINEB),*(CCB)			0857
000020	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(CCB)				0858
000026	105064  000013 				CLRB	13(R4)				; *(CCB)
000032	004767  000000G				JSR	PC,$SCHED
000036	000207 					RTS	PC				;					0788

; Routine Size:  16 words,	Routine Base:  $CODE$ + 0314
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  23
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (12)

;	  0860	
;	  0861	routine TLI_RTN (LINEb,CCB): MCB_DB_CCB novalue =
;	  0862	
;	  0863	!++
;	  0864	! FUNCTIONAL DESCRIPTION:
;	  0865	!
;	  0866	! Routine to pass used receive buffers from Transport back to
;	  0867	! the Data Link Layer.
;	  0868	!
;	  0869	! FORMAL PARAMETERS
;	  0870	!
;	  0871	!	CCB		CCB to pass on to DLL
;	  0872	!	    CCB[C_LIN]	Line index for line buffer was received on
;	  0873	!
;	  0874	! IMPLICIT INPUTS
;	  0875	!
;	  0876	!	NONE.
;	  0877	!
;	  0878	! ROUTINE VALUE:
;	  0879	! COMPLETION CODES:
;	  0880	!
;	  0881	!	NONE.
;	  0882	!
;	  0883	! SIDE EFFECTS:
;	  0884	!
;	  0885	!	The line index is translated into a LIX.
;	  0886	!
;	  0887	!--
;	  0888	
;	  0889	begin
;	  0890	map CCB: ref block field (C_XPT_fields);
;	  0891	require 'XPTSYM';
;	  0928	
;	  0929	CCB[C_HANDLE] = .DLLhandle;
;	  0930	CCB[C_FNC] = FC_RCE;
;	  0931	CCB[C_MOD] = DLL$K_TRANSMIT;
;	  0932	$MCB_SCHEDULE_CCB(.CCB);
;	  0933	end;				!End of TLI_RTN


						.SBTTL	TLI.RTN
000000	016564  000032  000010 		; TLI.RTN
					U.9:	MOV	32(R5),10(R4)			; *(LINEB),*(CCB)			0929
000006	112764  000004  000012 			MOVB	#4,12(R4)			; *,*(CCB)				0930
000014	105064  000013 				CLRB	13(R4)				; *(CCB)				0931
000020	004767  000000G				JSR	PC,$SCHED			;					0932
000024	000207 					RTS	PC				;					0861

; Routine Size:  11 words,	Routine Base:  $CODE$ + 0354
; Maximum stack depth per invocation:  1 word
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  24
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (13)

;	  0934	
;	  0935	routine DLL_RTN (LINEb,CCB): MCB_DB_CCB novalue =
;	  0936	
;	  0937	!++
;	  0938	! FUNCTIONAL DESCRIPTION:
;	  0939	!
;	  0940	! Routine to process completed transmits from the Data Link Layer.
;	  0941	! If the buffer is type INITcode, the it is passed to Line Support to
;	  0942	! process.  Otherwise, it is passed on to Transport.
;	  0943	!
;	  0944	! FORMAL PARAMETERS
;	  0945	!
;	  0946	!	CCB		CCB representing the completed transmit.
;	  0947	!	    CCB[C_LIN]	LIX for line transmit was done on
;	  0948	!
;	  0949	! IMPLICIT INPUTS
;	  0950	!
;	  0951	!	NONE.
;	  0952	!
;	  0953	! ROUTINE VALUE:
;	  0954	! COMPLETION CODES:
;	  0955	!
;	  0956	!	NONE.
;	  0957	!
;	  0958	! SIDE EFFECTS:
;	  0959	!
;	  0960	!--
;	  0961	
;	  0962	begin
;	  0963	map CCB: ref block field (C_XPT_fields);
;	  0964	require 'XPTSYM';
;	  1001	
;	  1002	if .CCB[C_OWN] eql .MCB$GW_PROCESS_HANDLE ! Buffer created by Line Support -
;	  1003	then XCPDAT(.LINEb,.CCB)                !  have Line Support finish it off
;	  1004	else begin				! Buffer is Transport's -
;	  1005	     CCB[C_HANDLE] = .XPThandle;        !  send it
;	  1006	     $MCB_SCHEDULE_CCB(.CCB);           !  back there
;	  1007	     end;
;	  1008	
;	  1009	end;				!End of DLL_RTN


						.SBTTL	DLL.RTN
000000	005746 				; DLL.RTN
					U.10:	TST	-(SP)				;					0935
000002	010446 					MOV	R4,-(SP)
000004	010566  000002 				MOV	R5,2(SP)
000010	005000 					CLR	R0				;					1002
000012	010401 					MOV	R4,R1
000014	156100  000006 				BISB	6(R1),R0
000020	020067  000000G				CMP	R0,.CRPIX
000024	001003 					BNE	1$
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  25
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (13)

000026	004767  000000G				JSR	PC,XCPDAT			;					1003
000032	000411 					BR	2$				;					1002
000034	011600 				1$:	MOV	(SP),R0				;					1005
000036	016601  000002 				MOV	2(SP),R1
000042	016160  000026  000010 			MOV	26(R1),10(R0)
000050	010004 					MOV	R0,R4				;					1006
000052	004767  000000G				JSR	PC,$SCHED
000056	022626 				2$:	CMP	(SP)+,(SP)+			;					0935
000060	000207 					RTS	PC

; Routine Size:  25 words,	Routine Base:  $CODE$ + 0402
; Maximum stack depth per invocation:  3 words
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  26
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (14)

;	  1010	
;	  1011	routine REINIT (XPTDB,CCB): MCB_DB_CCB novalue =
;	  1012	
;	  1013	!++
;	  1014	! FUNCTIONAL DESCRIPTION:
;	  1015	!
;	  1016	! This routine performs the "reinitialize" function.  It calls INI_LIN
;	  1017	! in Line Support to do that.  This function is invalid if the line is
;	  1018	! terminating.
;	  1019	!
;	  1020	! FORMAL PARAMETERS
;	  1021	!
;	  1022	!	CCB	Function CCB; it will be saved for completion.
;	  1023	!	  CCB[C_LIN]	Line index of line to reinitialize
;	  1024	!
;	  1025	! IMPLICIT INPUTS
;	  1026	!
;	  1027	!	NONE.
;	  1028	!
;	  1029	! ROUTINE VALUE:
;	  1030	! COMPLETION CODES:
;	  1031	!
;	  1032	!	NONE.
;	  1033	!
;	  1034	! SIDE EFFECTS:
;	  1035	!
;	  1036	!	Reinitializing a line will terminate all transmits pending
;	  1037	!	on that line.  All receive buffers given to Transport from
;	  1038	!	the line must have been returned before this function is
;	  1039	!	called.
;	  1040	!
;	  1041	!--
;	  1042	
;	  1043	begin
;	  1044	map CCB: ref block field (C_XPT_FIELDS);
;	  1045	local LINEb;
;	  1046	require 'XPTSYM';
;	  1083	
;	  1084	!
;	  1085	!  If the line is terminating, reject the request
;	  1086	!
;	  1087	
;	  1088	LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN]);  ! Address line data base entry
;	  1089	case .LINEstate from HA to RU of
;	  1090	set
;	  1091	
;	  1092	[HA,DT,OFF]:	begin			!Line is terminating or halted
;	  1093	
;	  1094	    CCB[C_STS] = CE_DIS;
;	  1095	    CCB[C_FNC] = FC_CCP;
;	  1096	    $MCB_SCHEDULE_CCB(.CCB);
;	  1097			end;
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  27
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (14)

;	  1098	
;	  1099	!
;	  1100	!  Otherwise, restart the line unconditionally
;	  1101	!
;	  1102	
;	  1103	[inrange]:	begin
;	  1104	    CALL$L(INI_LIN,.LINEb);
;	  1105	    CCB[C_LNK] = .LINEccb;		! Chain the function CCB
;	  1106	    LINEccb = .CCB;			!  into the pending queue
;	  1107			end;
;	  1108	
;	  1109	tes;
;	  1110	
;	  1111	end;				!End of REINIT


						.GLOBL	INI.LIN


						.SBTTL	REINIT
000000	005000 				; REINIT
					U.11:	CLR	R0				;					1088
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5				; *,LINEB
000014	111500 					MOVB	(R5),R0				; LINEB,*				1089
000016	006300 					ASL	R0
000020	066007  000110'				ADD	P.AAG(R0),PC			; Case dispatch
000024	012764  177520  000014 		1$:	MOV	#-260,14(R4)			; *,*(CCB)				1094
000032	112764  000022  000012 			MOVB	#22,12(R4)			; *,*(CCB)				1095
000040	004767  000000G				JSR	PC,$SCHED			;					1096
000044	000207 					RTS	PC				;					1089
000046	010546 				2$:	MOV	R5,-(SP)			; LINEB,*				1104
000050	012746  000001 				MOV	#1,-(SP)
000054	012746  000000G				MOV	#INI.LIN,-(SP)
000060	004767  000000G				JSR	PC,$CALL
000064	016514  000050 				MOV	50(R5),(R4)			; *(LINEB),CCB				1105
000070	010465  000050 				MOV	R4,50(R5)			; CCB,*(LINEB)				1106
000074	062706  000006 				ADD	#6,SP				;					1103
000100	000207 					RTS	PC				;					1011

; Routine Size:  33 words,	Routine Base:  $CODE$ + 0464
; Maximum stack depth per invocation:  4 words


000110						.PSECT	$PLIT$,  RO ,  D  

					P.AAG:						; CASE Table for REINIT+0020		1089
000110	000000 					.WORD	0				; [1$]
000112	000000 					.WORD	0				; [1$]
000114	000000 					.WORD	0				; [1$]
000116	000022 					.WORD	22				; [2$]
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  28
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (14)

000120	000022 					.WORD	22				; [2$]
000122	000022 					.WORD	22				; [2$]
000124	000022 					.WORD	22				; [2$]
000126	000022 					.WORD	22				; [2$]
000130	000022 					.WORD	22				; [2$]
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  29
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (15)

;	  1112	
;	  1113	routine TERMINATE (XPTDB,CCB): MCB_DB_CCB novalue =
;	  1114	
;	  1115	!++
;	  1116	! FUNCTIONAL DESCRIPTION:
;	  1117	!
;	  1118	! This routine performs the "termination" function for a line.  It calls
;	  1119	! TERM_LIN in Line Support to do this.
;	  1120	!
;	  1121	! FORMAL PARAMETERS
;	  1122	!
;	  1123	!	CCB	Function CCB; it is queued for completion.
;	  1124	!
;	  1125	! IMPLICIT INPUTS
;	  1126	!
;	  1127	!	NONE.
;	  1128	!
;	  1129	! ROUTINE VALUE:
;	  1130	! COMPLETION CODES:
;	  1131	!
;	  1132	!	NONE.
;	  1133	!
;	  1134	! SIDE EFFECTS:
;	  1135	!
;	  1136	!	All transmits outstanding to the line being terminated will be
;	  1137	!	returned to Transport before this function completes.  All receives
;	  1138	!	from the line which have been given to Transport must be returned
;	  1139	!	before this function is called.
;	  1140	!
;	  1141	!--
;	  1142	
;	  1143	begin
;	  1144	map CCB: ref block field (C_XPT_FIELDS);
;	  1145	local LINEb;
;	  1146	require 'XPTSYM';
;	  1183	
;	  1184	LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN]);  ! Address line data base entry
;	  1185	CALL$L(TERM_LIN,.LINEb);                ! Terminate the line protocol unconditionally
;	  1186	CCB[C_LNK] = .LINEccb;                  ! Chain the function CCB
;	  1187	LINEccb = .CCB;                         !  into the pending queue
;	  1188	end;				!End of TERMINATE


						.GLOBL	TERM.LIN


						.SBTTL	TERMINATE
000566						.PSECT	$CODE$,  RO 

000000	005000 				; TERMINATE
					U.12:	CLR	R0				;					1184
000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  30
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (15)

000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5				; *,LINEB
000014	010546 					MOV	R5,-(SP)			; LINEB,*				1185
000016	012746  000001 				MOV	#1,-(SP)
000022	012746  000000G				MOV	#TERM.LIN,-(SP)
000026	004767  000000G				JSR	PC,$CALL
000032	016514  000050 				MOV	50(R5),(R4)			; *(LINEB),CCB				1186
000036	010465  000050 				MOV	R4,50(R5)			; CCB,*(LINEB)				1187
000042	062706  000006 				ADD	#6,SP				;					1143
000046	000207 					RTS	PC				;					1113

; Routine Size:  20 words,	Routine Base:  $CODE$ + 0566
; Maximum stack depth per invocation:  4 words
TLIITF								25-Jan-1983 09:59:44	TOPS-20 Bliss-16 2A(530)	    Page  31
X01150								30-Dec-1982 21:07:12	NETPKG:<XPT>TLIITF.BLI.9 (16)

;	  1189	
;	  1190	end				!End of module TLIITF
;	  1191	eludom



;					OTS external references
						.GLOBL	$CALL


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $PLIT$				   45	    RO ,  D  ,  LCL,  REL,  CON
;	 ......				   16	    RW ,  D  ,  LCL,  REL,  CON
;	 $CODE$				  207	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<MCB>XPORTX.L16.15		       599         0         0         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        57        15         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200         0         0         0
;  NETPKG:<XPT>XPTLIB.L16.3		       510       169        33         0





; Size:		207 code + 61 data words
; Run Time:	00:11.8
; Elapsed Time:	00:38.9
; Memory Used:	41 pages
; Compilation Complete
ADDRESS				 170+	 172+	 173+	 175+	 176+	 178+	 179+	 185+	 186+	 189+	 190+	 191+
BPT				 199+#	 211+#
BUFCHK				 203+	 204+#	 213+	 214+#
CALL$L				1104	1185
CCB				 309	 341	 345	 373	 417	 421	 457	 461	 490	 534	 538	 567
				 607	 629	 642	 643#	 647	 648#	 651#	 655	 656#	 660	 661#	 665
				 666#	 670#	 671#	 675#	 677	 680	 709	 752	 788	 816	 856	 857#
				 858	 861	 890	 929#	 930#	 931#	 932	 935	 963	1002	1003	1005#
				1006	1011	1044	1088	1094#	1095#	1096	1105#	1106	1113	1144	1184
				1186#	1187
CCPGO				 227	 297	 680*
CCPSTP				 254	 751
CCPSTR				 253*	 750
CE_DIS				1094
CHKBUF				 206+*	 207+
CTLGO				 224	 293	 421*
C_FNC				 643	 648	 651	 656	 661	 666	 675	 930	1095
C_HANDLE			 670	 857	 929	1005
C_LIN				 417	 534	 607	 752	 856	1088	1184
C_LNK				1105	1186
C_MOD				 671	 931
C_OWN				1002
C_STS				1094
C_XPT_FIELDS			 373	 490	 567	 709	 816	 890	 963	1044	1144
DISPATCH$			 338	 412	 450	 529	 748
DLL$K_INITIALIZE_LINK		 532
DLL$K_STOP_LINK			 533
DLL$K_TRANSMIT			 531	 931
DLLHANDLE			 857	 929
DLLSTATE			 613
DLL_RTN				 231	 531	 935*
DLL_RUNNING			 613
DT				1092
FC_AST				 290
FC_CCP				 289	 297	1095
FC_CTL				 293
FC_RCE				 292	 643	 648	 651	 656	 661	 666	 675	 930
FC_RCP				 296
FC_TIM				 294
FC_XCP				 295
FC_XME				 291
FD_CCP				 749
FD_CTL				 451
FD_RCE				 413
FD_XCP				 530
FD_XME				 339
FM_NM				 456
FM_STP				 453	 751
FM_STR				 452	 750
GETB				 635	 638
GETQ				 170+#
GETW				 149+#	 172+	 173+
GIVE_CIRCUIT			 255	 452
HA				1089	1092
HELLO_CTLFLG			 658
I				 194+	 196+
INIT_CTLFLG			 653
INIT_SUBFLG			 640
INI_LIN				1104
J				 194+	 196+
LD_CMP				 256	 416
LINEBLOCK			 401+	 518+	 596+	 737+	 845+	 918+	 991+	1073+	1173+
LINEB				 399+	 401+	 516+	 518+	 568	 594+	 596+	 607#	 642	 647	 655	 660
				 665	 735+	 737+	 817	 843+	 845+	 856#	 861	 916+	 918+	 935	 989+
				 991+	1003	1045	1071+	1073+	1088#	1104	1145	1171+	1173+	1184#	1185
LINECCB				1105	1106#	1186	1187#
LINESTATE			1089
LINKAGE_DB_CCB			 258	 259	 260	 261	 262
LISTEN_CLOCK			 623#
LISTEN_TIMER			 623
LLC_DISPATCH			 307#
LU_CMP				 257	 414
M				 194+	 195+
MAPBUF				 629
MATRIX				 194+#	 196+
MCB$GAW_PROCESS_DATA_BASE	 404+	 405+	 408+	 521+	 522+	 525+	 599+	 600+	 603+	 740+	 741+	 744+
				 848+	 849+	 852+	 921+	 922+	 925+	 994+	 995+	 998+	1076+	1077+	1080+
				1176+	1177+	1180+
MCB$GW_PROCESS_HANDLE		 250	1002
MCB_DB_CCB_MOD			 222	 223	 224	 225	 226	 227	 265	 309#	 345#	 421#	 461#	 538#
				 680#
MCB_DB_CCB			 229	 230	 231	 232	 233	 253	 254	 255	 256	 257	 263	 264
				 266	 267	 268	 342	 418	 458	 535	 753	 788#	 861#	 935#	1011#
				1113#
MCB_DB_MOD			 228	 757#
MODIFIER			 309	 338	 345	 412	 421	 450	 461	 529	 538	 680	 748	 757
N				 194+	 195+
NAME				 307#
NL				 194+	 196+
NODEBLOCK			 396+	 513+	 591+	 732+	 840+	 913+	 986+	1068+	1168+
NODEB				 394+	 396+	 511+	 513+	 589+	 591+	 730+	 732+	 838+	 840+	 911+	 913+
				 984+	 986+	1066+	1068+	1166+	1168+
NOP				 211+	 212+	 214+
NO_LINEB			 400+	 517+	 595+	 736+	 844+	 917+	 990+	1072+	1172+
NO_NODEB			 395+	 512+	 590+	 731+	 839+	 912+	 985+	1067+	1167+
OFF				1092
OTI_CTLFLG			 637
POINTER				 615
PTR				 149+	 152+	 153+	 156+	 159+	 160+	 166+	 167+	 170+	 172+	 173+	 175+
				 178+	 179+	 180+	 181+	 185+	 186+	 615	 629	 635	 638
PUTQ				 175+#
PUTW				 156+#	 185+	 186+
RCEGO				 223	 292	 345*
RCPGO				 226	 296	 538*
RCV_HLO				 258	 660
RCV_NI				 259	 642
RCV_NV				 260	 647
RCV_TI				 261	 655
RCV_TV				 262	 665
REINIT				 232	 454	1011*
RU				1089
TABLE$				 289	 339	 413	 451	 530	 749
TAKE_CIRCUIT			 263	 453
TERMINATE			 233	 455	1113*
TERM_LIN			1185
TIMGO				 228	 294	 757*
TLI				 307
TLIAST				 265	 290
TLIITF				  20#
TLI_NM				 264	 456
TLI_RTN				 230	 415	 861*
TLI_XMT				 229	 340	 788*
TM_DAT				 340	 415
TM_INI				 414
TM_STP				 455
TM_STR				 454
TM_TRM				 416
UNIT				 194+#	 195+	 196+
VALUE				 156+	 157+	 159+	 160+	 165+
VERIFY_CTLFLG			 663
VER_SUBFLG			 645
X				 151+	 152+#	 153+#	 154+	 164+	 165+#	 166+	 167+
XCPDAT				 266	1003
XCPGO				 225	 295	 461*
XCPINI				 267	 532
XCPSTP				 268	 533
XMEGO				 222	 291	 309*
XM_DAT				 671
XPTDBBLOCK			 410+	 527+	 605+	 746+	 854+	 927+	1000+	1082+	1182+
XPTDB				 309	 341	 345	 407+	 408+#	 409+	 421	 457	 461	 524+	 525+#	 526+
				 538	 602+	 603+#	 604+	 680	 743+	 744+#	 745+	 757	 788	 851+	 852+#
				 853+	 924+	 925+#	 926+	 997+	 998+#	 999+	1011	1079+	1080+#	1081+	1113
				1179+	1180+#	1181+
XPTHANDLE			 670	1005
ZEROQ				 189+#
$DLL_TRANSMIT			 858
$DSPCR				 285*	 289	 339	 413	 451	 530	 749
$MCB_PROCESS			 307
$MCB_SCHEDULE_CCB		 677	 932	1006	1096
$TLILL				 289#	 307
$TLI_GET_LINE_DB		 417	 534	 607	 752	 856	1088	1184
%CTCE				 157+	 176+
%REMAINING			 201+