Google
 

Trailing-Edge - PDP-10 Archives - BB-R598A-RM_1983 - swskit-v3/listings/xpt/tlinmi.list
There are no other files named tlinmi.list in the archive.
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   1
								30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (1)

;	  0001	module TLINMI   (				! Network Management stuff
;	  0002			ident = 'X01160'
;	  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	! FACILITY:	Transport
;	  0028	!
;	  0029	! ABSTRACT:	This is the Network Management interface for the MCB
;	  0030	!		implementation of the Transport Line Interface.  It
;	  0031	!               dispatches to a processing routine in XPTNMX.
;	  0032	!
;	  0033	! ENVIRONMENT:	MCB
;	  0034	!
;	  0035	! AUTHOR:	L. Webber,	CREATION DATE: 20-Nov-80
;	  0036	!
;	  0037	! MODIFIED BY:
;	  0038	!
;	  0039	! 1.00	L. Webber, 11-Dec-80
;	  0040	!	Modified the model interface template to match XPT.
;	  0041	!
;	  0042	! 1.01	L. Webber, 22-Dec-80
;	  0043	!	Split into XPT and TLI parts.
;	  0044	!
;	  0045	! 1.02	L. Webber, 25-Feb-81
;	  0046	!	NMX entries are now in process XNM.
;	  0047	!
;	  0048	! 1.03	L. Webber, 20-May-81
;	  0049	!	Add GIVE_CIRCUIT and TAKE_CIRCUIT to support the new DLL/Network
;	  0050	!	Management Interface.
;	  0051	!
;	  0052	! 1.04	L. Webber, 23-Jun-81
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   2
X01160								30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (1)

;	  0053	!	Construct EID for the $MODIFY_CIRCUIT_OWNER using TLI's PIX.
;	  0054	!
;	  0055	! 1.05	L. Webber, 9-Jul-81
;	  0056	!	Fix call to SHOW_ZERO_COUNTERS for zeroing to pass correct function
;	  0057	!	code.
;	  0058	!
;	  0059	! 1.06	L. Webber, 13-Jul-81
;	  0060	!	Fix linkage to SET_PARM to pass address of COSTCH.
;	  0061	!
;	  0062	! 1.07	L. Webber, 16-Sep-81
;	  0063	!	Fix GIVE_CIRCUIT to use the DLLLIB sub-field to get the provider PIX
;	  0064	!	from the function CCB.
;	  0065	!
;	  0066	! 1.08	L. Webber, 24-Sep-81
;	  0067	!	Change GIVE_CIRCUIT not to save the ASCII circuit ID any more.
;	  0068	!
;	  0069	! 1.09	L. Webber, 28-Sep-81
;	  0070	!	Fix GIVE_CIRCUIT to use the provider LIX to get the circuit ID
;	  0071	!	from CEX, not the PIX.
;	  0072	!
;	  0073	! 1.10	A. Peckham, 14-Apr-82
;	  0074	!	Move NM code from XNM to this module.  Optimize linkages.
;	  0075	!
;	  0076	! 1.11	A. Peckham, 2-May-82
;	  0077	!	Only modify circuit owner on first assignment.
;	  0078	!
;	  0079	! 1.12	A. Peckham, 10-Sep-82
;	  0080	!	Do not set initial Lcv in GIVE_CIRCUIT.
;	  0081	!
;	  0082	! 1.13	A. Peckham, 14-Sep-82
;	  0083	!	Display new variable "Block_size" for circuit parameter #810.
;	  0084	!
;	  0085	! 1.14	A. Peckham, 29-Sep-82
;	  0086	!	Fix setting of DLLhandle to fix low byte as LINEnumber in GIVE_CIRCUIT.
;	  0087	!
;	  0088	! 1.15	A. Peckham,  1-Oct-82
;	  0089	!	Make CLEAR CIRCUIT ALL work in CLEAR_CIRCUIT.
;	  0090	!
;	  0091	! 1.16	A. Peckham, 20-Nov-82
;	  0092	!	Support seconds-since-last-zeroed counter.
;	  0093	!
;	  0094	!--
;	  0095	
;	  0096	!
;	  0097	! REQUIRED FILES
;	  0098	!
;	  0099	
;	  0100	require 'XPTMAC';
;	  0198	
;	L 0199	%if %bliss (bliss16)
;	  0200	%then
;	  0201	linkage XPT_LKG_CCB = jsr (register = 4);
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   3
X01160								30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (1)

;	U 0202	%else
;	U 0203	macro XPT_LKG_CCB = bliss36c;
;	  0204	%fi
;	  0205	
;	  0206	!
;	  0207	! TABLE OF CONTENTS:
;	  0208	!
;	  0209	forward routine
;	  0210	    TLI_NM: MCB_DB_CCB novalue,         ! Control (i.e., NM)
;	  0211	    CIRCUIT_COUNTERS: LINKAGE_DB novalue,       ! Get circuit counters
;	  0212	    CLEAR_CIRCUIT: LINKAGE_DB_CCB novalue, ! Clear a circuit parameter
;	  0213	    GIVE_CIRCUIT: MCB_DB_CCB novalue,   ! Grant Circuit Ownership
;	  0214	    SET_CIRCUIT: LINKAGE_DB_CCB novalue, ! Set a circuit parameter
;	  0215	    SHOW_AND_ZERO_CIRCUIT_COUNTERS: LINKAGE_DB_CCB novalue,
;	  0216	                                        ! Show and zero circuit counters
;	  0217	    SHOW_CIRCUIT: LINKAGE_DB_CCB novalue, ! Show circuit parameters
;	  0218	    TAKE_CIRCUIT: MCB_DB_CCB novalue,   ! Withdraw Circuit Ownership
;	  0219	    ZERO_CIRCUIT_COUNTERS: LINKAGE_DB_CCB novalue; ! Zero circuit counters
;	  0220	
;	  0221	!
;	  0222	! MACROS:
;	  0223	!
;	  0224	
;	  0225	!
;	  0226	! EQUATED SYMBOLS:
;	  0227	!
;	  0228	
;	  0229	!
;	  0230	! OWN STORAGE:
;	  0231	!
;	  0232	
;	  0233	!
;	  0234	! EXTERNAL REFERENCES:
;	  0235	!
;	  0236	external routine
;	  0237	    CKTOFF: LINKAGE_DB_CCB novalue,
;	  0238	    CKTON: LINKAGE_DB_CCB novalue;
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   4
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (2)

;	  0239	%sbttl 'Network Management'
;	  0240	global routine TLI_NM (XPTDB,CCB): MCB_DB_CCB novalue =
;	  0241	
;	  0242	!++
;	  0243	! FUNCTIONAL DESCRIPTION:
;	  0244	!	This routine is activated by a control request from
;	  0245	!	Network Management.
;	  0246	!
;	  0247	! FORMAL PARAMETERS:
;	  0248	!
;	  0249	!	CCB	CCB to pass to handler routine
;	  0250	!
;	  0251	! IMPLICIT INPUTS:
;	  0252	!	CCB Contents
;	  0253	!
;	  0254	! IMPLICIT OUTPUTS:
;	  0255	!	None
;	  0256	!
;	  0257	! ROUTINE VALUE:
;	  0258	! COMPLETION CODES:
;	  0259	!	None
;	  0260	!
;	  0261	! SIDE EFFECTS:
;	  0262	!	None
;	  0263	!--
;	  0264	
;	  0265	    begin
;	  0266	
;	  0267	    require 'XPTSYM';
;	  0304	
;	  0305	    map
;	  0306		CCB: ref block field (C_NM_FIELDS);
;	  0307	
;	  0308	    selectone .CCB [C_NM_ENTITY] of
;	  0309		set
;	  0310		[NMX$ENT_ckt]: 		! NM function for circuit parameter
;	  0311			case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0312			    set 			! *** CIRCUIT ***
;	  0313			    [NMX$FNC_set]: 		! Set parameters
;	  0314				SET_CIRCUIT (.XPTDB,.CCB);
;	  0315			    [NMX$FNC_clr]: 		! Clear parameters
;	  0316				CLEAR_CIRCUIT (.XPTDB,.CCB);
;	  0317			    [NMX$FNC_zro]: 		! Zero counters
;	  0318				ZERO_CIRCUIT_COUNTERS (.XPTDB,.CCB);
;	  0319			    [NMX$FNC_sho]: 		! Show selected items
;	  0320				SHOW_CIRCUIT (.XPTDB,.CCB);
;	  0321			    [NMX$FNC_szc]: 		! Show and zero counters
;	  0322				SHOW_AND_ZERO_CIRCUIT_COUNTERS (.XPTDB,.CCB);
;	  0323			    [NMX$FNC_ret]: 		! Return selected items
;	  0324				CCB [C_STS] = $NM$ERR_MPE;
;	  0325			    [inrange, outrange]: CCB [C_STS] = $NM$ERR_MPE;
;	  0326			    tes;
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   5
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (2)

;	  0327		    [otherwise]: CCB [C_STS] = $NM$ERR_URC;
;	  0328		    tes;
;	  0329	
;	  0330	    if .CCB[C_STS] neq 0 then begin
;	  0331		CCB [C_FNC] = FC_CCP;
;	  0332		$MCB_SCHEDULE_CCB (.CCB);
;	  0333		end;
;	  0334	    end;


						.TITLE	TLINMI
						.IDENT	/X01160/

						.GLOBL	CKTOFF, CKTON, .CRDAT, $SCHED


						.SBTTL	TLI.NM Network Management
000000						.PSECT	$CODE$,  RO 

000000	016400  000024 			TLI.NM::
					U.1:	MOV	24(R4),R0			; *(CCB),*				0308
000004	072027  177770 				ASH	#-10,R0
000010	042700  177760 				BIC	#177760,R0
000014	020027  000004 				CMP	R0,#4
000020	001040 					BNE	8$
000022	116400  000024 				MOVB	24(R4),R0			; *(CCB),*				0311
000026	006200 					ASR	R0
000030	042700  177600 				BIC	#177600,R0
000034	005300 					DEC	R0
000036	020027  000005 				CMP	R0,#5
000042	101023 					BHI	7$
000044	006300 					ASL	R0
000046	066007  000000'				ADD	P.AAA(R0),PC			; Case dispatch
000052	000417 				1$:	BR	7$				;					0325
000054	004767  000000V			2$:	JSR	PC,U.5				;					0314
000060	000423 					BR	9$				;					0311
000062	004767  000000V			3$:	JSR	PC,U.3				;					0316
000066	000420 					BR	9$				;					0311
000070	004767  000000V			4$:	JSR	PC,U.9				;					0318
000074	000415 					BR	9$				;					0311
000076	004767  000000V			5$:	JSR	PC,U.7				;					0320
000102	000412 					BR	9$				;					0311
000104	004767  000000V			6$:	JSR	PC,U.6				;					0322
000110	000407 					BR	9$				;					0311
000112	012764  177773  000014 		7$:	MOV	#-5,14(R4)			; *,*(CCB)				0324
000120	000405 					BR	10$				;					0308
000122	012764  177770  000014 		8$:	MOV	#-10,14(R4)			; *,*(CCB)				0327
000130	005764  000014 			9$:	TST	14(R4)				; *(CCB)				0330
000134	001405 				10$:	BEQ	11$
000136	112764  000022  000012 			MOVB	#22,12(R4)			; *,*(CCB)				0331
000144	004767  000000G				JSR	PC,$SCHED			;					0332
000150	000207 				11$:	RTS	PC				;					0240
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   6
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (2)


; Routine Size:  53 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  1 word


000000						.PSECT	$PLIT$,  RO ,  D  

					P.AAA:						; CASE Table for TLI.NM+0046		0311
000000	000002 					.WORD	2				; [2$]
000002	000010 					.WORD	10				; [3$]
000004	000016 					.WORD	16				; [4$]
000006	000024 					.WORD	24				; [5$]
000010	000032 					.WORD	32				; [6$]
000012	000040 					.WORD	40				; [7$]
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   7
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (3)

;	  0335	
;	  0336	routine CIRCUIT_COUNTERS (LINEb): LINKAGE_DB novalue =
;	  0337	
;	  0338	!++
;	  0339	! FUNCTIONAL DESCRIPTION:
;	  0340	!	This routine inserts the counters for the specified circuit
;	  0341	!       in the NM buffer.
;	  0342	!
;	  0343	! FORMAL PARAMETERS:
;	  0344	!
;	  0345	!	LINEb	Line data base pointer
;	  0346	!
;	  0347	! IMPLICIT INPUTS:
;	  0348	!	None
;	  0349	!
;	  0350	! IMPLICIT OUTPUTS:
;	  0351	!	None
;	  0352	!
;	  0353	! ROUTINE VALUE:
;	  0354	! COMPLETION CODES:
;	  0355	!	None
;	  0356	!
;	  0357	! SIDE EFFECTS:
;	  0358	!	None
;	  0359	!--
;	  0360	
;	  0361	    begin
;	  0362	    require 'XPTSYM';
;	  0399	    COUNTER_16_TIME(0,Time_circuit_zeroed);     ! Seconds since last zeroed
;	  0400	    COUNTER_32(800,Arriving_Packets);   ! Terminating Packets Received
;	  0401	    COUNTER_32(801,Departing_Packets);  ! Originating Packets Sent
;	  0402	    COUNTER_16(802,End_Congestion);     ! Terminating Congestion Loss
;	  0403	    COUNTER_32(810,Transit_In);         ! Transit Packets Received
;	  0404	    COUNTER_32(811,Transit_Out);        ! Transit Packets Sent
;	  0405	    COUNTER_16(812,Transit_Congestion); ! Transit Congestion Loss
;	  0406	    COUNTER_8(820,Line_Downs);          ! Circuit Down's
;	  0407	    COUNTER_8(821,Init_Fails);          ! Circuit Initialization Failures
;	  0408	    end;                                ! of CIRCUIT_COUNTERS


						.GLOBL	$DT16, $DC32, $DC16, $DC8


						.SBTTL	CIRCUIT.COUNTERS Network Management
000152						.PSECT	$CODE$,  RO 

000000	004167  000000G			; CIRCUIT.COUNTERS
					U.2:	JSR	R1,$SAVE5			;					0336
000004	010501 					MOV	R5,R1				; *,LINEB
000006	012746  140000 				MOV	#-40000,-(SP)			;					0399
000012	010100 					MOV	R1,R0				; LINEB,*
000014	062700  000052 				ADD	#52,R0
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   8
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (3)

000020	004767  000000G				JSR	PC,$DT16
000024	012716  161440 				MOV	#-16340,(SP)			;					0400
000030	010100 					MOV	R1,R0				; LINEB,*
000032	062700  000056 				ADD	#56,R0
000036	004767  000000G				JSR	PC,$DC32
000042	012716  161441 				MOV	#-16337,(SP)			;					0401
000046	010100 					MOV	R1,R0				; LINEB,*
000050	062700  000062 				ADD	#62,R0
000054	004767  000000G				JSR	PC,$DC32
000060	012716  141442 				MOV	#-36336,(SP)			;					0402
000064	016100  000066 				MOV	66(R1),R0			; *(LINEB),*
000070	004767  000000G				JSR	PC,$DC16
000074	012716  161452 				MOV	#-16326,(SP)			;					0403
000100	010100 					MOV	R1,R0				; LINEB,*
000102	062700  000070 				ADD	#70,R0
000106	004767  000000G				JSR	PC,$DC32
000112	012716  161453 				MOV	#-16325,(SP)			;					0404
000116	010105 					MOV	R1,R5				; LINEB,*
000120	062705  000074 				ADD	#74,R5
000124	010500 					MOV	R5,R0
000126	004767  000000G				JSR	PC,$DC32
000132	012716  141454 				MOV	#-36324,(SP)			;					0405
000136	016100  000100 				MOV	100(R1),R0			; *(LINEB),*
000142	004767  000000G				JSR	PC,$DC16
000146	012716  121464 				MOV	#-56314,(SP)			;					0406
000152	116100  000102 				MOVB	102(R1),R0			; *(LINEB),*
000156	004767  000000G				JSR	PC,$DC8
000162	012716  121465 				MOV	#-56313,(SP)			;					0407
000166	116100  000103 				MOVB	103(R1),R0			; *(LINEB),*
000172	004767  000000G				JSR	PC,$DC8
000176	005726 					TST	(SP)+				;					0361
000200	000207 					RTS	PC				;					0336

; Routine Size:  65 words,	Routine Base:  $CODE$ + 0152
; Maximum stack depth per invocation:  8 words
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page   9
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (4)

;	  0409	
;	  0410	routine CLEAR_CIRCUIT (XPTDB,CCB): LINKAGE_DB_CCB novalue =
;	  0411	
;	  0412	!++
;	  0413	! FUNCTIONAL DESCRIPTION:
;	  0414	!	This routine clears a circuit parameter
;	  0415	!
;	  0416	! FORMAL PARAMETERS:
;	  0417	!
;	  0418	!	CCB	CCB to pass to handler routine
;	  0419	!
;	  0420	! IMPLICIT INPUTS:
;	  0421	!	CCB Contents
;	  0422	!
;	  0423	! IMPLICIT OUTPUTS:
;	  0424	!	None
;	  0425	!
;	  0426	! ROUTINE VALUE:
;	  0427	! COMPLETION CODES:
;	  0428	!	None
;	  0429	!
;	  0430	! SIDE EFFECTS:
;	  0431	!	None
;	  0432	!--
;	  0433	
;	  0434	    begin
;	  0435	    map CCB: ref block field(C_NM_FIELDS);
;	  0436	    local LINEb;
;	  0437	    require 'XPTSYM';
;	  0474	
;	  0475	!
;	  0476	! Determine the entity whose parameter is to be set
;	  0477	!
;	  0478	
;	  0479	    CCB [C_STS] = $NM$ERR_PNA;
;	  0480	
;	  0481	    selectone
;	  0482	        begin
;	  0483	        if .CCB[C_CNT] eql 0
;	  0484	        then 2600
;	  0485	        else begin
;	  0486	             pointer PTR;
;	  0487	             MAPBUF(.CCB,PTR);
;	  0488	             getw(PTR)
;	  0489	             end
;	  0490	        end
;	  0491	    of
;	  0492	        set
;	  0493	[2600]:		begin			! Circuit node-type
;	  0494	    CCB [C_STS] = $NM$ERR_CWS;
;	  0495	    if (LINEb = $TLI_GET_LINE_DB(.CCB [C_LIN])) neqa 0
;	  0496	    then begin
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  10
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (4)

;	  0497	        Ph2only = false;                !     to "automatic"
;	  0498	        CCB [C_STS] = NM$SUC;
;	  0499		end;
;	  0500			end;
;	  0501	
;	  0502	[otherwise]:	0;                      ! Invalid parameter type
;	  0503	tes;
;	  0504	    end;                                ! of CLEAR_CIRCUIT


						.GLOBL	KISAR6, GTLINE


						.SBTTL	CLEAR.CIRCUIT Network Management
000000	010546 				; CLEAR.CIRCUIT
					U.3:	MOV	R5,-(SP)			;					0410
000002	005746 					TST	-(SP)
000004	012705  000014 				MOV	#14,R5				;					0479
000010	060405 					ADD	R4,R5				; CCB,*
000012	012715  177752 				MOV	#-26,(R5)
000016	005764  000022 				TST	22(R4)				; *(CCB)				0483
000022	001003 					BNE	1$
000024	012700  005050 				MOV	#5050,R0			;					0482
000030	000411 					BR	2$
000032	016467  000016  000000G		1$:	MOV	16(R4),KISAR6			; *(CCB),*				0487
000040	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR
000044	112016 					MOVB	(R0)+,(SP)			; PTR,X					0488
000046	112066  000001 				MOVB	(R0)+,1(SP)			; PTR,X
000052	011600 					MOV	(SP),R0				; X,*
000054	020027  005050 			2$:	CMP	R0,#5050			;					0481
000060	001016 					BNE	3$
000062	012715  177765 				MOV	#-13,(R5)			;					0494
000066	005000 					CLR	R0				;					0495
000070	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000074	004767  000000G				JSR	PC,GTLINE
000100	005700 					TST	R0				; LINEB
000102	001405 					BEQ	3$
000104	042760  002000  000002 			BIC	#2000,2(R0)			; *,*(LINEB)				0497
000112	012715  000001 				MOV	#1,(R5)				;					0498
000116	005726 				3$:	TST	(SP)+				;					0410
000120	012605 					MOV	(SP)+,R5
000122	000207 					RTS	PC

; Routine Size:  42 words,	Routine Base:  $CODE$ + 0354
; Maximum stack depth per invocation:  3 words
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  11
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (5)

;	  0505	
;	  0506	global
;	  0507	routine GIVE_CIRCUIT (XPTDB,CCB): MCB_DB_CCB novalue =
;	  0508	
;	  0509	!++
;	  0510	! FUNCTIONAL DESCRIPTION:
;	  0511	!
;	  0512	! Processes a "Grant Circuit Ownership" function.  If this is the
;	  0513	! first time the circuit has been mentioned, a data base entry is
;	  0514	! allocated for it.  Network Management is informed of the change
;	  0515	! in circuit owner.  If the circuit's Network Management state is ON,
;	  0516	! the circuit is initialized.
;	  0517	!
;	  0518	! FORMAL PARAMETERS
;	  0519	!
;	  0520	!	CCB	Function CCB
;	  0521	!
;	  0522	!		CCB[C_LIN]	0, if ownership of the circuit is being
;	  0523	!				given Transport for the first time.  Other-
;	  0524	!				wise, the index of the data base entry
;	  0525	!				allocated for the circuit.
;	  0526	!
;	  0527	!			If C_LIN is 0:
;	  0528	!
;	  0529	!		CCB[C_PRM1]
;	  0530	!		  subfield DLL$B_PROVIDER_PROCESS_INDEX
;	  0531	!				Provider PIX for the DLL process for the
;	  0532	!				circuit.
;	  0533	!		  subfield DLL$B_PROVIDER_LINE_INDEX
;	  0534	!				Provider LIX for the circuit.
;	  0535	!		CCB[C_PRM2]	Pointer to an unmapped image field which
;	  0536	!				represents the ASCII line ID.
;	  0537	!		CCB[C_PRM3]	Circuit characteristics:
;	  0538	!
;	  0539	!				........ .......x	1 if the circuit is a
;	  0540	!							DTE adjacent to a KL.
;	  0541	!				xxxxxxxx xxxxxxx.	Reserved.
;	  0542	!				
;	  0543	!
;	  0544	! IMPLICIT INPUTS
;	  0545	!
;	  0546	!	NONE.
;	  0547	!
;	  0548	! ROUTINE VALUE:
;	  0549	! COMPLETION CODES:
;	  0550	!
;	  0551	!	NONE.
;	  0552	!
;	  0553	! SIDE EFFECTS:
;	  0554	!
;	  0555	!	NONE.
;	  0556	!
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  12
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (5)

;	  0557	!--
;	  0558	
;	  0559	begin
;	  0560	map CCB: ref block field(C_fields);
;	  0561	local LINEb;
;	  0562	require 'XPTSYM';
;	  0599	local P,Q,LEN;
;	  0600	
;	  0601	!
;	  0602	!  Set up a line data base entry if required.
;	  0603	!
;	  0604	
;	  0605	if .CCB[C_LIN] eql 0 then begin
;	  0606	    bind DLL_FLAG = CCB [C_PRM3]: block field (DLL$V_DTE_CIRCUIT);
;	  0607	         
;	  0608	    incr J from 1 to NLN do begin		!   Scan for a
;	  0609		LINEb = $TLI_GET_LINE_DB(.J);           !   free line data
;	  0610		if .DLLhandle eql 0 then		!   base entry
;	  0611		    exitloop(CCB [C_LIN] = .J);
;	  0612		end;
;	  0613	    if .CCB [C_LIN] eql 0 then			! Not found -
;	  0614		SIGNAL_STOP(CE_ERR);			!   bomb
;	  0615	    DLLhandle = (.CCB[C_PRM1] and not %o'377') + .LINEnumber;
;	  0616	    DTEcircuit = false;
;	  0617	    if .DLL_FLAG [DLL$V_DTE_CIRCUIT]    ! If the circuit is a DTE,
;	  0618	    then begin
;	  0619	         DTEcircuit = true;		!   remember the fact.
;	  0620	         Intercept = true;
;	  0621	         end;
;	  0622	    Hello_timer = Default_Hello_timer;
;	  0623	    Listen_timer = Default_Listen_timer;
;	  0624	    $NM_TIME(Time_circuit_zeroed);
;	  0625	
;	  0626	!
;	  0627	!  Inform Network Management of the new circuit owner
;	  0628	!
;	  0629	
;	  0630	    begin
;	  0631	    local
;	  0632	        NMX_ID,
;	  0633	        SAVE_MAP;
;	  0634	    SMAP$(SAVE_MAP);
;	  0635	    MAP$(.CCB[C_BIAS]);
;	P 0636	    NMX$MODIFY_CIRCUIT_OWNER (PD_NMX,		! NMX's PIX
;	P 0637	                              .CCB [C_ADDR],	! ASCII ID
;	P 0638	                              PD_TLI^8+.CCB[C_LIN],! EID
;	  0639	                              NMX_ID);		! Circuit's NMXID (returned)
;	  0640	    MAP$(.SAVE_MAP);
;	  0641	    NMXID = .NMX_ID;
;	  0642	    end;
;	  0643	    end
;	  0644	else						! "Old" circuit:
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  13
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (5)

;	  0645	    LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN]);      !   address line data base
;	  0646	
;	  0647	!
;	  0648	!  Change the ownership state.
;	  0649	!
;	  0650	
;	  0651	if not .OWNED                           ! Attempt to grant ownership
;	  0652	then CKTON(.LINEb, .CCB)                ! of the circuit
;	  0653	else SIGNAL_STOP(CE_ERR);		! otherwise there is a mixup
;	  0654	
;	  0655	end;				!End of GIVE_CIRCUIT


						.GLOBL	$ST32, $NMMID, $CALLP


						.SBTTL	GIVE.CIRCUIT Network Management
