Google
 

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

;	  0001	module SC1 (			! Network Management stuff
;	  0002			ident = 'X01260'
;	  0003			) =
;	  0004	begin
;	  0005	!
;	  0006	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0007	!                    DIGITAL EQUIPMENT CORPORATION
;	  0008	!                        Maynard, Massachusetts
;	  0009	!
;	  0010	!     This software is furnished under a license and may  be  used
;	  0011	!     and copied only in accordance with the terms of such license
;	  0012	!     and with the inclusion of the above copyright notice.   This
;	  0013	!     software  or any other copies thereof may not be provided or
;	  0014	!     otherwise made available to any other person.  No  title  to
;	  0015	!     and ownership of the software is hereby transferred.
;	  0016	!
;	  0017	!     The information  in  this  software  is  subject  to  change
;	  0018	!     without  notice  and should not be construed as a commitment
;	  0019	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0020	!
;	  0021	!     DIGITAL assumes no responsibility for the use or reliability
;	  0022	!     of  its  software  on  equipment  which  is  not supplied by
;	  0023	!     DIGITAL.
;	  0024	!
;	  0025	
;	  0026	
;	  0027	
;	  0028	!++
;	  0029	! FACILITY:	Session Control
;	  0030	!
;	  0031	! ABSTRACT:	This is the Network Management module for the MCB
;	  0032	!		implementation of Session Control.
;	  0033	!
;	  0034	! ENVIRONMENT:	MCB
;	  0035	!
;	  0036	! AUTHOR:	Buren Hoffman		CREATION DATE: 20-Nov-80
;	  0037	!
;	  0038	! MODIFIED BY:
;	  0039	!	X01010	Made this module an extension process.
;	  0040	!	X01020	Use new Comm/Exec to process linkage (.CRDAT for database)
;	  0041	!	X01030	Added event logging module NM_SIG
;	  0042	!	X01040	Added new entry (NM_NOD) to allow outside modules to
;	  0043	!		ascertain node name to number mappings.
;	  0044	!	X01050	Updated to use library calls, instead of requires.
;	  0045	!	X01060	Fix in node location code.
;	  0046	!	X01070	Changed SC state representations to same as NM usage.
;	  0047	!	X01080	Fixed state checking bug.
;	  0048	!	X01090	Modified node search to default to local node when null
;	  0049	!		node spec is given.
;	  0050	!	X01100	Fixed error reporting in "show-node-characteristics"
;	  0051	!	X01110	Mapping bug in SHOW_NODE_ITEMS fixed.
;	  0052	!	X01120	Fixed reporting in show_nodes stuff
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   2
X01260								30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (1)

;	  0053	!	X01130	Repaired mapping bug in RETURN_NODE_LIST.
;	  0054	!	X01140	Utilize "paranoid" conditional for some checking, and
;	  0055	!		fixed case-shift bug in node-name selection.
;	  0056	!	X01150	Optimization work
;	  0057	!	X01160	Fixed mapping bug in SHOW_NODE_ITEMS
;	  0058	!	X01170	Added Host-Node-ID processing, and put in
;	  0059	!		abbreviated reporting on Return-Nodes function
;	  0060	!	x01180	Ron Platukis 17-nov-81
;	  0061	!		-fix code for parmeter 400 and 501 support.
;	  0062	!	x01190	Ron Platukis 8-dec-81
;	  0063	!		-allow setting of a node name if it already exists.
;	  0064	!	x01200	Alan Peckham 14-apr-82
;	  0065	!		-Optimize code.
;	  0066	!               -Change RETURN_NODE_LIST functionality for new NMX.
;	  0067	!                This fixes the duplicate node names and makes sure
;	  0068	!                that the entries are in order.
;	  0069	!               -Fix Loop node support.
;	  0070	!               -Support change in NMT data base (SCPRM changed).
;	  0071	!	x01210	Alan Peckham 14-apr-82
;	  0072	!               -Fix bug which displays invalid EXECUTOR STATE.
;	  0073	!	x01220	Alan Peckham 2-may-82
;	  0074	!               -Change buffer overflow code to $NM$ERR_REE
;	  0075	!                in RETURN_NODE_LIST
;	  0076	!	x01230	Alan Peckham 22-may-82
;	  0077	!               -Fix to not display CLEARed parameters.
;	  0078	!               -Do some range checking on received parameter values.
;	  0079	!	x01240	Alan Peckham 26-may-82
;	  0080	!               -Fix INSERT_NODE bug which did not maintain space left
;	  0081	!	x01250	Alan Peckham  1-oct-82
;	  0082	!               -Fix CLEAR_NODE_PARMS to handle CLEAR ALL case.
;	  0083	!               -Fix SET_NODE_PARMS to respond to SET ALL with $NM$ERR_OPF.
;	  0084	!	x01260	Alan Peckham 12-oct-82
;	  0085	!               -Fix mapping bug introduced by edit #25.
;	  0086	!--
;	  0087	
;	  0088	
;	  0089	
;	  0090	!
;	  0091	! REQUIRED FILES
;	  0092	!
;	  0093	library 'SCPRM';		! Our parameter and macro definitions
;	  0094	library 'MCB:MCBLIB';
;	  0095	library 'MCB:NMXLIB';
;	  0096	library 'MCB:XPORTX';
;	  0097	
;	  0098	require 'NSP:NSINFO';
;	  0210	
;	  0211	!
;	  0212	! TABLE OF CONTENTS:
;	  0213	!
;	  0214	linkage
;	  0215	    SC_LKG_CCB = jsr (register = 4),
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   3
X01260								30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (1)

;	  0216	    SC_LKG_CCB_PTR_LNG = jsr (register = 4, register = 1, register = 0),
;	  0217	    SC_LKG_LEN_PTR = jsr (register = 1, register = 2),
;	  0218	    SC_LKG_NMT_CCB = jsr (register = 1, register = 4),
;	  0219	    SC_LKG_PTR = jsr (register = 3),
;	  0220	    SC_LKG_SCDB_NMT_CCB = jsr (register = 5, register = 1, register = 4);
;	  0221	
;	  0222	forward routine
;	  0223	    NM_EXT: call$ novalue,
;	  0224	    NM_NOD: call$ novalue,
;	  0225	    NM_SIG: call$ novalue,
;	  0226	
;	  0227	    CLEAR_NODE_PARMS : SC_LKG_CCB,
;	  0228	    CLEAR_EXECUTOR_INCOMING_TIMER : SC_LKG_SCDB_NMT_CCB,
;	  0229	    CLEAR_EXECUTOR_OUTGOING_TIMER : SC_LKG_SCDB_NMT_CCB,
;	  0230	    CLEAR_NODE_CIRCUIT : SC_LKG_SCDB_NMT_CCB,
;	  0231	    CLEAR_NODE_NAME : SC_LKG_SCDB_NMT_CCB,
;	  0232	    SET_NODE_PARMS : SC_LKG_CCB,
;	  0233	    SHOW_NODE_ITEMS : SC_LKG_CCB,
;	  0234	    RETURN_NODE_LIST : SC_LKG_CCB,
;	  0235	    SHOW_CIRCUIT_ITEMS : SC_LKG_CCB,
;	  0236	    CASE_SHIFT : SC_LKG_LEN_PTR novalue,
;	  0237	    GET_NODE : SC_LKG_PTR,
;	  0238	    INSERT_NODE : SC_LKG_NMT_CCB novalue,
;	  0239	    MAKE_ROOM : SC_LKG_CCB_PTR_LNG novalue;
;	  0240	
;	  0241	!
;	  0242	! MACROS:
;	  0243	!
;	  0244	macro
;	M 0245	    RAD50 (STR) =
;	  0246	    %if %bliss (bliss36) %then %rad50_10 STR %else %rad50_11 STR %fi %;
;	  0247	
;	  0248	!
;	  0249	! EQUATED SYMBOLS:
;	  0250	!
;	  0251	
;	  0252	!
;	  0253	! OWN STORAGE:
;	  0254	!
;	  0255	$MCB_PROCESS (NAME = SC1);
;	  0256	
;	  0257	!
;	  0258	! EXTERNAL REFERENCES:
;	  0259	!
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   4
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (2)

;	  0260	%sbttl 'Network Management'
;	  0261	global routine NM_EXT (CCB): call$ novalue =
;	  0262	
;	  0263	!++
;	  0264	! FUNCTIONAL DESCRIPTION:
;	  0265	!	This routine is activated by a control request from
;	  0266	!	Network Management.
;	  0267	!
;	  0268	! FORMAL PARAMETERS:
;	  0269	!	CCB	CCB to pass to handler routine
;	  0270	!
;	  0271	! IMPLICIT INPUTS:
;	  0272	!	CCB Contents
;	  0273	!
;	  0274	! IMPLICIT OUTPUTS:
;	  0275	!	None
;	  0276	!
;	  0277	! ROUTINE VALUE:
;	  0278	! COMPLETION CODES:
;	  0279	!	None
;	  0280	!
;	  0281	! SIDE EFFECTS:
;	  0282	!	None
;	  0283	!--
;	  0284	    begin
;	  0285	    map CCB: ref block field (C_NM_FIELDS);
;	  0286	    local
;	  0287		STATUS;
;	  0288	
;	  0289	    STATUS =
;	  0290		begin
;	  0291		if .CCB [C_MOD] neq FM_NM
;	  0292		then $NM$ERR_MPE
;	  0293		else
;	  0294		    begin
;	  0295		    case .CCB [C_NM_ENTITY] from NMX$ENT_lo to NMX$ENT_hi of
;	  0296			set
;	  0297			[NMX$ENT_nod]: 			! NM fnc for node parameter
;	  0298			    begin
;	  0299			    case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0300				set 			! *** NODE ***
;	  0301				[NMX$FNC_set]:
;	  0302				    SET_NODE_PARMS (.CCB);	! Set parameters
;	  0303				[NMX$FNC_clr]:
;	  0304				    CLEAR_NODE_PARMS (.CCB);	! Clear parameters
;	  0305				[NMX$FNC_sho]:
;	  0306				    SHOW_NODE_ITEMS (.CCB);	! Show selected items
;	  0307				[NMX$FNC_ret]:
;	  0308				    RETURN_NODE_LIST (.CCB);	! Return selected items
;	  0309				[inrange, outrange]:
;	  0310				    $NM$ERR_MPE;
;	  0311				tes
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   5
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (2)

;	  0312			    end;
;	  0313	
;	  0314			[NMX$ENT_ckt]:	! NM function for circuit parameter
;	  0315			    begin
;	  0316			    case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
;	  0317				set			! *** CIRCUIT ***
;	  0318				[NMX$FNC_sho]:
;	  0319				    SHOW_CIRCUIT_ITEMS (.CCB); ! Show selected items
;	  0320				[inrange, outrange]:
;	  0321				    $NM$ERR_MPE;
;	  0322				tes
;	  0323			    end;
;	  0324	
;	  0325			[inrange, outrange]:
;	  0326			    $NM$ERR_MPE;
;	  0327			tes
;	  0328		    end
;	  0329		end;
;	  0330	
;	  0331	    if .STATUS neq 0 then $SC_DO_CCP (.CCB, .STATUS)
;	  0332	    end;


						.TITLE	SC1
						.IDENT	/X01260/


000000						.PSECT	......,  D  
000000	073527 				HEADER: .RAD50	/SC1/
000002	000403 					.WORD	403
000004	000000 					.WORD	0
000006	000000 					.WORD	0
000010	000000 					.WORD	0
000012	000000G					.WORD	.DSPCR
000014	000000G					.WORD	.DSPCR
000016	000000G					.WORD	.DSPCR
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


						.GLOBL	.DSPCR, MCB$V0, MCB$V1, $SCHED


						.SBTTL	NM.EXT Network Management
000000						.PSECT	$CODE$,  RO 
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   6
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (2)

000000	016504  000002 			NM.EXT::MOV	2(R5),R4			; CCB(.AP.),*				0291
000004	126427  000013  000006 			CMPB	13(R4),#6
000012	001063 					BNE	9$				;					0290
000014	012700  000024 				MOV	#24,R0				;					0295
000020	060400 					ADD	R4,R0
000022	011001 					MOV	(R0),R1				;					0294
000024	072127  177770 				ASH	#-10,R1
000030	042701  177760 				BIC	#177760,R1
000034	005301 					DEC	R1
000036	020127  000004 				CMP	R1,#4
000042	101047 					BHI	9$
000044	006301 					ASL	R1
000046	066107  000000'				ADD	P.AAA(R1),PC			; Case dispatch
000052	000443 				1$:	BR	9$
000054	111000 				2$:	MOVB	(R0),R0				;					0298
000056	006200 					ASR	R0
000060	042700  177600 				BIC	#177600,R0
000064	005300 					DEC	R0
000066	020027  000005 				CMP	R0,#5
000072	101033 					BHI	9$
000074	006300 					ASL	R0
000076	066007  000012'				ADD	P.AAB(R0),PC			; Case dispatch
000102	000427 				3$:	BR	9$
000104	004767  000000V			4$:	JSR	PC,SET.NODE.PARMS		;					0302
000110	000431 					BR	11$				;					0298
000112	004767  000000V			5$:	JSR	PC,CLEAR.NODE.PARMS		;					0304
000116	000426 					BR	11$				;					0298
000120	004767  000000V			6$:	JSR	PC,SHOW.NODE.ITEMS		;					0306
000124	000423 					BR	11$				;					0298
000126	004767  000000V			7$:	JSR	PC,RETURN.NODE.LIST		;					0308
000132	000420 					BR	11$				;					0294
000134	111000 				8$:	MOVB	(R0),R0				;					0315
000136	006200 					ASR	R0
000140	042700  177600 				BIC	#177600,R0
000144	005300 					DEC	R0
000146	020027  000005 				CMP	R0,#5
000152	101003 					BHI	9$
000154	006300 					ASL	R0
000156	066007  000026'				ADD	P.AAC(R0),PC			; Case dispatch
000162	012700  177773 			9$:	MOV	#-5,R0				; *,STATUS
000166	000403 					BR	12$
000170	004767  000000V			10$:	JSR	PC,SHOW.CIRCUIT.ITEMS		;					0319
000174	005700 				11$:	TST	R0				; STATUS				0331
000176	001407 				12$:	BEQ	13$
000200	112764  000022  000012 			MOVB	#22,12(R4)
000206	010064  000014 				MOV	R0,14(R4)			; STATUS,*
000212	004767  000000G				JSR	PC,$SCHED
000216	000207 				13$:	RTS	PC				;					0261

