Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/nml/nmulib.lst
There are no other files named nmulib.lst in the archive.
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   1
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (1)

;	  0001	! NET:<DECNET20-V3P1.NMU>NMULIB.REQ.3 12-Jun-81 11:01:18, Edit by JENNESS
;	  0002	!    Massive readability changes to all files in the library.
;	  0003	! NET:<DECNET20-V3P1.NMU>NMULIB.REQ.2 16-Apr-81 13:50:40, Edit by JENNESS
;	  0004	!    Add NMRSP (Response macros) and NMARCH (Architecture) require files.
;	  0005	! NET:<DECNET20-V3P1.NMU>NMULIB.REQ.4 24-Mar-81 15:12:37, Edit by JENNESS
;	  0006	!    Add DEBUG require file.
;	  0007	! NET:<DECNET20-V3P1.NMU>NMULIB.REQ.3  3-Feb-81 10:13:38, Edit by JENNESS
;	  0008	!    Delete NMU.REQ file.  Not needed any more.  Put conditions directly
;	  0009	!	into this file.
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   2
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (2)

;	  0010	! NMULIB - Network Management Utilities library
;	  0011	!
;	  0012	!                    COPYRIGHT (c) 1980, 1981, 1982
;	  0013	!                    DIGITAL EQUIPMENT CORPORATION
;	  0014	!                        Maynard, Massachusetts
;	  0015	!
;	  0016	!     This software is furnished under a license and may  be  used
;	  0017	!     and copied only in accordance with the terms of such license
;	  0018	!     and with the inclusion of the above copyright notice.   This
;	  0019	!     software  or any other copies thereof may not be provided or
;	  0020	!     otherwise made available to any other person.  No  title  to
;	  0021	!     and ownership of the software is hereby transferred.
;	  0022	!
;	  0023	!     The information  in  this  software  is  subject  to  change
;	  0024	!     without  notice  and should not be construed as a commitment
;	  0025	!     by DIGITAL EQUIPMENT CORPORATION.
;	  0026	!
;	  0027	!     DIGITAL assumes no responsibility for the use or reliability
;	  0028	!     of  its  software  on  equipment  which  is  not supplied by
;	  0029	!     DIGITAL.
;	  0030	!
;	  0031	
;	  0032	!++
;	  0033	! Facility: LSG DECnet Network Management
;	  0034	!
;	  0035	! Abstract: This library is used by the modules of the
;	  0036	!           Network Management Utilities.
;	  0037	!
;	  0038	! Environment: TOPS10/TOPS20 user mode, MCB RSX task level
;	  0039	!              BLISS-36, BLISS-32 and BLISS-16
;	  0040	!
;	  0041	! Author: Steven M. Jenness, Creation date: 10-Dec-80
;	  0042	!
;	  0043	!--
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   3
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (3)

;	  0044	
;	  0045	!
;	  0046	! Table of contents
;	  0047	!
;	  0048	!
;	  0049	!	SYSTYP	    System type definition
;	  0050	!	XPORT	    Machine transportability package
;	  0051	!	STRLIB	    String processing library
;	  0052	!	NETLIB	    Protocol message processing library
;	  0053	!	NMARCH      Network Management Architecture definitions
;	  0054	!	DEBUG	    Debugging facility
;	  0055	!	NMRSP	    NICE Response processing macros
;	  0056	!	NMUCOM	    Utility common definitions
;	  0057	!	NMUT20	    TOPS20 utility internal definitions
;	  0058	!	NMUT10	    TOPS10 utility internal definitions
;	  0059	!	NMUMCB	    MCB Utility internal definitions
;	  0060	!       NMUCMI      Utility internal transportable definitions
;	  0061	!	NMLCOM	    NML common definitions
;	  0062	!	NCPCOM	    NCP common definitions
;	  0063	!	NMINI	    System initilization definitions
;	  0064	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   4
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  0065	
;	  0066	!
;	  0067	! Include files
;	  0068	!
;	  0069	
;	  0070	require 'SYSTYP';                       ! Get system type definition
		SYSTYP -- System type macros			24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   5
		Feature test tests				 3-Jan-1983 17:30:43	DNET61:<MCB.NML>SYSTYP.R16.1 (5)

; %PRINT:	Building NML for MCB
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   6
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  0147	
;	  0148	switches list (norequire);		! Suppress XPORT listing
;	  0149	
;	  0150	require 'BLI:XPORT';			! Transportability package
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   7
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (3)

; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  3
; %PRINT:				  4
; %PRINT:				  5
; %PRINT:				  6
; %PRINT:				  7
; %PRINT:				  8
; %PRINT:				  9
; %PRINT:				  10
; %PRINT:				  11
; %PRINT:				  [0,0,16,0]   (+%O'0')
; %PRINT:				  [1,0,8,0]   (+%O'2')
; %PRINT:				  [1,8,8,0]   (+%O'3')
; %PRINT:				  [2,0,16,0]   (+%O'4')
; %PRINT:				  3 fullwords
; %PRINT:				  3 fullwords
; %PRINT:				  3 fullwords
; %PRINT:				  [3,0,16,0]   (+%O'6')
; %PRINT:				  [4,0,16,0]   (+%O'10')
; %PRINT:				  5 fullwords
; %PRINT:				  5 fullwords
; %PRINT:				  5 fullwords
; %PRINT:				  [0,0,16,0]   (+%O'0')
; %PRINT:				  [1,0,8,0]   (+%O'2')
; %PRINT:				  [1,8,8,0]   (+%O'3')
; %PRINT:				  [2,0,16,0]   (+%O'4')
; %PRINT:				  3 fullwords
; %PRINT:				  3 fullwords
; %PRINT:				  [3,0,16,0]   (+%O'6')
; %PRINT:				  [4,0,16,0]   (+%O'10')
; %PRINT:				  5 fullwords
; %PRINT:				  5 fullwords
; %PRINT:				  5 fullwords
; %PRINT:				  [0,0,0,1]   (+%O'0')
; %PRINT:				  [2,0,8,0]   (+%O'4')
; %PRINT:				  [2,8,8,0]   (+%O'5')
; %PRINT:				  [3,0,16,0]   (+%O'6')
; %PRINT:				  [4,0,0,1]   (+%O'10')
; %PRINT:				  [6,0,8,0]   (+%O'14')
; %PRINT:				  [6,8,8,0]   (+%O'15')
; %PRINT:				  [7,0,16,0]   (+%O'16')
; %PRINT:				  8 fullwords
; %PRINT:				  [0,0,16,1]   (+%O'0')
; %PRINT:				  [1,0,8,1]   (+%O'2')
; %PRINT:				  [1,8,8,1]   (+%O'3')
; %PRINT:				  [2,0,16,0]   (+%O'4')
; %PRINT:				  [3,0,16,0]   (+%O'6')
; %PRINT:				  [4,0,16,0]   (+%O'10')
; %PRINT:				  [5,0,0,0]   (+%O'12')
; %PRINT:				  [10,0,0,0]   (+%O'24')
; %PRINT:				  [13,0,16,0]   (+%O'32')
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   8
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (9)

; %PRINT:				  [14,0,16,0]   (+%O'34')
; %PRINT:				  [15,0,8,0]   (+%O'36')
; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  3
; %PRINT:				  4
; %PRINT:				  5
; %PRINT:				  6
; %PRINT:				  7
; %PRINT:				  [16,0,16,0]   (+%O'40')
; %PRINT:				  [16,0,1,0]   (+%O'40')
; %PRINT:				  [16,1,1,0]   (+%O'40')
; %PRINT:				  [16,2,1,0]   (+%O'40')
; %PRINT:				  [16,3,1,0]   (+%O'40')
; %PRINT:				  [16,4,1,0]   (+%O'40')
; %PRINT:				  [16,5,1,0]   (+%O'40')
; %PRINT:				  [17,0,16,0]   (+%O'42')
; %PRINT:				  [17,0,1,0]   (+%O'42')
; %PRINT:				  [17,1,1,0]   (+%O'42')
; %PRINT:				  [17,2,1,0]   (+%O'42')
; %PRINT:				  [17,3,1,0]   (+%O'42')
; %PRINT:				  [17,4,1,0]   (+%O'42')
; %PRINT:				  [18,0,16,0]   (+%O'44')
; %PRINT:				  [18,0,1,0]   (+%O'44')
; %PRINT:				  [18,1,1,0]   (+%O'44')
; %PRINT:				  [18,2,1,0]   (+%O'44')
; %PRINT:				  [18,3,1,0]   (+%O'44')
; %PRINT:				  [18,4,1,0]   (+%O'44')
; %PRINT:				  [18,5,1,0]   (+%O'44')
; %PRINT:				  [18,6,1,0]   (+%O'44')
; %PRINT:				  [18,7,1,0]   (+%O'44')
; %PRINT:				  [19,0,0,0]   (+%O'46')
; %PRINT:				  [19,0,16,0]   (+%O'46')
; %PRINT:				  [21,0,16,0]   (+%O'52')
; %PRINT:				  [19,0,0,0]   (+%O'46')
; %PRINT:				  [19,0,16,0]   (+%O'46')
; %PRINT:				  [21,0,16,0]   (+%O'52')
; %PRINT:				  [24,0,16,0]   (+%O'60')
; %PRINT:				  [25,0,16,0]   (+%O'62')
; %PRINT:				  [25,0,16,0]   (+%O'62')
; %PRINT:				  [26,0,16,1]   (+%O'64')
; %PRINT:				  [27,0,16,1]   (+%O'66')
; %PRINT:				  [28,0,16,1]   (+%O'70')
; %PRINT:				  [29,0,16,1]   (+%O'72')
; %PRINT:				  [30,0,16,1]   (+%O'74')
; %PRINT:				  [31,0,16,1]   (+%O'76')
; %PRINT:				  [32,0,16,1]   (+%O'100')
; %PRINT:				  [33,0,0,0]   (+%O'102')
; %PRINT:				  [41,0,0,0]   (+%O'122')
; %PRINT:				  [49,0,0,0]   (+%O'142')
; %PRINT:				  [65,0,16,1]   (+%O'202')
; %PRINT:				  [66,0,16,1]   (+%O'204')
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page   9
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (9)

; %PRINT:				  [67,0,16,1]   (+%O'206')
; %PRINT:				  [68,0,16,1]   (+%O'210')
; %PRINT:				  [69,0,16,1]   (+%O'212')
; %PRINT:				  [70,0,16,1]   (+%O'214')
; %PRINT:				  [71,0,16,1]   (+%O'216')
; %PRINT:				  [72,0,16,1]   (+%O'220')
; %PRINT:				  [73,0,16,1]   (+%O'222')
; %PRINT:				  [74,0,16,1]   (+%O'224')
; %PRINT:				  [75,0,16,1]   (+%O'226')
; %PRINT:				  [76,0,16,1]   (+%O'230')
; %PRINT:				  [77,0,16,0]   (+%O'232')
; %PRINT:				  [77,0,16,0]   (+%O'232')
; %PRINT:				  [78,0,16,0]   (+%O'234')
; %PRINT:				  [77,0,16,0]   (+%O'232')
; %PRINT:				  [77,0,16,0]   (+%O'232')
; %PRINT:				  [79,0,16,1]   (+%O'236')
; %PRINT:				  80 fullwords
; %PRINT:				  [0,0,16,0]   (+%O'0')
; %PRINT:				  [0,0,1,0]   (+%O'0')
; %PRINT:				  [0,1,1,0]   (+%O'0')
; %PRINT:				  [0,2,1,0]   (+%O'0')
; %PRINT:				  [0,3,1,0]   (+%O'0')
; %PRINT:				  [0,4,1,0]   (+%O'0')
; %PRINT:				  [0,5,1,0]   (+%O'0')
; %PRINT:				  [0,6,1,0]   (+%O'0')
; %PRINT:				  [0,7,1,0]   (+%O'0')
; %PRINT:				  [0,8,1,0]   (+%O'1')
; %PRINT:				  [0,9,1,0]   (+%O'1')
; %PRINT:				  [0,10,1,0]   (+%O'1')
; %PRINT:				  [1,0,0,0]   (+%O'2')
; %PRINT:				  [1,0,16,0]   (+%O'2')
; %PRINT:				  [3,0,16,0]   (+%O'6')
; %PRINT:				  [4,0,0,0]   (+%O'10')
; %PRINT:				  [4,0,16,0]   (+%O'10')
; %PRINT:				  [6,0,16,0]   (+%O'14')
; %PRINT:				  [7,0,0,0]   (+%O'16')
; %PRINT:				  [7,0,16,0]   (+%O'16')
; %PRINT:				  [9,0,16,0]   (+%O'22')
; %PRINT:				  [10,0,16,0]   (+%O'24')
; %PRINT:				  [11,0,16,0]   (+%O'26')
; %PRINT:				  [12,0,0,0]   (+%O'30')
; %PRINT:				  [12,0,16,0]   (+%O'30')
; %PRINT:				  [14,0,16,0]   (+%O'34')
; %PRINT:				  [15,0,0,0]   (+%O'36')
; %PRINT:				  [15,0,16,0]   (+%O'36')
; %PRINT:				  [17,0,16,0]   (+%O'42')
; %PRINT:				  [18,0,0,0]   (+%O'44')
; %PRINT:				  [18,0,16,0]   (+%O'44')
; %PRINT:				  [20,0,16,0]   (+%O'50')
; %PRINT:				  [21,0,0,0]   (+%O'52')
; %PRINT:				  [21,0,16,0]   (+%O'52')
; %PRINT:				  [23,0,16,0]   (+%O'56')
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  10
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (11)

; %PRINT:				  [24,0,0,0]   (+%O'60')
; %PRINT:				  [24,0,16,0]   (+%O'60')
; %PRINT:				  [26,0,16,0]   (+%O'64')
; %PRINT:				  27 fullwords
; %PRINT:				  [0,0,16,0]   (+%O'0')
; %PRINT:				  [1,0,16,0]   (+%O'2')
; %PRINT:				  2 fullwords
; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  [0,0,16,0]   (+%O'0')
; %PRINT:				  [0,0,8,0]   (+%O'0')
; %PRINT:				  [0,8,8,0]   (+%O'1')
; %PRINT:				  [0,0,8,0]   (+%O'0')
; %PRINT:				  [0,0,1,0]   (+%O'0')
; %PRINT:				  [0,1,1,0]   (+%O'0')
; %PRINT:				  [0,2,1,0]   (+%O'0')
; %PRINT:				  [0,8,1,0]   (+%O'1')
; %PRINT:				  [0,9,1,0]   (+%O'1')
; %PRINT:				  [0,10,1,0]   (+%O'1')
; %PRINT:				  [0,11,1,0]   (+%O'1')
; %PRINT:				  [0,12,1,0]   (+%O'1')
; %PRINT:				  [0,13,1,0]   (+%O'1')
; %PRINT:				  [0,14,1,0]   (+%O'1')
; %PRINT:				  [0,8,1,0]   (+%O'1')
; %PRINT:				  [0,9,1,0]   (+%O'1')
; %PRINT:		STR$M_LEFT_JUST	= 1
; %PRINT:		STR$M_RIGHT_JUS	= 2
; %PRINT:		STR$M_CENTER	= 4
; %PRINT:		STR$M_SIGNED	= 256
; %PRINT:		STR$M_UNSIGNED	= 512
; %PRINT:		STR$M_LEADING_Z	= 1024
; %PRINT:		STR$M_LEADING_B	= 2048
; %PRINT:		STR$M_UP_CASE	= 4096
; %PRINT:		STR$M_TRUNCATE	= 8192
; %PRINT:		STR$M_NO_FREE_T	= 16384
; %PRINT:		STR$M_REMAINDER	= 256
; %PRINT:		STR$M_TARGET	= 512
; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  3
; %PRINT:				  4
; %PRINT:				  5
; %PRINT:				  6
; %PRINT:				  7
; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  3
; %PRINT:		XPO$_NORMAL	= 1   (%O'1')
; %PRINT:		XPO$_CREATED	= 9   (%O'11')
; %PRINT:		XPO$_INCOMPLETE	= 17   (%O'21')
; %PRINT:		XPO$_NEW_FILE	= 25   (%O'31')
; %PRINT:		XPO$_NEW_PAGE	= 33   (%O'41')
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  11
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (21)

; %PRINT:		XPO$_END_FILE	= 4096   (%O'10000')
; %PRINT:		XPO$_BAD_ADDR	= 8194   (%O'20002')
; %PRINT:		XPO$_BAD_ALIGN	= 8202   (%O'20012')
; %PRINT:		XPO$_BAD_ARGS	= 8210   (%O'20022')
; %PRINT:		XPO$_BAD_CONCAT	= 8218   (%O'20032')
; %PRINT:		XPO$_BAD_DELIM	= 8226   (%O'20042')
; %PRINT:		XPO$_BAD_DESC	= 8234   (%O'20052')
; %PRINT:		XPO$_BAD_DEVICE	= 8242   (%O'20062')
; %PRINT:		XPO$_BAD_DFLT	= 8250   (%O'20072')
; %PRINT:		XPO$_BAD_DIRECT	= 8258   (%O'20102')
; %PRINT:		XPO$_BAD_DTYPE	= 8266   (%O'20112')
; %PRINT:		XPO$_BAD_FORMAT	= 8274   (%O'20122')
; %PRINT:		XPO$_BAD_IO_OPT	= 8282   (%O'20132')
; %PRINT:		XPO$_BAD_LENGTH	= 8290   (%O'20142')
; %PRINT:		XPO$_BAD_NAME	= 8298   (%O'20152')
; %PRINT:		XPO$_BAD_NEW	= 8306   (%O'20162')
; %PRINT:		XPO$_BAD_NODE	= 8314   (%O'20172')
; %PRINT:		XPO$_BAD_ORG	= 8322   (%O'20202')
; %PRINT:		XPO$_BAD_PROMPT	= 8330   (%O'20212')
; %PRINT:		XPO$_BAD_RECORD	= 8338   (%O'20222')
; %PRINT:		XPO$_BAD_REQ	= 8346   (%O'20232')
; %PRINT:		XPO$_BAD_RLTD	= 8354   (%O'20242')
; %PRINT:		XPO$_BAD_RSLT	= 8362   (%O'20252')
; %PRINT:		XPO$_BAD_SPEC	= 8370   (%O'20262')
; %PRINT:		XPO$_BAD_TYPE	= 8378   (%O'20272')
; %PRINT:		XPO$_BAD_VER	= 8386   (%O'20302')
; %PRINT:		XPO$_CHANNEL	= 8394   (%O'20312')
; %PRINT:		XPO$_CLOSED	= 8402   (%O'20322')
; %PRINT:		XPO$_CONFLICT	= 8410   (%O'20332')
; %PRINT:		XPO$_CORRUPTED	= 8418   (%O'20342')
; %PRINT:		XPO$_EXISTS	= 8426   (%O'20352')
; %PRINT:		XPO$_FILE_LOCK	= 8434   (%O'20362')
; %PRINT:		XPO$_FREE_MEM	= 8442   (%O'20372')
; %PRINT:		XPO$_GET_MEM	= 8450   (%O'20402')
; %PRINT:		XPO$_IN_USE	= 8458   (%O'20412')
; %PRINT:		XPO$_IO_BUFFER	= 8466   (%O'20422')
; %PRINT:		XPO$_IO_ERROR	= 8474   (%O'20432')
; %PRINT:		XPO$_MISSING	= 8482   (%O'20442')
; %PRINT:		XPO$_NETWORK	= 8490   (%O'20452')
; %PRINT:		XPO$_NO_ACCESS	= 8498   (%O'20462')
; %PRINT:		XPO$_NO_BACKUP	= 8506   (%O'20472')
; %PRINT:		XPO$_NO_CHANNEL	= 8514   (%O'20502')
; %PRINT:		XPO$_NO_CLOSE	= 8522   (%O'20512')
; %PRINT:		XPO$_NO_CONCAT	= 8530   (%O'20522')
; %PRINT:		XPO$_NO_CREATE	= 8538   (%O'20532')
; %PRINT:		XPO$_NO_DELETE	= 8546   (%O'20542')
; %PRINT:		XPO$_NO_DIRECT	= 8554   (%O'20552')
; %PRINT:		XPO$_NO_FILE	= 8562   (%O'20562')
; %PRINT:		XPO$_NO_MEMORY	= 8570   (%O'20572')
; %PRINT:		XPO$_NO_OPEN	= 8578   (%O'20602')
; %PRINT:		XPO$_NO_READ	= 8586   (%O'20612')
; %PRINT:		XPO$_NO_RENAME	= 8594   (%O'20622')
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  12
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (21)

; %PRINT:		XPO$_NO_SPACE	= 8602   (%O'20632')
; %PRINT:		XPO$_NO_SUBDIR	= 8610   (%O'20642')
; %PRINT:		XPO$_NO_SUPPORT	= 8618   (%O'20652')
; %PRINT:		XPO$_NO_WRITE	= 8626   (%O'20662')
; %PRINT:		XPO$_NOT_CLOSED	= 8634   (%O'20672')
; %PRINT:		XPO$_NOT_EXPIRE	= 8642   (%O'20702')
; %PRINT:		XPO$_NOT_INPUT	= 8650   (%O'20712')
; %PRINT:		XPO$_NOT_ONLINE	= 8658   (%O'20722')
; %PRINT:		XPO$_NOT_OPEN	= 8666   (%O'20732')
; %PRINT:		XPO$_NOT_OUTPUT	= 8674   (%O'20742')
; %PRINT:		XPO$_OPEN	= 8682   (%O'20752')
; %PRINT:		XPO$_PREV_ERROR	= 8690   (%O'20762')
; %PRINT:		XPO$_PRIVILEGED	= 8698   (%O'20772')
; %PRINT:		XPO$_PROTECTED	= 8706   (%O'21002')
; %PRINT:		XPO$_PUT_MSG	= 8714   (%O'21012')
; %PRINT:		XPO$_REC_LOCK	= 8722   (%O'21022')
; %PRINT:		XPO$_RENAME_NEW	= 8730   (%O'21032')
; %PRINT:		XPO$_RENAME_OLD	= 8738   (%O'21042')
; %PRINT:		XPO$_TRUNCATED	= 8746   (%O'21052')
; %PRINT:		XPO$_WILDCARD	= 8754   (%O'21062')
; %PRINT:		XPO$_BAD_ACCT	= 8762   (%O'21072')
; %PRINT:		XPO$_BAD_ATTR	= 8770   (%O'21102')
; %PRINT:		XPO$_BAD_DATA	= 8778   (%O'21112')
; %PRINT:		XPO$_BAD_MEDIA	= 8786   (%O'21122')
; %PRINT:		XPO$_BAD_MEMORY	= 8794   (%O'21132')
; %PRINT:		XPO$_BAD_PROT	= 8802   (%O'21142')
; %PRINT:		XPO$_BAD_PTR	= 8810   (%O'21152')
; %PRINT:		XPO$_BAD_RECNUM	= 8818   (%O'21162')
; %PRINT:		XPO$_BAD_SIZE	= 8826   (%O'21172')
; %PRINT:		XPO$_BAD_TEMP	= 8834   (%O'21202')
; %PRINT:		XPO$_CHAN_USED	= 8842   (%O'21212')
; %PRINT:		XPO$_HOST_ERROR	= 8850   (%O'21222')
; %PRINT:		XPO$_NO_NODE	= 8858   (%O'21232')
; %PRINT:		XPO$_NO_STACK	= 8866   (%O'21242')
; %PRINT:		XPO$_SYS_ERROR	= 8874   (%O'21252')
; %PRINT:		XPO$_BAD_CLASS	= 8882   (%O'21262')
; %PRINT:		XPO$_NO_TEMP	= 8890   (%O'21272')
; %PRINT:		XPO$_FOREGROUND	= 8898   (%O'21302')
; %PRINT:		XPO$_NO_APPEND	= 8906   (%O'21312')
; %PRINT:		XPO$_NO_SEQ	= 8914   (%O'21322')
; %PRINT:		XPO$_BAD_ORDER	= 8922   (%O'21332')
; %PRINT:		XPO$_BAD_SYNTAX	= 8930   (%O'21342')
; %PRINT:		XPO$_BAD_IOB	= 16388   (%O'40004')
; %PRINT:		XPO$_BAD_LOGIC	= 16396   (%O'40014')
; %PRINT:		XPO$_TERMINATE	= 16404   (%O'40024')
; %PRINT:		STR$_END_STRING	= 2049   (%O'4001')
; %PRINT:		STR$_TRUNCATED	= 2057   (%O'4011')
; %PRINT:		STR$_NOT_TEMP	= 2065   (%O'4021')
; %PRINT:		STR$_BAD_CHAR	= 10242   (%O'24002')
; %PRINT:		STR$_BAD_CLASS	= 10250   (%O'24012')
; %PRINT:		STR$_BAD_DESC	= 10258   (%O'24022')
; %PRINT:		STR$_BAD_DTYPE	= 10266   (%O'24032')
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  13
								 2-Feb-1984 17:29:53	SNARK:<6.1.NML.BLISS>XPORT.REQ.1 (21)

; %PRINT:		STR$_BAD_LENGTH	= 10274   (%O'24042')
; %PRINT:		STR$_BAD_MAXLEN	= 10282   (%O'24052')
; %PRINT:		STR$_BAD_PATTRN	= 10290   (%O'24062')
; %PRINT:		STR$_BAD_PTR	= 10298   (%O'24072')
; %PRINT:		STR$_BAD_REQ	= 10306   (%O'24102')
; %PRINT:		STR$_BAD_SOURCE	= 10314   (%O'24112')
; %PRINT:		STR$_BAD_STRNG1	= 10322   (%O'24122')
; %PRINT:		STR$_BAD_STRNG2	= 10330   (%O'24132')
; %PRINT:		STR$_BAD_TARGET	= 10338   (%O'24142')
; %PRINT:		STR$_CONFLICT	= 10346   (%O'24152')
; %PRINT:		STR$_NO_SPACE	= 10354   (%O'24162')
; %PRINT:		STR$_NO_STRING	= 10362   (%O'24172')
; %PRINT:		STR$_NO_SUPPORT	= 10370   (%O'24202')
; %PRINT:		STR$_NO_TEMP	= 10378   (%O'24212')
; %PRINT:		STR$_NULL_STRNG	= 10386   (%O'24222')
; %PRINT:		STR$_OUT_RANGE	= 10394   (%O'24232')
; %PRINT:		STR$_TOO_LONG	= 10402   (%O'24242')
; %PRINT:		STR$_BAD_LOGIC	= 18436   (%O'44004')
; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  3
; %PRINT:				  4
; %PRINT:				  5
; %PRINT:				  1
; %PRINT:				  2
; %PRINT:				  3
; %PRINT:				  4
; %PRINT:				  5
; %PRINT:				  6
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  14
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  3871	
;	  3872	switches list (require);
;	  3873	
;	  3874	require 'STRLIB';                       ! String processing library
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  15
								 3-Jan-1983 17:30:36	DNET61:<MCB.NML>STRLIB.REQ.1 (1)

;	 R3875	! NET:<VOBA.NML.DEVELOPMENT>STRLIB.REQ.9 18-Feb-82 12:41:09, Edit by VOBA
;	 R3876	!
;	 R3877	! Readability cleanup and copyright update.
;	 R3878	!
;	 R3879	! 14-Nov-81 22:45:18, Edit by GROSSMAN
;	 R3880	!
;	 R3881	! Fix CH$LEN macro so that when the string is longer than the maximum length
;	 R3882	! the maximum length supplied by the user is substituted.
;	 R3883	!
;	 R3884	! NET:<DECNET20-V3P1.NMU.LIBRARY>STRLIB.REQ.3 12-Jun-81 11:59:08, Edit by JENNESS
;	 R3885	!
;	 R3886	! Readability cleanup and copyright update.
;	 R3887	!
		STRLIB -- String Processing Macro Library	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  16
								 3-Jan-1983 17:30:36	DNET61:<MCB.NML>STRLIB.REQ.1 (2)

;	 R3888	%title 'STRLIB -- String Processing Macro Library'
;	 R3889	
;	 R3890	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R3891	!                    DIGITAL EQUIPMENT CORPORATION
;	 R3892	!                        Maynard, Massachusetts
;	 R3893	!
;	 R3894	!     This software is furnished under a license and may  be  used
;	 R3895	!     and copied only in accordance with the terms of such license
;	 R3896	!     and with the inclusion of the above copyright notice.   This
;	 R3897	!     software  or any other copies thereof may not be provided or
;	 R3898	!     otherwise made available to any other person.  No  title  to
;	 R3899	!     and ownership of the software is hereby transferred.
;	 R3900	!
;	 R3901	!     The information  in  this  software  is  subject  to  change
;	 R3902	!     without  notice  and should not be construed as a commitment
;	 R3903	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R3904	!
;	 R3905	!     DIGITAL assumes no responsibility for the use or reliability
;	 R3906	!     of  its  software  on  equipment  which  is  not supplied by
;	 R3907	!     DIGITAL.
;	 R3908	!
;	 R3909	
;	 R3910	!++
;	 R3911	! Facility: LSG DECnet Network Management
;	 R3912	!
;	 R3913	! Abstract:
;	 R3914	!
;	 R3915	!	This file contains a set of transportable string handling
;	 R3916	!       macros. These macros are intended to supplement the string
;	 R3917	!       facility of XPORT, not to replace it.
;	 R3918	!
;	 R3919	! Environment:	BLISS-36, BLISS-32, and BLISS-16.
;	 R3920	!
;	 R3921	! Author(s): Steven M. Jenness, Dale C. Gunn
;	 R3922	!
;	 R3923	! Creation date: 23-Oct-80
;	 R3924	!
;	 R3925	!--
		STRLIB -- String Processing Macro Library	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  17
								 3-Jan-1983 17:30:36	DNET61:<MCB.NML>STRLIB.REQ.1 (3)

;	 R3926	
;	 R3927	!       CH$DEFAULT (N, DEFAULT)
;	 R3928	!
;	 R3929	!           Install the value DEFAULT if the argument N is not given.
;	 R3930	
;	 R3931	
;	 R3932	macro
;	MR3933	     CH$DEFAULT (N, DEFAULT) =
;	 R3934		%if %null (N) %then DEFAULT %else N %fi %;
;	 R3935	
;	 R3936	
;	 R3937	!	CH$LEN (PTR, N)
;	 R3938	!
;	 R3939	!           Interpret PTR as a pointer to a character position
;	 R3940	!           sequence terminated by a null or zero value byte (possibly an
;	 R3941	!           ASCIZ string). Interpret N as an optional integer number of
;	 R3942	!           character sequence positions in the string designated by PTR.
;	 R3943	!           If N is not specified a default value of 200 will be used.
;	 R3944	
;	 R3945	
;	 R3946	macro
;	MR3947	     CH$LEN (PTR, N) =
;	MR3948		(if ch$fail (ch$find_ch (ch$default (N,200), PTR, 0))
;	MR3949	         then ch$default (N, 200)
;	 R3950	         else ch$diff (ch$find_ch (ch$default (N,200), PTR, 0), PTR)) %;
;	 R3951	
;	 R3952	
;	 R3953	!	CH$MIN (PTR, MAX)
;	 R3954	!
;	 R3955	!	    Interpret PTR as a pointer to a character position
;	 R3956	!           sequence terminated by a null or zero value byte, i.e., an
;	 R3957	!           ASCIZ string. Interpret MAX as a value representing the
;	 R3958	!           maximum number of character positions to search. Return
;	 R3959	!           the minimum of MAX or the number of non-null characters in
;	 R3960	!           the string.
;	 R3961	
;	 R3962	
;	 R3963	macro
;	MR3964	     CH$MIN (PTR, MAX) =
;	MR3965	         begin
;	MR3966	         local P;
;	MR3967	
;	MR3968	         if ch$fail (P = ch$find_ch (MAX, PTR, %O'0'))
;	MR3969	         then MAX
;	MR3970	         else ch$diff (.P, PTR)
;	 R3971	         end %;
		STRLIB -- String Processing Macro Library	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  18
								 3-Jan-1983 17:30:36	DNET61:<MCB.NML>STRLIB.REQ.1 (4)

;	 R3972	
;	 R3973	!	CH$SEQUENCE (N, CS)
;	 R3974	!
;	 R3975	!	    Interpret N and CS as for ch$allocation. Return the vector
;	 R3976	!           structure definition required for storage of such a
;	 R3977	!           character position sequence.
;	 R3978	
;	 R3979	
;	 R3980	macro
;	MR3981	     CH$SEQUENCE (N, CS) =
;	 R3982	         vector [ch$allocation (N, CS)] %;
;	 R3983	
;	 R3984	
;	 R3985	!	CH$ASCIC (STRING, ...)
;	 R3986	!
;	 R3987	!	    Return a pointer to an ASCIC character position sequence
;	 R3988	!           formed by the characters represented by the string-params, 
;	 R3989	!           which are interpreted as for the %string lexical function.
;	 R3990	
;	 R3991	
;	 R3992	macro
;	MR3993	     CH$ASCIC [ ] =
;	 R3994	         ch$ptr (uplit (%string (%char (%charcount (%remaining)), %remaining)), 1) %;
;	 R3995	
;	 R3996	
;	 R3997	!	CH$ASCII (STRING, ...)
;	 R3998	!
;	 R3999	!	    Return a pointer to an ASCII character position sequence
;	 R4000	!           formed by the characters represented by the string-params, 
;	 R4001	!           which are interpreted as for the %string lexical function.
;	 R4002	
;	 R4003	
;	 R4004	macro
;	MR4005	     CH$ASCII [ ] =
;	 R4006	         ch$ptr (uplit (%ascii %string (%remaining))) %;
;	 R4007	
;	 R4008	
;	 R4009	!	CH$ASCIZ (STRING, ...)
;	 R4010	!
;	 R4011	!	    Return a pointer to an ASCIZ character position sequence
;	 R4012	!           formed by the characters represented by the string-params, 
;	 R4013	!           which are interpreted as for the %string lexical function.
;	 R4014	
;	 R4015	
;	 R4016	macro
;	MR4017	     CH$ASCIZ [ ] =
;	 R4018		 ch$ptr (uplit (%asciz %string (%remaining))) %;
		STRLIB -- String Processing Macro Library	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  19
								 3-Jan-1983 17:30:36	DNET61:<MCB.NML>STRLIB.REQ.1 (5)

;	 R4019	
;	 R4020	!	CH$MOVSTRING (ADDRESS, STRING, ...)
;	 R4021	!
;	 R4022	!           Interpret ADDRESS as the address of a pointer to a character
;	 R4023	!           position sequence. Interpret STRING as for the %string
;	 R4024	!           lexical function. Move the string formed by the characters
;	 R4025	!           represented by the string-params to the position pointed
;	 R4026	!           to by the pointer contained at ADDRESS. Update the pointer to
;	 R4027	!           point to the next available byte in the character position
;	 R4028	!           sequence.
;	 R4029	
;	 R4030	
;	 R4031	macro
;	MR4032	     CH$MOVSTRING (ADDRESS) [ ] =
;	MR4033	         ADDRESS = ch$move (%charcount (%ascii %string (%remaining)),
;	MR4034	                            CH$ASCII (%ascii %string (%remaining)),
;	 R4035	                            .ADDRESS) %;
;	 R4036	
;	 R4037	
;	 R4038	!	CH$MOVASCIZ (DPTR, SPTR)
;	 R4039	!
;	 R4040	!           Interpret DPTR as the address of the destination pointer
;	 R4041	!           to a character position sequence. Interpret SPTR as the
;	 R4042	!           source pointer to a character position sequence containing
;	 R4043	!           an ASCIZ character sequence. Move the ASCIZ string pointed
;	 R4044	!           to by SPTR (the source string) to the position pointed to
;	 R4045	!           by DPTR (the destination string). Update DPTR to point to
;	 R4046	!           the next available byte in the destination character position
;	 R4047	!           sequence.
;	 R4048	
;	 R4049	
;	 R4050	macro
;	MR4051	     CH$MOVASCIZ (DPTR, SPTR) =
;	 R4052		 DPTR = ch$move (CH$LEN (SPTR), SPTR, .DPTR) %;
;	 R4053	
		STRLIB -- String Processing Macro Library	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  20
								 3-Jan-1983 17:30:36	DNET61:<MCB.NML>STRLIB.REQ.1 (6)

;	 R4054	
;	 R4055	%title ''
;	 R4056	%sbttl ''
;	 R4057	
;	 R4058	!
;	 R4059	! [End of STRLIB.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  21
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  4060	
;	  4061	require 'NETLIB';                       ! Protocol message processing library
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  22
								 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (1)

;	 R4062	! NET:<VOBA.NML.DEVELOPMENT>NETLIB.REQ.5 18-Feb-82 14:46:45, Edit by VOBA
;	 R4063	!
;	 R4064	! Clean up code and update copyright date.
;	 R4065	!
;	 R4066	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NETLIB.REQ.20 25-Nov-81 11:10:08, Edit by WEBBER
;	 R4067	!
;	 R4068	! Fix dot bug in %ASLI32.
;	 R4069	!
;	 R4070	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.13 19-Oct-81 11:04:48, Edit by PECKHAM
;	 R4071	!
;	 R4072	! Add %ADD32 routine.
;	 R4073	! Alter %CMP routines again to furthur optimize.
;	 R4074	!
;	 R4075	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.4 13-Oct-81 21:12:50, Edit by PECKHAM
;	 R4076	!
;	 R4077	! Add %ASLI32 routine to aid NMLDTL in shifting a 32 bit number.
;	 R4078	! Optimize other 32 bit macros.
;	 R4079	!
;	 R4080	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.2  9-Oct-81 14:54:17, Edit by GUNN
;	 R4081	!
;	 R4082	! Change second equal sign in assignment statement in %SUB32 macro
;	 R4083	! to a minus sign.
;	 R4084	!
;	 R4085	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NETLIB.REQ.13  8-Oct-81 07:05:38, Edit by PECKHAM
;	 R4086	!
;	 R4087	! Correct data gathering bug in macro GETN.
;	 R4088	!
;	 R4089	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.7 18-Aug-81 18:45:37, Edit by GUNN
;	 R4090	!
;	 R4091	! Fix all macros which declare local names to use convention of 
;	 R4092	! $$MACRO-NAME_local-name to avoid name duplication and collision
;	 R4093	! with names of caller.
;	 R4094	! Make all 32 bit macros consistent among themselves and with CH$ functions
;	 R4095	! with regard to direction of data movement.  $MACRO ( source , destination ).
;	 R4096	!
;	 R4097	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.2 31-Jul-81 16:39:00, Edit by GUNN
;	 R4098	!
;	 R4099	! Fix %MOV32 macro. Bind under $MCB conditional not terminated by 
;	 R4100	! semicolon.
;	 R4101	!
;	 R4102	! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.3 14-Jul-81 20:02:19, Edit by GUNN
;	 R4103	!
;	 R4104	! Fix bug in 32 bit definitions made in last edit.
;	 R4105	!
;	 R4106	! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.2  6-Jul-81 09:56:28, Edit by JENNESS
;	 R4107	!
;	 R4108	! Fix 32 bit macros to work on 16 bit machines.
;	 R4109	!
;	 R4110	! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.14 12-Jun-81 11:58:08, Edit by JENNESS
;	 R4111	!
;	 R4112	! Comment macros and general readability cleanup.
;	 R4113	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  23
								 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (1)

;	 R4114	! <DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.4 11-Jun-81 15:51:13, Edit by SROBINSON
;	 R4115	!
;	 R4116	! Change various macros to make $MCB environments more efficient
;	 R4117	!
;	 R4118	! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.2 28-May-81 12:56:58, Edit by JENNESS
;	 R4119	!
;	 R4120	! Add 32 bit fetch/store macros.  Also a set of macros that facilitates
;	 R4121	! 32 bit manipulations has been added.
;	 R4122	!
;	 R4123	! NET:<DECNET20-V3P1.NML>NETLIB.REQ.2 20-Feb-81 10:16:42, Edit by GUNN
;	 R4124	!
;	 R4125	! Add definition of GETW_NA.
;	 R4126	!
;	 R4127	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NETLIB.REQ.5 11-Feb-81 15:41:47, Edit by GUNN
;	 R4128	!
;	 R4129	! Add field definition and macro, $SIGNED_BYTE_VALUE, for a signed 8 bit value.
;	 R4130	!
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  24
								 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (2)

;	 R4131	%title 'NETLIB -- Procotol Message Processing Macro Library'
;	 R4132	
;	 R4133	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R4134	!                    DIGITAL EQUIPMENT CORPORATION
;	 R4135	!                        Maynard, Massachusetts
;	 R4136	!
;	 R4137	!     This software is furnished under a license and may  be  used
;	 R4138	!     and copied only in accordance with the terms of such license
;	 R4139	!     and with the inclusion of the above copyright notice.   This
;	 R4140	!     software  or any other copies thereof may not be provided or
;	 R4141	!     otherwise made available to any other person.  No  title  to
;	 R4142	!     and ownership of the software is hereby transferred.
;	 R4143	!
;	 R4144	!     The information  in  this  software  is  subject  to  change
;	 R4145	!     without  notice  and should not be construed as a commitment
;	 R4146	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R4147	!
;	 R4148	!     DIGITAL assumes no responsibility for the use or reliability
;	 R4149	!     of  its  software  on  equipment  which  is  not supplied by
;	 R4150	!     DIGITAL.
;	 R4151	!
;	 R4152	
;	 R4153	!++
;	 R4154	! Facility: LSG DECnet Network Management
;	 R4155	!
;	 R4156	! Abstract:
;	 R4157	!
;	 R4158	!	This file contains macros that facilitate handling
;	 R4159	!	of 8 bit bytes protocol messages.
;	 R4160	!
;	 R4161	! Environment:	BLISS-36, BLISS-32, and BLISS-16.
;	 R4162	!
;	 R4163	! Author(s): Steven M. Jenness, Dale C. Gunn
;	 R4164	!
;	 R4165	! Creation date: 23-Oct-80
;	 R4166	!
;	 R4167	!--
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  25
								 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (3)

;	 R4168	! DECnet message processing macros
;	 R4169	!
;	 R4170	!	N.B - These macros are here for convenience at this time only
;	 R4171	!             and are specific to BLISS-36. 
;	 R4172	!
;	 R4173	!             THEY ARE NOT TRANSPORTABLE! In time they will have to 
;	 R4174	!             be moved to a machine specific library.
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  26
		Write Macros					 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (4)

;	 R4175	%sbttl 'Write Macros'
;	 R4176	
;	 R4177	! Macro - PUTB
;	 R4178	!
;	 R4179	! Function - To write a 8 bit value to the next position in
;	 R4180	!            a DECnet byte string.  The pointer to the byte
;	 R4181	!            string is updated to point to the next free position.
;	 R4182	!
;	 R4183	! Parameters -
;	 R4184	!
;	 R4185	!    VALUE      8 Bit value to write
;	 R4186	!    POINTER    Address of byte string pointer
;	 R4187	
;	 R4188	
;	 R4189	macro
;	MR4190	     PUTB (VALUE, POINTER) =
;	 R4191	         ch$wchar_a (VALUE, POINTER) %;
;	 R4192	
;	 R4193	
;	 R4194	! Macro - PUTW
;	 R4195	!
;	 R4196	! Function - To write a 16 bit value as the next two bytes in
;	 R4197	!            a DECnet byte string.  The pointer to the byte
;	 R4198	!            string is updated to point to the next free position.
;	 R4199	!
;	 R4200	! Parameters -
;	 R4201	!
;	 R4202	!    VALUE      Address of 16 bit value to write
;	 R4203	!    POINTER    Address of byte string pointer
;	 R4204	
;	 R4205	
;	 R4206	macro
;	MR4207	     PUTW (VALUE, POINTER) = 
;	MR4208	         begin
;	MR4209	         ch$wchar_a (.VALUE<0,8,0>, POINTER);
;	MR4210	         ch$wchar_a (.VALUE<8,8,0>, POINTER);
;	 R4211	         end %;
;	 R4212	
;	 R4213	
;	 R4214	! Macro - EX_PUTW
;	 R4215	!
;	 R4216	! Function - To write the given value to a byte string.  The
;	 R4217	!            value is written as the smallest number of bytes
;	 R4218	!            possible (1 byte for 8 bits, 2 bytes for 16 bits).
;	 R4219	!
;	 R4220	! Parameters -
;	 R4221	!
;	 R4222	!    VALUE       Value to write (8 or 16 bits)
;	 R4223	!    POINTER     Address of byte string pointer
;	 R4224	
;	 R4225	
;	 R4226	macro
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  27
		Write Macros					 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (4)

;	MR4227	     EX_PUTW (VALUE, POINTER) =
;	MR4228	         if VALUE gtr 128
;	MR4229	         then begin
;	MR4230	              local $$EX_PUTW_X;
;	MR4231	
;	MR4232	              $$EX_PUTW_X = VALUE;
;	MR4233	              ch$wchar_a (.$$EX_PUTW_X<0,7>+128, POINTER);
;	MR4234	              ch$wchar_a (.$$EX_PUTW_X<7,7>, POINTER);
;	MR4235	              end
;	 R4236	         else ch$wchar_a (VALUE, POINTER); %;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  28
		Read Macros					 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (5)

;	 R4237	%sbttl 'Read Macros'
;	 R4238	
;	 R4239	! Macro - GETB
;	 R4240	!
;	 R4241	! Function - To get the next 8 bit value from a byte string.
;	 R4242	!            The byte pointer is updated to point to the next
;	 R4243	!	     byte to read.
;	 R4244	!
;	 R4245	! Parameters -
;	 R4246	!
;	 R4247	!    POINTER	Address of byte string pointer
;	 R4248	!
;	 R4249	! Value returned -
;	 R4250	!
;	 R4251	!    The next byte in the string.
;	 R4252	
;	 R4253	
;	 R4254	macro
;	MR4255	     GETB (POINTER) =
;	MR4256	         begin
;	MR4257	         ch$rchar_a (POINTER)
;	 R4258	         end %;
;	 R4259	
;	 R4260	
;	 R4261	! Macro - GETW
;	 R4262	!
;	 R4263	! Function - To get the next two bytes in a byte string and make
;	 R4264	!	     a 16 bit value from them.   The byte pointer is updated
;	 R4265	!	     to point to the next byte in the string.
;	 R4266	!
;	 R4267	! Parameters -
;	 R4268	!
;	 R4269	!    POINTER    Address of byte string pointer
;	 R4270	!
;	 R4271	! Value returned -
;	 R4272	!
;	 R4273	!    The value constructed from the next two bytes in the string.
;	 R4274	!    The first byte is the lower order 8 bits and the second byte
;	 R4275	!    is the high order 8 bits.
;	 R4276	
;	 R4277	
;	 R4278	macro
;	MR4279	     GETW (POINTER) =
;	MR4280	         begin
;	MR4281	         %if $MCB
;	MR4282	         %then stacklocal
;	MR4283	         %else local %fi $$GETB_X;
;	MR4284	
;	MR4285	         $$GETB_X<0,8,0> = ch$rchar_a (POINTER);
;	MR4286	         $$GETB_X<8,8,0> = ch$rchar_a (POINTER);
;	MR4287	         .$$GETB_X<0,16,0>
;	 R4288	         end %;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  29
		Read Macros					 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (5)

;	 R4289	
;	 R4290	
;	 R4291	! Macro - GETW_NA
;	 R4292	!
;	 R4293	! Function - To get the next two bytes in a byte string and make
;	 R4294	!	     a 16 bit value from them.   The byte pointer is not
;	 R4295	!            updated.
;	 R4296	!
;	 R4297	! Parameters -
;	 R4298	!
;	 R4299	!    POINTER	Byte string pointer
;	 R4300	!
;	 R4301	! Value returned -
;	 R4302	!
;	 R4303	!    The value constructed from the next two bytes in the string.
;	 R4304	!    The first byte is the lower order 8 bits and the second byte
;	 R4305	!    is the high order 8 bits.
;	 R4306	
;	 R4307	macro
;	MR4308	     GETW_NA (POINTER) =
;	MR4309	         begin
;	MR4310	         %if $MCB
;	MR4311	         %then stacklocal
;	MR4312	         %else local %fi $$GETW_NA_X;
;	MR4313	
;	MR4314	         $$GETW_NA_X<0,8,0> = ch$rchar (POINTER);
;	MR4315	         $$GETW_NA_X<8,8,0> = ch$rchar (ch$plus (POINTER,1));
;	MR4316	         .$$GETW_NA_X<0,16,0> 
;	 R4317	         end %;
;	 R4318	
;	 R4319	
;	 R4320	! Macro - GETN
;	 R4321	!
;	 R4322	! Function - To get then next "N" bytes and construct a value
;	 R4323	!	     from them.   The bytes read are in ascending
;	 R4324	!	     significance (i.e. lowest order byte is the first
;	 R4325	!	     byte read).
;	 R4326	!
;	 R4327	! Parameters -
;	 R4328	!
;	 R4329	!    POINTER	Address of byte string pointer
;	 R4330	!    COUNT	Number of bytes to read
;	 R4331	!
;	 R4332	! Value returned -
;	 R4333	!
;	 R4334	!    The value constructed from the sequence of bytes read.
;	 R4335	!
;	 R4336	
;	 R4337	macro
;	MR4338	     GETN (POINTER, COUNT) =
;	MR4339	         begin
;	MR4340	         local $$GETN_X;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  30
		Read Macros					 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (5)

;	MR4341	
;	MR4342	         $$GETN_X = ch$rchar_a (POINTER);
;	MR4343	         incr $$GETN_P from 8 to ((COUNT-1)*8) by 8
;	MR4344	         do $$GETN_X = .$$GETN_X + ch$rchar_a (POINTER)^.$$GETN_P;
;	MR4345	         .$$GETN_X
;	 R4346	         end %;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  31
		String Length Checking Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (6)

;	 R4347	%sbttl 'String Length Checking Macros'
;	 R4348	
;	 R4349	! Macro - NEXTB
;	 R4350	!
;	 R4351	! Function - This macro checks a string length to see if it
;	 R4352	!            is long enough to contain a byte field.  If it does
;	 R4353	!            it increments the string count past the next byte.
;	 R4354	!
;	 R4355	! Parameters -
;	 R4356	!
;	 R4357	!    MAXIMUM    Maximum number of bytes in the string
;	 R4358	!    COUNT      Number of bytes already used in the string
;	 R4359	!
;	 R4360	! Returns -
;	 R4361	!
;	 R4362	!    $true   String contains one more byte
;	 R4363	!    $false  End of string reached
;	 R4364	!
;	 R4365	! Side effects -
;	 R4366	!
;	 R4367	!    The value in COUNT is updated to point beyond the next byte.
;	 R4368	
;	 R4369	
;	 R4370	macro
;	MR4371	     NEXTB (MAXIMUM, COUNT) =
;	MR4372	         begin
;	MR4373	         local $$NEXTB_TEMP;
;	MR4374	
;	MR4375	         if MAXIMUM geq ($$NEXTB_TEMP = .COUNT + 1)
;	MR4376	         then begin
;	MR4377	              COUNT = .$$NEXTB_TEMP;
;	MR4378	              (1 eql 1)
;	MR4379	              end
;	MR4380	         else (1 eql 0)
;	 R4381	         end %;
;	 R4382	
;	 R4383	
;	 R4384	! Macro - NEXTW
;	 R4385	!
;	 R4386	! Function - This macro checks a string length to see if it
;	 R4387	!            is long enough to contain a word (2 byte) field.
;	 R4388	!            If it does it increments the string count past
;	 R4389	!            the next word.
;	 R4390	!
;	 R4391	! Parameters -
;	 R4392	!
;	 R4393	!    MAXIMUM    Maximum number of bytes in the string
;	 R4394	!    COUNT      Number of bytes already used in the string
;	 R4395	!
;	 R4396	! Returns -
;	 R4397	!
;	 R4398	!    $true   String contains one more word
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  32
		String Length Checking Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (6)

;	 R4399	!    $false  End of string reached
;	 R4400	!
;	 R4401	! Side effects -
;	 R4402	!
;	 R4403	!    The value in COUNT is updated to point beyond the next word.
;	 R4404	
;	 R4405	
;	 R4406	macro
;	MR4407	     NEXTW (MAXIMUM, COUNT) =
;	MR4408	         begin
;	MR4409	         local $$NEXTW_TEMP;
;	MR4410	
;	MR4411	         if MAXIMUM geq ($$NEXTW_TEMP = .COUNT + 2)
;	MR4412	         then begin
;	MR4413	              COUNT = .$$NEXTW_TEMP;
;	MR4414	              (1 eql 1)
;	MR4415	              end
;	MR4416	         else (1 eql 0)
;	 R4417	         end %;
;	 R4418	
;	 R4419	
;	 R4420	! Macro - NEXTN
;	 R4421	!
;	 R4422	! Function - This macro checks a string length to see if it
;	 R4423	!            is long enough to contain a field of COUNT bytes.
;	 R4424	!            If it does it increments the string count past
;	 R4425	!            COUNT bytes.
;	 R4426	!
;	 R4427	! Parameters -
;	 R4428	!
;	 R4429	!    MAXIMUM    Maximum number of bytes in the string
;	 R4430	!    USED       Number of bytes already used in the string
;	 R4431	!    COUNT      Number of bytes in field
;	 R4432	!
;	 R4433	! Returns -
;	 R4434	!
;	 R4435	!    $true   String contains COUNT bytes
;	 R4436	!    $false  End of string reached
;	 R4437	!
;	 R4438	! Side effects -
;	 R4439	!
;	 R4440	!    The value in USED is updated to point beyond COUNT bytes.
;	 R4441	
;	 R4442	
;	 R4443	macro
;	MR4444	     NEXTN (MAXIMUM, USED, COUNT) =
;	MR4445	         begin
;	MR4446	         local $$NEXTN_TEMP;
;	MR4447	
;	MR4448	         if MAXIMUM geq ($$NEXTN_TEMP = .USED + COUNT)
;	MR4449	         then begin
;	MR4450	              USED = .$$NEXTN_TEMP;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  33
		String Length Checking Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (6)

;	MR4451	              (1 eql 1)
;	MR4452	              end
;	MR4453	         else (1 eql 0)
;	 R4454	         end %;
;	 R4455	
;	 R4456	
;	 R4457	! Macro - NEXTF
;	 R4458	!
;	 R4459	! Function - This macro checks a string length to see if it
;	 R4460	!            is long enough to contain a counted field.
;	 R4461	!            If it does it sets the count past the end of
;	 R4462	!            of the field.
;	 R4463	!
;	 R4464	! Parameters -
;	 R4465	!
;	 R4466	!    MAXIMUM    Maximum number of bytes in the string
;	 R4467	!    COUNT      Number of bytes already used in the string
;	 R4468	!    POINTER    Pointer into string being checked
;	 R4469	!
;	 R4470	! Returns -
;	 R4471	!
;	 R4472	!    $true   String contains a counted field
;	 R4473	!    $false  End of string reached
;	 R4474	!
;	 R4475	! Side effects -
;	 R4476	!
;	 R4477	!    The value in COUNT is updated to point beyond the
;	 R4478	!    counted field.
;	 R4479	!
;	 R4480	
;	 R4481	macro
;	MR4482	     NEXTF (MAXIMUM, COUNT, POINTER) =
;	MR4483	         begin
;	MR4484	         local $$NEXTF_TEMP;
;	MR4485	
;	MR4486	         if MAXIMUM geq ($$NEXTF_TEMP = .COUNT + 1)
;	MR4487	         then begin
;	MR4488	              COUNT = .$$NEXTF_TEMP + ch$rchar (POINTER);
;	MR4489	              (1 eql 1)
;	MR4490	              end
;	MR4491	         else (1 eql 0)
;	 R4492	         end %;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  34
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4493	%sbttl '32 Bit Data Manipulation Macros'
;	 R4494	
;	 R4495	! Macro - PUT32
;	 R4496	!
;	 R4497	! Function - This macro writes a 32 bit value as four bytes
;	 R4498	!            (LSB first) to a output string.
;	 R4499	!
;	 R4500	! Parameters -
;	 R4501	!
;	 R4502	!    VALUE      Address of 32 bit value
;	 R4503	!    POINTER    Address of output byte pointer
;	 R4504	
;	 R4505	
;	 R4506	macro
;	MR4507	     PUT32 (VALUE, POINTER) =
;	MR4508	         begin
;	MR4509	         bind $$PUT32_VALUE = VALUE : THIRTY_TWO_BIT;
;	MR4510	
;	MR4511	         PUTB (.$$PUT32_VALUE[$32BYTE1], POINTER);
;	MR4512	         PUTB (.$$PUT32_VALUE[$32BYTE2], POINTER);
;	MR4513	         PUTB (.$$PUT32_VALUE[$32BYTE3], POINTER);
;	MR4514	         PUTB (.$$PUT32_VALUE[$32BYTE4], POINTER);
;	 R4515	         end %;
;	 R4516	
;	 R4517	
;	 R4518	! Macro - GET32
;	 R4519	!
;	 R4520	! Function - This macro reads a 32 bit value as four bytes
;	 R4521	!            (LSB first) from a input string.
;	 R4522	!
;	 R4523	! Parameters -
;	 R4524	!
;	 R4525	!    POINTER    Address of input byte pointer
;	 R4526	!    VALUE      Address of 32 bit value
;	 R4527	
;	 R4528	
;	 R4529	macro
;	MR4530	     GET32 (POINTER, VALUE) =
;	MR4531	         begin
;	MR4532	         bind $$GET32_VALUE = VALUE : THIRTY_TWO_BIT;
;	MR4533	
;	MR4534	         %if $TOPS10 or $TOPS20
;	MR4535	         %then $$GET32_VALUE = 0;
;	MR4536	         %fi
;	MR4537	
;	MR4538	         $$GET32_VALUE[$32BYTE1] = GETB (POINTER);
;	MR4539	         $$GET32_VALUE[$32BYTE2] = GETB (POINTER);
;	MR4540	         $$GET32_VALUE[$32BYTE3] = GETB (POINTER);
;	MR4541	         $$GET32_VALUE[$32BYTE4] = GETB (POINTER);
;	 R4542	         end %;
;	 R4543	
;	 R4544	
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  35
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4545	! Macro - %MOV32
;	 R4546	!
;	 R4547	! Function - This macro moves a 32 bit value from one 32 bit
;	 R4548	!            storage area to another.
;	 R4549	!
;	 R4550	! Parameters -
;	 R4551	!
;	 R4552	!    SOURCE     Address of 32 bit value to move FROM
;	 R4553	!    TARGET     Address of 32 bit value to move TO
;	 R4554	
;	 R4555	
;	 R4556	macro
;	MR4557	     %MOV32 (SOURCE, TARGET) =
;	MR4558	         begin
;	MR4559	         %if not $MCB
;	MR4560	         %then TARGET = (.SOURCE)<0,32,1>;
;	MR4561	         %else bind $$MOV32_TARGET = TARGET : THIRTY_TWO_BIT,
;	MR4562	                    $$MOV32_SOURCE = SOURCE : THIRTY_TWO_BIT;
;	MR4563	
;	MR4564	               $$MOV32_TARGET[$32WORD1] = .$$MOV32_SOURCE[$32WORD1];
;	MR4565	               $$MOV32_TARGET[$32WORD2] = .$$MOV32_SOURCE[$32WORD2];
;	MR4566	         %fi
;	 R4567	         end %;
;	 R4568	
;	 R4569	
;	 R4570	! Macro - %MOVT32
;	 R4571	!
;	 R4572	! Function - This macro moves a fullword value in a BLISS variable
;	 R4573	!            to a 32 bit value storage area.
;	 R4574	!            The source value is restricted to the machine word
;	 R4575	!            size.
;	 R4576	!
;	 R4577	! Parameters -
;	 R4578	!
;	 R4579	!    SOURCE     Address of fullword value to move FROM
;	 R4580	!    TARGET     Address of 32 bit value to move TO
;	 R4581	
;	 R4582	
;	 R4583	macro
;	MR4584	     %MOVT32 (SOURCE, TARGET) =
;	MR4585	         begin
;	MR4586	         %if not $MCB
;	MR4587	         %then TARGET = .SOURCE;
;	MR4588	         %else bind $$MOVT32_TARGET = TARGET : THIRTY_TWO_BIT;
;	MR4589	
;	MR4590	               $$MOVT32_TARGET[$32WORD1] = .SOURCE;
;	MR4591	               $$MOVT32_TARGET[$32WORD2] = 0;
;	MR4592	         %fi
;	 R4593	         end %;
;	 R4594	
;	 R4595	
;	 R4596	! Macro - %MOVF32
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  36
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4597	!
;	 R4598	! Function - This macro moves a 32 bit value from a 32 bit storage
;	 R4599	!            area to a BLISS variable as a fullword value.
;	 R4600	!            The destination value is truncated to the machine word
;	 R4601	!            size.
;	 R4602	!
;	 R4603	! Parameters -
;	 R4604	!
;	 R4605	!    SOURCE     Address of 32 bit value to move FROM
;	 R4606	!    TARGET     Address of fullword value to move TO
;	 R4607	
;	 R4608	
;	 R4609	macro
;	MR4610	     %MOVF32 (SOURCE, TARGET) =
;	MR4611	         begin
;	MR4612	         %if not $MCB
;	MR4613	         %then TARGET = (.SOURCE)<0,32>;
;	MR4614	         %else bind $$MOVF32_SOURCE = SOURCE : THIRTY_TWO_BIT;
;	MR4615	
;	MR4616	               TARGET = .$$MOVF32_SOURCE[$32WORD1];
;	MR4617	         %fi
;	 R4618	         end %;
;	 R4619	
;	 R4620	
;	 R4621	! Macro - %MOVI32
;	 R4622	!
;	 R4623	! Function - This macro moves an immediate BLISS fullword value
;	 R4624	!            to a 32 bit value storage area.
;	 R4625	!
;	 R4626	! Parameters -
;	 R4627	!
;	 R4628	!    VALUE      Fullword value to move FROM
;	 R4629	!    TARGET     Address of 32 bit value to move TO
;	 R4630	
;	 R4631	
;	 R4632	macro
;	MR4633	     %MOVI32 (VALUE, TARGET) =
;	MR4634	         begin
;	MR4635	         %if not $MCB
;	MR4636	         %then TARGET = VALUE;
;	MR4637	         %else bind $$MOVI32_TARGET = TARGET : THIRTY_TWO_BIT;
;	MR4638	
;	MR4639	               $$MOVI32_TARGET[$32WORD1] = VALUE;
;	MR4640	               $$MOVI32_TARGET[$32WORD2] = 0;
;	MR4641	         %fi
;	 R4642	         end %;
;	 R4643	
;	 R4644	
;	 R4645	! Macro - %ADD32
;	 R4646	!
;	 R4647	! Function - This macro adds one 32 bit value to another
;	 R4648	!            (VALUE1 + VALUE2) and stores the result in the
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  37
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4649	!            second value.
;	 R4650	!
;	 R4651	! Parameters -
;	 R4652	!
;	 R4653	!    VALUE1     Address of first 32 bit value
;	 R4654	!    VALUE2     Address of second 32 bit value
;	 R4655	
;	 R4656	
;	 R4657	macro
;	MR4658	     %ADD32 (VALUE1, VALUE2) =
;	MR4659	         begin
;	MR4660	         %if not $MCB
;	MR4661	         %then VALUE2 = (.VALUE2)<0,32> + (.VALUE1)<0,32>;
;	MR4662	         %else linkage $$ADD32 = jsr (register = 0, register = 1);
;	MR4663	               external routine $ADD32 : $$ADD32 novalue;
;	MR4664	
;	MR4665	               $ADD32 (VALUE1, VALUE2);
;	MR4666	         %fi
;	 R4667	         end %;
;	 R4668	
;	 R4669	
;	 R4670	! Macro - %CMP32
;	 R4671	!
;	 R4672	! Function - This macro compares two 32 bit values using
;	 R4673	!            the specified boolean operation.
;	 R4674	!
;	 R4675	! Parameters -
;	 R4676	!
;	 R4677	!    VALUE1     Address of first 32 bit value
;	 R4678	!    BOOLEAN    Bliss boolean mnemonic
;	 R4679	!    VALUE2     Address of second 32 bit value
;	 R4680	
;	 R4681	
;	 R4682	macro
;	MR4683	     %CMP32 (VALUE1, BOOLEAN, VALUE2) =
;	MR4684	         begin
;	MR4685	         %if not $MCB
;	MR4686	         %then (.VALUE1)<0,32> BOOLEAN (.VALUE2)<0,32>
;	MR4687	         %else stacklocal $$CMP32_CV : THIRTY_TWO_BIT;
;	MR4688	               bind $$CMP32_C = $$CMP32_CV;
;	MR4689	
;	MR4690	               %MOV32 (VALUE1, $$CMP32_C);
;	MR4691	               %SUB32 (VALUE2, $$CMP32_C);
;	MR4692	               %SGN32 ($$CMP32_C) BOOLEAN 0
;	MR4693	         %fi
;	 R4694	         end %;
;	 R4695	
;	 R4696	
;	 R4697	! Macro - %SUB32
;	 R4698	!
;	 R4699	! Function - This macro subtracts one 32 bit value from another
;	 R4700	!            (VALUE2 - VALUE1) and stores the result in the
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  38
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4701	!            second value.
;	 R4702	!
;	 R4703	! Parameters -
;	 R4704	!
;	 R4705	!    VALUE1   Address of first 32 bit value
;	 R4706	!    VALUE2   Address of second 32 bit value
;	 R4707	
;	 R4708	
;	 R4709	macro
;	MR4710	     %SUB32 (VALUE1, VALUE2) =
;	MR4711	         begin
;	MR4712	         %if not $MCB
;	MR4713	         %then VALUE2 = (.VALUE2)<0,32> - (.VALUE1)<0,32>;
;	MR4714	         %else linkage $$SUB32 = jsr (register = 0, register = 1);
;	MR4715	               external routine $SUB32 : $$SUB32 novalue;
;	MR4716	
;	MR4717	               $SUB32 (VALUE1, VALUE2);
;	MR4718	         %fi
;	 R4719	         end %;
;	 R4720	
;	 R4721	
;	 R4722	! Macro - %CMPI32
;	 R4723	!
;	 R4724	! Function - This macro compares a 32 bit value against a
;	 R4725	!            fullword value using the specified boolean operation.
;	 R4726	!
;	 R4727	! Parameters -
;	 R4728	!
;	 R4729	!    VALUE      Address of 32 bit value
;	 R4730	!    BOOLEAN    Bliss boolean mnemonic
;	 R4731	!    FULLWORD   Fullword value
;	 R4732	
;	 R4733	
;	 R4734	macro
;	MR4735	     %CMPI32 (VALUE, BOOLEAN, FULLWORD) =
;	MR4736	         begin
;	MR4737	         %if not $MCB
;	MR4738	         %then (.VALUE)<0,32> BOOLEAN FULLWORD
;	MR4739	         %else stacklocal $$CMPI32_CV : THIRTY_TWO_BIT;
;	MR4740	               bind $$CMPI32_C = $$CMPI32_CV;
;	MR4741	
;	MR4742	               %MOVI32 (FULLWORD, $$CMPI32_C);
;	MR4743	               %SUB32 (VALUE, $$CMPI32_C);
;	MR4744	               0 BOOLEAN %SGN32 ($$CMPI32_C)
;	MR4745	         %fi
;	 R4746	         end %;
;	 R4747	
;	 R4748	
;	 R4749	! Macro - %SUBI32
;	 R4750	!
;	 R4751	! Function - This macro subtracts a fullword value from a
;	 R4752	!            32 bit value (32bit - fullword) and stores the
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  39
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4753	!            result in the 32 bit location.
;	 R4754	!
;	 R4755	! Parameters -
;	 R4756	!
;	 R4757	!    FULLWORD   Fullword value
;	 R4758	!    VALUE      Address of 32 bit value
;	 R4759	
;	 R4760	
;	 R4761	macro
;	MR4762	     %SUBI32 (FULLWORD, VALUE) =
;	MR4763	         begin
;	MR4764	         %if not $MCB
;	MR4765	         %then VALUE = (.VALUE)<0,32> - FULLWORD;
;	MR4766	         %else local $$SUBI32_C : THIRTY_TWO_BIT;
;	MR4767	
;	MR4768	               %MOVI32 (FULLWORD, $$SUBI32_C);
;	MR4769	               %SUB32 ($$SUBI32_C, VALUE);
;	MR4770	         %fi
;	 R4771	         end %;
;	 R4772	
;	 R4773	
;	 R4774	! Macro - %ADDI32
;	 R4775	!
;	 R4776	! Function - This macro adds a fullword value to a
;	 R4777	!            32 bit value (32bit + fullword) and stores the
;	 R4778	!            result in the 32 bit location.
;	 R4779	!
;	 R4780	! Parameters -
;	 R4781	!
;	 R4782	!    FULLWORD   Fullword value
;	 R4783	!    VALUE      Address of 32 bit value
;	 R4784	
;	 R4785	
;	 R4786	macro
;	MR4787	     %ADDI32 (FULLWORD, VALUE) =
;	MR4788	         begin
;	MR4789	         %if not $MCB
;	MR4790	         %then VALUE = (.VALUE)<0,32> + FULLWORD;
;	MR4791	         %else local $$ADDI32_C : THIRTY_TWO_BIT;
;	MR4792	
;	MR4793	               %MOVI32 (FULLWORD, $$ADDI32_C);
;	MR4794	               %ADD32 ($$ADDI32_C, VALUE);
;	MR4795	         %fi
;	 R4796	         end %;
;	 R4797	
;	 R4798	
;	 R4799	! Macro - %SGN32
;	 R4800	!
;	 R4801	! Function - This macro returns the sign of the given 32 bit value
;	 R4802	!
;	 R4803	! Parameters -
;	 R4804	!
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  40
		32 Bit Data Manipulation Macros			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (7)

;	 R4805	!    VALUE      Address of 32 bit value
;	 R4806	
;	 R4807	
;	 R4808	macro
;	MR4809	     %SGN32 (VALUE) =
;	MR4810	         begin
;	MR4811	         %if not $MCB
;	MR4812	         %then SIGN (.VALUE<0,32,1>)
;	MR4813	         %else linkage $$SGN32 = jsr (register = 1);
;	MR4814	               external routine $SGN32 : $$SGN32;
;	MR4815	
;	MR4816	               $SGN32 (VALUE)
;	MR4817	         %fi
;	 R4818	         end %;
;	 R4819	
;	 R4820	
;	 R4821	! Macro - %ASLI32
;	 R4822	!
;	 R4823	! Function - This macro shifts a 32 bit value (32bit + fullword) left by
;	 R4824	!            number of bits specified by the immediate value.
;	 R4825	!
;	 R4826	! Parameters -
;	 R4827	!
;	 R4828	!    POSITION  Positive value to shift
;	 R4829	!    VALUE     Address of 32 bit value
;	 R4830	
;	 R4831	
;	 R4832	macro
;	MR4833	     %ASLI32 (POSITION, VALUE) =
;	MR4834	         begin
;	MR4835	         %if not $MCB
;	MR4836	         %then VALUE = .VALUE ^ POSITION;
;	MR4837	         %else bind $$ASLI32_VALUE = VALUE : THIRTY_TWO_BIT;
;	MR4838	
;	MR4839	               decru $$ASL_INDEX from POSITION to 1
;	MR4840	               do begin
;	MR4841	                  builtin ROT;
;	MR4842	
;	MR4843	                  $$ASLI32_VALUE[$32WORD1] = ROT (.$$ASLI32_VALUE[$32WORD1], 1);
;	MR4844	                  $$ASLI32_VALUE[$32WORD2] = ROT (.$$ASLI32_VALUE[$32WORD2], 1);
;	MR4845	                  end;
;	MR4846	         %fi
;	 R4847	         end %;
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  41
		32 Bit Structure Definition			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (8)

;	 R4848	%sbttl '32 Bit Structure Definition'
;	 R4849	
;	 R4850	! Structure - THIRTY_TWO_BIT
;	 R4851	!
;	 R4852	! Function  - Define the storage and access to a 32 bit value.
;	 R4853	
;	 R4854	
;	LR4855	%if not $MCB
;	UR4856	%then field THIRTY_TWO_BIT_FIELDS =
;	UR4857	          set
;	UR4858	          $32BYTE1 = [0,  0, 8, 0],
;	UR4859	          $32BYTE2 = [0,  8, 8, 0],
;	UR4860	          $32BYTE3 = [0, 16, 8, 0],
;	UR4861	          $32BYTE4 = [0, 24, 8, 0]
;	UR4862	          tes;
;	UR4863	
;	UR4864	       macro
;	UR4865	            THIRTY_TWO_BIT = block [1] field (THIRTY_TWO_BIT_FIELDS) %;
;	UR4866	
;	 R4867	%else field THIRTY_TWO_BIT_FIELDS =
;	 R4868	          set
;	 R4869	          $32BYTE1 = [0,  0,  8, 0],
;	 R4870	          $32BYTE2 = [0,  8,  8, 0],
;	 R4871	          $32BYTE3 = [1,  0,  8, 0],
;	 R4872	          $32BYTE4 = [1,  8,  8, 0],
;	 R4873	          $32WORD1 = [0,  0, 16, 0],
;	 R4874	          $32WORD2 = [1,  0, 16, 0]
;	 R4875	          tes;
;	 R4876	
;	 R4877	      macro
;	 R4878	           THIRTY_TWO_BIT = block [2] field (THIRTY_TWO_BIT_FIELDS) %;
;	 R4879	%fi
;	 R4880		
;	 R4881	
;	 R4882	! Structure - SIGNED_BYTE
;	 R4883	!
;	 R4884	! Function  - Define a signed 8 bit byte value.
;	 R4885	
;	 R4886	
;	 R4887	$field SIGNED_BYTE =
;	 R4888	    set
;	 R4889	    VALUE = [0, 0, 8, 1]                ! Signed eight bit byte
;	 R4890	    tes;
;	 R4891	
;	 R4892	macro
;	MR4893	     $SIGNED_BYTE_VALUE =
;	 R4894	         block [1] field (SIGNED_BYTE) %;
;	 R4895	
		NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  42
		32 Bit Structure Definition			 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (9)

;	 R4896	
;	 R4897	%title ''
;	 R4898	%sbttl ''
;	 R4899	
;	 R4900	!
;	 R4901	! [End of NETLIB.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  43
								 3-Jan-1983 00:43:54	DNET61:<MCB.NML>NETLIB.REQ.1 (10)

;	 R4902	
;	 R4903	! Local Modes:
;	 R4904	! Mode:BLISS
;	 R4905	! Auto Save Mode:2
;	 R4906	! Comment Column:40
;	 R4907	! Comment Rounding:+1
;	 R4908	! End:
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  44
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  4909	
;	  4910	require 'NMARCH';			! NM Architecture definitions
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  45
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (1)

;	 R4911	! <BRANDT.DEVELOPMENT>NMARCH.REQ.1 13-Dec-82 14:05:45, Edit by BRANDT
;	 R4912	!
;	 R4913	!  Change the MODULE TYPE parameter (1172) so that a value of 1
;	 R4914	!  will correctly correspond to "Bilateral"
;	 R4915	!
;	 R4916	!  Reverse the order of MODULE COUNTERS 1241 and 1242 so they correspond
;	 R4917	!  to the NML Spec.
;	 R4918	!
;	 R4919	! <BRANDT.DEVELOPMENT>NMARCH.REQ.1 30-Sep-82 15:05:45, Edit by BRANDT
;	 R4920	!
;	 R4921	! Add the following circuit counter parameter:
;	 R4922	!  1242   Network Initiated Resets
;	 R4923	!
;	 R4924	! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 24-Sep-82 12:05:45, Edit by PECKHAM
;	 R4925	!
;	 R4926	! Add the following system specific node parameter:
;	 R4927	!  2500   Fence
;	 R4928	!
;	 R4929	! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 30-Aug-82 10:10:13, Edit by PECKHAM
;	 R4930	!
;	 R4931	! Make the following node parameters read-only:
;	 R4932	!   126    Software Identification
;	 R4933	!   135    Dump Address
;	 R4934	!   136    Dump Count
;	 R4935	!
;	 R4936	! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 21-Jun-82 14:36:57, Edit by PECKHAM
;	 R4937	!
;	 R4938	! Add X25-SERVER counters supplied by VOBA.
;	 R4939	!
;	 R4940	! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 14-Jun-82 11:00:09, Edit by PECKHAM
;	 R4941	!
;	 R4942	! Add coded parameter interpretation for CIRCUIT OWNER parameter
;	 R4943	!
;	 R4944	! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 28-Apr-82 10:15:38, Edit by PECKHAM
;	 R4945	!
;	 R4946	! Change text for line and circuit state 'service' from 'serviced'.
;	 R4947	!
;	 R4948	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.18 21-Apr-82 13:53:49, Edit by VOBA
;	 R4949	!
;	 R4950	! Add additional characteristics (clearability and text case conversion)
;	 R4951	! to the entity tables, and comment to document the fields in the tables.
;	 R4952	!
;	 R4953	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.5 25-Mar-82 15:51:40, Edit by VOBA
;	 R4954	!
;	 R4955	! Add single field definition for CLEAR_PURGE and PERMANENT bits in field
;	 R4956	! definitions of CHANGE option (FUNCTION_DATA).
;	 R4957	!
;	 R4958	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 24-Mar-82 11:50:36, Edit by VOBA
;	 R4959	!
;	 R4960	! Change INITIALIZE parameter of CIRCUIT entity to be NODE TYPE.
;	 R4961	!
;	 R4962	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 23-Mar-82 12:12:03, Edit by VOBA
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  46
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (1)

;	 R4963	!
;	 R4964	! Fix typo in $NML$LINE_COUNTERS table.
;	 R4965	!
;	 R4966	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.2                   , Edit by VOBA
;	 R4967	!                                                           for (PECKHAM)
;	 R4968	! Make LOGGING_NAME read-only.
;	 R4969	! Add INITIALIZE system-specific circuit parameter.
;	 R4970	! Add event definition macros.
;	 R4971	! Add system specific line counters.
;	 R4972	!
;	 R4973	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.2 18-Mar-82 16:12:33, Edit by VOBA
;	 R4974	!
;	 R4975	! Fix typo of FAST SELECT counters in MODULE counter text table.
;	 R4976	!
;	 R4977	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 12-Mar-82 14:00:30, Edit by VOBA
;	 R4978	!
;	 R4979	! Fix entry of NODE parameter in $NML$MODULE_PARAMETERS table.
;	 R4980	!
;	 R4981	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.4  4-Mar-82 12:31:36, Edit by VOBA
;	 R4982	!
;	 R4983	! Condition parameters in $NML$MODULE_PARAMETERS table to set up correct
;	 R4984	! fields for TOPS-20 and MCB NICE parameters.
;	 R4985	!
;	 R4986	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3  3-Mar-82 12:35:28, Edit by VOBA
;	 R4987	!
;	 R4988	! Remove extra NETWORK parameter from $NML$MODULE_PARAMETERS table.
;	 R4989	!
;	 R4990	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.4  1-Mar-82 14:44:32, Edit by VOBA
;	 R4991	!
;	 R4992	! Reverse last change of CALL MASK and CALL VALUE parameters. Keep them to
;	 R4993	! be parsed as HI.
;	 R4994	! Assign HI a distinct value different from AI.
;	 R4995	!
;	 R4996	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.5 26-Feb-82 16:08:11, Edit by VOBA
;	 R4997	!
;	 R4998	! Clean up code and update copyright date.
;	 R4999	! Changed CALL MASK and CALL VALUE parameters to be parsed as HX8 instead of
;	 R5000	! HI.
;	 R5001	!
;	 R5002	! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.13 26-Feb-82 13:10:03, Edit by PECKHAM
;	 R5003	!
;	 R5004	! Change parameter text to upper/lower case.
;	 R5005	! Add system specific parameters.
;	 R5006	! Move data base construction macros back to NMLPRM.
;	 R5007	! Get counter definitions from NCPCTR.
;	 R5008	! Get error detail texts from NCPRSP.
;	 R5009	! Add $NML$TEXT to allow raising lower case response text in NCPRSP
;	 R5010	! (if necessary).
;	 R5011	!
;	 R5012	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 24-Feb-82 16:39:19, Edit by VOBA
;	 R5013	!
;	 R5014	! Correct typo of LOOP WITH parameter name text.
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  47
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (1)

;	 R5015	!
;	 R5016	! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.11 22-Feb-82 10:30:49, Edit by VOBA
;	 R5017	!
;	 R5018	! Move NICE parameter tables and building macros from NMLPRM.
;	 R5019	! 
;	 R5020	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMARCH.REQ.15 14-Oct-81 17:46:01, Edit by WEBBER
;	 R5021	!
;	 R5022	! Add bit field definitions for event type/class.
;	 R5023	!
;	 R5024	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMARCH.REQ.2 20-Aug-81 09:08:23, Edit by GUNN
;	 R5025	!
;	 R5026	! Add definition of DECnet-10/20 system specific MOP message type
;	 R5027	! 28, CHK11_ASCII_TEXT.
;	 R5028	!
;	 R5029	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.11  4-Aug-81 11:54:00, Edit by JENNESS
;	 R5030	!
;	 R5031	! Add codes -100 to -103 to NICE response code list.  These are not
;	 R5032	! supported by the DECnet Network Management architecture and should
;	 R5033	! be submitted formally.  Note that codes -100 to -103 can only be
;	 R5034	! generated on the same node that the command originated on, thus they
;	 R5035	! will never be sent over a logical link to a foreign Network Management
;	 R5036	! implementation.
;	 R5037	!
;	 R5038	! NET:<DECNET20-V3P1.NMU>NMARCH.REQ.2 12-Jun-81 12:07:29, Edit by JENNESS
;	 R5039	!
;	 R5040	! Readability and copyright updates.
;	 R5041	!
;	 R5042	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.7 12-May-81 13:58:04, Edit by VOBA
;	 R5043	! Add sub-entity type for the X.25 MODULE entity.
;	 R5044	! 
;	 R5045	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.6  4-Feb-81 13:18:12, Edit by GUNN
;	 R5046	!
;	 R5047	! Correct definition of fields in READ_OPTIONS
;	 R5048	!
;	 R5049	! NET:<DECNET20-V3P1.NMU>NMARCH.REQ.8  3-Feb-81 10:12:28, Edit by JENNESS
;	 R5050	!
;	 R5051	! Add literal definitions for NICE, MIRROR and EVENT objects.
;	 R5052	! Add session control REJECT/DISCONNECT error code definitions.
;	 R5053	!
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  48
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (2)

;	 R5054	%title 'NMARCH -- Network Management Architecture Declarations'
;	 R5055	
;	 R5056	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R5057	!                    DIGITAL EQUIPMENT CORPORATION
;	 R5058	!                        Maynard, Massachusetts
;	 R5059	!
;	 R5060	!     This software is furnished under a license and may  be  used
;	 R5061	!     and copied only in accordance with the terms of such license
;	 R5062	!     and with the inclusion of the above copyright notice.   This
;	 R5063	!     software  or any other copies thereof may not be provided or
;	 R5064	!     otherwise made available to any other person.  No  title  to
;	 R5065	!     and ownership of the software is hereby transferred.
;	 R5066	!
;	 R5067	!     The information  in  this  software  is  subject  to  change
;	 R5068	!     without  notice  and should not be construed as a commitment
;	 R5069	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R5070	!
;	 R5071	!     DIGITAL assumes no responsibility for the use or reliability
;	 R5072	!     of  its  software  on  equipment  which  is  not supplied by
;	 R5073	!     DIGITAL.
;	 R5074	!
;	 R5075	
;	 R5076	!++
;	 R5077	! FACILITY: LSG DECnet Network Management
;	 R5078	!
;	 R5079	! ABSTRACT:
;	 R5080	!
;	 R5081	!	Contains architectural declarations required by
;	 R5082	!       Network Management.
;	 R5083	!
;	 R5084	! ENVIRONMENT:  Bliss-36, Bliss-32 and Bliss-16.
;	 R5085	!
;	 R5086	! AUTHOR: Dale C. Gunn , CREATION DATE: 29-Aug-80
;	 R5087	!
;	 R5088	!--
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  49
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (3)

;	 R5089	
;	 R5090	!
;	 R5091	! Network Management DECnet object codes
;	 R5092	!
;	 R5093	
;	 R5094	literal
;	 R5095	    NICE_OBJECT = 19,
;	 R5096	    MIRROR_OBJECT = 25,
;	 R5097	    EVENT_OBJECT = 26;
;	 R5098	
;	 R5099	!
;	 R5100	! NICE Function Code Definitions
;	 R5101	!
;	 R5102	
;	 R5103	literal
;	 R5104	    LOAD_ = 15,                         ! NICE Request Down-line Load Function
;	 R5105	    DUMP_ = 16,                         ! NICE Request Up-line Dump Function
;	 R5106	    TRIGGER_ = 17,                      ! NICE Trigger Bootstrap Function
;	 R5107	    TEST_ = 18,                         ! NICE Test Function
;	 R5108	    LOOP_ = TEST_,                      ! NICE Test Function
;	 R5109	    CHANGE_ = 19,                       ! NICE Change Parameter Function
;	 R5110	    PURGE_ = CHANGE_,                   ! NICE Change Parameter Function
;	 R5111	    SET_ = CHANGE_,                     ! NICE Change Parameter Function
;	 R5112	    CLEAR_ = CHANGE_,                   ! NICE Change Parameter Function
;	 R5113	    DEFINE_ = CHANGE_,                  ! NICE Change Parameter Function
;	 R5114	    READ_ = 20,                         ! NICE Read Information Function
;	 R5115	    LIST_ = READ_,                      ! NICE Read Information Function
;	 R5116	    SHOW_ = READ_,                      ! NICE Read Information Function
;	 R5117	    ZERO_ = 21,                         ! NICE Zero Counters Function
;	 R5118	    SYSTEM_SPECIFIC_ = 22;              ! NICE System Specific Function
;	 R5119	
;	 R5120	
;	 R5121	
;	 R5122	! NICE Read Information Type Codes
;	 R5123	
;	 R5124	literal
;	 R5125	    SUMMARY_ = 0,                       ! Read Summary Parameters
;	 R5126	    STATUS_ = 1,                        ! Read Status Parameters
;	 R5127	    CHARACTERISTICS_ = 2,               ! Read Characteristic Parameters
;	 R5128	    COUNTERS_ = 3,                      ! Read Counters
;	 R5129	    EVENTS_ = 4;                        ! Read Event Logging Status
;	 R5130	
;	 R5131	
;	 R5132	
;	 R5133	! NICE System Type Codes
;	 R5134	
;	 R5135	literal
;	 R5136	    RSTS_ = 1,                          ! RSTS Specific
;	 R5137	    RSX_ = 2,                           ! RSX Family Specific
;	 R5138	    TOPS20_ = 3,                        ! TOPS-10/20 Specific
;	 R5139	    VMS_ = 4;                           ! VAX/VMS Specific
;	 R5140	
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  50
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (3)

;	 R5141	
;	 R5142	
;	 R5143	! NICE Entity Type Codes
;	 R5144	
;	 R5145	literal
;	 R5146	    NO_ENTITY_ = -1,                    ! none
;	 R5147	    NODE_E = 0,                         ! NODE Entity
;	 R5148	    LINE_ = 1,                          ! LINE Entity
;	 R5149	    LOGGING_ = 2,                       ! EVENT LOGGING Entity
;	 R5150	    CIRCUIT_ = 3,                       ! CIRCUIT Entity
;	 R5151	    MODULE_ = 4;                        ! MODULE Entity
;	 R5152	
;	 R5153	
;	 R5154	
;	 R5155	! NICE Sub-entity Codes
;	 R5156	
;	 R5157	literal
;	 R5158	    NO_SUB_ENTITY = -1,                 ! none
;	 R5159	    MODULE_ACCESS = 0,                  ! ACCESS MODULE Sub-entity
;	 R5160	    MODULE_PROTOCOL = 1,                ! PROTOCOL MODULE Sub-entity
;	 R5161	    MODULE_SERVER = 2;                  ! SERVER MODULE Sub-entity
;	 R5162	
;	 R5163	
;	 R5164	
;	 R5165	! NICE Entity Group Codes
;	 R5166	
;	 R5167	literal
;	 R5168	    LOOPED_ = -3,                       ! LOOPED Entities
;	 R5169	    ACTIVE_ = -2,                       ! ACTIVE Entities
;	 R5170	    KNOWN_ = -1;                        ! KNOWN Entities
;	 R5171	
;	 R5172	
;	 R5173	
;	 R5174	! NICE Logging sink type values
;	 R5175	
;	 R5176	literal
;	 R5177	    CONSOLE_ = 1,
;	 R5178	    FILE_ = 2,
;	 R5179	    MONITOR_ = 3;
;	 R5180	
;	 R5181	! NICE type/class word fields
;	 R5182	
;	 R5183	macro
;	 R5184	     $$EVENT_TYPE = 0, 4, 0 %,          ! Event type
;	 R5185	     $$EVENT_CLASS = 6, 9, 0 %;         ! Event class
;	 R5186	
;	 R5187	! NICE option byte field definitions
;	 R5188	
;	 R5189	$field ZERO_OPTIONS =
;	 R5190	    set
;	 R5191	    ZO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5192	    ZO_RESERVED = [$bits(4)],           ! Reserved bits, must be zero
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  51
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (3)

;	 R5193	    ZO_READ_AND_ZERO = [$bit]           ! Zero only or read and zero flag
;	 R5194	    tes;
;	 R5195	
;	 R5196	$field READ_OPTIONS =
;	 R5197	    set
;	 R5198	    RO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5199	    RO_RESERVED = [$bit],               ! Reserved bits, must be zero
;	 R5200	    RO_INFO_TYPE = [$bits(3)],          ! Type of information to read
;	 R5201	    RO_PERMANENT = [$bit]               ! PERMANENT vs VOLATILE flag
;	 R5202	    tes;
;	 R5203	
;	 R5204	$field CHANGE_OPTIONS =
;	 R5205	    set
;	 R5206	    CO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5207	    CO_RESERVED = [$bits(3)],           ! Reserved bits, must be zero
;	 R5208	    CO_FUNCTION_DATA = [$bits(2)],
;	 R5209	        $overlay (CO_FUNCTION_DATA)
;	 R5210	    CO_CLEAR_PURGE = [$bit],            ! CLEAR/PURGE vs SET/DEFINE flag
;	 R5211	    CO_PERMANENT = [$bit]               ! PERMANENT vs VOLATILE flag
;	 R5212	        $continue
;	 R5213	    tes;
;	 R5214	
;	 R5215	$field TEST_OPTIONS =
;	 R5216	    set
;	 R5217	    TO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5218	    TO_RESERVED = [$bits(4)],           ! Reserved bits, must be zero
;	 R5219	    TO_ACCESS_CONTROL = [$bit]          ! Access control included flag
;	 R5220	    tes;
;	 R5221	
;	 R5222	$field BOOT_OPTIONS =
;	 R5223	    set
;	 R5224	    BO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5225	    BO_RESERVED = [$bits(5)]            ! Reserved bits, must be zero
;	 R5226	    tes;
;	 R5227	
;	 R5228	$field LOAD_OPTIONS =
;	 R5229	    set
;	 R5230	    LO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5231	    LO_RESERVED = [$bits(5)]            ! Reserved bits, must be zero
;	 R5232	    tes;
;	 R5233	
;	 R5234	$field DUMP_OPTIONS =
;	 R5235	    set
;	 R5236	    DO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
;	 R5237	    DO_RESERVED = [$bits(5)]            ! Reserved bits, must be zero
;	 R5238	    tes;
;	 R5239	
;	 R5240	! NICE response parameter field definitions
;	 R5241	
;	 R5242	$field DATA_ID_FIELDS =
;	 R5243	    set
;	 R5244	    DI_PARMNO = [$bits(12)],            ! Parameter type number
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  52
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (3)

;	 R5245	        $overlay (DI_PARMNO)            !      ...or...
;	 R5246	    DI_CNTRNO = [$bits(12)],            ! Counter type number
;	 R5247	        $continue
;	 R5248	    DI_MAPPED = [$bit],                 ! Counter bit map flag
;	 R5249	    DI_WIDTH = [$bits(2)],              ! Counter width
;	 R5250	    DI_TYPE = [$bit]                    ! Type of data, counter or parameter
;	 R5251	    tes;
;	 R5252	
;	 R5253	$field DATA_TYPE_FIELDS =
;	 R5254	    set
;	 R5255	    DT_NUMBER = [$bits(6)],             ! Number of bytes or fields
;	 R5256	        $overlay(DT_NUMBER)             !      ...or...
;	 R5257	    DT_LENGTH = [$bits(4)],             ! Length of binary number
;	 R5258	    DT_FORMAT = [$bits(2)],             ! Format of number
;	 R5259	        $continue
;	 R5260	    DT_FIELDS = [$bit],                 ! Single or multiple fields
;	 R5261	        $overlay(DT_FIELDS)             !      ...or...
;	 R5262	    DT_FTYPE = [$bit],                  ! Field type, ASCII or binary number
;	 R5263	        $continue
;	 R5264	    DT_CODED = [$bit]                   ! Coded or not coded
;	 R5265	    tes;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  53
		NICE Message Codes, Values, and Text Strings	 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (4)

;	 R5266	%sbttl 'NICE Message Codes, Values, and Text Strings'
;	 R5267	
;	 R5268	macro
;	MR5269	     $NML$NICE_RETURNS =
;	MR5270	         SUC, 1, '',                    ! Success
;	MR5271	         ACC, 2, '',                    ! Request accepted
;	MR5272	         MOR, 3, '',                    ! Partial reply
;	 R5273	         DON, -128, '' %;               ! Done, end of multiple response
;	 R5274	
;	 R5275	macro
;	MR5276	     $NML$NICE_ERRORS =
;	MR5277	         UFO, -1, 'Unrecognized function or option',
;	MR5278	         IMF, -2, 'Invalid message format',
;	MR5279	         PRV, -3, 'Privilege violation',
;	MR5280	         OCM, -4, 'Oversized Management command message',
;	MR5281	         MPE, -5, 'Management program error',
;	MR5282	         UPT, -6, 'Unrecognized parameter type',
;	MR5283	         IMV, -7, 'Incompatible Management version',
;	MR5284	         URC, -8, 'Unrecognized component',
;	MR5285	         IID, -9, 'Invalid identification',
;	MR5286	         LCE, -10, 'Line communication error',
;	MR5287	         CWS, -11, 'Component in wrong state',
;	MR5288	         FOE, -13, 'File open error',
;	MR5289	         IFC, -14, 'Invalid file contents',
;	MR5290	         REE, -15, 'Resource error',
;	MR5291	         IPV, -16, 'Invalid parameter value',
;	MR5292	         LPE, -17, 'Line protocol error',
;	MR5293	         FIO, -18, 'File I/O error',
;	MR5294	         MLD, -19, 'Mirror link disconnected',
;	MR5295	         NRE, -20, 'No room for new entry',
;	MR5296	         MCF, -21, 'Mirror connect failed',
;	MR5297	         PNA, -22, 'Parameter not applicable',
;	MR5298	         PVL, -23, 'Parameter value too long',
;	MR5299	         HWF, -24, 'Hardware failure',
;	MR5300	         OPF, -25, 'Operation failure',
;	MR5301	         SFS, -26, 'System-specific Management function not supported',
;	MR5302	         IPG, -27, 'Invalid parameter grouping',
;	MR5303	         BLR, -28, 'Bad loopback response',
;	MR5304	         PAM, -29, 'Parameter missing',
;	MR5305	         
;	MR5306	         BMR, -100, 'Bad management response',
;	MR5307	         LLD, -101, 'Listener link disconnected',
;	MR5308	         LCF, -102, 'Listener link connect failed',
;	 R5309	         OMR, -103, 'Oversized Management response' %;
;	 R5310	
;	 R5311	!
;	 R5312	! Macro to build individual error macros from $NML$NICE_ERRORS
;	 R5313	!
;	 R5314	
;	 R5315	compiletime %TEMP = 0;
;	 R5316	
;	 R5317	macro
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  54
		NICE Message Codes, Values, and Text Strings	 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (4)

;	MR5318	     $NML$NICERR_MACRO [MNE,VAL,STR] =
;	MR5319	         %assign(%TEMP,VAL)
;	MR5320	         %quote literal %name('NICE$_',MNE) = VAL %quote ;
;	MR5321	         %if %TEMP GEQ 0 
;	MR5322	         %then %print('NICE$_',MNE,' =  ',%number(%TEMP),'; !',STR)
;	MR5323	         %else %print('NICE$_',MNE,' = -',%assign(%TEMP,-%TEMP),%number(%TEMP),'; ! ',STR)
;	MR5324	         %fi
;	MR5325	         %quote macro %name('$NICE$ERR_',MNE) =
;	MR5326	                      VAL
;	 R5327	                      %quote %print (STR) %quote % %;
;	 R5328	
;	 R5329	!
;	 R5330	! Macro to build an index table of text string pointers
;	 R5331	!
;	 R5332	
;	 R5333	macro
;	MR5334	     $NICE$ERR_CASES [MNE,VAL,STR] =
;	MR5335	         %assign(%TEMP,VAL)
;	MR5336	         %if %TEMP GEQ 0 
;	MR5337	         %then %print ('[',%number(%TEMP),']:     CH$ASCIC(',STR,');')
;	MR5338	         %else %print ('[-',%assign(%TEMP,-%TEMP),%number(%TEMP),']:     CH$ASCIC(',STR,');')
;	MR5339	         %fi
;	MR5340	
;	 R5341	         [VAL]: CH$ASCIC(%remove(STR)) %;
;	 R5342	
;	 R5343	!
;	 R5344	! Equated symbols
;	 R5345	!
;	 R5346	
;	LR5347	    $NML$NICERR_MACRO ($NML$NICE_ERRORS);
; %PRINT:	NICE$_UFO = -1; ! Unrecognized function or option
; %PRINT:	NICE$_IMF = -2; ! Invalid message format
; %PRINT:	NICE$_PRV = -3; ! Privilege violation
; %PRINT:	NICE$_OCM = -4; ! Oversized Management command message
; %PRINT:	NICE$_MPE = -5; ! Management program error
; %PRINT:	NICE$_UPT = -6; ! Unrecognized parameter type
; %PRINT:	NICE$_IMV = -7; ! Incompatible Management version
; %PRINT:	NICE$_URC = -8; ! Unrecognized component
; %PRINT:	NICE$_IID = -9; ! Invalid identification
; %PRINT:	NICE$_LCE = -10; ! Line communication error
; %PRINT:	NICE$_CWS = -11; ! Component in wrong state
; %PRINT:	NICE$_FOE = -13; ! File open error
; %PRINT:	NICE$_IFC = -14; ! Invalid file contents
; %PRINT:	NICE$_REE = -15; ! Resource error
; %PRINT:	NICE$_IPV = -16; ! Invalid parameter value
; %PRINT:	NICE$_LPE = -17; ! Line protocol error
; %PRINT:	NICE$_FIO = -18; ! File I/O error
; %PRINT:	NICE$_MLD = -19; ! Mirror link disconnected
; %PRINT:	NICE$_NRE = -20; ! No room for new entry
; %PRINT:	NICE$_MCF = -21; ! Mirror connect failed
; %PRINT:	NICE$_PNA = -22; ! Parameter not applicable
; %PRINT:	NICE$_PVL = -23; ! Parameter value too long
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  55
		NICE Message Codes, Values, and Text Strings	 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (4)

; %PRINT:	NICE$_HWF = -24; ! Hardware failure
; %PRINT:	NICE$_OPF = -25; ! Operation failure
; %PRINT:	NICE$_SFS = -26; ! System-specific Management function not supported
; %PRINT:	NICE$_IPG = -27; ! Invalid parameter grouping
; %PRINT:	NICE$_BLR = -28; ! Bad loopback response
; %PRINT:	NICE$_PAM = -29; ! Parameter missing
; %PRINT:	NICE$_BMR = -100; ! Bad management response
; %PRINT:	NICE$_LLD = -101; ! Listener link disconnected
; %PRINT:	NICE$_LCF = -102; ! Listener link connect failed
; %PRINT:	NICE$_OMR = -103; ! Oversized Management response
;	LR5348	    $NML$NICERR_MACRO ($NML$NICE_RETURNS);
; %PRINT:	NICE$_SUC =  1; !
; %PRINT:	NICE$_ACC =  2; !
; %PRINT:	NICE$_MOR =  3; !
; %PRINT:	NICE$_DON = -128; ! 
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  56
		Session Control Codes, Values, and Text Strings  3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (5)

;	 R5349	%sbttl 'Session Control Codes, Values, and Text Strings'
;	 R5350	
;	 R5351	macro
;	MR5352	     $SC_ERRORS =
;	MR5353	         NSE, 0, 'No special error',
;	MR5354	         RAF, 1, 'Resource allocation failure',
;	MR5355	         DND, 2, 'Destination node does not exist',
;	MR5356	         NSD, 3, 'Node shutting down',
;	MR5357	         DPD, 4, 'Destination process does not exist',
;	MR5358	         INF, 5, 'Invalid name field',
;	MR5359	         DPQ, 6, 'Destination process queue overflow',
;	MR5360	         USE, 7, 'Unspecified error',
;	MR5361	         THA, 8, 'Third party aborted the logical link',
;	MR5362	         UAB, 9, 'User abort (asynchronous disconnect)',
;	MR5363	         UEC, 11, 'Undefined error code',
;	MR5364	         CII, 21, 'Connect initiate (CI) with illegal destination address',
;	MR5365	         FCV, 24, 'Flow control violation',
;	MR5366	         TMN, 32, 'Too many connections to node',
;	MR5367	         TMP, 33, 'Too many connections to destination process',
;	MR5368	         ANP, 34, 'Access not permitted',
;	MR5369	         LLS, 35, 'Logical link services mismatch',
;	MR5370	         IAC, 36, 'Invalid account',
;	MR5371	         SSS, 37, 'Segment size too small',
;	MR5372	         PAB, 38, 'Process aborted',
;	MR5373	         NPN, 39, 'No path to destination node',
;	MR5374	         LAB, 40, 'Link aborted due to data loss',
;	MR5375	         DLL, 41, 'Destination logical link address does not exist',
;	MR5376	         CDI, 42, 'Confimation of disconnect initiate (DI)',
;	 R5377	         IDF, 43, 'Image data field too long' %;
;	 R5378	
;	 R5379	!
;	 R5380	! Macro to build individual error macros from $SC_ERRORS
;	 R5381	!
;	 R5382	
;	 R5383	compiletime %TEMP1 = 0;
;	 R5384	
;	 R5385	macro
;	MR5386	     $SCERR_MACRO [MNE,VAL,STR] =
;	MR5387	         %assign(%TEMP1,VAL)
;	MR5388	         %quote literal %name('SC$_',MNE) = VAL %quote ;
;	MR5389	         %if %TEMP1 GEQ 0 
;	MR5390	         %then %print('SC$_',MNE,' =  ',%number(%TEMP1),'; ! ',STR)
;	MR5391	         %else %print('SC$_',MNE,' = -',%assign(%TEMP1,-%TEMP1),%number(%TEMP1),'; ! ',STR)
;	MR5392	         %fi
;	MR5393	         %quote macro %name('$SC$ERR_',MNE) =
;	MR5394	                      VAL
;	 R5395	                      %quote %print (STR) %quote % %;
;	 R5396	
;	 R5397	!
;	 R5398	! Macro to build an index table of text string pointers
;	 R5399	!
;	 R5400	
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  57
		Session Control Codes, Values, and Text Strings  3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (5)

;	 R5401	macro
;	MR5402	     $SC$ERR_CASES [MNE,VAL,STR] =
;	MR5403	         %assign(%TEMP1,VAL)
;	MR5404	         %if %TEMP1 GEQ 0 
;	MR5405	         %then %print ('[',%number(%TEMP1),']:     CH$ASCIC(',STR,');')
;	MR5406	         %else %print ('[-',%assign(%TEMP1,-%TEMP1),%number(%TEMP1),']:     CH$ASCIC(',STR,');')
;	MR5407	         %fi
;	 R5408	         [VAL]: CH$ASCIC(%remove(STR)) %;
;	 R5409	
;	 R5410	!
;	 R5411	! Equated symbols
;	 R5412	!
;	 R5413	
;	LR5414	    $SCERR_MACRO ($SC_ERRORS);
; %PRINT:	SC$_NSE =  0; ! No special error
; %PRINT:	SC$_RAF =  1; ! Resource allocation failure
; %PRINT:	SC$_DND =  2; ! Destination node does not exist
; %PRINT:	SC$_NSD =  3; ! Node shutting down
; %PRINT:	SC$_DPD =  4; ! Destination process does not exist
; %PRINT:	SC$_INF =  5; ! Invalid name field
; %PRINT:	SC$_DPQ =  6; ! Destination process queue overflow
; %PRINT:	SC$_USE =  7; ! Unspecified error
; %PRINT:	SC$_THA =  8; ! Third party aborted the logical link
; %PRINT:	SC$_UAB =  9; ! User abort (asynchronous disconnect)
; %PRINT:	SC$_UEC =  11; ! Undefined error code
; %PRINT:	SC$_CII =  21; ! Connect initiate (CI) with illegal destination address
; %PRINT:	SC$_FCV =  24; ! Flow control violation
; %PRINT:	SC$_TMN =  32; ! Too many connections to node
; %PRINT:	SC$_TMP =  33; ! Too many connections to destination process
; %PRINT:	SC$_ANP =  34; ! Access not permitted
; %PRINT:	SC$_LLS =  35; ! Logical link services mismatch
; %PRINT:	SC$_IAC =  36; ! Invalid account
; %PRINT:	SC$_SSS =  37; ! Segment size too small
; %PRINT:	SC$_PAB =  38; ! Process aborted
; %PRINT:	SC$_NPN =  39; ! No path to destination node
; %PRINT:	SC$_LAB =  40; ! Link aborted due to data loss
; %PRINT:	SC$_DLL =  41; ! Destination logical link address does not exist
; %PRINT:	SC$_CDI =  42; ! Confimation of disconnect initiate (DI)
; %PRINT:	SC$_IDF =  43; ! Image data field too long
;	 R5415	
;	 R5416	!
;	 R5417	! Other error detail texts
;	 R5418	!
;	 R5419	
;	 R5420	macro
;	MR5421	     $LINK_DETAIL_ERRORS =
;	MR5422	         , 0, 'No node name set',
;	MR5423	         , 1, 'Invalid node name format',
;	MR5424	         , 2, 'Unrecognized node name',
;	MR5425	         , 3, 'Node unreachable',
;	MR5426	         , 4, 'Network resources',
;	MR5427	         , 5, 'Rejected by object',
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  58
		Session Control Codes, Values, and Text Strings  3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (5)

;	MR5428	         , 6, 'Invalid object name format',
;	MR5429	         , 7, 'Unrecognized object',
;	MR5430	         , 8, 'Access control rejected',
;	MR5431	         , 9, 'Object too busy',
;	MR5432	         ,10, 'No response from object',
;	MR5433	         ,11, 'Remote node shut down',
;	MR5434	         ,12, 'Node or object failed',
;	MR5435	         ,13, 'Disconnect by object',
;	MR5436	         ,14, 'Abort by object',
;	MR5437	         ,15, 'Abort by management',
;	 R5438	         ,16, 'Local node shut down' %,
;	 R5439	
;	MR5440	     $FILE_DETAIL_ERRORS =
;	MR5441	         , 0, 'Permanent Database',
;	MR5442	         , 1, 'Load File',
;	MR5443	         , 2, 'Dump File',
;	MR5444	         , 3, 'Secondary Loader',
;	MR5445	         , 4, 'Tertiary Loader',
;	MR5446	         , 5, 'Secondary Dumper',
;	 R5447	         , 6, 'Volatile Database' %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  59
		MOP Function Codes				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (6)

;	 R5448	%sbttl 'MOP Function Codes'
;	 R5449	
;	 R5450	literal
;	 R5451	    LOAD_WITH_TRANSFER = 0,
;	 R5452	    LOAD_WITHOUT_TRANSFER = 2,
;	 R5453	    REQUEST_DUMP = 4,
;	 R5454	    ENTER_MOP_MODE = 6,
;	 R5455	    REQUEST_PROGRAM = 8,
;	 R5456	    REQUEST_MEMORY_LOAD = 10,
;	 R5457	    MOP_MODE_RUNNING = 12,
;	 R5458	    MEMORY_DUMP_DATA = 14,
;	 R5459	    DAP_MESSAGE_ENVELOPE = 16,
;	 R5460	    ENTER_ASCII_TTY_MODE = 18,
;	 R5461	    PARAMETERS_WITH_TRANSFER = 20,
;	 R5462	    CHK11_ASCII_TEXT = 22,
;	 R5463	    LOOPBACK_TEST = 24,
;	 R5464	    LOOPED_DATA = 26;
;	 R5465	
;	 R5466	literal                             ! Starting image load types
;	 R5467	    SECONDARY_LOADER = 0,
;	 R5468	    TERTIARY_LOADER = 1,
;	 R5469	    SYSTEM_IMAGE = 2;
;	 R5470	
;	 R5471	literal                             ! CPU type codes
;	 R5472	    CPU_PDP8 = 0,
;	 R5473	    CPU_PDP11 = 1,
;	 R5474	    CPU_DEC1020 = 2,
;	 R5475	    CPU_VAX = 3;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  60
		NICE Entity Parameter Tables			 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (7)

;	 R5476	%sbttl 'NICE Entity Parameter Tables'
;	 R5477	
;	 R5478	! Each entry of the following NICE entity parameter table has the following
;	 R5479	! format:
;	 R5480	!
;	 R5481	! PARAMETER NUMBER
;	 R5482	!     As defined in the Network Management Architecture Specification
;	 R5483	!     document. All parameter numbers are decimal, except specified otherwise.
;	 R5484	!
;	 R5485	! LITERAL NAME
;	 R5486	!     The literal representation of a parameter.
;	 R5487	!
;	 R5488	! FORMAT FOR DATA EXTRACTION
;	 R5489	!     The data format notations for extracting data from the request NICE
;	 R5490	!     messages
;	 R5491	!
;	 R5492	!         DU1   (DU-1) Decimal number, unsigned, 1 byte
;	 R5493	!         DU2   (DU-2) Decimal number, unsigned, 2 bytes
;	 R5494	!         DU4   (DU-4) Decimal number, unsigned, 4 bytes
;	 R5495	!         C1    (C-1)  Coded, single field, 1 byte
;	 R5496	!         C2    (C-2)  Coded, single field, 2 bytes
;	 R5497	!         CM2   (CM-2) Coded, multiple (2) fields, 2 bytes each
;	 R5498	!         CME   (CM-4) Coded, multiple (4) fields, EVENTS format
;	 R5499	!         CMN   (CM-2) Coded, multiple (2) fields, NODE format
;	 R5500	!         CMO   (CM-2) Coded, multiple (2) fields, OBJECT format
;	 R5501	!         CMU   (CM-2) Coded, multiple (2) fields, USER format
;	 R5502	!         AI    (AI-n) ASCII image field
;	 R5503	!         HI    (HI-n) Hexadecimal image field
;	 R5504	!         HX8   (H-8)  Hexadecimal number, 8 bytes
;	 R5505	!
;	 R5506	$literal
;	 R5507	    DU1 = $distinct,                    ! 1 byte
;	 R5508	    C1  = DU1,                          ! Coded 1 byte
;	 R5509	    DU2 = $distinct,                    ! 2 bytes
;	 R5510	    O2  = DU2,                          ! 2 bytes
;	 R5511	    DU4 = $distinct,                    ! 4 bytes
;	 R5512	    O4  = DU4,                          ! 4 bytes
;	 R5513	    CM2 = $distinct,                    ! Coded 2 2-bytes
;	 R5514	    CME = $distinct,                    ! Coded Event
;	 R5515	    CMN = $distinct,                    ! Coded Node
;	 R5516	    CMO = $distinct,                    ! Coded Object
;	 R5517	    CMU = $distinct,                    ! Coded User/Owner
;	 R5518	    AI  = $distinct,                    ! ASCII image
;	 R5519	    HI  = $distinct,                    ! HEX image
;	 R5520	    HX8 = $distinct;                    ! 8-byte HEX number
;	 R5521	!
;	 R5522	! LAYER THAT EXCLUSIVELY OWNS THIS PARAMETER
;	 R5523	!     NML indicates that the parameter is maintained by the NML layer;
;	 R5524	!     null field indicates parameter is maintained by one of the lower layers.
;	 R5525	!
;	 R5526	! DATA TYPE
;	 R5527	!     The data type byte for extracting data from the response NICE messages.
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  61
		NICE Entity Parameter Tables			 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (7)

;	 R5528	!
;	 R5529	! INFORMATION TYPE
;	 R5530	!     The information type notation as specified by the Network Management
;	 R5531	!     Architecture specification
;	 R5532	!
;	 R5533	!         C     Characteristics
;	 R5534	!         S     Status
;	 R5535	!         *     Summary
;	 R5536	!         EV    Events
;	 R5537	!         Q     Qualifier
;	 R5538	!
;	 R5539	! APPLICABILITY RESTRICTION
;	 R5540	!     Only the following applicability restrictions are used in the tables
;	 R5541	!
;	 R5542	!         Q     Qualified
;	 R5543	!         E     Executor node only
;	 R5544	!         A     Adjacent node only
;	 R5545	!         R     Remote node only
;	 R5546	!         S     Sink node only
;	 R5547	!
;	 R5548	! SETTABILITY RESTRICTION
;	 R5549	!     The following notations indicate the user settability restriction
;	 R5550	!     of a parameter
;	 R5551	!
;	 R5552	!         RO    Read Only
;	 R5553	!         WO    Write Only
;	 R5554	!         C     Clearable
;	 R5555	!
;	 R5556	! PARAMETER TEXT CONVERSION
;	 R5557	!     The following notations indicate the case of the parameter text
;	 R5558	!     expected to be in
;	 R5559	!
;	 R5560	!         U     Upper case only
;	 R5561	!         L     Lower case only
;	 R5562	!         none  Accepted as is
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  62
		NODE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (8)

;	 R5563	%sbttl 'NODE Parameter Table'
;	 R5564	
;	 R5565	! $NML$NODE_PARAMETERS - Parameter characteristic definitions,
;	 R5566	!
;	 R5567	! Each entry has the format
;	 R5568	!
;	 R5569	!     (Parameter number,
;	 R5570	!      Literal name,
;	 R5571	!      Format for data extraction,
;	 R5572	!      Layer that exclusively owns this parameter,
;	 R5573	!      Data type,
;	 R5574	!      Information type,
;	 R5575	!      Applicability restriction,
;	 R5576	!      Settability restriction,
;	 R5577	!      Parameter text conversion)
;	 R5578	
;	 R5579	macro
;	MR5580	     $NML$NODE_PARAMETERS =
;	MR5581	         (000, 'State', C1),
;	MR5582	         (100, 'Identification', AI, NML, %O'100', (C,'*'), E, C),
;	MR5583	         (101, 'Management Version',, NML, %O'303', C, E, RO),
;	MR5584	         (110, 'Service Circuit', AI, NML, %O'100', C, A, C, U),
;	MR5585	         (111, 'Service Password', HX8, NML, %O'050', C, A, C),
;	MR5586	         (112, 'Service Device', C1, NML, %O'201', C, A, C),
;	MR5587	         (113, 'CPU', C1, NML, %O'201', C, A, C),
;	MR5588	         (120, 'Load File', AI, NML, %O'100', C, A, C, U),
;	MR5589	         (121, 'Secondary Loader', AI, NML, %O'100', C, A, C, U),
;	MR5590	         (122, 'Tertiary Loader', AI, NML, %O'100', C, A, C, U),
;	MR5591	         (125, 'Software Type', C1, NML, %O'201', C, A, C),
;	MR5592	         (126, 'Software Identification', AI, NML, %O'100', C, A, RO),
;	MR5593	         (130, 'Dump File', AI, NML, %O'100', C, A, C, U),
;	MR5594	         (131, 'Secondary Dumper', AI, NML, %O'100', C, A, C, U),
;	MR5595	         (135, 'Dump Address', O4, NML, %O'064', C, A, RO),
;	MR5596	         (136, 'Dump Count', DU4, NML, %O'004', C, A, RO),
;	MR5597	         (140, 'Host',, NML, %O'302', C, (A,E), RO),
;	MR5598	         (141, 'Host', CMN, NML, %O'302', C, (A,E), (WO, C)),
;	MR5599	         (150, 'Loop Count', DU2, NML, %O'002', C, E, RO),
;	MR5600	         (151, 'Loop Length', DU2, NML, %O'002', C, E, RO),
;	MR5601	         (152, 'Loop With', C1, NML, %O'201', C, E, RO),
;	MR5602	         (160, 'Counter Timer', DU2, NML, %O'002', C, (E,R), C),
;	MR5603	         (500, 'Name', CMN,, %O'302',, (E,R), (WO, C)),
;	MR5604	         (501, 'Circuit', AI,, %O'100', (C,'*'),, C, U),
;	MR5605	         (502, 'Address', CMN,, %O'302',, E, WO),
;	MR5606	         (510, 'Incoming Timer', DU2,, %O'002', C, E, C),
;	MR5607	         (511, 'Outgoing Timer', DU2,, %O'002', C, E, C),
;	MR5608	         (600, 'Active Links', DU2,, %O'002', (S,'*'), (E,R), RO),
;	MR5609	         (601, 'Delay', DU2,, %O'002', (S,'*'), R, RO),
;	MR5610	         (700, 'NSP Version',,,, C, E, RO),
;	MR5611	         (710, 'Maximum Links', DU2,, %O'002', C, E),
;	MR5612	         (720, 'Delay Factor', DU1,, %O'001', C, E),
;	MR5613	         (721, 'Delay Weight', DU1,, %O'001', C, E),
;	MR5614	         (722, 'Inactivity Timer', DU2,, %O'002', C, E),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  63
		NODE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (8)

;	MR5615	         (723, 'Retransmit Factor', DU2,, %O'002', C, E),
;	MR5616	         (810, 'Type', C1,, %O'201', S, A, RO),
;	MR5617	         (820, 'Cost', DU2,, %O'002', S, R, RO),
;	MR5618	         (821, 'Hops', DU1,, %O'001', S, R, RO),
;	MR5619	         (822, 'Circuit', AI,, %O'100', (S,'*'), R, RO),
;	MR5620	         (900, 'Routing Version',,,, C, E, RO),
;	MR5621	         (901, 'Type', C1,, %O'201', C, E),
;	MR5622	         (910, 'Routing Timer', DU2,, %O'002', C, E),
;	MR5623	         (911, 'Subaddresses', CM2,,, C, E),
;	MR5624	         (920, 'Maximum Address', DU2,, %O'002', C, E),
;	MR5625	         (921, 'Maximum Circuits', DU2,, %O'002', C, E),
;	MR5626	         (922, 'Maximum Cost', DU2,, %O'002', C, E),
;	MR5627	         (923, 'Maximum Hops', DU1,, %O'001', C, E),
;	MR5628	         (924, 'Maximum Visits', DU1,, %O'001', C, E),
;	MR5629	         (930, 'Maximum Buffers', DU2,, %O'002', C, E),
;	MR5630	         (931, 'Buffer Size', DU2,, %O'002', C, E),
;	 R5631	         (2500, 'Fence', DU2,, %O'002', C, A) %;
;	 R5632	
;	 R5633	!
;	 R5634	! Define text for coded parameter values
;	 R5635	!
;	 R5636	
;	 R5637	macro
;	MR5638	     $NML$NODE_CODES =
;	MR5639	         (000, ('On',                   ! STATE
;	MR5640	                'Off',
;	MR5641	                'Shut',
;	MR5642	                'Restricted',
;	MR5643	                'Reachable',
;	MR5644	                'Unreachable')),
;	MR5645	
;	MR5646	         (112, ('DP', '',               ! SERVICE DEVICE
;	MR5647	                'DU', '',               ! These values are even numbers, so we
;	MR5648	                'DL', '',               ! skip the odd ones.
;	MR5649	                'DQ', '',
;	MR5650	                'DA', '',
;	MR5651	                'DUP', '',
;	MR5652	                'DMC', '',
;	MR5653	                'DN', '',
;	MR5654	                'DLV', '',
;	MR5655	                'DMP', '',
;	MR5656	                'DTE', '',
;	MR5657	                'DV', '',
;	MR5658	                'DZ', '','','',         ! There is a gap of one even value
;	MR5659	                'KDP', '',              ! number here
;	MR5660	                'KDZ', '',
;	MR5661	                'KL', '',
;	MR5662	                'DMV', '',
;	MR5663	                'DPV')),
;	MR5664	
;	MR5665	         (113, ('PDP8',                 ! CPU
;	MR5666	                'PDP11',
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  64
		NODE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (8)

;	MR5667	                'DECSYSTEM1020',
;	MR5668	                'VAX')),
;	MR5669	
;	MR5670	         (125, ('Secondary Loader',     ! SOFTWARE TYPE
;	MR5671	                'Tertiary Loader',
;	MR5672	                'System')),
;	MR5673	
;	MR5674	         (152, ('Zeroes',               ! LOOP WITH
;	MR5675	                'Ones',
;	MR5676	                'Mixed')),
;	MR5677	
;	MR5678	         (810, ('Routing',              ! TYPE (Read Only)
;	MR5679	                'Nonrouting',
;	MR5680	                'Phase II')),
;	MR5681	
;	MR5682	         (901, ('Routing',              ! TYPE
;	MR5683	                'Nonrouting',
;	 R5684	                'Phase II')) %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  65
		LINE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (9)

;	 R5685	%sbttl 'LINE Parameter Table'
;	 R5686	
;	 R5687	! $NML$LINE_PARAMETERS - Parameter characteristic definitions
;	 R5688	!
;	 R5689	! Each entry has the format
;	 R5690	!
;	 R5691	!     (Parameter number,
;	 R5692	!      Literal name,
;	 R5693	!      Format for data extraction,
;	 R5694	!      Layer that exclusively owns this parameter,
;	 R5695	!      Data type,
;	 R5696	!      Information type,
;	 R5697	!      Applicability restriction,
;	 R5698	!      Settability restriction,
;	 R5699	!      Parameter text conversion)
;	 R5700	
;	 R5701	macro
;	MR5702	     $NML$LINE_PARAMETERS =
;	MR5703	         (0000, 'State', C1, NML, %O'201', (S,'*')),
;	MR5704	         (0001, 'Substate',, NML, %O'201', (S,'*'),, RO),
;	MR5705	         (0100, 'Service', C1, NML, %O'201', C),
;	MR5706	         (0110, 'Counter Timer', DU2, NML, %O'002', C,, C),
;	MR5707	         (1100, 'Device', AI,, %O'100', C),
;	MR5708	         (1105, 'Receive Buffers', DU2,, %O'002', C),
;	MR5709	         (1110, 'Controller', C1,, %O'201', C),
;	MR5710	         (1111, 'Duplex', C1,, %O'201', C),
;	MR5711	         (1112, 'Protocol', C1,, %O'201', C),
;	MR5712	         (1113, 'Clock', C1,, %O'201', C),
;	MR5713	         (1120, 'Service Timer', DU2,, %O'002', C),
;	MR5714	         (1121, 'Retransmit Timer', DU2,, %O'002', C),
;	MR5715	         (1122, 'Holdback Timer', DU2,, %O'002', C,, C),
;	MR5716	         (1130, 'Maximum Block', DU2,, %O'002', C),
;	MR5717	         (1131, 'Maximum Retransmits', DU1,, %O'001', C,, C),
;	MR5718	         (1132, 'Maximum Window', DU1,, %O'001', C),
;	MR5719	         (1150, 'Scheduling Timer', DU2,, %O'002', C,, C),
;	MR5720	         (1151, 'Dead Timer', DU2,, %O'002', C,, C),
;	MR5721	         (1152, 'Delay Timer', DU2,, %O'002', C,, C),
;	MR5722	         (1153, 'Stream Timer', DU2,, %O'002', C,, C),
;	MR5723	         (2650, 'Controller Register', O2,, %O'062', C),
;	MR5724	         (2651, 'Unit Register', O2,, %O'062', C),
;	MR5725	         (2655, 'Interrupt Vector', O2,, %O'062', C),
;	MR5726	         (2660, 'Interrupt Priority', DU1,, %O'001', C),
;	MR5727	         (2665, 'Receive Speed',,,, C),
;	MR5728	         (2666, 'Transmit Speed',,,, C),
;	 R5729	         (2670, 'Pause Timer', DU2,, %O'002', C) %;
;	 R5730	
;	 R5731	macro
;	MR5732	     $NML$LINE_CODES =
;	MR5733	         (0000, ('On',                  ! STATE
;	MR5734	                 'Off',
;	MR5735	                 'Service',
;	MR5736	                 'Cleared')),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  66
		LINE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (9)

;	MR5737	
;	MR5738	         (0001, ('Starting',            ! Substate
;	MR5739	                 'Reflecting',
;	MR5740	                 'Looping',
;	MR5741	                 'Loading',
;	MR5742	                 'Dumping',
;	MR5743	                 'Triggering',
;	MR5744	                 'Autoservice',
;	MR5745	                 'Autoloading',
;	MR5746	                 'Autodumping',
;	MR5747	                 'Autotriggering',
;	MR5748	                 'Synchronizing',
;	MR5749	                 'Failed')),
;	MR5750	
;	MR5751	         (0100, ('Enabled',             ! SERVICE
;	MR5752	                 'Disabled')),
;	MR5753	
;	MR5754	         (1110, ('Normal',              ! CONTROLLER
;	MR5755	                 'Loopback')),
;	MR5756	
;	MR5757	         (1111, ('Full',                ! DUPLEX
;	MR5758	                 'Half')),
;	MR5759	
;	MR5760	         (1112, ('DDCMP-Point',         ! PROTOCOL
;	MR5761	                 'DDCMP-Control',
;	MR5762	                 'DDCMP-Tributary',
;	MR5763	                 'X25',
;	MR5764	                 'DDCMP-DMC',
;	MR5765	                 'LAPB')),
;	MR5766	
;	MR5767	         (1113, ('External',            ! CLOCK
;	 R5768	                 'Internal')) %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  67
		LOGGING Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (10)

;	 R5769	%sbttl 'LOGGING Parameter Table'
;	 R5770	
;	 R5771	! $NML$LOGGING_PARAMETERS - Parameter characteristic definitions
;	 R5772	!
;	 R5773	! Each entry has the format
;	 R5774	!
;	 R5775	!     (Parameter number,
;	 R5776	!      Literal name,
;	 R5777	!      Format for data extraction,
;	 R5778	!      Layer that exclusively owns this parameter,
;	 R5779	!      Data type,
;	 R5780	!      Information type,
;	 R5781	!      Applicability restriction,
;	 R5782	!      Settability restriction,
;	 R5783	!      Parameter text conversion)
;	 R5784	!
;	 R5785	! NOTE: SINK NODE and EVENTS parameters are defined as read only until
;	 R5786	!       I figure out how I am going to handle multiple part parameters.
;	 R5787	!       Right now they cause the macro expansion to fail.
;	 R5788	
;	 R5789	macro
;	MR5790	     $NML$LOGGING_PARAMETERS =
;	MR5791	         (000, 'State', C1, NML, %O'201', (S,'*'), E),
;	MR5792	         (100, 'Name', AI, NML, %O'100', (C,'*'), E, RO),
;	MR5793	         (200, 'Sink Node', CMN, NML, %O'302', (EV,'*'), S, RO),
;	 R5794	         (201, 'Events', CME, NML, %O'305', (EV,'*'), S, RO) %;
;	 R5795	
;	 R5796	macro
;	MR5797	     $NML$LOGGING_CODES =
;	MR5798	         (000, ('On',                   ! STATE
;	MR5799	                'Off',
;	MR5800	                'Hold')),
;	MR5801	
;	MR5802	         (201, ('Node',                 ! EVENTS
;	MR5803	                'Line',
;	MR5804	                'Logging',
;	MR5805	                'Circuit',
;	 R5806	                'Module')) %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  68
		CIRCUIT Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (11)

;	 R5807	%sbttl 'CIRCUIT Parameter Table'
;	 R5808	
;	 R5809	! $NML$CIRCUIT_PARAMETERS - Parameter characteristic definitions
;	 R5810	!
;	 R5811	! Each entry has the format
;	 R5812	!
;	 R5813	!     (Parameter number,
;	 R5814	!      Literal name,
;	 R5815	!      Format for data extraction,
;	 R5816	!      Layer that exclusively owns this parameter,
;	 R5817	!      Data type,
;	 R5818	!      Information type,
;	 R5819	!      Applicability restriction,
;	 R5820	!      Settability restriction,
;	 R5821	!      Parameter text conversion)
;	 R5822	
;	 R5823	macro
;	MR5824	     $NML$CIRCUIT_PARAMETERS =
;	MR5825	         (0000, 'State', C1, NML, %O'201', (S,'*')),
;	MR5826	         (0001, 'Substate', C1, NML, %O'201', (S,'*'),, RO),
;	MR5827	         (0100, 'Service', C1, NML, %O'201', C),
;	MR5828	         (0110, 'Counter Timer', DU2, NML, %O'002', C,, C),
;	MR5829	         (0200, 'Connected Node',,,, (S,'*'),, RO),
;	MR5830	         (0201, 'Connected Object',,,, (S,'*'),, RO),
;	MR5831	         (0400, 'Loopback Name', AI,, %O'100', (S,'*'),, RO),
;	MR5832	         (0800, 'Adjacent Node',,,, (S,'*'),, RO),
;	MR5833	         (0810, 'Block Size', DU2,, %O'002', S,, RO),
;	MR5834	         (0900, 'Cost', DU1,, %O'001', C),
;	MR5835	         (0906, 'Hello Timer', DU2,, %O'002', C),
;	MR5836	         (0907, 'Listen Timer', DU2,, %O'002', C),
;	MR5837	         (0910, 'Blocking', C1,, %O'201', C),
;	MR5838	         (0920, 'Maximum Recalls', DU1,, %O'001', C,, C),
;	MR5839	         (0921, 'Recall Timer', DU2,, %O'002', C,, C),
;	MR5840	         (0930, 'Number', AI,, %O'100', C),
;	MR5841	         (1000, 'User',,,, (S,'*'),, RO),
;	MR5842	         (1010, 'Polling State', C1,, %O'201', (S,'*')),
;	MR5843	         (1011, 'Polling substate', C1,, %O'201', (S,'*'),, RO),
;	MR5844	         (1100, 'Owner',,,, C,, C),
;	MR5845	         (1110, 'Line', AI,, %O'100', C,,, U),
;	MR5846	         (1111, 'Usage', C1,, %O'201', C),
;	MR5847	         (1112, 'Type', C1,, %O'201', C),
;	MR5848	         (1120, 'DTE', AI,, %O'100', C,,, U),
;	MR5849	         (1121, 'Channel', DU2,, %O'002', C),
;	MR5850	         (1122, 'Maximum Data', DU2,, %O'002', C),
;	MR5851	         (1123, 'Maximum Window', DU1,, %O'001', C),
;	MR5852	         (1140, 'Tributary', DU1,, %O'001', C),
;	MR5853	         (1141, 'Babble Timer', DU2,, %O'002', C,, C),
;	MR5854	         (1142, 'Transmit Timer', DU2,, %O'002', C,, C),
;	MR5855	         (1145, 'Maximum Buffers', C1,, %O'201', C,, C),
;	MR5856	         (1146, 'Maximum Transmits', DU1,, %O'001', C,, C),
;	MR5857	         (1150, 'Active Base', DU1,, %O'001', C,, C),
;	MR5858	         (1151, 'Active Increment', DU1,, %O'001', C,, C),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  69
		CIRCUIT Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (11)

;	MR5859	         (1152, 'Inactive Base', DU1,, %O'001', C,, C),
;	MR5860	         (1153, 'Inactive Increment', DU1,, %O'001', C,, C),
;	MR5861	         (1154, 'Inactive Threshold', DU1,, %O'001', C,, C),
;	MR5862	         (1155, 'Dying Base', DU1,, %O'001', C,, C),
;	MR5863	         (1156, 'Dying Increment', DU1,, %O'001', C,, C),
;	MR5864	         (1157, 'Dying Threshold', DU1,, %O'001', C,, C),
;	MR5865	         (1158, 'Dead Threshold', DU1,, %O'001', C,, C),
;	 R5866	         (2600, 'Node Type', C1,, %O'201', C) %;
;	 R5867	
;	 R5868	macro
;	MR5869	     $NML$CIRCUIT_CODES =
;	MR5870	         (0000, ('On',                  ! STATE
;	MR5871	                 'Off',
;	MR5872	                 'Service',
;	MR5873	                 'Cleared')),
;	MR5874	
;	MR5875	         (0001, ('Starting',            ! Substate
;	MR5876	                 'Reflecting',
;	MR5877	                 'Looping',
;	MR5878	                 'Loading',
;	MR5879	                 'Dumping',
;	MR5880	                 'Triggering',
;	MR5881	                 'Autoservice',
;	MR5882	                 'Autoloading',
;	MR5883	                 'Autodumping',
;	MR5884	                 'Autotriggering',
;	MR5885	                 'Synchronizing',
;	MR5886	                 'Failed')),
;	MR5887	
;	MR5888	         (0100, ('Enabled',             ! SERVICE
;	MR5889	                 'Disabled')),
;	MR5890	
;	MR5891	         (0910, ('Enabled',             ! BLOCKING
;	MR5892	                 'Disabled')),
;	MR5893	
;	MR5894	         (1000, ('Node',                ! USER
;	MR5895	                 'Line',
;	MR5896	                 'Logging',
;	MR5897	                 'Circuit',
;	MR5898	                 'Module')),
;	MR5899	
;	MR5900	         (1100, ('Node',                ! OWNER
;	MR5901	                 'Line',
;	MR5902	                 'Logging',
;	MR5903	                 'Circuit',
;	MR5904	                 'Module')),
;	MR5905	
;	MR5906	         (1111, ('Permanent',           ! USAGE
;	MR5907	                 'Incoming',
;	MR5908	                 'Outgoing')),
;	MR5909	
;	MR5910	         (1112, ('DDCMP-Point',         ! TYPE
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  70
		CIRCUIT Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (11)

;	MR5911	                 'DDCMP-Control',
;	MR5912	                 'DDCMP-Tributary',
;	MR5913	                 'X25',
;	MR5914	                 'DDCMP-DMC',
;	MR5915	                 'LAPB')),
;	MR5916	
;	MR5917	         (1145, ('Unlimited')),         ! MAXIMUM BUFFERS (255)
;	MR5918	
;	MR5919	         (2600, ('Routing',             ! NODE TYPE
;	MR5920	                 'Nonrouting',
;	 R5921	                 'Phase II')) %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  71
		MODULE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (12)

;	 R5922	%sbttl 'MODULE Parameter Table'
;	 R5923	
;	 R5924	! $NML$MODULE_PARAMETERS - Parameter characteristic definitions
;	 R5925	!
;	 R5926	! Each entry has the format
;	 R5927	!
;	 R5928	!     (Parameter number,
;	 R5929	!      Literal name,
;	 R5930	!      Format for data extraction,
;	 R5931	!      Layer that exclusively owns this parameter,
;	 R5932	!      Data type,
;	 R5933	!      Information type,
;	 R5934	!      Applicability restriction,
;	 R5935	!      Settability restriction,
;	 R5936	!      Parameter text conversion)
;	 R5937	
;	 R5938	macro
;	MR5939	     $NML$MODULE_PARAMETERS =
;	MR5940	         (0000, 'State', C1,, %O'201', (S,'*'), Q),
;	MR5941	         (0100, 'Counter Timer', DU2, NML, %O'002', C, Q, C),
;	MR5942	         (0200, 'Active Circuits', DU2,, %O'002', (S,'*'),, RO),
;	MR5943	         (0300, 'Destination', AI,, %O'100', Q,,, U),
;	MR5944	         (0310, 'Maximum Circuits', DU2,, %O'002', C),
;	MR5945	
;	MR5946	         %if $MCB
;	MR5947	         %then                          ! MODULE X25-SERVER parameters
;	MR5948	         (0320, 'Node', CMN,, %O'302', C, Q),
;	MR5949	         (0330, 'User', AI,, %O'100', C, Q, C, U),
;	MR5950	         (0331, 'Password', AI,, %O'100', C, Q, C),
;	MR5951	         (0332, 'Account', AI,, %O'100', C, Q, C, U),
;	MR5952	         %else                          ! MODULE X25-ACCESS parameters
;	MR5953	         (0320, 'Node', CMN, NML, %O'302', C, Q),
;	MR5954	         (0330, 'User', AI, NML, %O'100', C, Q, C, U),
;	MR5955	         (0331, 'Password', AI, NML, %O'100', C, Q, C),
;	MR5956	         (0332, 'Account', AI, NML, %O'100', C, Q, C, U),
;	MR5957	         %fi
;	MR5958	
;	MR5959	         (0340, 'Object', CMO,,, C, Q),
;	MR5960	         (0350, 'Priority', DU1,, %O'001', C, Q, C),
;	MR5961	         (0351, 'Call Mask', HI,,, C, Q, C),
;	MR5962	         (0352, 'Call Value', HI,,, C, Q, C),
;	MR5963	         (0353, 'Group', AI,, %O'100', C, Q, C, U),
;	MR5964	         (0354, 'Number', AI,, %O'100', C, Q, C),
;	MR5965	         (0355, 'Subaddresses', CM2,,, C, Q, C),
;	MR5966	         (1000, 'Active Channels', DU2,, %O'002', (S,'*'), Q, RO),
;	MR5967	         (1010, 'Active Switched', DU2,, %O'002', (S,'*'), Q, RO),
;	MR5968	         (1100, 'DTE', AI,, %O'100', Q,,, U),
;	MR5969	         (1101, 'Group', AI,, %O'100', Q,,, U),
;	MR5970	
;	MR5971	         %if $MCB
;	MR5972	         %then                          ! MODULE X25-PROTOCOL parameter
;	MR5973	         (1110, 'Network', AI,, %O'100', C,,, U),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  72
		MODULE Parameter Table				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (12)

;	MR5974	         %else                          ! MODULE X25-ACCESS parameter
;	MR5975	         (1110, 'Network', AI, NML, %O'100', Q,,, U),
;	MR5976	         %fi
;	MR5977	
;	MR5978	         (1120, 'Line', AI,, %O'100', C, Q, C, U),
;	MR5979	         (1130, 'Channels', CM2,,, C, Q),
;	MR5980	         (1131, 'Maximum Channels', DU2,, %O'002', C, Q, RO),
;	MR5981	         (1140, 'Default Data', DU2,, %O'002', C),
;	MR5982	         (1141, 'Default Window', DU1,, %O'001', C),
;	MR5983	         (1150, 'Maximum Data', DU2,, %O'002', C),
;	MR5984	         (1151, 'Maximum Window', DU1,, %O'001', C),
;	MR5985	         (1152, 'Maximum Clears', DU1,, %O'001', C,, C),
;	MR5986	         (1153, 'Maximum Resets', DU1,, %O'001', C,, C),
;	MR5987	         (1154, 'Maximum Restarts', DU1,, %O'001', C,, C),
;	MR5988	         (1160, 'Call Timer', DU1,, %O'001', C,, C),
;	MR5989	         (1161, 'Clear Timer', DU1,, %O'001', C,, C),
;	MR5990	         (1162, 'Reset Timer', DU1,, %O'001', C,, C),
;	MR5991	         (1163, 'Restart Timer', DU1,, %O'001', C,, C),
;	MR5992	         (1170, 'DTE', AI,, %O'100', C, Q, C, U),
;	MR5993	         (1171, 'Number', DU2,, %O'002', C, Q),
;	 R5994	         (1172, 'Type', C1,, %O'201', C, Q, C) %;
;	 R5995	
;	 R5996	macro
;	MR5997	     $NML$MODULE_CODES =
;	MR5998	         (0000, ('On',                  ! STATE
;	MR5999	                 'Off',
;	MR6000	                 'Shut')),
;	MR6001	
;	MR6002	         (1172, ('Not Applicable',
;	 R6003	                 'Bilateral')) %;       ! TYPE
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  73
		CIRCUIT Counters				 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (13)

;	 R6004	%sbttl 'CIRCUIT Counters'
;	 R6005	
;	 R6006	macro
;	MR6007	     $NML$CIRCUIT_COUNTERS =
;	MR6008	         (0000, 'Seconds Since Last Zeroed', 16),,
;	MR6009	         (0800, 'Terminating Packets Received', 32),,
;	MR6010	         (0801, 'Originating Packets Sent', 32),,
;	MR6011	         (0802, 'Terminating Congestion Loss', 16),,
;	MR6012	         (0805, 'Corruption Loss', 8),,
;	MR6013	         (0810, 'Transit Packets Received', 32),,
;	MR6014	         (0811, 'Transit Packets Sent', 32),,
;	MR6015	         (0812, 'Transit Congestion Loss', 16),,
;	MR6016	         (0820, 'Circuit Downs', 8),,
;	MR6017	         (0821, 'Initialization Failures', 8),,
;	MR6018	         (1000, 'Bytes Received', 32),,
;	MR6019	         (1001, 'Bytes Sent', 32),,
;	MR6020	         (1010, 'Data Blocks Received', 32),,
;	MR6021	         (1011, 'Data Blocks Sent', 32),,
;	MR6022	         (1020, 'Data Error Inbound', 8),
;	MR6023	             ((0, 'NAKs Sent, Header Block Check Error'),
;	MR6024	              (1, 'NAKs Sent, Data Field Block Check Error'),
;	MR6025	              (2, 'NAKs Sent, REP Response')),
;	MR6026	         (1021, 'Data Errors Outbound', 8),
;	MR6027	             ((0, 'NAKs Received, Header Block Check Error'),
;	MR6028	              (1, 'NAKs Received, Data Field'),
;	MR6029	              (2, 'NAKs Received, REP Response')),
;	MR6030	         (1030, 'Remote Reply Timeouts', 8),,
;	MR6031	         (1031, 'Local Reply Timeouts', 8),,
;	MR6032	         (1040, 'Remote Buffer Errors', 8),
;	MR6033	             ((0, 'NAKs Received, Buffer Unavailable'),
;	MR6034	              (1, 'NAKs Received, Buffer Too Small')),
;	MR6035	         (1041, 'Local Buffer Errors', 8),
;	MR6036	             ((0, 'NAKs Sent, Buffer Unavailable'),
;	MR6037	              (1, 'NAKs Sent, Buffer Too Small')),
;	MR6038	         (1050, 'Selection Intervals Elapsed', 16),,
;	MR6039	         (1051, 'Selection Timeouts', 8),
;	MR6040	             ((0, 'No Reply To Select'),
;	MR6041	              (1, 'Incomplete Reply To Select')),
;	MR6042	         (1240, 'Locally Initiated Resets', 8),,
;	MR6043	         (1241, 'Remotely Initiated Resets', 8),,
;	MR6044	         (1242, 'Network Initiated Resets', 8),
;	 R6045	         %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  74
		LINE Counters					 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (14)

;	 R6046	%sbttl 'LINE Counters'
;	 R6047	
;	 R6048	macro
;	MR6049	     $NML$LINE_COUNTERS =
;	MR6050	         (0000, 'Seconds Since Last Zeroed', 16),,
;	MR6051	         (1000, 'Bytes Received', 32),,
;	MR6052	         (1001, 'Bytes Sent', 32),,
;	MR6053	         (1010, 'Data Blocks Received', 32),,
;	MR6054	         (1011, 'Data Blocks Sent', 32),,
;	MR6055	         (1020, 'Data Errors Inbound', 8),
;	MR6056	             ((0, 'NAKs Sent, Header Block Check Error'),
;	MR6057	              (1, 'NAKs Sent, Data Field Block Check'),
;	MR6058	              (2, 'NAKs Sent, REP Response'),
;	MR6059	              (3, 'Block Too Long'),
;	MR6060	              (4, 'Block Check Error'),
;	MR6061	              (5, 'REJ Sent')),
;	MR6062	         (1021, 'Data Errors Outbound', 8),
;	MR6063	             ((0, 'NAKs Received, Header Block Check Error'),
;	MR6064	              (1, 'NAKs Received, Data Field Block Check Error'),
;	MR6065	              (2, 'NAKs Received, REP Response'),
;	MR6066	              (3, 'REJ Received')),
;	MR6067	         (1030, 'Remote Reply Timeouts', 8),,
;	MR6068	         (1031, 'Local Reply Timeouts', 8),,
;	MR6069	         (1040, 'Remote Buffer Errors', 8),
;	MR6070	             ((0, 'NAKs Received, Buffer Unavailable'),
;	MR6071	              (1, 'NAKs Received, Buffer Too Small'),
;	MR6072	              (2, 'RNR Received, Buffer Unavailable')),
;	MR6073	         (1041, 'Local Buffer Errors', 8),
;	MR6074	             ((0, 'NAKs Sent, Buffer Unavailable'),
;	MR6075	              (1, 'NAKs Sent, Buffer Too Small'),
;	MR6076	              (2, 'RNR Sent, Buffer Unavailable')),
;	MR6077	         (1050, 'Selection Intervals Elapsed', 16),,
;	MR6078	         (1051, 'Selection Timeouts', 8),
;	MR6079	             ((0, 'No Reply To Select'),
;	MR6080	              (1, 'Incomplete Reply To Select')),
;	MR6081	         (1100, 'Remote Process Errors', 8),
;	MR6082	             ((0, 'NAKs Received, Receive Overrun'),
;	MR6083	              (1, 'NAKs Sent, Header Format Error'),
;	MR6084	              (2, 'Selection Address Errors'),
;	MR6085	              (3, 'Streaming Tributaries'),
;	MR6086	              (4, 'Invalid N(R) Received'),
;	MR6087	              (5, 'FRMR Sent, Header Format Error')),
;	MR6088	         (1101, 'Local Process Errors', 8),
;	MR6089	             ((0, 'NAKs Sent, Receive Overrun'),
;	MR6090	              (1, 'Receiving Overruns, NAKs Not Sent'),
;	MR6091	              (2, 'Transmit Underrun'),
;	MR6092	              (3, 'NAKs Received, Header Format Error'),
;	MR6093	              (4, 'Receive Overrun'),
;	MR6094	              (5, 'FRMR Received, Header Format Error')),
;	MR6095	         (2500, 'Device Configuration Errors', 8),
;	MR6096	             ((0, 'Invalid Controller Register'),
;	MR6097	              (1, 'Non-existent Controller Register'),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  75
		LINE Counters					 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (14)

;	MR6098	              (2, 'Invalid Unit Register'),
;	MR6099	              (3, 'Non-existent Unit Register'),
;	MR6100	              (4, 'Invalid Interrupt Vector'),
;	MR6101	              (5, 'Conflicting Interrupt Vector'),
;	MR6102	              (6, 'Invalid Interrupt priority')),
;	MR6103	         (2501, 'Device Service Errors', 8),
;	MR6104	             ((0, 'Lost Interrupt'),
;	MR6105	              (1, 'Lost RDYI'),
;	MR6106	              (2, 'Lost HALT'),
;	MR6107	              (3, 'Lost Transmit'),
;	MR6108	              (4, 'Lost Doorbell')),
;	MR6109	         (2502, 'Fatal Device Errors', 8),
;	MR6110	             ((0, 'Invalid Register Contents'),
;	MR6111	              (1, 'Receive BA mismatch'),
;	MR6112	              (2, 'Transmit BA mismatch'),
;	MR6113	              (3, 'Non-existent Memory Address given to Device'),
;	MR6114	              (4, 'Microcode error'),
;	MR6115	              (5, 'Completion Queue Overrun'),
;	MR6116	              (6, 'Doorbell Stuck')),
;	MR6117	         (2503, 'KMC Polling Adjustments', 8),
;	 R6118	         %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  76
		MODULE Counters					 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (15)

;	 R6119	%sbttl 'MODULE Counters'
;	 R6120	
;	 R6121	macro
;	MR6122	     $NML$MODULE_COUNTERS =
;	MR6123	         (0000, 'Seconds Since Last Zeroed', 16),,
;	MR6124	         (0200, 'Maximum Circuits Active', 16),,
;	MR6125	         (0210, 'Incoming Calls Rejected, No resources', 8),,
;	MR6126	         (0211, 'Logical Links Rejected, No resources', 8),,
;	MR6127	         (1000, 'Bytes Received', 32),,
;	MR6128	         (1001, 'Bytes Sent', 32),,
;	MR6129	         (1010, 'Data Blocks Received', 32),,
;	MR6130	         (1011, 'Data Blocks Sent', 32),,
;	MR6131	         (1200, 'Calls Received', 16),,
;	MR6132	         (1201, 'Calls Sent', 16),,
;	MR6133	         (1210, 'Fast Selects Received', 16),,
;	MR6134	         (1211, 'Fast Selects Sent', 16),,
;	MR6135	         (1220, 'Maximum Switched Circuits Active', 16),,
;	MR6136	         (1221, 'Maximum Channels Active', 16),,
;	MR6137	         (1230, 'Received Call Resource Errors', 16),,
;	MR6138	         (1240, 'Locally Initiated Resets', 8),,
;	MR6139	         (1241, 'Network Initiated Resets', 8),,
;	MR6140	         (1242, 'Remotely Initiated Resets', 8),,
;	MR6141	         (1250, 'Restarts', 8),
;	 R6142	         %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  77
		NODE Counters					 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (16)

;	 R6143	%sbttl 'NODE Counters'
;	 R6144	
;	 R6145	macro
;	MR6146	     $NML$NODE_COUNTERS =
;	MR6147	         (0000, 'Seconds Since Last Zeroed', 16),,
;	MR6148	         (0600, 'Bytes Received', 32),,
;	MR6149	         (0601, 'Bytes Sent', 32),,
;	MR6150	         (0610, 'Messages Received', 32),,
;	MR6151	         (0611, 'Messages Sent', 32),,
;	MR6152	         (0620, 'Connects Received', 16),,
;	MR6153	         (0621, 'Connects Sent', 16),,
;	MR6154	         (0630, 'Response Timeouts', 16),,
;	MR6155	         (0640, 'Received Connect Resource Errors', 16),,
;	MR6156	         (0700, 'Maximum Logical Links Active', 16),,
;	MR6157	         (0900, 'Packet Loss', 8),,
;	MR6158	         (0901, 'Node Unreachable Packet Loss', 16),,
;	MR6159	         (0902, 'Node Out-of-Range Packet Loss', 8),,
;	MR6160	         (0903, 'Oversized Packet Loss', 8),,
;	MR6161	         (0910, 'Packet Format Errors', 8),,
;	MR6162	         (0920, 'Partial Routing Update Loss', 8),,
;	MR6163	         (0930, 'Verification Rejects', 8),
;	 R6164	         %;
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  78
		Events						 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (17)

;	 R6165	%sbttl 'Events'
;	 R6166	
;	 R6167	macro
;	MR6168	    $NML$EVENTS =
;	MR6169	        $NML$NETWORK_MANAGEMENT_EVENTS,
;	MR6170	        $NML$SESSION_CONTROL_EVENTS,
;	MR6171	        $NML$NETWORK_SERVICES_EVENTS,
;	MR6172	        $NML$TRANSPORT_EVENTS,
;	MR6173	        $NML$DATA_LINK_EVENTS,
;	 R6174	        $NML$PHYSICAL_LINK_EVENTS %,
;	MR6175	    $NML$EVENT_PARAMS =
;	MR6176	        $NML$NETWORK_MANAGEMENT_PARAMS,
;	MR6177	        $NML$SESSION_CONTROL_PARAMS,
;	MR6178	        $NML$NETWORK_SERVICES_PARAMS,
;	MR6179	        $NML$TRANSPORT_PARAMS,
;	MR6180	        $NML$DATA_LINK_PARAMS,
;	 R6181	        $NML$PHYSICAL_LINK_PARAMS %;
;	 R6182	
;	 R6183	macro
;	MR6184	    $NML$NETWORK_MANAGEMENT_EVENTS =
;	MR6185	        (0, 0, none, 'Event records lost'),
;	MR6186	        (0, 1, node, 'Automatic node counters', Counters),
;	MR6187	        (0, 2, line, 'Automatic line counters', Counters),
;	MR6188	        (0, 3, line, 'Automatic line service', (0, 1)),
;	MR6189	        (0, 4, line, 'Line counters zeroed', Counters),
;	MR6190	        (0, 5, node, 'Node counters zeroed', Counters),
;	MR6191	        (0, 6, circuit, 'Passive loopback', 2),
;	MR6192	        (0, 7, circuit, 'Aborted service request', 3),
;	MR6193	        (0, 8, any, 'Automatic counters', (4, Counters)),
;	 R6194	        (0, 9, any, 'Counters zeroed', (4, Counters)) %,
;	 R6195	
;	MR6196	    $NML$NETWORK_MANAGEMENT_PARAMS =
;	MR6197	        (0, (C, 1, 'Service', (0, 'Load',
;	MR6198	                               1, 'Dump'))),
;	MR6199	        (1, (CM, 'Status',
;	MR6200	             (C, 1, 'Return code'),,
;	MR6201	             (C, 2, 'Error detail'), optional,
;	MR6202	             (AI, 72, 'Error message'), optional)),
;	MR6203	        (2, (C, 1, 'Operation', (0, 'Initiated',
;	MR6204	                                 1, 'Terminated'))),
;	MR6205	        (3, (C, 1, 'Reason', (0, 'Receive timeout',
;	MR6206	                              1, 'Receive error',
;	MR6207	                              2, 'Line state change by higher level',
;	MR6208	                              3, 'Unrecognized request',
;	MR6209	                              4, 'Line open error'))),
;	MR6210	        (4, (CM, 'Qualifier',
;	MR6211	             (C, 2, 'Parameter type'),,
;	 R6212	             (AI, 16, 'ID string'))) %;
;	 R6213	
;	 R6214	macro
;	MR6215	    $NML$SESSION_CONTROL_EVENTS =
;	MR6216	        (2, 0, none, 'Local node state change', (0, 1, 2)),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  79
		Events						 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (17)

;	 R6217	        (2, 1, none, 'Access control reject', (3, 4, 5, 6, 7, 8)) %,
;	 R6218	
;	MR6219	    $NML$SESSION_CONTROL_PARAMS =
;	MR6220	        (0, (C, 1, 'Reason', (0, 'Operator Command',
;	MR6221	                              1, 'Normal Operation'))),
;	MR6222	        (1, (C, 1, 'Old State', (0, 'On',
;	MR6223	                                 1, 'Off',
;	MR6224	                                 2, 'Shut',
;	MR6225	                                 3, 'Restricted'))),
;	MR6226	        (2, (C, 1, 'New State', (0, 'On',
;	MR6227	                                 1, 'Off',
;	MR6228	                                 2, 'Shut',
;	MR6229	                                 3, 'Restricted'))),
;	MR6230	        (3, (NODE_ID, 'Source Node')),
;	MR6231	        (4, (CM, 'Source Process',
;	MR6232	             (DU, 1, 'Object Type'),,
;	MR6233	             (DU, 1, 'Group Code'), optional,
;	MR6234	             (DU, 1, 'User Code'), optional,
;	MR6235	             (AI, 16, 'Process Name'), optional)),
;	MR6236	        (5, (CM, 'Destination Process',
;	MR6237	             (DU, 1, 'Object Type'),,
;	MR6238	             (DU, 1, 'Group Code'), optional,
;	MR6239	             (DU, 1, 'User Code'), optional,
;	MR6240	             (AI, 16, 'Process Name'), optional)),
;	MR6241	        (6, (AI, 39, 'User')),
;	MR6242	        (7, (C, 1, 'Password', (0, 'Set'))),
;	 R6243	        (8, (AI, 39, 'Account')) %;
;	 R6244	
;	 R6245	macro
;	MR6246	    $NML$NETWORK_SERVICES_EVENTS =
;	MR6247	        (3, 0, none, 'Invalid message', 0),
;	MR6248	        (3, 1, none, 'Invalid flow control', (0, 1)),
;	 R6249	        (3, 2, node, 'Data base reused', Counters) %,
;	 R6250	
;	MR6251	    $NML$NETWORK_SERVICES_PARAMS =
;	MR6252	        (0, (HI, 12, 'Message')),
;	 R6253	        (1, (DS, 1, 'Current Flow Control Request Count')) %;
;	 R6254	
;	 R6255	macro
;	MR6256	    $NML$TRANSPORT_EVENTS =
;	MR6257	        (4, 0, none, 'Aged packet loss', 0),
;	MR6258	        (4, 1, circuit, 'Node unreachable packet loss', 0),
;	MR6259	        (4, 2, circuit, 'Node out-of-range packet loss', 0),
;	MR6260	        (4, 3, circuit, 'Oversize packet loss', 0),
;	MR6261	        (4, 4, circuit, 'Packet format error', 1),
;	MR6262	        (4, 5, circuit, 'Partial routing update loss', (0, 2)),
;	MR6263	        (4, 6, circuit, 'Verification reject', 3),
;	MR6264	        (4, 7, circuit, 'Circuit down, circuit fault', 5),
;	MR6265	        (4, 8, circuit, 'Circuit down, software fault', (5, 0)),
;	MR6266	        (4, 9, circuit, 'Circuit down, operator fault', (5, 0, 4)),
;	MR6267	        (4, 10, circuit, 'Line up', 3),
;	MR6268	        (4, 11, circuit, 'Initialization failure, line fault', 5),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  80
		Events						 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (17)

;	MR6269	        (4, 12, circuit, 'Initialization failure, software fault', (5, 0)),
;	MR6270	        (4, 13, circuit, 'Initialization failure, operator fault', (5, 0, 6)),
;	 R6271	        (4, 14, node, 'Node reachability change', 7) %,
;	 R6272	
;	MR6273	    $NML$TRANSPORT_PARAMS =
;	MR6274	        (0, (CM, 'Packet Header',
;	MR6275	             (H, 1, 'Message Flags'), optional,
;	MR6276	             (DU, 2, 'Destination Node Address'),,
;	MR6277	             (DU, 2, 'Source Node Address'), optional,
;	MR6278	             (H, 1, 'Forwarding Data'))),
;	MR6279	        (1, (HI, 6, 'Packet Beginning')),
;	MR6280	        (2, (DU, 2, 'Highest Address')),
;	MR6281	        (3, (NODE_ID, 'Node')),
;	MR6282	        (4, (NODE_ID, 'Expected Node')),
;	MR6283	        (5, (C, 1, 'Reason', (0, 'Line Synchronization Lost',
;	MR6284	                              1, 'Data Errors',
;	MR6285	                              2, 'Unexpected Packet Type',
;	MR6286	                              3, 'Routing Update Checksum Error',
;	MR6287	                              4, 'Adjacent Node Address Change',
;	MR6288	                              5, 'Verification Receive Timeout',
;	MR6289	                              6, 'Version Skew',
;	MR6290	                              7, 'Adjacent Node Address out of Range',
;	MR6291	                              8, 'Adjacent Node Block Size too Small',
;	MR6292	                              9, 'Invalid Verification Seed Value',
;	MR6293	                              10, 'Adjacent Node Listener Receive Timeout',
;	MR6294	                              11, 'Adjacent Node Listener Received Invalid Data',
;	MR6295	                              12, 'Call Failed'))),
;	MR6296	        (6, (CM, 'Received Version',
;	MR6297	             (DU, 1, 'Version Number'),,
;	MR6298	             (DU, 1, 'ECO Number'),,
;	MR6299	             (DU, 1, 'User ECO Number'))),
;	MR6300	        (7, (C, 1, 'Status', (0, 'Reachable',
;	 R6301	                              1, 'Unreachable'))) %;
;	 R6302	
;	 R6303	macro
;	MR6304	    $NML$DATA_LINK_EVENTS =
;	MR6305	        (5, 0, circuit, 'Locally initiated state change', (0, 1)),
;	MR6306	        (5, 1, circuit, 'Remotely initiated state change', (0, 1)),
;	MR6307	        (5, 2, circuit, 'Protocol restart received in maintenance mode'),
;	MR6308	        (5, 3, circuit, 'Send error threshold', Counters),
;	MR6309	        (5, 4, circuit, 'Receive error threshold', Counters),
;	MR6310	        (5, 5, circuit, 'Select error threshold', Counters),
;	MR6311	        (5, 6, circuit, 'Block header format error', 2),
;	MR6312	        (5, 7, circuit, 'Selection address error', (3, 6, 4)),
;	MR6313	        (5, 8, circuit, 'Streaming tributary', (5, 6)),
;	MR6314	        (5, 9, circuit, 'Local buffer too small', (7, 8)),
;	MR6315	        (5, 10, module, 'Restart', (9, 14, 15)),
;	MR6316	        (5, 11, module, 'State change', (9, 10, 11, 12)),
;	MR6317	        (5, 12, module, 'Retransmit maximum exceeded', (9, 12)),
;	 R6318	        (96 + 5, 13, circuit, 'Maintenance message received') %,
;	 R6319	
;	MR6320	    $NML$DATA_LINK_PARAMS =
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  81
		Events						 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (17)

;	MR6321	        (0, (C, 1, 'Old State', (0, 'Halted',
;	MR6322	                                 1, 'Istrt',
;	MR6323	                                 2, 'Astrt',
;	MR6324	                                 3, 'Running',
;	MR6325	                                 4, 'Maintenance'))),
;	MR6326	        (1, (C, 1, 'New State', (0, 'Halted',
;	MR6327	                                 1, 'Istrt',
;	MR6328	                                 2, 'Astrt',
;	MR6329	                                 3, 'Running',
;	MR6330	                                 4, 'Maintenance'))),
;	MR6331	        (2, (HI, 6, 'Header')),
;	MR6332	        (3, (DU, 1, 'Selected Tributary')),
;	MR6333	        (4, (DU, 1, 'Previous Tributary')),
;	MR6334	        (5, (C, 1, 'Tributary Status', (0, 'Streaming',
;	MR6335	                                        1, 'Continued Send after Timeout',
;	MR6336	                                        2, 'Continued Send after Deselect',
;	MR6337	                                        3, 'Endec Streaming'))),
;	MR6338	        (6, (DU, 1, 'Received Tributary')),
;	MR6339	        (7, (DU, 2, 'Block Length')),
;	MR6340	        (8, (DU, 2, 'Buffer Length')),
;	MR6341	        (9, (AI, 16, 'DTE')),
;	MR6342	        (10, (C, 1, 'Reason', (0, 'Operator Command',
;	MR6343	                               1, 'Normal Operation'))),
;	MR6344	        (11, (C, 1, 'Old State', (0, 'Off',
;	MR6345	                                  1, 'On'))),
;	MR6346	        (12, (C, 1, 'New State', (0, 'Off',
;	MR6347	                                  1, 'On'))),
;	MR6348	        (13, (C, 2, 'Parameter Type')),
;	MR6349	        (14, (DU, 1, 'Cause')),
;	 R6350	        (15, (DU, 1, 'Diagnostic')) %;
;	 R6351	
;	 R6352	macro
;	MR6353	    $NML$PHYSICAL_LINK_EVENTS =
;	MR6354	        (6, 0, line, 'Data set ready transition', 1),
;	MR6355	        (6, 1, line, 'Ring indicator transition', 1),
;	MR6356	        (6, 2, line, 'Unexpected carrier transition', 1),
;	MR6357	        (6, 3, line, 'Memory access error', 0),
;	MR6358	        (6, 4, line, 'Communications interface error', 0),
;	MR6359	        (6, 5, line, 'Performance error', 0),
;	MR6360	        (96 + 6, 0, line, 'Device configuration error', (2500, 2501)),
;	MR6361	        (96 + 6, 1, line, 'Device service error', 2504),
;	MR6362	        (96 + 6, 2, line, 'Fatal device error', (2504, 0)),
;	MR6363	        (96 + 6, 3, line, 'KMC Polling adjustment', 2502),
;	MR6364	        (96 + 6, 4, line, 'DTE-20 Protocol error', 2503),
;	 R6365	        (96 + 6, 5, line, 'DTE-20 pause timeout') %,
;	 R6366	
;	MR6367	    $NML$PHYSICAL_LINK_PARAMS =
;	MR6368	        (0, (H, 2, 'Device Register')),
;	MR6369	        (1, (C, 1, 'New State', (0, 'Off',
;	MR6370	                                 1, 'On'))),
;	MR6371	        (2500, (C, 2, 'Parameter Number')),
;	MR6372	        (2501, (O, 2, 'Parameter Value')),
		NMARCH -- Network Management Architecture Decla 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  82
		Events						 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (17)

;	MR6373	        (2502, (DU, 1, 'Polling Count')),
;	MR6374	        (2503, (O, 4, 'Comm/Region Word')),
;	MR6375	        (2504, (C, 1, 'Reason', (0, 'Invalid Output Code',
;	MR6376	                                 1, 'Invalid Unit',
;	MR6377	                                 2, 'Invalid Error Notification',
;	MR6378	                                 3, 'Receive BA Error',
;	MR6379	                                 4, 'Transmit BA Error',
;	MR6380	                                 5, 'Procedure Error',
;	MR6381	                                 6, 'Completion Queue Overrun',
;	MR6382	                                 7, 'Non-existent Memory',
;	MR6383	                                 8, 'Microcode Won''t Load',
;	MR6384	                                 9, 'Microcode Won''t Start',
;	MR6385	                                 10, 'Doorbell Stuck',
;	MR6386	                                 11, 'Lost Interrupt',
;	MR6387	                                 12, 'Lost RDYI',
;	MR6388	                                 13, 'Lost Halt',
;	MR6389	                                 14, 'Lost Transmit',
;	MR6390	                                 15, 'Receive Overrun',
;	 R6391	                                 16, 'Doorbell Lost'))) %;
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  83
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (18)

;	 R6392	%title '' %sbttl ''
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  84
								 3-Jan-1983 00:53:27	DNET61:<MCB.NML>NMARCH.REQ.1 (19)

;	 R6393	
;	 R6394	! Local Modes:
;	 R6395	! Mode:BLISS
;	 R6396	! Auto Save Mode:2
;	 R6397	! Comment Column:40
;	 R6398	! Comment Rounding:+1
;	 R6399	! End:
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  85
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  6400	
;	  6401	require 'DEBUG';			! Debugging facility
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  86
								 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (1)

;	 R6402	! NET:<VOBA.NML.DEVELOPMENT>DEBUG.REQ.10 18-Feb-82 15:21:40, Edit by VOBA
;	 R6403	!
;	 R6404	!    Clean up code and update copyright date.
;	 R6405	!
;	 R6406	! NET:<GROSSMAN>DEBUG.REQ.3 19-Jan-82 11:18:03, Edit by GROSSMAN
;	 R6407	!
;	 R6408	!    Fix syntax bug in DEBUG_BITS macro. (Missing comma)
;	 R6409	!
;	 R6410	! NET:<BRANDT.DEVELOP>DEBUG.REQ.1  15-Jan-82 17:30:45, Edit by BRANDT
;	 R6411	!
;	 R6412	!    Fix %routine and %global_routine to include a %sbttl line,
;	 R6413	!    thus making it easier to peruse listings.
;	 R6414	!
;	 R6415	! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.8  7-Jul-81 09:40:45, Edit by JENNESS
;	 R6416	!
;	 R6417	!    Fix %routine and %global_routine to suppress generation of
;	 R6418	!    literal containing routine name in MCB version (save the space).
;	 R6419	!
;	 R6420	! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.6  2-Jul-81 19:48:28, Edit by GUNN
;	 R6421	!
;	 R6422	!    Add FORMAT_BUFFER macro to convert the contents of a message
;	 R6423	!    buffer to readable text.
;	 R6424	!
;	 R6425	! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.3  2-Jul-81 09:31:42, Edit by JENNESS
;	 R6426	!
;	 R6427	!    Fix DEBUG_TELL to output the debug flag mnemonic along with
;	 R6428	!    with the feature name.
;	 R6429	!
;	 R6430	! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.2 27-Jun-81 18:28:21, Edit by JENNESS
;	 R6431	!
;	 R6432	!    Add DLW_TRACE debugging flag for DATA LINK WATCHER task.
;	 R6433	!
;	 R6434	! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.5 24-Jun-81 09:30:11, Edit by JENNESS
;	 R6435	!
;	 R6436	!    Add FILE_TRACE debugging flag for NMUFIL routines.
;	 R6437	!    Add PAGE_TRACE debugging flag for NMUPAG routines.
;	 R6438	!
;	 R6439	!NET:<DECNET20-V3P1.NMU>DEBUG.REQ.2 12-Jun-81 13:31:31, Edit by JENNESS
;	 R6440	!
;	 R6441	!    Readability improvements.
;	 R6442	!
;	 R6443	!<DECNET20-V3P1.BASELEVEL-2.MCB>DEBUG.REQ.4 25-May-81 08:35:41, Edit by SROBINSON
;	 R6444	!
;	 R6445	!    Limit Text Generation in $MCB
;	 R6446	!
;	 R6447	!NET:<DECNET20-V3P1.NMU>DEBUG.REQ.7 20-May-81 11:28:48, Edit by JENNESS
;	 R6448	!
;	 R6449	!    Add TRACE_INFO_CL macro.  This appends to output previously generated
;	 R6450	!    by a TRACE_INFO or TRACE_INFO_C macro.
;	 R6451	!
;	 R6452	!NET:<DECNET20-V3P1.NMU>DEBUG.REQ.2  5-May-81 10:45:48, Edit by JENNESS
;	 R6453	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  87
								 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (1)

;	 R6454	!    Add TRACE_INFO_C macro.  This prints the same way that TRACE_INFO
;	 R6455	!    does, except that it doesn't included the task and routine names.
;	 R6456	!
;	 R6457	!NET:<DECNET20-V3P1.NMU>DEBUG.REQ.3 28-Apr-81 09:06:48, Edit by JENNESS
;	 R6458	!
;	 R6459	!    Add check to %routine and %global_routine to undeclare %RTN_NAME
;	 R6460	!    only if it was already declared (BLISS has gotten stricter).
;	 R6461	!
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  88
								 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (2)

;	 R6462	%title 'DEBUG -- Debugging Macros And Definitions'
;	 R6463	
;	 R6464	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R6465	!                    DIGITAL EQUIPMENT CORPORATION
;	 R6466	!                        Maynard, Massachusetts
;	 R6467	!
;	 R6468	!     This software is furnished under a license and may  be  used
;	 R6469	!     and copied only in accordance with the terms of such license
;	 R6470	!     and with the inclusion of the above copyright notice.   This
;	 R6471	!     software  or any other copies thereof may not be provided or
;	 R6472	!     otherwise made available to any other person.  No  title  to
;	 R6473	!     and ownership of the software is hereby transferred.
;	 R6474	!
;	 R6475	!     The information  in  this  software  is  subject  to  change
;	 R6476	!     without  notice  and should not be construed as a commitment
;	 R6477	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R6478	!
;	 R6479	!     DIGITAL assumes no responsibility for the use or reliability
;	 R6480	!     of  its  software  on  equipment  which  is  not supplied by
;	 R6481	!     DIGITAL.
;	 R6482	!
;	 R6483	
;	 R6484	!++
;	 R6485	! Facility: LSG DECnet Network Management
;	 R6486	!
;	 R6487	! Abstract: This file contains definitions used for conditionalized
;	 R6488	!	    debugging and execution tracing.
;	 R6489	!
;	 R6490	! Environment: Bliss-36, Bliss-32 and Bliss-16.
;	 R6491	!
;	 R6492	! Author: Steven M. Jenness, Creation date: 18-Mar-81
;	 R6493	!
;	 R6494	!--
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  89
		Debugging Expressions And Feature Names		 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (3)

;	 R6495	%sbttl 'Debugging Expressions And Feature Names'
;	 R6496	
;	 R6497	literal TRACE_BUFFER_LENGTH = 200;	! Length of buffer for TRACE_INFO
;	 R6498	
;	 R6499	
;	 R6500	! macro: %DEBUG
;	 R6501	!
;	 R6502	!		This macro conditionally executes the code given
;	 R6503	!		in the argument list.  There are two stages to
;	 R6504	!		the conditionalization:
;	 R6505	!
;	 R6506	!		(1) Compile time    The code is compiled only if
;	 R6507	!				    the VARIANT compiler switch
;	 R6508	!				    is given with a value of 1.
;	 R6509	!
;	 R6510	!		(2) Run time	    The code is executed only if
;	 R6511	!				    the expression given in the
;	 R6512	!				    BOOLEAN field is true.  If the
;	 R6513	!				    word ALWAYS is given instead
;	 R6514	!				    the code will always be executed
;	 R6515	!				    if (1) above is satisfied.
;	 R6516	!
;	 R6517	!    e.x.    %debug (DEBUG_TRACE, (TRACE_INFO ('Debugging is on')));
;	 R6518	
;	 R6519	
;	 R6520	macro
;	MR6521	     %DEBUG (BOOLEAN, CODE) =
;	MR6522	         %if %variant eql 1
;	MR6523	         %then %if %identical (BOOLEAN, ALWAYS)
;	MR6524	               %then %remove (CODE)
;	MR6525	               %else if BOOLEAN
;	MR6526	                     then CODE
;	MR6527	               %fi
;	 R6528	         %fi %;
;	 R6529	
;	 R6530	
;	 R6531	! macro: DEBUG_FLAG_SET
;	 R6532	!
;	 R6533	!		This macro defines all the conditions that can be
;	 R6534	!		selected at run time for debugging.  (See %debug
;	 R6535	!		example above for keyword usage).  The DB.xxx symbol
;	 R6536	!		is defined as a global symbol so that debugging features
;	 R6537	!		can be easily enabled or disabled from DDT.
;	 R6538	!
;	 R6539	
;	 R6540	macro
;	MR6541	     DEBUG_FLAG_SET =
;	MR6542	         'DEBUG_TRACE',		'DB.TRA',
;	MR6543	         'ROUTINE_TRACE',	'DB.RTN',
;	MR6544	         'LOCAL_GALAXY',	'DB.GLX',
;	MR6545	         'MEMORY_TRACE',	'DB.MEM',
;	MR6546	         'MEMORY_CONSISTENCY',	'DB.MCS',
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  90
		Debugging Expressions And Feature Names		 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (3)

;	MR6547	         'SCHEDULER_TRACE',	'DB.SKD',
;	MR6548	         'EVENT_TRACE',		'DB.EVT',
;	MR6549	         'NETWORK_TRANSITIONS',	'DB.NET',
;	MR6550	         'NETWORK_TRACE',	'DB.NTT',
;	MR6551	         'NETWORK_DESCRIPTOR',	'DB.DES',
;	MR6552	         'NCP_NICE_VALIDATION',	'DB.NCP',
;	MR6553	         'IPCF_TRACE',		'DB.IPC',
;	MR6554	         'FILE_TRACE',		'DB.FIL',
;	MR6555	         'PAGE_TRACE',          'DB.PAG',
;	MR6556	         'DLW_TRACE',           'DB.DLW',
;	MR6557	         'FILE_DATA_TRACE',     'DB.FDT',
;	MR6558	         'DAP_MESSAGE_TRACE',   'DB.DAP',
;	MR6559	         'CTT_TRACE',		'DB.CTT'
;	 R6560	         %;
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  91
		Debugging Data Base				 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (4)

;	 R6561	%sbttl 'Debugging Data Base'
;	 R6562	
;	 R6563	! macro: %DEBUG_DATA_BASE
;	 R6564	!
;	 R6565	!		This macro is used in either an external or global
;	 R6566	!		statement to setup the definitions to the debugging
;	 R6567	!		data base.  This data base contains bit flags for
;	 R6568	!		each of the debugging features.
;	 R6569	!
;	 R6570	!    e.x.    external %debug_data_base;
;	 R6571	
;	 R6572	
;	 R6573	macro
;	MR6574	     DEBUG_BIT [NAME, BIT_NAME] =
;	 R6575	         %name (NAME, '_FLAG') = [$bit] %;
;	 R6576	
;	 R6577	$field DEBUG_BITS =
;	 R6578	    set
;	 R6579	    DEBUG_BIT (DEBUG_FLAG_SET)
;	 R6580	    tes;
;	 R6581	
;	 R6582	literal
;	 R6583	    DEBUG_FLAGS_SIZE = $field_set_size;
;	 R6584	
;	 R6585	macro
;	MR6586	     %DEBUG_DATA_BASE = 
;	 R6587	         DEBUG : block [DEBUG_FLAGS_SIZE] field (DEBUG_BITS) %;
;	 R6588	
;	 R6589	
;	 R6590	! macro: %MASTER_DEBUG_DATA_BASE
;	 R6591	!
;	 R6592	!		This macro is used in one place only in a program
;	 R6593	!		to define the static storage needed for debugging.
;	 R6594	!		This includes the bit flag structure (DEBUG) used
;	 R6595	!		for feature tests and the TRACE_BUFFER used by
;	 R6596	!		the TRACE_INFO macro.  Also the global literal bit
;	 R6597	!		values for the debugging features are defined.
;	 R6598	!
;	 R6599	!    e.x.    %master_debug_data_base;
;	 R6600	
;	 R6601	
;	 R6602	macro
;	MR6603	     DEBUG_GLOBALS [NAME, BIT_NAME] =
;	 R6604	         %name (BIT_NAME) = 1 ^ (%fieldexpand (%name (NAME, '_FLAG'), 1)) %;
;	 R6605	
;	 R6606	macro
;	MR6607	     %MASTER_DEBUG_DATA_BASE =
;	MR6608	         global %DEBUG_DATA_BASE;
;	MR6609	         global TRACE_BUFFER : vector [ch$allocation (TRACE_BUFFER_LENGTH)];
;	 R6610	         global literal DEBUG_GLOBALS (DEBUG_FLAG_SET) %;
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  92
		Debugging Data Accesses And Setup		 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (5)

;	 R6611	%sbttl 'Debugging Data Accesses And Setup'
;	 R6612	
;	 R6613	! macro: FEATURE_NAME
;	 R6614	!
;	 R6615	!		This is a set of macros that are defined with
;	 R6616	!		the same names as given in the DEBUG_FLAG_SET.
;	 R6617	!		When the name is specified in some code it expands
;	 R6618	!		to a 'fetch' of the associated bit in the debugging
;	 R6619	!		data base.
;	 R6620	!
;	 R6621	!    e.x.    %debug (MEMORY_TRACE, (TRACE_INFO ('Tracing memory')));
;	 R6622	!
;	 R6623	!			<or>
;	 R6624	!
;	 R6625	!	     if MEMORY_TRACE then exitloop;
;	 R6626	
;	 R6627	
;	 R6628	macro
;	MR6629	     DEBUG_FLAG [NAME, BIT_NAME] =
;	 R6630	         %name (NAME) = .DEBUG [%name (NAME, '_FLAG')] %quote % %;
;	 R6631	
;	 R6632	macro
;	 R6633	     %unquote DEBUG_FLAG (DEBUG_FLAG_SET);
;	 R6634	
;	 R6635	
;	 R6636	! macro: %DEBUG_SETUP
;	 R6637	!
;	 R6638	!		This macro is called someplace early on in the
;	 R6639	!		initialization of a program (in run time code).
;	 R6640	!		The call to this is preferably in the same module
;	 R6641	!		as the %MASTER_DEBUG_DATA_BASE macro call.  It
;	 R6642	!		does a little hand holding for users who have forgotten
;	 R6643	!		that the value in 135 is no longer being used for
;	 R6644	!		debugging flags.  After the debugging data base is
;	 R6645	!		initialized properly, the features that are enabled
;	 R6646	!		is printed out if DEBUG_TRACE is enabled.
;	 R6647	!
;	 R6648	!    e.x.    %debug_setup;
;	 R6649	
;	 R6650	
;	 R6651	macro
;	MR6652	     DEBUG_TELL [NAME, BIT_NAME] =
;	MR6653	         if %name (NAME)
;	 R6654	         then TASK_INFO (%string ('	(', BIT_NAME, ') ', NAME)) %;
;	 R6655	
;	 R6656	macro
;	MR6657	     %DEBUG_SETUP =
;	MR6658	         %debug (always,
;	MR6659	                (begin
;	MR6660	                 if .%o'135' neq 0
;	MR6661	                 then begin
;	MR6662	                      DEBUG[DEBUG_TRACE_FLAG] = 1;
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  93
		Debugging Data Accesses And Setup		 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (5)

;	MR6663	                      DEBUG[LOCAL_GALAXY_FLAG] = 1;
;	MR6664	                      end;
;	MR6665	
;	MR6666	                 if .%o'135' gtr 0
;	MR6667	                 then begin
;	MR6668	                      DEBUG[NCP_NICE_VALIDATION_FLAG] = 1;
;	MR6669	                      DEBUG[SCHEDULER_TRACE_FLAG] = 1;
;	MR6670	                      end;
;	MR6671	
;	MR6672	                 %debug (DEBUG_TRACE,
;	MR6673	                        (begin
;	MR6674	                         TASK_INFO ('Debugging enabled for:');
;	MR6675	                         DEBUG_TELL (DEBUG_FLAG_SET);
;	MR6676	                         end));
;	 R6677	                 end)) %;
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  94
		Trace Message Facilities			 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (6)

;	 R6678	%sbttl 'Trace Message Facilities'
;	 R6679	
;	 R6680	! macro: %MODULE_NAME
;	 R6681	!
;	 R6682	!		This macro declares to the tracing facility
;	 R6683	!		the name of the module that is currently being
;	 R6684	!		called.
;	 R6685	!
;	 R6686	!    e.x.    %module_name ('NMUSKD');
;	 R6687	
;	 R6688	
;	 R6689	macro
;	MR6690	     %MODULE_NAME (NAME) =
;	 R6691	         %debug (always, bind %mod_name = ch$asciz (NAME)) %;
;	 R6692	
;	 R6693	
;	 R6694	! macro: %ROUTINE
;	 R6695	!	 %GLOBAL_ROUTINE
;	 R6696	!
;	 R6697	!		These macros declare to the tracing facility
;	 R6698	!		the name of the routine that is currently being
;	 R6699	!		executed.  The formal parameters may also
;	 R6700	!		specified in the calls to these macros.  Note
;	 R6701	!		that these calls must replace the normal ROUTINE
;	 R6702	!		or GLOBAL ROUTINE declarations.
;	 R6703	!
;	 R6704	!    e.x.    %routine ('NMU$NETWORK_READ', LINK_ID, BUFFER_LENGTH, BUFFER) =
;	 R6705	!
;	 R6706	!			<or>
;	 R6707	!
;	 R6708	!	     %routine ('NMU$MEMORY_RELEASE') (P, AMOUNT) : novalue =
;	 R6709	
;	 R6710	
;	 R6711	macro
;	MR6712	     %ROUTINE (NAME) =
;	MR6713	         %if %declared (%rtn_name)
;	MR6714	         %then undeclare %rtn_name; %fi
;	MR6715	
;	MR6716	         %if not $MCB
;	MR6717	         %then bind %rtn_name = ch$asciz (NAME); %fi
;	MR6718	
;	MR6719	         %sbttl %string (NAME %if not %identical (NAME, %string (%name (NAME)))
;	MR6720	                              %then ,' as ', %name(NAME) %fi)
;	MR6721	         routine %name (NAME)
;	MR6722	
;	MR6723	         %if %length gtr 1
;	 R6724	         %then (%remaining) %fi %;
;	 R6725	
;	 R6726	
;	 R6727	macro
;	MR6728	     %GLOBAL_ROUTINE (NAME) =
;	MR6729	         %if %declared (%rtn_name)
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  95
		Trace Message Facilities			 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (6)

;	MR6730	         %then undeclare %rtn_name; %fi
;	MR6731	
;	MR6732	         %if not $MCB
;	MR6733	         %then bind %rtn_name = ch$asciz (NAME); %fi
;	MR6734	
;	MR6735	         %sbttl %string (NAME %if not %identical (NAME, %string (%name (NAME)))
;	MR6736	                              %then ,' as ', %name(NAME) %fi)
;	MR6737	
;	MR6738	         global routine %name (NAME)
;	MR6739	
;	MR6740	         %if %length gtr 1
;	 R6741	         %then (%remaining) %fi %;
;	 R6742	
;	 R6743	
;	 R6744	! macro: TRACE_INFO
;	 R6745	!        TRACE_INFO_C
;	 R6746	!        TRACE_INFO_CL
;	 R6747	!
;	 R6748	!		This macro generates a message and sends it to
;	 R6749	!		the controlling terminal.  The message is generated
;	 R6750	!		using the NMU$TEXT processing facility, thus the
;	 R6751	!		message may be parameterized.
;	 R6752	!
;	 R6753	!		The message that results contains the currently running
;	 R6754	!		task's name, the message specified and optionally the
;	 R6755	!		name of the routine the TRACE_INFO was called from.
;	 R6756	!		The routine name output is conditionallized on the
;	 R6757	!		debugging switch ROUTINE_TRACE (DB.RTN).
;	 R6758	!
;	 R6759	!               The TRACE_INFO_C macro works the same as TRACE_INFO
;	 R6760	!               except that it doesn't print the task name and routine
;	 R6761	!               name.  It is used primarily to continue a multiple line
;	 R6762	!               message.
;	 R6763	!
;	 R6764	!               The TRACE_INFO_CL macro appends output to text already
;	 R6765	!		output by a TRACE_INFO or TRACE_INFO_C macro.
;	 R6766	!
;	 R6767	!    e.x.    TRACE_INFO ('This is a dumb message.');
;	 R6768	!
;	 R6769	!		[NML-PROCESSOR]: NMU$FILE_OPEN  This is a dumb message.
;	 R6770	!
;	 R6771	!
;	 R6772	!	     TRACE_INFO ('The number is %D.', .NUMBER);
;	 R6773	!
;	 R6774	!		[NCP]:	NMU$IPCF_FIND	The number is 19.
;	 R6775	
;	 R6776	
;	 R6777	macro
;	MR6778	     TRACE_INFO (PATTERN) =
;	MR6779	         begin
;	MR6780	         external TRACE_BUFFER;
;	MR6781	         external routine SS_MESSAGE, NMU$TEXT;
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  96
		Trace Message Facilities			 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (6)

;	MR6782	
;	MR6783	         local BUFFER_PTR;
;	MR6784	
;	MR6785	         BUFFER_PTR = ch$ptr (TRACE_BUFFER);
;	MR6786	
;	MR6787	         if ROUTINE_TRACE
;	MR6788	         then $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6789	                         %string ('%(22L)A ', PATTERN),
;	MR6790	                         %rtn_name
;	MR6791	                         %if %length gtr 1
;	MR6792	                         %then , %remaining %fi)
;	MR6793	         else $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6794	                         %string (PATTERN)
;	MR6795	                         %if %length gtr 1
;	MR6796	                         %then , %remaining %fi);
;	MR6797	
;	MR6798	         SS_MESSAGE (ch$ptr (TRACE_BUFFER));
;	 R6799	         end %;
;	 R6800	
;	 R6801	
;	 R6802	macro
;	MR6803	     TRACE_INFO_C (PATTERN) =
;	MR6804	         begin
;	MR6805	         external TRACE_BUFFER;
;	MR6806	         external routine SS_CMESSAGE, NMU$TEXT;
;	MR6807	
;	MR6808	         local BUFFER_PTR;
;	MR6809	
;	MR6810	         BUFFER_PTR = ch$ptr (TRACE_BUFFER);
;	MR6811	
;	MR6812	         if ROUTINE_TRACE
;	MR6813	         then $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6814	                         %string ('%22S ', PATTERN)
;	MR6815	                         %if %length gtr 1
;	MR6816	                         %then , %remaining %fi)
;	MR6817	         else $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6818	                         PATTERN
;	MR6819	                         %if %length gtr 1
;	MR6820	                         %then , %remaining %fi);
;	MR6821	
;	MR6822	         SS_CMESSAGE (ch$ptr (TRACE_BUFFER));
;	 R6823	         end %;
;	 R6824	
;	 R6825	
;	 R6826	macro
;	MR6827	     TRACE_INFO_CL (PATTERN) =
;	MR6828	         begin
;	MR6829	         external TRACE_BUFFER;
;	MR6830	         external routine SS_CLMESSAGE, NMU$TEXT;
;	MR6831	
;	MR6832	         local BUFFER_PTR;
;	MR6833	
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  97
		Trace Message Facilities			 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (6)

;	MR6834	         BUFFER_PTR = ch$ptr (TRACE_BUFFER);
;	MR6835	
;	MR6836	         $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6837	                    PATTERN
;	MR6838	                    %if %length gtr 1
;	MR6839	                    %then , %remaining %fi);
;	MR6840	
;	MR6841	         SS_CLMESSAGE (ch$ptr (TRACE_BUFFER));
;	 R6842	         end %;
;	 R6843	
;	 R6844	
;	 R6845	! macro: FORMAT_BUFFER (PATTERN, (pattern_args...), BIAS, POINTER, LENGTH)
;	 R6846	!
;	 R6847	!               Trace contents of a buffer
;	 R6848	
;	 R6849	
;	 R6850	macro
;	MR6851	     FORMAT_BUFFER (PATTERN, ARGS) =
;	MR6852	         begin
;	MR6853	         external TRACE_BUFFER;
;	MR6854	         external routine SS_MESSAGE, NMU$TEXT, NMU$UTILITY_BUFFER_TEXT;
;	MR6855	
;	MR6856	         local BUFFER_PTR;
;	MR6857	
;	MR6858	         BUFFER_PTR = ch$ptr (TRACE_BUFFER);
;	MR6859	
;	MR6860	         if ROUTINE_TRACE
;	MR6861	         then $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6862	                         %string ('%(22L)A ', PATTERN),
;	MR6863	                         %rtn_name
;	MR6864	                         %if %length gtr 1
;	MR6865	                         %then , %remove(ARGS) %fi)
;	MR6866	         else $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
;	MR6867	                         %string (PATTERN)
;	MR6868	                         %if %length gtr 1
;	MR6869	                         %then , %remove(ARGS) %fi);
;	MR6870	
;	MR6871	         SS_MESSAGE (ch$ptr (TRACE_BUFFER));
;	MR6872	
;	MR6873	         NMU$UTILITY_BUFFER_TEXT (%remaining);
;	 R6874	         end %;
		DEBUG -- Debugging Macros And Definitions	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  98
		Trace Message Facilities			 2-Jan-1983 22:42:10	DNET61:<MCB.NML>DEBUG.REQ.1 (7)

;	 R6875	
;	 R6876	%title ''
;	 R6877	%sbttl ''
;	 R6878	
;	 R6879	!
;	 R6880	! [End of DEBUG.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page  99
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  6881	
;	  6882	require 'NMRSP';			! NICE Response processing macros
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 100
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (1)

;	 R6883	! NET:<PECKHAM.DEVELOPMENT>NMRSP.REQ.2 24-May-82 17:55:52, Edit by PECKHAM
;	 R6884	!
;	 R6885	!    Set proper default for ERROR DETAIL to -1.
;	 R6886	!    Optimize string access for MCB.
;	 R6887	!
;	 R6888	! NET:<VOBA.NML.DEVELOPMENT>NMRSP.REQ.7 18-Feb-82 15:49:32, Edit by VOBA
;	 R6889	!
;	 R6890	!    Clean up code and update copyright date.
;	 R6891	!
;	 R6892	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMRSP.REQ.5 16-Oct-81 16:04:12, Edit by PECKHAM
;	 R6893	!
;	 R6894	!    Optimize various macros for MCB.
;	 R6895	!
;	 R6896	! NET:<DECNET20-V3P1.NML>NMRSP.REQ.2  8-Aug-81 11:56:02, Edit by GUNN
;	 R6897	!
;	 R6898	!    Change $RESPONSE macro to provide for error numbers in MCB.
;	 R6899	!
;	 R6900	! NET:<DECNET20-V3P1.NMU>NMRSP.REQ.3 24-Jun-81 08:53:13, Edit by JENNESS
;	 R6901	!
;	 R6902	!    Readability improvements.  Copyright page insertion.
;	 R6903	!
;	 R6904	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMRSP.REQ.2 12-Jun-81 15:26:07, Edit by GUNN
;	 R6905	!
;	 R6906	!    Made calls to NMU$TEXT be under $MCB conditional.
;	 R6907	!
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 101
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (2)

;	 R6908	%title 'NMRSP -- NICE Response Generation Macros'
;	 R6909	
;	 R6910	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R6911	!                    DIGITAL EQUIPMENT CORPORATION
;	 R6912	!                        Maynard, Massachusetts
;	 R6913	!
;	 R6914	!     This software is furnished under a license and may  be  used
;	 R6915	!     and copied only in accordance with the terms of such license
;	 R6916	!     and with the inclusion of the above copyright notice.   This
;	 R6917	!     software  or any other copies thereof may not be provided or
;	 R6918	!     otherwise made available to any other person.  No  title  to
;	 R6919	!     and ownership of the software is hereby transferred.
;	 R6920	!
;	 R6921	!     The information  in  this  software  is  subject  to  change
;	 R6922	!     without  notice  and should not be construed as a commitment
;	 R6923	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R6924	!
;	 R6925	!     DIGITAL assumes no responsibility for the use or reliability
;	 R6926	!     of  its  software  on  equipment  which  is  not supplied by
;	 R6927	!     DIGITAL.
;	 R6928	!
;	 R6929	
;	 R6930	!++
;	 R6931	! Facility: LSG DECnet Network Management
;	 R6932	!
;	 R6933	! Abstract:
;	 R6934	!
;	 R6935	!        This set of macros is used to manipulate error strings used
;	 R6936	!        in NICE processing.  The error string format is the same as
;	 R6937	!        that used in a NICE response message.
;	 R6938	!
;	 R6939	! Environment: Bliss-36, Bliss-32 and Bliss-16.
;	 R6940	!
;	 R6941	! Author: Steven M. Jenness, Creation date: 18-Mar-81
;	 R6942	!
;	 R6943	!--
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 102
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	 R6944	
;	 R6945	! macro: $CLEAR_RESPONSE
;	 R6946	!
;	 R6947	!		This macro clears the response string.
;	 R6948	!
;	 R6949	!    e.x. $CLEAR_RESPONSE (RESPONSE_POINTER);
;	 R6950	
;	 R6951	
;	 R6952	macro
;	MR6953	     $CLEAR_RESPONSE (PTR) =
;	MR6954	         begin
;	MR6955	         local STRPTR;
;	MR6956	
;	MR6957	         STRPTR = PTR;
;	MR6958	         PUTB (0, STRPTR);              ! Clear response code
;	MR6959	%if $MCB
;	MR6960	%then
;	MR6961	         ch$wchar (-1, .STRPTR);        ! Clear error detail
;	MR6962	         ch$wchar_a (ch$rchar_a (STRPTR), STRPTR);
;	MR6963	%else
;	MR6964	         PUTB (-1, STRPTR);             ! Clear error detail
;	MR6965	         PUTB (-1, STRPTR);
;	MR6966	%fi
;	MR6967	         PUTB (0, STRPTR);              ! Clear text length
;	MR6968	         PUTB (0, STRPTR);
;	 R6969	         end %;
;	 R6970	
;	 R6971	
;	 R6972	! macro: $RESPONSE
;	 R6973	!
;	 R6974	!		This macro puts the appropriate values
;	 R6975	!		into the fields in a error response string.
;	 R6976	!
;	 R6977	!	$RESPONSE (PTR, CODE, DET [,TXT] {,PRM ...});
;	 R6978	!
;	 R6979	!	PTR	Byte pointer to error string buffer
;	 R6980	!	CODE	Nice return code
;	 R6981	!	DET	Nice error detail
;	 R6982	!	TXT	Error text string
;	 R6983	!	PRM	Parameters to fill in text string
;	 R6984	!
;	 R6985	!    e.x.    $RESPONSE (.BUFPTR, NICE$_FOE, 1, "No such device");
;	 R6986	
;	 R6987	
;	 R6988	macro
;	MR6989	     $RESPONSE (PTR, CODE, DET, TXT) =
;	MR6990	         begin
;	MR6991	         local STRPTR;
;	MR6992	
;	MR6993	         STRPTR = PTR;
;	MR6994	         PUTB (CODE, STRPTR);
;	MR6995	
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 103
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	MR6996	         %if not %NULL (DET)
;	MR6997	         %then %if %ctce (DET)
;	MR6998	               %then
;	MR6999	                    PUTB ((DET and %o'377'), STRPTR);
;	MR7000	                    PUTB ((DET^-8 and %o'377'), STRPTR);
;	MR7001	               %else
;	MR7002	                    begin
;	MR7003	                    local DETAIL;
;	MR7004	
;	MR7005	                    DETAIL = DET;
;	MR7006	                    PUTW (DETAIL, STRPTR);
;	MR7007	                    end;
;	MR7008	               %fi
;	MR7009	         %else
;	MR7010	%if $MCB
;	MR7011	%then
;	MR7012	               ch$wchar (-1, .STRPTR);
;	MR7013	               ch$wchar_a (ch$rchar_a (STRPTR), STRPTR);
;	MR7014	%else
;	MR7015	               PUTB (-1, STRPTR);
;	MR7016	               PUTB (-1, STRPTR);
;	MR7017	%fi
;	MR7018	         %fi
;	MR7019	
;	MR7020	         %if not %null (TXT)
;	MR7021	         %then %if not $MCB
;	MR7022	               %then
;	MR7023	                    begin
;	MR7024	                    local TXTPTR, CNT;
;	MR7025	                    external routine NMU$TEXT;
;	MR7026	
;	MR7027	                    TXTPTR = .STRPTR;
;	MR7028	                    PUTB (0, STRPTR);
;	MR7029	                    CNT = $NMU$TEXT (STRPTR, 72, %string (TXT, '%N')
;	MR7030	                                     %if %length gtr 4
;	MR7031	                                     %then , %remaining %fi);
;	MR7032	                    PUTB (.CNT, TXTPTR);
;	MR7033	                    end;
;	MR7034	              %fi
;	MR7035		%else PUTB (0, STRPTR);
;	MR7036		%fi
;	MR7037	
;	MR7038		ch$diff (.STRPTR, PTR)
;	 R7039		end %;
;	 R7040	
;	 R7041	
;	 R7042	! macro: $RESPONSE_X
;	 R7043	!
;	 R7044	!		This macro puts the appropriate values
;	 R7045	!		into the fields in a error response string.
;	 R7046	!
;	 R7047	!	$RESPONSE_X (PTR, CODE, DET [,TXT,ERR] {,PRM ...});
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 104
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	 R7048	!
;	 R7049	!	PTR	Byte pointer to error string buffer
;	 R7050	!	CODE	NICE return code
;	 R7051	!	DET	NICE error detail
;	 R7052	!	TXT	Error text string
;	 R7053	!       ERR     Error text number for MCB environment
;	 R7054	!	PRM	Parameters to fill in text string
;	 R7055	!
;	 R7056	!    e.x.    $RESPONSE_X (.BUFPTR, NICE$_FOE, 1, "No such device", 101);
;	 R7057	
;	 R7058	
;	 R7059	macro
;	MR7060	     $RESPONSE_X (PTR, CODE, DET, TXT, ERR) =
;	MR7061	         begin
;	MR7062	         local STRPTR;
;	MR7063	
;	MR7064	         STRPTR = PTR;
;	MR7065	
;	MR7066	         PUTB (CODE, STRPTR);
;	MR7067	
;	MR7068	         %if not %NULL (DET)
;	MR7069	         %then %if %ctce (DET)
;	MR7070	               %then
;	MR7071	                    PUTB ((DET and %o'377'), STRPTR);
;	MR7072	                    PUTB ((DET^-8 and %o'377'), STRPTR);
;	MR7073	               %else
;	MR7074	                    begin
;	MR7075	                    local DETAIL;
;	MR7076	
;	MR7077	                    DETAIL = DET;
;	MR7078	                    PUTW (DETAIL, STRPTR);
;	MR7079	                    end;
;	MR7080	               %fi
;	MR7081	         %else
;	MR7082	%if $MCB
;	MR7083	%then
;	MR7084	               ch$wchar (-1, .STRPTR);
;	MR7085	               ch$wchar_a (ch$rchar_a (STRPTR), STRPTR);
;	MR7086	%else
;	MR7087	               PUTB (-1, STRPTR);
;	MR7088	               PUTB (-1, STRPTR);
;	MR7089	%fi
;	MR7090	         %fi
;	MR7091	
;	MR7092	         %if not %null (TXT)
;	MR7093	         %then %if not $MCB
;	MR7094	               %then
;	MR7095	                    begin
;	MR7096	                    local TXTPTR, CNT;
;	MR7097	                    external routine NMU$TEXT;
;	MR7098	
;	MR7099	                    TXTPTR = .STRPTR;
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 105
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	MR7100	                    PUTB (0, STRPTR);
;	MR7101	                    CNT = $NMU$TEXT (STRPTR, 72, %string (TXT, '%N')
;	MR7102	                                     %if %length gtr 4
;	MR7103	                                     %then , %remaining %fi);
;	MR7104	                    PUTB (.CNT, TXTPTR);
;	MR7105	                    end;
;	MR7106	               %else
;	MR7107	                    begin
;	MR7108	                    linkage CBDSG = JSR (register=0,register=1,register=2;
;	MR7109	                                         register=0) : nopreserve (1,2);
;	MR7110	                    external routine $CBDSG : CBDSG novalue;
;	MR7111	
;	MR7112	                    PUTB (5, STRPTR);   ! 5 digit ASCII signed decimal number
;	MR7113	                    $CBDSG (.STRPTR,
;	MR7114	                            %if not %null (ERR)
;	MR7115	                            %then ERR %else 99999 %fi,
;	MR7116	                            1;
;	MR7117	                            STRPTR);
;	MR7118	                    end;
;	MR7119	               %fi
;	MR7120	        %else PUTB (0, STRPTR);
;	MR7121		%fi
;	MR7122	
;	MR7123		ch$diff (.STRPTR, PTR)
;	 R7124		end %;
;	 R7125	
;	 R7126	
;	 R7127	! macro: $RESPONSE_CODE
;	 R7128	!
;	 R7129	!		This macro puts the reponse code into the
;	 R7130	!		specified response string.
;	 R7131	!
;	 R7132	!    e.x.    $RESPONSE_CODE (RESPONSE_POINTER, NICE$_UFO);
;	 R7133	
;	 R7134	macro
;	MR7135	     $RESPONSE_CODE (PTR, CODE) =
;	MR7136	         begin
;	MR7137	         ch$wchar (CODE, PTR);
;	 R7138	         end %;
;	 R7139	
;	 R7140	
;	 R7141	! macro: $RESPONSE_DETAIL
;	 R7142	!
;	 R7143	!		This macro puts the error detail into the
;	 R7144	!		specified response string.
;	 R7145	!
;	 R7146	!    e.x.    $RESPONSE_DETAIL (RESPONSE_POINTER, 11);
;	 R7147	
;	 R7148	
;	 R7149	macro
;	MR7150	     $RESPONSE_DETAIL (PTR, DET) =
;	MR7151	         begin
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 106
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	MR7152	         local STRPTR;
;	MR7153	
;	MR7154	         STRPTR = ch$plus (PTR, 1);
;	MR7155	
;	MR7156	         %if %ctce (DET)
;	MR7157	         %then
;	MR7158	              PUTB ((DET and %o'377'), STRPTR);
;	MR7159	              PUTB ((DET^-8 and %o'377'), STRPTR);
;	MR7160	         %else
;	MR7161	              begin
;	MR7162	              local DETAIL;
;	MR7163	
;	MR7164	              DETAIL = DET;
;	MR7165	              PUTW (DETAIL, STRPTR);
;	MR7166	              end;
;	MR7167	         %fi
;	 R7168	         end %;
;	 R7169	
;	 R7170	
;	 R7171	! macro: $RESPONSE_TEXT
;	 R7172	!
;	 R7173	!		This macro puts the error text into
;	 R7174	!		the specified response string.  The
;	 R7175	!		format of the arguments is the same as
;	 R7176	!		as that taken by $NMU$TEXT.
;	 R7177	!
;	 R7178	!    e.x.    $RESPONSE_TEXT (RESPONSE_POINTER, 'Bad error:', .WHY);
;	 R7179	
;	 R7180	
;	 R7181	macro
;	MR7182	     $RESPONSE_TEXT (PTR, TXT) =
;	MR7183	         %if $MCB
;	MR7184	         %then
;	MR7185	              begin
;	MR7186	              local STRPTR, TXTPTR;
;	MR7187	
;	MR7188	              TXTPTR = ch$plus (PTR, 3);
;	MR7189	              STRPTR = ch$plus (.TXTPTR, 1);
;	MR7190	              PUTB ($NMU$TEXT (STRPTR, 72, %string (TXT, '%N')
;	MR7191	                               %if %length gtr 2
;	MR7192	                               %then , %remaining %fi),
;	MR7193	                    TXTPTR);
;	MR7194	              end
;	 R7195	         %fi %;
;	 R7196	
;	 R7197	
;	 R7198	! macro: $RESPONSE_LENGTH
;	 R7199	!
;	 R7200	!		This macro returns the length (in bytes) of
;	 R7201	!		the response string.  It assumes that an response
;	 R7202	!		code, error detail and counted text string
;	 R7203	!		exist.
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 107
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	 R7204	!
;	 R7205	!    e.x.    LENGTH = $RESPONSE_LENGTH (RESPONSE_POINTER);
;	 R7206	
;	 R7207	
;	 R7208	macro
;	MR7209	     $RESPONSE_LENGTH (PTR) =
;	MR7210	         begin
;	MR7211	         local STRPTR;
;	MR7212	
;	MR7213	         STRPTR = ch$plus (PTR, 3);
;	MR7214	         4 + GETB (STRPTR)
;	 R7215	         end %;
;	 R7216	
;	 R7217	
;	 R7218	! macro: $GET_CODE
;	 R7219	!
;	 R7220	!		This macro fetches the response code field in the
;	 R7221	!		specified error string.
;	 R7222	!
;	 R7223	!    e.x.    CODE = $GET_CODE (RESPONSE_POINTER);
;	 R7224	
;	 R7225	
;	 R7226	macro
;	MR7227	     $GET_CODE (PTR) =
;	MR7228	         begin
;	MR7229	         ch$rchar (PTR)
;	 R7230	         end %;
;	 R7231	
;	 R7232	
;	 R7233	! macro: $GET_DETAIL
;	 R7234	!
;	 R7235	!		This macro gets the error detail from the
;	 R7236	!		specified response string.
;	 R7237	!
;	 R7238	!    e.x.    DETAIL = $GET_DETAIL (RESPONSE_POINTER);
;	 R7239	
;	 R7240	
;	 R7241	macro
;	MR7242	     $GET_DETAIL (PTR) =
;	 R7243	         GETW_NA (ch$plus (PTR, 1)) %;
;	 R7244	
;	 R7245	
;	 R7246	! macro: $GET_TEXT
;	 R7247	!
;	 R7248	!		This macro gets a pointer to the text field
;	 R7249	!		in specified the response string.
;	 R7250	!
;	 R7251	!    e.x.    TEXT_PTR = $GET_TEXT (RESPONSE_POINTER);
;	 R7252	!	     TEXT_LENGTH = GETB (TEXT_PTR);
;	 R7253	
;	 R7254	
;	 R7255	macro
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 108
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (3)

;	MR7256	     $GET_TEXT (PTR) =
;	 R7257	         ch$plus (PTR, 3)) %;
		NMRSP -- NICE Response Generation Macros	24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 109
								 3-Jan-1983 03:11:32	DNET61:<MCB.NML>NMRSP.REQ.1 (4)

;	 R7258	
;	 R7259	%title ''
;	 R7260	%sbttl ''
;	 R7261	
;	 R7262	!
;	 R7263	! [End of NMRSP.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 110
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  7264	
;	  7265	require 'NMUCOM';			! Utility common definitions
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 111
								 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (1)

;	 R7266	! <BRANDT.DEVELOPMENT>NMUCOM.REQ.1 07-Sep-82 10:13:05, Edit by BRANDT
;	 R7267	!
;	 R7268	!   Make PROGRAM_ERROR cause the program to stop.  Before this edit
;	 R7269	!   this was just a NOP.
;	 R7270	!
;	 R7271	! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.2 29-Jun-82 09:56:00, Edit by PECKHAM
;	 R7272	!
;	 R7273	! Changes for NMX command handling:
;	 R7274	!  Add $NMU_NMX_* macros for optimimal implementation.
;	 R7275	!
;	 R7276	! <BRANDT.DEVELOPMENT>NMUCOM.REQ.1 01-Jun-82 10:13:05, Edit by BRANDT
;	 R7277	!
;	 R7278	!   Remove definition for NMU$TIMEOUT_CHECK.
;	 R7279	!
;	 R7280	! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.3 14-May-82 12:19:27, Edit by PECKHAM
;	 R7281	!
;	 R7282	! Add NMU$DLX_KNOWN_DEVICE and NMU$DLX_RETURN_CIRCUITS synonyms.
;	 R7283	!
;	 R7284	! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.9 28-Apr-82 13:52:10, Edit by PECKHAM
;	 R7285	!
;	 R7286	! Add $NMU_DLX_* macros. This is to help fix the MOP function timeout bug.
;	 R7287	! Add NMU$K_MOP_RETRY_LIMIT for MOP retransmit limit.
;	 R7288	!
;	 R7289	! NET:<VOBA.NML.DEVELOPMENT>NMUCOM.REQ.4 25-Mar-82 17:55:39, Edit by VOBA
;	 R7290	!
;	 R7291	! Add new routine (global mapping) name NMU$QUEUE_LENGTH (alias UQ_LENGTH)
;	 R7292	! for NMUQUE module.
;	 R7293	!
;	 R7294	! NET:<VOBA.NML.DEVELOPMENT>NMUCOM.REQ.3 19-Feb-82 12:41:10, Edit by VOBA
;	 R7295	!
;	 R7296	! Fix typo errors.
;	 R7297	!
;	 R7298	! NET:<VOBA.NML.DEVELOPMENT>NMUCOM.REQ.15 18-Feb-82 17:10:20, Edit by VOBA
;	 R7299	!
;	 R7300	! Clean up code and update copyright date.
;	 R7301	!
;	 R7302	! NET:<GROSSMAN>NMUCOM.REQ.3 26-Jan-82 06:53:41, Edit by GROSSMAN
;	 R7303	!
;	 R7304	! Fix definition of EVENT_BLOCK. This is need in order to have tasks wake up
;	 R7305	! on multiple events.
;	 R7306	!
;	 R7307	! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.2 20-Jan-82 08:54:21, Edit by PECKHAM
;	 R7308	!
;	 R7309	! Fix NMU$SCHED_MANAGER macro to declare NMU$SCHED_WAIT as having a value.
;	 R7310	!
;	 R7311	! NET:<DECNET20-V3P1.NMLLIB>NMUCOM.REQ.3 03-Dec-81 14:31:00, Edit by THIGPEN
;	 R7312	!
;	 R7313	! Add definition for NMU$TIMEOUT_CHECK.
;	 R7314	!
;	 R7315	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.3 13-Jul-81 10:00:18, Edit by GUNN
;	 R7316	!
;	 R7317	! Add definition for NMU$FILE_INITIALIZE.
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 112
								 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (1)

;	 R7318	!
;	 R7319	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2  2-Jul-81 12:03:30, Edit by GUNN
;	 R7320	!
;	 R7321	! Add definitions for new module NMUUTL.
;	 R7322	!
;	 R7323	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 18-Jun-81 15:48:09, Edit by GUNN
;	 R7324	!
;	 R7325	!    Remove definition of DLX_TRANSFER.
;	 R7326	!
;	 R7327	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 12-Jun-81 13:36:30, Edit by JENNESS
;	 R7328	!
;	 R7329	!    Readability improvements.
;	 R7330	!
;	 R7331	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMUCOM.REQ.2 10-Jun-81 09:58:52, Edit by SROBINSON
;	 R7332	!
;	 R7333	!    Add Quota Queue Definitions
;	 R7334	!
;	 R7335	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 26-May-81 13:27:39, Edit by JENNESS
;	 R7336	!
;	 R7337	!    Add OUTPUT_POSITION to TEXT STATE BLOCK.
;	 R7338	!
;	 R7339	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.12  8-May-81 17:28:37, Edit by GUNN
;	 R7340	!
;	 R7341	!    Fix TASK_ERROR, TASK_INFO, and PROGRAM_ERROR to really handle
;	 R7342	!    arguments like %STRING as advertised.
;	 R7343	!
;	 R7344	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 16-Apr-81 13:43:09, Edit by JENNESS
;	 R7345	!
;	 R7346	!    Add NMU$FILE and NMU$TABLE definitions
;	 R7347	!
;	 R7348	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMUCOM.REQ.2 30-Apr-81 14:07:55, Edit by SROBINSON
;	 R7349	!
;	 R7350	!    Fix Text Generation in MCB mode
;	 R7351	!
;	 R7352	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.36 18-Mar-81 11:23:31, Edit by JENNESS
;	 R7353	!
;	 R7354	!    Split debugging macros off into file DEBUG.REQ
;	 R7355	!
;	 R7356	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.3 10-Mar-81 11:26:21, Edit by JENNESS
;	 R7357	!
;	 R7358	!    Add debugging macros.
;	 R7359	!
;	 R7360	! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.3  9-Feb-81 10:33:38, Edit by JENNESS
;	 R7361	!
;	 R7362	!    Change text state block.  Remove FIELD_SUPPRESS.  Change FIELD_NOCOMPRESS
;	 R7363	!    to FIELD_ZERO_SUPPRESS.  Makes code much(!!) clearer.
;	 R7364	!
;	 R7365	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMUCOM.REQ.16  4-Feb-81 17:41:37, Edit by GUNN
;	 R7366	!
;	 R7367	!    Update copyright date to 1981
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 113
								 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (2)

;	 R7368	%title 'NMUCOM -- Network Management Utilities Common Definitions'
;	 R7369	
;	 R7370	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R7371	!                    DIGITAL EQUIPMENT CORPORATION
;	 R7372	!                        Maynard, Massachusetts
;	 R7373	!
;	 R7374	!     This software is furnished under a license and may  be  used
;	 R7375	!     and copied only in accordance with the terms of such license
;	 R7376	!     and with the inclusion of the above copyright notice.   This
;	 R7377	!     software  or any other copies thereof may not be provided or
;	 R7378	!     otherwise made available to any other person.  No  title  to
;	 R7379	!     and ownership of the software is hereby transferred.
;	 R7380	!
;	 R7381	!     The information  in  this  software  is  subject  to  change
;	 R7382	!     without  notice  and should not be construed as a commitment
;	 R7383	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R7384	!
;	 R7385	!     DIGITAL assumes no responsibility for the use or reliability
;	 R7386	!     of  its  software  on  equipment  which  is  not supplied by
;	 R7387	!     DIGITAL.
;	 R7388	!
;	 R7389	
;	 R7390	!++
;	 R7391	! Facility: LSG DECnet Network Management
;	 R7392	!
;	 R7393	! Abstract: This file contains definitions for data base
;	 R7394	!           formats and interesting values used when communicating
;	 R7395	!           with the NMU utility routines.
;	 R7396	!
;	 R7397	! Environment: Bliss-36, Bliss-32 and Bliss-16.
;	 R7398	!
;	 R7399	! Author: Steven M. Jenness, Creation date: 10-Sep-80
;	 R7400	!
;	 R7401	!--
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 114
								 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (3)

;	 R7402	
;	 R7403	!
;	 R7404	! Boolean value definitions
;	 R7405	!
;	 R7406	
;	 R7407	literal
;	 R7408	       $TRUE = 1 eql 1,
;	 R7409	       $FALSE = 1 eql 0;
;	 R7410	
;	 R7411	
;	 R7412	! Semaphore block
;	 R7413	!
;	 R7414	!	A semaphore defined by this block is set/reset by
;	 R7415	!	the macro calls LOCK/UNLOCK.
;	 R7416	!
;	 R7417	! macro:   SEMAPHORE_BLOCK	 Defines a semaphore block
;	 R7418	! value:   SEMAPHORE_BLOCK_SIZE  Defines size of a semaphore block
;	 R7419	
;	 R7420	
;	 R7421	$field SEMAPHORE_BLOCK_FIELDS =
;	 R7422	    set
;	 R7423	    SEMAPHORE = [$integer]              ! Interlock flag
;	 R7424	    tes;
;	 R7425	
;	 R7426	literal
;	 R7427	       SEMAPHORE_BLOCK_SIZE = $field_set_size;
;	 R7428	
;	 R7429	macro
;	MR7430	     SEMAPHORE_BLOCK =
;	 R7431	         block [SEMAPHORE_BLOCK_SIZE] field (SEMAPHORE_BLOCK_FIELDS) %;
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 115
		Queue Structure Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (4)

;	 R7432	%sbttl 'Queue Structure Definitions'
;	 R7433	
;	 R7434	! These queue structure definitions are used with the routines contained
;	 R7435	! in NMUQUE (Queue Manager).
;	 R7436	!
;	 R7437	! Queue entry definitions
;	 R7438	!
;	 R7439	! macro:   Q_ENTRY        Defines a queue entry
;	 R7440	! value:   Q_ENTRY_SIZE  Defines size of queue entry header
;	 R7441	
;	 R7442	
;	 R7443	$field Q_ENTRY_FIELDS =
;	 R7444	    set
;	 R7445	    Q_FORWARD = [$address],
;	 R7446	    Q_REVERSE = [$address],
;	 R7447	    Q_SEMAPHORE = [$sub_block (SEMAPHORE_BLOCK_SIZE)],
;	 R7448	    Q_DATA = [$sub_block (0)]
;	 R7449	    tes;
;	 R7450	
;	 R7451	literal
;	 R7452	       Q_ENTRY_SIZE = $field_set_size,
;	 R7453	       Q_ENTRY_ALLOCATION = $field_set_units;
;	 R7454	
;	 R7455	macro
;	MR7456	     Q_ENTRY =
;	 R7457	         block [Q_ENTRY_SIZE] field (Q_ENTRY_FIELDS) %;
;	 R7458	
;	 R7459	
;	 R7460	! Queue header definitions
;	 R7461	!
;	 R7462	! macro:   Q_HEADER         Defines a queue header
;	 R7463	! value:   Q_HEADER_SIZE  Defines size of queue header
;	 R7464	
;	 R7465	
;	 R7466	literal
;	 R7467	       Q_HEADER_SIZE = Q_ENTRY_SIZE,
;	 R7468	       Q_HEADER_ALLOCATION = Q_ENTRY_ALLOCATION;
;	 R7469	
;	 R7470	macro
;	MR7471	     Q_HEADER =
;	 R7472	         block [Q_HEADER_SIZE] field (Q_ENTRY_FIELDS) %;
;	 R7473	
;	 R7474	
;	 R7475	! These tasking definitions are used with the tasking system contained
;	 R7476	! in NMUSKD (Scheduler).
;	 R7477	!
;	 R7478	! Event data base definitions
;	 R7479	!
;	 R7480	! macro:   EVENT_BLOCK       Defines a event block
;	 R7481	! value:   EVENT_BLOCK_SIZE  Defines size of a event block
;	 R7482	
;	 R7483	
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 116
		Queue Structure Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (4)

;	 R7484	$field EVENT_BLOCK_FIELDS =
;	 R7485	    set
;	 R7486	    EB_TASKS = [$address],
;	 R7487	    EB_SEMAPHORE = [$sub_block (SEMAPHORE_BLOCK_SIZE)],
;	 R7488	    EB_NOINT = [$bit]
;	 R7489	    tes;
;	 R7490	
;	 R7491	literal
;	 R7492	       EVENT_BLOCK_SIZE = $field_set_size,
;	 R7493	       EVENT_BLOCK_ALLOCATION = $field_set_units;
;	 R7494	
;	 R7495	macro
;	MR7496	     EVENT_BLOCK =
;	 R7497	         block [EVENT_BLOCK_SIZE] field (EVENT_BLOCK_FIELDS) %;
;	 R7498	
;	 R7499	
;	 R7500	! Scheduling queue header definitions
;	 R7501	!
;	 R7502	! macro:   SQ_HEADER       Defines a queue header block
;	 R7503	! value:   SQ_HEADER_SIZE  Defines size of queue header block
;	 R7504	
;	 R7505	
;	 R7506	$field SQ_HEADER_FIELDS =
;	 R7507	    set
;	 R7508	    Q_QUEUE = [$sub_block (Q_HEADER_SIZE)],
;	 R7509	    Q_EVENT = [$sub_block (EVENT_BLOCK_SIZE)]
;	 R7510	    tes;
;	 R7511	
;	 R7512	literal
;	 R7513	       SQ_HEADER_SIZE = $field_set_size,
;	 R7514	       SQ_HEADER_ALLOCATION = $field_set_units;
;	 R7515	
;	 R7516	macro
;	MR7517	     SQ_HEADER =
;	 R7518	         block [SQ_HEADER_SIZE] field (SQ_HEADER_FIELDS) %;
;	 R7519	
;	 R7520	
;	 R7521	! macro:   QQ_HEADER       Defines a quota queue header block
;	 R7522	! value:   QQ_HEADER_SIZE  Defines size of quota queue header block
;	 R7523	
;	 R7524	
;	 R7525	$field QQ_HEADER_FIELDS =
;	 R7526	    set
;	 R7527	    QQ_SQUEUE = [$sub_block (SQ_HEADER_SIZE)],
;	 R7528	    QQ_IEVENT = [$sub_block (EVENT_BLOCK_SIZE)],
;	 R7529	    QQ_QUOTA = [$short_integer],
;	 R7530	    QQ_CURRENT = [$short_integer]
;	 R7531	    tes;
;	 R7532	
;	 R7533	literal
;	 R7534	       QQ_HEADER_SIZE = $field_set_size,
;	 R7535	       QQ_HEADER_ALLOCATION = $field_set_units;
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 117
		Queue Structure Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (4)

;	 R7536	
;	 R7537	macro
;	MR7538	     QQ_HEADER =
;	 R7539	         block [QQ_HEADER_SIZE] field (QQ_HEADER_FIELDS) %;
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 118
		Tasking Definitions				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (5)

;	 R7540	%sbttl 'Tasking Definitions'
;	 R7541	
;	 R7542	! macro: TASK_ERROR
;	 R7543	!
;	 R7544	!		This macro signals that the currently running
;	 R7545	!		task has encountered a fatal error.  The supplied
;	 R7546	!		string is associated with the task crash.  The
;	 R7547	!		system specific recovery procedure is started.
;	 R7548	!
;	 R7549	!	TASK_ERROR (ERROR_STRING)
;	 R7550	!
;	 R7551	!	where ERROR_STRING is either a pointer to a string
;	 R7552	!	or a literal message string as for %STRING.
;	 R7553	
;	 R7554	
;	 R7555	macro
;	MR7556	     TASK_ERROR [] =
;	MR7557	         begin
;	MR7558	         %if $MCB
;	MR7559	         %then external routine NMU$SCHED_COMPLETE;
;	MR7560	               NMU$SCHED_COMPLETE ();
;	MR7561	         %else external routine NMU$SCHED_ERROR;
;	MR7562	               NMU$SCHED_ERROR (%if %isstring (%remove (%remaining))
;	MR7563	                                %then ch$asciz (%remaining)
;	MR7564	                                %else %remaining
;	MR7565	                                %fi);
;	MR7566	         %fi
;	 R7567	         end %;
;	 R7568	
;	 R7569	
;	 R7570	! macro: TASK_INFO
;	 R7571	!
;	 R7572	!		This macro is used by a task that wishes to
;	 R7573	!		output an informational message.  Hopefully
;	 R7574	!		to an operators console, log, or controlling
;	 R7575	!		terminal.
;	 R7576	!
;	 R7577	!	TASK_INFO (INFO_MESSAGE)
;	 R7578	!
;	 R7579	!	where INFO_MESSAGE is either a pointer to a string
;	 R7580	!	or a literal message string as for %STRING.
;	 R7581	
;	 R7582	
;	 R7583	macro
;	MR7584	     TASK_INFO [] =
;	MR7585	         %if not $MCB
;	MR7586	         %then begin
;	MR7587	               external routine SS_MESSAGE;     ! System specific routine
;	MR7588	
;	MR7589	               %if %isstring (%remove (%remaining))
;	MR7590	               %then SS_MESSAGE (ch$asciz (%remaining))
;	MR7591	               %else SS_MESSAGE (%remaining)
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 119
		Tasking Definitions				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (5)

;	MR7592	               %fi
;	MR7593	               end
;	 R7594	         %fi %;
;	 R7595	
;	 R7596	
;	 R7597	! macro: PROGRAM_ERROR
;	 R7598	!
;	 R7599	!		This macro is used when a unrecoverable error
;	 R7600	!		has been detected in the multi-tasking environment.
;	 R7601	!
;	 R7602	!	PROGRAM_ERROR (INFO_MESSAGE)
;	 R7603	!
;	 R7604	!	where INFO_MESSAGE is either a pointer to a string
;	 R7605	!	or a literal message string as for %STRING.
;	 R7606	
;	 R7607	
;	 R7608	macro
;	MR7609	     PROGRAM_ERROR [] =
;	MR7610	         %if not $MCB
;	MR7611	         %then begin
;	MR7612	               external routine SS_MESSAGE;     ! System specific routine
;	MR7613		       DECLARE_JSYS (HALTF);
;	MR7614	
;	MR7615	               SS_MESSAGE (ch$asciz ('?FATAL PROGRAM ERROR: '));
;	MR7616	               %if %isstring (%remove (%remaining))
;	MR7617	               %then SS_MESSAGE (ch$asciz (%remaining));
;	MR7618	               %else SS_MESSAGE (%remaining);
;	MR7619	               %fi
;	MR7620		       while $true do $$HALTF ();	! HALTF for KL
;	MR7621	               end
;	MR7622		 %else begin
;	MR7623	               external routine NMU$FA;     	! System specific routine
;	MR7624		       NMU$FA ();			! Execute IOT for MCB
;	MR7625		       end
;	 R7626	         %fi %;
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 120
		Network Logical Link Definitions		 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (6)

;	 R7627	%sbttl 'Network Logical Link Definitions'
;	 R7628	
;	 R7629	! These definitions are used with the task to task logical link
;	 R7630	! interface contained in NMUNET (Network Interface).
;	 R7631	!
;	 R7632	! Connect block definition
;	 R7633	
;	 R7634	
;	 R7635	$field CONNECT_BLOCK_FIELDS =
;	 R7636	    set
;	 R7637	!
;	 R7638	!   Fields common to source and target links
;	 R7639	!
;	 R7640	    CB_HOST = [$pointer],		! Host name
;	 R7641	    CB_HOST_LENGTH = [$integer],
;	 R7642	    CB_OBJECT = [$integer],		! DECnet object type code
;	 R7643	    CB_TASK = [$pointer],		! Task name
;	 R7644	    CB_TASK_LENGTH = [$integer],
;	 R7645	!
;	 R7646	! Access control info
;	 R7647	!	supplied on source links
;	 R7648	!	returned on target links
;	 R7649	!
;	 R7650	    CB_USERID = [$pointer],		! User id
;	 R7651	    CB_USERID_LENGTH = [$integer],
;	 R7652	    CB_DATA = [$pointer],		! Optional data
;	 R7653	    CB_DATA_LENGTH = [$integer],
;	 R7654	    CB_ACCOUNT = [$pointer],            ! Account
;	 R7655	    CB_ACCOUNT_LENGTH = [$integer],
;	 R7656	    CB_PASSWORD = [$pointer],           ! Password
;	 R7657	    CB_PASSWORD_LENGTH = [$integer],
;	 R7658	!
;	 R7659	! Fields for source links only
;	 R7660	!
;	 R7661	    CB_DESCRIPTOR = [$pointer],         ! Object descriptor
;	 R7662	    CB_DESCRIPTOR_LENGTH = [$integer],
;	 R7663	    CB_REJECT_CODE = [$integer],	! Reject code
;	 R7664	!
;	 R7665	! Fields for target links only
;	 R7666	!
;	 R7667	    CB_HOST_BUFFER = [$bytes (9)],	! Host id at other end of link
;	 R7668	        $align (fullword)
;	 R7669	    CB_TASK_BUFFER = [$bytes(17)],
;	 R7670	        $align (fullword)
;	 R7671	    CB_USERID_BUFFER = [$bytes (17)],
;	 R7672	        $align (fullword)
;	 R7673	    CB_PASSWORD_BUFFER = [$bytes (17)],
;	 R7674	        $align (fullword)
;	 R7675	    CB_ACCOUNT_BUFFER = [$bytes (17)],
;	 R7676	        $align (fullword)
;	 R7677	    CB_DESCRIPTOR_BUFFER = [$bytes (17)],
;	 R7678	!
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 121
		Network Logical Link Definitions		 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (6)

;	 R7679	! Connect data buffer
;	 R7680	!
;	 R7681	        $align (fullword)
;	 R7682	    CB_DATA_BUFFER = [$bytes (17)]
;	 R7683	    tes;
;	 R7684	
;	 R7685	literal
;	 R7686	       CONNECT_BLOCK_SIZE = $field_set_size,
;	 R7687	       CONNECT_BLOCK_ALLOCATION = $field_set_units;
;	 R7688	
;	 R7689	macro
;	MR7690	     CONNECT_BLOCK =
;	 R7691	         block [CONNECT_BLOCK_SIZE] field (CONNECT_BLOCK_FIELDS) %;
;	 R7692	
;	 R7693	$literal
;	 R7694	        TARGET_LINK = 1,                ! Code for target link (passive)
;	 R7695	        SOURCE_LINK = 2;                ! Code for source link (active)
;	 R7696	
;	 R7697	!
;	 R7698	! Link status block
;	 R7699	!
;	 R7700	
;	 R7701	$field LINK_STATUS_BLOCK_FIELDS =
;	 R7702	    set
;	 R7703	    LSB_FLAGS = [$bits (9)],            ! Link status bits
;	 R7704	        $overlay (LSB_FLAGS)
;	 R7705	    LSB_PREV_CONNECT = [$bit],          ! Link was previously connected
;	 R7706	    LSB_INTERRUPT = [$bit],             ! Link has interrupt data waiting
;	 R7707	    LSB_CLOSED = [$bit],                ! Link has been closed normally
;	 R7708	    LSB_ABORTED = [$bit],               ! Link has been aborted
;	 R7709	    LSB_EOM = [$bit],                   ! Link has full message to read
;	 R7710	    LSB_CCWAIT = [$bit],                ! Link is waiting for connect confirm
;	 R7711	    LSB_CIWAIT = [$bit],                ! Link is waiting for connect
;	 R7712	    LSB_SERVER = [$bit],                ! Link is a server
;	 R7713	    LSB_CONNECTED = [$bit],             ! Link is connected flag
;	 R7714	        $continue
;	 R7715	    LSB_REASON = [$byte]		! Link abort reason
;	 R7716	    tes;
;	 R7717	
;	 R7718	literal
;	 R7719	       LINK_STATUS_BLOCK_SIZE = $field_set_size,
;	 R7720	       LINK_STATUS_BLOCK_ALLOCATION = $field_set_units;
;	 R7721	
;	 R7722	macro
;	MR7723	     LINK_STATUS_BLOCK =
;	 R7724	         block [LINK_STATUS_BLOCK_SIZE] field (LINK_STATUS_BLOCK_FIELDS) %;
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 122
		Text Processing Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (7)

;	 R7725	%sbttl 'Text Processing Definitions'
;	 R7726	
;	 R7727	!
;	 R7728	! Provide interface to NMU text facility.
;	 R7729	!
;	 R7730	
;	 R7731	
;	 R7732	!	$NMU$TEXT (DPTR, N, PPTR {,ARG}...)
;	 R7733	!
;	 R7734	!	    Interpret DPTR as a pointer to a destination string. Interpret
;	 R7735	!           N as a value which represents the length of the destination
;	 R7736	!           string. Interpret PPTR as a character sequence pointer to an
;	 R7737	!           ASCIZ string pattern format string. Interpret ARG as zero or
;	 R7738	!           more arguments to be used as specified by the pattern format
;	 R7739	!           string.
;	 R7740	!
;	 R7741	
;	 R7742	macro
;	MR7743	     $NMU$TEXT (DST, DST_SIZE, PAT) =
;	MR7744	         begin
;	MR7745	         %if not %null(%remaining)
;	MR7746	         %then local ARGLIST: vector[%length-3];
;	MR7747	               $$TEXT_ARG (ARGLIST,%remaining);
;	MR7748	         %fi
;	MR7749	
;	MR7750	         NMU$TEXT (DST,
;	MR7751	                   DST_SIZE,
;	MR7752	                   %if %isstring (%remove(PAT))
;	MR7753	                   %then CH$ASCIZ(%remove(PAT))
;	MR7754	                   %else PAT %fi,
;	MR7755	                   (%length-3),
;	MR7756	                   %if not %null(%remaining)
;	MR7757	                   %then ARGLIST
;	MR7758	                   %else 0
;	MR7759	                   %fi)
;	 R7760	         end %;
;	 R7761	
;	 R7762	! Inner macro to process argument list for $NMU$TEXT
;	 R7763	
;	 R7764	macro
;	MR7765	     $$TEXT_ARG (VNAME) [ARG] =
;	 R7766	         VNAME[%count] = ARG %;
;	 R7767	
;	 R7768	!
;	 R7769	! Text state block
;	 R7770	!
;	 R7771	
;	 R7772	$field TEXT_BLOCK_FIELDS =
;	 R7773	    set
;	 R7774	    STATE = [$integer],			! Current state of pattern parser
;	 R7775	    PARAMETER_LIST = [$address],        ! Start of parameter list
;	 R7776	    PARAMETER_NEXT = [$address],        ! Next parameter to use
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 123
		Text Processing Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (7)

;	 R7777	    PARAMETER_COUNT = [$integer],       ! Number of parameters left on list
;	 R7778	    PATTERN_START = [$pointer],		! Start of pattern
;	 R7779	    PATTERN_PTR = [$pointer],		! Current pointer into pattern
;	 R7780	    PATTERN_CHECKPOINT = [$pointer],	! Checkpoint into pattern
;	 R7781	    OUTPUT_ROUTINE = [$address],        ! Character output routine
;	 R7782	    OUTPUT_START = [$pointer],		! Pointer to start of output
;	 R7783	    OUTPUT_PTR = [$pointer],		! Current pointer into output
;	 R7784	    OUTPUT_CHECKPOINT = [$integer],     ! Checkpoint into output
;	 R7785	    OUTPUT_COUNT = [$integer],		! Characters already output
;	 R7786	    OUTPUT_MAX = [$integer],		! Maximum characters for output
;	 R7787	    OUTPUT_POSITION = [$integer],       ! Horizontal position on line
;	 R7788	    FIELD_COUNT = [$integer],		! Characters already output to field
;	 R7789	    FIELD_WIDTH = [$integer],		! Max characters for field
;	 R7790	    FIELD_JUSTIFY = [$integer],		! Justification type for field
;	 R7791	    FIELD_REPEAT = [$integer],		! Number of times to repeat field
;	 R7792	    FIELD_RADIX = [$integer],		! Radix for a numeric field
;	 R7793	    FIELD_DEFAULT = [$bit],             ! Repeat default flag
;	 R7794	    FIELD_NOWIDTH = [$bit],             ! No width field given
;	 R7795	    FIELD_SIGNED = [$bit],              ! Field is a signed value
;	 R7796	    FIELD_ZERO_SUPPRESS = [$bit],       ! Suppress leading zeros
;	 R7797	    FIELD_OVERFLOW = [$bit],		! Field overflowed width
;	 R7798	    NULL_SUPPRESS = [$bit]              ! Suppress "free" null at end
;	 R7799	    tes;
;	 R7800	
;	 R7801	literal
;	 R7802	       TEXT_BLOCK_SIZE = $field_set_size,
;	 R7803	       TEXT_BLOCK_ALLOCATION = $field_set_units;
;	 R7804	
;	 R7805	macro
;	MR7806	     TEXT_STATE_BLOCK =
;	 R7807	         block [TEXT_BLOCK_SIZE] field (TEXT_BLOCK_FIELDS) %;
;	 R7808	
;	 R7809	literal					! Values for TEXT_STATE_BLOCK [STATE]
;	 R7810	       TEXT_COPY = 1,			! Copying from pattern to output
;	 R7811	       DIRECTIVE_START = 2,		! Start of directive seen
;	 R7812	       REPT_PARM = 3,			! Field repeat set from parameter list
;	 R7813	       REPT_VALUE = 4,			! Field repeat accumulated from pattern
;	 R7814	       WIDTH_START = 5,			! Start of width field seen
;	 R7815	       WIDTH_PARM = 6,			! Width set from parameter list
;	 R7816	       WIDTH_VALUE = 7,			! Width accumulated from pattern
;	 R7817	       JUSTIFY_FIELD = 8,               ! Field justify character seen
;	 R7818	       WIDTH_END = 9,			! End of width field seen
;	 R7819	       DONE = 10,                       ! Interpretation successfull completion
;	 R7820	       ABORT = 11,                      ! Unprocessable directive
;	 R7821	       BUFFER_OVERFLOW = 12;		! Output buffer overflow
;	 R7822	
;	 R7823	literal
;	 R7824	       STATE_MIN = TEXT_COPY,           ! Minimum state value
;	 R7825	       STATE_MAX = WIDTH_END;           ! Maximum state value
;	 R7826	
;	 R7827	literal                                 ! Values for TEXT_STATE_BLOCK [FIELD_JUSTIFY]
;	 R7828	       NO_FILL = 1,			! No justify and no fill
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 124
		Text Processing Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (7)

;	 R7829	       LEFT_JUSTIFY = 2,                ! Left justify and fill on right
;	 R7830	       RIGHT_JUSTIFY = 3,               ! Right justify and left fill
;	 R7831	       CENTER_FILL = 4;			! Center and fill both ends
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 125
		Direct Line Access Definitions			 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (8)

;	 R7832	%sbttl 'Direct Line Access Definitions'
;	 R7833	
;	 R7834	literal                                 ! DLX open reasons
;	 R7835	       DLX_LOAD = 1,                    !  Loading
;	 R7836	       DLX_DUMP = 2,                    !  Dumping
;	 R7837	       DLX_LOOP = 3,                    !  Loop back test
;	 R7838	       DLX_OTHER = 4,                   !  What ever
;	 R7839	
;	 R7840	                                        ! DLX read/write reasons
;	 R7841	       DLX_SECONDARY = 5,               !  Secondary bootstrap
;	 R7842	       DLX_DATA = 6;                    !  MOP data message
;	 R7843	
;	 R7844	!
;	 R7845	! File system definitions
;	 R7846	!
;	 R7847	
;	 R7848	literal                                 ! File types
;	 R7849	       FILE_PERMANENT_DATA_BASE = 0,
;	 R7850	       FILE_SYSTEM_IMAGE = 1,
;	 R7851	       FILE_DUMP_IMAGE = 2,
;	 R7852	       FILE_SECONDARY_LOADER = 3,
;	 R7853	       FILE_TERTIARY_LOADER = 4,
;	 R7854	       FILE_SECONDARY_DUMPER = 5,
;	 R7855	       MAX_FILE_TYPE = 5;
;	 R7856	
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 126
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	 R7857	%sbttl 'Global Name Mappings'
;	 R7858	
;	 R7859	!
;	 R7860	! Queue manager (NMUQUE)
;	 R7861	!
;	 R7862	
;	 R7863	macro
;	 R7864	     NMU$QUEUE_RESET = UQ_RESET %,
;	 R7865	     NMU$QUEUE_INSERT = UQ_INSERT %,
;	 R7866	     NMU$QUEUE_REMOVE = UQ_REMOVE %,
;	 R7867	     NMU$QUEUE_EXTRACT = UQ_EXTRACT %,
;	 R7868	     NMU$QUEUE_LENGTH = UQ_LENGTH %,
;	 R7869	     NMU$QUEUE_SCAN = UQ_SCAN %,
;	 R7870	     NMU$QUEUE_SCAN_EXTRACT = UQ_SEXTRACT %,
;	 R7871	
;	MR7872	     NMU$QUEUE_MANAGER =
;	MR7873	         NMU$QUEUE_RESET : novalue,     ! Reset a queue to null
;	MR7874	         NMU$QUEUE_INSERT,              ! Insert an entry to queue end
;	MR7875	         NMU$QUEUE_REMOVE,              ! Remove an entry from front of queue
;	MR7876	         NMU$QUEUE_EXTRACT,		! Remove specific entry from queue
;	MR7877	         NMU$QUEUE_LENGTH,              ! Return the length of queue
;	MR7878	         NMU$QUEUE_SCAN,                ! Operate on queue sequentially
;	MR7879		 NMU$QUEUE_SCAN_EXTRACT : novalue ! Extract entry while scanning
;	 R7880	     %;
;	 R7881	
;	 R7882	!
;	 R7883	! Memory Manager (NMUMEM)
;	 R7884	!
;	 R7885	
;	 R7886	macro
;	 R7887	     NMU$MEMORY_RESET = UM_RESET %,
;	 R7888	     NMU$MEMORY_GET = UM_GET %,
;	 R7889	     NMU$MEMORY_RELEASE = UM_RELEASE %,
;	 R7890	     NMU$MEMORY_INITIALIZE = UM_INITIALIZE %,
;	 R7891	
;	MR7892	     NMU$MEMORY_MANAGER =
;	MR7893	         NMU$MEMORY_RESET : novalue,       ! Reset free pool to empty
;	MR7894	         NMU$MEMORY_INITIALIZE : novalue,  ! Add memory to free pool
;	MR7895	         NMU$MEMORY_GET,                   ! Get block from free pool
;	MR7896	         NMU$MEMORY_RELEASE : novalue      ! Release block to free pool
;	 R7897	     %;
;	 R7898	
;	 R7899	!
;	 R7900	! Page allocator (NMUPAG)
;	 R7901	!
;	 R7902	
;	 R7903	macro
;	 R7904	     NMU$PAGE_INITIALIZE = UMP_INIT %,
;	 R7905	     NMU$PAGE_GET = UMP_GET %,
;	 R7906	     NMU$PAGE_RELEASE = UMP_RELEASE %,
;	 R7907	
;	MR7908	     NMU$PAGE_ALLOCATOR =
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 127
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	MR7909	         NMU$PAGE_INITIALIZE : novalue, ! Reset page allocator
;	MR7910	         NMU$PAGE_GET,                  ! Allocate a page
;	MR7911	         NMU$PAGE_RELEASE : novalue     ! Release an allocated page
;	 R7912	     %;
;	 R7913	
;	 R7914	!
;	 R7915	! Scheduler (NMUSKD)
;	 R7916	!
;	 R7917	
;	 R7918	macro
;	 R7919	     NMU$SQUEUE_INSERT = US_INSERT %,
;	 R7920	     NMU$SQUEUE_REMOVE = US_REMOVE %,
;	 R7921	     NMU$SQUEUE_RESET = US_QRESET %,
;	 R7922	     NMU$QQUEUE_INSERT = US_QQINS %,
;	 R7923	     NMU$QQUEUE_REMOVE = US_QQREM %,
;	 R7924	     NMU$QQUEUE_RESET = US_QQSET %,
;	 R7925	     NMU$QQUEUE_EXTRACT = US_QQEXT %,
;	 R7926	     NMU$SCHED_EVENT = US_EVENT %,
;	 R7927	     NMU$SCHED_WAIT = US_WAIT %,
;	 R7928	     NMU$SCHED_FLAG = US_FLAG %,
;	 R7929	     NMU$SCHED_CREATE = US_CREATE %,
;	 R7930	     NMU$SCHED_ABORT = US_ABORT %,
;	 R7931	     NMU$SCHED_FINI = US_FINI %,
;	 R7932	     NMU$SCHED_SLEEP = US_SLEEP %,
;	 R7933	     NMU$SCHED_CURRENT = US_CURRENT %,
;	 R7934	     NMU$SCHED_DESCHEDULE = US_DESCHEDULE %,
;	 R7935	     NMU$SCHED_COMPLETE = US_COMPLETE %,
;	 R7936	     NMU$SCHED_ERROR = US_ERROR %,
;	 R7937	
;	MR7938	     NMU$SCHED_MANAGER =
;	MR7939	         NMU$SCHED_CREATE,              ! Create a new task
;	MR7940	         NMU$SCHED_ABORT : novalue,     ! Abort a task
;	MR7941		 NMU$SCHED_FINI : novalue,	! Finish a task's execution
;	MR7942	         NMU$SCHED_COMPLETE : novalue,  ! Complete a task's execution
;	MR7943	         NMU$SCHED_ERROR : novalue,     ! Print an error message, complete task
;	MR7944	         NMU$SQUEUE_INSERT : novalue,   ! Insert entry in a scheduling queue
;	MR7945	         NMU$SQUEUE_REMOVE,             ! Remove an entry, blocking if needed
;	MR7946	         NMU$SQUEUE_RESET : novalue,    ! Reset a scheduling type queue
;	MR7947	         NMU$QQUEUE_INSERT : novalue,   ! Insert entry in a quota queue
;	MR7948	         NMU$QQUEUE_REMOVE,             ! Remove a quota queue entry, blocking if needed
;	MR7949	         NMU$QQUEUE_RESET : novalue,    ! Reset a quota type queue
;	MR7950	         NMU$QQUEUE_EXTRACT,            ! Extract entry from quota type queue
;	MR7951	         NMU$SCHED_EVENT : novalue,     ! Reset a event block
;	MR7952	         NMU$SCHED_WAIT,                ! Wait for any event
;	MR7953	         NMU$SCHED_FLAG : novalue,      ! Flag event occurance
;	MR7954	         NMU$SCHED_SLEEP : novalue,     ! Put task to sleep for specified time
;	MR7955		 NMU$SCHED_CURRENT,		! Return current task block address
;	MR7956		 NMU$SCHED_DESCHEDULE : novalue	! Task descheduler
;	 R7957	     %;
;	 R7958	
;	 R7959	!
;	 R7960	! IPCF Manager (NMUIPC)
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 128
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	 R7961	!
;	 R7962	
;	 R7963	macro
;	 R7964	     NMU$IPCF_INITIALIZE = UI_INIT %,
;	 R7965	     NMU$IPCF_FIND_PID = UI_FIND %,
;	 R7966	     NMU$IPCF_INFO = UI_INFO %,
;	 R7967	     NMU$IPCF_ORION = UI_ORION %,
;	 R7968	     NMU$IPCF_CREATE = UI_CREATE %,
;	 R7969	     NMU$IPCF_DESTROY = UI_DESTROY %,
;	 R7970	     NMU$IPCF_ALLOW = UI_ALLOW %,
;	 R7971	     NMU$IPCF_DISALLOW = UI_DISALLOW %,
;	 R7972	     NMU$IPCF_TRANSMIT = UI_TRANSMIT %,
;	 R7973	     NMU$IPCF_RECEIVE = UI_RECEIVE %,
;	 R7974	     NMU$IPCF_MAP_ID = UI_MAP %,
;	 R7975	
;	MR7976	     NMU$IPCF_MANAGER =
;	MR7977	         NMU$IPCF_INITIALIZE : novalue, ! Initialize the IPCF system
;	MR7978	         NMU$IPCF_FIND_PID,             ! Return of PID of given name
;	MR7979	         NMU$IPCF_INFO,                 ! Return PID of [SYSTEM]INFO
;	MR7980	         NMU$IPCF_ORION,                ! Return PID of ORION
;	MR7981	         NMU$IPCF_CREATE,               ! Make a pid for this process
;	MR7982	         NMU$IPCF_DESTROY,              ! Destroy pid and data bases
;	MR7983	         NMU$IPCF_ALLOW,                ! Allow pid to send to us
;	MR7984	         NMU$IPCF_DISALLOW,             ! Disallow pid from sending to us
;	MR7985	         NMU$IPCF_TRANSMIT,             ! Transmit a message
;	MR7986	         NMU$IPCF_RECEIVE,              ! Receive a message
;	MR7987	         NMU$IPCF_MAP_ID                ! Map a NMU$IPCF id to a IPCF PID
;	 R7988	     %;
;	 R7989	
;	 R7990	!
;	 R7991	! Network logical link interface (NMUNET)
;	 R7992	!
;	 R7993	
;	 R7994	macro
;	 R7995	     NMU$NETWORK_INITIALIZE = UN_INIT %,
;	 R7996	     NMU$NETWORK_LOCAL = UN_LOCAL %,
;	 R7997	     NMU$NETWORK_OPEN = UN_OPEN%,
;	 R7998	     NMU$NETWORK_ACCEPT = UN_ACCEPT %,
;	 R7999	     NMU$NETWORK_REJECT = UN_REJECT %,
;	 R8000	     NMU$NETWORK_READ = UN_READ %,
;	 R8001	     NMU$NETWORK_WRITE = UN_WRITE %,
;	 R8002	     NMU$NETWORK_ABORT = UN_ABORT %,
;	 R8003	     NMU$NETWORK_CLOSE = UN_CLOSE %,
;	 R8004	     NMU$NETWORK_STATUS = UN_STATUS %,
;	 R8005	     NMU$NETWORK_VALIDATE = UN_VALIDATE %;
;	 R8006	
;	 R8007	macro
;	MR8008	     NMU$NETWORK_UTILITIES =
;	MR8009	         NMU$NETWORK_INITIALIZE : novalue,      ! Initialize network interface
;	MR8010	         NMU$NETWORK_LOCAL,             ! Get pointer to local node id
;	MR8011	         NMU$NETWORK_OPEN,		! Open a logical link
;	MR8012	         NMU$NETWORK_ACCEPT,		! Accept an incoming connection on link
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 129
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	MR8013	         NMU$NETWORK_REJECT,		! Reject incoming connection
;	MR8014	         NMU$NETWORK_READ,		! Read data from link
;	MR8015	         NMU$NETWORK_WRITE,		! Write data to link
;	MR8016	         NMU$NETWORK_ABORT,		! Abort link
;	MR8017	         NMU$NETWORK_CLOSE,		! Close link normally
;	MR8018	         NMU$NETWORK_STATUS,		! Read link's status
;	MR8019	         NMU$NETWORK_VALIDATE		! Validate system specific access info
;	 R8020	     %;
;	 R8021	
;	 R8022	!
;	 R8023	! File system interface (NMUFIL)
;	 R8024	!
;	 R8025	
;	 R8026	macro
;	 R8027	     NMU$FILE_INITIALIZE = UF_INI %,
;	 R8028	     NMU$FILE_OPEN = UF_OPEN %,
;	 R8029	     NMU$FILE_READ = UF_READ %,
;	 R8030	     NMU$FILE_WRITE = UF_WRITE %,
;	 R8031	     NMU$FILE_SKIP = UF_SKIP %,
;	 R8032	     NMU$FILE_SEEK = UF_SEEK %,
;	 R8033	     NMU$FILE_CLOSE = UF_CLOSE %,
;	 R8034	
;	MR8035	     NMU$FILE_ROUTINES =
;	MR8036	         NMU$FILE_OPEN,                 ! Open file
;	MR8037	         NMU$FILE_READ,                 ! Read record from file
;	MR8038	         NMU$FILE_WRITE,		! Write record to file
;	MR8039	         NMU$FILE_SKIP,                 ! Skip over bytes in a file
;	MR8040	         NMU$FILE_SEEK,                 ! Seek to specified byte in file
;	MR8041	         NMU$FILE_CLOSE                 ! Close file
;	 R8042	     %;
;	 R8043	
;	 R8044	!
;	 R8045	! Table data base manager (NMUTBL)
;	 R8046	!
;	 R8047	
;	 R8048	macro
;	 R8049	     NMU$TABLE_CLEAR = UT_CLEAR %,
;	 R8050	     NMU$TABLE_INSERT = UT_INSERT %,
;	 R8051	     NMU$TABLE_FETCH = UT_FETCH %,
;	 R8052	     NMU$TABLE_DELETE = UT_DELETE %,
;	 R8053	     NMU$TABLE_CHANGE = UT_CHANGE %,
;	 R8054	     NMU$TABLE_MAX = UT_MAX %,
;	 R8055	
;	MR8056	     NMU$TABLE_ROUTINES =
;	MR8057	         NMU$TABLE_CLEAR : novalue,     ! Clear a table
;	MR8058	         NMU$TABLE_INSERT,              ! Insert entry into table
;	MR8059	         NMU$TABLE_FETCH,               ! Fetch value from table
;	MR8060	         NMU$TABLE_DELETE,              ! Delete entry from table
;	MR8061	         NMU$TABLE_CHANGE,              ! Change entry value
;	MR8062	         NMU$TABLE_MAX                  ! Maximum table index
;	 R8063	     %;
;	 R8064	
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 130
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	 R8065	!
;	 R8066	! Direct line access routines (NMUDLX)
;	 R8067	!
;	 R8068	
;	 R8069	literal
;	 R8070	    NMU$K_MOP_RETRY_LIMIT = 5;          ! MOP retransmit limit
;	 R8071	
;	 R8072	macro
;	MR8073	    $NMU_DLX_OPEN (USAGE, CIRCUIT_ID, RSP_PTR) =
;	MR8074		begin
;	MR8075		external routine NMU$DLX_OPEN;
;	MR8076		NMU$DLX_OPEN (USAGE, CIRCUIT_ID, RSP_PTR)
;	 R8077		end %,
;	LR8078	%if $MCB
;	 R8079	%then
;	MR8080	    $NMU_DLX_READ (ID, USAGE, PTR, CNT, TIMEOUT, RSP_PTR) =
;	MR8081		begin
;	MR8082		external routine NMU$DLX_TIMED_READ;
;	MR8083		NMU$DLX_TIMED_READ (ID, USAGE, PTR, CNT, TIMEOUT + 0, RSP_PTR)
;	 R8084		end %,
;	UR8085	%else
;	UR8086	    $NMU_DLX_READ (ID, USAGE, PTR, CNT, TIMEOUT, RSP_PTR) =
;	UR8087		begin
;	UR8088		external routine NMU$DLX_READ;
;	UR8089		NMU$DLX_READ (ID, USAGE, PTR, CNT, RSP_PTR)
;	UR8090		end %,
;	 R8091	%fi
;	MR8092	    $NMU_DLX_WRITE (ID, USAGE, PTR, CNT, RSP_PTR) =
;	MR8093		begin
;	MR8094		external routine NMU$DLX_WRITE;
;	MR8095		NMU$DLX_WRITE (ID, USAGE, PTR, CNT, RSP_PTR)
;	 R8096		end %,
;	MR8097	    $NMU_DLX_TYPE (ID) =
;	MR8098		begin
;	MR8099		external routine NMU$DLX_TYPE;
;	MR8100		NMU$DLX_TYPE (ID)
;	 R8101		end %,
;	MR8102	    $NMU_DLX_INITIALIZE (ID, RSP_PTR) =
;	MR8103		begin
;	MR8104		external routine NMU$DLX_INITIALIZE;
;	MR8105		NMU$DLX_INITIALIZE (ID, RSP_PTR)
;	 R8106		end %,
;	MR8107	    $NMU_DLX_CLOSE (ID) =
;	MR8108		begin
;	MR8109		external routine NMU$DLX_CLOSE;
;	MR8110		NMU$DLX_CLOSE (ID)
;	 R8111		end %;
;	 R8112	
;	 R8113	macro
;	 R8114	     NMU$DLX_CLOSE = UD_CLOSE %,
;	 R8115	     NMU$DLX_INITIALIZE = UD_INIT %,
;	 R8116	     NMU$DLX_KNOWN_DEVICE = UD_CHK %,
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 131
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	 R8117	     NMU$DLX_OPEN = UD_OPEN %,
;	 R8118	     NMU$DLX_READ = UD_READ %,
;	 R8119	     NMU$DLX_RETURN_CIRCUITS = UD_RET %,
;	 R8120	     NMU$DLX_TIMED_READ = UD_TREAD %,
;	 R8121	     NMU$DLX_TYPE = UD_TYPE %,
;	 R8122	     NMU$DLX_WRITE = UD_WRITE %,
;	 R8123	
;	MR8124	     NMU$DLX_ROUTINES =
;	MR8125	         NMU$DLX_OPEN,                  ! Open link
;	MR8126	         NMU$DLX_READ,                  ! Read MOP message on link
;	MR8127	         NMU$DLX_WRITE,                 ! Write MOP message on link
;	MR8128	         NMU$DLX_TYPE,                  ! Returns circuit MOP device type
;	MR8129	         NMU$DLX_INITIALIZE,            ! Initialize protocol on link
;	MR8130	         NMU$DLX_CLOSE                  ! Close link
;	 R8131	     %;
;	 R8132	
;	 R8133	!
;	 R8134	! NMX access routines (NMUMCB)
;	 R8135	!
;	 R8136	
;	 R8137	macro
;	MR8138	    $NMU_NMX_READ_EVENT (BUF_PTR, BUF_LEN) =
;	MR8139		begin
;	MR8140		external routine NMU$NMX_IO;
;	MR8141		NMU$NMX_IO (IO$RLB + 0, BUF_PTR, BUF_LEN)
;	 R8142		end %,
;	MR8143	    $NMU_NMX_READ_COMMAND (BUF_PTR, BUF_LEN) =
;	MR8144		begin
;	MR8145		external routine NMU$NMX_IO;
;	MR8146		NMU$NMX_IO (IO$RLB + 1, BUF_PTR, BUF_LEN)
;	 R8147		end %,
;	MR8148	    $NMU_NMX_RESPOND_COMMAND (BUF_PTR, BUF_LEN) =
;	MR8149		begin
;	MR8150		external routine NMU$NMX_IO;
;	MR8151		NMU$NMX_IO (IO$WLB + 1, BUF_PTR, BUF_LEN)
;	 R8152		end %;
;	 R8153	
;	 R8154	macro
;	 R8155	     NMU$NMX_IO = SS$NMX %;
;	 R8156	
;	 R8157	!
;	 R8158	! Interrupt manager (NMUINT)
;	 R8159	!
;	 R8160	
;	 R8161	macro
;	 R8162	     NMU$INTERRUPT_INITIALIZE = UX_INIT %;
;	 R8163	
;	 R8164	!
;	 R8165	! Utility routines (NMUUTL)
;	 R8166	!
;	 R8167	
;	 R8168	macro
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 132
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (9)

;	 R8169	     NMU$UTILITY_BUFFER_TEXT = UU_FBT %;
;	 R8170	
;	 R8171	!
;	 R8172	! TEXT processing (NMUTXT)
;	 R8173	!
;	 R8174	
;	 R8175	macro
;	 R8176	     NMU$TEXT = UT_TEXT %,
;	 R8177	
;	MR8178	     NMU$TEXT_MANAGER =
;	MR8179	         NMU$TEXT                       ! Directive driven text formatting
;	 R8180	     %;
		NMUCOM -- Network Management Utilities Common D 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 133
		Global Name Mappings				 3-Jan-1983 03:13:34	DNET61:<MCB.NML>NMUCOM.REQ.1 (10)

;	 R8181	
;	 R8182	%title ''
;	 R8183	%sbttl ''
;	 R8184	
;	 R8185	!
;	 R8186	! [End of NMUCOM.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 134
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  8187	
;	  8188	require                          	! Utility internal definitions
;	  8189	
;	  8190	%if $TOPS20 %then 'NMUT20' %fi
;	  8191	%if $TOPS10 %then 'NMUT10' %fi
;	  8192	%if $MCB    %then 'NMUMCB' %fi;
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 135
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (1)

;	 R8193	!EXODUS:<BRANNON.AP7.NMLMCB>NMUMCB.R16 1-Nov-83 13:43:06, Edit by BRANNON
;	 R8194	!
;	 R8195	! Fix TIME_PLUS bugs to handle exact hour correctly.
;	 R8196	!
;	 R8197	!NET:<BRANDT.DEVELOPMENT>NMUMCB.R16.1 29-Jun-82 15:29:19, Edit by BRANDT
;	 R8198	!
;	 R8199	! Include nesting count in interrupt off/on macros so nested calls work
;	 R8200	!
;	 R8201	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 26-Mar-82 08:09:19, Edit by PECKHAM
;	 R8202	!
;	 R8203	! Merge TIME_TOP and TIME_BOTTOM into TIME_SECOND in TIME_BLOCK.
;	 R8204	!
;	 R8205	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 17-Feb-82 11:01:39, Edit by PECKHAM
;	 R8206	!
;	 R8207	! Change MEMSIZE to reference MEMTOP instead of MEMSIZ.
;	 R8208	!
;	 R8209	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 13-Feb-82 22:34:16, Edit by PECKHAM
;	 R8210	!
;	 R8211	! Fix comparisons in TIME_PLUS
;	 R8212	!
;	 R8213	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 24-Jan-82 02:25:57, Edit by PECKHAM
;	 R8214	!
;	 R8215	! Change bit field definitions in TIME_BLOCK to word definitions
;	 R8216	! for more efficient access.
;	 R8217	!
;	 R8218	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 23-Jan-82 23:09:31, Edit by PECKHAM
;	 R8219	!
;	 R8220	! Fix bug in TIME_PLUS which was caught by operation priority
;	 R8221	!
;	 R8222	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.3 22-Jan-82 07:04:54, Edit by PECKHAM
;	 R8223	!
;	 R8224	! Correct parameter naming bug in TIME_DIFFERENCE_SECONDS.
;	 R8225	!
;	 R8226	!NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 21-Jan-82 12:19:57, Edit by PECKHAM
;	 R8227	!
;	 R8228	! Add macros TIME_DIFFERENCE_SECONDS and TIME_PLUS to compute the temporal
;	 R8229	! difference between two TIME_BLOCKS and to add an offset in seconds to a
;	 R8230	! TIME_BLOCK.
;	 R8231	!
;	 R8232	! NET:<DECNET20-V3P1.NMLLIB>NMUMCB.R16 02-Dec-81 09:49:20, Edit by THIGPEN
;	 R8233	!
;	 R8234	! Add WAIT_BLOCK for use in timing out NMU$SCHED_WAIT calls.
;	 R8235	!
;	 R8236	! NMUMCB - Network Management Utilities MCB definitions
;	 R8237	!
;	 R8238	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R8239	!                    DIGITAL EQUIPMENT CORPORATION
;	 R8240	!                        Maynard, Massachusetts
;	 R8241	!
;	 R8242	!     This software is furnished under a license and may  be  used
;	 R8243	!     and copied only in accordance with the terms of such license
;	 R8244	!     and with the inclusion of the above copyright notice.   This
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 136
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (1)

;	 R8245	!     software  or any other copies thereof may not be provided or
;	 R8246	!     otherwise made available to any other person.  No  title  to
;	 R8247	!     and ownership of the software is hereby transferred.
;	 R8248	!
;	 R8249	!     The information  in  this  software  is  subject  to  change
;	 R8250	!     without  notice  and should not be construed as a commitment
;	 R8251	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R8252	!
;	 R8253	!     DIGITAL assumes no responsibility for the use or reliability
;	 R8254	!     of  its  software  on  equipment  which  is  not supplied by
;	 R8255	!     DIGITAL.
;	 R8256	!
;	 R8257	
;	 R8258	!++
;	 R8259	! Facility: LSG DECnet Network Management
;	 R8260	!
;	 R8261	! Abstract: This file contains definitions that are specific to
;	 R8262	!	    MCB.
;	 R8263	!
;	 R8264	! Environment: MCB
;	 R8265	!
;	 R8266	! Author: Scott G. Robinson, Creation date: 29-Dec-80
;	 R8267	!
;	 R8268	!--
;	 R8269	
;	 R8270	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 137
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (2)

;	 R8271	!
;	 R8272	! Other requirements for MCB
;	 R8273	!
;	 R8274	
;	 R8275	switches list (norequire);		! Suppress monitor symbol listing
;	 R8276	
;	 R8277	require 'BLI:RSX11M';			! RSX11 Definitions
;	 R9888	require 'NETDIR';			! RSX11 Network definitions
;	 R10732	%( switches list (yesrequire); )%
;	 R10733	
;	 R10734	!
;	 R10735	literal
;	 R10736		CONTEXT_SIZE = 1;		!Just the SP is context
;	 R10737	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 138
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (3)

;	 R10738	!
;	 R10739	! Semaphore LOCK/UNLOCK macros
;	 R10740	!
;	 R10741	! macro: LOCK
;	 R10742	!		This macro attempts a semaphore lock.  If the lock
;	 R10743	!		attempt is successful, a "true" value is returned.
;	 R10744	!
;	 R10745	!	LOCK (SEMAPHORE)
;	 R10746	!
;	 R10747	!	where SEMAPHORE is the address of a SEMAPHORE_BLOCK.
;	 R10748	
;	 R10749	macro
;	MR10750	    LOCK (SEMA_ADDR) =
;	MR10751		begin
;	MR10752		bind SEMBLK = SEMA_ADDR : SEMAPHORE_BLOCK;
;	MR10753		if .SEMBLK[SEMAPHORE] NEQ 0 then 0 else (SEMBLK[SEMAPHORE]=1)
;	MR10754		end
;	 R10755				%;
;	 R10756	!
;	 R10757	! macro: UNLOCK
;	 R10758	!
;	 R10759	!		This macro unlocks a semaphore that has been locked
;	 R10760	!		with a LOCK macro call.
;	 R10761	!
;	 R10762	!	UNLOCK (SEMAPHORE)
;	 R10763	!
;	 R10764	!	where SEMAPHORE is the address of a SEMAPHORE_BLOCK.
;	 R10765	
;	 R10766	macro
;	MR10767	    UNLOCK (SEMA_ADDR) =
;	MR10768		begin
;	MR10769		bind SEMBLK = SEMA_ADDR : SEMAPHORE_BLOCK;
;	MR10770		SEMBLK[SEMAPHORE] = 0;
;	MR10771		end
;	 R10772				 %;
;	 R10773	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 139
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (4)

;	 R10774	!
;	 R10775	! Task scheduling macros
;	 R10776	!
;	 R10777	! macro: CONTEXT_SWITCH
;	 R10778	!
;	 R10779	!		This macro swaps the current task with the
;	 R10780	!		specified future task.
;	 R10781	!
;	 R10782	!	CONTEXT_SWITCH (NEW_TASK)
;	 R10783	!
;	 R10784	!	where NEW_TASK is the address of the new task's task block.
;	 R10785	
;	 R10786	macro
;	MR10787	    CONTEXT_SWITCH (NEW_TASK) =
;	MR10788		begin
;	MR10789		    external routine SS$CTX : novalue;	! System specific routine
;	MR10790		    SS$CTX (NEW_TASK);
;	 R10791		end %;
;	 R10792	
;	 R10793	!
;	 R10794	! macro: CURRENT_TASK
;	 R10795	!
;	 R10796	!		This macro returns the address of the
;	 R10797	!		current task's task block.
;	 R10798	
;	 R10799	macro
;	MR10800	    CURRENT_TASK =
;	MR10801		begin
;	MR10802		    external CURTSK;		! Cell containing current task
;	MR10803		    .CURTSK
;	 R10804		end %;
;	 R10805	
;	 R10806	!
;	 R10807	! macro: TASK_INITIALIZE
;	 R10808	!
;	 R10809	!		This macro initializes a task's task block.
;	 R10810	!		Specifically it sets up the stack and the
;	 R10811	!		starting address so that the task will swap
;	 R10812	!		context properly the first time that it
;	 R10813	!		is scheduled.
;	 R10814	!
;	 R10815	!	TASK_INITIALIZE (TASK_BLOCK, STACK_SIZE)
;	 R10816	!
;	 R10817	!	where TK_BLOCK is the task's task block address
;	 R10818	!	      STACK_SIZE is the number of fullwords its stack.
;	 R10819	
;	 R10820	macro
;	MR10821	    TASK_INITIALIZE (TK_BLOCK, STACK_SIZE) =
;	MR10822		begin
;	MR10823		    external routine SS$TNI : novalue;	! System specific routine
;	MR10824		    SS$TNI (TK_BLOCK, STACK_SIZE);
;	 R10825		end %;
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 140
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (4)

;	 R10826	
;	 R10827	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 141
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (5)

;	 R10828	!
;	 R10829	! Interrupt system operation macros
;	 R10830	!
;	 R10831	! macro: CLEAR_INTERRUPT_SYSTEM
;	 R10832	!
;	 R10833	!		This macro clears the interrupt system.  All interrupts
;	 R10834	!		disabled.
;	 R10835	!
;	 R10836	
;	 R10837	macro
;	MR10838	    CLEAR_INTERRUPT_SYSTEM =
;	MR10839		begin
;	MR10840		%inform('CLEAR_INTERRUPT_SYSTEM is a NOOP for MCB')
;	 R10841		end %;
;	 R10842	
;	 R10843	!
;	 R10844	! macro: INITIALIZE_INTERRUPT_SYSTEM
;	 R10845	!
;	 R10846	!		This macro setups any initial values needed in
;	 R10847	!		the interrupt data base and informs the operating
;	 R10848	!		system about the interrupt vector tables.
;	 R10849	!
;	 R10850	
;	 R10851	macro
;	MR10852	    INITIALIZE_INTERRUPT_SYSTEM =
;	MR10853		begin
;	MR10854		%inform('INITIALIZE_INTERRUPT_SYSTEM is a NOOP for MCB')
;	 R10855		end %;
;	 R10856	
;	 R10857	!
;	 R10858	! macro: ACTIVATE_INTERRUPT
;	 R10859	!
;	 R10860	!		This macro enables a specific interrupt.  The
;	 R10861	!		variable HANDLE points to the relevant interrupt
;	 R10862	!		data base.
;	 R10863	
;	 R10864	macro
;	MR10865	    ACTIVATE_INTERRUPT =
;	MR10866		begin
;	MR10867		%inform('ACTIVATE_INTERRUPT is a NOOP for MCB')
;	 R10868		end %;
;	 R10869	
;	 R10870	!
;	 R10871	! macro: DEACTIVATE_INTERRUPT
;	 R10872	!
;	 R10873	!		This macro disables a specific interrupt.  The
;	 R10874	!		variable HANDLE is the index into the HANDLE_TAB
;	 R10875	!		interrup data base.
;	 R10876	
;	 R10877	macro
;	MR10878	    DEACTIVATE_INTERRUPT =
;	MR10879		begin
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 142
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (5)

;	MR10880		%inform('DEACTIVATE_INTERRUPT is a NOOP for MCB')
;	 R10881		end %;
;	 R10882	
;	 R10883	!
;	 R10884	! macro: INTERRUPT_ON
;	 R10885	!
;	 R10886	!		This macro enables the interrupt system.  If nested
;	 R10887	!		INTERRUPT_OFF calls have been made, this call only
;	 R10888	!		decrements the nesting count.
;	 R10889	
;	 R10890	macro
;	MR10891	    INTERRUPT_ON =
;	MR10892		begin
;	MR10893	        external INTNST;
;	MR10894		dsar$s();			! Interrupts off
;	MR10895		if (INTNST = .INTNST - 1) leq 0
;	MR10896		then
;	MR10897		    begin
;	MR10898		    INTNST = 0;			! Zero nesting count
;	MR10899		    enar$s();			! Interrupts on
;	MR10900		    end;
;	 R10901		end %;
;	 R10902	
;	 R10903	!
;	 R10904	! macro: INTERRUPT_OFF
;	 R10905	!
;	 R10906	!		This macro turns the interrupt system off.  It
;	 R10907	!		also increments the nesting count of times that
;	 R10908	!		it has been turned off.
;	 R10909	
;	 R10910	macro
;	MR10911	    INTERRUPT_OFF =
;	MR10912		begin
;	MR10913	        external INTNST;
;	MR10914		dsar$s();
;	MR10915	        INTNST = .INTNST + 1;           ! Increment nesting count
;	 R10916		end %;
;	 R10917	
;	 R10918	!
;	 R10919	! INTERRUPT routine declarations
;	 R10920	!
;	 R10921	
;	 R10922	macro
;	MR10923	    RSX$AST_PARAMETERS =
;	 R10924		RSX_EVMASK,RSX_PSW,RSX_PC,RSX_DSW %,
;	MR10925	    VANILLA_INTERRUPT_ROUTINE =
;	 R10926		(RSX$AST_PARAMETERS) : VANILLA_INTERRUPT_LINKAGE %,
;	MR10927	    TIMER_INTERRUPT_ROUTINE =
;	 R10928		(RSX$AST_PARAMETERS,TIME_EVENT_FLAG) :TIMER_INTERRUPT_LINKAGE%,
;	MR10929	    NETWORK_INTERRUPT_ROUTINE =
;	 R10930		(RSX$AST_PARAMETERS,NETWORK_STATUS_BLOCK) :NETWORK_INTERRUPT_LINKAGE%,
;	MR10931	    IO_INTERRUPT_ROUTINE =
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 143
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (5)

;	 R10932	        (RSX$AST_PARAMETERS,IO_STATUS_BLOCK): IO_INTERRUPT_LINKAGE%;
;	 R10933	
;	 R10934	macro
;	MR10935	    INTERRUPT_LINKAGE =
;	 R10936		rsx_ast(standard)%;
;	 R10937	
;	 R10938	linkage
;	 R10939	    VANILLA_INTERRUPT_LINKAGE =
;	 R10940		INTERRUPT_LINKAGE ,
;	 R10941	    TIMER_INTERRUPT_LINKAGE =
;	 R10942		INTERRUPT_LINKAGE ,
;	 R10943	    NETWORK_INTERRUPT_LINKAGE =
;	 R10944		INTERRUPT_LINKAGE ,
;	 R10945	    IO_INTERRUPT_LINKAGE =
;	 R10946	        INTERRUPT_LINKAGE ;
;	 R10947	
;	 R10948	macro
;	MR10949	    INTERRUPT_ROUTINE [] =
;	MR10950		(RSX$AST_PARAMETERS
;	MR10951			%if not %null (%remaining) %then
;	MR10952			, %remaining
;	MR10953			%fi
;	MR10954		) : VANILLA_INTERRUPT_LINKAGE
;	 R10955		%warn('Best to Use ???_INTERRUPT_ROUTINE') %;
;	 R10956	
;	 R10957	macro
;	MR10958	    ALLOCATE_INTERRUPT_CHANNEL =
;	MR10959		%warn('Who wants to ALLOCATE_INTERRUPT_CHANNEL?')
;	 R10960		%;
;	 R10961	
;	 R10962	macro
;	MR10963	    RELEASE_INTERRUPT_CHANNEL (CHANNEL) =
;	MR10964		%warn('Who supposedly has to RELEASE_INTERRUPT_CHANNEL?')
;	 R10965		%;
;	 R10966	!
;	 R10967	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 144
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (6)

;	 R10968	! System specific time interface
;	 R10969	!
;	 R10970	! This set of macros allows transparent manipulation of "time"
;	 R10971	! in a particular system.  The macros are defined to read time
;	 R10972	! from the operating system, read time with a offset, compare time,
;	 R10973	! set and clear interrupts on time.
;	 R10974	!
;	 R10975	!
;	 R10976	! Time block structure
;	 R10977	!
;	 R10978	!	This structure defines the format needed for a specific
;	 R10979	!	system to store a internal time/date value.
;	 R10980	!	It is patterned after the EVENT TIME needs of event logging
;	 R10981	!
;	 R10982	
;	 R10983	$field
;	 R10984	    TIME_BLOCK_FIELDS =
;	 R10985		set
;	 R10986		TIME_JULIAN = [$integer],	!Julian Half-Days
;	 R10987		TIME_SECOND = [$integer],	!Seconds in Half-Day
;	 R10988		TIME_MILLISECOND = [$integer]	!Milliseconds in second
;	 R10989						!or %o'100000'
;	 R10990		tes;
;	 R10991	
;	 R10992	literal
;	 R10993	    TIME_BLOCK_SIZE = $field_set_size,
;	 R10994	    TIME_BLOCK_ALLOCATION = $field_set_units;
;	 R10995	
;	 R10996	
;	 R10997	macro TIME_BLOCK = block [TIME_BLOCK_SIZE] field(TIME_BLOCK_FIELDS) %;
;	 R10998	
;	 R10999	!
;	 R11000	! Macro - TIME_PLUS
;	 R11001	!
;	 R11002	! Function -	This macro adds the second argument (which is in units of
;	 R11003	!		seconds) to the first argument which is a time block.
;	 R11004	!
;	 R11005	
;	 R11006	macro
;	MR11007	    TIME_PLUS (TIME, SECONDS) =
;	MR11008	    begin
;	MR11009		bind TBLK = TIME : TIME_BLOCK;
;	MR11010		local $NMU$SECS : unsigned;
;	MR11011	
;	MR11012	    $NMU$SECS = (SECONDS);
;	MR11013	
;	MR11014	    if .$NMU$SECS gequ (12*60*60)
;	MR11015	    then begin
;	MR11016		TBLK [TIME_JULIAN] = .TBLK [TIME_JULIAN] + 1;
;	MR11017		$NMU$SECS = .$NMU$SECS - (12*60*60);
;	MR11018		end;
;	MR11019	    TBLK [TIME_SECOND] = .TBLK [TIME_SECOND] + .$NMU$SECS;
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 145
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (6)

;	 R11020	    end %;
;	 R11021	
;	 R11022	!
;	 R11023	! Macro - TIME_DIFFERENCE_SECONDS
;	 R11024	!
;	 R11025	! Function - Compute the difference (in seconds) of two TIME_BLOCKS
;	 R11026	!
;	 R11027	
;	 R11028	macro
;	MR11029	    TIME_DIFFERENCE_SECONDS (TIME1, TIME2) =
;	MR11030	    begin
;	MR11031		local $NMU$SECS;
;	MR11032		external routine SS$TDF;
;	MR11033		SS$TDF(TIME1,TIME2,$NMU$SECS);
;	MR11034		.$NMU$SECS
;	 R11035	    end %;
;	 R11036	
;	 R11037	!
;	 R11038	! macro: TIME_INTERRUPT_CLEAR
;	 R11039	!
;	 R11040	!		This macro clears all outstanding timer interrupts.
;	 R11041	!
;	 R11042	
;	 R11043	macro
;	MR11044	    TIME_INTERRUPT_CLEAR =
;	MR11045		begin
;	MR11046		cmkt$s();
;	 R11047		end %;
;	 R11048	
;	 R11049	!
;	 R11050	! macro: TIME_INTERRUPT_SET
;	 R11051	!
;	 R11052	!		This macro sets a time interrupt.  It also
;	 R11053	!		defines the routine to be called when the
;	 R11054	!		interrupt occurs.
;	 R11055	!
;	 R11056	!		Note that since the interrupt channel is
;	 R11057	!		hard coded the time interrupt must be unique.
;	 R11058	!
;	 R11059	!	TIME_INTERRUPT_SET (TIME_BLK, TROUTINE)
;	 R11060	!
;	 R11061	!	where	TIM_BLK	is the time in the future for a interrupt
;	 R11062	!		ROUTINE	is the address of the interrupt service routine
;	 R11063	
;	 R11064	macro
;	MR11065	    TIME_INTERRUPT_SET (TIM_BLK, TROUTINE) =
;	MR11066		begin
;	MR11067		external routine SS$STI;
;	MR11068		SS$STI(TIM_BLK, TROUTINE);
;	 R11069		end %;
;	 R11070	
;	 R11071	
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 146
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (6)

;	 R11072	!
;	 R11073	! macro: TIME_CURRENT
;	 R11074	!
;	 R11075	!		This macro returns the current time in
;	 R11076	!		the host operating systems time format.
;	 R11077	!		This is the format needed to set timer
;	 R11078	!		interrupts.
;	 R11079	!
;	 R11080	!	TIME_CURRENT (OFFSET, TIM_BLK)
;	 R11081	!
;	 R11082	!	where	OFFSET	is the number of seconds to add to the
;	 R11083	!			actual current time.
;	 R11084	!		TIM_BLK	is the address of the time block in which
;	 R11085	!			to store the resulting time.
;	 R11086	
;	 R11087	macro
;	MR11088	    TIME_CURRENT (OFFSET, TIM_BLK) =
;	MR11089		begin
;	MR11090		external routine SS$GTM : novalue;
;	MR11091		SS$GTM(OFFSET, TIM_BLK);
;	 R11092		end %;
;	 R11093	
;	 R11094	!
;	 R11095	! macro: TIME_SET_NULL
;	 R11096	!
;	 R11097	!		This macro sets a time block to a null value.
;	 R11098	!		This value is used as a sentinel to check for
;	 R11099	!		a valid time value (null/not null).
;	 R11100	!
;	 R11101	!	TIME_SET_NULL (TIM_BLK)
;	 R11102	!
;	 R11103	!	where	TIM_BLK	is the address of the time block.
;	 R11104	
;	 R11105	macro
;	MR11106	    TIME_SET_NULL (TIM_BLK) =
;	MR11107		begin
;	MR11108		    bind TBLK = TIM_BLK : TIME_BLOCK;
;	MR11109		    TBLK [TIME_JULIAN] = -1;
;	 R11110		end %;
;	 R11111	
;	 R11112	!
;	 R11113	! macro: TIME_NOT_NULL
;	 R11114	!
;	 R11115	!		This macro checks to the value in a time block
;	 R11116	!		to see if it is not null (see TIME_SET_NULL).
;	 R11117	!
;	 R11118	!	TIME_NOT_NULL (TIM_BLK)
;	 R11119	!
;	 R11120	!	where	TIM_BLK	is the address of the time block to test.
;	 R11121	
;	MR11122	macro TIME_NOT_NULL (TIM_BLK) =
;	MR11123		begin
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 147
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (6)

;	MR11124		    bind TBLK = TIM_BLK : TIME_BLOCK;
;	MR11125		    .TBLK [TIME_JULIAN] neq -1
;	 R11126		end %;
;	 R11127	
;	 R11128	
;	 R11129	!
;	 R11130	! macro: TIME_NULL
;	 R11131	!
;	 R11132	!		This macro checks to the value in a time block
;	 R11133	!		to see if it is null (see TIME_SET_NULL).
;	 R11134	!
;	 R11135	!	TIME_NULL (TIM_BLK)
;	 R11136	!
;	 R11137	!	where	TIM_BLK	is the address of the time block to test.
;	 R11138	
;	MR11139	macro TIME_NULL (TIM_BLK) =
;	MR11140		begin
;	MR11141		    bind TBLK = TIM_BLK : TIME_BLOCK;
;	MR11142		    .TBLK [TIME_JULIAN] eql -1
;	 R11143		end %;
;	 R11144	
;	 R11145	!
;	 R11146	! macro: TIME_COPY
;	 R11147	!
;	 R11148	!		This macro copies the time from one time block
;	 R11149	!		to another time block.
;	 R11150	!
;	 R11151	!	TIME_COPY (TO_BLK, FRM_BLK)
;	 R11152	!
;	 R11153	!	where	TO_BLK	is the time block to copy the time to.
;	 R11154	!		FRM_BLK	is the time block to copy the time from.
;	 R11155	
;	MR11156	macro TIME_COPY (TO_BLK, FRM_BLK) =
;	MR11157		begin
;	MR11158		    bind TOBLK = TO_BLK : TIME_BLOCK,
;	MR11159			 FRMBLK = FRM_BLK : TIME_BLOCK;
;	MR11160	
;	MR11161		    TOBLK [TIME_JULIAN] = .FRMBLK [TIME_JULIAN];
;	MR11162		    TOBLK [TIME_SECOND] = .FRMBLK [TIME_SECOND];
;	MR11163		    TOBLK [TIME_MILLISECOND] = .FRMBLK [TIME_MILLISECOND];
;	 R11164		end %;
;	 R11165	
;	 R11166	!
;	 R11167	! macro: TIME_TEST
;	 R11168	!
;	 R11169	!		This macro tests the chronological relation of
;	 R11170	!		the values in two time blocks.  The test operator
;	 R11171	!		is specified as an argument to the macro.  The
;	 R11172	!		value returned by this macro is a boolean (true/false)
;	 R11173	!		from the test "TB1 TST_FNC TB2" (i.e. TB1 lss TB2).
;	 R11174	!
;	 R11175	!	TIME_TEST (TBLK1, TST_FNC, TBLK2)
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 148
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (6)

;	 R11176	!
;	 R11177	!	where	TBLK1	is the first time block.
;	 R11178	!		TST_FNC	is the test operator (LSS, GTR, EQL,..etc)
;	 R11179	!		TBLK2	is the second time time.
;	 R11180	
;	MR11181	macro TIME_TEST (TBLK1, TST_FNC, TBLK2) =
;	MR11182		begin
;	MR11183		    bind TIMBLK1 = TBLK1 : TIME_BLOCK,
;	MR11184			 TIMBLK2 = TBLK2 : TIME_BLOCK;
;	MR11185		    external routine SS$TDF;
;	MR11186		    local ABTIME;
;	MR11187		    (SS$TDF(TIMBLK1,TIMBLK2,ABTIME) TST_FNC 0)
;	 R11188		end %;
;	 R11189	
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 149
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (7)

;	 R11190	!
;	 R11191	! Wait Block Structure
;	 R11192	!
;	 R11193	!	This defines the WAIT_BLOCK used in timing out waiting for events,
;	 R11194	!	specifically those waits implemented by calling NMU$SCHED_WAIT.
;	 R11195	!
;	 R11196	   $field WAIT_BLOCK_FIELDS =
;	 R11197		set
;	 R11198		  WAITING_TASK	= [$address],			!task block addr, to ref semaphore
;	 R11199			$ALIGN(FULLWORD)
;	 R11200		  WAIT_EVENT	= [$address],			!addr of event block to wait on
;	 R11201			$ALIGN(FULLWORD)
;	 R11202		  WAIT_TIME	= [$sub_block(TIME_BLOCK_SIZE)]	!time at which to 'wake'
;	 R11203		tes;
;	 R11204	!
;	 R11205	   literal
;	 R11206		WAIT_BLOCK_SIZE = $field_set_size;
;	 R11207	!
;	 R11208	   macro
;	 R11209		WAIT_BLOCK = block [WAIT_BLOCK_SIZE] field (WAIT_BLOCK_FIELDS)%;
;	 R11210	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 150
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (8)

;	 R11211	!
;	 R11212	! Memory allocation
;	 R11213	!
;	 R11214	! macro: CORE_GET
;	 R11215	!
;	 R11216	!		This macro gets a block of memory from the
;	 R11217	!		operating system of the specified size.  The
;	 R11218	!		address of the block is returned as the value
;	 R11219	!		of the macro.
;	 R11220	!
;	 R11221	!	CORE_GET (BLOCK_SIZE)
;	 R11222	!
;	 R11223	!	where BLOCK_SIZE is the number of fullwords to be allocated.
;	 R11224	
;	 R11225	macro
;	MR11226	    CORE_GET (BLKSIZE) =
;	MR11227		begin
;	MR11228		external routine SS$COR;
;	MR11229		SS$COR(BLKSIZE)
;	 R11230		end %;
;	 R11231	
;	 R11232	!
;	 R11233	! MEMSIZE - return current address to top of memory
;	 R11234	!
;	 R11235	
;	 R11236	macro
;	MR11237	    MEMSIZE =
;	MR11238		begin
;	MR11239		external MEMTOP;
;	MR11240		MEMTOP
;	 R11241		end %;
;	 R11242	
;	 R11243	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 151
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (9)

;	 R11244	!
;	 R11245	! Process sleep and indefinite waits
;	 R11246	!
;	 R11247	! macro: PROCESS_SLEEP
;	 R11248	!
;	 R11249	!		This macro puts the current process to
;	 R11250	!		sleep for the specified amount of time.
;	 R11251	!		The process is not guaranteed to sleep
;	 R11252	!		the specified amount.
;	 R11253	!
;	 R11254	!	PROCESS_SLEEP (TIME)
;	 R11255	!
;	 R11256	!	where TIME is the number of milliseconds to sleep
;	 R11257	
;	 R11258	macro
;	MR11259	    PROCESS_SLEEP (TIME) =
;	MR11260		begin
;	MR11261		WTSE$S(32);
;	MR11262		CLEF$S(32);
;	 R11263		end %;
;	 R11264	
;	 R11265	!
;	 R11266	! macro: PROCESS_WAKE
;	 R11267	!
;	 R11268	!		This macro wakes up the current process.
;	 R11269	!		It may be called at interrupt level to
;	 R11270	!		complement the PROCESS_SLEEP function.
;	 R11271	!
;	 R11272	
;	 R11273	macro
;	MR11274	    PROCESS_WAKE =
;	MR11275		begin
;	MR11276		SETF$S(32)
;	 R11277		end %;
;	 R11278	
;	 R11279	!
;	 R11280	!<BLF/PAGE>
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 152
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (10)

;	 R11281	!
;	 R11282	! MCB Specific Network Definitions
;	 R11283	!
;	 R11284	$field
;	 R11285		NMU$NETSB$fields =		! Network QIO Status Block
;	 R11286		  set
;	 R11287		  NETSB$ERROR	= [$integer],	! Composite error code:
;	 R11288			$overlay(NETSB$ERROR)
;	 R11289		  	NETSB$ERR = [$tiny_integer], !error code
;	 R11290		  	NETSB$ERR1= [$tiny_integer], !0 = I/O error, -1 = directive error
;	 R11291			$continue
;	 R11292		  NETSB$IO_COUNT= [$integer],	! I/O count (bytes)
;	 R11293			$overlay(NETSB$IO_COUNT)
;	 R11294			NETSB$CNT = [$byte],	! Lower Byte
;	 R11295			NETSB$CNT1= [$byte],	! Upper Byte
;	 R11296			$continue
;	 R11297		  NETSB$LINK_ID = [$integer]	! LINK_ID for this operation
;	 R11298		  tes;
;	 R11299	
;	 R11300	literal
;	 R11301		NMU$_NETSB_SIZE = $field_set_size,
;	 R11302		NMU$_NETSB_ALLOCATION = $field_set_units;
;	 R11303	
;	 R11304	macro
;	MR11305		$NETWORK_STATUS_BLOCK =
;	 R11306		    BLOCK[NMU$_NETSB_SIZE]  FIELD( NMU$NETSB$fields ) %;
;	 R11307	
;	 R11308	literal
;	 R11309		NMU$_NETWORK_MAX_INCOMING = 3,	!The Maximum number of targets
;	 R11310		NMU$_NETWORK_MAX_OUTGOING = 5,	!The Maximum number of sources
;	 R11311		NMU$_NETWORK_MAX_LUNS = NMU$_NETWORK_MAX_INCOMING + NMU$_NETWORK_MAX_OUTGOING;	!The Maximum number of Network LUNS
;	 R11312	
;	 R11313	$literal
;	 R11314	        NMU$_CONSOLE_LUN = $distinct,	!The LUN to use for the CONSOLE
;	 R11315		NMU$_NM_DEVICE_LUN = $distinct, !The LUN for the NM: device
;	 R11316		NMU$_DL0_DEVICE_LUN = $distinct, !A LUN for DLX device access
;	 R11317		NMU$_DL1_DEVICE_LUN = $distinct,!A LUN for DLX device access
;	 R11318	! Note: all LUNs not associated with the network must be defined before here
;	 R11319		NMU$_NETWORK_LUN = $distinct;	!The LUN to use for Network Events
;	 R11320	! Note: NETWORK_LUNS go to NMU$NETWORK_LUN + NMU$_NUMBER_OF_LUNS
;	 R11321	
;	 R11322	$literal
;	 R11323		NMU$_CONSOLE_FLAG = $distinct,	!The Console Event Flag
;	 R11324		NMU$_NM_DEVICE_FLAG = $distinct,!The NM: device Event Flag
;	 R11325		NMU$_DL0_DEVICE_FLAG = $distinct,!A DLX device access Event Flag
;	 R11326		NMU$_DL1_DEVICE_FLAG = $distinct,!A DLX device access Event Flag
;	 R11327	! Note: all Event flags not associated with the network must be defined before here
;	 R11328		NMU$_NETWORK_FLAG = $distinct;	!The Event Flag for Network Waits
;	 R11329	! Note: NETWORK_FLAGS go to NMU$NETWORK_FLAG+ NMU$_NUMBER_OF_LUNS
;	 R11330	!
;	 R11331	! Define the NMUNET Data Structures
;	 R11332	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 153
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (10)

;	 R11333	require 'NMUNTS';
;	 R11517	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 154
								24-May-1985 10:40:37	DNET61:<MCB.NML>NMUMCB.R16.3 (11)

;	 R11518	!
;	 R11519	! Local Modes:
;	 R11520	! Mode:Fundamental
;	 R11521	! Comment Start:!
;	 R11522	! Comment Column:40
;	 R11523	! Comment Rounding:+1
;	 R11524	! Auto Save Mode:2
;	 R11525	! End:
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 155
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  11526	
;	  11527	require 'NMUCMI';                       ! Utility internal transportable defs
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 156
								 3-Jan-1983 03:12:05	DNET61:<MCB.NML>NMUCMI.REQ.1 (1)

;	 R11528	! NET:<DECNET20-V3P1.NMLLIB>NMUCMI.REQ 02-Dec-81 09:49:20, Edit by THIGPEN
;	 R11529	!
;	 R11530	! Add 2 fields to TASK_BLOCK for use in timing out NMU$SCHED_WAIT calls
;	 R11531	!	fields added are TB_EVENT_WAIT and TB_SEMAPHORE
;	 R11532	!
;	 R11533	!++
;	 R11534	! NMUCMI - Network Management Utilities transportable internal definitions
;	 R11535	!
;	 R11536	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R11537	!                    DIGITAL EQUIPMENT CORPORATION
;	 R11538	!                        Maynard, Massachusetts
;	 R11539	!
;	 R11540	!     This software is furnished under a license and may  be  used
;	 R11541	!     and copied only in accordance with the terms of such license
;	 R11542	!     and with the inclusion of the above copyright notice.   This
;	 R11543	!     software  or any other copies thereof may not be provided or
;	 R11544	!     otherwise made available to any other person.  No  title  to
;	 R11545	!     and ownership of the software is hereby transferred.
;	 R11546	!
;	 R11547	!     The information  in  this  software  is  subject  to  change
;	 R11548	!     without  notice  and should not be construed as a commitment
;	 R11549	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R11550	!
;	 R11551	!     DIGITAL assumes no responsibility for the use or reliability
;	 R11552	!     of  its  software  on  equipment  which  is  not supplied by
;	 R11553	!     DIGITAL.
;	 R11554	!
;	 R11555	
;	 R11556	!++
;	 R11557	! Facility: LSG DECnet Network Management
;	 R11558	!
;	 R11559	! Abstract: This file contains transportable definitions that
;	 R11560	!           are used by more than one NMU module.  These definitions
;	 R11561	!           are used only by NMU modules and require NMUCOM and
;	 R11562	!           NMUT20 require files to precede it in the complation
;	 R11563	!           input stream.
;	 R11564	!
;	 R11565	! Environment: Bliss-36, Bliss-32 and Bliss-16.
;	 R11566	!
;	 R11567	! Author: Steven M. Jenness, Creation date: 18-Jun-81
;	 R11568	!
;	 R11569	!--
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 157
								 3-Jan-1983 03:12:05	DNET61:<MCB.NML>NMUCMI.REQ.1 (2)

;	 R11570	
;	 R11571	!
;	 R11572	! Task block definitions
;	 R11573	!
;	 R11574	! **** Warning ... if the task block fields are changed, they
;	 R11575	! **** must also be changed in the files NMUT20.MAC, NMUT10.MAC,
;	 R11576	! **** NMUMCB.MAC.
;	 R11577	!
;	 R11578	! Note that the TB_SCHED_QUEUE field is used to enter the task
;	 R11579	! block onto the RUN_QUEUE, any EVENT_QUEUE and the TIME_QUEUE.
;	 R11580	! Since each queue is mutually exclusive, there is no conflict.
;	 R11581	!
;	 R11582	! Task state block
;	 R11583	
;	 R11584	    $field
;	 R11585	    TASK_BLOCK_FIELDS =
;	 R11586		set
;	 R11587		TB_SCHED_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Scheduler queue linkage
;	 R11588		TB_TASK_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Master task queue
;	 R11589		TB_START = [$address],			! Task starting address
;	 R11590		TB_ABORT = [$address],			! Task abort routine address
;	 R11591		TB_RESOURCE = [$address],		! Task resource variable
;	 R11592		TB_ERROR_PC = [$address],		! PC where task failure occured
;	 R11593		TB_NAME = [$string (16)],		! Task name string
;	LR11594	%if $TOPS10 or $TOPS20
;	UR11595	%then
;	UR11596	        TB_ERROR_BUFFER = [$string (100)],      ! Error string buffer
;	 R11597	%fi
;	 R11598		TB_EVENT_WAIT = [$address],		!max time to wait on event
;	 R11599		TB_SEMAPHORE = [$sub_block(SEMAPHORE_BLOCK_SIZE)],  !gen purpose flag
;	 R11600		TB_TIME = [$sub_block (TIME_BLOCK_SIZE)], ! Time at which to wake up
;	 R11601		TB_CONTEXT = [$sub_block (CONTEXT_SIZE)], ! Context variables
;	 R11602		TB_STACK = [$sub_block (0)]		! Start of task's stack
;	 R11603		tes;
;	 R11604	
;	 R11605	literal
;	 R11606	    TASK_BLOCK_SIZE = $field_set_size,
;	 R11607	    TASK_BLOCK_ALLOCATION = $field_set_units;
;	 R11608	
;	 R11609	macro
;	 R11610	    TASK_BLOCK = block [TASK_BLOCK_SIZE] field (TASK_BLOCK_FIELDS) %;
;	 R11611	
;	 R11612	
;	 R11613	! [End of NMUCMI.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 158
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  11614	
;	  11615	require 'NMLCOM';			! NML common definitions
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 159
								 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (1)

;	 R11616	! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.2 22-Jun-82 11:52:42, Edit by PECKHAM
;	 R11617	!
;	 R11618	!   Add request block privledge bits.
;	 R11619	!
;	 R11620	! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 8-Jun-82 10:56:11, Edit by BRANDT
;	 R11621	!
;	 R11622	!   Transfer definitions of NODE_ID buffers from NML.REQ to NMLCOM.REQ.
;	 R11623	!
;	 R11624	! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 9-Jun-82 14:55:53, Edit by BRANDT
;	 R11625	!
;	 R11626	!   Add RB_NICE_ENTITY_ADR field to contain the address of memory
;	 R11627	!   allocated to contain the full node_id
;	 R11628	!
;	 R11629	! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.3  4-Jun-82 17:01:36, Edit by PECKHAM
;	 R11630	!
;	 R11631	! Add synonyms NML$CLEARABLE and NML$READ_ONLY.
;	 R11632	!
;	 R11633	! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 10-May-82 9:55:53, Edit by BRANDT
;	 R11634	!
;	 R11635	!   Make RB_RESPONSE_DATA field a "tiny integer"
;	 R11636	!
;	 R11637	! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.2 4-May-82 14:40:35, Edit by BRANDT
;	 R11638	!
;	 R11639	! Include RB_RESPONSE_DATA field to be set non-zero during response msg
;	 R11640	! processing if any response data is returned for this request.
;	 R11641	!
;	 R11642	! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.2 27-Apr-82 13:40:35, Edit by PECKHAM
;	 R11643	!
;	 R11644	! Include NML$DLW_* synonyms
;	 R11645	!
;	 R11646	! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.3 22-Apr-82 08:23:16, Edit by PECKHAM
;	 R11647	!
;	 R11648	! Change FT_ switch naming to NML$CFG_.
;	 R11649	!
;	 R11650	! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.3 29-Mar-82 10:21:37, Edit by VOBA
;	 R11651	!
;	 R11652	! Move $NML$TEXT macro over from NMARCH.REQ.
;	 R11653	!
;	 R11654	! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.21 23-Mar-82 13:50:40, Edit by PECKHAM
;	 R11655	!
;	 R11656	! Enlarge Raw Event Block to include room for processed info.
;	 R11657	! Add event queue and event buffer definitions.
;	 R11658	! Change event logging global name mappings.
;	 R11659	! Add configuration switches.
;	 R11660	!
;	 R11661	! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.3 18-Feb-82 17:22:49, Edit by VOBA
;	 R11662	!
;	 R11663	! Clean up code and update copyright date.
;	 R11664	!
;	 R11665	! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.5 17-Feb-82 15:08:29, Edit by VOBA
;	 R11666	!
;	 R11667	! Add global synonym NL_PLU for NML$PARAMETER_LOOKUP.
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 160
								 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (1)

;	 R11668	!
;	 R11669	! NET:<GROSSMAN.NML-SOURCES>NMLCOM.REQ.3  9-Feb-82 16:25:31, Edit by GROSSMAN
;	 R11670	!
;	 R11671	! Add global synonym for NML$COUNTER_TIMER_TASK
;	 R11672	!
;	 R11673	! NET:<BRANDT.DEVELOP>NMLCOM.REQ.1 19-Jan-82 10:20:48, Edit by BRANDT
;	 R11674	!
;	 R11675	! Add NML$REQUEST_TERMINATE to NML$REQUEST_MANAGER macro
;	 R11676	!
;	 R11677	! NET:<GROSSMAN>NMLCOM.REQ.4 18-Jan-82 20:20:48, Edit by GROSSMAN
;	 R11678	!
;	 R11679	! Add synonyms for the NMLCTT entry points.
;	 R11680	!
;	 R11681	! NET:<DECNET20-V3P0.CEX>NMLCOM.REQ.3 15-Jan-82 16:31:49, Edit by PECKHAM
;	 R11682	!
;	 R11683	! Add REB structure for raw event logging
;	 R11684	!
;	 R11685	! NET:<VOBA.NML>NMLCOM.REQ.2 12-Jan-82 14:14:03, Edit by VOBA
;	 R11686	!
;	 R11687	! Add sub-entity type field for the MODULE entity in the NICE Request Block.
;	 R11688	!
;	 R11689	! NET:<DECNET20-V3P1.NMU.LIBRARY>NMLCOM.REQ.2 30-Jun-81 09:59:49, Edit by GUNN
;	 R11690	!
;	 R11691	! Add name for NML$CLR_VDB_PARAMETER.
;	 R11692	!
;	 R11693	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLCOM.REQ.22 25-Jun-81 09:45:26, Edit by JENNESS
;	 R11694	!
;	 R11695	! Add name for NML$SET_VDB_PARAMETER.
;	 R11696	!
;	 R11697	! NET:<DECNET20-V3P1.NMU>NMLCOM.REQ.2 15-Jun-81 14:39:02, Edit by JENNESS
;	 R11698	!
;	 R11699	! Readability improvements.  Remove $literal/$distinct ... easier to
;	 R11700	! figure out literal values during debugging.
;	 R11701	!
;	 R11702	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLCOM.REQ.17  4-Jun-81 08:31:32, Edit by SROBINSON
;	 R11703	!
;	 R11704	! Modify NML$REQUEST_MANAGER to not have routines not there in $MCB
;	 R11705	!
;	 R11706	! NET:<DECNET20-V3P1.NMU>NMLCOM.REQ.2 28-May-81 14:10:36, Edit by JENNESS
;	 R11707	!
;	 R11708	! Move LOAD_DATA_BLOCK, DUMP_DATA_BLOCK and TRIGGER_DATA_BLOCK into
;	 R11709	! NMLDTL.BLI (where they are used exclusively).
;	 R11710	!
;	 R11711	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.10 16-Apr-81 11:11:26, Edit by GUNN
;	 R11712	!
;	 R11713	! Add global routine NML$CODED_TEXT in NMLPRM.
;	 R11714	!
;	 R11715	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.9  8-Apr-81 15:50:10, Edit by JENNESS
;	 R11716	!
;	 R11717	! Add fields to LB (load data) block to ease parameter passing in
;	 R11718	! load/dump routines.
;	 R11719	!
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 161
								 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (1)

;	 R11720	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.7  7-Apr-81 08:28:45, Edit by GUNN
;	 R11721	!
;	 R11722	! Add comments to block structure definitions in order that they may
;	 R11723	! be located by the XDUMP utility.
;	 R11724	!
;	 R11725	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.6  3-Apr-81 13:44:06, Edit by GUNN
;	 R11726	!
;	 R11727	! Change LB fields defined as $byte to $tiny_integer.
;	 R11728	!
;	 R11729	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMLCOM.REQ.15  3-Apr-81 07:54:48, Edit by SROBINSON
;	 R11730	!
;	 R11731	! Fix RB_RETURN_CODE to be signed byte since all code checks to see if it
;	 R11732	! is +/- .
;	 R11733	!
;	 R11734	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.3  2-Apr-81 20:30:04, Edit by GUNN
;	 R11735	!
;	 R11736	! Change LB_NODE_ID and LB_HOST_ID to be pointers.
;	 R11737	!
;	 R11738	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.2  2-Apr-81 14:32:29, Edit by GUNN
;	 R11739	!
;	 R11740	! Add routine name macros for new routines in NMLVDB.
;	 R11741	!
;	 R11742	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMLCOM.REQ.2 30-Mar-81 06:35:28, Edit by SROBINSON
;	 R11743	!
;	 R11744	! Add support macros for Event Logging Modules
;	 R11745	!
;	 R11746	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.7 24-Mar-81 10:26:20, Edit by GUNN
;	 R11747	!
;	 R11748	! Add fields in Request Block to contain address of auxiliary 
;	 R11749	! block for LOAD, DUMP and TRIGGER processing. Define the structure
;	 R11750	! of the auxiliary LOAD, DUMP and TRIGGER blocks.
;	 R11751	! Also, change the order of some of the fields in the RB structure
;	 R11752	! to keep them functionally grouped.
;	 R11753	!
;	 R11754	! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.13  3-Mar-81 16:16:54, Edit by GUNN
;	 R11755	!
;	 R11756	! Remove RB_aaa_SIZE fields from request block field definitions.
;	 R11757	!
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 162
								 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (2)

;	 R11758	%title 'NMLCOM -- Network Management Layer Common Definitions'
;	 R11759	
;	 R11760	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R11761	!                    DIGITAL EQUIPMENT CORPORATION
;	 R11762	!                        Maynard, Massachusetts
;	 R11763	!
;	 R11764	!     This software is furnished under a license and may  be  used
;	 R11765	!     and copied only in accordance with the terms of such license
;	 R11766	!     and with the inclusion of the above copyright notice.   This
;	 R11767	!     software  or any other copies thereof may not be provided or
;	 R11768	!     otherwise made available to any other person.  No  title  to
;	 R11769	!     and ownership of the software is hereby transferred.
;	 R11770	!
;	 R11771	!     The information  in  this  software  is  subject  to  change
;	 R11772	!     without  notice  and should not be construed as a commitment
;	 R11773	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R11774	!
;	 R11775	!     DIGITAL assumes no responsibility for the use or reliability
;	 R11776	!     of  its  software  on  equipment  which  is  not supplied by
;	 R11777	!     DIGITAL.
;	 R11778	!
;	 R11779	
;	 R11780	!++
;	 R11781	! Facility: LSG DECnet Network Management
;	 R11782	!
;	 R11783	! Abstract: This file contains definitions  for data base formats  and
;	 R11784	!           interesting  values  used  when  communicating  with   the
;	 R11785	!           Network Management Layer.
;	 R11786	!
;	 R11787	! Environment: Bliss-36, Bliss-32 and Bliss-16
;	 R11788	!
;	 R11789	! Author: Steven M. Jenness, Creation date: 26-Sep-80
;	 R11790	!
;	 R11791	!--
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 163
								 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (3)

;	 R11792	!
;	 R11793	! Configuration switches
;	 R11794	!
;	 R11795	
;	 R11796	compiletime
;	 R11797	    NML$CFG_LOGGING_CONSOLE = $false,
;	 R11798	    NML$CFG_LOGGING_FILE = $false,
;	 R11799	    NML$CFG_LOGGING_MONITOR = $false,
;	 R11800	    NML$CFG_LOGGING_RECEIVER = $false,
;	 R11801	    NML$CFG_LOGGING_TRANSMITTER = $false;
;	 R11802	
;	LR11803	%if $MCB
;	 R11804	%then
;	 R11805	    %assign (NML$CFG_LOGGING_TRANSMITTER, $true)
;	 R11806	%fi
;	LR11807	%if $TOPS20
;	UR11808	%then
;	UR11809	    %assign (NML$CFG_LOGGING_FILE, $true)
;	 R11810	%fi
;	LR11811	%if $TOPS10
;	UR11812	%then
;	UR11813	    %assign (NML$CFG_LOGGING_FILE, $true)
;	 R11814	%fi
;	 R11815	
;	LR11816	%assign (NML$CFG_LOGGING_RECEIVER, NML$CFG_LOGGING_CONSOLE or
;	LR11817	                                   NML$CFG_LOGGING_FILE or
;	 R11818	                                   NML$CFG_LOGGING_MONITOR)
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 164
		Node ID Buffer Definitions			 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (4)

;	 R11819	%sbttl 'Node ID Buffer Definitions'
;	 R11820	
;	 R11821	!
;	 R11822	! NODE ID BUFFER definitions
;	 R11823	!
;	 R11824	
;	 R11825	literal
;	 R11826	    NODE_ID_BUFFER_LENGTH = 9,
;	 R11827	    NODE_ID_BUFFER_SIZE = ch$allocation (NODE_ID_BUFFER_LENGTH,8),
;	 R11828	    NODE_ID_BUFFER_ALLOCATION = NODE_ID_BUFFER_SIZE * %upval;
;	 R11829	
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 165
		Request Manager Definitions			 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (5)

;	 R11830	%sbttl 'Request Manager Definitions'
;	 R11831	
;	 R11832	! RB - Request block format definition
;	 R11833	!
;	 R11834	!    This is the format of the request block.  The address of a block
;	 R11835	!    in this format is passed between routines which wish to converse
;	 R11836	!    about a request.
;	 R11837	
;	 R11838	
;	 R11839	$field REQUEST_BLOCK_FIELDS =
;	 R11840	    set
;	 R11841	
;	 R11842	! Queue linkage fields
;	 R11843	
;	 R11844	    RB_REQUEST_QUEUE = [$sub_block (Q_ENTRY_SIZE)],
;	 R11845	    RB_PROCESS_QUEUE = [$sub_block (Q_ENTRY_SIZE)],
;	 R11846	
;	 R11847	! Request identification and status fields
;	 R11848	
;	 R11849	    RB_NUMBER = [$integer],             ! Request number
;	 R11850	    RB_TYPE = [$integer],               ! Request type (local/remote)
;	 R11851	    RB_TASK = [$address],               ! Processing task's task blk
;	 R11852	    RB_STATE = [$integer],              ! Request state
;	 R11853	
;	 R11854	! NICE request and response buffers
;	 R11855	
;	 R11856	    RB_NICE = [$address],               ! NICE message address
;	 R11857	    RB_RESPONSE = [$address],           ! NICE response msg address
;	 R11858	    RB_NICE_LENGTH = [$integer],        ! NICE message length
;	 R11859	    RB_NICE_ALLOCATION = [$integer],    ! NICE block (units)
;	 R11860	    RB_RESPONSE_LENGTH = [$integer],    ! Response message length
;	 R11861	    RB_RESPONSE_ALLOCATION = [$integer], ! Response block (units)
;	 R11862	
;	 R11863	! Request source information
;	 R11864	
;	 R11865	    RB_EXECUTOR = [$address],           ! EXECUTOR node id address
;	 R11866	    RB_SOURCE = [$address],             ! Source node id address
;	 R11867	    RB_COMPLETION = [$address],         ! Completion routine address
;	 R11868	    RB_DATA = [$address],               ! Request source data
;	 R11869	    RB_DATA_ALLOCATION = [$integer],    ! Data block (units)
;	 R11870	
;	 R11871	! Request access control information
;	 R11872	
;	 R11873	    RB_USER = [$pointer],               ! USER name string (ACCESS)
;	 R11874	    RB_USER_LENGTH = [$integer],        ! USER name length
;	 R11875	    RB_PASSWORD = [$pointer],           ! PASSWORD string (ACCESS)
;	 R11876	    RB_PASSWORD_LENGTH = [$integer],    ! PASSWORD string length
;	 R11877	    RB_ACCOUNT = [$pointer],            ! ACCOUNT string (ACCESS)
;	 R11878	    RB_ACCOUNT_LENGTH = [$integer],     ! ACCOUNT string length
;	 R11879	
;	 R11880	! Request processing data
;	 R11881	
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 166
		Request Manager Definitions			 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (5)

;	 R11882	    RB_NICE_POINTER = [$pointer],       ! Current NICE pointer
;	 R11883	    RB_NICE_POSITION = [$integer],      ! Current NICE byte position
;	 R11884	    RB_NICE_FUNCTION = [$byte],         ! NICE function code
;	 R11885	    RB_NICE_OPTION = [$byte],           ! NICE option byte
;	 R11886	    RB_NICE_ENTITY_TYPE = [$byte],      ! NICE entity type number
;	 R11887	    RB_NICE_SUB_ENTITY_TYPE = [$byte],
;	 R11888	    RB_NICE_ENTITY_ID_LENGTH = [$byte], ! NICE entity length
;	 R11889	    RB_PRV_LOCAL = [$bit],              ! special services allowed
;	 R11890	    RB_PRV_SYSTEM = [$bit],             ! System specific allowed
;	 R11891	    RB_PRV_SERVICE = [$bit],            ! Load/Dump/Trigger allowed
;	 R11892	    RB_PRV_TEST = [$bit],               ! Test allowed
;	 R11893	    RB_PRV_CHANGE = [$bit],             ! Change Parameters allowed
;	 R11894	    RB_PRV_READ = [$bit],               ! Read Parameters allowed
;	 R11895	    RB_NICE_ENTITY_ADR = [$address],    ! Allocated memory for entity id
;	 R11896	    RB_NICE_ENTITY = [$pointer],        ! NICE entity pointer
;	 R11897	    RB_NICE_PARAMETERS = [$pointer],    ! NICE parameters
;	 R11898	    RB_NICE_PARAMETER_LENGTH = [$integer], ! NICE parameter length
;	 R11899	    RB_NICE_QUALIFIER = [$pointer],     ! NICE parameter qualifier
;	 R11900	
;	 R11901	! LOAD, DUMP & TRIGGER auxiliary information
;	 R11902	
;	 R11903	    RB_LOAD_DATA = [$address],          ! Address of LOAD data block
;	 R11904	    RB_LOAD_DATA_ALLOCATION = [$integer],
;	 R11905	
;	 R11906	        $overlay (RB_LOAD_DATA)
;	 R11907	    RB_DUMP_DATA = [$address],          ! Address of DUMP data block
;	 R11908	    RB_DUMP_DATA_ALLOCATION = [$integer],
;	 R11909	        $continue
;	 R11910	
;	 R11911	        $overlay (RB_LOAD_DATA)
;	 R11912	    RB_TRIGGER_DATA = [$address],       ! Address of TRIGGER
;	 R11913	    RB_TRIGGER_DATA_ALLOCATION = [$integer], ! data block
;	 R11914	        $continue
;	 R11915	
;	 R11916	! Response data
;	 R11917	
;	 R11918	    RB_RETURN_CODE = [$tiny_integer],   ! NICE return code
;	 R11919	    RB_RESPONSE_DATA = [$tiny_integer], ! Non-zero if response data
;	 R11920	    RB_ERROR_DETAIL = [$integer],       ! NICE error detail
;	 R11921	    RB_ERROR_POINTER = [$pointer]       ! NICE error message pointer
;	 R11922	    tes;
;	 R11923	
;	 R11924	literal
;	 R11925	       REQUEST_BLOCK_SIZE = $field_set_size,
;	 R11926	       REQUEST_BLOCK_ALLOCATION = $field_set_units,
;	 R11927	       RB_REQUEST_QUEUE_OFFSET = %fieldexpand (RB_REQUEST_QUEUE, 0),
;	 R11928	       RB_PROCESS_QUEUE_OFFSET = %fieldexpand (RB_PROCESS_QUEUE, 0);
;	 R11929	
;	 R11930	macro
;	MR11931	     REQUEST_BLOCK =
;	 R11932	         block [REQUEST_BLOCK_SIZE] field (REQUEST_BLOCK_FIELDS) %;
;	 R11933	
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 167
		Request Manager Definitions			 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (5)

;	 R11934	!
;	 R11935	! Values for RB_STATE
;	 R11936	!
;	 R11937	
;	 R11938	literal
;	 R11939	       RB$WAITING = 1,                  ! Request is waiting to execute
;	 R11940	       RB$ACTIVE = 2,                   ! Request processing initiated
;	 R11941	       RB$DONE = 3,                     ! Request processing complete
;	 R11942	       RB$CANCELLED = 4,                ! Request was cancelled
;	 R11943	       RB$MORE = 5;                     ! Request partially complete
;	 R11944	
;	 R11945	!
;	 R11946	! Values for request type
;	 R11947	!
;	 R11948	
;	 R11949	literal
;	 R11950	       RT$LOCAL = 1,                    ! Request to be processed locally
;	 R11951	       RT$REMOTE = 2;                   ! Request to be processed remotely
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 168
		Event Logging Manager Definitions		 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (6)

;	 R11952	%sbttl 'Event Logging Manager Definitions'
;	 R11953	
;	 R11954	! REB - Raw Event Block format definition
;	 R11955	!
;	 R11956	!    This is the format of the block used to pass raw event data
;	 R11957	!    to NML$DECLARE_EVENT.  It also provides work areas for
;	 R11958	!    processed event information.
;	 R11959	
;	 R11960	$field RAW_EVENT_BLOCK_FIELDS =
;	 R11961	    set
;	 R11962	    REB_ENTITY_POINTER = [$pointer],    ! Pointer to entity-id string
;	 R11963	    REB_SOURCE_POINTER = [$pointer],    ! Pointer to source node string
;	 R11964	    REB_DATA_POINTER = [$pointer],      ! Pointer to event data
;	 R11965	    REB_DATA_LENGTH = [$integer],       ! Length of event data
;	 R11966	        $align (fullword)               !  (for sub-field access)
;	 R11967	    REB_EVENT_CODE = [$short_integer],  ! Event class/type
;	 R11968	    REB_SINK_FLAGS = [$short_integer],  ! Sink flags:
;	 R11969	        $overlay (REB_SINK_FLAGS)
;	 R11970	    REB_CONSOLE = [$bit],               !  Console sink
;	 R11971	    REB_FILE = [$bit],                  !  File sink
;	 R11972	    REB_MONITOR = [$bit],               !  Monitor sink
;	 R11973	        $continue
;	 R11974	        $align (fullword)               !  (for sub-field access)
;	 R11975	    REB_ENTITY_TYPE = [$short_integer], ! Entity type
;	 R11976	    REB_TIME_BLOCK = [$address]         ! Address of time block for event
;	 R11977	    $align (fullword)                   ! or zero if no time supplied.
;	 R11978	    tes;
;	 R11979	
;	 R11980	literal
;	 R11981	       RAW_EVENT_BLOCK_SIZE = $field_set_size,
;	 R11982	       RAW_EVENT_BLOCK_ALLOCATION = $field_set_units;
;	 R11983	
;	 R11984	macro
;	MR11985	     RAW_EVENT_BLOCK =
;	 R11986	         block [RAW_EVENT_BLOCK_SIZE] field (RAW_EVENT_BLOCK_FIELDS) %;
;	 R11987	
;	 R11988	!
;	 R11989	! Event queue header definitions.
;	 R11990	!  These are handled by the NML$EQUEUE_* routines.
;	 R11991	!  Only event buffer entries should be put on these queues.
;	 R11992	!
;	 R11993	! macro:   EVENT_QUEUE       Defines a queue header block
;	 R11994	! value:   EVENT_QUEUE_SIZE  Defines size of queue header block
;	 R11995	!
;	 R11996	
;	 R11997	$field EVENT_QUEUE_FIELDS =
;	 R11998	    set
;	 R11999	    EQ_QUEUE = [$sub_block (SQ_HEADER_SIZE)], ! Queue header
;	 R12000	    EQ_COUNT = [$short_integer],        ! Current number of events in queue
;	 R12001	    EQ_LENGTH = [$short_integer]        ! Maximum number of events queue-able
;	 R12002	    tes;
;	 R12003	
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 169
		Event Logging Manager Definitions		 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (6)

;	 R12004	literal
;	 R12005	       EVENT_QUEUE_SIZE = $field_set_size,
;	 R12006	       EVENT_QUEUE_ALLOCATION = $field_set_units;
;	 R12007	
;	 R12008	macro
;	MR12009	     EVENT_QUEUE =
;	 R12010	         block [EVENT_QUEUE_SIZE] field (EVENT_QUEUE_FIELDS) %;
;	 R12011	
;	 R12012	!
;	 R12013	! Transmitter queue header definitions.
;	 R12014	!  These are handled by the NML$EQUEUE_* routines.
;	 R12015	!  Only event buffer entries should be put on these queues.
;	 R12016	!
;	 R12017	! macro:   TRANSMITTER_QUEUE       Defines a queue header block
;	 R12018	! value:   TRANSMITTER_QUEUE_SIZE  Defines size of queue header block
;	 R12019	!
;	 R12020	
;	 R12021	$field TRANSMITTER_QUEUE_FIELDS =
;	 R12022	    set
;	 R12023	    TQ_QUEUE = [$sub_block (EVENT_QUEUE_SIZE)], ! Queue header
;	 R12024	    TQ_TRANSMITTER_TASK = [$address],
;	 R12025	        $align (FULLWORD)               ! For character pointer.
;	 R12026	    TQ_SINK_NODE = [$bytes (9 + 1)]
;	 R12027	    tes;
;	 R12028	
;	 R12029	literal
;	 R12030	       TRANSMITTER_QUEUE_SIZE = $field_set_size,
;	 R12031	       TRANSMITTER_QUEUE_ALLOCATION = $field_set_units;
;	 R12032	
;	 R12033	macro
;	MR12034	     TRANSMITTER_QUEUE =
;	 R12035	         block [TRANSMITTER_QUEUE_SIZE] field (TRANSMITTER_QUEUE_FIELDS) %;
;	 R12036	
;	 R12037	!
;	 R12038	! Event buffer block definitions
;	 R12039	!  These are handled by the NML$EQUEUE_* routines.
;	 R12040	!
;	 R12041	! macro:   EVENT_BUFFER       Defines
;	 R12042	! value:   EVENT_BUFFER_SIZE  Defines
;	 R12043	!
;	 R12044	
;	 R12045	$field EVENT_BUFFER_FIELDS =
;	 R12046	    set
;	 R12047	    EB_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Queue link
;	 R12048	    EB_ALLOCATION = [$short_integer],   ! Length of allocated memory
;	 R12049	    EB_LENGTH = [$short_integer],       ! Length of message
;	 R12050	    EB_BUFFER = [$sub_block (0)]        ! Beginning of buffer with message
;	 R12051	    tes;
;	 R12052	
;	 R12053	literal
;	 R12054	       EVENT_BUFFER_SIZE = $field_set_size,
;	 R12055	       EVENT_BUFFER_ALLOCATION = $field_set_units;
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 170
		Event Logging Manager Definitions		 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (6)

;	 R12056	
;	 R12057	macro
;	MR12058	     EVENT_BUFFER =
;	 R12059	         block field (EVENT_BUFFER_FIELDS, Q_ENTRY_FIELDS) %;
;	 R12060	
;	 R12061	!
;	 R12062	! Response text handler (in case we have to go to UPPER CASE)
;	 R12063	!
;	 R12064	
;	 R12065	macro
;	MR12066	     $NML$TEXT [] =
;	 R12067	         %string (%remaining) %;
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 171
		Global Name Mappings				 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (7)

;	 R12068	%sbttl 'Global Name Mappings'
;	 R12069	
;	 R12070	!
;	 R12071	! Request manager (NMLQUE)
;	 R12072	!
;	 R12073	
;	 R12074	macro
;	 R12075	     NML$REQUEST_INITIALIZE = NL_INIT %,
;	 R12076	     NML$REQUEST_ENTER = NL_RENTER %,
;	 R12077	     NML$REQUEST_NEXT = NL_REMOVE %,
;	 R12078	     NML$REQUEST_FINISH = NL_FINISH %,
;	 R12079	     NML$REQUEST_ABORT = NL_ABORT %,
;	 R12080	     NML$REQUEST_TERMINATE = NL_TERM %,
;	 R12081	     NML$REQUEST_CANCEL = NL_CANCEL %,
;	 R12082	     NML$REQUEST_SHOW = NL_SHOW %;
;	 R12083	
;	 R12084	macro
;	MR12085	     NML$REQUEST_MANAGER =
;	MR12086	         NML$REQUEST_INITIALIZE : novalue, ! Initialize request manager
;	MR12087	         NML$REQUEST_ENTER,             ! Enter request onto request queue
;	MR12088	         NML$REQUEST_NEXT,              ! Get next request for processing
;	MR12089	         NML$REQUEST_FINISH             ! Signal completion of a request
;	MR12090	         %if not $MCB
;	MR12091	         %then ,
;	MR12092	              NML$REQUEST_ABORT,        ! Abort processing of a request
;	MR12093	              NML$REQUEST_TERMINATE,    ! Terminate processing of a
;	MR12094	                                        !   multi-response request
;	MR12095	              NML$REQUEST_CANCEL,       ! Cancel request not being processed
;	MR12096	              NML$REQUEST_SHOW          ! Return requests in queues
;	 R12097	         %fi %;
;	 R12098	
;	 R12099	!
;	 R12100	! NICE Request Processor (NMLNIC)
;	 R12101	!
;	 R12102	
;	 R12103	macro
;	 R12104	     NML$NICE_LISTENER = NL_LSN %,      ! Receive remote NICE request
;	 R12105	     NML$DEQUEUE_REQUEST = NL_DQR %,    ! Dequeue NICE request
;	 R12106	     NML$NICE_RESPONSE = NL_RSP %;      ! Process NICE response
;	 R12107	
;	 R12108	!
;	 R12109	! NICE Dump, Trigger, and Load Request Processor (NMLDTL)
;	 R12110	!
;	 R12111	
;	 R12112	macro
;	 R12113	     NML$DUMP = NL_DMP %,
;	 R12114	     NML$TRIGGER = NL_TRG %,
;	 R12115	     NML$LOAD = NL_LOD %;
;	 R12116	
;	 R12117	!
;	 R12118	! NICE Read, Change, and Zero Request Processor (NMLRCZ)
;	 R12119	!
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 172
		Global Name Mappings				 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (7)

;	 R12120	
;	 R12121	macro
;	 R12122	     NML$READ = NL_REA %,
;	 R12123	     NML$CHANGE = NL_CHG %,
;	 R12124	     NML$ZERO = NL_ZRO %;
;	 R12125	
;	 R12126	!
;	 R12127	! NICE Test Request Processor (NMLLBK)
;	 R12128	!
;	 R12129	
;	 R12130	macro
;	 R12131	     NML$TEST = NL_TST %;
;	 R12132	
;	 R12133	!
;	 R12134	! NICE System Specific Request Processor (NMLSPC)
;	 R12135	!
;	 R12136	
;	 R12137	macro
;	 R12138	     NML$SYSTEM_SPECIFIC = NL_SPC %;
;	 R12139	
;	 R12140	!
;	 R12141	! NML Parameter Support (NMLPRM)
;	 R12142	!
;	 R12143	
;	 R12144	macro
;	 R12145	     NML$VALID_PARAMETER = NL_PVL %,
;	 R12146	     NML$CLEARABLE = NL_CLR %,
;	 R12147	     NML$READ_ONLY = NL_RO %,
;	 R12148	     NML$PARAMETER_TEXT = NL_PTX %,
;	 R12149	     NML$CODED_TEXT = NL_PCT %,
;	 R12150	     NML$SUMMARY = NL_PSU %,
;	 R12151	     NML$STATUS = NL_PST %,
;	 R12152	     NML$CHARACTERISTIC = NL_PCH %,
;	 R12153	     NML$EXECUTOR_ONLY = NL_PEX %,
;	 R12154	     NML$VDB_PARAMETER = NL_PVD %,
;	 R12155	     NML$GET_PDB_DATA_TYPE = NL_PDT %,
;	 R12156	     NML$PARAMETER_DATA = NL_PDA %,
;	 R12157	     NML$PARAMETER_LOOKUP = NL_PLU %;
;	 R12158	
;	 R12159	!
;	 R12160	! Volatile Data Base Processor (NMLVDB)
;	 R12161	!
;	 R12162	
;	 R12163	macro
;	 R12164	     NML$VDB_INITIALIZE = NL_VDI %,
;	 R12165	     NML$VDB = NL_VDB %,
;	 R12166	     NML$GET_VDB_PARAMETER = NL_VGP %,
;	 R12167	     NML$SET_VDB_PARAMETER = NL_VSP %,
;	 R12168	     NML$CLR_VDB_PARAMETER = NL_VCP %,
;	 R12169	     NML$FIND_NDB = NL_VFN %;
;	 R12170	
;	 R12171	!
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 173
		Global Name Mappings				 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (7)

;	 R12172	! Permanent Data Base Processor (NMLPDB)
;	 R12173	!
;	 R12174	
;	 R12175	macro
;	 R12176	     NML$PDB_INITIALIZE = NL_PDI %,
;	 R12177	     NML$PDB_CHANGE = NL_PPC %,
;	 R12178	     NML$PDB_READ = NL_PPR %;
;	 R12179	
;	 R12180	!
;	 R12181	! Request transmitter (NMLXMT)
;	 R12182	!
;	 R12183	
;	 R12184	macro
;	 R12185	     NML$TRANSMITTER = NX_TRANS %;      ! Transmitter task
;	 R12186	
;	 R12187	!
;	 R12188	! Loopback mirror (NMLMRR)
;	 R12189	!
;	 R12190	
;	 R12191	macro
;	 R12192	     NML$MIRROR = NX_MIRROR %;          ! Loopback mirror task
;	 R12193	
;	 R12194	!
;	 R12195	! Nice listener (NMLRCV)
;	 R12196	!
;	 R12197	
;	 R12198	macro
;	 R12199	     NML$RECEIVE_NICE = NL_RCV %;
;	 R12200	
;	 R12201	!
;	 R12202	! Data Link Watcher (NMLDLW)
;	 R12203	!
;	 R12204	
;	 R12205	macro
;	 R12206	     NML$DLW_CALL = NW_CAL %,
;	 R12207	     NML$DLW_INITIALIZE = NW_INI %;
;	 R12208	
;	 R12209	!
;	 R12210	! Event Logging Modules (NMLEV*)
;	 R12211	!
;	 R12212	
;	 R12213	macro
;	 R12214	     NML$DECLARE_EVENT = EV_DEC %,      ! Log an internal NML event
;	 R12215	     NML$EQUEUE_INSERT = EQ_INS %,      ! Insert an entry on an event queue
;	 R12216	     NML$EQUEUE_REMOVE = EQ_REM %,      ! Remove an entry from an event queue
;	 R12217	     NML$EQUEUE_RESET = EQ_RES %,       ! Reset an event queue and set length
;	 R12218	     NML$EVENT_INITIALIZE = EV_INI %,   ! Initialize event logging
;	 R12219	     NML$EVENT_PROCESSOR = EV_PRO %,    ! Filter events and
;	 R12220	                                        ! distribute to targets
;	 R12221	     NML$EVENT_RECEIVER = EV_RCV %,     ! Receive events from other nodes
;	 R12222	     NML$EVENT_RECORDER = EV_REC %,     ! Send events to local sinks
;	 R12223	     NML$EVENT_TRANSMITTER = EV_XMT %,  ! Transmit events to target node
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 174
		Global Name Mappings				 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (7)

;	 R12224	     NML$LOGGING_CONSOLE = LG_CON %,    ! Send events to console sink
;	 R12225	     NML$LOGGING_FILE = LG_FIL %,       ! Send events to file sink
;	 R12226	     NML$LOGGING_MONITOR = LG_MON %,    ! Send events to monitor sink
;	 R12227	     NML$TRANSMITTER_QUEUE_GET = EV_GET %; ! Get a transmitter queue
;	 R12228	
;	 R12229	macro
;	MR12230	     NML$EVENT_MANAGER =
;	MR12231	         NML$DECLARE_EVENT : novalue,   ! Declare raw event
;	MR12232	         NML$EQUEUE_RESET : novalue,    ! Reset event queue
;	MR12233	         NML$EQUEUE_INSERT : novalue,   ! Insert event in event queue
;	MR12234	         NML$EQUEUE_REMOVE,             ! Remove event from event queue
;	MR12235	         NML$EVENT_INITIALIZE : novalue, ! Initialize EVENT manager
;	MR12236	         NML$EVENT_PROCESSOR : novalue, ! Process Raw Events
;	MR12237	         NML$EVENT_RECORDER : novalue,   ! Record Events
;	MR12238	         NML$TRANSMITTER_QUEUE_GET      ! Get a transmitter queue
;	 R12239	     %;
;	 R12240	
;	 R12241	!
;	 R12242	! Counter Timer Modules
;	 R12243	!
;	 R12244	
;	 R12245	macro
;	 R12246	     NML$COUNTER_TIMER_TASK = NL_CTT %,	! Counter Timer Task itself
;	 R12247	     NML$COUNTER_TIMER_SET = NL_SCT %,	! Sets counter timers
;	 R12248	     NML$COUNTER_TIMER_CLEAR = NL_CCT %; ! Clears counter timers
		NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 175
		Global Name Mappings				 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (8)

;	 R12249	
;	 R12250	%title ''
;	 R12251	%sbttl ''
;	 R12252	
;	 R12253	!
;	 R12254	! [End of NMLCOM.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 176
								 3-Jan-1983 00:56:41	DNET61:<MCB.NML>NMLCOM.REQ.1 (9)

;	 R12255	
;	 R12256	! Local Modes:
;	 R12257	! Mode:BLISS
;	 R12258	! Auto Save Mode:2
;	 R12259	! Comment Column:40
;	 R12260	! Comment Rounding:+1
;	 R12261	! End:
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 177
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  12262	
;	  12263	require 'NCPCOM';			! NCP common definitions
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 178
								 2-Jan-1983 23:41:18	DNET61:<MCB.NML>NCPCOM.REQ.1 (1)

;	 R12264	! NET:<PECKHAM.DEVELOPMENT>NCPCOM.REQ.2 26-Jun-82 15:59:35, Edit by PECKHAM
;	 R12265	!
;	 R12266	! Make string buffers in XCTR_BLOCK and EXECUTOR_BLOCK larger (17 -> 33)
;	 R12267	! to allow for ^V quotes.
;	 R12268	!
;	 R12269	! NET:<DECNET20-V3P1.NMU>NCPCOM.REQ.2 15-Jun-81 14:44:17, Edit by JENNESS
;	 R12270	!
;	 R12271	!    Readability improvements.
;	 R12272	
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 179
								 2-Jan-1983 23:41:18	DNET61:<MCB.NML>NCPCOM.REQ.1 (2)

;	 R12273	
;	 R12274	! NCPCOM.REQ - NCP Commonly Required Declarations
;	 R12275	
;	 R12276	!
;	 R12277	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R12278	!                    DIGITAL EQUIPMENT CORPORATION
;	 R12279	!                        Maynard, Massachusetts
;	 R12280	!
;	 R12281	!     This software is furnished under a license and may  be  used
;	 R12282	!     and copied only in accordance with the terms of such license
;	 R12283	!     and with the inclusion of the above copyright notice.   This
;	 R12284	!     software  or any other copies thereof may not be provided or
;	 R12285	!     otherwise made available to any other person.  No  title  to
;	 R12286	!     and ownership of the software is hereby transferred.
;	 R12287	!
;	 R12288	!     The information  in  this  software  is  subject  to  change
;	 R12289	!     without  notice  and should not be construed as a commitment
;	 R12290	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R12291	!
;	 R12292	!     DIGITAL assumes no responsibility for the use or reliability
;	 R12293	!     of  its  software  on  equipment  which  is  not supplied by
;	 R12294	!     DIGITAL.
;	 R12295	!
;	 R12296	
;	 R12297	!++
;	 R12298	! Facility: DECnet-10/20 V3.0 Network Control Program (NCP)
;	 R12299	!
;	 R12300	! Abstract: Contains common declarations required by NCP.
;	 R12301	!
;	 R12302	! Environment: Bliss-36
;	 R12303	!              TOPS-10/20 User mode under NML
;	 R12304	!
;	 R12305	! Author: Dale C. Gunn, Creation date: 10-Oct-80
;	 R12306	!
;	 R12307	!--
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 180
								 2-Jan-1983 23:41:18	DNET61:<MCB.NML>NCPCOM.REQ.1 (3)

;	 R12308	
;	 R12309	!
;	 R12310	! Macros to provide long external name to short name conversion
;	 R12311	! for NCP routines.
;	 R12312	!
;	 R12313	
;	 R12314	macro
;	 R12315	     NCP$START = NC_STA % ,
;	 R12316	     NCP$ORI_INITIALIZE = NC_OIN % ,
;	 R12317	     NCP$INITIALIZE = NC_INI % ,
;	 R12318	     NCP$ERROR = NC_ERR % ,
;	 R12319	     NCP$RESTART = NC_RES % ,
;	 R12320	     NCP$LOG_TO_OPERATOR = NC_LOG % ,
;	 R12321	     NCP$SEND_RESPONSE = NC_RSP % ,
;	 R12322	     NCP$SEND_TO_OPERATOR = NC_WTO % ,
;	 R12323	     NCP$COUNTER_TEXT = NC_CTX %,
;	 R12324	     NCP$BIT_TEXT = NC_BTX %,
;	 R12325	     NCP$GET_COMMAND = NC_GET % ,
;	 R12326	     NCP$COMMAND_INITIALIZE = NC_CIZ % ,
;	 R12327	     NCP$COMMAND = NC_CMD % ,
;	 R12328	     NCP$DEQUEUE_RESPONSE = NC_DQR % ,
;	 R12329	     NCP$GET_ERR_TEXT = NC_ERT % ;
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 181
								 2-Jan-1983 23:41:18	DNET61:<MCB.NML>NCPCOM.REQ.1 (4)

;	 R12330	
;	 R12331	!
;	 R12332	! EXECUTOR Node Table entry and Request Block Source Data
;	 R12333	!
;	 R12334	
;	 R12335	$field XCTR_FIELDS =
;	 R12336	      set
;	 R12337	      QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Queue link fields
;	 R12338	      OPR_ID = [$integer],              ! Identifier of operator
;	 R12339	      REQ_NO = [$integer],              ! Request id number
;	 R12340	      CMD_ADR = [$address],             ! Address of command text buffer
;	 R12341	      TO_FILE = [$address],             ! Address of 'TO' file block
;	 R12342	! NOTE - This will allocate a character sequence for an 8 bit string
;	 R12343	!        since there are 4 bytes for both 8 and 9 bit character strings
;	 R12344	!        in a 36 bit word. But, I would really like to use $string(9,8).
;	 R12345	      NOD_ID = [$bytes(9)],             ! EXECUTOR node name or number
;	 R12346	      USR_ID = [$string(33)],           ! USER ID string
;	 R12347	      ACTSTR = [$string(33)],           ! ACCOUNT string
;	 R12348	      PWDSTR = [$string(33)]            ! PASSWORD string
;	 R12349	      tes ;
;	 R12350	
;	 R12351	$field EXECUTOR_BLOCK_FIELDS =
;	 R12352	      set
;	 R12353	      XB_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Queue link fields
;	 R12354	      XB_OPR_ID = [$integer],           ! Identifier of operator
;	 R12355	      XB_REQ_NO = [$integer],           ! Request id number
;	 R12356	      XB_CMD_ADR = [$address],          ! Address of command text buffer
;	 R12357	      XB_TO_FILE = [$address],          ! Address of 'TO' file block
;	 R12358	! NOTE - This will allocate a character sequence for an 8 bit string
;	 R12359	!        since there are 4 bytes for both 8 and 9 bit character strings
;	 R12360	!        in a 36 bit word. But, I would really like to use $string(9,8).
;	 R12361	      XB_NOD_ID = [$bytes(9)],          ! EXECUTOR node name or number
;	 R12362	      XB_USR_ID = [$string(33)],        ! USER ID string
;	 R12363	      XB_ACTSTR = [$string(33)],        ! ACCOUNT string
;	 R12364	      XB_PWDSTR = [$string(33)]         ! PASSWORD string
;	 R12365	      tes ;
;	 R12366	
;	 R12367	literal
;	 R12368	       EXECUTOR_BLOCK_SIZE = $field_set_size, ! Size of executor block in words
;	 R12369	       EXECUTOR_BLOCK_ALLOCATION = $field_set_units,    ! In units
;	 R12370	       XCTR_SZ = $field_set_size ;      ! Size of Node table entry
;	 R12371	
;	 R12372	macro
;	MR12373	     EXECUTOR_BLOCK = block[EXECUTOR_BLOCK_SIZE]
;	 R12374	                      field(EXECUTOR_BLOCK_FIELDS) %,
;	 R12375	     XCTR_BLOCK = block[XCTR_SZ] field(XCTR_FIELDS) % ;
;	 R12376	
;	 R12377	
;	 R12378	! [End of NCPCOM.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 182
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  12379	
;	  12380	require 'NMINI';			! System initilization definitions
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 183
								 3-Jan-1983 00:53:46	DNET61:<MCB.NML>NMINI.REQ.1 (1)

;	 R12381	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.2  3-Dec-82 16:20:43, Edit by PECKHAM
;	 R12382	!
;	 R12383	! Add second NICE-LISTENER for MCB version.
;	 R12384	!
;	 R12385	! NET:<BRANDT.DEVELOPMENT>NMINI.REQ.2 7-Sep-82 11:44:23, Edit by BRANDT
;	 R12386	!
;	 R12387	!   Set priority word during MASTER_INITIALIZATION for TOPS-20.
;	 R12388	!
;	 R12389	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.2 25-May-82 17:44:23, Edit by PECKHAM
;	 R12390	!
;	 R12391	! Expand NML-PROCESSER stack from 250 to 300 for MCB.
;	 R12392	!
;	 R12393	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.4 27-Apr-82 13:38:07, Edit by PECKHAM
;	 R12394	!
;	 R12395	! Fix external declaration for NML$DLW_INITIALIZE.
;	 R12396	! Eliminate extraneous end in MASTER_INITIALIZATION.
;	 R12397	!
;	 R12398	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.2 22-Apr-82 09:40:17, Edit by PECKHAM
;	 R12399	!
;	 R12400	! Call NML$DLW_INITIALIZE for MCB also.
;	 R12401	! Eliminate stack size macro (increase for TOPS10/20 done in NMU$SCHED_CREATE).
;	 R12402	!
;	 R12403	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.2 20-Feb-82 02:40:39, Edit by PECKHAM
;	 R12404	!
;	 R12405	! Problems of defining macros within macros...
;	 R12406	!
;	 R12407	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.2 20-Feb-82 02:29:41, Edit by PECKHAM
;	 R12408	!
;	 R12409	! Increase stack sizes for TOPS20
;	 R12410	!
;	 R12411	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.2 17-Feb-82 12:55:14, Edit by PECKHAM
;	 R12412	!
;	 R12413	! Reduce task stack size by half.
;	 R12414	!
;	 R12415	! NET:<GROSSMAN.NML-SOURCES>NMINI.REQ.3  9-Feb-82 16:17:43, Edit by GROSSMAN
;	 R12416	!
;	 R12417	! Add DETACH to the INIT_GLOBALS macro, in order to simplify the body of
;	 R12418	! NMUSKD.
;	 R12419	!
;	 R12420	! NET:<PECKHAM.DEVELOPMENT>NMINI.REQ.3 21-Jan-82 11:37:46, Edit by GROSSMAN
;	 R12421	!
;	 R12422	! Add startup code for COUNTER TIMER TASK
;	 R12423	!
;	 R12424	! NET:<DECNET20-V3P1.NMU>NMINI.REQ.2 27-Jun-81 18:29:16, Edit by JENNESS
;	 R12425	!
;	 R12426	! Add startup for DATA LINK WATCHER task.
;	 R12427	!
;	 R12428	! NET:<DECNET20-V3P1.NMU>NMINI.REQ.2 15-Jun-81 14:47:15, Edit by JENNESS
;	 R12429	!
;	 R12430	! Readability improvements.  Also add $TOPS10 conditional tests.
;	 R12431	!
;	 R12432	! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMINI.REQ.2 30-Mar-81 07:07:38, Edit by SROBINSON
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 184
								 3-Jan-1983 00:53:46	DNET61:<MCB.NML>NMINI.REQ.1 (1)

;	 R12433	!
;	 R12434	! Add initialization for Event Processing
;	 R12435	!
;	 R12436	! NET:<DECNET20-V3P1.NML>NMINI.REQ.3  2-Mar-81 09:18:37, Edit by GUNN
;	 R12437	!
;	 R12438	! Add initialization for volatile data base.
;	 R12439	!
;	 R12440	! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMINI.REQ.12 10-Feb-81 10:24:15, Edit by GUNN
;	 R12441	!
;	 R12442	! Make NML dequeue request process a task under all environments.
;	 R12443	! Change stack size for NML Mirror to 1024.
;	 R12444	
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 185
								 3-Jan-1983 00:53:46	DNET61:<MCB.NML>NMINI.REQ.1 (2)

;	 R12445	
;	 R12446	! NMINI - Network Management Initialization parameters
;	 R12447	
;	 R12448	!
;	 R12449	!                    COPYRIGHT (c) 1980, 1981, 1982
;	 R12450	!                    DIGITAL EQUIPMENT CORPORATION
;	 R12451	!                        Maynard, Massachusetts
;	 R12452	!
;	 R12453	!     This software is furnished under a license and may  be  used
;	 R12454	!     and copied only in accordance with the terms of such license
;	 R12455	!     and with the inclusion of the above copyright notice.   This
;	 R12456	!     software  or any other copies thereof may not be provided or
;	 R12457	!     otherwise made available to any other person.  No  title  to
;	 R12458	!     and ownership of the software is hereby transferred.
;	 R12459	!
;	 R12460	!     The information  in  this  software  is  subject  to  change
;	 R12461	!     without  notice  and should not be construed as a commitment
;	 R12462	!     by DIGITAL EQUIPMENT CORPORATION.
;	 R12463	!
;	 R12464	!     DIGITAL assumes no responsibility for the use or reliability
;	 R12465	!     of  its  software  on  equipment  which  is  not supplied by
;	 R12466	!     DIGITAL.
;	 R12467	!
;	 R12468	
;	 R12469	!++
;	 R12470	! Facility: LSG DECnet Network Management
;	 R12471	!
;	 R12472	! Abstract: This file contains parameter definitions that are used to
;	 R12473	!           initialize the Network Management Layer's (NML) data
;	 R12474	!           bases.
;	 R12475	!
;	 R12476	! Environment: TOPS10/TOPS20 user mode, MCB RSX user task
;	 R12477	!
;	 R12478	! Author: Steven M. Jenness, Creation date: 10-Sep-80
;	 R12479	!
;	 R12480	!--
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 186
								 3-Jan-1983 00:53:46	DNET61:<MCB.NML>NMINI.REQ.1 (3)

;	 R12481	
;	 R12482	!
;	 R12483	! Macro - MASTER_INITIALIZATION
;	 R12484	!
;	 R12485	! Function - This macro is used by the topmost level of
;	 R12486	!            the NML to call all the functional units
;	 R12487	!            that require initialization at startup time.
;	 R12488	!
;	 R12489	
;	 R12490	macro
;	MR12491	     MASTER_INITIALIZATION =
;	MR12492	%if $TOPS20
;	MR12493	%then
;	MR12494	    begin
;	MR12495	    DECLARE_JSYS (SPRIW);
;	MR12496	    $$SPRIW ($FHSLF, 1^35);
;	MR12497	    end;
;	MR12498	%fi
;	MR12499	%if $TOPS20 or $TOPS10
;	MR12500	%then
;	MR12501	
;	CR12502	  %( When removed from module NCPCEX add this....
;	CR12503	     NCP$COMMAND_INITIALIZE ();
;	MR12504	  )% 
;	MR12505	
;	MR12506	     NMU$PAGE_INITIALIZE ();
;	MR12507	     NMU$INTERRUPT_INITIALIZE ();
;	MR12508	     NMU$IPCF_INITIALIZE ();
;	MR12509	%fi
;	MR12510	     NML$DLW_INITIALIZE ();
;	MR12511	     NMU$NETWORK_INITIALIZE ();
;	MR12512	     NML$VDB_INITIALIZE ();
;	MR12513	     NML$REQUEST_INITIALIZE ();
;	MR12514	     NML$EVENT_INITIALIZE ();
;	MR12515	%if $TOPS20 or $TOPS10
;	MR12516	%then
;	MR12517	     NMU$SCHED_CREATE (NCP$START, 250, 0, ch$asciz ('NCP'));
;	MR12518	     NMU$SCHED_CREATE (NML$TRANSMITTER, 250, 0, ch$asciz ('NICE-TRANSMITTER'));
;	MR12519	%fi
;	MR12520	     NMU$SCHED_CREATE (NML$DEQUEUE_REQUEST, 300, 0, ch$asciz ('NML-PROCESSOR'));
;	MR12521	     NMU$SCHED_CREATE (NML$MIRROR, 512, 0, ch$asciz ('LOOPBACK-MIRROR'));
;	MR12522	%if not $MCB
;	MR12523	%then
;	MR12524	     NMU$SCHED_CREATE (NML$RECEIVE_NICE, 250, 0, ch$asciz ('NICE-LISTENER'));
;	MR12525	%else
;	MR12526	     NMU$SCHED_CREATE (NML$RECEIVE_NICE, 250, 0, ch$asciz ('NICE-LISTENER-1'));
;	MR12527	     NMU$SCHED_CREATE (NML$RECEIVE_NICE, 250, 0, ch$asciz ('NICE-LISTENER-2'));
;	MR12528	%fi
;	MR12529	     NMU$SCHED_CREATE (NML$COUNTER_TIMER_TASK, 250, 0, ch$asciz ('COUNTER-TIMER'))
;	 R12530	        %;
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 187
								 3-Jan-1983 00:53:46	DNET61:<MCB.NML>NMINI.REQ.1 (4)

;	 R12531	
;	 R12532	!
;	 R12533	! Macro - INIT_GLOBALS
;	 R12534	!
;	 R12535	! Function - To define as global the routines called by
;	 R12536	!            the MASTER_INITIALIZATION that are not part
;	 R12537	!            of the utility system.
;	 R12538	!
;	 R12539	
;	 R12540	macro
;	MR12541	     INIT_GLOBALS =
;	MR12542	%if $TOPS20 or $TOPS10                  ! Define for TOPS20 or TOPS10 only
;	MR12543	%then
;	MR12544		NCP$START : novalue,		! Start of NCP task
;	MR12545		NMU$PAGE_ALLOCATOR,		! Page allocation routines
;	MR12546		NMU$INTERRUPT_INITIALIZE,       ! Interrupt system initialization
;	MR12547		NMU$IPCF_MANAGER,		! IPCF system interface
;	MR12548		NML$TRANSMITTER : novalue,	! NICE transmitter
;	MR12549	%fi
;	MR12550	%if $TOPS10 %then
;	MR12551		DETACH : novalue,		! Detach NML from the FRCLIN
;	MR12552	%fi
;	MR12553		NMU$NETWORK_UTILITIES,		! Network task to task interface
;	MR12554		NML$MIRROR : novalue,		! Loopback mirror
;	MR12555		NML$REQUEST_INITIALIZE,		! Request manager
;	MR12556	        NML$DLW_INITIALIZE : novalue,   ! Data link watcher
;	MR12557	        NML$EVENT_INITIALIZE,           ! Event Processing
;	MR12558	        NML$VDB_INITIALIZE : novalue,   ! Volatile data base initializer
;	MR12559		NML$DEQUEUE_REQUEST : novalue,	! Request processor
;	MR12560	        NML$RECEIVE_NICE : novalue,     ! Nice listener
;	MR12561		NML$COUNTER_TIMER_TASK : novalue; ! Counter timer task
;	 R12562		%;
;	 R12563	
;	 R12564	!
;	 R12565	! Initialization parameters
;	 R12566	!
;	 R12567	
;	 R12568	literal
;	 R12569	       BASIC_MEMORY = 5000;             ! Size of free core pool
;	 R12570	
;	 R12571	
;	 R12572	! [End of NMINI.REQ]
								24-May-1985 13:14:44	TOPS-20 Bliss-16 2A(530)	    Page 188
								 3-Jan-1983 17:07:09	DNET61:<MCB.NML>NMULIB.REQ.1 (4)

;	  12573	
;	  12574	![End of NMULIB.REQ]





; Run Time:	01:57.1
; Elapsed Time:	02:20.6
; Memory Used:	241 pages
; Library Precompilation Complete