000000	005746 				GIVE.CIRCUIT::
					U.4:	TST	-(SP)				;					0507
000002	010402 					MOV	R4,R2				; *,CCB
000004	010503 					MOV	R5,R3				; *,XPTDB
000006	012746  000010 				MOV	#10,-(SP)			;					0605
000012	060216 					ADD	R2,(SP)				; CCB,*
000014	105776  000000 				TSTB	@0(SP)
000020	001142 					BNE	6$
000022	005004 					CLR	R4				; J					0608
000024	000412 					BR	2$
000026	010400 				1$:	MOV	R4,R0				; J,*					0609
000030	004767  000000G				JSR	PC,GTLINE
000034	010001 					MOV	R0,R1				; *,LINEB
000036	005761  000032 				TST	32(R1)				; *(LINEB)				0610
000042	001003 					BNE	2$
000044	110476  000000 				MOVB	R4,@0(SP)			; J,*					0611
000050	000406 					BR	3$
000052	005204 				2$:	INC	R4				; J					0608
000054	020463  000022 				CMP	R4,22(R3)			; J,*(XPTDB)
000060	003762 					BLE	1$
000062	105776  000000 				TSTB	@0(SP)				;					0613
000066	001007 				3$:	BNE	4$
000070	012746  177760 				MOV	#-20,-(SP)			;					0614
000074	012746  000001 				MOV	#1,-(SP)
000100	004767  000000G				JSR	PC,$STOP
000104	022626 					CMP	(SP)+,(SP)+
000106	016204  000024 			4$:	MOV	24(R2),R4			; *(CCB),*				0615
000112	042704  000377 				BIC	#377,R4
000116	005000 					CLR	R0
000120	156100  000026 				BISB	26(R1),R0			; *(LINEB),*
000124	060004 					ADD	R0,R4
000126	010461  000032 				MOV	R4,32(R1)			; *,*(LINEB)
000132	012700  000002 				MOV	#2,R0
000136	060100 					ADD	R1,R0				; LINEB,*
000140	042710  010000 				BIC	#10000,(R0)			;					0616
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  14
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (5)