; Routine Size:  72 words,	Routine Base:  $CODE$ + 0000
; Maximum stack depth per invocation:  1 word
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   7
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (2)


000000						.PSECT	$PLIT$,  RO ,  D  

					P.AAA:						; CASE Table for NM.EXT+0046		0294
000000	000002 					.WORD	2				; [2$]
000002	000110 					.WORD	110				; [9$]
000004	000110 					.WORD	110				; [9$]
000006	000062 					.WORD	62				; [8$]
000010	000110 					.WORD	110				; [9$]

					P.AAB:						; CASE Table for NM.EXT+0076		0298
000012	000002 					.WORD	2				; [4$]
000014	000010 					.WORD	10				; [5$]
000016	000060 					.WORD	60				; [9$]
000020	000016 					.WORD	16				; [6$]
000022	000060 					.WORD	60				; [9$]
000024	000024 					.WORD	24				; [7$]

					P.AAC:						; CASE Table for NM.EXT+0156		0315
000026	000000 					.WORD	0				; [9$]
000030	000000 					.WORD	0				; [9$]
000032	000000 					.WORD	0				; [9$]
000034	000006 					.WORD	6				; [10$]
000036	000000 					.WORD	0				; [9$]
000040	000000 					.WORD	0				; [9$]
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   8
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (3)

;	  0333	global routine NM_NOD (NODE_ID_PTR): call$ novalue =
;	  0334	
;	  0335	!++
;	  0336	! FUNCTIONAL DESCRIPTION:
;	  0337	!	Map from node address to node name, or vice versa.
;	  0338	!
;	  0339	! FORMAL PARAMETERS:
;	  0340	!	NODE_ID_PTR
;	  0341	!		Node ID block pointer. 	The block is to
;	  0342	!		contain space for:
;	  0343	!			Node address	(2 bytes)
;	  0344	!			Node name	(I-6)
;	  0345	!		specifying either one of the parameters.
;	  0346	!
;	  0347	! IMPLICIT INPUTS:
;	  0348	!	None
;	  0349	!
;	  0350	! IMPLICIT OUTPUTS:
;	  0351	!	The missing field in the node ID block will be filled in.
;	  0352	!	If the node is unknown, a -1 node address is returned.
;	  0353	!
;	  0354	! ROUTINE VALUE:
;	  0355	! COMPLETION CODES:
;	  0356	!	None
;	  0357	!
;	  0358	! SIDE EFFECTS:
;	  0359	!	None
;	  0360	!--
;	  0361	    begin
;	  0362	    $sc_get_data_base (SCDB);
;	  0363	    local
;	  0364	        SAVE_MAP,
;	  0365	        PTR,
;	  0366	        NMT: ref block field (NMT_FIELDS);
;	  0367	
;	  0368	    SMAP$ (SAVE_MAP);
;	  0369	    PTR = .NODE_ID_PTR;
;	  0370	
;	  0371	    if (NMT = GET_NODE (.PTR)) neqa 0
;	  0372	    then
;	  0373		begin
;	  0374		local
;	  0375		    NAML;
;	  0376	
;	  0377		byt$short_string (NMT [NMT_ADDR], PTR);
;	  0378		NAML = .NMT [NMT_NAML];
;	  0379		ch$wchar_a (.NAML, PTR);
;	  0380		ch$move (.NAML, byt$ptr (NMT [NMT_NAME]), .PTR);
;	  0381		end
;	  0382	    else
;	  0383	        begin
;	  0384	        ch$wchar_a (-1, PTR);
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page   9
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (3)

;	  0385	        ch$wchar_a (-1, PTR);
;	  0386	        end;
;	  0387	
;	  0388	    MAP$ (.SAVE_MAP)
;	  0389	    end;


						.GLOBL	.CRDAT, KISAR6


						.SBTTL	NM.NOD Network Management
000220						.PSECT	$CODE$,  RO 

000000	016701  000000G			NM.NOD::MOV	KISAR6,R1			; *,SAVE.MAP				0368
000004	016503  000002 				MOV	2(R5),R3			; NODE.ID.PTR(.AP.),PTR			0369
000010	004767  000000V				JSR	PC,GET.NODE			;					0371
000014	010005 					MOV	R0,R5				; *,NMT
000016	001421 					BEQ	1$
000020	016500  000010 				MOV	10(R5),R0			; *(NMT),NUM				0377
000024	110023 					MOVB	R0,(R3)+			; NUM,PTR
000026	000300 					SWAB	R0				; NUM
000030	110023 					MOVB	R0,(R3)+			; NUM,PTR
000032	111500 					MOVB	(R5),R0				; NMT,NAML				0378
000034	110023 					MOVB	R0,(R3)+			; NAML,PTR				0379
000036	010046 					MOV	R0,-(SP)			; NAML,*				0380
000040	012746  000001 				MOV	#1,-(SP)
000044	060516 					ADD	R5,(SP)				; NMT,*
000046	010346 					MOV	R3,-(SP)			; PTR,*
000050	004767  000000G				JSR	PC,BL$MOV
000054	062706  000006 				ADD	#6,SP				;					0373
000060	000404 					BR	2$				;					0371
000062	112723  000377 			1$:	MOVB	#377,(R3)+			; *,PTR					0384
000066	112723  000377 				MOVB	#377,(R3)+			; *,PTR					0385
000072	010167  000000G			2$:	MOV	R1,KISAR6			; SAVE.MAP,*				0388
000076	000207 					RTS	PC				;					0333

; Routine Size:  32 words,	Routine Base:  $CODE$ + 0220
; Maximum stack depth per invocation:  4 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  10
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (4)

;	  0390	global routine NM_SIG (SIG_TYPE, PRM1, PRM2): call$ novalue =
;	  0391	
;	  0392	!++
;	  0393	! FUNCTIONAL DESCRIPTION:
;	  0394	!	This routine is activated by call from another SC routine
;	  0395	!	to effect event logging - via Network Management (NMX).
;	  0396	!
;	  0397	! FORMAL PARAMETERS:
;	  0398	!	SIG_TYPE Signal type identifier
;	  0399	!	PRM1	Type-dependent parameter #1
;	  0400	!	PRM2	Type-dependent parameter #2
;	  0401	!
;	  0402	! IMPLICIT INPUTS:
;	  0403	!	None
;	  0404	!
;	  0405	! IMPLICIT OUTPUTS:
;	  0406	!	NMX is signaled concerning the event
;	  0407	!
;	  0408	! ROUTINE VALUE:
;	  0409	! COMPLETION CODES:
;	  0410	!	None
;	  0411	!
;	  0412	! SIDE EFFECTS:
;	  0413	!	None
;	  0414	!--
;	  0415	    begin
;	  0416	    $sc_get_data_base (SCDB);
;	  0417	
;	  0418	    selectone .SIG_TYPE of
;	  0419		set
;	  0420	
;	  0421		[0]:				! Node state change
;	  0422		    ! PRM1 = Reason for state change
;	  0423		    ! PRM2 = Old state
;	  0424	
;	  0425		    begin
;	  0426	            local NEW_STATE;
;	  0427	            $NM_LOG_BEGIN ();
;	  0428	            PARAMETER_C_1 (0, PRM1);    ! Reason
;	  0429	            PARAMETER_C_1 (1, PRM2);    ! Old-State
;	  0430	            NEW_STATE = .SCDB [SCF_STAT];
;	  0431	            PARAMETER_C_1 (2, NEW_STATE); ! New-State
;	  0432	            $NM_LOG_END ((2^6 + 0), 0);
;	  0433		    end;
;	  0434	
;	  0435		[otherwise]:
;	  0436		    return;
;	  0437		tes;
;	  0438	
;	  0439	    end;
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  11
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (4)

						.GLOBL	$NLBEG, $DPC1, $NLEND


						.SBTTL	NM.SIG Network Management
000000	016701  000002G			NM.SIG::MOV	.CRDAT+2,R1			;					0415
000004	016500  000002 				MOV	2(R5),R0			; SIG.TYPE(.AP.),*			0418
000010	001035 					BNE	1$
000012	004767  000000G				JSR	PC,$NLBEG			;					0427
000016	005046 					CLR	-(SP)				;					0428
000020	116500  000004 				MOVB	4(R5),R0			; PRM1(.AP.),*
000024	004767  000000G				JSR	PC,$DPC1
000030	012716  000001 				MOV	#1,(SP)				;					0429
000034	116500  000006 				MOVB	6(R5),R0			; PRM2(.AP.),*
000040	004767  000000G				JSR	PC,$DPC1
000044	011101 					MOV	(R1),R1				; *,NEW.STATE				0430
000046	072127  177770 				ASH	#-10,R1				; *,NEW.STATE
000052	042701  177774 				BIC	#177774,R1			; *,NEW.STATE
000056	012716  000002 				MOV	#2,(SP)				;					0431
000062	110100 					MOVB	R1,R0				; NEW.STATE,*
000064	004767  000000G				JSR	PC,$DPC1
000070	012700  000200 				MOV	#200,R0				;					0432
000074	005001 					CLR	R1
000076	004767  000000G				JSR	PC,$NLEND
000102	005726 					TST	(SP)+				;					0425
000104	000207 				1$:	RTS	PC				;					0390

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


;	  0440	
;	  0441	
;	  0442	
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  12
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (5)

;	  0443	routine CLEAR_NODE_PARMS (CCB) : SC_LKG_CCB =
;	  0444	
;	  0445	!++
;	  0446	! FUNCTIONAL DESCRIPTION:
;	  0447	!	Perform clearing of specified node parameter.
;	  0448	!
;	  0449	! FORMAL PARAMETERS:
;	  0450	!	CCB	CCB address
;	  0451	!
;	  0452	! IMPLICIT INPUTS:
;	  0453	!	PARBLK & NMPAR inputs, as pointed at by CCB.
;	  0454	!
;	  0455	! IMPLICIT OUTPUTS:
;	  0456	!	None
;	  0457	!
;	  0458	! ROUTINE VALUE:
;	  0459	!	Operation status code
;	  0460	!
;	  0461	! COMPLETION CODES:
;	  0462	!	None
;	  0463	!
;	  0464	! SIDE EFFECTS:
;	  0465	!	None
;	  0466	!--
;	  0467	    begin
;	  0468	    $sc_get_data_base (SCDB);
;	  0469	    map CCB: ref block field (C_NM_FIELDS);
;	  0470	    bind
;	  0471		NMPAR = CCB [C_NM_NMPAR]: ref block field (NMX_NMPAR_FIELDS);
;	  0472	    local
;	  0473	        NMT : ref block field (NMT_FIELDS);
;	  0474	
;	  0475	    if (NMT = GET_NODE (byt$ptr (NMPAR [NMX_NMPAR_ENTITY]))) eqla 0
;	  0476	    then return $NM$ERR_URC;
;	  0477	
;	  0478	    if .CCB [C_CNT] neq 0
;	  0479	    then
;	  0480	        begin
;	  0481	
;	  0482	        selectone 
;	  0483	            begin
;	  0484	            local SAVE_MAP,BUF_PTR;
;	  0485	            stacklocal PARM_NUM;
;	  0486	            SMAP$(SAVE_MAP);
;	  0487	            MAP$ (.CCB [C_BIAS]);
;	  0488	            BUF_PTR = .CCB [C_ADDR];
;	  0489	            byt$string_short (BUF_PTR, PARM_NUM);
;	  0490	            MAP$(.SAVE_MAP);
;	  0491	            .PARM_NUM
;	  0492	            end
;	  0493	        of
;	  0494	            set
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  13
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (5)

