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