000144	132762  000001  000030 			BITB	#1,30(R2)			; *,*(CCB)				0617
000152	001402 					BEQ	5$
000154	052710  010400 				BIS	#10400,(R0)			;					0620
000160	016361  000064  000022 		5$:	MOV	64(R3),22(R1)			; *(XPTDB),*(LINEB)			0622
000166	016361  000066  000024 			MOV	66(R3),24(R1)			; *(XPTDB),*(LINEB)			0623
000174	010105 					MOV	R1,R5				; LINEB,*				0624
000176	062705  000052 				ADD	#52,R5
000202	010500 					MOV	R5,R0
000204	004767  000000G				JSR	PC,$ST32
000210	016704  000000G				MOV	KISAR6,R4			; *,SAVE.MAP				0634
000214	016267  000016  000000G			MOV	16(R2),KISAR6			; *(CCB),*				0635
000222	012746  000004 				MOV	#4,-(SP)			;					0639
000226	060616 					ADD	SP,(SP)				; NMX.ID,*
000230	005005 					CLR	R5
000232	156305  000003 				BISB	3(R3),R5			; *(XPTDB),*
000236	072527  000010 				ASH	#10,R5
000242	005000 					CLR	R0
000244	157600  000002 				BISB	@2(SP),R0
000250	060005 					ADD	R0,R5
000252	010546 					MOV	R5,-(SP)
000254	016246  000020 				MOV	20(R2),-(SP)			; *(CCB),*
000260	012746  002002 				MOV	#2002,-(SP)
000264	012746  000004 				MOV	#4,-(SP)
000270	012746  000000G				MOV	#$NMMID,-(SP)
000274	005046 					CLR	-(SP)
000276	116316  000005 				MOVB	5(R3),(SP)			; *(XPTDB),*
000302	004767  000000G				JSR	PC,$CALLP
000306	010467  000000G				MOV	R4,KISAR6			; SAVE.MAP,*				0640
000312	016661  000020  000034 			MOV	20(SP),34(R1)			; NMX.ID,*(LINEB)			0641
000320	062706  000016 				ADD	#16,SP				;					0605
000324	000406 					BR	7$
000326	005000 				6$:	CLR	R0				;					0645
000330	157600  000000 				BISB	@0(SP),R0
000334	004767  000000G				JSR	PC,GTLINE
000340	010001 					MOV	R0,R1				; *,LINEB
000342	032711  000400 			7$:	BIT	#400,(R1)			; *,LINEB				0651
000346	001005 					BNE	8$
000350	010105 					MOV	R1,R5				; LINEB,*				0652
000352	010204 					MOV	R2,R4				; CCB,*
000354	004767  000000G				JSR	PC,CKTON
000360	000407 					BR	9$				;					0651
000362	012746  177760 			8$:	MOV	#-20,-(SP)			;					0653
000366	012746  000001 				MOV	#1,-(SP)
000372	004767  000000G				JSR	PC,$STOP
000376	022626 					CMP	(SP)+,(SP)+
000400	022626 				9$:	CMP	(SP)+,(SP)+			;					0507
000402	000207 					RTS	PC