;	  0495	            [500]:
;	  0496	                CLEAR_NODE_NAME (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0497	            [501]:
;	  0498	                CLEAR_NODE_CIRCUIT (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0499	            [510]:
;	  0500	                CLEAR_EXECUTOR_INCOMING_TIMER (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0501	            [511]:
;	  0502	                CLEAR_EXECUTOR_OUTGOING_TIMER (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0503	            [otherwise]:
;	  0504		        $NM$ERR_UPT;
;	  0505	            tes
;	  0506	
;	  0507	        end
;	  0508	    else
;	  0509	        begin
;	  0510	        CLEAR_NODE_NAME (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0511	        CLEAR_NODE_CIRCUIT (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0512	        CLEAR_EXECUTOR_INCOMING_TIMER (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0513	        CLEAR_EXECUTOR_OUTGOING_TIMER (SCDB [SC_TICK], NMT [NMT_BASE], .CCB);
;	  0514	        NM$SUC
;	  0515	        end
;	  0516	
;	  0517	    end;


						.SBTTL	CLEAR.NODE.PARMS Network Management
000000	004167  000000G			CLEAR.NODE.PARMS:
						JSR	R1,$SAVE5			;					0443
000004	005746 					TST	-(SP)
000006	016705  000002G				MOV	.CRDAT+2,R5			;					0467
000012	016403  000026 				MOV	26(R4),R3			; *(CCB),*				0475
000016	062703  000004 				ADD	#4,R3
000022	004767  000000V				JSR	PC,GET.NODE
000026	010001 					MOV	R0,R1				; *,NMT
000030	001003 					BNE	1$
000032	012700  177770 				MOV	#-10,R0				;					0476
000036	000465 					BR	7$
000040	005764  000022 			1$:	TST	22(R4)				; *(CCB)				0478
000044	001450 					BEQ	6$
000046	016703  000000G				MOV	KISAR6,R3			; *,SAVE.MAP				0486
000052	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				0487
000060	016400  000020 				MOV	20(R4),R0			; *(CCB),BUF.PTR			0488
000064	112016 					MOVB	(R0)+,(SP)			; BUF.PTR,PARM.NUM			0489
000066	112066  000001 				MOVB	(R0)+,1(SP)			; BUF.PTR,PARM.NUM+1
000072	010367  000000G				MOV	R3,KISAR6			; SAVE.MAP,*				0490
000076	011603 					MOV	(SP),R3				; PARM.NUM,*				0491
000100	020327  000764 				CMP	R3,#764				;					0482
000104	001003 					BNE	2$
000106	004767  000000V				JSR	PC,CLEAR.NODE.NAME		;					0496
000112	000437 					BR	7$				;					0480
000114	020327  000765 			2$:	CMP	R3,#765				;					0482
000120	001003 					BNE	3$
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  14
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (5)

000122	004767  000000V				JSR	PC,CLEAR.NODE.CIRCUIT		;					0498
000126	000431 					BR	7$				;					0480
000130	020327  000776 			3$:	CMP	R3,#776				;					0482
000134	001003 					BNE	4$
000136	004767  000000V				JSR	PC,CLEAR.EXECUTOR.INCOMING.TIMER;					0500
000142	000423 					BR	7$				;					0480
000144	020327  000777 			4$:	CMP	R3,#777				;					0482
000150	001003 					BNE	5$
000152	004767  000000V				JSR	PC,CLEAR.EXECUTOR.OUTGOING.TIMER;					0502
000156	000415 					BR	7$				;					0480
000160	012700  177772 			5$:	MOV	#-6,R0
000164	000412 					BR	7$				;					0478
000166	004767  000000V			6$:	JSR	PC,CLEAR.NODE.NAME		;					0510
000172	004767  000000V				JSR	PC,CLEAR.NODE.CIRCUIT		;					0511
000176	004767  000000V				JSR	PC,CLEAR.EXECUTOR.INCOMING.TIMER;					0512
000202	004767  000000V				JSR	PC,CLEAR.EXECUTOR.OUTGOING.TIMER;					0513
000206	012700  000001 				MOV	#1,R0				;					0478
000212	005726 				7$:	TST	(SP)+				;					0443
000214	000207 					RTS	PC

; Routine Size:  71 words,	Routine Base:  $CODE$ + 0426
; Maximum stack depth per invocation:  8 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  15
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (6)

;	  0518	routine CLEAR_EXECUTOR_INCOMING_TIMER (SCDB, NMT, CCB) : SC_LKG_SCDB_NMT_CCB =
;	  0519	
;	  0520	!++
;	  0521	! FUNCTIONAL DESCRIPTION:
;	  0522	!	Clear the incoming timer
;	  0523	!
;	  0524	! FORMAL PARAMETERS:
;	  0525	!       SCDB    SC data base
;	  0526	!       NMT     NMT address
;	  0527	!	CCB	CCB address (not needed)
;	  0528	!
;	  0529	! IMPLICIT INPUTS:
;	  0530	!	None
;	  0531	!
;	  0532	! IMPLICIT OUTPUTS:
;	  0533	!	None
;	  0534	!
;	  0535	! ROUTINE VALUE:
;	  0536	!	Operation status code
;	  0537	!
;	  0538	! COMPLETION CODES:
;	  0539	!	None
;	  0540	!
;	  0541	! SIDE EFFECTS:
;	  0542	!	None
;	  0543	!--
;	  0544	    begin
;	  0545	    $sc_get_data_base (SCDB);
;	  0546	    map CCB: ref block field (C_NM_FIELDS),
;	  0547	        NMT: ref block field (NMT_FIELDS);
;	  0548	
;	  0549	    if .NMT [NMT_ADDR] neq .SCDB [SC_LADDR] then return $NM$ERR_PNA;
;	  0550	    SCDB [SC_ITIME] = 0;
;	  0551	    return NM$SUC
;	  0552	    end;


						.SBTTL	CLEAR.EXECUTOR.INCOMING.TIMER Network Management
000000	026165  000010  000010 		CLEAR.EXECUTOR.INCOMING.TIMER:
						CMP	10(R1),10(R5)			; *(NMT),*(SCDB)			0549
000006	001403 					BEQ	1$
000010	012700  177752 				MOV	#-26,R0
000014	000207 					RTS	PC
000016	005065  000024 			1$:	CLR	24(R5)				; *(SCDB)				0550
000022	012700  000001 				MOV	#1,R0				;					0544
000026	000207 					RTS	PC				;					0518

; Routine Size:  12 words,	Routine Base:  $CODE$ + 0644
; Maximum stack depth per invocation:  0 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  16
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (7)

;	  0553	routine CLEAR_EXECUTOR_OUTGOING_TIMER (SCDB, NMT, CCB) : SC_LKG_SCDB_NMT_CCB =
;	  0554	
;	  0555	!++
;	  0556	! FUNCTIONAL DESCRIPTION:
;	  0557	!	Clear the outgoing timer
;	  0558	!
;	  0559	! FORMAL PARAMETERS:
;	  0560	!       SCDB    SC data base
;	  0561	!       NMT     NMT address
;	  0562	!	CCB	CCB address (not needed)
;	  0563	!
;	  0564	! IMPLICIT INPUTS:
;	  0565	!	None
;	  0566	!
;	  0567	! IMPLICIT OUTPUTS:
;	  0568	!	None
;	  0569	!
;	  0570	! ROUTINE VALUE:
;	  0571	!	Operation status code
;	  0572	!
;	  0573	! COMPLETION CODES:
;	  0574	!	None
;	  0575	!
;	  0576	! SIDE EFFECTS:
;	  0577	!	None
;	  0578	!--
;	  0579	    begin
;	  0580	    $sc_get_data_base (SCDB);
;	  0581	    map CCB: ref block field (C_NM_FIELDS),
;	  0582	        NMT: ref block field (NMT_FIELDS);
;	  0583	
;	  0584	    if .NMT [NMT_ADDR] neq .SCDB [SC_LADDR] then return $NM$ERR_PNA;
;	  0585	    SCDB [SC_OTIME] = 0;
;	  0586	    return NM$SUC
;	  0587	    end;


						.SBTTL	CLEAR.EXECUTOR.OUTGOING.TIMER Network Management
000000	026165  000010  000010 		CLEAR.EXECUTOR.OUTGOING.TIMER:
						CMP	10(R1),10(R5)			; *(NMT),*(SCDB)			0584
000006	001403 					BEQ	1$
000010	012700  177752 				MOV	#-26,R0
000014	000207 					RTS	PC
000016	005065  000026 			1$:	CLR	26(R5)				; *(SCDB)				0585
000022	012700  000001 				MOV	#1,R0				;					0579
000026	000207 					RTS	PC				;					0553

; Routine Size:  12 words,	Routine Base:  $CODE$ + 0674
; Maximum stack depth per invocation:  0 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  17
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (8)

;	  0588	routine CLEAR_NODE_CIRCUIT (SCDB, NMT, CCB) : SC_LKG_SCDB_NMT_CCB =
;	  0589	
;	  0590	!++
;	  0591	! FUNCTIONAL DESCRIPTION:
;	  0592	!	Clear a loop node
;	  0593	!
;	  0594	! FORMAL PARAMETERS:
;	  0595	!       SCDB    SC data base
;	  0596	!       NMT     NMT address
;	  0597	!	CCB	CCB address (not needed)
;	  0598	!
;	  0599	! IMPLICIT INPUTS:
;	  0600	!	None
;	  0601	!
;	  0602	! IMPLICIT OUTPUTS:
;	  0603	!	None
;	  0604	!
;	  0605	! ROUTINE VALUE:
;	  0606	!	Operation status code
;	  0607	!
;	  0608	! COMPLETION CODES:
;	  0609	!	None
;	  0610	!
;	  0611	! SIDE EFFECTS:
;	  0612	!	None
;	  0613	!--
;	  0614	    begin
;	  0615	    $sc_get_data_base (SCDB);
;	  0616	    map CCB: ref block field (C_NM_FIELDS),
;	  0617	        NMT: ref block field (NMT_FIELDS);
;	  0618	
;	  0619	    if .NMT [NMT_ADDR] neq 0 then return $NM$ERR_CWS;
;	  0620	    NMT [NMT_NAML] = 0;
;	  0621	    return NM$SUC
;	  0622	    end;


						.SBTTL	CLEAR.NODE.CIRCUIT Network Management
000000	005761  000010 			CLEAR.NODE.CIRCUIT:
						TST	10(R1)				; *(NMT)				0619
000004	001403 					BEQ	1$
000006	012700  177765 				MOV	#-13,R0
000012	000207 					RTS	PC
000014	105011 				1$:	CLRB	(R1)				; NMT					0620
000016	012700  000001 				MOV	#1,R0				;					0614
000022	000207 					RTS	PC				;					0588

; Routine Size:  10 words,	Routine Base:  $CODE$ + 0724
; Maximum stack depth per invocation:  0 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  18
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (9)

;	  0623	routine CLEAR_NODE_NAME (SCDB, NMT, CCB) : SC_LKG_SCDB_NMT_CCB =
;	  0624	
;	  0625	!++
;	  0626	! FUNCTIONAL DESCRIPTION:
;	  0627	!	Clear a node name mapping
;	  0628	!
;	  0629	! FORMAL PARAMETERS:
;	  0630	!       SCDB    SC data base
;	  0631	!       NMT     NMT address
;	  0632	!	CCB	CCB address (not needed)
;	  0633	!
;	  0634	! IMPLICIT INPUTS:
;	  0635	!	None
;	  0636	!
;	  0637	! IMPLICIT OUTPUTS:
;	  0638	!	None
;	  0639	!
;	  0640	! ROUTINE VALUE:
;	  0641	!	Operation status code
;	  0642	!
;	  0643	! COMPLETION CODES:
;	  0644	!	None
;	  0645	!
;	  0646	! SIDE EFFECTS:
;	  0647	!	None
;	  0648	!--
;	  0649	    begin
;	  0650	    $sc_get_data_base (SCDB);
;	  0651	    map CCB: ref block field (C_NM_FIELDS),
;	  0652	        NMT: ref block field (NMT_FIELDS);
;	  0653	
;	  0654	    NMT [NMT_NAML] = 0;                 ! No name anymore
;	  0655	    return NM$SUC
;	  0656	    end;


						.SBTTL	CLEAR.NODE.NAME Network Management
000000	105011 				CLEAR.NODE.NAME:
						CLRB	(R1)				; NMT					0654
000002	012700  000001 				MOV	#1,R0				;					0649
000006	000207 					RTS	PC				;					0623

; Routine Size:  4 words,	Routine Base:  $CODE$ + 0750
; Maximum stack depth per invocation:  0 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  19
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

;	  0657	routine SET_NODE_PARMS (CCB) : SC_LKG_CCB =
;	  0658	
;	  0659	!++
;	  0660	! FUNCTIONAL DESCRIPTION:
;	  0661	!	Perform setting of specified node parameter.
;	  0662	!
;	  0663	! FORMAL PARAMETERS:
;	  0664	!	CCB	CCB address
;	  0665	!
;	  0666	! IMPLICIT INPUTS:
;	  0667	!	PARBLK & NMPAR inputs, as pointed at by CCB.
;	  0668	!
;	  0669	! IMPLICIT OUTPUTS:
;	  0670	!	None
;	  0671	!
;	  0672	! ROUTINE VALUE:
;	  0673	!	Operation status code
;	  0674	!
;	  0675	! COMPLETION CODES:
;	  0676	!	None
;	  0677	!
;	  0678	! SIDE EFFECTS:
;	  0679	!	None
;	  0680	!--
;	  0681	    begin
;	  0682	    $sc_get_data_base (SCDB);
;	  0683	    map CCB: ref block field (C_NM_FIELDS);
;	  0684	    bind
;	  0685		NMPAR = CCB [C_NM_NMPAR]: ref block field (NMX_NMPAR_FIELDS);
;	  0686	    local
;	  0687		BUF_PTR,
;	  0688		PARM_NUM;
;	  0689	
;	  0690	    if .CCB [C_CNT] eql 0
;	  0691	    then
;	  0692	        return $NM$ERR_OPF;
;	  0693	
;	  0694	    BUF_PTR = .CCB [C_ADDR];
;	  0695	    MAP$ (.CCB [C_BIAS]);
;	  0696	    byt$string_short (BUF_PTR, PARM_NUM);
;	  0697	
;	  0698	    selectone .PARM_NUM of
;	  0699		set
;	  0700	
;	  0701		[0]:			! Set node state
;	  0702		    begin
;	  0703		    local
;	  0704			STATE,
;	  0705			LCCB: ref block field (C_FIELDS);
;	  0706	
;	  0707		    STATE = ch$rchar_a (BUF_PTR);
;	  0708	            selectone .STATE of
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  20
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

;	  0709	                set
;	  0710	                [S_ST_ON] :
;	  0711	                    0;
;	  0712	                [S_ST_OFF, S_ST_SHUT, S_ST_RST] :
;	  0713	                    return $NM$ERR_OPF;
;	  0714	                [otherwise] :
;	  0715	                    return $NM$ERR_IPV;
;	  0716	                tes;
;	  0717		    if .SCDB [SCF_STAT] eql S_ST_ON then return NM$SUC;
;	  0718		    if not PDVID$ (RAD50 ('NMX'), SCDB [SC_NMPIX]) then SIGNAL_STOP (SC$_NNM);
;	  0719		    if not PDVID$ (RAD50 ('NSP'), SCDB [SC_NSPIX]) then SIGNAL_STOP (SC$_NNS);
;	  0720		    SCDB [SC_LLINK] = 0;
;	  0721		    if not CCBGT$ (LCCB) then return $NM$ERR_REE;
;	  0722		    LCCB [C_STK] = .CCB;
;	  0723		    LCCB [C_PIX] = .SCDB [SC_NSPIX];
;	  0724		    LCCB [C_FNC] = FC_XME;	! Initialize
;	  0725		    LCCB [C_MOD] = N_XINI;	!   NSP
;	  0726		    $MCB_SCHEDULE_CCB (.LCCB);
;	  0727		    return 0			! Special hack so no ccb completion
;	  0728		    end;
;	  0729	
;	  0730		[141]:			! Define Host Node Address
;	  0731		    begin
;	  0732		    local
;	  0733			HOST_ADDR;
;	  0734		    BUF_PTR = byt$ptr (NMPAR [NMX_NMPAR_NODE_ADDRESS]);
;	  0735		    byt$string_short (BUF_PTR, HOST_ADDR);
;	  0736		    SCDB [SC_HADDR] = .HOST_ADDR
;	  0737		    end;
;	  0738	
;	  0739		[500]:			! Set a node name
;	  0740		    begin
;	  0741		    local
;	  0742	                NEW_NAME : vector [byt$allocation(6)],
;	  0743			NEW_NAML,
;	  0744	                NMT : ref block field (NMT_FIELDS);
;	  0745	
;	  0746		    byt$string_tiny (BUF_PTR, NEW_NAML);
;	  0747	            selectone .NEW_NAML of
;	  0748	                set
;	  0749	                [1 to 6]:
;	  0750	                    ;                   ! Valid range
;	  0751	                [otherwise]:
;	  0752	                    return $NM$ERR_IPV;
;	  0753	                tes;
;	  0754	            ch$move (.NEW_NAML, .BUF_PTR, byt$ptr (NEW_NAME));
;	  0755		    if (NMT = GET_NODE (byt$ptr (NMPAR [NMX_NMPAR_ENTITY]))) eqla 0
;	  0756		    then return $NM$ERR_URC;
;	  0757	            if .NMT [NMT_ADDR] eql 0 then return $NM$ERR_CWS;
;	  0758		    NMT [NMT_NAML] = .NEW_NAML;
;	  0759		    ch$move (.NEW_NAML, byt$ptr (NEW_NAME), byt$ptr (NMT [NMT_NAME]))
;	  0760		    end;
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  21
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

;	  0761	
;	  0762		[501]:			! Set circuit for node name
;	  0763		    begin
;	  0764	            local
;	  0765	                CHAN,
;	  0766	                NMXID,
;	  0767	                NMT: ref block field (NMT_FIELDS);
;	  0768		    if GET_NODE (byt$ptr (NMPAR [NMX_NMPAR_ENTITY])) neqa 0
;	  0769	            then return $NM$ERR_CWS;
;	  0770	            MAP$ (.CCB [C_BIAS]);
;	  0771	            NMX$OBTAIN_CIRCUIT_OWNER (.SCDB [SC_NMPIX], .buf_ptr, CHAN, NMXID);
;	  0772		    MAP$ (.SCDB [SC_NMT_BIAS]);
;	  0773	            NMT = blockvector [.SCDB [SC_NMT_ADDR], .SCDB [SC_NODES], NMT_BASE; 0, NMT_SIZE];
;	  0774	
;	  0775		    decru I from .SCDB [SC_LOOPS] to 1 do
;	  0776			begin
;	  0777			if .NMT [NMT_NAML] eql 0        ! Find available slot
;	  0778			then
;	  0779			    begin
;	  0780			    local PTR;
;	  0781			    PTR = byt$ptr (NMPAR [NMX_NMPAR_NODE_NAME_LENGTH]);
;	  0782			    NMT [NMT_NAML] = ch$rchar_a (PTR);
;	  0783			    ch$move (.NMT [NMT_NAML], .PTR, byt$ptr (NMT [NMT_NAME]));
;	  0784			    NMT [NMT_CHAN] = .CHAN;
;	  0785			    NMT [NMT_NMXID] = .NMXID;
;	  0786			    return NM$SUC
;	  0787			    end;
;	  0788	
;	  0789	                NMT = vector [.NMT, NMT_SIZE];
;	  0790			end;
;	  0791	
;	  0792		    return $NM$ERR_NRE
;	  0793		    end;
;	  0794	
;	  0795		[510]:				! Set incoming connect timer
;	  0796	            begin
;	  0797	            local VALUE;
;	  0798		    byt$string_short (BUF_PTR, VALUE);
;	  0799	            selectoneu .VALUE of
;	  0800	                set
;	  0801	                [1 to 65535]:
;	  0802	                    SCDB [SC_ITIME] = .VALUE;
;	  0803	                [otherwise]:
;	  0804	                    return $NM$ERR_IPV;
;	  0805	                tes;
;	  0806	            end;
;	  0807		[511]:				! Set outgoing connect timer
;	  0808	            begin
;	  0809	            local VALUE;
;	  0810		    byt$string_short (BUF_PTR, VALUE);
;	  0811	            selectoneu .VALUE of
;	  0812	                set
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  22
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

;	  0813	                [1 to 65535]:
;	  0814	                    SCDB [SC_OTIME] = .VALUE;
;	  0815	                [otherwise]:
;	  0816	                    return $NM$ERR_IPV;
;	  0817	                tes;
;	  0818	            end;
;	  0819		[otherwise]:
;	  0820		    return $NM$ERR_UPT;
;	  0821	
;	  0822		tes;
;	  0823	
;	  0824	    return NM$SUC
;	  0825	    end;


						.GLOBL	P.DTGT, $CALLI, $CCBGT, $NMGID
						.GLOBL	$CALLP


						.SBTTL	SET.NODE.PARMS Network Management
000000	004167  000000G			SET.NODE.PARMS:
						JSR	R1,$SAVE5			;					0657
000004	162706  000026 				SUB	#26,SP
000010	010401 					MOV	R4,R1				; *,CCB
000012	016746  000002G				MOV	.CRDAT+2,-(SP)			;					0681
000016	012705  000026 				MOV	#26,R5
000022	060105 					ADD	R1,R5				; CCB,*
000024	005761  000022 				TST	22(R1)				; *(CCB)				0690
000030	001424 					BEQ	1$				;					0692
000032	016104  000020 				MOV	20(R1),R4			; *(CCB),BUF.PTR			0694
000036	016167  000016  000000G			MOV	16(R1),KISAR6			; *(CCB),*				0695
000044	112466  000020 				MOVB	(R4)+,20(SP)			; BUF.PTR,PARM.NUM			0696
000050	112466  000021 				MOVB	(R4)+,21(SP)			; BUF.PTR,PARM.NUM+1
000054	016600  000020 				MOV	20(SP),R0			; PARM.NUM,*				0698
000060	001154 					BNE	11$
000062	005000 					CLR	R0				; STATE					0707
000064	152400 					BISB	(R4)+,R0			; BUF.PTR,STATE
000066	005700 					TST	R0				; STATE					0708
000070	001407 					BEQ	2$
000072	003574 					BLE	14$
000074	020027  000003 				CMP	R0,#3				; STATE,*
000100	003176 					BGT	17$
000102	012700  177747 			1$:	MOV	#-31,R0				;					0713
000106	000520 					BR	9$
000110	032776  001400  000000 		2$:	BIT	#1400,@0(SP)			;					0717
000116	001553 					BEQ	12$
000120	012746  000020 				MOV	#20,-(SP)			;					0718
000124	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000126	012746  054640 				MOV	#54640,-(SP)
000132	012746  000002 				MOV	#2,-(SP)
000136	012746  000000G				MOV	#P.DTGT,-(SP)
000142	004767  000000G				JSR	PC,$CALLI
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  23
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

000146	062706  000010 				ADD	#10,SP
000152	010002 					MOV	R0,R2				; *,$MCB$STATUS
000154	006000 					ROR	R0
000156	103002 					BCC	3$
000160	016600  000016 				MOV	16(SP),R0			; $MCB$MY.INDEX,$MCB$HANDLE
000164	010203 				3$:	MOV	R2,R3				; $MCB$STATUS,$MCB$STATUS
000166	006002 					ROR	R2				; $MCB$STATUS
000170	103003 					BCC	4$
000172	011602 					MOV	(SP),R2
000174	110062  000003 				MOVB	R0,3(R2)			; $MCB$HANDLE,*
000200	032703  000001 			4$:	BIT	#1,R3				; *,$MCB$STATUS
000204	001007 					BNE	5$
000206	012746  100044 				MOV	#-77734,-(SP)
000212	012746  000001 				MOV	#1,-(SP)
000216	004767  000000G				JSR	PC,$STOP
000222	022626 					CMP	(SP)+,(SP)+
000224	012746  000016 			5$:	MOV	#16,-(SP)			;					0719
000230	060616 					ADD	SP,(SP)				; $MCB$MY.INDEX,*
000232	012746  055210 				MOV	#55210,-(SP)
000236	012746  000002 				MOV	#2,-(SP)
000242	012746  000000G				MOV	#P.DTGT,-(SP)
000246	004767  000000G				JSR	PC,$CALLI
000252	062706  000010 				ADD	#10,SP
000256	010002 					MOV	R0,R2				; *,$MCB$STATUS
000260	006000 					ROR	R0
000262	103002 					BCC	6$
000264	016600  000014 				MOV	14(SP),R0			; $MCB$MY.INDEX,$MCB$HANDLE
000270	010203 				6$:	MOV	R2,R3				; $MCB$STATUS,$MCB$STATUS
000272	006002 					ROR	R2				; $MCB$STATUS
000274	103003 					BCC	7$
000276	011602 					MOV	(SP),R2
000300	110062  000002 				MOVB	R0,2(R2)			; $MCB$HANDLE,*
000304	032703  000001 			7$:	BIT	#1,R3				; *,$MCB$STATUS
000310	001007 					BNE	8$
000312	012746  100034 				MOV	#-77744,-(SP)
000316	012746  000001 				MOV	#1,-(SP)
000322	004767  000000G				JSR	PC,$STOP
000326	022626 					CMP	(SP)+,(SP)+
000330	011600 				8$:	MOV	(SP),R0				;					0720
000332	105060  000005 				CLRB	5(R0)
000336	004767  000000G				JSR	PC,$CCBGT			;					0721
000342	103003 					BHIS	10$
000344	012700  177761 				MOV	#-17,R0
000350	000535 				9$:	BR	22$
000352	010164  000004 			10$:	MOV	R1,4(R4)			; CCB,*(LCCB)				0722
000356	011600 					MOV	(SP),R0				;					0723
000360	116064  000002  000011 			MOVB	2(R0),11(R4)			; *,*(LCCB)
000366	112764  000002  000012 			MOVB	#2,12(R4)			; *,*(LCCB)				0724
000374	112764  000034  000013 			MOVB	#34,13(R4)			; *,*(LCCB)				0725
000402	004767  000000G				JSR	PC,$SCHED			;					0726
000406	000167  000564 				JMP	34$				;					0702
000412	020027  000215 			11$:	CMP	R0,#215				;					0698
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  24
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

000416	001014 					BNE	13$
000420	011504 					MOV	(R5),R4				; *,BUF.PTR				0734
000422	062704  000004 				ADD	#4,R4				; *,BUF.PTR				0735
000426	112466  000012 				MOVB	(R4)+,12(SP)			; BUF.PTR,HOST.ADDR
000432	112466  000013 				MOVB	(R4)+,13(SP)			; BUF.PTR,HOST.ADDR+1
000436	011600 					MOV	(SP),R0				;					0736
000440	016660  000012  000012 			MOV	12(SP),12(R0)			; HOST.ADDR,*
000446	000575 				12$:	BR	25$				;					0698
000450	020027  000764 			13$:	CMP	R0,#764
000454	001057 					BNE	20$
000456	005002 					CLR	R2				; NEW.NAML				0746
000460	152402 					BISB	(R4)+,R2			; BUF.PTR,NEW.NAML
000462	005702 					TST	R2				; NEW.NAML				0747
000464	003002 				14$:	BGT	16$
000466	000167  000462 			15$:	JMP	31$
000472	020227  000006 			16$:	CMP	R2,#6				; NEW.NAML,*
000476	003373 				17$:	BGT	15$				;					0752
000500	010246 					MOV	R2,-(SP)			; NEW.NAML,*				0754
000502	010446 					MOV	R4,-(SP)			; BUF.PTR,*
000504	012746  000030 				MOV	#30,-(SP)
000510	060616 					ADD	SP,(SP)				; NEW.NAME,*
000512	004767  000000G				JSR	PC,BL$MOV
000516	011503 					MOV	(R5),R3				;					0755
000520	062703  000004 				ADD	#4,R3
000524	004767  000000V				JSR	PC,GET.NODE
000530	005700 					TST	R0				; NMT
000532	001005 					BNE	18$
000534	062706  000006 				ADD	#6,SP				;					0756
000540	012700  177770 				MOV	#-10,R0
000544	000546 					BR	28$
000546	005760  000010 			18$:	TST	10(R0)				; *(NMT)				0757
000552	001003 					BNE	19$
000554	062706  000006 				ADD	#6,SP
000560	000427 					BR	21$
000562	110210 				19$:	MOVB	R2,(R0)				; NEW.NAML,NMT				0758
000564	010216 					MOV	R2,(SP)				; NEW.NAML,*				0759
000566	012746  000032 				MOV	#32,-(SP)
000572	060616 					ADD	SP,(SP)				; NEW.NAME,*
000574	012746  000001 				MOV	#1,-(SP)
000600	060016 					ADD	R0,(SP)				; NMT,*
000602	004767  000000G				JSR	PC,BL$MOV
000606	062706  000012 				ADD	#12,SP				;					0740
000612	000566 					BR	33$				;					0698
000614	020027  000765 			20$:	CMP	R0,#765
000620	001121 					BNE	29$
000622	011503 					MOV	(R5),R3				;					0768
000624	062703  000004 				ADD	#4,R3
000630	004767  000000V				JSR	PC,GET.NODE
000634	005700 					TST	R0
000636	001403 					BEQ	23$
000640	012700  177765 			21$:	MOV	#-13,R0				;					0769
000644	000555 				22$:	BR	35$
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  25
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

000646	016167  000016  000000G		23$:	MOV	16(R1),KISAR6			; *(CCB),*				0770
000654	012746  000012 				MOV	#12,-(SP)			;					0771
000660	060616 					ADD	SP,(SP)				; NMXID,*
000662	012746  000012 				MOV	#12,-(SP)
000666	060616 					ADD	SP,(SP)				; CHAN,*
000670	010446 					MOV	R4,-(SP)			; BUF.PTR,*
000672	012746  002002 				MOV	#2002,-(SP)
000676	012746  000004 				MOV	#4,-(SP)
000702	012746  000000G				MOV	#$NMGID,-(SP)
000706	005046 					CLR	-(SP)
000710	016600  000016 				MOV	16(SP),R0
000714	116016  000003 				MOVB	3(R0),(SP)
000720	004767  000000G				JSR	PC,$CALLP
000724	016600  000016 				MOV	16(SP),R0			;					0772
000730	016067  000050  000000G			MOV	50(R0),KISAR6
000736	016003  000020 				MOV	20(R0),R3			;					0773
000742	070327  000014 				MUL	#14,R3
000746	016600  000016 				MOV	16(SP),R0
000752	066003  000052 				ADD	52(R0),R3
000756	010301 					MOV	R3,R1				; *,NMT
000760	016003  000022 				MOV	22(R0),R3			; *,I					0775
000764	001432 					BEQ	27$
000766	105711 				24$:	TSTB	(R1)				; NMT					0777
000770	001025 					BNE	26$
000772	011500 					MOV	(R5),R0				; *,PTR					0781
000774	062700  000006 				ADD	#6,R0				; *,PTR					0782
001000	112011 					MOVB	(R0)+,(R1)			; PTR,NMT
001002	111102 					MOVB	(R1),R2				; NMT,*					0783
001004	010216 					MOV	R2,(SP)
001006	010046 					MOV	R0,-(SP)			; PTR,*
001010	012746  000001 				MOV	#1,-(SP)
001014	060116 					ADD	R1,(SP)				; NMT,*
001016	004767  000000G				JSR	PC,BL$MOV
001022	116661  000030  000007 			MOVB	30(SP),7(R1)			; CHAN,*(NMT)				0784
001030	016661  000032  000012 			MOV	32(SP),12(R1)			; NMXID,*(NMT)				0785
001036	062706  000022 				ADD	#22,SP				;					0777
001042	000452 				25$:	BR	33$				;					0779
001044	062701  000014 			26$:	ADD	#14,R1				; *,NMT					0789
001050	077332 					SOB	R3,24$				; I,*					0000
001052	062706  000016 			27$:	ADD	#16,SP				;					0698
001056	012700  177754 				MOV	#-24,R0				;					0763
001062	000446 				28$:	BR	35$
001064	020027  000776 			29$:	CMP	R0,#776				;					0698
001070	001013 					BNE	30$
001072	112466  000004 				MOVB	(R4)+,4(SP)			; BUF.PTR,VALUE				0798
001076	112466  000005 				MOVB	(R4)+,5(SP)			; BUF.PTR,VALUE+1
001102	016600  000004 				MOV	4(SP),R0			; VALUE,*				0799
001106	001422 					BEQ	31$
001110	011601 					MOV	(SP),R1				;					0802
001112	010061  000024 				MOV	R0,24(R1)
001116	000424 					BR	33$				;					0799
001120	020027  000777 			30$:	CMP	R0,#777				;					0698
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  26
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (10)

001124	001016 					BNE	32$
001126	112466  000002 				MOVB	(R4)+,2(SP)			; BUF.PTR,VALUE				0810
001132	112466  000003 				MOVB	(R4)+,3(SP)			; BUF.PTR,VALUE+1
001136	016600  000002 				MOV	2(SP),R0			; VALUE,*				0811
001142	001404 					BEQ	31$
001144	011601 					MOV	(SP),R1				;					0814
001146	010061  000026 				MOV	R0,26(R1)
001152	000406 					BR	33$				;					0811
001154	012700  177760 			31$:	MOV	#-20,R0				;					0816
001160	000407 					BR	35$
001162	012700  177772 			32$:	MOV	#-6,R0				;					0820
001166	000404 					BR	35$
001170	012700  000001 			33$:	MOV	#1,R0				;					0681
001174	000401 					BR	35$
001176	005000 				34$:	CLR	R0				;					0657
001200	062706  000030 			35$:	ADD	#30,SP
001204	000207 					RTS	PC

; Routine Size:  323 words,	Routine Base:  $CODE$ + 0760
; Maximum stack depth per invocation:  28 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  27
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (11)

;	  0826	routine SHOW_NODE_ITEMS (CCB) : SC_LKG_CCB =
;	  0827	
;	  0828	!++
;	  0829	! FUNCTIONAL DESCRIPTION:
;	  0830	!	Show specified items
;	  0831	!
;	  0832	! FORMAL PARAMETERS:
;	  0833	!	CCB	CCB address
;	  0834	!
;	  0835	! IMPLICIT INPUTS:
;	  0836	!	PARBLK & NMPAR inputs, as pointed at by CCB.
;	  0837	!
;	  0838	! IMPLICIT OUTPUTS:
;	  0839	!	None
;	  0840	!
;	  0841	! ROUTINE VALUE:
;	  0842	!	Operation status code
;	  0843	!
;	  0844	! COMPLETION CODES:
;	  0845	!	None
;	  0846	!
;	  0847	! SIDE EFFECTS:
;	  0848	!	None
;	  0849	!--
;	  0850	    begin
;	  0851	    $sc_get_data_base (SCDB);
;	  0852	    map CCB: ref block field (C_NM_FIELDS);
;	  0853	    local
;	  0854		NMT : ref block field (NMT_FIELDS);
;	  0855	    bind
;	  0856		NMPAR = CCB [C_NM_NMPAR]: ref block field (NMX_NMPAR_FIELDS);
;	  0857	
;	  0858	    $NM_RESPONSE_BEGIN( .CCB);
;	  0859	
;	  0860	    if (NMT = GET_NODE (byt$ptr (NMPAR [NMX_NMPAR_ENTITY]))) neqa 0
;	  0861	    then
;	  0862	        selectone .CCB [C_NM_SELECT] of
;	  0863	            set
;	  0864	            [NMX$SEL_sum, NMX$SEL_sta]:
;	  0865	                begin
;	  0866	                local NEW_STATE;
;	  0867	                if .NMT [NMT_ADDR] eql .SCDB [SC_LADDR]
;	  0868	                then
;	  0869	                    begin
;	  0870	                    NEW_STATE = .SCDB[SCF_STAT];
;	  0871	                    PARAMETER_C_1 (0, NEW_STATE);
;	  0872	                    end;
;	  0873	                if .NMT [NMT_ADDR] eql 0
;	  0874	                then
;	  0875	                    NMX$PARAMETER_CIRCUIT (.SCDB[SC_NMPIX], .NMT [NMT_NMXID], 501);
;	  0876	                end;
;	  0877	            [NMX$SEL_cha]:
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  28
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (11)

;	  0878	                begin
;	  0879	                if .NMT [NMT_ADDR] eql 0
;	  0880	                then
;	  0881	                    NMX$PARAMETER_CIRCUIT (.SCDB[SC_NMPIX], .NMT [NMT_NMXID], 501);
;	  0882	                if .NMT [NMT_ADDR] eql .SCDB [SC_LADDR]
;	  0883	                then
;	  0884	                    begin
;	  0885	                    if .SCDB [SC_ITIME] neq 0
;	  0886	                    then PARAMETER_DU_2 (510, SCDB [SC_ITIME]);
;	  0887	                    if .SCDB [SC_OTIME] neq 0
;	  0888	                    then PARAMETER_DU_2 (511, SCDB [SC_OTIME]);
;	  0889	                    end;
;	  0890	                end;
;	  0891	            tes;
;	  0892	
;	  0893	    $NM_RESPONSE_END( .CCB);
;	  0894	    return .CCB[C_STS]
;	  0895	    end;


						.GLOBL	$NRBEG, $NPNAM, $DPDU2, $NREND


						.SBTTL	SHOW.NODE.ITEMS Network Management
000000	004167  000000G			SHOW.NODE.ITEMS:
						JSR	R1,$SAVE3			;					0826
000004	016701  000002G				MOV	.CRDAT+2,R1			;					0850
000010	004767  000000G				JSR	PC,$NRBEG			;					0858
000014	016403  000026 				MOV	26(R4),R3			; *(CCB),*				0860
000020	062703  000004 				ADD	#4,R3
000024	004767  000000V				JSR	PC,GET.NODE
000030	010003 					MOV	R0,R3				; *,NMT
000032	001527 					BEQ	5$
000034	016400  000024 				MOV	24(R4),R0			; *(CCB),*				0862
000040	072027  177764 				ASH	#-14,R0
000044	042700  177760 				BIC	#177760,R0
000050	003446 					BLE	2$
000052	020027  000002 				CMP	R0,#2
000056	003043 					BGT	2$
000060	026361  000010  000010 			CMP	10(R3),10(R1)			; *(NMT),*				0867
000066	001012 					BNE	1$
000070	011102 					MOV	(R1),R2				; *,NEW.STATE				0870
000072	072227  177770 				ASH	#-10,R2				; *,NEW.STATE
000076	042702  177774 				BIC	#177774,R2			; *,NEW.STATE
000102	005046 					CLR	-(SP)				;					0871
000104	110200 					MOVB	R2,R0				; NEW.STATE,*
000106	004767  000000G				JSR	PC,$DPC1
000112	005726 					TST	(SP)+				;					0869
000114	005763  000010 			1$:	TST	10(R3)				; *(NMT)				0873
000120	001074 					BNE	5$
000122	012746  000765 				MOV	#765,-(SP)			;					0875
000126	016346  000012 				MOV	12(R3),-(SP)			; *(NMT),*
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  29
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (11)

000132	012746  002000 				MOV	#2000,-(SP)
000136	012746  000003 				MOV	#3,-(SP)
000142	012746  000000G				MOV	#$NPNAM,-(SP)
000146	005046 					CLR	-(SP)
000150	116116  000003 				MOVB	3(R1),(SP)
000154	004767  000000G				JSR	PC,$CALLP
000160	062706  000014 				ADD	#14,SP
000164	000452 					BR	5$				;					0862
000166	020027  000003 			2$:	CMP	R0,#3
000172	001047 					BNE	5$
000174	016302  000010 				MOV	10(R3),R2			; *(NMT),*				0879
000200	001021 					BNE	3$
000202	012746  000765 				MOV	#765,-(SP)			;					0881
000206	016346  000012 				MOV	12(R3),-(SP)			; *(NMT),*
000212	012746  002000 				MOV	#2000,-(SP)
000216	012746  000003 				MOV	#3,-(SP)
000222	012746  000000G				MOV	#$NPNAM,-(SP)
000226	005046 					CLR	-(SP)
000230	116116  000003 				MOVB	3(R1),(SP)
000234	004767  000000G				JSR	PC,$CALLP
000240	062706  000014 				ADD	#14,SP
000244	020261  000010 			3$:	CMP	R2,10(R1)			;					0882
000250	001020 					BNE	5$
000252	016100  000024 				MOV	24(R1),R0			;					0885
000256	001405 					BEQ	4$
000260	012746  000776 				MOV	#776,-(SP)			;					0886
000264	004767  000000G				JSR	PC,$DPDU2
000270	005726 					TST	(SP)+
000272	016100  000026 			4$:	MOV	26(R1),R0			;					0887
000276	001405 					BEQ	5$
000300	012746  000777 				MOV	#777,-(SP)			;					0888
000304	004767  000000G				JSR	PC,$DPDU2
000310	005726 					TST	(SP)+
000312	004767  000000G			5$:	JSR	PC,$NREND			;					0893
000316	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0850
000322	000207 					RTS	PC				;					0826

; Routine Size:  106 words,	Routine Base:  $CODE$ + 2166
; Maximum stack depth per invocation:  11 words


;	  0896	
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  30
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (12)

;	  0897	routine RETURN_NODE_LIST (CCB) : SC_LKG_CCB =
;	  0898	
;	  0899	!++
;	  0900	! FUNCTIONAL DESCRIPTION:
;	  0901	!	Return list of named nodes.
;	  0902	!
;	  0903	! FORMAL PARAMETERS:
;	  0904	!	CCB	CCB address
;	  0905	!
;	  0906	! IMPLICIT INPUTS:
;	  0907	!	PARBLK & NMPAR inputs, as pointed at by CCB.
;	  0908	!
;	  0909	! IMPLICIT OUTPUTS:
;	  0910	!	None
;	  0911	!
;	  0912	! ROUTINE VALUE:
;	  0913	!	Operation status code
;	  0914	!
;	  0915	! COMPLETION CODES:
;	  0916	!	None
;	  0917	!
;	  0918	! SIDE EFFECTS:
;	  0919	!	None
;	  0920	!--
;	  0921	    begin
;	  0922	    $sc_get_data_base (SCDB);
;	  0923	    map CCB: ref block field (C_NM_FIELDS);
;	  0924	    bind NMPAR = .CCB [C_NM_NMPAR] : block field (NMX_NMPAR_FIELDS);
;	  0925	    local
;	  0926	        BUF_SIZ,
;	  0927		LEN,
;	  0928		PTR,
;	  0929		NMT: ref block [NMT_SIZE] field (NMT_FIELDS);
;	  0930	
;	  0931	    MAP$ (.SCDB [SC_NMT_BIAS]);
;	  0932	    CCB [C_STS] = .CCB [C_CNT];
;	  0933	    CCB [C_CNT] = .NMPAR [NMX_NMPAR_RETURN_CNT];
;	  0934	    CCB [C_STS] = .CCB [C_STS] - .CCB [C_CNT];
;	  0935	
;	  0936	    select .CCB [C_NM_SELECT] of
;	  0937	        set
;	  0938	        [NMX$SEL_kno] :
;	  0939	            begin
;	  0940	            NMT = .SCDB [SC_NMT_ADDR];
;	  0941	
;	  0942	            decru I from .SCDB [SC_NODES] to 1 do
;	  0943	                begin
;	  0944	                local NAM_LEN;
;	  0945	                if (NAM_LEN = .NMT [NMT_NAML]) neq 0
;	  0946	                then INSERT_NODE (NMT [NMT_BASE], .CCB);
;	  0947	                NMT = vector [.NMT, NMT_SIZE];
;	  0948	                end;
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  31
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (12)

;	  0949	
;	  0950	            end;
;	  0951	        [NMX$SEL_kno, NMX$SEL_lop] :
;	  0952	            begin
;	  0953	            NMT = blockvector [.SCDB [SC_NMT_ADDR], .SCDB [SC_NODES], 0, 0, 0, 0; 0, NMT_SIZE];
;	  0954	
;	  0955	            decru I from .SCDB [SC_LOOPS] to 1 do
;	  0956	                begin
;	  0957	                local NAM_LEN;
;	  0958	                if (NAM_LEN = .NMT [NMT_NAML]) neq 0
;	  0959	                then INSERT_NODE (NMT [NMT_BASE], .CCB);
;	  0960	                NMT = vector [.NMT, NMT_SIZE];
;	  0961	                end;
;	  0962	
;	  0963	            end;
;	  0964	        tes;
;	  0965	
;	  0966	    if .CCB [C_STS] geq 0
;	  0967	    then
;	  0968	        return NM$SUC
;	  0969	    else
;	  0970	        return $NM$ERR_REE
;	  0971	
;	  0972	    end;


						.SBTTL	RETURN.NODE.LIST Network Management
000000	004167  000000G			RETURN.NODE.LIST:
						JSR	R1,$SAVE5			;					0897
000004	024646 					CMP	-(SP),-(SP)
000006	016702  000002G				MOV	.CRDAT+2,R2			;					0921
000012	016400  000026 				MOV	26(R4),R0			; *(CCB),*
000016	016267  000050  000000G			MOV	50(R2),KISAR6			;					0931
000024	012766  000014  000002 			MOV	#14,2(SP)			;					0932
000032	060466  000002 				ADD	R4,2(SP)			; CCB,*
000036	012701  000022 				MOV	#22,R1
000042	060401 					ADD	R4,R1				; CCB,*
000044	011176  000002 				MOV	(R1),@2(SP)
000050	016011  000004 				MOV	4(R0),(R1)			;					0933
000054	161176  000002 				SUB	(R1),@2(SP)			;					0934
000060	016405  000024 				MOV	24(R4),R5			; *(CCB),*				0936
000064	072527  177764 				ASH	#-14,R5
000070	042705  177760 				BIC	#177760,R5
000074	020527  000001 				CMP	R5,#1
000100	001021 					BNE	4$
000102	016216  000052 				MOV	52(R2),(SP)			; *,NMT					0940
000106	016203  000020 				MOV	20(R2),R3			; *,I					0942
000112	001411 					BEQ	3$
000114	117600  000000 			1$:	MOVB	@0(SP),R0			; NMT,NAM.LEN				0945
000120	001403 					BEQ	2$
000122	011601 					MOV	(SP),R1				; NMT,*					0946
000124	004767  000000V				JSR	PC,INSERT.NODE
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  32
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (12)

000130	062716  000014 			2$:	ADD	#14,(SP)			; *,NMT					0947
000134	077311 					SOB	R3,1$				; I,*					0000
000136	020527  000001 			3$:	CMP	R5,#1				;					0936
000142	001403 					BEQ	5$
000144	020527  000003 			4$:	CMP	R5,#3
000150	001023 					BNE	8$
000152	016201  000020 			5$:	MOV	20(R2),R1			;					0953
000156	070127  000014 				MUL	#14,R1
000162	066201  000052 				ADD	52(R2),R1
000166	010116 					MOV	R1,(SP)				; *,NMT
000170	016202  000022 				MOV	22(R2),R2			; *,I					0955
000174	001411 					BEQ	8$
000176	117600  000000 			6$:	MOVB	@0(SP),R0			; NMT,NAM.LEN				0958
000202	001403 					BEQ	7$
000204	011601 					MOV	(SP),R1				; NMT,*					0959
000206	004767  000000V				JSR	PC,INSERT.NODE
000212	062716  000014 			7$:	ADD	#14,(SP)			; *,NMT					0960
000216	077211 					SOB	R2,6$				; I,*					0000
000220	005776  000002 			8$:	TST	@2(SP)				;					0966
000224	002403 					BLT	9$
000226	012700  000001 				MOV	#1,R0
000232	000402 					BR	10$
000234	012700  177761 			9$:	MOV	#-17,R0
000240	022626 				10$:	CMP	(SP)+,(SP)+			;					0897
000242	000207 					RTS	PC

; Routine Size:  82 words,	Routine Base:  $CODE$ + 2512
; Maximum stack depth per invocation:  9 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  33
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (13)

;	  0973	routine SHOW_CIRCUIT_ITEMS (CCB) : SC_LKG_CCB =
;	  0974	
;	  0975	!++
;	  0976	! FUNCTIONAL DESCRIPTION:
;	  0977	!	Show selected circuit items.
;	  0978	!
;	  0979	! FORMAL PARAMETERS:
;	  0980	!	CCB	CCB address
;	  0981	!
;	  0982	! IMPLICIT INPUTS:
;	  0983	!	PARBLK & NMPAR inputs, as pointed at by CCB.
;	  0984	!
;	  0985	! IMPLICIT OUTPUTS:
;	  0986	!	None
;	  0987	!
;	  0988	! ROUTINE VALUE:
;	  0989	!	Operation status code
;	  0990	!
;	  0991	! COMPLETION CODES:
;	  0992	!	None
;	  0993	!
;	  0994	! SIDE EFFECTS:
;	  0995	!	None
;	  0996	!--
;	  0997	    begin
;	  0998	    $sc_get_data_base (SCDB);
;	  0999	    map CCB: ref block field (C_NM_FIELDS);
;	  1000	    bind
;	  1001		NMPAR = CCB [C_NM_NMPAR]: ref block field (NMX_NMPAR_FIELDS);
;	  1002	
;	  1003	    $NM_RESPONSE_BEGIN (.CCB);
;	  1004	
;	  1005	    case .CCB [C_NM_SELECT] from NMX$SEL_lo to NMX$SEL_hi of
;	  1006	        set
;	  1007	        [NMX$SEL_sta, NMX$SEL_sum] :
;	  1008	            begin
;	  1009	            local
;	  1010	                CHAN,
;	  1011	                NMXID,
;	  1012	                NMT : ref block field (NMT_FIELDS);
;	  1013	            NMX$OBTAIN_CIRCUIT_OWNER( .SCDB[SC_NMPIX], byt$ptr (NMPAR [NMX_NMPAR_OTHER_LENGTH]), CHAN, NMXID);
;	  1014	            MAP$ (.SCDB [SC_NMT_BIAS]);
;	  1015	            NMT = blockvector [.SCDB [SC_NMT_ADDR], .SCDB [SC_NODES], NMT_BASE; 0, NMT_SIZE];
;	  1016	
;	  1017	            decru I from .SCDB [SC_LOOPS] to 1 do
;	  1018	                begin
;	  1019	                if (.NMT [NMT_NAML] neq 0) and
;	  1020	                   (.NMT [NMT_CHAN] eqlu .CHAN<0, 8>)
;	  1021	                then
;	  1022	                    begin
;	  1023	                    PARAMETER_AI (400, .NMT [NMT_NAML], byt$ptr (NMT [NMT_NAME]));
;	  1024	                    exitloop;
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  34
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (13)

;	  1025	                    end;
;	  1026	                NMT = vector [.NMT, NMT_SIZE];
;	  1027	                end;
;	  1028	
;	  1029	            end;
;	  1030	        [inrange] :
;	  1031	            0;
;	  1032	        tes;
;	  1033	
;	  1034	    $NM_RESPONSE_END (.CCB);
;	  1035	    return .CCB [C_STS]
;	  1036	    end;


						.GLOBL	$DPAI


						.SBTTL	SHOW.CIRCUIT.ITEMS Network Management
000000	004167  000000G			SHOW.CIRCUIT.ITEMS:
						JSR	R1,$SAVE3			;					0973
000004	024646 					CMP	-(SP),-(SP)
000006	016702  000002G				MOV	.CRDAT+2,R2			;					0997
000012	004767  000000G				JSR	PC,$NRBEG			;					1003
000016	016400  000024 				MOV	24(R4),R0			; *(CCB),*				1005
000022	072027  177764 				ASH	#-14,R0
000026	042700  177760 				BIC	#177760,R0
000032	005300 					DEC	R0
000034	006300 					ASL	R0
000036	066007  000042'				ADD	P.AAD(R0),PC			; Case dispatch
000042	012746  000004 			1$:	MOV	#4,-(SP)			;					1013
000046	060616 					ADD	SP,(SP)				; NMXID,*
000050	012746  000004 				MOV	#4,-(SP)
000054	060616 					ADD	SP,(SP)				; CHAN,*
000056	016446  000026 				MOV	26(R4),-(SP)			; *(CCB),*
000062	062716  000004 				ADD	#4,(SP)
000066	012746  002002 				MOV	#2002,-(SP)
000072	012746  000004 				MOV	#4,-(SP)
000076	012746  000000G				MOV	#$NMGID,-(SP)
000102	005046 					CLR	-(SP)
000104	116216  000003 				MOVB	3(R2),(SP)
000110	004767  000000G				JSR	PC,$CALLP
000114	016267  000050  000000G			MOV	50(R2),KISAR6			;					1014
000122	016201  000020 				MOV	20(R2),R1			;					1015
000126	070127  000014 				MUL	#14,R1
000132	066201  000052 				ADD	52(R2),R1
000136	010103 					MOV	R1,R3				; *,NMT
000140	016202  000022 				MOV	22(R2),R2			; *,I					1017
000144	001422 					BEQ	4$
000146	105713 				2$:	TSTB	(R3)				; NMT					1019
000150	001415 					BEQ	3$
000152	126366  000007  000016 			CMPB	7(R3),16(SP)			; *(NMT),CHAN				1020
000160	001011 					BNE	3$
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  35
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (13)

000162	012716  000620 				MOV	#620,(SP)			;					1023
000166	012701  000001 				MOV	#1,R1
000172	060301 					ADD	R3,R1				; NMT,*
000174	111300 					MOVB	(R3),R0				; NMT,*
000176	004767  000000G				JSR	PC,$DPAI
000202	000403 					BR	4$				;					1024
000204	062703  000014 			3$:	ADD	#14,R3				; *,NMT					1026
000210	077222 					SOB	R2,2$				; I,*					0000
000212	062706  000016 			4$:	ADD	#16,SP				;					1008
000216	004767  000000G			5$:	JSR	PC,$NREND			;					1034
000222	016400  000014 				MOV	14(R4),R0			; *(CCB),*				0997
000226	022626 					CMP	(SP)+,(SP)+			;					0973
000230	000207 					RTS	PC

; Routine Size:  77 words,	Routine Base:  $CODE$ + 2756
; Maximum stack depth per invocation:  14 words


000042						.PSECT	$PLIT$,  RO ,  D  

					P.AAD:						; CASE Table for SHOW.CIRCUIT.IT+0036	1005
000042	000000 					.WORD	0				; [1$]
000044	000000 					.WORD	0				; [1$]
000046	000154 					.WORD	154				; [5$]
000050	000154 					.WORD	154				; [5$]
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  36
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (14)

;	  1037	routine CASE_SHIFT (LEN, PTR) : SC_LKG_LEN_PTR novalue =
;	  1038	
;	  1039	!++
;	  1040	! FUNCTIONAL DESCRIPTION:
;	  1041	!	Shift string pointed to by PTR to uppercase
;	  1042	!
;	  1043	! FORMAL PARAMETERS:
;	  1044	!	LEN	Length of string
;	  1045	!	PTR	Pointer to string to shift
;	  1046	!
;	  1047	! IMPLICIT INPUTS:
;	  1048	!	None
;	  1049	!
;	  1050	! IMPLICIT OUTPUTS:
;	  1051	!	None
;	  1052	!
;	  1053	! ROUTINE VALUE:
;	  1054	! COMPLETION CODES:
;	  1055	!	None
;	  1056	!
;	  1057	! SIDE EFFECTS:
;	  1058	!	None
;	  1059	!--
;	  1060	
;	  1061	    begin
;	  1062	    local
;	  1063		CH,
;	  1064	        TMP_PTR;
;	  1065	
;	  1066	    TMP_PTR = .PTR;
;	  1067	
;	  1068	    if .LEN neq 0
;	  1069	    then
;	  1070	        decru I from .LEN to 1 do
;	  1071	            begin
;	  1072	            if (CH = ch$rchar (.TMP_PTR)) geq %c'a' and .CH leq %c'z'
;	  1073	            then CH = .CH - (%c'a' - %c'A');
;	  1074	            ch$wchar_a (.CH, TMP_PTR);
;	  1075	            end;
;	  1076	
;	  1077	    end;


						.SBTTL	CASE.SHIFT Network Management
003210						.PSECT	$CODE$,  RO 

000000	004167  000000G			CASE.SHIFT:
						JSR	R1,$SAVE2			;					1037
000004	010200 					MOV	R2,R0				; PTR,TMP.PTR				1066
000006	005701 					TST	R1				; LEN					1068
000010	001414 					BEQ	3$
000012	005002 				1$:	CLR	R2				; CH					1072
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  37
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (14)

000014	151002 					BISB	(R0),R2				; TMP.PTR,CH
000016	020227  000141 				CMP	R2,#141				; CH,*
000022	002405 					BLT	2$
000024	020227  000172 				CMP	R2,#172				; CH,*
000030	003002 					BGT	2$
000032	162702  000040 				SUB	#40,R2				; *,CH					1073
000036	110220 				2$:	MOVB	R2,(R0)+			; CH,TMP.PTR				1074
000040	077114 					SOB	R1,1$				; I,*					0000
000042	000207 				3$:	RTS	PC				;					1037

; Routine Size:  18 words,	Routine Base:  $CODE$ + 3210
; Maximum stack depth per invocation:  4 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  38
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (15)

;	  1078	routine GET_NODE (PARBLK) : SC_LKG_PTR =
;	  1079	
;	  1080	!++
;	  1081	! FUNCTIONAL DESCRIPTION:
;	  1082	!	Determine whether name is in NMT
;	  1083	!
;	  1084	! FORMAL PARAMETERS:
;	  1085	!	PARBLK	Pointer to NM parameter block specifying node,
;	  1086	!		starting at NMX_NMPAR_ENTITY
;	  1087	!
;	  1088	! IMPLICIT INPUTS:
;	  1089	!	None
;	  1090	!
;	  1091	! IMPLICIT OUTPUTS:
;	  1092	!	Mapped to NMT
;	  1093	!
;	  1094	! ROUTINE VALUE:
;	  1095	!
;	  1096	!	NMT address if name found, else 0
;	  1097	!
;	  1098	! SIDE EFFECTS:
;	  1099	!	None
;	  1100	!--
;	  1101	    begin
;	  1102	    $sc_get_data_base (SCDB);
;	  1103	    local
;	  1104	        PARPTR,
;	  1105		NODE_ADDR,
;	  1106		NAME_LEN,
;	  1107	        NMT : ref block field (NMT_FIELDS);
;	  1108	
;	  1109	    MAP$ (.SCDB [SC_NMT_BIAS]);			! Set map to node mapping table
;	  1110	    NMT = .SCDB [SC_NMT_ADDR];
;	  1111	    PARPTR = .PARBLK;
;	  1112	    byt$string_short (PARPTR, NODE_ADDR);	! Get the node address
;	  1113	    byt$string_tiny (PARPTR, NAME_LEN);		!   and name length
;	  1114	
;	  1115	    selectone .NAME_LEN of              ! If a name is specified,
;	  1116	        set
;	  1117	        [1 to 6]:
;	  1118	            begin                       !   then search for the entry
;	  1119	            CASE_SHIFT (.NAME_LEN, .PARPTR);
;	  1120	            decru I from (.SCDB [SC_NODES] + .SCDB [SC_LOOPS]) to 1 do
;	  1121		        begin
;	  1122	                if (.NMT [NMT_NAML] neq 0) and
;	  1123	                   ch$eql (.NAME_LEN, .PARPTR,
;	  1124	                           .NMT [NMT_NAML], byt$ptr (NMT [NMT_NAME]),
;	  1125	                           0)
;	  1126	                then return NMT [NMT_BASE];
;	  1127	                NMT = vector [.NMT, NMT_SIZE];
;	  1128	                end
;	  1129	            end;
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  39
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (15)

;	  1130	        [0]:                            ! Node spec via address
;	  1131	            begin
;	  1132	
;	  1133	            if .NODE_ADDR eql 0 then NODE_ADDR = .SCDB [SC_LADDR];	! Default to local
;	  1134	            if .NODE_ADDR lequ .SCDB [SC_NODES]
;	  1135	            then
;	  1136	                begin
;	  1137	                NODE_ADDR = .NODE_ADDR - 1;
;	  1138	                NMT = blockvector [NMT [NMT_BASE], .NODE_ADDR, NMT_BASE; 0, NMT_SIZE];
;	  1139	                return NMT [NMT_BASE];
;	  1140	                end;
;	  1141	            end;
;	  1142	        [otherwise]:
;	  1143	            ;
;	  1144	        tes;
;	  1145	
;	  1146	    return 0
;	  1147	    end;


						.SBTTL	GET.NODE Network Management
000000	004167  000000G			GET.NODE:
						JSR	R1,$SAVE5			;					1078
000004	016704  000002G				MOV	.CRDAT+2,R4			;					1101
000010	016467  000050  000000G			MOV	50(R4),KISAR6			;					1109
000016	016405  000052 				MOV	52(R4),R5			; *,NMT					1110
000022	010302 					MOV	R3,R2				; PARBLK,PARPTR				1111
000024	112246 					MOVB	(R2)+,-(SP)			; PARPTR,NODE.ADDR			1112
000026	112266  000001 				MOVB	(R2)+,1(SP)			; PARPTR,NODE.ADDR+1
000032	005003 					CLR	R3				; NAME.LEN				1113
000034	152203 					BISB	(R2)+,R3			; PARPTR,NAME.LEN
000036	005703 					TST	R3				; NAME.LEN				1115
000040	003440 					BLE	4$
000042	020327  000006 				CMP	R3,#6				; NAME.LEN,*
000046	003034 					BGT	3$
000050	010301 					MOV	R3,R1				; NAME.LEN,*				1119
000052	004767  177656 				JSR	PC,CASE.SHIFT
000056	016401  000020 				MOV	20(R4),R1			;					1120
000062	066401  000022 				ADD	22(R4),R1
000066	001445 					BEQ	7$
000070	105715 				1$:	TSTB	(R5)				; NMT					1122
000072	001416 					BEQ	2$
000074	010346 					MOV	R3,-(SP)			; NAME.LEN,*				1125
000076	010246 					MOV	R2,-(SP)			; PARPTR,*
000100	111500 					MOVB	(R5),R0				; NMT,*
000102	010046 					MOV	R0,-(SP)
000104	012746  000001 				MOV	#1,-(SP)			;					1124
000110	060516 					ADD	R5,(SP)				; NMT,*
000112	005046 					CLR	-(SP)				;					1125
000114	004767  000000G				JSR	PC,BL$EQL
000120	062706  000012 				ADD	#12,SP
000124	006000 					ROR	R0
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  40
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (15)

000126	103423 					BLO	6$				;					1126
000130	062705  000014 			2$:	ADD	#14,R5				; *,NMT					1127
000134	077123 					SOB	R1,1$				; I,*					0000
000136	000421 					BR	7$				;					1115
000140	005703 				3$:	TST	R3				; NAME.LEN
000142	001017 				4$:	BNE	7$
000144	005716 					TST	(SP)				; NODE.ADDR				1133
000146	001002 					BNE	5$
000150	016416  000010 				MOV	10(R4),(SP)			; *,NODE.ADDR
000154	021664  000020 			5$:	CMP	(SP),20(R4)			; NODE.ADDR,*				1134
000160	101010 					BHI	7$
000162	005316 					DEC	(SP)				; NODE.ADDR				1137
000164	011601 					MOV	(SP),R1				; NODE.ADDR,*				1138
000166	070127  000014 				MUL	#14,R1
000172	060501 					ADD	R5,R1				; NMT,*
000174	010105 					MOV	R1,R5				; *,NMT
000176	010500 				6$:	MOV	R5,R0				; NMT,*					1136
000200	000401 					BR	8$
000202	005000 				7$:	CLR	R0				;					1101
000204	005726 				8$:	TST	(SP)+				;					1078
000206	000207 					RTS	PC

; Routine Size:  68 words,	Routine Base:  $CODE$ + 3254
; Maximum stack depth per invocation:  13 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  41
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (16)

;	  1148	routine INSERT_NODE (NMT, CCB) : SC_LKG_NMT_CCB novalue =
;	  1149	
;	  1150	!++
;	  1151	! FUNCTIONAL DESCRIPTION:
;	  1152	!	Make room for LNG bytes at PTR in the CCB buffer.
;	  1153	!
;	  1154	! FORMAL PARAMETERS:
;	  1155	!       NMT     NMT for node
;	  1156	!	CCB	CCB address
;	  1157	!
;	  1158	! IMPLICIT INPUTS:
;	  1159	!	Mapped to CCB buffer
;	  1160	!
;	  1161	! IMPLICIT OUTPUTS:
;	  1162	!	None
;	  1163	!
;	  1164	! ROUTINE VALUE:
;	  1165	!	None
;	  1166	!
;	  1167	! SIDE EFFECTS:
;	  1168	!	None
;	  1169	!--
;	  1170	    begin
;	  1171	    map
;	  1172	        CCB : ref block field (C_NM_FIELDS),
;	  1173	        NMT : ref block field (NMT_FIELDS);
;	  1174	    label
;	  1175	        FIND_NODE;
;	  1176	    local
;	  1177	        ADDR,
;	  1178	        LEN,
;	  1179	        NODE_ID : vector [byt$allocation (9)];
;	  1180	    ADDR = .NMT [NMT_ADDR];
;	  1181	    LEN = .NMT [NMT_NAML];
;	  1182	    begin
;	  1183	    local
;	  1184	        PTR;
;	  1185	    PTR = byt$ptr (NODE_ID);
;	  1186	    byt$short_string (NMT [NMT_ADDR], PTR);
;	  1187	    byt$tiny_string (LEN, PTR);
;	  1188	    ch$move (.LEN, byt$ptr (NMT [NMT_NAME]), .PTR);
;	  1189	    end;
;	  1190	    LEN = .LEN + 3;
;	  1191	    if .ADDR eql 0 then ADDR = .ADDR - 1;
;	  1192	FIND_NODE:
;	  1193	    begin                               ! FIND_NODE
;	  1194	    local
;	  1195	        CNT,
;	  1196	        PTR,
;	  1197	        SAVE_MAP;
;	  1198	    SMAP$ (SAVE_MAP);
;	  1199	    MAP$ (.CCB [C_BIAS]);
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  42
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (16)

;	  1200	    PTR = .CCB [C_ADDR];
;	  1201	    CNT = .CCB [C_CNT];
;	  1202	    if .CNT neq 0
;	  1203	    then
;	  1204	        while true do
;	  1205	            begin
;	  1206	            local TCNT, TEST, TPTR;
;	  1207	            TPTR = .PTR;
;	  1208	            byt$string_short (TPTR, TEST);
;	  1209	            if .TEST gtru .ADDR then exitloop CNT = 0;
;	  1210	            TCNT = 3 + ch$rchar_a (TPTR);
;	  1211	            if .TEST eqlu .ADDR then exitloop CNT = .TCNT;
;	  1212	            PTR = ch$plus (.PTR, .TCNT);
;	  1213	            if (CNT = .CNT - .TCNT) leq 0 then exitloop CNT = 0;
;	  1214	            end;
;	  1215	    begin
;	  1216	    local
;	  1217	        DIFFERENCE;
;	  1218	    DIFFERENCE = .LEN - .CNT;
;	  1219	    if (CCB [C_STS] = .CCB [C_STS] - .DIFFERENCE) lss 0
;	  1220	    then
;	  1221	        leave FIND_NODE;
;	  1222	    MAKE_ROOM (.CCB, .PTR, .DIFFERENCE);
;	  1223	    end;
;	  1224	    ch$move (.LEN, byt$ptr (NODE_ID), .PTR);
;	  1225	    MAP$ (.SAVE_MAP);
;	  1226	    end;                                ! FIND_NODE
;	  1227	    end;


						.SBTTL	INSERT.NODE Network Management
000000	004167  000000G			INSERT.NODE:
						JSR	R1,$SAVE5			;					1148
000004	162706  000014 				SUB	#14,SP
000010	016103  000010 				MOV	10(R1),R3			; *(NMT),ADDR				1180
000014	111100 					MOVB	(R1),R0				; NMT,*					1181
000016	010046 					MOV	R0,-(SP)			; *,LEN
000020	012702  000004 				MOV	#4,R2				; *,PTR					1185
000024	060602 					ADD	SP,R2				; NODE.ID,PTR
000026	010300 					MOV	R3,R0				; *,NUM					1186
000030	110022 					MOVB	R0,(R2)+			; NUM,PTR
000032	000300 					SWAB	R0				; NUM
000034	110022 					MOVB	R0,(R2)+			; NUM,PTR
000036	111622 					MOVB	(SP),(R2)+			; LEN,PTR				1187
000040	011646 					MOV	(SP),-(SP)			; LEN,*					1188
000042	010146 					MOV	R1,-(SP)			; NMT,*
000044	005216 					INC	(SP)
000046	010246 					MOV	R2,-(SP)			; PTR,*
000050	004767  000000G				JSR	PC,BL$MOV
000054	062766  000003  000006 			ADD	#3,6(SP)			; *,LEN					1190
000062	005703 					TST	R3				; ADDR					1191
000064	001001 					BNE	1$
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  43
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (16)

000066	005303 					DEC	R3				; ADDR
000070	016705  000000G			1$:	MOV	KISAR6,R5			; *,SAVE.MAP				1198
000074	016467  000016  000000G			MOV	16(R4),KISAR6			; *(CCB),*				1199
000102	016401  000020 				MOV	20(R4),R1			; *(CCB),PTR				1200
000106	016402  000022 				MOV	22(R4),R2			; *(CCB),CNT				1201
000112	001427 					BEQ	5$				;					1202
000114	010100 				2$:	MOV	R1,R0				; PTR,TPTR				1207
000116	112066  000010 				MOVB	(R0)+,10(SP)			; TPTR,TEST				1208
000122	112066  000011 				MOVB	(R0)+,11(SP)			; TPTR,TEST+1
000126	026603  000010 				CMP	10(SP),R3			; TEST,ADDR				1209
000132	101016 					BHI	4$
000134	112000 					MOVB	(R0)+,R0			; TPTR,TCNT				1210
000136	042700  177400 				BIC	#177400,R0			; *,TCNT
000142	062700  000003 				ADD	#3,R0				; *,TCNT
000146	026603  000010 				CMP	10(SP),R3			; TEST,ADDR				1211
000152	001002 					BNE	3$
000154	010002 					MOV	R0,R2				; TCNT,CNT
000156	000405 					BR	5$
000160	060001 				3$:	ADD	R0,R1				; TCNT,PTR				1212
000162	160002 					SUB	R0,R2				; TCNT,CNT				1213
000164	000243 					.WORD CLV!CLC
							
000166	003352 					BGT	2$
000170	005002 				4$:	CLR	R2				; CNT
000172	016600  000006 			5$:	MOV	6(SP),R0			; LEN,DIFFERENCE			1218
000176	160200 					SUB	R2,R0				; CNT,DIFFERENCE
000200	160064  000014 				SUB	R0,14(R4)			; DIFFERENCE,*(CCB)			1219
000204	100002 					BPL	6$
000206	024646 					CMP	-(SP),-(SP)			;					1221
000210	000414 					BR	7$
000212	004767  000000V			6$:	JSR	PC,MAKE.ROOM			;					1222
000216	016616  000006 				MOV	6(SP),(SP)			; LEN,*					1224
000222	012746  000014 				MOV	#14,-(SP)
000226	060616 					ADD	SP,(SP)				; NODE.ID,*
000230	010146 					MOV	R1,-(SP)			; PTR,*
000232	004767  000000G				JSR	PC,BL$MOV
000236	010567  000000G				MOV	R5,KISAR6			; SAVE.MAP,*				1225
000242	062706  000030 			7$:	ADD	#30,SP				;					1148
000246	000207 					RTS	PC

; Routine Size:  84 words,	Routine Base:  $CODE$ + 3464
; Maximum stack depth per invocation:  19 words
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  44
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (17)

;	  1228	routine MAKE_ROOM (CCB, PTR, LNG) : SC_LKG_CCB_PTR_LNG novalue =
;	  1229	
;	  1230	!++
;	  1231	! FUNCTIONAL DESCRIPTION:
;	  1232	!	Make room for LNG bytes at PTR in the CCB buffer.
;	  1233	!
;	  1234	! FORMAL PARAMETERS:
;	  1235	!	CCB	CCB address
;	  1236	!       PTR     Pointer within CCB buffer
;	  1237	!       LNG     Number of bytes needed
;	  1238	!
;	  1239	! IMPLICIT INPUTS:
;	  1240	!	Mapped to CCB buffer
;	  1241	!
;	  1242	! IMPLICIT OUTPUTS:
;	  1243	!	None
;	  1244	!
;	  1245	! ROUTINE VALUE:
;	  1246	!	None
;	  1247	!
;	  1248	! SIDE EFFECTS:
;	  1249	!	None
;	  1250	!--
;	  1251	    begin
;	  1252	    map CCB: ref block field (C_NM_FIELDS);
;	  1253	    macro
;	M 1254	        ch$r_rchar (PTR) =
;	M 1255	            begin
;	M 1256	            PTR = .PTR - 1;
;	M 1257	            ch$rchar (.PTR)
;	  1258	            end %,
;	M 1259	        ch$r_wchar (BYT, PTR) =
;	M 1260	            begin
;	M 1261	            PTR = .PTR - 1;
;	M 1262	            ch$wchar (BYT, .PTR);
;	  1263	            end %;
;	  1264	    local
;	  1265	        CNT,
;	  1266	        TOP_FROM,
;	  1267	        TOP_TO;
;	  1268	
;	  1269	    TOP_FROM = .CCB [C_ADDR];
;	  1270	    TOP_FROM = ch$plus (.TOP_FROM, .CCB [C_CNT]);
;	  1271	    CCB [C_CNT] = .CCB [C_CNT] + .LNG;
;	  1272	    CNT = .TOP_FROM;
;	  1273	    CNT = ch$diff (.CNT, .PTR);
;	  1274	    if .CNT eql 0 then return;
;	  1275	    TOP_TO = .TOP_FROM;
;	  1276	    TOP_TO = ch$plus (.TOP_TO, .LNG);
;	  1277	    do ch$r_wchar (ch$r_rchar (TOP_FROM), TOP_TO) while (CNT = .CNT - 1) neq 0;
;	  1278	    end;
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  45
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (17)


						.SBTTL	MAKE.ROOM Network Management
000000	004167  000000G			MAKE.ROOM:
						JSR	R1,$SAVE4			;					1228
000004	016403  000020 				MOV	20(R4),R3			; *(CCB),TOP.FROM			1269
000010	066403  000022 				ADD	22(R4),R3			; *(CCB),TOP.FROM			1270
000014	060064  000022 				ADD	R0,22(R4)			; LNG,*(CCB)				1271
000020	010302 					MOV	R3,R2				; TOP.FROM,CNT				1272
000022	160102 					SUB	R1,R2				; PTR,CNT				1273
000024	001404 					BEQ	2$				;					1274
000026	010304 					MOV	R3,R4				; TOP.FROM,TOP.TO			1275
000030	060004 					ADD	R0,R4				; LNG,TOP.TO				1276
000032	114344 				1$:	MOVB	-(R3),-(R4)			; TOP.FROM,TOP.TO			1277
000034	077202 					SOB	R2,1$				; CNT,*
000036	000207 				2$:	RTS	PC				;					1228

; Routine Size:  16 words,	Routine Base:  $CODE$ + 3734
; Maximum stack depth per invocation:  6 words


;	  1279	
;	  1280	end
;	  1281	eludom



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


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




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  NETPKG:<SC>SCPRM.L16.4		       262        53        20         0
;  NETPKG:<MCB>MCBLIB.L16.15		       372        44        11         0
;  NETPKG:<MCB>NMXLIB.L16.13		       200        70        35         0
;  NETPKG:<MCB>XPORTX.L16.15		       599         7         1         0
SC1								25-Jan-1983 10:22:58	TOPS-20 Bliss-16 2A(530)	    Page  46
X01260		Network Management				30-Dec-1982 20:48:17	NETPKG:<SC>SC1.BLI.10 (17)




; Size:		1022 code + 37 data words
; Run Time:	00:19.1
; Elapsed Time:	01:11.1
; Memory Used:	66 pages
; Compilation Complete
ADDR				1177	1180#	1191#	1209	1211
BLISS36				 246
BUF_PTR				 484	 488#	 489	 687	 694#	 696	 707	 734#	 735	 746	 754	 771
				 798	 810
BUF_SIZ				 926
BYT				1259	1262
BYT$ALLOCATION			 742	1179
BYT$PTR				 380	 475	 734	 754	 755	 759	 768	 781	 783	 860	1013	1023
				1124	1185	1188	1224
BYT$SHORT_STRING		 377	1186
BYT$STRING_SHORT		 489	 696	 735	 798	 810	1112	1208
BYT$STRING_TINY			 746	1113
BYT$TINY_STRING			1187
CALL$				 223	 224	 225	 261#	 333#	 390#
CASE_SHIFT			 236	1037*	1119
CCB				 261	 285	 291	 295	 299	 302	 304	 306	 308	 316	 319	 331
				 443	 469	 471	 478	 487	 488	 496	 498	 500	 502	 510	 511
				 512	 513	 518	 546	 553	 581	 588	 616	 623	 651	 657	 683
				 685	 690	 694	 695	 722	 770	 826	 852	 856	 858	 862	 893
				 894	 897	 923	 924	 932#	 933#	 934#	 936	 946	 959	 966	 973
				 999	1001	1003	1005	1034	1035	1148	1172	1199	1200	1201	1219#
				1222	1228	1252	1269	1270	1271#
CCBGT$				 721
CH				1063	1072#	1073#	1074
CH$R_RCHAR			1254#	1277
CH$R_WCHAR			1259#	1277
CH$WCHAR			1262
CHAN				 765	 771	 784	1010	1013	1020
CLEAR_EXECUTOR_INCOMING_TIMER	 228	 500	 512	 518*
CLEAR_EXECUTOR_OUTGOING_TIMER	 229	 502	 513	 553*
CLEAR_NODE_CIRCUIT		 230	 498	 511	 588*
CLEAR_NODE_NAME			 231	 496	 510	 623*
CLEAR_NODE_PARMS		 227	 304	 443*
CNT				1195	1201#	1202	1209#	1211#	1213#	1218	1265	1272#	1273#	1274	1277#
C_ADDR				 488	 694	1200	1269
C_BIAS				 487	 695	 770	1199
C_CNT				 478	 690	 932	 933	 934	1201	1270	1271
C_FIELDS			 705
C_FNC				 724
C_MOD				 291	 725
C_NM_ENTITY			 295
C_NM_FIELDS			 285	 469	 546	 581	 616	 651	 683	 852	 923	 999	1172	1252
C_NM_FUNC			 299	 316
C_NM_NMPAR			 471	 685	 856	 924	1001
C_NM_SELECT			 862	 936	1005
C_PIX				 723
C_STK				 722
C_STS				 894	 932	 934	 966	1035	1219
DIFFERENCE			1217	1218#	1219	1222
EQLU				1020	1211
FC_XME				 724
FIND_NODE			1175	1192	1221
FM_NM				 291
GET_NODE			 237	 371	 475	 755	 768	 860	1078*
HOST_ADDR			 733	 735	 736
I				 775	 942	 955	1017	1070	1120
INSERT_NODE			 238	 946	 959	1148*
LCCB				 705	 721	 722#	 723#	 724#	 725#	 726
LEN				 927	1037	1068	1070	1178	1181#	1187	1188	1190#	1218	1224
LNG				1228	1271	1276
MAKE_ROOM			 239	1222	1228*
MAP$				 388	 487	 490	 695	 770	 772	 931	1014	1109	1199	1225
N$EABL				 174+#
N$EABO				 166+#
N$EABR				 167+#
N$ECLS				 172+#
N$ECON				 163+#
N$ELST				 170+#
N$EMTL				 171+#
N$ENUR				 173+#
N$EOPN				 165+#
N$ERES				 162+#
N$ERMO				 169+#
N$ERUN				 175+#
N$ESTE				 164+#
N$ETMI				 168+#
N$ETRN				 176+#
N$FBOM				 185+#
N$FCMP				 186+#
N$FEOM				 184+#
N$FMES				 183+#
N$FSEG				 182+#
N$HI				 158+#
N$LO				 177+#
N$SACC				 160+#
N$SCC				 196+#
N$SCD				 200+#
N$SCI				 197+#
N$SCL				 206+#
N$SCN				 207+#
N$SCR				 193+#
N$SDIC				 204+#
N$SDI				 203+#
N$SDN				 205+#
N$SDRC				 195+#
N$SDR				 194+#
N$SNC				 199+#
N$SNR				 198+#
N$SO				 192+#
N$SREJ				 159+#
N$SRJ				 201+#
N$SRUN				 202+#
N$SSUC				 161+#
NAME				 255#
NAME_LEN			1106	1113	1115	1119	1123
NAML				 375	 378#	 379	 380
NAM_LEN				 944	 945#	 957	 958#
NEW_NAME			 742	 754	 759
NEW_NAML			 743	 746	 747	 754	 758	 759
NEW_STATE			 426	 430#	 431	 866	 870#	 871
NM$SUC				 514	 551	 586	 621	 655	 717	 786	 824	 968
NMPAR				 471#	 475	 685#	 734	 755	 768	 781	 856#	 860	 924#	 933	1001#
				1013
NMT				 366	 371#	 377	 378	 380	 473	 475#	 496	 498	 500	 502	 510
				 511	 512	 513	 518	 547	 549	 553	 582	 584	 588	 617	 619
				 620#	 623	 652	 654#	 744	 755#	 757	 758#	 759	 767	 773#	 777
				 782#	 783	 784#	 785#	 789#	 854	 860#	 867	 873	 875	 879	 881
				 882	 929	 940#	 945	 946	 947#	 953#	 958	 959	 960#	1012	1015#
				1019	1020	1023	1026#	1107	1110#	1122	1124	1126	1127#	1138#	1139
				1148	1173	1180	1181	1186	1188
NMT_ADDR			 377	 549	 584	 619	 757	 867	 873	 879	 882	1180	1186
NMT_BASE			 496	 498	 500	 502	 510	 511	 512	 513	 773	 946	 959	1015
				1126	1138	1139
NMT_CHAN			 784	1020
NMT_FIELDS			 366	 473	 547	 582	 617	 652	 744	 767	 854	 929	1012	1107
				1173
NMT_NAME			 380	 759	 783	1023	1124	1188
NMT_NAML			 378	 620	 654	 758	 777	 782	 783	 945	 958	1019	1023	1122
				1124	1181
NMT_NMXID			 785	 875	 881
NMT_SIZE			 773	 789	 929	 947	 953	 960	1015	1026	1127	1138
NMX$ENT_CKT			 314
NMX$ENT_HI			 295
NMX$ENT_LO			 295
NMX$ENT_NOD			 297
NMX$FNC_CLR			 303
NMX$FNC_HI			 299	 316
NMX$FNC_LO			 299	 316
NMX$FNC_RET			 307
NMX$FNC_SET			 301
NMX$FNC_SHO			 305	 318
NMX$OBTAIN_CIRCUIT_OWNER	 771	1013
NMX$PARAMETER_CIRCUIT		 875	 881
NMX$SEL_CHA			 877
NMX$SEL_HI			1005
NMX$SEL_KNO			 938	 951
NMX$SEL_LOP			 951
NMX$SEL_LO			1005
NMX$SEL_STA			 864	1007
NMX$SEL_SUM			 864	1007
NMXID				 766	 771	 785	1011	1013
NMX_NMPAR_ENTITY		 475	 755	 768	 860
NMX_NMPAR_FIELDS		 471	 685	 856	 924	1001
NMX_NMPAR_NODE_ADDRESS		 734
NMX_NMPAR_NODE_NAME_LENGTH	 781
NMX_NMPAR_OTHER_LENGTH		1013
NMX_NMPAR_RETURN_CNT		 933
NM_EXT				 223	 261*
NM_NOD				 224	 333*
NM_SIG				 225	 390*
NODE_ADDR			1105	1112	1133#	1134	1137#	1138
NODE_ID				1179	1185	1224
NODE_ID_PTR			 333	 369
N_GSTA				 130+#
N_GSTS				 127+#
N_PCLS				 129+#
N_POPN				 128+#
N_RCON				 145+#
N_RDAT				 147+#
N_RDSC				 146+#
N_RHI				 152+#
N_RINT				 148+#	 152+
N_SCNF				 143+#
N_SCNS				 144+#
N_XABT				 135+#
N_XACC				 132+#
N_XBUF				 140+#
N_XCON				 131+#
N_XDAT				 136+#
N_XDRQ				 139+#
N_XDSC				 134+#
N_XHI				 151+#
N_XINI				 141+#	 151+	 725
N_XINT				 137+#
N_XIRQ				 138+#
N_XREJ				 133+#
PARAMETER_AI			1023
PARAMETER_C_1			 428	 429	 431	 871
PARAMETER_DU_2			 886	 888
PARBLK				1078	1111
PARM_NUM			 485	 489	 491	 688	 696	 698
PARPTR				1104	1111#	1112	1113	1119	1123
PDVID$				 718	 719
PRM1				 390	 428
PRM2				 390	 429
PTR				 365	 369#	 371	 377	 379	 380	 384	 385	 780	 781#	 782	 783
				 928	1037	1066	1184	1185#	1186	1187	1188	1196	1200#	1207	1212#
				1222	1224	1228	1254	1256#	1257	1259	1261#	1262	1273
RAD50				 245#	 718	 719
RETURN_NODE_LIST		 234	 308	 897*
SAVE_MAP			 364	 368	 388	 484	 486	 490	1197	1198	1225
SC$_NNM				 718
SC$_NNS				 719
SC1				   1#	 255
SCDB				 362	 416	 430	 468	 496	 498	 500	 502	 510	 511	 512	 513
				 518	 545	 549	 550#	 553	 580	 584	 585#	 588	 615	 623	 650
				 682	 717	 718	 719	 720#	 723	 736#	 771	 772	 773	 775	 802#
				 814#	 851	 867	 870	 875	 881	 882	 885	 886	 887	 888	 922
				 931	 940	 942	 953	 955	 998	1013	1014	1015	1017	1102	1109
				1110	1120	1133	1134
SCF_STAT			 430	 717	 870
SC_HADDR			 736
SC_ITIME			 550	 802	 885	 886
SC_LADDR			 549	 584	 867	 882	1133
SC_LKG_CCB_PTR_LNG		 216#	 239	1228#
SC_LKG_CCB			 215#	 227	 232	 233	 234	 235	 443#	 657#	 826#	 897#	 973#
SC_LKG_LEN_PTR			 217#	 236	1037#
SC_LKG_NMT_CCB			 218#	 238	1148#
SC_LKG_PTR			 219#	 237	1078#
SC_LKG_SCDB_NMT_CCB		 220#	 228	 229	 230	 231	 518#	 553#	 588#	 623#
SC_LLINK			 720
SC_LOOPS			 775	 955	1017	1120
SC_NMPIX			 718	 771	 875	 881	1013
SC_NMT_ADDR			 773	 940	 953	1015	1110
SC_NMT_BIAS			 772	 931	1014	1109
SC_NODES			 773	 942	 953	1015	1120	1134
SC_NSPIX			 719	 723
SC_OTIME			 585	 814	 887	 888
SC_TICK				 496	 498	 500	 502	 510	 511	 512	 513
SET_NODE_PARMS			 232	 302	 657*
SHOW_CIRCUIT_ITEMS		 235	 319	 973*
SHOW_NODE_ITEMS			 233	 306	 826*
SIG_TYPE			 390	 418
SMAP$				 368	 486	1198
STATE				 704	 707#	 708
STATUS				 287	 289#	 331
STR				 245	 246
S_ST_OFF			 712
S_ST_ON				 710	 717
S_ST_RST			 712
S_ST_SHUT			 712
TCNT				1206	1210#	1211	1212	1213
TEST				1206	1208	1209	1211
TMP_PTR				1064	1066#	1072	1074
TOP_FROM			1266	1269#	1270#	1272	1275	1277
TOP_TO				1267	1275#	1276#	1277
TPTR				1206	1207#	1208	1210
TRUE				1204
VALUE				 797	 798	 799	 802	 809	 810	 811	 814
$MCB_PROCESS			 255
$MCB_SCHEDULE_CCB		 726
$NM$ERR_CWS			 619	 757	 769
$NM$ERR_IPV			 715	 752	 804	 816
$NM$ERR_MPE			 292	 310	 321	 326
$NM$ERR_NRE			 792
$NM$ERR_OPF			 692	 713
$NM$ERR_PNA			 549	 584
$NM$ERR_REE			 721	 970
$NM$ERR_UPT			 504	 820
$NM$ERR_URC			 476	 756
$NM_LOG_BEGIN			 427
$NM_LOG_END			 432
$NM_RESPONSE_BEGIN		 858	1003
$NM_RESPONSE_END		 893	1034
$SC_DO_CCP			 331
$SC_GET_DATA_BASE		 362	 416	 468	 545	 580	 615	 650	 682	 851	 922	 998	1102