; Routine Size:  130 words,	Routine Base:  $CODE$ + 0500
; Maximum stack depth per invocation:  10 words
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  15
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (6)

;	  0656	
;	  0657	routine SET_CIRCUIT (XPTDB,CCB): LINKAGE_DB_CCB novalue =
;	  0658	
;	  0659	!++
;	  0660	! FUNCTIONAL DESCRIPTION:
;	  0661	!	This routine sets a circuit parameter
;	  0662	!
;	  0663	! FORMAL PARAMETERS:
;	  0664	!
;	  0665	!	CCB	CCB to pass to handler routine
;	  0666	!
;	  0667	! IMPLICIT INPUTS:
;	  0668	!	CCB Contents
;	  0669	!
;	  0670	! IMPLICIT OUTPUTS:
;	  0671	!	None
;	  0672	!
;	  0673	! ROUTINE VALUE:
;	  0674	! COMPLETION CODES:
;	  0675	!	None
;	  0676	!
;	  0677	! SIDE EFFECTS:
;	  0678	!	None
;	  0679	!--
;	  0680	
;	  0681	    begin
;	  0682	    map CCB: ref block field(C_NM_FIELDS);
;	  0683	    local LINEb;
;	  0684	    require 'XPTSYM';
;	  0721	
;	  0722	!
;	  0723	! Determine the entity whose parameter is to be set
;	  0724	!
;	  0725	
;	  0726	if (LINEb = $TLI_GET_LINE_DB(.CCB [C_LIN])) neqa 0
;	  0727	then
;	  0728	    begin
;	  0729	    local PNUM,PVAL;
;	  0730	    begin
;	  0731	    pointer PTR;
;	  0732	    MAPBUF(.CCB,PTR);
;	  0733	    PNUM = getw(PTR);
;	  0734	    PVAL = getw(PTR);
;	  0735	    end;
;	  0736	
;	  0737	    selectone .PNUM of
;	  0738	        set
;	  0739	
;	  0740	        [0]:                            ! STATE
;	  0741	    selectoneu (PVAL = .PVAL<0,8>) of
;	  0742	         set
;	  0743	         [0]: begin                     ! Set line ON:
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  16
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (6)

;	  0744		NMstate = ON;			!   Change the line state
;	  0745		selectone .LINEstate of
;	  0746	            set
;	  0747	            [TC,RU]:                    ! If not running
;	  0748	                0;                      ! then
;	  0749	            [otherwise]:                ! initialize the line.
;	  0750	                if .DLLstate neq DLL_FREE
;	  0751	                then CALL$L(INI_LIN,.LINEb);
;	  0752	            tes;
;	  0753		CCB [C_STS] = NM$SUC;
;	  0754		end;
;	  0755	         [1]: begin                     ! Set line OFF:
;	  0756		NMstate = OFF;			!   Change the line state
;	  0757	        selectone .LINEstate of
;	  0758	            set
;	  0759	            [OFF,HA]:                   ! If not stopped
;	  0760	                0;                      ! then
;	  0761	            [otherwise]:                ! stop this line.
;	  0762	                if .DLLstate neq DLL_FREE
;	  0763	                then CALL$L(TERM_LIN,.LINEb);
;	  0764	            tes;
;	  0765		CCB [C_STS] = NM$SUC;
;	  0766	        end;
;	  0767	         [otherwise]:
;	  0768	        CCB [C_STS] = $NM$ERR_IPV;
;	  0769	         tes;
;	  0770	
;	  0771	[900]:					! COST
;	  0772	    selectoneu (PVAL = .PVAL<0,8>) of
;	  0773	        set
;	  0774	        [1 to 25]:
;	  0775	            begin
;	  0776	            CALL$E(COSTCH,(PD_XPE),.CCB [C_LIN],.PVAL);
;	  0777	            CCB [C_STS] = NM$SUC;
;	  0778	            end;
;	  0779	        [otherwise]:
;	  0780	            CCB [C_STS] = $NM$ERR_IPV;
;	  0781	        tes;
;	  0782	[906]:                                  ! HELLO TIMER
;	  0783	    selectoneu .PVAL of
;	  0784	        set
;	  0785	        [1 to 65535]:
;	  0786	            begin
;	  0787	            Hello_timer = .PVAL;
;	  0788	            if .Hello_clock gtr .Hello_timer
;	  0789	            then Hello_clock = .Hello_timer;
;	  0790	            CCB [C_STS] = NM$SUC;
;	  0791	            end;
;	  0792	        [otherwise]:
;	  0793	            CCB [C_STS] = $NM$ERR_IPV;
;	  0794	        tes;
;	  0795	[907]:                                  ! LISTEN TIMER
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  17
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (6)

;	  0796	    selectoneu .PVAL of
;	  0797	        set
;	  0798	        [1 to 65535]:
;	  0799	            begin
;	  0800	            Listen_timer = .PVAL;
;	  0801	            if .Listen_clock gtr .Listen_timer
;	  0802	            then Listen_clock = .Listen_timer;
;	  0803	            CCB [C_STS] = NM$SUC;
;	  0804	            end;
;	  0805	        [otherwise]:
;	  0806	            CCB [C_STS] = $NM$ERR_IPV;
;	  0807	        tes;
;	  0808	[2600]:					! NODE TYPE
;	  0809		selectoneu (PVAL = .PVAL<0,8>) of
;	  0810	            set
;	  0811	            [2]: begin                  !   Set parameter
;	  0812		    Ph2only = true;             !    to "Phase II only"
;	  0813	            CCB [C_STS] = NM$SUC;
;	  0814	                 end;
;	  0815	            [otherwise]:
;	  0816	            CCB [C_STS] = $NM$ERR_IPV;
;	  0817	            tes;
;	  0818	
;	  0819	[otherwise]:	CCB [C_STS] = $NM$ERR_PNA;      ! Invalid parameter type
;	  0820	tes;
;	  0821	end
;	  0822	else CCB [C_STS] = $NM$ERR_URC;
;	  0823	
;	  0824	    end;                                ! of SET_CIRCUIT


						.GLOBL	INI.LIN, TERM.LIN, COSTCH, $CALLE


						.SBTTL	SET.CIRCUIT Network Management
000000	004167  000000G			; SET.CIRCUIT
					U.5:	JSR	R1,$SAVE2			;					0657
000004	005746 					TST	-(SP)
000006	005000 					CLR	R0				;					0726
000010	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000014	004767  000000G				JSR	PC,GTLINE
000020	010002 					MOV	R0,R2				; *,LINEB
000022	001002 					BNE	1$
000024	000167  000420 				JMP	12$
000030	016467  000016  000000G		1$:	MOV	16(R4),KISAR6			; *(CCB),*				0732
000036	016400  000020 				MOV	20(R4),R0			; *(CCB),PTR
000042	112016 					MOVB	(R0)+,(SP)			; PTR,X					0733
000044	112066  000001 				MOVB	(R0)+,1(SP)			; PTR,X
000050	011601 					MOV	(SP),R1				; X,PNUM
000052	112016 					MOVB	(R0)+,(SP)			; PTR,X					0734
000054	112066  000001 				MOVB	(R0)+,1(SP)			; PTR,X
000060	011600 					MOV	(SP),R0				; X,PVAL
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  18
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (6)

000062	005701 					TST	R1				; PNUM					0737
000064	001054 					BNE	5$
000066	042700  177400 				BIC	#177400,R0			; *,PVAL				0741
000072	001021 					BNE	3$
000074	105062  000037 				CLRB	37(R2)				; *(LINEB)				0744
000100	121227  000007 				CMPB	(R2),#7				; LINEB,*				0745
000104	002403 					BLT	2$
000106	121227  000010 				CMPB	(R2),#10			; LINEB,*
000112	003542 					BLE	9$
000114	105762  000006 			2$:	TSTB	6(R2)				; *(LINEB)				0750
000120	001537 					BEQ	9$
000122	010246 					MOV	R2,-(SP)			; LINEB,*				0751
000124	012746  000001 				MOV	#1,-(SP)
000130	012746  000000G				MOV	#INI.LIN,-(SP)
000134	000423 					BR	4$
000136	020027  000001 			3$:	CMP	R0,#1				; PVAL,*				0741
000142	001132 					BNE	10$
000144	112762  000002  000037 			MOVB	#2,37(R2)			; *,*(LINEB)				0756
000152	105712 					TSTB	(R2)				; LINEB					0757
000154	001521 					BEQ	9$
000156	121227  000002 				CMPB	(R2),#2				; LINEB,*
000162	001516 					BEQ	9$
000164	105762  000006 				TSTB	6(R2)				; *(LINEB)				0762
000170	001513 					BEQ	9$
000172	010246 					MOV	R2,-(SP)			; LINEB,*				0763
000174	012746  000001 				MOV	#1,-(SP)
000200	012746  000000G				MOV	#TERM.LIN,-(SP)
000204	004767  000000G			4$:	JSR	PC,$CALL
000210	062706  000006 				ADD	#6,SP
000214	000501 					BR	9$				;					0765
000216	020127  001604 			5$:	CMP	R1,#1604			; PNUM,*				0737
000222	001031 					BNE	6$
000224	042700  177400 				BIC	#177400,R0			; *,PVAL				0772
000230	001477 					BEQ	10$
000232	020027  000031 				CMP	R0,#31				; PVAL,*
000236	101074 					BHI	10$
000240	010046 					MOV	R0,-(SP)			; PVAL,*				0776
000242	005046 					CLR	-(SP)
000244	116416  000010 				MOVB	10(R4),(SP)			; *(CCB),*
000250	012746  000002 				MOV	#2,-(SP)
000254	012746  000000G				MOV	#COSTCH,-(SP)
000260	005046 					CLR	-(SP)
000262	116516  000002 				MOVB	2(R5),(SP)			; *(XPTDB),*
000266	004767  000000G				JSR	PC,$CALLE
000272	012764  000001  000014 			MOV	#1,14(R4)			; *,*(CCB)				0777
000300	062706  000012 				ADD	#12,SP				;					0775
000304	000464 					BR	13$				;					0772
000306	020127  001612 			6$:	CMP	R1,#1612			; PNUM,*				0737
000312	001012 					BNE	7$
000314	005700 					TST	R0				; PVAL					0783
000316	001444 					BEQ	10$
000320	010062  000022 				MOV	R0,22(R2)			; PVAL,*(LINEB)				0787
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  19
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (6)

000324	026200  000044 				CMP	44(R2),R0			; *(LINEB),*				0788
000330	003433 					BLE	9$
000332	010062  000044 				MOV	R0,44(R2)			; *,*(LINEB)				0789
000336	000430 					BR	9$				;					0790
000340	020127  001613 			7$:	CMP	R1,#1613			; PNUM,*				0737
000344	001012 					BNE	8$
000346	005700 					TST	R0				; PVAL					0796
000350	001427 					BEQ	10$
000352	010062  000024 				MOV	R0,24(R2)			; PVAL,*(LINEB)				0800
000356	026200  000046 				CMP	46(R2),R0			; *(LINEB),*				0801
000362	003416 					BLE	9$
000364	010062  000046 				MOV	R0,46(R2)			; *,*(LINEB)				0802
000370	000413 					BR	9$				;					0803
000372	020127  005050 			8$:	CMP	R1,#5050			; PNUM,*				0737
000376	001020 					BNE	11$
000400	042700  177400 				BIC	#177400,R0			; *,PVAL				0809
000404	020027  000002 				CMP	R0,#2				; PVAL,*
000410	001007 					BNE	10$
000412	052762  002000  000002 			BIS	#2000,2(R2)			; *,*(LINEB)				0812
000420	012764  000001  000014 		9$:	MOV	#1,14(R4)			; *,*(CCB)				0813
000426	000413 					BR	13$				;					0809
000430	012764  177760  000014 		10$:	MOV	#-20,14(R4)			; *,*(CCB)				0816
000436	000407 					BR	13$				;					0737
000440	012764  177752  000014 		11$:	MOV	#-26,14(R4)			; *,*(CCB)				0819
000446	000403 					BR	13$				;					0726
000450	012764  177770  000014 		12$:	MOV	#-10,14(R4)			; *,*(CCB)				0822
000456	005726 				13$:	TST	(SP)+				;					0657
000460	000207 					RTS	PC

; Routine Size:  153 words,	Routine Base:  $CODE$ + 1104
; Maximum stack depth per invocation:  10 words
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  20
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (7)

;	  0825	
;	  0826	routine SHOW_AND_ZERO_CIRCUIT_COUNTERS (XPTDB,CCB): LINKAGE_DB_CCB novalue =
;	  0827	
;	  0828	!++
;	  0829	! FUNCTIONAL DESCRIPTION:
;	  0830	!	This routine show the counters for the specified circuit
;	  0831	!       and then zeroes them.
;	  0832	!
;	  0833	! FORMAL PARAMETERS:
;	  0834	!
;	  0835	!	CCB	CCB to pass to handler routine
;	  0836	!
;	  0837	! IMPLICIT INPUTS:
;	  0838	!	CCB Contents
;	  0839	!
;	  0840	! IMPLICIT OUTPUTS:
;	  0841	!	None
;	  0842	!
;	  0843	! ROUTINE VALUE:
;	  0844	! COMPLETION CODES:
;	  0845	!	None
;	  0846	!
;	  0847	! SIDE EFFECTS:
;	  0848	!	None
;	  0849	!--
;	  0850	
;	  0851	    begin
;	  0852	    map CCB: ref block field(C_NM_FIELDS);
;	  0853	    local LINEb;
;	  0854	    require 'XPTSYM';
;	  0891	
;	  0892	    CCB [C_STS] = $NM$ERR_URC;          ! Default to "unrecognized component"
;	  0893	    if (LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN])) eqla 0
;	  0894	    then return;                        ! invalid LIX - error
;	  0895	
;	  0896	!
;	  0897	!  Map in the return buffer
;	  0898	!
;	  0899	
;	  0900	    $NM_RESPONSE_BEGIN(.CCB);
;	  0901	    CIRCUIT_COUNTERS (.LINEb);
;	  0902	    $NM_RESPONSE_END(.CCB);
;	  0903	    begin
;	  0904	    local STS_SAVE;
;	  0905	    STS_SAVE = .CCB [C_STS];
;	  0906	    ZERO_CIRCUIT_COUNTERS (.XPTDB,.CCB);
;	  0907	    CCB [C_STS] = .STS_SAVE;
;	  0908	    end;
;	  0909	    end;                                ! of SHOW_AND_ZERO_CIRCUIT_COUNTERS


						.GLOBL	$NRBEG, $NREND
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  21
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (7)



						.SBTTL	SHOW.AND.ZERO.CIRCUIT.COUNTERS Network Management
000000	004167  000000G			; SHOW.AND.ZERO.CIRCUIT.COUNTERS
					U.6:	JSR	R1,$SAVE5			;					0826
000004	010503 					MOV	R5,R3				; *,XPTDB
000006	012702  000014 				MOV	#14,R2				;					0892
000012	060402 					ADD	R4,R2				; CCB,*
000014	012712  177770 				MOV	#-10,(R2)
000020	005000 					CLR	R0				;					0893
000022	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000026	004767  000000G				JSR	PC,GTLINE
000032	010005 					MOV	R0,R5				; *,LINEB
000034	001413 					BEQ	1$				;					0894
000036	004767  000000G				JSR	PC,$NRBEG			;					0900
000042	004767  176316 				JSR	PC,U.2				;					0901
000046	004767  000000G				JSR	PC,$NREND			;					0902
000052	011201 					MOV	(R2),R1				; *,STS.SAVE				0905
000054	010305 					MOV	R3,R5				; XPTDB,*				0906
000056	004767  000000V				JSR	PC,U.9
000062	010112 					MOV	R1,(R2)				; STS.SAVE,*				0907
000064	000207 				1$:	RTS	PC				;					0826

; Routine Size:  27 words,	Routine Base:  $CODE$ + 1566
; Maximum stack depth per invocation:  7 words
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  22
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

;	  0910	
;	  0911	routine SHOW_CIRCUIT (XPTDB,CCB): LINKAGE_DB_CCB novalue =
;	  0912	
;	  0913	!++
;	  0914	! FUNCTIONAL DESCRIPTION:
;	  0915	!	This routine shows circuit parameters
;	  0916	!
;	  0917	! FORMAL PARAMETERS:
;	  0918	!
;	  0919	!	CCB	CCB to pass to handler routine
;	  0920	!
;	  0921	! IMPLICIT INPUTS:
;	  0922	!	CCB Contents
;	  0923	!
;	  0924	! IMPLICIT OUTPUTS:
;	  0925	!	None
;	  0926	!
;	  0927	! ROUTINE VALUE:
;	  0928	! COMPLETION CODES:
;	  0929	!	None
;	  0930	!
;	  0931	! SIDE EFFECTS:
;	  0932	!	None
;	  0933	!--
;	  0934	
;	  0935	    begin
;	  0936	    map CCB: ref block field(C_NM_FIELDS);
;	  0937	    local PLIST: ref vector;
;	  0938	    local LINEb;
;	  0939	    require 'XPTSYM';
;	  0976	
;	  0977	    CCB [C_STS] = $NM$ERR_URC;          ! Default to "unrecognized component"
;	  0978	    if (LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN])) eqla 0
;	  0979	    then return;                        ! invalid LIX - error
;	  0980	
;	  0981	!
;	  0982	!  Determine the entity whose data are to be shown
;	  0983	!
;	  0984	
;	  0985	    $NM_RESPONSE_BEGIN(.CCB);		! Initialize response buffer
;	  0986	
;	  0987	    case .CCB[C_NM_SELECT]              ! Select
;	  0988	    from NMX$SEL_lo to NMX$SEL_hi of    !   parameter list
;	  0989	        set                             !   based on selector value
;	  0990		[NMX$SEL_sta]: PLIST = plit(0,1,800,810);
;	  0991		[NMX$SEL_sum]: PLIST = plit(0,1,800);
;	  0992		[NMX$SEL_cha]: PLIST = plit(900,905,906,907,910,920,921,930,2600);
;	  0993	        [NMX$SEL_cou]: PLIST = plit(-1);
;	  0994	        tes;
;	  0995	
;	  0996	!
;	  0997	!  Build the buffer
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  23
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

;	  0998	!
;	  0999	
;	  1000	    incr I from 0 to .PLIST[-1]-1 do
;	  1001	        begin
;	  1002	        local PARM;
;	  1003	        PARM = .PLIST[.I];
;	  1004	        selectone .PARM of
;	  1005	            set
;	  1006	
;	  1007	            [0]:	begin           ! Line state:
;	  1008		local VALUE;
;	  1009	        VALUE = 0;                      ! is ON
;	  1010		if .LINEstate eql HA then VALUE = .VALUE + 1;   ! or OFF
;	  1011		if .DLLstate neq DLL_FREE       !   Line is ours
;	  1012		then PARAMETER_C_1(0,VALUE);	!     display the state
;	  1013			end;
;	  1014	
;	  1015	    [1]:	begin			! Line substate:
;	  1016		if .DLLstate neq DLL_FREE       !   Line is ours
;	  1017	        then case .LINEstate from HA to RU of
;	  1018	                 set
;	  1019	                 [TI,TV,TC]:		!	STARTING
;	  1020	                     PARAMETER_C_1(.PARM,uplit(0));
;	  1021	                 [LR,DS]:		!	SYNCHRONIZING
;	  1022	                     PARAMETER_C_1(.PARM,uplit(10));
;	  1023	                 [DT,OFF]:              !       FAILED
;	  1024	                     PARAMETER_C_1(.PARM,uplit(11));
;	  1025	                 [inrange]:             ! 	(no substate)
;	  1026	                 tes;
;	  1027			end;
;	  1028	
;	  1029	    [800]:	begin			! Adjacent node:
;	  1030		if ((.LINEstate eql RU) or	!   Do only if line
;	  1031		(.LINEstate eql TC)) then	!     state is ON
;	  1032	            selectone .Nty of
;	  1033	                set
;	  1034	                [PHtwo,TOPS20]:
;	  1035	                    begin
;	  1036	                    PARAMETER_CM(.PARM,2);
;	  1037	                    PARAMETER_DU_2(,Nid);
;	  1038	                    PARAMETER_AI(,.Nnml,byt$ptr(Nnm));
;	  1039	                    end;
;	  1040	                [otherwise]:
;	  1041	                    begin
;	  1042	                    PARAMETER_CM(.PARM,1);
;	  1043	                    PARAMETER_DU_2(,Nid);
;	  1044	                    end;
;	  1045	                tes;
;	  1046			end;
;	  1047	
;	  1048	    [810]:	begin			! Circuit (DLL) Block Size:
;	  1049		if ((.LINEstate eql RU) or	!   Do only if line
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  24
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

;	  1050		(.LINEstate eql TC))            !     state is ON
;	  1051	        then PARAMETER_DU_2(.PARM,Block_size);
;	  1052			end;
;	  1053	
;	  1054	    [900]:	begin			! Circuit Cost:
;	  1055		PARAMETER_DU_2(.PARM,Lcv);
;	  1056			end;
;	  1057	
;	  1058	    [906]:	begin			! Hello Timer:
;	  1059		PARAMETER_DU_2(.PARM,Hello_timer);
;	  1060			end;
;	  1061	
;	  1062	    [907]:	begin			! Listen Timer:
;	  1063		PARAMETER_DU_2(.PARM,Listen_timer);
;	  1064			end;
;	  1065	
;	  1066	    [2600]:	begin			! Circuit Node-type: either
;	  1067		bind TWO = uplit(2);		!   "Phase II only" or not given
;	  1068		if .Ph2only then begin
;	  1069		    PARAMETER_C_1(.PARM,TWO);
;	  1070		    end;
;	  1071			end;
;	  1072	    [-1]:       begin
;	  1073	        CIRCUIT_COUNTERS (.LINEb);
;	  1074	                end;
;	  1075	    tes
;	  1076	    end;
;	  1077	
;	  1078	!
;	  1079	!  Update buffer count
;	  1080	!
;	  1081	    $NM_RESPONSE_END(.CCB);
;	  1082	    end;                                ! of SHOW_CIRCUIT



000014						.PSECT	$PLIT$,  RO ,  D  
000014	000004 					.WORD	4				; Plit count word
000016	000000 				P.AAC:	.WORD	0
000020	000001 					.WORD	1
000022	001440 					.WORD	1440
000024	001452 					.WORD	1452
000026	000003 					.WORD	3				; Plit count word
000030	000000 				P.AAD:	.WORD	0
000032	000001 					.WORD	1
000034	001440 					.WORD	1440
000036	000011 					.WORD	11				; Plit count word
000040	001604 				P.AAE:	.WORD	1604
000042	001611 					.WORD	1611
000044	001612 					.WORD	1612
000046	001613 					.WORD	1613
000050	001616 					.WORD	1616
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  25
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

000052	001630 					.WORD	1630
000054	001631 					.WORD	1631
000056	001642 					.WORD	1642
000060	005050 					.WORD	5050
000062	000001 					.WORD	1				; Plit count word
000064	177777 				P.AAF:	.WORD	-1
000066	000000 				P.AAH:	.WORD	0
000070	000012 				P.AAI:	.WORD	12
000072	000013 				P.AAJ:	.WORD	13
000074	000002 				P.AAK:	.WORD	2


						.GLOBL	$DPC1, $DPCM, $TPDU2, $TPAI, $DPDU2


	000074'				; TWO
					U.30=		    P.AAK


						.SBTTL	SHOW.CIRCUIT Network Management
001654						.PSECT	$CODE$,  RO 

000000	004167  000000G			; SHOW.CIRCUIT
					U.7:	JSR	R1,$SAVE5			;					0911
000004	010446 					MOV	R4,-(SP)
000006	010400 					MOV	R4,R0				;					0977
000010	012760  177770  000014 			MOV	#-10,14(R0)
000016	005000 					CLR	R0				;					0978
000020	010401 					MOV	R4,R1
000022	156100  000010 				BISB	10(R1),R0
000026	004767  000000G				JSR	PC,GTLINE
000032	010005 					MOV	R0,R5				; *,LINEB
000034	001002 					BNE	1$				;					0979
000036	000167  000532 				JMP	29$
000042	011604 				1$:	MOV	(SP),R4				;					0985
000044	004767  000000G				JSR	PC,$NRBEG
000050	011601 					MOV	(SP),R1				;					0987
000052	016100  000024 				MOV	24(R1),R0
000056	072027  177764 				ASH	#-14,R0
000062	042700  177760 				BIC	#177760,R0
000066	005300 					DEC	R0
000070	006300 					ASL	R0
000072	066007  000076'				ADD	P.AAB(R0),PC			; Case dispatch
000076	012702  000016'			2$:	MOV	#P.AAC,R2			; *,PLIST				0990
000102	000410 					BR	6$				;					0987
000104	012702  000030'			3$:	MOV	#P.AAD,R2			; *,PLIST				0991
000110	000405 					BR	6$				;					0987
000112	012702  000040'			4$:	MOV	#P.AAE,R2			; *,PLIST				0992
000116	000402 					BR	6$				;					0987
000120	012702  000064'			5$:	MOV	#P.AAF,R2			; *,PLIST				0993
000124	005004 				6$:	CLR	R4				; I					1000
000126	000167  000422 				JMP	27$
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  26
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

000132	010400 				7$:	MOV	R4,R0				; I,*					1003
000134	006300 					ASL	R0
000136	060200 					ADD	R2,R0				; PLIST,*
000140	011001 					MOV	(R0),R1				; *,PARM
000142	001012 					BNE	9$				;					1004
000144	005003 					CLR	R3				; VALUE					1009
000146	105715 					TSTB	(R5)				; LINEB					1010
000150	001001 					BNE	8$
000152	005203 					INC	R3				; VALUE
000154	105765  000006 			8$:	TSTB	6(R5)				; *(LINEB)				1011
000160	001574 					BEQ	26$
000162	005046 					CLR	-(SP)				;					1012
000164	110300 					MOVB	R3,R0				; VALUE,*
000166	000560 					BR	23$
000170	020127  000001 			9$:	CMP	R1,#1				; PARM,*				1004
000174	001023 					BNE	13$
000176	105765  000006 				TSTB	6(R5)				; *(LINEB)				1016
000202	001563 					BEQ	26$
000204	111500 					MOVB	(R5),R0				; LINEB,*				1017
000206	006300 					ASL	R0
000210	066007  000106'				ADD	P.AAG(R0),PC			; Case dispatch
000214	010146 				10$:	MOV	R1,-(SP)			; PARM,*				1020
000216	116700  000066'				MOVB	P.AAH,R0
000222	000542 					BR	23$
000224	010146 				11$:	MOV	R1,-(SP)			; PARM,*				1022
000226	116700  000070'				MOVB	P.AAI,R0
000232	000536 					BR	23$
000234	010146 				12$:	MOV	R1,-(SP)			; PARM,*				1024
000236	116700  000072'				MOVB	P.AAJ,R0
000242	000532 					BR	23$
000244	020127  001440 			13$:	CMP	R1,#1440			; PARM,*				1004
000250	001051 					BNE	16$
000252	121527  000010 				CMPB	(R5),#10			; LINEB,*				1030
000256	001403 					BEQ	14$
000260	121527  000007 				CMPB	(R5),#7				; LINEB,*				1031
000264	001132 					BNE	26$
000266	116500  000002 			14$:	MOVB	2(R5),R0			; *(LINEB),*				1032
000272	020027  000004 				CMP	R0,#4
000276	002424 					BLT	15$
000300	020027  000005 				CMP	R0,#5
000304	003021 					BGT	15$
000306	010146 					MOV	R1,-(SP)			; PARM,*				1036
000310	012700  000002 				MOV	#2,R0
000314	004767  000000G				JSR	PC,$DPCM
000320	016500  000004 				MOV	4(R5),R0			; *(LINEB),*				1037
000324	004767  000000G				JSR	PC,$TPDU2
000330	012701  000010 				MOV	#10,R1				;					1038
000334	060501 					ADD	R5,R1				; LINEB,*
000336	116500  000007 				MOVB	7(R5),R0			; *(LINEB),*
000342	004767  000000G				JSR	PC,$TPAI
000346	000472 					BR	24$				;					1032
000350	010146 				15$:	MOV	R1,-(SP)			; PARM,*				1042
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  27
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

000352	012700  000001 				MOV	#1,R0
000356	004767  000000G				JSR	PC,$DPCM
000362	016500  000004 				MOV	4(R5),R0			; *(LINEB),*				1043
000366	004767  000000G				JSR	PC,$TPDU2
000372	000460 					BR	24$				;					1032
000374	020127  001452 			16$:	CMP	R1,#1452			; PARM,*				1004
000400	001012 					BNE	18$
000402	121527  000010 				CMPB	(R5),#10			; LINEB,*				1049
000406	001403 					BEQ	17$
000410	121527  000007 				CMPB	(R5),#7				; LINEB,*				1050
000414	001056 					BNE	26$
000416	010146 				17$:	MOV	R1,-(SP)			; PARM,*				1051
000420	016500  000016 				MOV	16(R5),R0			; *(LINEB),*
000424	000424 					BR	21$
000426	020127  001604 			18$:	CMP	R1,#1604			; PARM,*				1004
000432	001004 					BNE	19$
000434	010146 					MOV	R1,-(SP)			; PARM,*				1055
000436	016500  000020 				MOV	20(R5),R0			; *(LINEB),*
000442	000415 					BR	21$
000444	020127  001612 			19$:	CMP	R1,#1612			; PARM,*				1004
000450	001004 					BNE	20$
000452	010146 					MOV	R1,-(SP)			; PARM,*				1059
000454	016500  000022 				MOV	22(R5),R0			; *(LINEB),*
000460	000406 					BR	21$
000462	020127  001613 			20$:	CMP	R1,#1613			; PARM,*				1004
000466	001006 					BNE	22$
000470	010146 					MOV	R1,-(SP)			; PARM,*				1063
000472	016500  000024 				MOV	24(R5),R0			; *(LINEB),*
000476	004767  000000G			21$:	JSR	PC,$DPDU2
000502	000414 					BR	24$				;					1062
000504	020127  005050 			22$:	CMP	R1,#5050			; PARM,*				1004
000510	001013 					BNE	25$
000512	032765  002000  000002 			BIT	#2000,2(R5)			; *,*(LINEB)				1068
000520	001414 					BEQ	26$
000522	010146 					MOV	R1,-(SP)			; PARM,*				1069
000524	116700  000074'				MOVB	U.30,R0
000530	004767  000000G			23$:	JSR	PC,$DPC1
000534	005726 				24$:	TST	(SP)+				;					1068
000536	000405 					BR	26$				;					1004
000540	020127  177777 			25$:	CMP	R1,#-1				; PARM,*
000544	001002 					BNE	26$
000546	004767  175524 				JSR	PC,U.2				;					1073
000552	005204 				26$:	INC	R4				; I					1000
000554	020462  177776 			27$:	CMP	R4,-2(R2)			; I,*(PLIST)
000560	002002 					BGE	28$
000562	000167  177344 				JMP	7$
000566	011604 				28$:	MOV	(SP),R4				;					1081
000570	004767  000000G				JSR	PC,$NREND
000574	005726 				29$:	TST	(SP)+				;					0911
000576	000207 					RTS	PC

; Routine Size:  192 words,	Routine Base:  $CODE$ + 1654
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  28
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (8)

; Maximum stack depth per invocation:  9 words


000076						.PSECT	$PLIT$,  RO ,  D  

					P.AAB:						; CASE Table for SHOW.CIRCUIT+0072	0987
000076	000006 					.WORD	6				; [3$]
000100	000000 					.WORD	0				; [2$]
000102	000014 					.WORD	14				; [4$]
000104	000022 					.WORD	22				; [5$]

					P.AAG:						; CASE Table for SHOW.CIRCUIT+0210	1017
000106	000336 					.WORD	336				; [26$]
000110	000020 					.WORD	20				; [12$]
000112	000020 					.WORD	20				; [12$]
000114	000010 					.WORD	10				; [11$]
000116	000010 					.WORD	10				; [11$]
000120	000000 					.WORD	0				; [10$]
000122	000000 					.WORD	0				; [10$]
000124	000000 					.WORD	0				; [10$]
000126	000336 					.WORD	336				; [26$]
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  29
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (9)

;	  1083	
;	  1084	global
;	  1085	routine TAKE_CIRCUIT (XPTDB,CCB): MCB_DB_CCB novalue =
;	  1086	
;	  1087	!++
;	  1088	! FUNCTIONAL DESCRIPTION:
;	  1089	!
;	  1090	! Processes a "Withdraw Circuit Ownership" function.  If the circuit's
;	  1091	! Network Management state is ON, the circuit must be brought down.
;	  1092	!
;	  1093	! FORMAL PARAMETERS
;	  1094	!
;	  1095	!	CCB	Function CCB
;	  1096	!
;	  1097	!		CCB[C_LIN]	Transport line index for circuit to
;	  1098	!				be taken away.
;	  1099	!
;	  1100	! IMPLICIT INPUTS
;	  1101	!
;	  1102	!	NONE.
;	  1103	!
;	  1104	! ROUTINE VALUE:
;	  1105	! COMPLETION CODES:
;	  1106	!
;	  1107	!	NONE.
;	  1108	!
;	  1109	! SIDE EFFECTS:
;	  1110	!
;	  1111	!	NONE.
;	  1112	!
;	  1113	!--
;	  1114	
;	  1115	begin
;	  1116	
;	  1117	local LINEb;
;	  1118	require 'XPTSYM';
;	  1155	require 'MCBCOM';
;	  1189	
;	  1190	LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN]);  ! Address line data base entry
;	  1191	
;	  1192	if .OWNED                               ! Circuit owned:
;	  1193	then CKTOFF(.LINEb, .CCB)               !   release circuit
;	  1194	else SIGNAL_STOP(CE_ERR);               !   otherwise bomb
;	  1195	
;	  1196	end;				!End of TAKE_CIRCUIT


						.SBTTL	TAKE.CIRCUIT Network Management
002454						.PSECT	$CODE$,  RO 

000000	005000 				TAKE.CIRCUIT::
					U.8:	CLR	R0				;					1190
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  30
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (9)

000002	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000006	004767  000000G				JSR	PC,GTLINE
000012	010005 					MOV	R0,R5				; *,LINEB
000014	032715  000400 				BIT	#400,(R5)			; *,LINEB				1192
000020	001403 					BEQ	1$
000022	004767  000000G				JSR	PC,CKTOFF			;					1193
000026	000207 					RTS	PC				;					1192
000030	012746  177760 			1$:	MOV	#-20,-(SP)			;					1194
000034	012746  000001 				MOV	#1,-(SP)
000040	004767  000000G				JSR	PC,$STOP
000044	022626 					CMP	(SP)+,(SP)+
000046	000207 					RTS	PC				;					1085

; Routine Size:  20 words,	Routine Base:  $CODE$ + 2454
; Maximum stack depth per invocation:  3 words
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  31
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (10)

;	  1197	
;	  1198	routine ZERO_CIRCUIT_COUNTERS (XPTDB,CCB): LINKAGE_DB_CCB novalue =
;	  1199	
;	  1200	!++
;	  1201	! FUNCTIONAL DESCRIPTION:
;	  1202	!	This routine zeroes counters for the specified circuit
;	  1203	!
;	  1204	! FORMAL PARAMETERS:
;	  1205	!
;	  1206	!	CCB	CCB to pass to handler routine
;	  1207	!
;	  1208	! IMPLICIT INPUTS:
;	  1209	!	CCB Contents
;	  1210	!
;	  1211	! IMPLICIT OUTPUTS:
;	  1212	!	None
;	  1213	!
;	  1214	! ROUTINE VALUE:
;	  1215	! COMPLETION CODES:
;	  1216	!	None
;	  1217	!
;	  1218	! SIDE EFFECTS:
;	  1219	!	None
;	  1220	!--
;	  1221	
;	  1222	    begin
;	  1223	    map CCB: ref block field(C_NM_FIELDS);
;	  1224	    local LINEb;
;	  1225	    require 'XPTSYM';
;	  1262	
;	  1263	    CCB [C_STS] = $NM$ERR_URC;          ! Default to "unrecognized component"
;	  1264	    if (LINEb = $TLI_GET_LINE_DB(.CCB[C_LIN])) eqla 0
;	  1265	    then return;                        ! invalid LIX - error
;	  1266	
;	  1267	    $NM_TIME(Time_circuit_zeroed);
;	  1268	    zeroq(Arriving_Packets);
;	  1269	    zeroq(Departing_Packets);
;	  1270	    End_Congestion = 0;
;	  1271	    zeroq(Transit_In);
;	  1272	    zeroq(Transit_Out);
;	  1273	    Transit_Congestion = 0;
;	  1274	    Line_Downs = 0;
;	  1275	    Init_Fails = 0;
;	  1276	
;	  1277	    CCB [C_STS] = NM$SUC;
;	  1278	    end;                                ! of ZERO_CIRCUIT_COUNTERS


						.SBTTL	ZERO.CIRCUIT.COUNTERS Network Management
000000	010546 				; ZERO.CIRCUIT.COUNTERS
					U.9:	MOV	R5,-(SP)			;					1198
000002	012764  177770  000014 			MOV	#-10,14(R4)			; *,*(CCB)				1263
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  32
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (10)

000010	005000 					CLR	R0				;					1264
000012	156400  000010 				BISB	10(R4),R0			; *(CCB),*
000016	004767  000000G				JSR	PC,GTLINE
000022	010005 					MOV	R0,R5				; *,LINEB
000024	001437 					BEQ	1$				;					1265
000026	062700  000052 				ADD	#52,R0				;					1267
000032	004767  000000G				JSR	PC,$ST32
000036	005065  000056 				CLR	56(R5)				; *(LINEB)				1268
000042	005065  000060 				CLR	60(R5)				; *(LINEB)
000046	005065  000062 				CLR	62(R5)				; *(LINEB)				1269
000052	005065  000064 				CLR	64(R5)				; *(LINEB)
000056	005065  000066 				CLR	66(R5)				; *(LINEB)				1270
000062	005065  000070 				CLR	70(R5)				; *(LINEB)				1271
000066	005065  000072 				CLR	72(R5)				; *(LINEB)
000072	005065  000074 				CLR	74(R5)				; *(LINEB)				1272
000076	005065  000076 				CLR	76(R5)				; *(LINEB)
000102	005065  000100 				CLR	100(R5)				; *(LINEB)				1273
000106	105065  000102 				CLRB	102(R5)				; *(LINEB)				1274
000112	105065  000103 				CLRB	103(R5)				; *(LINEB)				1275
000116	012764  000001  000014 			MOV	#1,14(R4)			; *,*(CCB)				1277
000124	012605 				1$:	MOV	(SP)+,R5			;					1198
000126	000207 					RTS	PC

; Routine Size:  44 words,	Routine Base:  $CODE$ + 2524
; Maximum stack depth per invocation:  2 words


;	  1279	
;	  1280	end
;	  1281	eludom			! End of module TLINMI



;					OTS external references
						.GLOBL	$SAVE5, $SAVE2, $CALL, $STOP


;					PSECT SUMMARY
;
;	Psect Name			Words	  Attributes
;	 $PLIT$				   44	    RO ,  D  ,  LCL,  REL,  CON
;	 $CODE$				  726	    RO ,  I  ,  LCL,  REL,  CON




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<MCB>XPORTX.L16.15		       599         2         0         0
TLINMI								25-Jan-1983 10:02:57	TOPS-20 Bliss-16 2A(530)	    Page  33
X01160		Network Management				30-Dec-1982 21:15:56	NETPKG:<XPT>TLINMI.BLI.9 (10)

;  NETPKG:<MCB>MCBLIB.L16.15		       372        34         9         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200        55        27         0
;  NETPKG:<XPT>XPTLIB.L16.3		       510       182        35         0





; Size:		726 code + 44 data words
; Run Time:	00:14.6
; Elapsed Time:	00:48.9
; Memory Used:	55 pages
; Compilation Complete
ADDRESS				 152+	 154+	 155+	 157+	 158+	 160+	 161+	 167+	 168+	 171+	 172+	 173+
ARRIVING_PACKETS		 400	1268
BLISS16				 199
BLOCK_SIZE			1051
BPT				 181+#	 193+#
BUFCHK				 185+	 186+#	 195+	 196+#
BYT$PTR				1038
CALL$E				 776
CALL$L				 751	 763
CCB				 240	 306	 308	 311	 314	 316	 318	 320	 322	 324#	 325#	 327#
				 330	 331#	 332	 410	 435	 479#	 483	 487	 494#	 495	 498#	 507
				 560	 605	 606	 611#	 613	 615	 635	 637	 638	 645	 652	 657
				 682	 726	 732	 753#	 765#	 768#	 776	 777#	 780#	 790#	 793#	 803#
				 806#	 813#	 816#	 819#	 822#	 826	 852	 892#	 893	 900	 902	 905
				 906	 907#	 911	 936	 977#	 978	 985	 987	1081	1085	1186+	1190
				1193	1198	1223	1263#	1264	1277#
CCBFIELDS			1181+	1183+#
CE_ERR				 614	 653	1194
CHKBUF				 188+*	 189+
CIRCUIT_COUNTERS		 211	 336*	 901	1073
CKTOFF				 237*	1193
CKTON				 238	 652
CLEAR_CIRCUIT			 212	 316	 410*
COSTCH				 776
COUNTER_16_TIME			 399
COUNTER_16			 402	 405
COUNTER_32			 400	 401	 403	 404
COUNTER_8			 406	 407
C_ADDR				 637
C_BIAS				 635
C_CNT				 483
C_FIELDS			 560	1183+	1186+
C_FNC				 331
C_LIN				 495	 605	 611	 613	 638	 645	 726	 776	 893	 978	1190	1264
C_NM_ENTITY			 308
C_NM_FIELDS			 306	 435	 682	 852	 936	1223
C_NM_FUNC			 311
C_NM_SELECT			 987
C_PRM1				 615
C_PRM3				 606
C_STS				 324	 325	 327	 330	 479	 494	 498	 753	 765	 768	 777	 780
				 790	 793	 803	 806	 813	 816	 819	 822	 892	 905	 907	 977
				1263	1277
DEFAULT_HELLO_TIMER		 622
DEFAULT_LISTEN_TIMER		 623
DEPARTING_PACKETS		 401	1269
DLL$V_DTE_CIRCUIT		 606	 617
DLLHANDLE			 610	 615#
DLLSTATE			 750	 762	1011	1016
DLL_FLAG			 606#	 617
DLL_FREE			 750	 762	1011	1016
DS				1021
DT				1023
DTECIRCUIT			 616#	 619#
END_CONGESTION			 402	1270#
FALSE				 497	 616
FC_CCP				 331
GETQ				 152+#
GETW				 131+#	 154+	 155+	 488	 733	 734
GIVE_CIRCUIT			 213	 507*
HA				 759	1010	1017
HELLO_CLOCK			 788	 789#
HELLO_TIMER			 622#	 787#	 788	 789	1059
I				 176+	 178+	1000	1003
INIT_FAILS			 407	1275#
INI_LIN				 751
INTERCEPT			 620#
J				 176+	 178+	 608	 609	 611
LCV				1055
LEN				 599
LINEBLOCK			 294+	 389+	 464+	 589+	 711+	 881+	 966+	1145+	1252+
LINEB				 292+	 294+	 336	 387+	 389+	 436	 462+	 464+	 495#	 561	 587+	 589+
				 609#	 645#	 652	 683	 709+	 711+	 726#	 751	 763	 853	 879+	 881+
				 893#	 901	 938	 964+	 966+	 978#	1073	1117	1143+	1145+	1190#	1193
				1224	1250+	1252+	1264#
LINENUMBER			 615
LINESTATE			 745	 757	1010	1017	1030	1031	1049	1050
LINE_DOWNS			 406	1274#
LINKAGE_DB_CCB			 212	 214	 215	 217	 219	 237	 238	 410#	 657#	 826#	 911#	1198#
LINKAGE_DB			 211	 336#
LISTEN_CLOCK			 801	 802#
LISTEN_TIMER			 623#	 800#	 801	 802	1063
LR				1021
M				 176+	 177+
MAP$				 635	 640
MAPBUF				 487	 732
MATRIX				 176+#	 178+
MCB$GAW_PROCESS_DATA_BASE	 297+	 298+	 301+	 392+	 393+	 396+	 467+	 468+	 471+	 592+	 593+	 596+
				 714+	 715+	 718+	 884+	 885+	 888+	 969+	 970+	 973+	1148+	1149+	1152+
				1255+	1256+	1259+
MCB_DB_CCB			 210	 213	 218	 240#	 507#	1085#
N				 176+	 177+
NID				1037	1043
NL				 176+	 178+
NLN				 608
NM$SUC				 498	 753	 765	 777	 790	 803	 813	1277
NMSTATE				 744#	 756#
NMX$ENT_CKT			 310
NMX$FNC_CLR			 315
NMX$FNC_HI			 311
NMX$FNC_LO			 311
NMX$FNC_RET			 323
NMX$FNC_SET			 313
NMX$FNC_SHO			 319
NMX$FNC_SZC			 321
NMX$FNC_ZRO			 317
NMX$MODIFY_CIRCUIT_OWNER	 636
NMX$SEL_CHA			 992
NMX$SEL_COU			 993
NMX$SEL_HI			 988
NMX$SEL_LO			 988
NMX$SEL_STA			 990
NMX$SEL_SUM			 991
NMXID				 641#
NMX_ID				 632	 639	 641
NNM				1038
NNML				1038
NODEBLOCK			 289+	 384+	 459+	 584+	 706+	 876+	 961+	1140+	1247+
NODEB				 287+	 289+	 382+	 384+	 457+	 459+	 582+	 584+	 704+	 706+	 874+	 876+
				 959+	 961+	1138+	1140+	1245+	1247+
NOP				 193+	 194+	 196+
NO_LINEB			 293+	 388+	 463+	 588+	 710+	 880+	 965+	1144+	1251+
NO_NODEB			 288+	 383+	 458+	 583+	 705+	 875+	 960+	1139+	1246+
NTY				1032
OFF				 756	 759	1023
ON				 744
OWNED				 651	1192
P				 599
PARAMETER_AI			1038
PARAMETER_CM			1036	1042
PARAMETER_C_1			1012	1020	1022	1024	1069
PARAMETER_DU_2			1037	1043	1051	1055	1059	1063
PARM				1002	1003#	1004	1020	1022	1024	1036	1042	1051	1055	1059	1063
				1069
PD_NMX				 636
PD_TLI				 638
PD_XPE				 776
PH2ONLY				 497#	 812#	1068
PHTWO				1034
PLIST				 937	 990#	 991#	 992#	 993#	1000	1003
PNUM				 729	 733#	 737
POINTER				 486	 731
PTR				 131+	 134+	 135+	 138+	 141+	 142+	 148+	 149+	 152+	 154+	 155+	 157+
				 160+	 161+	 162+	 163+	 167+	 168+	 486	 487	 488	 731	 732	 733
				 734
PUTQ				 157+#
PUTW				 138+#	 167+	 168+
PVAL				 729	 734#	 741#	 772#	 776	 783	 787	 796	 800	 809#
Q				 599
RU				 747	1017	1030	1049
SAVE_MAP			 633	 634	 640
SET_CIRCUIT			 214	 314	 657*
SHOW_AND_ZERO_CIRCUIT_COUNTERS	 215	 322	 826*
SHOW_CIRCUIT			 217	 320	 911*
SMAP$				 634
STS_SAVE			 904	 905#	 907
TAKE_CIRCUIT			 218	1085*
TC				 747	1019	1031	1050
TERM_LIN			 763
TI				1019
TIME_CIRCUIT_ZEROED		 399	 624	1267
TLINMI				   1#
TLI_NM				 210	 240*
TRANSIT_CONGESTION		 405	1273#
TRANSIT_IN			 403	1271
TRANSIT_OUT			 404	1272
TRUE				 619	 620	 812
TV				1019
TWO				1067#	1069
UNIT				 176+#	 177+	 178+
VALUE				 138+	 139+	 141+	 142+	 147+	1008	1009#	1010#	1012
X				 133+	 134+#	 135+#	 136+	 146+	 147+#	 148+	 149+
XPTDBBLOCK			 303+	 398+	 473+	 598+	 720+	 890+	 975+	1154+	1261+
XPTDB				 240	 300+	 301+#	 302+	 314	 316	 318	 320	 322	 395+	 396+#	 397+
				 410	 470+	 471+#	 472+	 507	 595+	 596+#	 597+	 657	 717+	 718+#	 719+
				 826	 887+	 888+#	 889+	 906	 911	 972+	 973+#	 974+	1085	1151+	1152+#
				1153+	1198	1258+	1259+#	1260+
XPT_LKG_CCB			 201#	 203#
ZEROQ				 171+#	1268	1269	1271	1272
ZERO_CIRCUIT_COUNTERS		 219	 318	 906	1198*
$MCB_SCHEDULE_CCB		 332
$NM$ERR_CWS			 494
$NM$ERR_IPV			 768	 780	 793	 806	 816
$NM$ERR_MPE			 324	 325
$NM$ERR_PNA			 479	 819
$NM$ERR_URC			 327	 822	 892	 977	1263
$NM_RESPONSE_BEGIN		 900	 985
$NM_RESPONSE_END		 902	1081
$NM_TIME			 624	1267
$TLI_GET_LINE_DB		 495	 609	 645	 726	 893	 978	1190	1264
%CTCE				 139+	 158+
%REMAINING			 183+