Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/nml/nmllib.lst
There are no other files named nmllib.lst in the archive.
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 1
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (1)
; 0001 ! NET:<PECKHAM.DEVELOPMENT>NMLLIB.REQ.2 7-Feb-82 18:17:16, Edit by PECKHAM
; 0002 !
; 0003 ! Provide value for P$ALL in MCB version (previously from NCP3TB)
; 0004 !
; 0005 ! NET:<PECKHAM.DEVELOPMENT>NMLLIB.REQ.2 7-Feb-82 16:41:28, Edit by PECKHAM
; 0006 !
; 0007 ! Conditionalize "REQUIRE NCPTAB" out of MCB version
; 0008 !
; 0009 ! NET:<BRANDT.DEVELOP>NMLLIB.REQ.2 5-Feb-82 16:55:08, Edit by BRANDT
; 0010 !
; 0011 ! Change "REQUIRE NCP3TB" to "REQUIRE NCPTAB"
; 0012 !
; 0013 ! NET:<PECKHAM.DEVELOPMENT>NMLLIB.REQ.2 21-Jan-82 11:35:08, Edit by PECKHAM
; 0014 !
; 0015 ! Change ordering of requires to fix bug introduced by previous edit.
; 0016 !
; 0017 ! NET:<GROSSMAN>NMLLIB.REQ.2 18-Jan-82 21:14:05, Edit by GROSSMAN
; 0018 !
; 0019 ! Replace requires of UUOSYM, MONSYM, NETDIR et. al. with requires of NMUT10,
; 0020 ! NMUT20, and NMUMCB. This was done, because these files contain many useful
; 0021 ! definitions.
; 0022 !
; 0023 ! NET:<DECNET20-V3P1.NMU>NMLLIB.REQ.2 16-Apr-81 13:52:51, Edit by JENNESS
; 0024 ! Add require for response processing macros (NMRSP).
; 0025 ! NET:<DECNET20-V3P1.NMU>NMLLIB.REQ.2 24-Mar-81 15:20:09, Edit by JENNESS
; 0026 ! Add require for debugging package.
; 0027 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLLIB.REQ.7 5-Mar-81 12:15:21, Edit by GUNN
; 0028 !
; 0029 ! Add require of NETDIR under MCB.
; 0030 !
; 0031 ! NET:<DECNET20-V3P1.NML>NMLLIB.REQ.2 19-Feb-81 16:41:04, Edit by GUNN
; 0032 !
; 0033 ! Update copyright date.
; 0034 ! Add switches declaration to inhibit listing of MONSYM.
; 0035 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 2
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (2)
; 0036
; 0037 ! NMLLIB - Network Management Layer library
; 0038 !
; 0039 ! COPYRIGHT (c) 1980, 1981, 1982
; 0040 ! DIGITAL EQUIPMENT CORPORATION
; 0041 ! Maynard, Massachusetts
; 0042 !
; 0043 ! This software is furnished under a license and may be used
; 0044 ! and copied only in accordance with the terms of such license
; 0045 ! and with the inclusion of the above copyright notice. This
; 0046 ! software or any other copies thereof may not be provided or
; 0047 ! otherwise made available to any other person. No title to
; 0048 ! and ownership of the software is hereby transferred.
; 0049 !
; 0050 ! The information in this software is subject to change
; 0051 ! without notice and should not be construed as a commitment
; 0052 ! by DIGITAL EQUIPMENT CORPORATION.
; 0053 !
; 0054 ! DIGITAL assumes no responsibility for the use or reliability
; 0055 ! of its software on equipment which is not supplied by
; 0056 ! DIGITAL.
; 0057 !
; 0058
; 0059 !++
; 0060 ! Facility: LSG DECnet Network Management
; 0061 !
; 0062 ! Abstract: This library is used by the modules of the
; 0063 ! Network Management Layer.
; 0064 !
; 0065 ! Environment: TOPS10/TOPS20 user mode, MCB RSX task level
; 0066 !
; 0067 ! Author: Steven M. Jenness, Creation date: 10-Dec-80
; 0068 !
; 0069 !--
; 0070 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 3
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 0071
; 0072 !
; 0073 ! Include files
; 0074 !
; 0075
; 0076 require 'SYSTYP'; ! Get system type definition
SYSTYP -- System type macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 4
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:17:07 TOPS-20 Bliss-16 2A(530) Page 5
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 0153
; 0154 switches list (norequire); ! Suppress XPORT listing
; 0155
; 0156 require 'BLI:XPORT'; ! Transportability package
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 6
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:17:07 TOPS-20 Bliss-16 2A(530) Page 7
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:17:07 TOPS-20 Bliss-16 2A(530) Page 8
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:17:07 TOPS-20 Bliss-16 2A(530) Page 9
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:17:07 TOPS-20 Bliss-16 2A(530) Page 10
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:17:07 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$_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:17:07 TOPS-20 Bliss-16 2A(530) Page 12
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:17:07 TOPS-20 Bliss-16 2A(530) Page 13
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 3877
; 3878 switches list (require);
; 3879
; 3880 require 'STRLIB'; ! String processing library
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 14
3-Jan-1983 17:30:36 DNET61:<MCB.NML>STRLIB.REQ.1 (1)
; R3881 ! NET:<VOBA.NML.DEVELOPMENT>STRLIB.REQ.9 18-Feb-82 12:41:09, Edit by VOBA
; R3882 !
; R3883 ! Readability cleanup and copyright update.
; R3884 !
; R3885 ! 14-Nov-81 22:45:18, Edit by GROSSMAN
; R3886 !
; R3887 ! Fix CH$LEN macro so that when the string is longer than the maximum length
; R3888 ! the maximum length supplied by the user is substituted.
; R3889 !
; R3890 ! NET:<DECNET20-V3P1.NMU.LIBRARY>STRLIB.REQ.3 12-Jun-81 11:59:08, Edit by JENNESS
; R3891 !
; R3892 ! Readability cleanup and copyright update.
; R3893 !
STRLIB -- String Processing Macro Library 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 15
3-Jan-1983 17:30:36 DNET61:<MCB.NML>STRLIB.REQ.1 (2)
; R3894 %title 'STRLIB -- String Processing Macro Library'
; R3895
; R3896 ! COPYRIGHT (c) 1980, 1981, 1982
; R3897 ! DIGITAL EQUIPMENT CORPORATION
; R3898 ! Maynard, Massachusetts
; R3899 !
; R3900 ! This software is furnished under a license and may be used
; R3901 ! and copied only in accordance with the terms of such license
; R3902 ! and with the inclusion of the above copyright notice. This
; R3903 ! software or any other copies thereof may not be provided or
; R3904 ! otherwise made available to any other person. No title to
; R3905 ! and ownership of the software is hereby transferred.
; R3906 !
; R3907 ! The information in this software is subject to change
; R3908 ! without notice and should not be construed as a commitment
; R3909 ! by DIGITAL EQUIPMENT CORPORATION.
; R3910 !
; R3911 ! DIGITAL assumes no responsibility for the use or reliability
; R3912 ! of its software on equipment which is not supplied by
; R3913 ! DIGITAL.
; R3914 !
; R3915
; R3916 !++
; R3917 ! Facility: LSG DECnet Network Management
; R3918 !
; R3919 ! Abstract:
; R3920 !
; R3921 ! This file contains a set of transportable string handling
; R3922 ! macros. These macros are intended to supplement the string
; R3923 ! facility of XPORT, not to replace it.
; R3924 !
; R3925 ! Environment: BLISS-36, BLISS-32, and BLISS-16.
; R3926 !
; R3927 ! Author(s): Steven M. Jenness, Dale C. Gunn
; R3928 !
; R3929 ! Creation date: 23-Oct-80
; R3930 !
; R3931 !--
STRLIB -- String Processing Macro Library 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 16
3-Jan-1983 17:30:36 DNET61:<MCB.NML>STRLIB.REQ.1 (3)
; R3932
; R3933 ! CH$DEFAULT (N, DEFAULT)
; R3934 !
; R3935 ! Install the value DEFAULT if the argument N is not given.
; R3936
; R3937
; R3938 macro
; MR3939 CH$DEFAULT (N, DEFAULT) =
; R3940 %if %null (N) %then DEFAULT %else N %fi %;
; R3941
; R3942
; R3943 ! CH$LEN (PTR, N)
; R3944 !
; R3945 ! Interpret PTR as a pointer to a character position
; R3946 ! sequence terminated by a null or zero value byte (possibly an
; R3947 ! ASCIZ string). Interpret N as an optional integer number of
; R3948 ! character sequence positions in the string designated by PTR.
; R3949 ! If N is not specified a default value of 200 will be used.
; R3950
; R3951
; R3952 macro
; MR3953 CH$LEN (PTR, N) =
; MR3954 (if ch$fail (ch$find_ch (ch$default (N,200), PTR, 0))
; MR3955 then ch$default (N, 200)
; R3956 else ch$diff (ch$find_ch (ch$default (N,200), PTR, 0), PTR)) %;
; R3957
; R3958
; R3959 ! CH$MIN (PTR, MAX)
; R3960 !
; R3961 ! Interpret PTR as a pointer to a character position
; R3962 ! sequence terminated by a null or zero value byte, i.e., an
; R3963 ! ASCIZ string. Interpret MAX as a value representing the
; R3964 ! maximum number of character positions to search. Return
; R3965 ! the minimum of MAX or the number of non-null characters in
; R3966 ! the string.
; R3967
; R3968
; R3969 macro
; MR3970 CH$MIN (PTR, MAX) =
; MR3971 begin
; MR3972 local P;
; MR3973
; MR3974 if ch$fail (P = ch$find_ch (MAX, PTR, %O'0'))
; MR3975 then MAX
; MR3976 else ch$diff (.P, PTR)
; R3977 end %;
STRLIB -- String Processing Macro Library 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 17
3-Jan-1983 17:30:36 DNET61:<MCB.NML>STRLIB.REQ.1 (4)
; R3978
; R3979 ! CH$SEQUENCE (N, CS)
; R3980 !
; R3981 ! Interpret N and CS as for ch$allocation. Return the vector
; R3982 ! structure definition required for storage of such a
; R3983 ! character position sequence.
; R3984
; R3985
; R3986 macro
; MR3987 CH$SEQUENCE (N, CS) =
; R3988 vector [ch$allocation (N, CS)] %;
; R3989
; R3990
; R3991 ! CH$ASCIC (STRING, ...)
; R3992 !
; R3993 ! Return a pointer to an ASCIC character position sequence
; R3994 ! formed by the characters represented by the string-params,
; R3995 ! which are interpreted as for the %string lexical function.
; R3996
; R3997
; R3998 macro
; MR3999 CH$ASCIC [ ] =
; R4000 ch$ptr (uplit (%string (%char (%charcount (%remaining)), %remaining)), 1) %;
; R4001
; R4002
; R4003 ! CH$ASCII (STRING, ...)
; R4004 !
; R4005 ! Return a pointer to an ASCII character position sequence
; R4006 ! formed by the characters represented by the string-params,
; R4007 ! which are interpreted as for the %string lexical function.
; R4008
; R4009
; R4010 macro
; MR4011 CH$ASCII [ ] =
; R4012 ch$ptr (uplit (%ascii %string (%remaining))) %;
; R4013
; R4014
; R4015 ! CH$ASCIZ (STRING, ...)
; R4016 !
; R4017 ! Return a pointer to an ASCIZ character position sequence
; R4018 ! formed by the characters represented by the string-params,
; R4019 ! which are interpreted as for the %string lexical function.
; R4020
; R4021
; R4022 macro
; MR4023 CH$ASCIZ [ ] =
; R4024 ch$ptr (uplit (%asciz %string (%remaining))) %;
STRLIB -- String Processing Macro Library 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 18
3-Jan-1983 17:30:36 DNET61:<MCB.NML>STRLIB.REQ.1 (5)
; R4025
; R4026 ! CH$MOVSTRING (ADDRESS, STRING, ...)
; R4027 !
; R4028 ! Interpret ADDRESS as the address of a pointer to a character
; R4029 ! position sequence. Interpret STRING as for the %string
; R4030 ! lexical function. Move the string formed by the characters
; R4031 ! represented by the string-params to the position pointed
; R4032 ! to by the pointer contained at ADDRESS. Update the pointer to
; R4033 ! point to the next available byte in the character position
; R4034 ! sequence.
; R4035
; R4036
; R4037 macro
; MR4038 CH$MOVSTRING (ADDRESS) [ ] =
; MR4039 ADDRESS = ch$move (%charcount (%ascii %string (%remaining)),
; MR4040 CH$ASCII (%ascii %string (%remaining)),
; R4041 .ADDRESS) %;
; R4042
; R4043
; R4044 ! CH$MOVASCIZ (DPTR, SPTR)
; R4045 !
; R4046 ! Interpret DPTR as the address of the destination pointer
; R4047 ! to a character position sequence. Interpret SPTR as the
; R4048 ! source pointer to a character position sequence containing
; R4049 ! an ASCIZ character sequence. Move the ASCIZ string pointed
; R4050 ! to by SPTR (the source string) to the position pointed to
; R4051 ! by DPTR (the destination string). Update DPTR to point to
; R4052 ! the next available byte in the destination character position
; R4053 ! sequence.
; R4054
; R4055
; R4056 macro
; MR4057 CH$MOVASCIZ (DPTR, SPTR) =
; R4058 DPTR = ch$move (CH$LEN (SPTR), SPTR, .DPTR) %;
; R4059
STRLIB -- String Processing Macro Library 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 19
3-Jan-1983 17:30:36 DNET61:<MCB.NML>STRLIB.REQ.1 (6)
; R4060
; R4061 %title ''
; R4062 %sbttl ''
; R4063
; R4064 !
; R4065 ! [End of STRLIB.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 20
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 4066
; 4067 require 'NETLIB'; ! Protocol message processing library
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 21
3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (1)
; R4068 ! NET:<VOBA.NML.DEVELOPMENT>NETLIB.REQ.5 18-Feb-82 14:46:45, Edit by VOBA
; R4069 !
; R4070 ! Clean up code and update copyright date.
; R4071 !
; R4072 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NETLIB.REQ.20 25-Nov-81 11:10:08, Edit by WEBBER
; R4073 !
; R4074 ! Fix dot bug in %ASLI32.
; R4075 !
; R4076 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.13 19-Oct-81 11:04:48, Edit by PECKHAM
; R4077 !
; R4078 ! Add %ADD32 routine.
; R4079 ! Alter %CMP routines again to furthur optimize.
; R4080 !
; R4081 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.4 13-Oct-81 21:12:50, Edit by PECKHAM
; R4082 !
; R4083 ! Add %ASLI32 routine to aid NMLDTL in shifting a 32 bit number.
; R4084 ! Optimize other 32 bit macros.
; R4085 !
; R4086 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.2 9-Oct-81 14:54:17, Edit by GUNN
; R4087 !
; R4088 ! Change second equal sign in assignment statement in %SUB32 macro
; R4089 ! to a minus sign.
; R4090 !
; R4091 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NETLIB.REQ.13 8-Oct-81 07:05:38, Edit by PECKHAM
; R4092 !
; R4093 ! Correct data gathering bug in macro GETN.
; R4094 !
; R4095 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.7 18-Aug-81 18:45:37, Edit by GUNN
; R4096 !
; R4097 ! Fix all macros which declare local names to use convention of
; R4098 ! $$MACRO-NAME_local-name to avoid name duplication and collision
; R4099 ! with names of caller.
; R4100 ! Make all 32 bit macros consistent among themselves and with CH$ functions
; R4101 ! with regard to direction of data movement. $MACRO ( source , destination ).
; R4102 !
; R4103 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.2 31-Jul-81 16:39:00, Edit by GUNN
; R4104 !
; R4105 ! Fix %MOV32 macro. Bind under $MCB conditional not terminated by
; R4106 ! semicolon.
; R4107 !
; R4108 ! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.3 14-Jul-81 20:02:19, Edit by GUNN
; R4109 !
; R4110 ! Fix bug in 32 bit definitions made in last edit.
; R4111 !
; R4112 ! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.2 6-Jul-81 09:56:28, Edit by JENNESS
; R4113 !
; R4114 ! Fix 32 bit macros to work on 16 bit machines.
; R4115 !
; R4116 ! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.14 12-Jun-81 11:58:08, Edit by JENNESS
; R4117 !
; R4118 ! Comment macros and general readability cleanup.
; R4119 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 22
3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (1)
; R4120 ! <DECNET20-V3P1.BASELEVEL-2.MCB>NETLIB.REQ.4 11-Jun-81 15:51:13, Edit by SROBINSON
; R4121 !
; R4122 ! Change various macros to make $MCB environments more efficient
; R4123 !
; R4124 ! NET:<DECNET20-V3P1.NMU>NETLIB.REQ.2 28-May-81 12:56:58, Edit by JENNESS
; R4125 !
; R4126 ! Add 32 bit fetch/store macros. Also a set of macros that facilitates
; R4127 ! 32 bit manipulations has been added.
; R4128 !
; R4129 ! NET:<DECNET20-V3P1.NML>NETLIB.REQ.2 20-Feb-81 10:16:42, Edit by GUNN
; R4130 !
; R4131 ! Add definition of GETW_NA.
; R4132 !
; R4133 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NETLIB.REQ.5 11-Feb-81 15:41:47, Edit by GUNN
; R4134 !
; R4135 ! Add field definition and macro, $SIGNED_BYTE_VALUE, for a signed 8 bit value.
; R4136 !
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 23
3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (2)
; R4137 %title 'NETLIB -- Procotol Message Processing Macro Library'
; R4138
; R4139 ! COPYRIGHT (c) 1980, 1981, 1982
; R4140 ! DIGITAL EQUIPMENT CORPORATION
; R4141 ! Maynard, Massachusetts
; R4142 !
; R4143 ! This software is furnished under a license and may be used
; R4144 ! and copied only in accordance with the terms of such license
; R4145 ! and with the inclusion of the above copyright notice. This
; R4146 ! software or any other copies thereof may not be provided or
; R4147 ! otherwise made available to any other person. No title to
; R4148 ! and ownership of the software is hereby transferred.
; R4149 !
; R4150 ! The information in this software is subject to change
; R4151 ! without notice and should not be construed as a commitment
; R4152 ! by DIGITAL EQUIPMENT CORPORATION.
; R4153 !
; R4154 ! DIGITAL assumes no responsibility for the use or reliability
; R4155 ! of its software on equipment which is not supplied by
; R4156 ! DIGITAL.
; R4157 !
; R4158
; R4159 !++
; R4160 ! Facility: LSG DECnet Network Management
; R4161 !
; R4162 ! Abstract:
; R4163 !
; R4164 ! This file contains macros that facilitate handling
; R4165 ! of 8 bit bytes protocol messages.
; R4166 !
; R4167 ! Environment: BLISS-36, BLISS-32, and BLISS-16.
; R4168 !
; R4169 ! Author(s): Steven M. Jenness, Dale C. Gunn
; R4170 !
; R4171 ! Creation date: 23-Oct-80
; R4172 !
; R4173 !--
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 24
3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (3)
; R4174 ! DECnet message processing macros
; R4175 !
; R4176 ! N.B - These macros are here for convenience at this time only
; R4177 ! and are specific to BLISS-36.
; R4178 !
; R4179 ! THEY ARE NOT TRANSPORTABLE! In time they will have to
; R4180 ! be moved to a machine specific library.
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 25
Write Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (4)
; R4181 %sbttl 'Write Macros'
; R4182
; R4183 ! Macro - PUTB
; R4184 !
; R4185 ! Function - To write a 8 bit value to the next position in
; R4186 ! a DECnet byte string. The pointer to the byte
; R4187 ! string is updated to point to the next free position.
; R4188 !
; R4189 ! Parameters -
; R4190 !
; R4191 ! VALUE 8 Bit value to write
; R4192 ! POINTER Address of byte string pointer
; R4193
; R4194
; R4195 macro
; MR4196 PUTB (VALUE, POINTER) =
; R4197 ch$wchar_a (VALUE, POINTER) %;
; R4198
; R4199
; R4200 ! Macro - PUTW
; R4201 !
; R4202 ! Function - To write a 16 bit value as the next two bytes in
; R4203 ! a DECnet byte string. The pointer to the byte
; R4204 ! string is updated to point to the next free position.
; R4205 !
; R4206 ! Parameters -
; R4207 !
; R4208 ! VALUE Address of 16 bit value to write
; R4209 ! POINTER Address of byte string pointer
; R4210
; R4211
; R4212 macro
; MR4213 PUTW (VALUE, POINTER) =
; MR4214 begin
; MR4215 ch$wchar_a (.VALUE<0,8,0>, POINTER);
; MR4216 ch$wchar_a (.VALUE<8,8,0>, POINTER);
; R4217 end %;
; R4218
; R4219
; R4220 ! Macro - EX_PUTW
; R4221 !
; R4222 ! Function - To write the given value to a byte string. The
; R4223 ! value is written as the smallest number of bytes
; R4224 ! possible (1 byte for 8 bits, 2 bytes for 16 bits).
; R4225 !
; R4226 ! Parameters -
; R4227 !
; R4228 ! VALUE Value to write (8 or 16 bits)
; R4229 ! POINTER Address of byte string pointer
; R4230
; R4231
; R4232 macro
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 26
Write Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (4)
; MR4233 EX_PUTW (VALUE, POINTER) =
; MR4234 if VALUE gtr 128
; MR4235 then begin
; MR4236 local $$EX_PUTW_X;
; MR4237
; MR4238 $$EX_PUTW_X = VALUE;
; MR4239 ch$wchar_a (.$$EX_PUTW_X<0,7>+128, POINTER);
; MR4240 ch$wchar_a (.$$EX_PUTW_X<7,7>, POINTER);
; MR4241 end
; R4242 else ch$wchar_a (VALUE, POINTER); %;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 27
Read Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (5)
; R4243 %sbttl 'Read Macros'
; R4244
; R4245 ! Macro - GETB
; R4246 !
; R4247 ! Function - To get the next 8 bit value from a byte string.
; R4248 ! The byte pointer is updated to point to the next
; R4249 ! byte to read.
; R4250 !
; R4251 ! Parameters -
; R4252 !
; R4253 ! POINTER Address of byte string pointer
; R4254 !
; R4255 ! Value returned -
; R4256 !
; R4257 ! The next byte in the string.
; R4258
; R4259
; R4260 macro
; MR4261 GETB (POINTER) =
; MR4262 begin
; MR4263 ch$rchar_a (POINTER)
; R4264 end %;
; R4265
; R4266
; R4267 ! Macro - GETW
; R4268 !
; R4269 ! Function - To get the next two bytes in a byte string and make
; R4270 ! a 16 bit value from them. The byte pointer is updated
; R4271 ! to point to the next byte in the string.
; R4272 !
; R4273 ! Parameters -
; R4274 !
; R4275 ! POINTER Address of byte string pointer
; R4276 !
; R4277 ! Value returned -
; R4278 !
; R4279 ! The value constructed from the next two bytes in the string.
; R4280 ! The first byte is the lower order 8 bits and the second byte
; R4281 ! is the high order 8 bits.
; R4282
; R4283
; R4284 macro
; MR4285 GETW (POINTER) =
; MR4286 begin
; MR4287 %if $MCB
; MR4288 %then stacklocal
; MR4289 %else local %fi $$GETB_X;
; MR4290
; MR4291 $$GETB_X<0,8,0> = ch$rchar_a (POINTER);
; MR4292 $$GETB_X<8,8,0> = ch$rchar_a (POINTER);
; MR4293 .$$GETB_X<0,16,0>
; R4294 end %;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 28
Read Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (5)
; R4295
; R4296
; R4297 ! Macro - GETW_NA
; R4298 !
; R4299 ! Function - To get the next two bytes in a byte string and make
; R4300 ! a 16 bit value from them. The byte pointer is not
; R4301 ! updated.
; R4302 !
; R4303 ! Parameters -
; R4304 !
; R4305 ! POINTER Byte string pointer
; R4306 !
; R4307 ! Value returned -
; R4308 !
; R4309 ! The value constructed from the next two bytes in the string.
; R4310 ! The first byte is the lower order 8 bits and the second byte
; R4311 ! is the high order 8 bits.
; R4312
; R4313 macro
; MR4314 GETW_NA (POINTER) =
; MR4315 begin
; MR4316 %if $MCB
; MR4317 %then stacklocal
; MR4318 %else local %fi $$GETW_NA_X;
; MR4319
; MR4320 $$GETW_NA_X<0,8,0> = ch$rchar (POINTER);
; MR4321 $$GETW_NA_X<8,8,0> = ch$rchar (ch$plus (POINTER,1));
; MR4322 .$$GETW_NA_X<0,16,0>
; R4323 end %;
; R4324
; R4325
; R4326 ! Macro - GETN
; R4327 !
; R4328 ! Function - To get then next "N" bytes and construct a value
; R4329 ! from them. The bytes read are in ascending
; R4330 ! significance (i.e. lowest order byte is the first
; R4331 ! byte read).
; R4332 !
; R4333 ! Parameters -
; R4334 !
; R4335 ! POINTER Address of byte string pointer
; R4336 ! COUNT Number of bytes to read
; R4337 !
; R4338 ! Value returned -
; R4339 !
; R4340 ! The value constructed from the sequence of bytes read.
; R4341 !
; R4342
; R4343 macro
; MR4344 GETN (POINTER, COUNT) =
; MR4345 begin
; MR4346 local $$GETN_X;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 29
Read Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (5)
; MR4347
; MR4348 $$GETN_X = ch$rchar_a (POINTER);
; MR4349 incr $$GETN_P from 8 to ((COUNT-1)*8) by 8
; MR4350 do $$GETN_X = .$$GETN_X + ch$rchar_a (POINTER)^.$$GETN_P;
; MR4351 .$$GETN_X
; R4352 end %;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 30
String Length Checking Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (6)
; R4353 %sbttl 'String Length Checking Macros'
; R4354
; R4355 ! Macro - NEXTB
; R4356 !
; R4357 ! Function - This macro checks a string length to see if it
; R4358 ! is long enough to contain a byte field. If it does
; R4359 ! it increments the string count past the next byte.
; R4360 !
; R4361 ! Parameters -
; R4362 !
; R4363 ! MAXIMUM Maximum number of bytes in the string
; R4364 ! COUNT Number of bytes already used in the string
; R4365 !
; R4366 ! Returns -
; R4367 !
; R4368 ! $true String contains one more byte
; R4369 ! $false End of string reached
; R4370 !
; R4371 ! Side effects -
; R4372 !
; R4373 ! The value in COUNT is updated to point beyond the next byte.
; R4374
; R4375
; R4376 macro
; MR4377 NEXTB (MAXIMUM, COUNT) =
; MR4378 begin
; MR4379 local $$NEXTB_TEMP;
; MR4380
; MR4381 if MAXIMUM geq ($$NEXTB_TEMP = .COUNT + 1)
; MR4382 then begin
; MR4383 COUNT = .$$NEXTB_TEMP;
; MR4384 (1 eql 1)
; MR4385 end
; MR4386 else (1 eql 0)
; R4387 end %;
; R4388
; R4389
; R4390 ! Macro - NEXTW
; R4391 !
; R4392 ! Function - This macro checks a string length to see if it
; R4393 ! is long enough to contain a word (2 byte) field.
; R4394 ! If it does it increments the string count past
; R4395 ! the next word.
; R4396 !
; R4397 ! Parameters -
; R4398 !
; R4399 ! MAXIMUM Maximum number of bytes in the string
; R4400 ! COUNT Number of bytes already used in the string
; R4401 !
; R4402 ! Returns -
; R4403 !
; R4404 ! $true String contains one more word
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4405 ! $false End of string reached
; R4406 !
; R4407 ! Side effects -
; R4408 !
; R4409 ! The value in COUNT is updated to point beyond the next word.
; R4410
; R4411
; R4412 macro
; MR4413 NEXTW (MAXIMUM, COUNT) =
; MR4414 begin
; MR4415 local $$NEXTW_TEMP;
; MR4416
; MR4417 if MAXIMUM geq ($$NEXTW_TEMP = .COUNT + 2)
; MR4418 then begin
; MR4419 COUNT = .$$NEXTW_TEMP;
; MR4420 (1 eql 1)
; MR4421 end
; MR4422 else (1 eql 0)
; R4423 end %;
; R4424
; R4425
; R4426 ! Macro - NEXTN
; R4427 !
; R4428 ! Function - This macro checks a string length to see if it
; R4429 ! is long enough to contain a field of COUNT bytes.
; R4430 ! If it does it increments the string count past
; R4431 ! COUNT bytes.
; R4432 !
; R4433 ! Parameters -
; R4434 !
; R4435 ! MAXIMUM Maximum number of bytes in the string
; R4436 ! USED Number of bytes already used in the string
; R4437 ! COUNT Number of bytes in field
; R4438 !
; R4439 ! Returns -
; R4440 !
; R4441 ! $true String contains COUNT bytes
; R4442 ! $false End of string reached
; R4443 !
; R4444 ! Side effects -
; R4445 !
; R4446 ! The value in USED is updated to point beyond COUNT bytes.
; R4447
; R4448
; R4449 macro
; MR4450 NEXTN (MAXIMUM, USED, COUNT) =
; MR4451 begin
; MR4452 local $$NEXTN_TEMP;
; MR4453
; MR4454 if MAXIMUM geq ($$NEXTN_TEMP = .USED + COUNT)
; MR4455 then begin
; MR4456 USED = .$$NEXTN_TEMP;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; MR4457 (1 eql 1)
; MR4458 end
; MR4459 else (1 eql 0)
; R4460 end %;
; R4461
; R4462
; R4463 ! Macro - NEXTF
; R4464 !
; R4465 ! Function - This macro checks a string length to see if it
; R4466 ! is long enough to contain a counted field.
; R4467 ! If it does it sets the count past the end of
; R4468 ! of the field.
; R4469 !
; R4470 ! Parameters -
; R4471 !
; R4472 ! MAXIMUM Maximum number of bytes in the string
; R4473 ! COUNT Number of bytes already used in the string
; R4474 ! POINTER Pointer into string being checked
; R4475 !
; R4476 ! Returns -
; R4477 !
; R4478 ! $true String contains a counted field
; R4479 ! $false End of string reached
; R4480 !
; R4481 ! Side effects -
; R4482 !
; R4483 ! The value in COUNT is updated to point beyond the
; R4484 ! counted field.
; R4485 !
; R4486
; R4487 macro
; MR4488 NEXTF (MAXIMUM, COUNT, POINTER) =
; MR4489 begin
; MR4490 local $$NEXTF_TEMP;
; MR4491
; MR4492 if MAXIMUM geq ($$NEXTF_TEMP = .COUNT + 1)
; MR4493 then begin
; MR4494 COUNT = .$$NEXTF_TEMP + ch$rchar (POINTER);
; MR4495 (1 eql 1)
; MR4496 end
; MR4497 else (1 eql 0)
; R4498 end %;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 33
32 Bit Data Manipulation Macros 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (7)
; R4499 %sbttl '32 Bit Data Manipulation Macros'
; R4500
; R4501 ! Macro - PUT32
; R4502 !
; R4503 ! Function - This macro writes a 32 bit value as four bytes
; R4504 ! (LSB first) to a output string.
; R4505 !
; R4506 ! Parameters -
; R4507 !
; R4508 ! VALUE Address of 32 bit value
; R4509 ! POINTER Address of output byte pointer
; R4510
; R4511
; R4512 macro
; MR4513 PUT32 (VALUE, POINTER) =
; MR4514 begin
; MR4515 bind $$PUT32_VALUE = VALUE : THIRTY_TWO_BIT;
; MR4516
; MR4517 PUTB (.$$PUT32_VALUE[$32BYTE1], POINTER);
; MR4518 PUTB (.$$PUT32_VALUE[$32BYTE2], POINTER);
; MR4519 PUTB (.$$PUT32_VALUE[$32BYTE3], POINTER);
; MR4520 PUTB (.$$PUT32_VALUE[$32BYTE4], POINTER);
; R4521 end %;
; R4522
; R4523
; R4524 ! Macro - GET32
; R4525 !
; R4526 ! Function - This macro reads a 32 bit value as four bytes
; R4527 ! (LSB first) from a input string.
; R4528 !
; R4529 ! Parameters -
; R4530 !
; R4531 ! POINTER Address of input byte pointer
; R4532 ! VALUE Address of 32 bit value
; R4533
; R4534
; R4535 macro
; MR4536 GET32 (POINTER, VALUE) =
; MR4537 begin
; MR4538 bind $$GET32_VALUE = VALUE : THIRTY_TWO_BIT;
; MR4539
; MR4540 %if $TOPS10 or $TOPS20
; MR4541 %then $$GET32_VALUE = 0;
; MR4542 %fi
; MR4543
; MR4544 $$GET32_VALUE[$32BYTE1] = GETB (POINTER);
; MR4545 $$GET32_VALUE[$32BYTE2] = GETB (POINTER);
; MR4546 $$GET32_VALUE[$32BYTE3] = GETB (POINTER);
; MR4547 $$GET32_VALUE[$32BYTE4] = GETB (POINTER);
; R4548 end %;
; R4549
; R4550
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4551 ! Macro - %MOV32
; R4552 !
; R4553 ! Function - This macro moves a 32 bit value from one 32 bit
; R4554 ! storage area to another.
; R4555 !
; R4556 ! Parameters -
; R4557 !
; R4558 ! SOURCE Address of 32 bit value to move FROM
; R4559 ! TARGET Address of 32 bit value to move TO
; R4560
; R4561
; R4562 macro
; MR4563 %MOV32 (SOURCE, TARGET) =
; MR4564 begin
; MR4565 %if not $MCB
; MR4566 %then TARGET = (.SOURCE)<0,32,1>;
; MR4567 %else bind $$MOV32_TARGET = TARGET : THIRTY_TWO_BIT,
; MR4568 $$MOV32_SOURCE = SOURCE : THIRTY_TWO_BIT;
; MR4569
; MR4570 $$MOV32_TARGET[$32WORD1] = .$$MOV32_SOURCE[$32WORD1];
; MR4571 $$MOV32_TARGET[$32WORD2] = .$$MOV32_SOURCE[$32WORD2];
; MR4572 %fi
; R4573 end %;
; R4574
; R4575
; R4576 ! Macro - %MOVT32
; R4577 !
; R4578 ! Function - This macro moves a fullword value in a BLISS variable
; R4579 ! to a 32 bit value storage area.
; R4580 ! The source value is restricted to the machine word
; R4581 ! size.
; R4582 !
; R4583 ! Parameters -
; R4584 !
; R4585 ! SOURCE Address of fullword value to move FROM
; R4586 ! TARGET Address of 32 bit value to move TO
; R4587
; R4588
; R4589 macro
; MR4590 %MOVT32 (SOURCE, TARGET) =
; MR4591 begin
; MR4592 %if not $MCB
; MR4593 %then TARGET = .SOURCE;
; MR4594 %else bind $$MOVT32_TARGET = TARGET : THIRTY_TWO_BIT;
; MR4595
; MR4596 $$MOVT32_TARGET[$32WORD1] = .SOURCE;
; MR4597 $$MOVT32_TARGET[$32WORD2] = 0;
; MR4598 %fi
; R4599 end %;
; R4600
; R4601
; R4602 ! Macro - %MOVF32
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4603 !
; R4604 ! Function - This macro moves a 32 bit value from a 32 bit storage
; R4605 ! area to a BLISS variable as a fullword value.
; R4606 ! The destination value is truncated to the machine word
; R4607 ! size.
; R4608 !
; R4609 ! Parameters -
; R4610 !
; R4611 ! SOURCE Address of 32 bit value to move FROM
; R4612 ! TARGET Address of fullword value to move TO
; R4613
; R4614
; R4615 macro
; MR4616 %MOVF32 (SOURCE, TARGET) =
; MR4617 begin
; MR4618 %if not $MCB
; MR4619 %then TARGET = (.SOURCE)<0,32>;
; MR4620 %else bind $$MOVF32_SOURCE = SOURCE : THIRTY_TWO_BIT;
; MR4621
; MR4622 TARGET = .$$MOVF32_SOURCE[$32WORD1];
; MR4623 %fi
; R4624 end %;
; R4625
; R4626
; R4627 ! Macro - %MOVI32
; R4628 !
; R4629 ! Function - This macro moves an immediate BLISS fullword value
; R4630 ! to a 32 bit value storage area.
; R4631 !
; R4632 ! Parameters -
; R4633 !
; R4634 ! VALUE Fullword value to move FROM
; R4635 ! TARGET Address of 32 bit value to move TO
; R4636
; R4637
; R4638 macro
; MR4639 %MOVI32 (VALUE, TARGET) =
; MR4640 begin
; MR4641 %if not $MCB
; MR4642 %then TARGET = VALUE;
; MR4643 %else bind $$MOVI32_TARGET = TARGET : THIRTY_TWO_BIT;
; MR4644
; MR4645 $$MOVI32_TARGET[$32WORD1] = VALUE;
; MR4646 $$MOVI32_TARGET[$32WORD2] = 0;
; MR4647 %fi
; R4648 end %;
; R4649
; R4650
; R4651 ! Macro - %ADD32
; R4652 !
; R4653 ! Function - This macro adds one 32 bit value to another
; R4654 ! (VALUE1 + VALUE2) and stores the result in the
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4655 ! second value.
; R4656 !
; R4657 ! Parameters -
; R4658 !
; R4659 ! VALUE1 Address of first 32 bit value
; R4660 ! VALUE2 Address of second 32 bit value
; R4661
; R4662
; R4663 macro
; MR4664 %ADD32 (VALUE1, VALUE2) =
; MR4665 begin
; MR4666 %if not $MCB
; MR4667 %then VALUE2 = (.VALUE2)<0,32> + (.VALUE1)<0,32>;
; MR4668 %else linkage $$ADD32 = jsr (register = 0, register = 1);
; MR4669 external routine $ADD32 : $$ADD32 novalue;
; MR4670
; MR4671 $ADD32 (VALUE1, VALUE2);
; MR4672 %fi
; R4673 end %;
; R4674
; R4675
; R4676 ! Macro - %CMP32
; R4677 !
; R4678 ! Function - This macro compares two 32 bit values using
; R4679 ! the specified boolean operation.
; R4680 !
; R4681 ! Parameters -
; R4682 !
; R4683 ! VALUE1 Address of first 32 bit value
; R4684 ! BOOLEAN Bliss boolean mnemonic
; R4685 ! VALUE2 Address of second 32 bit value
; R4686
; R4687
; R4688 macro
; MR4689 %CMP32 (VALUE1, BOOLEAN, VALUE2) =
; MR4690 begin
; MR4691 %if not $MCB
; MR4692 %then (.VALUE1)<0,32> BOOLEAN (.VALUE2)<0,32>
; MR4693 %else stacklocal $$CMP32_CV : THIRTY_TWO_BIT;
; MR4694 bind $$CMP32_C = $$CMP32_CV;
; MR4695
; MR4696 %MOV32 (VALUE1, $$CMP32_C);
; MR4697 %SUB32 (VALUE2, $$CMP32_C);
; MR4698 %SGN32 ($$CMP32_C) BOOLEAN 0
; MR4699 %fi
; R4700 end %;
; R4701
; R4702
; R4703 ! Macro - %SUB32
; R4704 !
; R4705 ! Function - This macro subtracts one 32 bit value from another
; R4706 ! (VALUE2 - VALUE1) and stores the result in the
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4707 ! second value.
; R4708 !
; R4709 ! Parameters -
; R4710 !
; R4711 ! VALUE1 Address of first 32 bit value
; R4712 ! VALUE2 Address of second 32 bit value
; R4713
; R4714
; R4715 macro
; MR4716 %SUB32 (VALUE1, VALUE2) =
; MR4717 begin
; MR4718 %if not $MCB
; MR4719 %then VALUE2 = (.VALUE2)<0,32> - (.VALUE1)<0,32>;
; MR4720 %else linkage $$SUB32 = jsr (register = 0, register = 1);
; MR4721 external routine $SUB32 : $$SUB32 novalue;
; MR4722
; MR4723 $SUB32 (VALUE1, VALUE2);
; MR4724 %fi
; R4725 end %;
; R4726
; R4727
; R4728 ! Macro - %CMPI32
; R4729 !
; R4730 ! Function - This macro compares a 32 bit value against a
; R4731 ! fullword value using the specified boolean operation.
; R4732 !
; R4733 ! Parameters -
; R4734 !
; R4735 ! VALUE Address of 32 bit value
; R4736 ! BOOLEAN Bliss boolean mnemonic
; R4737 ! FULLWORD Fullword value
; R4738
; R4739
; R4740 macro
; MR4741 %CMPI32 (VALUE, BOOLEAN, FULLWORD) =
; MR4742 begin
; MR4743 %if not $MCB
; MR4744 %then (.VALUE)<0,32> BOOLEAN FULLWORD
; MR4745 %else stacklocal $$CMPI32_CV : THIRTY_TWO_BIT;
; MR4746 bind $$CMPI32_C = $$CMPI32_CV;
; MR4747
; MR4748 %MOVI32 (FULLWORD, $$CMPI32_C);
; MR4749 %SUB32 (VALUE, $$CMPI32_C);
; MR4750 0 BOOLEAN %SGN32 ($$CMPI32_C)
; MR4751 %fi
; R4752 end %;
; R4753
; R4754
; R4755 ! Macro - %SUBI32
; R4756 !
; R4757 ! Function - This macro subtracts a fullword value from a
; R4758 ! 32 bit value (32bit - fullword) and stores the
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4759 ! result in the 32 bit location.
; R4760 !
; R4761 ! Parameters -
; R4762 !
; R4763 ! FULLWORD Fullword value
; R4764 ! VALUE Address of 32 bit value
; R4765
; R4766
; R4767 macro
; MR4768 %SUBI32 (FULLWORD, VALUE) =
; MR4769 begin
; MR4770 %if not $MCB
; MR4771 %then VALUE = (.VALUE)<0,32> - FULLWORD;
; MR4772 %else local $$SUBI32_C : THIRTY_TWO_BIT;
; MR4773
; MR4774 %MOVI32 (FULLWORD, $$SUBI32_C);
; MR4775 %SUB32 ($$SUBI32_C, VALUE);
; MR4776 %fi
; R4777 end %;
; R4778
; R4779
; R4780 ! Macro - %ADDI32
; R4781 !
; R4782 ! Function - This macro adds a fullword value to a
; R4783 ! 32 bit value (32bit + fullword) and stores the
; R4784 ! result in the 32 bit location.
; R4785 !
; R4786 ! Parameters -
; R4787 !
; R4788 ! FULLWORD Fullword value
; R4789 ! VALUE Address of 32 bit value
; R4790
; R4791
; R4792 macro
; MR4793 %ADDI32 (FULLWORD, VALUE) =
; MR4794 begin
; MR4795 %if not $MCB
; MR4796 %then VALUE = (.VALUE)<0,32> + FULLWORD;
; MR4797 %else local $$ADDI32_C : THIRTY_TWO_BIT;
; MR4798
; MR4799 %MOVI32 (FULLWORD, $$ADDI32_C);
; MR4800 %ADD32 ($$ADDI32_C, VALUE);
; MR4801 %fi
; R4802 end %;
; R4803
; R4804
; R4805 ! Macro - %SGN32
; R4806 !
; R4807 ! Function - This macro returns the sign of the given 32 bit value
; R4808 !
; R4809 ! Parameters -
; R4810 !
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 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)
; R4811 ! VALUE Address of 32 bit value
; R4812
; R4813
; R4814 macro
; MR4815 %SGN32 (VALUE) =
; MR4816 begin
; MR4817 %if not $MCB
; MR4818 %then SIGN (.VALUE<0,32,1>)
; MR4819 %else linkage $$SGN32 = jsr (register = 1);
; MR4820 external routine $SGN32 : $$SGN32;
; MR4821
; MR4822 $SGN32 (VALUE)
; MR4823 %fi
; R4824 end %;
; R4825
; R4826
; R4827 ! Macro - %ASLI32
; R4828 !
; R4829 ! Function - This macro shifts a 32 bit value (32bit + fullword) left by
; R4830 ! number of bits specified by the immediate value.
; R4831 !
; R4832 ! Parameters -
; R4833 !
; R4834 ! POSITION Positive value to shift
; R4835 ! VALUE Address of 32 bit value
; R4836
; R4837
; R4838 macro
; MR4839 %ASLI32 (POSITION, VALUE) =
; MR4840 begin
; MR4841 %if not $MCB
; MR4842 %then VALUE = .VALUE ^ POSITION;
; MR4843 %else bind $$ASLI32_VALUE = VALUE : THIRTY_TWO_BIT;
; MR4844
; MR4845 decru $$ASL_INDEX from POSITION to 1
; MR4846 do begin
; MR4847 builtin ROT;
; MR4848
; MR4849 $$ASLI32_VALUE[$32WORD1] = ROT (.$$ASLI32_VALUE[$32WORD1], 1);
; MR4850 $$ASLI32_VALUE[$32WORD2] = ROT (.$$ASLI32_VALUE[$32WORD2], 1);
; MR4851 end;
; MR4852 %fi
; R4853 end %;
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 40
32 Bit Structure Definition 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (8)
; R4854 %sbttl '32 Bit Structure Definition'
; R4855
; R4856 ! Structure - THIRTY_TWO_BIT
; R4857 !
; R4858 ! Function - Define the storage and access to a 32 bit value.
; R4859
; R4860
; LR4861 %if not $MCB
; UR4862 %then field THIRTY_TWO_BIT_FIELDS =
; UR4863 set
; UR4864 $32BYTE1 = [0, 0, 8, 0],
; UR4865 $32BYTE2 = [0, 8, 8, 0],
; UR4866 $32BYTE3 = [0, 16, 8, 0],
; UR4867 $32BYTE4 = [0, 24, 8, 0]
; UR4868 tes;
; UR4869
; UR4870 macro
; UR4871 THIRTY_TWO_BIT = block [1] field (THIRTY_TWO_BIT_FIELDS) %;
; UR4872
; R4873 %else field THIRTY_TWO_BIT_FIELDS =
; R4874 set
; R4875 $32BYTE1 = [0, 0, 8, 0],
; R4876 $32BYTE2 = [0, 8, 8, 0],
; R4877 $32BYTE3 = [1, 0, 8, 0],
; R4878 $32BYTE4 = [1, 8, 8, 0],
; R4879 $32WORD1 = [0, 0, 16, 0],
; R4880 $32WORD2 = [1, 0, 16, 0]
; R4881 tes;
; R4882
; R4883 macro
; R4884 THIRTY_TWO_BIT = block [2] field (THIRTY_TWO_BIT_FIELDS) %;
; R4885 %fi
; R4886
; R4887
; R4888 ! Structure - SIGNED_BYTE
; R4889 !
; R4890 ! Function - Define a signed 8 bit byte value.
; R4891
; R4892
; R4893 $field SIGNED_BYTE =
; R4894 set
; R4895 VALUE = [0, 0, 8, 1] ! Signed eight bit byte
; R4896 tes;
; R4897
; R4898 macro
; MR4899 $SIGNED_BYTE_VALUE =
; R4900 block [1] field (SIGNED_BYTE) %;
; R4901
NETLIB -- Procotol Message Processing Macro Lib 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 41
32 Bit Structure Definition 3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (9)
; R4902
; R4903 %title ''
; R4904 %sbttl ''
; R4905
; R4906 !
; R4907 ! [End of NETLIB.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 42
3-Jan-1983 00:43:54 DNET61:<MCB.NML>NETLIB.REQ.1 (10)
; R4908
; R4909 ! Local Modes:
; R4910 ! Mode:BLISS
; R4911 ! Auto Save Mode:2
; R4912 ! Comment Column:40
; R4913 ! Comment Rounding:+1
; R4914 ! End:
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 43
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 4915
; 4916 require 'DEBUG'; ! Debugging facility
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 44
2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (1)
; R4917 ! NET:<VOBA.NML.DEVELOPMENT>DEBUG.REQ.10 18-Feb-82 15:21:40, Edit by VOBA
; R4918 !
; R4919 ! Clean up code and update copyright date.
; R4920 !
; R4921 ! NET:<GROSSMAN>DEBUG.REQ.3 19-Jan-82 11:18:03, Edit by GROSSMAN
; R4922 !
; R4923 ! Fix syntax bug in DEBUG_BITS macro. (Missing comma)
; R4924 !
; R4925 ! NET:<BRANDT.DEVELOP>DEBUG.REQ.1 15-Jan-82 17:30:45, Edit by BRANDT
; R4926 !
; R4927 ! Fix %routine and %global_routine to include a %sbttl line,
; R4928 ! thus making it easier to peruse listings.
; R4929 !
; R4930 ! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.8 7-Jul-81 09:40:45, Edit by JENNESS
; R4931 !
; R4932 ! Fix %routine and %global_routine to suppress generation of
; R4933 ! literal containing routine name in MCB version (save the space).
; R4934 !
; R4935 ! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.6 2-Jul-81 19:48:28, Edit by GUNN
; R4936 !
; R4937 ! Add FORMAT_BUFFER macro to convert the contents of a message
; R4938 ! buffer to readable text.
; R4939 !
; R4940 ! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.3 2-Jul-81 09:31:42, Edit by JENNESS
; R4941 !
; R4942 ! Fix DEBUG_TELL to output the debug flag mnemonic along with
; R4943 ! with the feature name.
; R4944 !
; R4945 ! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.2 27-Jun-81 18:28:21, Edit by JENNESS
; R4946 !
; R4947 ! Add DLW_TRACE debugging flag for DATA LINK WATCHER task.
; R4948 !
; R4949 ! NET:<DECNET20-V3P1.NMU>DEBUG.REQ.5 24-Jun-81 09:30:11, Edit by JENNESS
; R4950 !
; R4951 ! Add FILE_TRACE debugging flag for NMUFIL routines.
; R4952 ! Add PAGE_TRACE debugging flag for NMUPAG routines.
; R4953 !
; R4954 !NET:<DECNET20-V3P1.NMU>DEBUG.REQ.2 12-Jun-81 13:31:31, Edit by JENNESS
; R4955 !
; R4956 ! Readability improvements.
; R4957 !
; R4958 !<DECNET20-V3P1.BASELEVEL-2.MCB>DEBUG.REQ.4 25-May-81 08:35:41, Edit by SROBINSON
; R4959 !
; R4960 ! Limit Text Generation in $MCB
; R4961 !
; R4962 !NET:<DECNET20-V3P1.NMU>DEBUG.REQ.7 20-May-81 11:28:48, Edit by JENNESS
; R4963 !
; R4964 ! Add TRACE_INFO_CL macro. This appends to output previously generated
; R4965 ! by a TRACE_INFO or TRACE_INFO_C macro.
; R4966 !
; R4967 !NET:<DECNET20-V3P1.NMU>DEBUG.REQ.2 5-May-81 10:45:48, Edit by JENNESS
; R4968 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 45
2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (1)
; R4969 ! Add TRACE_INFO_C macro. This prints the same way that TRACE_INFO
; R4970 ! does, except that it doesn't included the task and routine names.
; R4971 !
; R4972 !NET:<DECNET20-V3P1.NMU>DEBUG.REQ.3 28-Apr-81 09:06:48, Edit by JENNESS
; R4973 !
; R4974 ! Add check to %routine and %global_routine to undeclare %RTN_NAME
; R4975 ! only if it was already declared (BLISS has gotten stricter).
; R4976 !
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 46
2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (2)
; R4977 %title 'DEBUG -- Debugging Macros And Definitions'
; R4978
; R4979 ! COPYRIGHT (c) 1980, 1981, 1982
; R4980 ! DIGITAL EQUIPMENT CORPORATION
; R4981 ! Maynard, Massachusetts
; R4982 !
; R4983 ! This software is furnished under a license and may be used
; R4984 ! and copied only in accordance with the terms of such license
; R4985 ! and with the inclusion of the above copyright notice. This
; R4986 ! software or any other copies thereof may not be provided or
; R4987 ! otherwise made available to any other person. No title to
; R4988 ! and ownership of the software is hereby transferred.
; R4989 !
; R4990 ! The information in this software is subject to change
; R4991 ! without notice and should not be construed as a commitment
; R4992 ! by DIGITAL EQUIPMENT CORPORATION.
; R4993 !
; R4994 ! DIGITAL assumes no responsibility for the use or reliability
; R4995 ! of its software on equipment which is not supplied by
; R4996 ! DIGITAL.
; R4997 !
; R4998
; R4999 !++
; R5000 ! Facility: LSG DECnet Network Management
; R5001 !
; R5002 ! Abstract: This file contains definitions used for conditionalized
; R5003 ! debugging and execution tracing.
; R5004 !
; R5005 ! Environment: Bliss-36, Bliss-32 and Bliss-16.
; R5006 !
; R5007 ! Author: Steven M. Jenness, Creation date: 18-Mar-81
; R5008 !
; R5009 !--
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 47
Debugging Expressions And Feature Names 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (3)
; R5010 %sbttl 'Debugging Expressions And Feature Names'
; R5011
; R5012 literal TRACE_BUFFER_LENGTH = 200; ! Length of buffer for TRACE_INFO
; R5013
; R5014
; R5015 ! macro: %DEBUG
; R5016 !
; R5017 ! This macro conditionally executes the code given
; R5018 ! in the argument list. There are two stages to
; R5019 ! the conditionalization:
; R5020 !
; R5021 ! (1) Compile time The code is compiled only if
; R5022 ! the VARIANT compiler switch
; R5023 ! is given with a value of 1.
; R5024 !
; R5025 ! (2) Run time The code is executed only if
; R5026 ! the expression given in the
; R5027 ! BOOLEAN field is true. If the
; R5028 ! word ALWAYS is given instead
; R5029 ! the code will always be executed
; R5030 ! if (1) above is satisfied.
; R5031 !
; R5032 ! e.x. %debug (DEBUG_TRACE, (TRACE_INFO ('Debugging is on')));
; R5033
; R5034
; R5035 macro
; MR5036 %DEBUG (BOOLEAN, CODE) =
; MR5037 %if %variant eql 1
; MR5038 %then %if %identical (BOOLEAN, ALWAYS)
; MR5039 %then %remove (CODE)
; MR5040 %else if BOOLEAN
; MR5041 then CODE
; MR5042 %fi
; R5043 %fi %;
; R5044
; R5045
; R5046 ! macro: DEBUG_FLAG_SET
; R5047 !
; R5048 ! This macro defines all the conditions that can be
; R5049 ! selected at run time for debugging. (See %debug
; R5050 ! example above for keyword usage). The DB.xxx symbol
; R5051 ! is defined as a global symbol so that debugging features
; R5052 ! can be easily enabled or disabled from DDT.
; R5053 !
; R5054
; R5055 macro
; MR5056 DEBUG_FLAG_SET =
; MR5057 'DEBUG_TRACE', 'DB.TRA',
; MR5058 'ROUTINE_TRACE', 'DB.RTN',
; MR5059 'LOCAL_GALAXY', 'DB.GLX',
; MR5060 'MEMORY_TRACE', 'DB.MEM',
; MR5061 'MEMORY_CONSISTENCY', 'DB.MCS',
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 48
Debugging Expressions And Feature Names 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (3)
; MR5062 'SCHEDULER_TRACE', 'DB.SKD',
; MR5063 'EVENT_TRACE', 'DB.EVT',
; MR5064 'NETWORK_TRANSITIONS', 'DB.NET',
; MR5065 'NETWORK_TRACE', 'DB.NTT',
; MR5066 'NETWORK_DESCRIPTOR', 'DB.DES',
; MR5067 'NCP_NICE_VALIDATION', 'DB.NCP',
; MR5068 'IPCF_TRACE', 'DB.IPC',
; MR5069 'FILE_TRACE', 'DB.FIL',
; MR5070 'PAGE_TRACE', 'DB.PAG',
; MR5071 'DLW_TRACE', 'DB.DLW',
; MR5072 'FILE_DATA_TRACE', 'DB.FDT',
; MR5073 'DAP_MESSAGE_TRACE', 'DB.DAP',
; MR5074 'CTT_TRACE', 'DB.CTT'
; R5075 %;
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 49
Debugging Data Base 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (4)
; R5076 %sbttl 'Debugging Data Base'
; R5077
; R5078 ! macro: %DEBUG_DATA_BASE
; R5079 !
; R5080 ! This macro is used in either an external or global
; R5081 ! statement to setup the definitions to the debugging
; R5082 ! data base. This data base contains bit flags for
; R5083 ! each of the debugging features.
; R5084 !
; R5085 ! e.x. external %debug_data_base;
; R5086
; R5087
; R5088 macro
; MR5089 DEBUG_BIT [NAME, BIT_NAME] =
; R5090 %name (NAME, '_FLAG') = [$bit] %;
; R5091
; R5092 $field DEBUG_BITS =
; R5093 set
; R5094 DEBUG_BIT (DEBUG_FLAG_SET)
; R5095 tes;
; R5096
; R5097 literal
; R5098 DEBUG_FLAGS_SIZE = $field_set_size;
; R5099
; R5100 macro
; MR5101 %DEBUG_DATA_BASE =
; R5102 DEBUG : block [DEBUG_FLAGS_SIZE] field (DEBUG_BITS) %;
; R5103
; R5104
; R5105 ! macro: %MASTER_DEBUG_DATA_BASE
; R5106 !
; R5107 ! This macro is used in one place only in a program
; R5108 ! to define the static storage needed for debugging.
; R5109 ! This includes the bit flag structure (DEBUG) used
; R5110 ! for feature tests and the TRACE_BUFFER used by
; R5111 ! the TRACE_INFO macro. Also the global literal bit
; R5112 ! values for the debugging features are defined.
; R5113 !
; R5114 ! e.x. %master_debug_data_base;
; R5115
; R5116
; R5117 macro
; MR5118 DEBUG_GLOBALS [NAME, BIT_NAME] =
; R5119 %name (BIT_NAME) = 1 ^ (%fieldexpand (%name (NAME, '_FLAG'), 1)) %;
; R5120
; R5121 macro
; MR5122 %MASTER_DEBUG_DATA_BASE =
; MR5123 global %DEBUG_DATA_BASE;
; MR5124 global TRACE_BUFFER : vector [ch$allocation (TRACE_BUFFER_LENGTH)];
; R5125 global literal DEBUG_GLOBALS (DEBUG_FLAG_SET) %;
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 50
Debugging Data Accesses And Setup 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (5)
; R5126 %sbttl 'Debugging Data Accesses And Setup'
; R5127
; R5128 ! macro: FEATURE_NAME
; R5129 !
; R5130 ! This is a set of macros that are defined with
; R5131 ! the same names as given in the DEBUG_FLAG_SET.
; R5132 ! When the name is specified in some code it expands
; R5133 ! to a 'fetch' of the associated bit in the debugging
; R5134 ! data base.
; R5135 !
; R5136 ! e.x. %debug (MEMORY_TRACE, (TRACE_INFO ('Tracing memory')));
; R5137 !
; R5138 ! <or>
; R5139 !
; R5140 ! if MEMORY_TRACE then exitloop;
; R5141
; R5142
; R5143 macro
; MR5144 DEBUG_FLAG [NAME, BIT_NAME] =
; R5145 %name (NAME) = .DEBUG [%name (NAME, '_FLAG')] %quote % %;
; R5146
; R5147 macro
; R5148 %unquote DEBUG_FLAG (DEBUG_FLAG_SET);
; R5149
; R5150
; R5151 ! macro: %DEBUG_SETUP
; R5152 !
; R5153 ! This macro is called someplace early on in the
; R5154 ! initialization of a program (in run time code).
; R5155 ! The call to this is preferably in the same module
; R5156 ! as the %MASTER_DEBUG_DATA_BASE macro call. It
; R5157 ! does a little hand holding for users who have forgotten
; R5158 ! that the value in 135 is no longer being used for
; R5159 ! debugging flags. After the debugging data base is
; R5160 ! initialized properly, the features that are enabled
; R5161 ! is printed out if DEBUG_TRACE is enabled.
; R5162 !
; R5163 ! e.x. %debug_setup;
; R5164
; R5165
; R5166 macro
; MR5167 DEBUG_TELL [NAME, BIT_NAME] =
; MR5168 if %name (NAME)
; R5169 then TASK_INFO (%string (' (', BIT_NAME, ') ', NAME)) %;
; R5170
; R5171 macro
; MR5172 %DEBUG_SETUP =
; MR5173 %debug (always,
; MR5174 (begin
; MR5175 if .%o'135' neq 0
; MR5176 then begin
; MR5177 DEBUG[DEBUG_TRACE_FLAG] = 1;
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 51
Debugging Data Accesses And Setup 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (5)
; MR5178 DEBUG[LOCAL_GALAXY_FLAG] = 1;
; MR5179 end;
; MR5180
; MR5181 if .%o'135' gtr 0
; MR5182 then begin
; MR5183 DEBUG[NCP_NICE_VALIDATION_FLAG] = 1;
; MR5184 DEBUG[SCHEDULER_TRACE_FLAG] = 1;
; MR5185 end;
; MR5186
; MR5187 %debug (DEBUG_TRACE,
; MR5188 (begin
; MR5189 TASK_INFO ('Debugging enabled for:');
; MR5190 DEBUG_TELL (DEBUG_FLAG_SET);
; MR5191 end));
; R5192 end)) %;
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 52
Trace Message Facilities 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (6)
; R5193 %sbttl 'Trace Message Facilities'
; R5194
; R5195 ! macro: %MODULE_NAME
; R5196 !
; R5197 ! This macro declares to the tracing facility
; R5198 ! the name of the module that is currently being
; R5199 ! called.
; R5200 !
; R5201 ! e.x. %module_name ('NMUSKD');
; R5202
; R5203
; R5204 macro
; MR5205 %MODULE_NAME (NAME) =
; R5206 %debug (always, bind %mod_name = ch$asciz (NAME)) %;
; R5207
; R5208
; R5209 ! macro: %ROUTINE
; R5210 ! %GLOBAL_ROUTINE
; R5211 !
; R5212 ! These macros declare to the tracing facility
; R5213 ! the name of the routine that is currently being
; R5214 ! executed. The formal parameters may also
; R5215 ! specified in the calls to these macros. Note
; R5216 ! that these calls must replace the normal ROUTINE
; R5217 ! or GLOBAL ROUTINE declarations.
; R5218 !
; R5219 ! e.x. %routine ('NMU$NETWORK_READ', LINK_ID, BUFFER_LENGTH, BUFFER) =
; R5220 !
; R5221 ! <or>
; R5222 !
; R5223 ! %routine ('NMU$MEMORY_RELEASE') (P, AMOUNT) : novalue =
; R5224
; R5225
; R5226 macro
; MR5227 %ROUTINE (NAME) =
; MR5228 %if %declared (%rtn_name)
; MR5229 %then undeclare %rtn_name; %fi
; MR5230
; MR5231 %if not $MCB
; MR5232 %then bind %rtn_name = ch$asciz (NAME); %fi
; MR5233
; MR5234 %sbttl %string (NAME %if not %identical (NAME, %string (%name (NAME)))
; MR5235 %then ,' as ', %name(NAME) %fi)
; MR5236 routine %name (NAME)
; MR5237
; MR5238 %if %length gtr 1
; R5239 %then (%remaining) %fi %;
; R5240
; R5241
; R5242 macro
; MR5243 %GLOBAL_ROUTINE (NAME) =
; MR5244 %if %declared (%rtn_name)
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 53
Trace Message Facilities 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (6)
; MR5245 %then undeclare %rtn_name; %fi
; MR5246
; MR5247 %if not $MCB
; MR5248 %then bind %rtn_name = ch$asciz (NAME); %fi
; MR5249
; MR5250 %sbttl %string (NAME %if not %identical (NAME, %string (%name (NAME)))
; MR5251 %then ,' as ', %name(NAME) %fi)
; MR5252
; MR5253 global routine %name (NAME)
; MR5254
; MR5255 %if %length gtr 1
; R5256 %then (%remaining) %fi %;
; R5257
; R5258
; R5259 ! macro: TRACE_INFO
; R5260 ! TRACE_INFO_C
; R5261 ! TRACE_INFO_CL
; R5262 !
; R5263 ! This macro generates a message and sends it to
; R5264 ! the controlling terminal. The message is generated
; R5265 ! using the NMU$TEXT processing facility, thus the
; R5266 ! message may be parameterized.
; R5267 !
; R5268 ! The message that results contains the currently running
; R5269 ! task's name, the message specified and optionally the
; R5270 ! name of the routine the TRACE_INFO was called from.
; R5271 ! The routine name output is conditionallized on the
; R5272 ! debugging switch ROUTINE_TRACE (DB.RTN).
; R5273 !
; R5274 ! The TRACE_INFO_C macro works the same as TRACE_INFO
; R5275 ! except that it doesn't print the task name and routine
; R5276 ! name. It is used primarily to continue a multiple line
; R5277 ! message.
; R5278 !
; R5279 ! The TRACE_INFO_CL macro appends output to text already
; R5280 ! output by a TRACE_INFO or TRACE_INFO_C macro.
; R5281 !
; R5282 ! e.x. TRACE_INFO ('This is a dumb message.');
; R5283 !
; R5284 ! [NML-PROCESSOR]: NMU$FILE_OPEN This is a dumb message.
; R5285 !
; R5286 !
; R5287 ! TRACE_INFO ('The number is %D.', .NUMBER);
; R5288 !
; R5289 ! [NCP]: NMU$IPCF_FIND The number is 19.
; R5290
; R5291
; R5292 macro
; MR5293 TRACE_INFO (PATTERN) =
; MR5294 begin
; MR5295 external TRACE_BUFFER;
; MR5296 external routine SS_MESSAGE, NMU$TEXT;
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 54
Trace Message Facilities 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (6)
; MR5297
; MR5298 local BUFFER_PTR;
; MR5299
; MR5300 BUFFER_PTR = ch$ptr (TRACE_BUFFER);
; MR5301
; MR5302 if ROUTINE_TRACE
; MR5303 then $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5304 %string ('%(22L)A ', PATTERN),
; MR5305 %rtn_name
; MR5306 %if %length gtr 1
; MR5307 %then , %remaining %fi)
; MR5308 else $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5309 %string (PATTERN)
; MR5310 %if %length gtr 1
; MR5311 %then , %remaining %fi);
; MR5312
; MR5313 SS_MESSAGE (ch$ptr (TRACE_BUFFER));
; R5314 end %;
; R5315
; R5316
; R5317 macro
; MR5318 TRACE_INFO_C (PATTERN) =
; MR5319 begin
; MR5320 external TRACE_BUFFER;
; MR5321 external routine SS_CMESSAGE, NMU$TEXT;
; MR5322
; MR5323 local BUFFER_PTR;
; MR5324
; MR5325 BUFFER_PTR = ch$ptr (TRACE_BUFFER);
; MR5326
; MR5327 if ROUTINE_TRACE
; MR5328 then $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5329 %string ('%22S ', PATTERN)
; MR5330 %if %length gtr 1
; MR5331 %then , %remaining %fi)
; MR5332 else $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5333 PATTERN
; MR5334 %if %length gtr 1
; MR5335 %then , %remaining %fi);
; MR5336
; MR5337 SS_CMESSAGE (ch$ptr (TRACE_BUFFER));
; R5338 end %;
; R5339
; R5340
; R5341 macro
; MR5342 TRACE_INFO_CL (PATTERN) =
; MR5343 begin
; MR5344 external TRACE_BUFFER;
; MR5345 external routine SS_CLMESSAGE, NMU$TEXT;
; MR5346
; MR5347 local BUFFER_PTR;
; MR5348
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 55
Trace Message Facilities 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (6)
; MR5349 BUFFER_PTR = ch$ptr (TRACE_BUFFER);
; MR5350
; MR5351 $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5352 PATTERN
; MR5353 %if %length gtr 1
; MR5354 %then , %remaining %fi);
; MR5355
; MR5356 SS_CLMESSAGE (ch$ptr (TRACE_BUFFER));
; R5357 end %;
; R5358
; R5359
; R5360 ! macro: FORMAT_BUFFER (PATTERN, (pattern_args...), BIAS, POINTER, LENGTH)
; R5361 !
; R5362 ! Trace contents of a buffer
; R5363
; R5364
; R5365 macro
; MR5366 FORMAT_BUFFER (PATTERN, ARGS) =
; MR5367 begin
; MR5368 external TRACE_BUFFER;
; MR5369 external routine SS_MESSAGE, NMU$TEXT, NMU$UTILITY_BUFFER_TEXT;
; MR5370
; MR5371 local BUFFER_PTR;
; MR5372
; MR5373 BUFFER_PTR = ch$ptr (TRACE_BUFFER);
; MR5374
; MR5375 if ROUTINE_TRACE
; MR5376 then $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5377 %string ('%(22L)A ', PATTERN),
; MR5378 %rtn_name
; MR5379 %if %length gtr 1
; MR5380 %then , %remove(ARGS) %fi)
; MR5381 else $NMU$TEXT (BUFFER_PTR, TRACE_BUFFER_LENGTH,
; MR5382 %string (PATTERN)
; MR5383 %if %length gtr 1
; MR5384 %then , %remove(ARGS) %fi);
; MR5385
; MR5386 SS_MESSAGE (ch$ptr (TRACE_BUFFER));
; MR5387
; MR5388 NMU$UTILITY_BUFFER_TEXT (%remaining);
; R5389 end %;
DEBUG -- Debugging Macros And Definitions 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 56
Trace Message Facilities 2-Jan-1983 22:42:10 DNET61:<MCB.NML>DEBUG.REQ.1 (7)
; R5390
; R5391 %title ''
; R5392 %sbttl ''
; R5393
; R5394 !
; R5395 ! [End of DEBUG.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 57
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 5396
; 5397 require 'NMARCH'; ! Network Managment architectural definitions
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 58
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (1)
; R5398 ! <BRANDT.DEVELOPMENT>NMARCH.REQ.1 13-Dec-82 14:05:45, Edit by BRANDT
; R5399 !
; R5400 ! Change the MODULE TYPE parameter (1172) so that a value of 1
; R5401 ! will correctly correspond to "Bilateral"
; R5402 !
; R5403 ! Reverse the order of MODULE COUNTERS 1241 and 1242 so they correspond
; R5404 ! to the NML Spec.
; R5405 !
; R5406 ! <BRANDT.DEVELOPMENT>NMARCH.REQ.1 30-Sep-82 15:05:45, Edit by BRANDT
; R5407 !
; R5408 ! Add the following circuit counter parameter:
; R5409 ! 1242 Network Initiated Resets
; R5410 !
; R5411 ! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 24-Sep-82 12:05:45, Edit by PECKHAM
; R5412 !
; R5413 ! Add the following system specific node parameter:
; R5414 ! 2500 Fence
; R5415 !
; R5416 ! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 30-Aug-82 10:10:13, Edit by PECKHAM
; R5417 !
; R5418 ! Make the following node parameters read-only:
; R5419 ! 126 Software Identification
; R5420 ! 135 Dump Address
; R5421 ! 136 Dump Count
; R5422 !
; R5423 ! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 21-Jun-82 14:36:57, Edit by PECKHAM
; R5424 !
; R5425 ! Add X25-SERVER counters supplied by VOBA.
; R5426 !
; R5427 ! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 14-Jun-82 11:00:09, Edit by PECKHAM
; R5428 !
; R5429 ! Add coded parameter interpretation for CIRCUIT OWNER parameter
; R5430 !
; R5431 ! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 28-Apr-82 10:15:38, Edit by PECKHAM
; R5432 !
; R5433 ! Change text for line and circuit state 'service' from 'serviced'.
; R5434 !
; R5435 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.18 21-Apr-82 13:53:49, Edit by VOBA
; R5436 !
; R5437 ! Add additional characteristics (clearability and text case conversion)
; R5438 ! to the entity tables, and comment to document the fields in the tables.
; R5439 !
; R5440 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.5 25-Mar-82 15:51:40, Edit by VOBA
; R5441 !
; R5442 ! Add single field definition for CLEAR_PURGE and PERMANENT bits in field
; R5443 ! definitions of CHANGE option (FUNCTION_DATA).
; R5444 !
; R5445 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 24-Mar-82 11:50:36, Edit by VOBA
; R5446 !
; R5447 ! Change INITIALIZE parameter of CIRCUIT entity to be NODE TYPE.
; R5448 !
; R5449 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 23-Mar-82 12:12:03, Edit by VOBA
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 59
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (1)
; R5450 !
; R5451 ! Fix typo in $NML$LINE_COUNTERS table.
; R5452 !
; R5453 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.2 , Edit by VOBA
; R5454 ! for (PECKHAM)
; R5455 ! Make LOGGING_NAME read-only.
; R5456 ! Add INITIALIZE system-specific circuit parameter.
; R5457 ! Add event definition macros.
; R5458 ! Add system specific line counters.
; R5459 !
; R5460 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.2 18-Mar-82 16:12:33, Edit by VOBA
; R5461 !
; R5462 ! Fix typo of FAST SELECT counters in MODULE counter text table.
; R5463 !
; R5464 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 12-Mar-82 14:00:30, Edit by VOBA
; R5465 !
; R5466 ! Fix entry of NODE parameter in $NML$MODULE_PARAMETERS table.
; R5467 !
; R5468 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.4 4-Mar-82 12:31:36, Edit by VOBA
; R5469 !
; R5470 ! Condition parameters in $NML$MODULE_PARAMETERS table to set up correct
; R5471 ! fields for TOPS-20 and MCB NICE parameters.
; R5472 !
; R5473 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 3-Mar-82 12:35:28, Edit by VOBA
; R5474 !
; R5475 ! Remove extra NETWORK parameter from $NML$MODULE_PARAMETERS table.
; R5476 !
; R5477 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.4 1-Mar-82 14:44:32, Edit by VOBA
; R5478 !
; R5479 ! Reverse last change of CALL MASK and CALL VALUE parameters. Keep them to
; R5480 ! be parsed as HI.
; R5481 ! Assign HI a distinct value different from AI.
; R5482 !
; R5483 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.5 26-Feb-82 16:08:11, Edit by VOBA
; R5484 !
; R5485 ! Clean up code and update copyright date.
; R5486 ! Changed CALL MASK and CALL VALUE parameters to be parsed as HX8 instead of
; R5487 ! HI.
; R5488 !
; R5489 ! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.13 26-Feb-82 13:10:03, Edit by PECKHAM
; R5490 !
; R5491 ! Change parameter text to upper/lower case.
; R5492 ! Add system specific parameters.
; R5493 ! Move data base construction macros back to NMLPRM.
; R5494 ! Get counter definitions from NCPCTR.
; R5495 ! Get error detail texts from NCPRSP.
; R5496 ! Add $NML$TEXT to allow raising lower case response text in NCPRSP
; R5497 ! (if necessary).
; R5498 !
; R5499 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 24-Feb-82 16:39:19, Edit by VOBA
; R5500 !
; R5501 ! Correct typo of LOOP WITH parameter name text.
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 60
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (1)
; R5502 !
; R5503 ! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.11 22-Feb-82 10:30:49, Edit by VOBA
; R5504 !
; R5505 ! Move NICE parameter tables and building macros from NMLPRM.
; R5506 !
; R5507 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMARCH.REQ.15 14-Oct-81 17:46:01, Edit by WEBBER
; R5508 !
; R5509 ! Add bit field definitions for event type/class.
; R5510 !
; R5511 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMARCH.REQ.2 20-Aug-81 09:08:23, Edit by GUNN
; R5512 !
; R5513 ! Add definition of DECnet-10/20 system specific MOP message type
; R5514 ! 28, CHK11_ASCII_TEXT.
; R5515 !
; R5516 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.11 4-Aug-81 11:54:00, Edit by JENNESS
; R5517 !
; R5518 ! Add codes -100 to -103 to NICE response code list. These are not
; R5519 ! supported by the DECnet Network Management architecture and should
; R5520 ! be submitted formally. Note that codes -100 to -103 can only be
; R5521 ! generated on the same node that the command originated on, thus they
; R5522 ! will never be sent over a logical link to a foreign Network Management
; R5523 ! implementation.
; R5524 !
; R5525 ! NET:<DECNET20-V3P1.NMU>NMARCH.REQ.2 12-Jun-81 12:07:29, Edit by JENNESS
; R5526 !
; R5527 ! Readability and copyright updates.
; R5528 !
; R5529 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.7 12-May-81 13:58:04, Edit by VOBA
; R5530 ! Add sub-entity type for the X.25 MODULE entity.
; R5531 !
; R5532 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.6 4-Feb-81 13:18:12, Edit by GUNN
; R5533 !
; R5534 ! Correct definition of fields in READ_OPTIONS
; R5535 !
; R5536 ! NET:<DECNET20-V3P1.NMU>NMARCH.REQ.8 3-Feb-81 10:12:28, Edit by JENNESS
; R5537 !
; R5538 ! Add literal definitions for NICE, MIRROR and EVENT objects.
; R5539 ! Add session control REJECT/DISCONNECT error code definitions.
; R5540 !
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 61
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (2)
; R5541 %title 'NMARCH -- Network Management Architecture Declarations'
; R5542
; R5543 ! COPYRIGHT (c) 1980, 1981, 1982
; R5544 ! DIGITAL EQUIPMENT CORPORATION
; R5545 ! Maynard, Massachusetts
; R5546 !
; R5547 ! This software is furnished under a license and may be used
; R5548 ! and copied only in accordance with the terms of such license
; R5549 ! and with the inclusion of the above copyright notice. This
; R5550 ! software or any other copies thereof may not be provided or
; R5551 ! otherwise made available to any other person. No title to
; R5552 ! and ownership of the software is hereby transferred.
; R5553 !
; R5554 ! The information in this software is subject to change
; R5555 ! without notice and should not be construed as a commitment
; R5556 ! by DIGITAL EQUIPMENT CORPORATION.
; R5557 !
; R5558 ! DIGITAL assumes no responsibility for the use or reliability
; R5559 ! of its software on equipment which is not supplied by
; R5560 ! DIGITAL.
; R5561 !
; R5562
; R5563 !++
; R5564 ! FACILITY: LSG DECnet Network Management
; R5565 !
; R5566 ! ABSTRACT:
; R5567 !
; R5568 ! Contains architectural declarations required by
; R5569 ! Network Management.
; R5570 !
; R5571 ! ENVIRONMENT: Bliss-36, Bliss-32 and Bliss-16.
; R5572 !
; R5573 ! AUTHOR: Dale C. Gunn , CREATION DATE: 29-Aug-80
; R5574 !
; R5575 !--
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 62
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (3)
; R5576
; R5577 !
; R5578 ! Network Management DECnet object codes
; R5579 !
; R5580
; R5581 literal
; R5582 NICE_OBJECT = 19,
; R5583 MIRROR_OBJECT = 25,
; R5584 EVENT_OBJECT = 26;
; R5585
; R5586 !
; R5587 ! NICE Function Code Definitions
; R5588 !
; R5589
; R5590 literal
; R5591 LOAD_ = 15, ! NICE Request Down-line Load Function
; R5592 DUMP_ = 16, ! NICE Request Up-line Dump Function
; R5593 TRIGGER_ = 17, ! NICE Trigger Bootstrap Function
; R5594 TEST_ = 18, ! NICE Test Function
; R5595 LOOP_ = TEST_, ! NICE Test Function
; R5596 CHANGE_ = 19, ! NICE Change Parameter Function
; R5597 PURGE_ = CHANGE_, ! NICE Change Parameter Function
; R5598 SET_ = CHANGE_, ! NICE Change Parameter Function
; R5599 CLEAR_ = CHANGE_, ! NICE Change Parameter Function
; R5600 DEFINE_ = CHANGE_, ! NICE Change Parameter Function
; R5601 READ_ = 20, ! NICE Read Information Function
; R5602 LIST_ = READ_, ! NICE Read Information Function
; R5603 SHOW_ = READ_, ! NICE Read Information Function
; R5604 ZERO_ = 21, ! NICE Zero Counters Function
; R5605 SYSTEM_SPECIFIC_ = 22; ! NICE System Specific Function
; R5606
; R5607
; R5608
; R5609 ! NICE Read Information Type Codes
; R5610
; R5611 literal
; R5612 SUMMARY_ = 0, ! Read Summary Parameters
; R5613 STATUS_ = 1, ! Read Status Parameters
; R5614 CHARACTERISTICS_ = 2, ! Read Characteristic Parameters
; R5615 COUNTERS_ = 3, ! Read Counters
; R5616 EVENTS_ = 4; ! Read Event Logging Status
; R5617
; R5618
; R5619
; R5620 ! NICE System Type Codes
; R5621
; R5622 literal
; R5623 RSTS_ = 1, ! RSTS Specific
; R5624 RSX_ = 2, ! RSX Family Specific
; R5625 TOPS20_ = 3, ! TOPS-10/20 Specific
; R5626 VMS_ = 4; ! VAX/VMS Specific
; R5627
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 63
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (3)
; R5628
; R5629
; R5630 ! NICE Entity Type Codes
; R5631
; R5632 literal
; R5633 NO_ENTITY_ = -1, ! none
; R5634 NODE_E = 0, ! NODE Entity
; R5635 LINE_ = 1, ! LINE Entity
; R5636 LOGGING_ = 2, ! EVENT LOGGING Entity
; R5637 CIRCUIT_ = 3, ! CIRCUIT Entity
; R5638 MODULE_ = 4; ! MODULE Entity
; R5639
; R5640
; R5641
; R5642 ! NICE Sub-entity Codes
; R5643
; R5644 literal
; R5645 NO_SUB_ENTITY = -1, ! none
; R5646 MODULE_ACCESS = 0, ! ACCESS MODULE Sub-entity
; R5647 MODULE_PROTOCOL = 1, ! PROTOCOL MODULE Sub-entity
; R5648 MODULE_SERVER = 2; ! SERVER MODULE Sub-entity
; R5649
; R5650
; R5651
; R5652 ! NICE Entity Group Codes
; R5653
; R5654 literal
; R5655 LOOPED_ = -3, ! LOOPED Entities
; R5656 ACTIVE_ = -2, ! ACTIVE Entities
; R5657 KNOWN_ = -1; ! KNOWN Entities
; R5658
; R5659
; R5660
; R5661 ! NICE Logging sink type values
; R5662
; R5663 literal
; R5664 CONSOLE_ = 1,
; R5665 FILE_ = 2,
; R5666 MONITOR_ = 3;
; R5667
; R5668 ! NICE type/class word fields
; R5669
; R5670 macro
; R5671 $$EVENT_TYPE = 0, 4, 0 %, ! Event type
; R5672 $$EVENT_CLASS = 6, 9, 0 %; ! Event class
; R5673
; R5674 ! NICE option byte field definitions
; R5675
; R5676 $field ZERO_OPTIONS =
; R5677 set
; R5678 ZO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5679 ZO_RESERVED = [$bits(4)], ! Reserved bits, must be zero
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 64
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (3)
; R5680 ZO_READ_AND_ZERO = [$bit] ! Zero only or read and zero flag
; R5681 tes;
; R5682
; R5683 $field READ_OPTIONS =
; R5684 set
; R5685 RO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5686 RO_RESERVED = [$bit], ! Reserved bits, must be zero
; R5687 RO_INFO_TYPE = [$bits(3)], ! Type of information to read
; R5688 RO_PERMANENT = [$bit] ! PERMANENT vs VOLATILE flag
; R5689 tes;
; R5690
; R5691 $field CHANGE_OPTIONS =
; R5692 set
; R5693 CO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5694 CO_RESERVED = [$bits(3)], ! Reserved bits, must be zero
; R5695 CO_FUNCTION_DATA = [$bits(2)],
; R5696 $overlay (CO_FUNCTION_DATA)
; R5697 CO_CLEAR_PURGE = [$bit], ! CLEAR/PURGE vs SET/DEFINE flag
; R5698 CO_PERMANENT = [$bit] ! PERMANENT vs VOLATILE flag
; R5699 $continue
; R5700 tes;
; R5701
; R5702 $field TEST_OPTIONS =
; R5703 set
; R5704 TO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5705 TO_RESERVED = [$bits(4)], ! Reserved bits, must be zero
; R5706 TO_ACCESS_CONTROL = [$bit] ! Access control included flag
; R5707 tes;
; R5708
; R5709 $field BOOT_OPTIONS =
; R5710 set
; R5711 BO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5712 BO_RESERVED = [$bits(5)] ! Reserved bits, must be zero
; R5713 tes;
; R5714
; R5715 $field LOAD_OPTIONS =
; R5716 set
; R5717 LO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5718 LO_RESERVED = [$bits(5)] ! Reserved bits, must be zero
; R5719 tes;
; R5720
; R5721 $field DUMP_OPTIONS =
; R5722 set
; R5723 DO_ENTITY_TYPE = [$bits(3)], ! NICE entity type number
; R5724 DO_RESERVED = [$bits(5)] ! Reserved bits, must be zero
; R5725 tes;
; R5726
; R5727 ! NICE response parameter field definitions
; R5728
; R5729 $field DATA_ID_FIELDS =
; R5730 set
; R5731 DI_PARMNO = [$bits(12)], ! Parameter type number
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 65
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (3)
; R5732 $overlay (DI_PARMNO) ! ...or...
; R5733 DI_CNTRNO = [$bits(12)], ! Counter type number
; R5734 $continue
; R5735 DI_MAPPED = [$bit], ! Counter bit map flag
; R5736 DI_WIDTH = [$bits(2)], ! Counter width
; R5737 DI_TYPE = [$bit] ! Type of data, counter or parameter
; R5738 tes;
; R5739
; R5740 $field DATA_TYPE_FIELDS =
; R5741 set
; R5742 DT_NUMBER = [$bits(6)], ! Number of bytes or fields
; R5743 $overlay(DT_NUMBER) ! ...or...
; R5744 DT_LENGTH = [$bits(4)], ! Length of binary number
; R5745 DT_FORMAT = [$bits(2)], ! Format of number
; R5746 $continue
; R5747 DT_FIELDS = [$bit], ! Single or multiple fields
; R5748 $overlay(DT_FIELDS) ! ...or...
; R5749 DT_FTYPE = [$bit], ! Field type, ASCII or binary number
; R5750 $continue
; R5751 DT_CODED = [$bit] ! Coded or not coded
; R5752 tes;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 66
NICE Message Codes, Values, and Text Strings 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (4)
; R5753 %sbttl 'NICE Message Codes, Values, and Text Strings'
; R5754
; R5755 macro
; MR5756 $NML$NICE_RETURNS =
; MR5757 SUC, 1, '', ! Success
; MR5758 ACC, 2, '', ! Request accepted
; MR5759 MOR, 3, '', ! Partial reply
; R5760 DON, -128, '' %; ! Done, end of multiple response
; R5761
; R5762 macro
; MR5763 $NML$NICE_ERRORS =
; MR5764 UFO, -1, 'Unrecognized function or option',
; MR5765 IMF, -2, 'Invalid message format',
; MR5766 PRV, -3, 'Privilege violation',
; MR5767 OCM, -4, 'Oversized Management command message',
; MR5768 MPE, -5, 'Management program error',
; MR5769 UPT, -6, 'Unrecognized parameter type',
; MR5770 IMV, -7, 'Incompatible Management version',
; MR5771 URC, -8, 'Unrecognized component',
; MR5772 IID, -9, 'Invalid identification',
; MR5773 LCE, -10, 'Line communication error',
; MR5774 CWS, -11, 'Component in wrong state',
; MR5775 FOE, -13, 'File open error',
; MR5776 IFC, -14, 'Invalid file contents',
; MR5777 REE, -15, 'Resource error',
; MR5778 IPV, -16, 'Invalid parameter value',
; MR5779 LPE, -17, 'Line protocol error',
; MR5780 FIO, -18, 'File I/O error',
; MR5781 MLD, -19, 'Mirror link disconnected',
; MR5782 NRE, -20, 'No room for new entry',
; MR5783 MCF, -21, 'Mirror connect failed',
; MR5784 PNA, -22, 'Parameter not applicable',
; MR5785 PVL, -23, 'Parameter value too long',
; MR5786 HWF, -24, 'Hardware failure',
; MR5787 OPF, -25, 'Operation failure',
; MR5788 SFS, -26, 'System-specific Management function not supported',
; MR5789 IPG, -27, 'Invalid parameter grouping',
; MR5790 BLR, -28, 'Bad loopback response',
; MR5791 PAM, -29, 'Parameter missing',
; MR5792
; MR5793 BMR, -100, 'Bad management response',
; MR5794 LLD, -101, 'Listener link disconnected',
; MR5795 LCF, -102, 'Listener link connect failed',
; R5796 OMR, -103, 'Oversized Management response' %;
; R5797
; R5798 !
; R5799 ! Macro to build individual error macros from $NML$NICE_ERRORS
; R5800 !
; R5801
; R5802 compiletime %TEMP = 0;
; R5803
; R5804 macro
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 67
NICE Message Codes, Values, and Text Strings 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (4)
; MR5805 $NML$NICERR_MACRO [MNE,VAL,STR] =
; MR5806 %assign(%TEMP,VAL)
; MR5807 %quote literal %name('NICE$_',MNE) = VAL %quote ;
; MR5808 %if %TEMP GEQ 0
; MR5809 %then %print('NICE$_',MNE,' = ',%number(%TEMP),'; !',STR)
; MR5810 %else %print('NICE$_',MNE,' = -',%assign(%TEMP,-%TEMP),%number(%TEMP),'; ! ',STR)
; MR5811 %fi
; MR5812 %quote macro %name('$NICE$ERR_',MNE) =
; MR5813 VAL
; R5814 %quote %print (STR) %quote % %;
; R5815
; R5816 !
; R5817 ! Macro to build an index table of text string pointers
; R5818 !
; R5819
; R5820 macro
; MR5821 $NICE$ERR_CASES [MNE,VAL,STR] =
; MR5822 %assign(%TEMP,VAL)
; MR5823 %if %TEMP GEQ 0
; MR5824 %then %print ('[',%number(%TEMP),']: CH$ASCIC(',STR,');')
; MR5825 %else %print ('[-',%assign(%TEMP,-%TEMP),%number(%TEMP),']: CH$ASCIC(',STR,');')
; MR5826 %fi
; MR5827
; R5828 [VAL]: CH$ASCIC(%remove(STR)) %;
; R5829
; R5830 !
; R5831 ! Equated symbols
; R5832 !
; R5833
; LR5834 $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:17:07 TOPS-20 Bliss-16 2A(530) Page 68
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
; LR5835 $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:17:07 TOPS-20 Bliss-16 2A(530) Page 69
Session Control Codes, Values, and Text Strings 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (5)
; R5836 %sbttl 'Session Control Codes, Values, and Text Strings'
; R5837
; R5838 macro
; MR5839 $SC_ERRORS =
; MR5840 NSE, 0, 'No special error',
; MR5841 RAF, 1, 'Resource allocation failure',
; MR5842 DND, 2, 'Destination node does not exist',
; MR5843 NSD, 3, 'Node shutting down',
; MR5844 DPD, 4, 'Destination process does not exist',
; MR5845 INF, 5, 'Invalid name field',
; MR5846 DPQ, 6, 'Destination process queue overflow',
; MR5847 USE, 7, 'Unspecified error',
; MR5848 THA, 8, 'Third party aborted the logical link',
; MR5849 UAB, 9, 'User abort (asynchronous disconnect)',
; MR5850 UEC, 11, 'Undefined error code',
; MR5851 CII, 21, 'Connect initiate (CI) with illegal destination address',
; MR5852 FCV, 24, 'Flow control violation',
; MR5853 TMN, 32, 'Too many connections to node',
; MR5854 TMP, 33, 'Too many connections to destination process',
; MR5855 ANP, 34, 'Access not permitted',
; MR5856 LLS, 35, 'Logical link services mismatch',
; MR5857 IAC, 36, 'Invalid account',
; MR5858 SSS, 37, 'Segment size too small',
; MR5859 PAB, 38, 'Process aborted',
; MR5860 NPN, 39, 'No path to destination node',
; MR5861 LAB, 40, 'Link aborted due to data loss',
; MR5862 DLL, 41, 'Destination logical link address does not exist',
; MR5863 CDI, 42, 'Confimation of disconnect initiate (DI)',
; R5864 IDF, 43, 'Image data field too long' %;
; R5865
; R5866 !
; R5867 ! Macro to build individual error macros from $SC_ERRORS
; R5868 !
; R5869
; R5870 compiletime %TEMP1 = 0;
; R5871
; R5872 macro
; MR5873 $SCERR_MACRO [MNE,VAL,STR] =
; MR5874 %assign(%TEMP1,VAL)
; MR5875 %quote literal %name('SC$_',MNE) = VAL %quote ;
; MR5876 %if %TEMP1 GEQ 0
; MR5877 %then %print('SC$_',MNE,' = ',%number(%TEMP1),'; ! ',STR)
; MR5878 %else %print('SC$_',MNE,' = -',%assign(%TEMP1,-%TEMP1),%number(%TEMP1),'; ! ',STR)
; MR5879 %fi
; MR5880 %quote macro %name('$SC$ERR_',MNE) =
; MR5881 VAL
; R5882 %quote %print (STR) %quote % %;
; R5883
; R5884 !
; R5885 ! Macro to build an index table of text string pointers
; R5886 !
; R5887
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 70
Session Control Codes, Values, and Text Strings 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (5)
; R5888 macro
; MR5889 $SC$ERR_CASES [MNE,VAL,STR] =
; MR5890 %assign(%TEMP1,VAL)
; MR5891 %if %TEMP1 GEQ 0
; MR5892 %then %print ('[',%number(%TEMP1),']: CH$ASCIC(',STR,');')
; MR5893 %else %print ('[-',%assign(%TEMP1,-%TEMP1),%number(%TEMP1),']: CH$ASCIC(',STR,');')
; MR5894 %fi
; R5895 [VAL]: CH$ASCIC(%remove(STR)) %;
; R5896
; R5897 !
; R5898 ! Equated symbols
; R5899 !
; R5900
; LR5901 $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
; R5902
; R5903 !
; R5904 ! Other error detail texts
; R5905 !
; R5906
; R5907 macro
; MR5908 $LINK_DETAIL_ERRORS =
; MR5909 , 0, 'No node name set',
; MR5910 , 1, 'Invalid node name format',
; MR5911 , 2, 'Unrecognized node name',
; MR5912 , 3, 'Node unreachable',
; MR5913 , 4, 'Network resources',
; MR5914 , 5, 'Rejected by object',
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 71
Session Control Codes, Values, and Text Strings 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (5)
; MR5915 , 6, 'Invalid object name format',
; MR5916 , 7, 'Unrecognized object',
; MR5917 , 8, 'Access control rejected',
; MR5918 , 9, 'Object too busy',
; MR5919 ,10, 'No response from object',
; MR5920 ,11, 'Remote node shut down',
; MR5921 ,12, 'Node or object failed',
; MR5922 ,13, 'Disconnect by object',
; MR5923 ,14, 'Abort by object',
; MR5924 ,15, 'Abort by management',
; R5925 ,16, 'Local node shut down' %,
; R5926
; MR5927 $FILE_DETAIL_ERRORS =
; MR5928 , 0, 'Permanent Database',
; MR5929 , 1, 'Load File',
; MR5930 , 2, 'Dump File',
; MR5931 , 3, 'Secondary Loader',
; MR5932 , 4, 'Tertiary Loader',
; MR5933 , 5, 'Secondary Dumper',
; R5934 , 6, 'Volatile Database' %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 72
MOP Function Codes 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (6)
; R5935 %sbttl 'MOP Function Codes'
; R5936
; R5937 literal
; R5938 LOAD_WITH_TRANSFER = 0,
; R5939 LOAD_WITHOUT_TRANSFER = 2,
; R5940 REQUEST_DUMP = 4,
; R5941 ENTER_MOP_MODE = 6,
; R5942 REQUEST_PROGRAM = 8,
; R5943 REQUEST_MEMORY_LOAD = 10,
; R5944 MOP_MODE_RUNNING = 12,
; R5945 MEMORY_DUMP_DATA = 14,
; R5946 DAP_MESSAGE_ENVELOPE = 16,
; R5947 ENTER_ASCII_TTY_MODE = 18,
; R5948 PARAMETERS_WITH_TRANSFER = 20,
; R5949 CHK11_ASCII_TEXT = 22,
; R5950 LOOPBACK_TEST = 24,
; R5951 LOOPED_DATA = 26;
; R5952
; R5953 literal ! Starting image load types
; R5954 SECONDARY_LOADER = 0,
; R5955 TERTIARY_LOADER = 1,
; R5956 SYSTEM_IMAGE = 2;
; R5957
; R5958 literal ! CPU type codes
; R5959 CPU_PDP8 = 0,
; R5960 CPU_PDP11 = 1,
; R5961 CPU_DEC1020 = 2,
; R5962 CPU_VAX = 3;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 73
NICE Entity Parameter Tables 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (7)
; R5963 %sbttl 'NICE Entity Parameter Tables'
; R5964
; R5965 ! Each entry of the following NICE entity parameter table has the following
; R5966 ! format:
; R5967 !
; R5968 ! PARAMETER NUMBER
; R5969 ! As defined in the Network Management Architecture Specification
; R5970 ! document. All parameter numbers are decimal, except specified otherwise.
; R5971 !
; R5972 ! LITERAL NAME
; R5973 ! The literal representation of a parameter.
; R5974 !
; R5975 ! FORMAT FOR DATA EXTRACTION
; R5976 ! The data format notations for extracting data from the request NICE
; R5977 ! messages
; R5978 !
; R5979 ! DU1 (DU-1) Decimal number, unsigned, 1 byte
; R5980 ! DU2 (DU-2) Decimal number, unsigned, 2 bytes
; R5981 ! DU4 (DU-4) Decimal number, unsigned, 4 bytes
; R5982 ! C1 (C-1) Coded, single field, 1 byte
; R5983 ! C2 (C-2) Coded, single field, 2 bytes
; R5984 ! CM2 (CM-2) Coded, multiple (2) fields, 2 bytes each
; R5985 ! CME (CM-4) Coded, multiple (4) fields, EVENTS format
; R5986 ! CMN (CM-2) Coded, multiple (2) fields, NODE format
; R5987 ! CMO (CM-2) Coded, multiple (2) fields, OBJECT format
; R5988 ! CMU (CM-2) Coded, multiple (2) fields, USER format
; R5989 ! AI (AI-n) ASCII image field
; R5990 ! HI (HI-n) Hexadecimal image field
; R5991 ! HX8 (H-8) Hexadecimal number, 8 bytes
; R5992 !
; R5993 $literal
; R5994 DU1 = $distinct, ! 1 byte
; R5995 C1 = DU1, ! Coded 1 byte
; R5996 DU2 = $distinct, ! 2 bytes
; R5997 O2 = DU2, ! 2 bytes
; R5998 DU4 = $distinct, ! 4 bytes
; R5999 O4 = DU4, ! 4 bytes
; R6000 CM2 = $distinct, ! Coded 2 2-bytes
; R6001 CME = $distinct, ! Coded Event
; R6002 CMN = $distinct, ! Coded Node
; R6003 CMO = $distinct, ! Coded Object
; R6004 CMU = $distinct, ! Coded User/Owner
; R6005 AI = $distinct, ! ASCII image
; R6006 HI = $distinct, ! HEX image
; R6007 HX8 = $distinct; ! 8-byte HEX number
; R6008 !
; R6009 ! LAYER THAT EXCLUSIVELY OWNS THIS PARAMETER
; R6010 ! NML indicates that the parameter is maintained by the NML layer;
; R6011 ! null field indicates parameter is maintained by one of the lower layers.
; R6012 !
; R6013 ! DATA TYPE
; R6014 ! The data type byte for extracting data from the response NICE messages.
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 74
NICE Entity Parameter Tables 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (7)
; R6015 !
; R6016 ! INFORMATION TYPE
; R6017 ! The information type notation as specified by the Network Management
; R6018 ! Architecture specification
; R6019 !
; R6020 ! C Characteristics
; R6021 ! S Status
; R6022 ! * Summary
; R6023 ! EV Events
; R6024 ! Q Qualifier
; R6025 !
; R6026 ! APPLICABILITY RESTRICTION
; R6027 ! Only the following applicability restrictions are used in the tables
; R6028 !
; R6029 ! Q Qualified
; R6030 ! E Executor node only
; R6031 ! A Adjacent node only
; R6032 ! R Remote node only
; R6033 ! S Sink node only
; R6034 !
; R6035 ! SETTABILITY RESTRICTION
; R6036 ! The following notations indicate the user settability restriction
; R6037 ! of a parameter
; R6038 !
; R6039 ! RO Read Only
; R6040 ! WO Write Only
; R6041 ! C Clearable
; R6042 !
; R6043 ! PARAMETER TEXT CONVERSION
; R6044 ! The following notations indicate the case of the parameter text
; R6045 ! expected to be in
; R6046 !
; R6047 ! U Upper case only
; R6048 ! L Lower case only
; R6049 ! none Accepted as is
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 75
NODE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (8)
; R6050 %sbttl 'NODE Parameter Table'
; R6051
; R6052 ! $NML$NODE_PARAMETERS - Parameter characteristic definitions,
; R6053 !
; R6054 ! Each entry has the format
; R6055 !
; R6056 ! (Parameter number,
; R6057 ! Literal name,
; R6058 ! Format for data extraction,
; R6059 ! Layer that exclusively owns this parameter,
; R6060 ! Data type,
; R6061 ! Information type,
; R6062 ! Applicability restriction,
; R6063 ! Settability restriction,
; R6064 ! Parameter text conversion)
; R6065
; R6066 macro
; MR6067 $NML$NODE_PARAMETERS =
; MR6068 (000, 'State', C1),
; MR6069 (100, 'Identification', AI, NML, %O'100', (C,'*'), E, C),
; MR6070 (101, 'Management Version',, NML, %O'303', C, E, RO),
; MR6071 (110, 'Service Circuit', AI, NML, %O'100', C, A, C, U),
; MR6072 (111, 'Service Password', HX8, NML, %O'050', C, A, C),
; MR6073 (112, 'Service Device', C1, NML, %O'201', C, A, C),
; MR6074 (113, 'CPU', C1, NML, %O'201', C, A, C),
; MR6075 (120, 'Load File', AI, NML, %O'100', C, A, C, U),
; MR6076 (121, 'Secondary Loader', AI, NML, %O'100', C, A, C, U),
; MR6077 (122, 'Tertiary Loader', AI, NML, %O'100', C, A, C, U),
; MR6078 (125, 'Software Type', C1, NML, %O'201', C, A, C),
; MR6079 (126, 'Software Identification', AI, NML, %O'100', C, A, RO),
; MR6080 (130, 'Dump File', AI, NML, %O'100', C, A, C, U),
; MR6081 (131, 'Secondary Dumper', AI, NML, %O'100', C, A, C, U),
; MR6082 (135, 'Dump Address', O4, NML, %O'064', C, A, RO),
; MR6083 (136, 'Dump Count', DU4, NML, %O'004', C, A, RO),
; MR6084 (140, 'Host',, NML, %O'302', C, (A,E), RO),
; MR6085 (141, 'Host', CMN, NML, %O'302', C, (A,E), (WO, C)),
; MR6086 (150, 'Loop Count', DU2, NML, %O'002', C, E, RO),
; MR6087 (151, 'Loop Length', DU2, NML, %O'002', C, E, RO),
; MR6088 (152, 'Loop With', C1, NML, %O'201', C, E, RO),
; MR6089 (160, 'Counter Timer', DU2, NML, %O'002', C, (E,R), C),
; MR6090 (500, 'Name', CMN,, %O'302',, (E,R), (WO, C)),
; MR6091 (501, 'Circuit', AI,, %O'100', (C,'*'),, C, U),
; MR6092 (502, 'Address', CMN,, %O'302',, E, WO),
; MR6093 (510, 'Incoming Timer', DU2,, %O'002', C, E, C),
; MR6094 (511, 'Outgoing Timer', DU2,, %O'002', C, E, C),
; MR6095 (600, 'Active Links', DU2,, %O'002', (S,'*'), (E,R), RO),
; MR6096 (601, 'Delay', DU2,, %O'002', (S,'*'), R, RO),
; MR6097 (700, 'NSP Version',,,, C, E, RO),
; MR6098 (710, 'Maximum Links', DU2,, %O'002', C, E),
; MR6099 (720, 'Delay Factor', DU1,, %O'001', C, E),
; MR6100 (721, 'Delay Weight', DU1,, %O'001', C, E),
; MR6101 (722, 'Inactivity Timer', DU2,, %O'002', C, E),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 76
NODE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (8)
; MR6102 (723, 'Retransmit Factor', DU2,, %O'002', C, E),
; MR6103 (810, 'Type', C1,, %O'201', S, A, RO),
; MR6104 (820, 'Cost', DU2,, %O'002', S, R, RO),
; MR6105 (821, 'Hops', DU1,, %O'001', S, R, RO),
; MR6106 (822, 'Circuit', AI,, %O'100', (S,'*'), R, RO),
; MR6107 (900, 'Routing Version',,,, C, E, RO),
; MR6108 (901, 'Type', C1,, %O'201', C, E),
; MR6109 (910, 'Routing Timer', DU2,, %O'002', C, E),
; MR6110 (911, 'Subaddresses', CM2,,, C, E),
; MR6111 (920, 'Maximum Address', DU2,, %O'002', C, E),
; MR6112 (921, 'Maximum Circuits', DU2,, %O'002', C, E),
; MR6113 (922, 'Maximum Cost', DU2,, %O'002', C, E),
; MR6114 (923, 'Maximum Hops', DU1,, %O'001', C, E),
; MR6115 (924, 'Maximum Visits', DU1,, %O'001', C, E),
; MR6116 (930, 'Maximum Buffers', DU2,, %O'002', C, E),
; MR6117 (931, 'Buffer Size', DU2,, %O'002', C, E),
; R6118 (2500, 'Fence', DU2,, %O'002', C, A) %;
; R6119
; R6120 !
; R6121 ! Define text for coded parameter values
; R6122 !
; R6123
; R6124 macro
; MR6125 $NML$NODE_CODES =
; MR6126 (000, ('On', ! STATE
; MR6127 'Off',
; MR6128 'Shut',
; MR6129 'Restricted',
; MR6130 'Reachable',
; MR6131 'Unreachable')),
; MR6132
; MR6133 (112, ('DP', '', ! SERVICE DEVICE
; MR6134 'DU', '', ! These values are even numbers, so we
; MR6135 'DL', '', ! skip the odd ones.
; MR6136 'DQ', '',
; MR6137 'DA', '',
; MR6138 'DUP', '',
; MR6139 'DMC', '',
; MR6140 'DN', '',
; MR6141 'DLV', '',
; MR6142 'DMP', '',
; MR6143 'DTE', '',
; MR6144 'DV', '',
; MR6145 'DZ', '','','', ! There is a gap of one even value
; MR6146 'KDP', '', ! number here
; MR6147 'KDZ', '',
; MR6148 'KL', '',
; MR6149 'DMV', '',
; MR6150 'DPV')),
; MR6151
; MR6152 (113, ('PDP8', ! CPU
; MR6153 'PDP11',
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 77
NODE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (8)
; MR6154 'DECSYSTEM1020',
; MR6155 'VAX')),
; MR6156
; MR6157 (125, ('Secondary Loader', ! SOFTWARE TYPE
; MR6158 'Tertiary Loader',
; MR6159 'System')),
; MR6160
; MR6161 (152, ('Zeroes', ! LOOP WITH
; MR6162 'Ones',
; MR6163 'Mixed')),
; MR6164
; MR6165 (810, ('Routing', ! TYPE (Read Only)
; MR6166 'Nonrouting',
; MR6167 'Phase II')),
; MR6168
; MR6169 (901, ('Routing', ! TYPE
; MR6170 'Nonrouting',
; R6171 'Phase II')) %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 78
LINE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (9)
; R6172 %sbttl 'LINE Parameter Table'
; R6173
; R6174 ! $NML$LINE_PARAMETERS - Parameter characteristic definitions
; R6175 !
; R6176 ! Each entry has the format
; R6177 !
; R6178 ! (Parameter number,
; R6179 ! Literal name,
; R6180 ! Format for data extraction,
; R6181 ! Layer that exclusively owns this parameter,
; R6182 ! Data type,
; R6183 ! Information type,
; R6184 ! Applicability restriction,
; R6185 ! Settability restriction,
; R6186 ! Parameter text conversion)
; R6187
; R6188 macro
; MR6189 $NML$LINE_PARAMETERS =
; MR6190 (0000, 'State', C1, NML, %O'201', (S,'*')),
; MR6191 (0001, 'Substate',, NML, %O'201', (S,'*'),, RO),
; MR6192 (0100, 'Service', C1, NML, %O'201', C),
; MR6193 (0110, 'Counter Timer', DU2, NML, %O'002', C,, C),
; MR6194 (1100, 'Device', AI,, %O'100', C),
; MR6195 (1105, 'Receive Buffers', DU2,, %O'002', C),
; MR6196 (1110, 'Controller', C1,, %O'201', C),
; MR6197 (1111, 'Duplex', C1,, %O'201', C),
; MR6198 (1112, 'Protocol', C1,, %O'201', C),
; MR6199 (1113, 'Clock', C1,, %O'201', C),
; MR6200 (1120, 'Service Timer', DU2,, %O'002', C),
; MR6201 (1121, 'Retransmit Timer', DU2,, %O'002', C),
; MR6202 (1122, 'Holdback Timer', DU2,, %O'002', C,, C),
; MR6203 (1130, 'Maximum Block', DU2,, %O'002', C),
; MR6204 (1131, 'Maximum Retransmits', DU1,, %O'001', C,, C),
; MR6205 (1132, 'Maximum Window', DU1,, %O'001', C),
; MR6206 (1150, 'Scheduling Timer', DU2,, %O'002', C,, C),
; MR6207 (1151, 'Dead Timer', DU2,, %O'002', C,, C),
; MR6208 (1152, 'Delay Timer', DU2,, %O'002', C,, C),
; MR6209 (1153, 'Stream Timer', DU2,, %O'002', C,, C),
; MR6210 (2650, 'Controller Register', O2,, %O'062', C),
; MR6211 (2651, 'Unit Register', O2,, %O'062', C),
; MR6212 (2655, 'Interrupt Vector', O2,, %O'062', C),
; MR6213 (2660, 'Interrupt Priority', DU1,, %O'001', C),
; MR6214 (2665, 'Receive Speed',,,, C),
; MR6215 (2666, 'Transmit Speed',,,, C),
; R6216 (2670, 'Pause Timer', DU2,, %O'002', C) %;
; R6217
; R6218 macro
; MR6219 $NML$LINE_CODES =
; MR6220 (0000, ('On', ! STATE
; MR6221 'Off',
; MR6222 'Service',
; MR6223 'Cleared')),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 79
LINE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (9)
; MR6224
; MR6225 (0001, ('Starting', ! Substate
; MR6226 'Reflecting',
; MR6227 'Looping',
; MR6228 'Loading',
; MR6229 'Dumping',
; MR6230 'Triggering',
; MR6231 'Autoservice',
; MR6232 'Autoloading',
; MR6233 'Autodumping',
; MR6234 'Autotriggering',
; MR6235 'Synchronizing',
; MR6236 'Failed')),
; MR6237
; MR6238 (0100, ('Enabled', ! SERVICE
; MR6239 'Disabled')),
; MR6240
; MR6241 (1110, ('Normal', ! CONTROLLER
; MR6242 'Loopback')),
; MR6243
; MR6244 (1111, ('Full', ! DUPLEX
; MR6245 'Half')),
; MR6246
; MR6247 (1112, ('DDCMP-Point', ! PROTOCOL
; MR6248 'DDCMP-Control',
; MR6249 'DDCMP-Tributary',
; MR6250 'X25',
; MR6251 'DDCMP-DMC',
; MR6252 'LAPB')),
; MR6253
; MR6254 (1113, ('External', ! CLOCK
; R6255 'Internal')) %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 80
LOGGING Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (10)
; R6256 %sbttl 'LOGGING Parameter Table'
; R6257
; R6258 ! $NML$LOGGING_PARAMETERS - Parameter characteristic definitions
; R6259 !
; R6260 ! Each entry has the format
; R6261 !
; R6262 ! (Parameter number,
; R6263 ! Literal name,
; R6264 ! Format for data extraction,
; R6265 ! Layer that exclusively owns this parameter,
; R6266 ! Data type,
; R6267 ! Information type,
; R6268 ! Applicability restriction,
; R6269 ! Settability restriction,
; R6270 ! Parameter text conversion)
; R6271 !
; R6272 ! NOTE: SINK NODE and EVENTS parameters are defined as read only until
; R6273 ! I figure out how I am going to handle multiple part parameters.
; R6274 ! Right now they cause the macro expansion to fail.
; R6275
; R6276 macro
; MR6277 $NML$LOGGING_PARAMETERS =
; MR6278 (000, 'State', C1, NML, %O'201', (S,'*'), E),
; MR6279 (100, 'Name', AI, NML, %O'100', (C,'*'), E, RO),
; MR6280 (200, 'Sink Node', CMN, NML, %O'302', (EV,'*'), S, RO),
; R6281 (201, 'Events', CME, NML, %O'305', (EV,'*'), S, RO) %;
; R6282
; R6283 macro
; MR6284 $NML$LOGGING_CODES =
; MR6285 (000, ('On', ! STATE
; MR6286 'Off',
; MR6287 'Hold')),
; MR6288
; MR6289 (201, ('Node', ! EVENTS
; MR6290 'Line',
; MR6291 'Logging',
; MR6292 'Circuit',
; R6293 'Module')) %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 81
CIRCUIT Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (11)
; R6294 %sbttl 'CIRCUIT Parameter Table'
; R6295
; R6296 ! $NML$CIRCUIT_PARAMETERS - Parameter characteristic definitions
; R6297 !
; R6298 ! Each entry has the format
; R6299 !
; R6300 ! (Parameter number,
; R6301 ! Literal name,
; R6302 ! Format for data extraction,
; R6303 ! Layer that exclusively owns this parameter,
; R6304 ! Data type,
; R6305 ! Information type,
; R6306 ! Applicability restriction,
; R6307 ! Settability restriction,
; R6308 ! Parameter text conversion)
; R6309
; R6310 macro
; MR6311 $NML$CIRCUIT_PARAMETERS =
; MR6312 (0000, 'State', C1, NML, %O'201', (S,'*')),
; MR6313 (0001, 'Substate', C1, NML, %O'201', (S,'*'),, RO),
; MR6314 (0100, 'Service', C1, NML, %O'201', C),
; MR6315 (0110, 'Counter Timer', DU2, NML, %O'002', C,, C),
; MR6316 (0200, 'Connected Node',,,, (S,'*'),, RO),
; MR6317 (0201, 'Connected Object',,,, (S,'*'),, RO),
; MR6318 (0400, 'Loopback Name', AI,, %O'100', (S,'*'),, RO),
; MR6319 (0800, 'Adjacent Node',,,, (S,'*'),, RO),
; MR6320 (0810, 'Block Size', DU2,, %O'002', S,, RO),
; MR6321 (0900, 'Cost', DU1,, %O'001', C),
; MR6322 (0906, 'Hello Timer', DU2,, %O'002', C),
; MR6323 (0907, 'Listen Timer', DU2,, %O'002', C),
; MR6324 (0910, 'Blocking', C1,, %O'201', C),
; MR6325 (0920, 'Maximum Recalls', DU1,, %O'001', C,, C),
; MR6326 (0921, 'Recall Timer', DU2,, %O'002', C,, C),
; MR6327 (0930, 'Number', AI,, %O'100', C),
; MR6328 (1000, 'User',,,, (S,'*'),, RO),
; MR6329 (1010, 'Polling State', C1,, %O'201', (S,'*')),
; MR6330 (1011, 'Polling substate', C1,, %O'201', (S,'*'),, RO),
; MR6331 (1100, 'Owner',,,, C,, C),
; MR6332 (1110, 'Line', AI,, %O'100', C,,, U),
; MR6333 (1111, 'Usage', C1,, %O'201', C),
; MR6334 (1112, 'Type', C1,, %O'201', C),
; MR6335 (1120, 'DTE', AI,, %O'100', C,,, U),
; MR6336 (1121, 'Channel', DU2,, %O'002', C),
; MR6337 (1122, 'Maximum Data', DU2,, %O'002', C),
; MR6338 (1123, 'Maximum Window', DU1,, %O'001', C),
; MR6339 (1140, 'Tributary', DU1,, %O'001', C),
; MR6340 (1141, 'Babble Timer', DU2,, %O'002', C,, C),
; MR6341 (1142, 'Transmit Timer', DU2,, %O'002', C,, C),
; MR6342 (1145, 'Maximum Buffers', C1,, %O'201', C,, C),
; MR6343 (1146, 'Maximum Transmits', DU1,, %O'001', C,, C),
; MR6344 (1150, 'Active Base', DU1,, %O'001', C,, C),
; MR6345 (1151, 'Active Increment', DU1,, %O'001', C,, C),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 82
CIRCUIT Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (11)
; MR6346 (1152, 'Inactive Base', DU1,, %O'001', C,, C),
; MR6347 (1153, 'Inactive Increment', DU1,, %O'001', C,, C),
; MR6348 (1154, 'Inactive Threshold', DU1,, %O'001', C,, C),
; MR6349 (1155, 'Dying Base', DU1,, %O'001', C,, C),
; MR6350 (1156, 'Dying Increment', DU1,, %O'001', C,, C),
; MR6351 (1157, 'Dying Threshold', DU1,, %O'001', C,, C),
; MR6352 (1158, 'Dead Threshold', DU1,, %O'001', C,, C),
; R6353 (2600, 'Node Type', C1,, %O'201', C) %;
; R6354
; R6355 macro
; MR6356 $NML$CIRCUIT_CODES =
; MR6357 (0000, ('On', ! STATE
; MR6358 'Off',
; MR6359 'Service',
; MR6360 'Cleared')),
; MR6361
; MR6362 (0001, ('Starting', ! Substate
; MR6363 'Reflecting',
; MR6364 'Looping',
; MR6365 'Loading',
; MR6366 'Dumping',
; MR6367 'Triggering',
; MR6368 'Autoservice',
; MR6369 'Autoloading',
; MR6370 'Autodumping',
; MR6371 'Autotriggering',
; MR6372 'Synchronizing',
; MR6373 'Failed')),
; MR6374
; MR6375 (0100, ('Enabled', ! SERVICE
; MR6376 'Disabled')),
; MR6377
; MR6378 (0910, ('Enabled', ! BLOCKING
; MR6379 'Disabled')),
; MR6380
; MR6381 (1000, ('Node', ! USER
; MR6382 'Line',
; MR6383 'Logging',
; MR6384 'Circuit',
; MR6385 'Module')),
; MR6386
; MR6387 (1100, ('Node', ! OWNER
; MR6388 'Line',
; MR6389 'Logging',
; MR6390 'Circuit',
; MR6391 'Module')),
; MR6392
; MR6393 (1111, ('Permanent', ! USAGE
; MR6394 'Incoming',
; MR6395 'Outgoing')),
; MR6396
; MR6397 (1112, ('DDCMP-Point', ! TYPE
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 83
CIRCUIT Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (11)
; MR6398 'DDCMP-Control',
; MR6399 'DDCMP-Tributary',
; MR6400 'X25',
; MR6401 'DDCMP-DMC',
; MR6402 'LAPB')),
; MR6403
; MR6404 (1145, ('Unlimited')), ! MAXIMUM BUFFERS (255)
; MR6405
; MR6406 (2600, ('Routing', ! NODE TYPE
; MR6407 'Nonrouting',
; R6408 'Phase II')) %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 84
MODULE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (12)
; R6409 %sbttl 'MODULE Parameter Table'
; R6410
; R6411 ! $NML$MODULE_PARAMETERS - Parameter characteristic definitions
; R6412 !
; R6413 ! Each entry has the format
; R6414 !
; R6415 ! (Parameter number,
; R6416 ! Literal name,
; R6417 ! Format for data extraction,
; R6418 ! Layer that exclusively owns this parameter,
; R6419 ! Data type,
; R6420 ! Information type,
; R6421 ! Applicability restriction,
; R6422 ! Settability restriction,
; R6423 ! Parameter text conversion)
; R6424
; R6425 macro
; MR6426 $NML$MODULE_PARAMETERS =
; MR6427 (0000, 'State', C1,, %O'201', (S,'*'), Q),
; MR6428 (0100, 'Counter Timer', DU2, NML, %O'002', C, Q, C),
; MR6429 (0200, 'Active Circuits', DU2,, %O'002', (S,'*'),, RO),
; MR6430 (0300, 'Destination', AI,, %O'100', Q,,, U),
; MR6431 (0310, 'Maximum Circuits', DU2,, %O'002', C),
; MR6432
; MR6433 %if $MCB
; MR6434 %then ! MODULE X25-SERVER parameters
; MR6435 (0320, 'Node', CMN,, %O'302', C, Q),
; MR6436 (0330, 'User', AI,, %O'100', C, Q, C, U),
; MR6437 (0331, 'Password', AI,, %O'100', C, Q, C),
; MR6438 (0332, 'Account', AI,, %O'100', C, Q, C, U),
; MR6439 %else ! MODULE X25-ACCESS parameters
; MR6440 (0320, 'Node', CMN, NML, %O'302', C, Q),
; MR6441 (0330, 'User', AI, NML, %O'100', C, Q, C, U),
; MR6442 (0331, 'Password', AI, NML, %O'100', C, Q, C),
; MR6443 (0332, 'Account', AI, NML, %O'100', C, Q, C, U),
; MR6444 %fi
; MR6445
; MR6446 (0340, 'Object', CMO,,, C, Q),
; MR6447 (0350, 'Priority', DU1,, %O'001', C, Q, C),
; MR6448 (0351, 'Call Mask', HI,,, C, Q, C),
; MR6449 (0352, 'Call Value', HI,,, C, Q, C),
; MR6450 (0353, 'Group', AI,, %O'100', C, Q, C, U),
; MR6451 (0354, 'Number', AI,, %O'100', C, Q, C),
; MR6452 (0355, 'Subaddresses', CM2,,, C, Q, C),
; MR6453 (1000, 'Active Channels', DU2,, %O'002', (S,'*'), Q, RO),
; MR6454 (1010, 'Active Switched', DU2,, %O'002', (S,'*'), Q, RO),
; MR6455 (1100, 'DTE', AI,, %O'100', Q,,, U),
; MR6456 (1101, 'Group', AI,, %O'100', Q,,, U),
; MR6457
; MR6458 %if $MCB
; MR6459 %then ! MODULE X25-PROTOCOL parameter
; MR6460 (1110, 'Network', AI,, %O'100', C,,, U),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 85
MODULE Parameter Table 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (12)
; MR6461 %else ! MODULE X25-ACCESS parameter
; MR6462 (1110, 'Network', AI, NML, %O'100', Q,,, U),
; MR6463 %fi
; MR6464
; MR6465 (1120, 'Line', AI,, %O'100', C, Q, C, U),
; MR6466 (1130, 'Channels', CM2,,, C, Q),
; MR6467 (1131, 'Maximum Channels', DU2,, %O'002', C, Q, RO),
; MR6468 (1140, 'Default Data', DU2,, %O'002', C),
; MR6469 (1141, 'Default Window', DU1,, %O'001', C),
; MR6470 (1150, 'Maximum Data', DU2,, %O'002', C),
; MR6471 (1151, 'Maximum Window', DU1,, %O'001', C),
; MR6472 (1152, 'Maximum Clears', DU1,, %O'001', C,, C),
; MR6473 (1153, 'Maximum Resets', DU1,, %O'001', C,, C),
; MR6474 (1154, 'Maximum Restarts', DU1,, %O'001', C,, C),
; MR6475 (1160, 'Call Timer', DU1,, %O'001', C,, C),
; MR6476 (1161, 'Clear Timer', DU1,, %O'001', C,, C),
; MR6477 (1162, 'Reset Timer', DU1,, %O'001', C,, C),
; MR6478 (1163, 'Restart Timer', DU1,, %O'001', C,, C),
; MR6479 (1170, 'DTE', AI,, %O'100', C, Q, C, U),
; MR6480 (1171, 'Number', DU2,, %O'002', C, Q),
; R6481 (1172, 'Type', C1,, %O'201', C, Q, C) %;
; R6482
; R6483 macro
; MR6484 $NML$MODULE_CODES =
; MR6485 (0000, ('On', ! STATE
; MR6486 'Off',
; MR6487 'Shut')),
; MR6488
; MR6489 (1172, ('Not Applicable',
; R6490 'Bilateral')) %; ! TYPE
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 86
CIRCUIT Counters 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (13)
; R6491 %sbttl 'CIRCUIT Counters'
; R6492
; R6493 macro
; MR6494 $NML$CIRCUIT_COUNTERS =
; MR6495 (0000, 'Seconds Since Last Zeroed', 16),,
; MR6496 (0800, 'Terminating Packets Received', 32),,
; MR6497 (0801, 'Originating Packets Sent', 32),,
; MR6498 (0802, 'Terminating Congestion Loss', 16),,
; MR6499 (0805, 'Corruption Loss', 8),,
; MR6500 (0810, 'Transit Packets Received', 32),,
; MR6501 (0811, 'Transit Packets Sent', 32),,
; MR6502 (0812, 'Transit Congestion Loss', 16),,
; MR6503 (0820, 'Circuit Downs', 8),,
; MR6504 (0821, 'Initialization Failures', 8),,
; MR6505 (1000, 'Bytes Received', 32),,
; MR6506 (1001, 'Bytes Sent', 32),,
; MR6507 (1010, 'Data Blocks Received', 32),,
; MR6508 (1011, 'Data Blocks Sent', 32),,
; MR6509 (1020, 'Data Error Inbound', 8),
; MR6510 ((0, 'NAKs Sent, Header Block Check Error'),
; MR6511 (1, 'NAKs Sent, Data Field Block Check Error'),
; MR6512 (2, 'NAKs Sent, REP Response')),
; MR6513 (1021, 'Data Errors Outbound', 8),
; MR6514 ((0, 'NAKs Received, Header Block Check Error'),
; MR6515 (1, 'NAKs Received, Data Field'),
; MR6516 (2, 'NAKs Received, REP Response')),
; MR6517 (1030, 'Remote Reply Timeouts', 8),,
; MR6518 (1031, 'Local Reply Timeouts', 8),,
; MR6519 (1040, 'Remote Buffer Errors', 8),
; MR6520 ((0, 'NAKs Received, Buffer Unavailable'),
; MR6521 (1, 'NAKs Received, Buffer Too Small')),
; MR6522 (1041, 'Local Buffer Errors', 8),
; MR6523 ((0, 'NAKs Sent, Buffer Unavailable'),
; MR6524 (1, 'NAKs Sent, Buffer Too Small')),
; MR6525 (1050, 'Selection Intervals Elapsed', 16),,
; MR6526 (1051, 'Selection Timeouts', 8),
; MR6527 ((0, 'No Reply To Select'),
; MR6528 (1, 'Incomplete Reply To Select')),
; MR6529 (1240, 'Locally Initiated Resets', 8),,
; MR6530 (1241, 'Remotely Initiated Resets', 8),,
; MR6531 (1242, 'Network Initiated Resets', 8),
; R6532 %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 87
LINE Counters 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (14)
; R6533 %sbttl 'LINE Counters'
; R6534
; R6535 macro
; MR6536 $NML$LINE_COUNTERS =
; MR6537 (0000, 'Seconds Since Last Zeroed', 16),,
; MR6538 (1000, 'Bytes Received', 32),,
; MR6539 (1001, 'Bytes Sent', 32),,
; MR6540 (1010, 'Data Blocks Received', 32),,
; MR6541 (1011, 'Data Blocks Sent', 32),,
; MR6542 (1020, 'Data Errors Inbound', 8),
; MR6543 ((0, 'NAKs Sent, Header Block Check Error'),
; MR6544 (1, 'NAKs Sent, Data Field Block Check'),
; MR6545 (2, 'NAKs Sent, REP Response'),
; MR6546 (3, 'Block Too Long'),
; MR6547 (4, 'Block Check Error'),
; MR6548 (5, 'REJ Sent')),
; MR6549 (1021, 'Data Errors Outbound', 8),
; MR6550 ((0, 'NAKs Received, Header Block Check Error'),
; MR6551 (1, 'NAKs Received, Data Field Block Check Error'),
; MR6552 (2, 'NAKs Received, REP Response'),
; MR6553 (3, 'REJ Received')),
; MR6554 (1030, 'Remote Reply Timeouts', 8),,
; MR6555 (1031, 'Local Reply Timeouts', 8),,
; MR6556 (1040, 'Remote Buffer Errors', 8),
; MR6557 ((0, 'NAKs Received, Buffer Unavailable'),
; MR6558 (1, 'NAKs Received, Buffer Too Small'),
; MR6559 (2, 'RNR Received, Buffer Unavailable')),
; MR6560 (1041, 'Local Buffer Errors', 8),
; MR6561 ((0, 'NAKs Sent, Buffer Unavailable'),
; MR6562 (1, 'NAKs Sent, Buffer Too Small'),
; MR6563 (2, 'RNR Sent, Buffer Unavailable')),
; MR6564 (1050, 'Selection Intervals Elapsed', 16),,
; MR6565 (1051, 'Selection Timeouts', 8),
; MR6566 ((0, 'No Reply To Select'),
; MR6567 (1, 'Incomplete Reply To Select')),
; MR6568 (1100, 'Remote Process Errors', 8),
; MR6569 ((0, 'NAKs Received, Receive Overrun'),
; MR6570 (1, 'NAKs Sent, Header Format Error'),
; MR6571 (2, 'Selection Address Errors'),
; MR6572 (3, 'Streaming Tributaries'),
; MR6573 (4, 'Invalid N(R) Received'),
; MR6574 (5, 'FRMR Sent, Header Format Error')),
; MR6575 (1101, 'Local Process Errors', 8),
; MR6576 ((0, 'NAKs Sent, Receive Overrun'),
; MR6577 (1, 'Receiving Overruns, NAKs Not Sent'),
; MR6578 (2, 'Transmit Underrun'),
; MR6579 (3, 'NAKs Received, Header Format Error'),
; MR6580 (4, 'Receive Overrun'),
; MR6581 (5, 'FRMR Received, Header Format Error')),
; MR6582 (2500, 'Device Configuration Errors', 8),
; MR6583 ((0, 'Invalid Controller Register'),
; MR6584 (1, 'Non-existent Controller Register'),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 88
LINE Counters 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (14)
; MR6585 (2, 'Invalid Unit Register'),
; MR6586 (3, 'Non-existent Unit Register'),
; MR6587 (4, 'Invalid Interrupt Vector'),
; MR6588 (5, 'Conflicting Interrupt Vector'),
; MR6589 (6, 'Invalid Interrupt priority')),
; MR6590 (2501, 'Device Service Errors', 8),
; MR6591 ((0, 'Lost Interrupt'),
; MR6592 (1, 'Lost RDYI'),
; MR6593 (2, 'Lost HALT'),
; MR6594 (3, 'Lost Transmit'),
; MR6595 (4, 'Lost Doorbell')),
; MR6596 (2502, 'Fatal Device Errors', 8),
; MR6597 ((0, 'Invalid Register Contents'),
; MR6598 (1, 'Receive BA mismatch'),
; MR6599 (2, 'Transmit BA mismatch'),
; MR6600 (3, 'Non-existent Memory Address given to Device'),
; MR6601 (4, 'Microcode error'),
; MR6602 (5, 'Completion Queue Overrun'),
; MR6603 (6, 'Doorbell Stuck')),
; MR6604 (2503, 'KMC Polling Adjustments', 8),
; R6605 %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 89
MODULE Counters 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (15)
; R6606 %sbttl 'MODULE Counters'
; R6607
; R6608 macro
; MR6609 $NML$MODULE_COUNTERS =
; MR6610 (0000, 'Seconds Since Last Zeroed', 16),,
; MR6611 (0200, 'Maximum Circuits Active', 16),,
; MR6612 (0210, 'Incoming Calls Rejected, No resources', 8),,
; MR6613 (0211, 'Logical Links Rejected, No resources', 8),,
; MR6614 (1000, 'Bytes Received', 32),,
; MR6615 (1001, 'Bytes Sent', 32),,
; MR6616 (1010, 'Data Blocks Received', 32),,
; MR6617 (1011, 'Data Blocks Sent', 32),,
; MR6618 (1200, 'Calls Received', 16),,
; MR6619 (1201, 'Calls Sent', 16),,
; MR6620 (1210, 'Fast Selects Received', 16),,
; MR6621 (1211, 'Fast Selects Sent', 16),,
; MR6622 (1220, 'Maximum Switched Circuits Active', 16),,
; MR6623 (1221, 'Maximum Channels Active', 16),,
; MR6624 (1230, 'Received Call Resource Errors', 16),,
; MR6625 (1240, 'Locally Initiated Resets', 8),,
; MR6626 (1241, 'Network Initiated Resets', 8),,
; MR6627 (1242, 'Remotely Initiated Resets', 8),,
; MR6628 (1250, 'Restarts', 8),
; R6629 %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 90
NODE Counters 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (16)
; R6630 %sbttl 'NODE Counters'
; R6631
; R6632 macro
; MR6633 $NML$NODE_COUNTERS =
; MR6634 (0000, 'Seconds Since Last Zeroed', 16),,
; MR6635 (0600, 'Bytes Received', 32),,
; MR6636 (0601, 'Bytes Sent', 32),,
; MR6637 (0610, 'Messages Received', 32),,
; MR6638 (0611, 'Messages Sent', 32),,
; MR6639 (0620, 'Connects Received', 16),,
; MR6640 (0621, 'Connects Sent', 16),,
; MR6641 (0630, 'Response Timeouts', 16),,
; MR6642 (0640, 'Received Connect Resource Errors', 16),,
; MR6643 (0700, 'Maximum Logical Links Active', 16),,
; MR6644 (0900, 'Packet Loss', 8),,
; MR6645 (0901, 'Node Unreachable Packet Loss', 16),,
; MR6646 (0902, 'Node Out-of-Range Packet Loss', 8),,
; MR6647 (0903, 'Oversized Packet Loss', 8),,
; MR6648 (0910, 'Packet Format Errors', 8),,
; MR6649 (0920, 'Partial Routing Update Loss', 8),,
; MR6650 (0930, 'Verification Rejects', 8),
; R6651 %;
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 91
Events 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (17)
; R6652 %sbttl 'Events'
; R6653
; R6654 macro
; MR6655 $NML$EVENTS =
; MR6656 $NML$NETWORK_MANAGEMENT_EVENTS,
; MR6657 $NML$SESSION_CONTROL_EVENTS,
; MR6658 $NML$NETWORK_SERVICES_EVENTS,
; MR6659 $NML$TRANSPORT_EVENTS,
; MR6660 $NML$DATA_LINK_EVENTS,
; R6661 $NML$PHYSICAL_LINK_EVENTS %,
; MR6662 $NML$EVENT_PARAMS =
; MR6663 $NML$NETWORK_MANAGEMENT_PARAMS,
; MR6664 $NML$SESSION_CONTROL_PARAMS,
; MR6665 $NML$NETWORK_SERVICES_PARAMS,
; MR6666 $NML$TRANSPORT_PARAMS,
; MR6667 $NML$DATA_LINK_PARAMS,
; R6668 $NML$PHYSICAL_LINK_PARAMS %;
; R6669
; R6670 macro
; MR6671 $NML$NETWORK_MANAGEMENT_EVENTS =
; MR6672 (0, 0, none, 'Event records lost'),
; MR6673 (0, 1, node, 'Automatic node counters', Counters),
; MR6674 (0, 2, line, 'Automatic line counters', Counters),
; MR6675 (0, 3, line, 'Automatic line service', (0, 1)),
; MR6676 (0, 4, line, 'Line counters zeroed', Counters),
; MR6677 (0, 5, node, 'Node counters zeroed', Counters),
; MR6678 (0, 6, circuit, 'Passive loopback', 2),
; MR6679 (0, 7, circuit, 'Aborted service request', 3),
; MR6680 (0, 8, any, 'Automatic counters', (4, Counters)),
; R6681 (0, 9, any, 'Counters zeroed', (4, Counters)) %,
; R6682
; MR6683 $NML$NETWORK_MANAGEMENT_PARAMS =
; MR6684 (0, (C, 1, 'Service', (0, 'Load',
; MR6685 1, 'Dump'))),
; MR6686 (1, (CM, 'Status',
; MR6687 (C, 1, 'Return code'),,
; MR6688 (C, 2, 'Error detail'), optional,
; MR6689 (AI, 72, 'Error message'), optional)),
; MR6690 (2, (C, 1, 'Operation', (0, 'Initiated',
; MR6691 1, 'Terminated'))),
; MR6692 (3, (C, 1, 'Reason', (0, 'Receive timeout',
; MR6693 1, 'Receive error',
; MR6694 2, 'Line state change by higher level',
; MR6695 3, 'Unrecognized request',
; MR6696 4, 'Line open error'))),
; MR6697 (4, (CM, 'Qualifier',
; MR6698 (C, 2, 'Parameter type'),,
; R6699 (AI, 16, 'ID string'))) %;
; R6700
; R6701 macro
; MR6702 $NML$SESSION_CONTROL_EVENTS =
; MR6703 (2, 0, none, 'Local node state change', (0, 1, 2)),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 92
Events 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (17)
; R6704 (2, 1, none, 'Access control reject', (3, 4, 5, 6, 7, 8)) %,
; R6705
; MR6706 $NML$SESSION_CONTROL_PARAMS =
; MR6707 (0, (C, 1, 'Reason', (0, 'Operator Command',
; MR6708 1, 'Normal Operation'))),
; MR6709 (1, (C, 1, 'Old State', (0, 'On',
; MR6710 1, 'Off',
; MR6711 2, 'Shut',
; MR6712 3, 'Restricted'))),
; MR6713 (2, (C, 1, 'New State', (0, 'On',
; MR6714 1, 'Off',
; MR6715 2, 'Shut',
; MR6716 3, 'Restricted'))),
; MR6717 (3, (NODE_ID, 'Source Node')),
; MR6718 (4, (CM, 'Source Process',
; MR6719 (DU, 1, 'Object Type'),,
; MR6720 (DU, 1, 'Group Code'), optional,
; MR6721 (DU, 1, 'User Code'), optional,
; MR6722 (AI, 16, 'Process Name'), optional)),
; MR6723 (5, (CM, 'Destination Process',
; MR6724 (DU, 1, 'Object Type'),,
; MR6725 (DU, 1, 'Group Code'), optional,
; MR6726 (DU, 1, 'User Code'), optional,
; MR6727 (AI, 16, 'Process Name'), optional)),
; MR6728 (6, (AI, 39, 'User')),
; MR6729 (7, (C, 1, 'Password', (0, 'Set'))),
; R6730 (8, (AI, 39, 'Account')) %;
; R6731
; R6732 macro
; MR6733 $NML$NETWORK_SERVICES_EVENTS =
; MR6734 (3, 0, none, 'Invalid message', 0),
; MR6735 (3, 1, none, 'Invalid flow control', (0, 1)),
; R6736 (3, 2, node, 'Data base reused', Counters) %,
; R6737
; MR6738 $NML$NETWORK_SERVICES_PARAMS =
; MR6739 (0, (HI, 12, 'Message')),
; R6740 (1, (DS, 1, 'Current Flow Control Request Count')) %;
; R6741
; R6742 macro
; MR6743 $NML$TRANSPORT_EVENTS =
; MR6744 (4, 0, none, 'Aged packet loss', 0),
; MR6745 (4, 1, circuit, 'Node unreachable packet loss', 0),
; MR6746 (4, 2, circuit, 'Node out-of-range packet loss', 0),
; MR6747 (4, 3, circuit, 'Oversize packet loss', 0),
; MR6748 (4, 4, circuit, 'Packet format error', 1),
; MR6749 (4, 5, circuit, 'Partial routing update loss', (0, 2)),
; MR6750 (4, 6, circuit, 'Verification reject', 3),
; MR6751 (4, 7, circuit, 'Circuit down, circuit fault', 5),
; MR6752 (4, 8, circuit, 'Circuit down, software fault', (5, 0)),
; MR6753 (4, 9, circuit, 'Circuit down, operator fault', (5, 0, 4)),
; MR6754 (4, 10, circuit, 'Line up', 3),
; MR6755 (4, 11, circuit, 'Initialization failure, line fault', 5),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 93
Events 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (17)
; MR6756 (4, 12, circuit, 'Initialization failure, software fault', (5, 0)),
; MR6757 (4, 13, circuit, 'Initialization failure, operator fault', (5, 0, 6)),
; R6758 (4, 14, node, 'Node reachability change', 7) %,
; R6759
; MR6760 $NML$TRANSPORT_PARAMS =
; MR6761 (0, (CM, 'Packet Header',
; MR6762 (H, 1, 'Message Flags'), optional,
; MR6763 (DU, 2, 'Destination Node Address'),,
; MR6764 (DU, 2, 'Source Node Address'), optional,
; MR6765 (H, 1, 'Forwarding Data'))),
; MR6766 (1, (HI, 6, 'Packet Beginning')),
; MR6767 (2, (DU, 2, 'Highest Address')),
; MR6768 (3, (NODE_ID, 'Node')),
; MR6769 (4, (NODE_ID, 'Expected Node')),
; MR6770 (5, (C, 1, 'Reason', (0, 'Line Synchronization Lost',
; MR6771 1, 'Data Errors',
; MR6772 2, 'Unexpected Packet Type',
; MR6773 3, 'Routing Update Checksum Error',
; MR6774 4, 'Adjacent Node Address Change',
; MR6775 5, 'Verification Receive Timeout',
; MR6776 6, 'Version Skew',
; MR6777 7, 'Adjacent Node Address out of Range',
; MR6778 8, 'Adjacent Node Block Size too Small',
; MR6779 9, 'Invalid Verification Seed Value',
; MR6780 10, 'Adjacent Node Listener Receive Timeout',
; MR6781 11, 'Adjacent Node Listener Received Invalid Data',
; MR6782 12, 'Call Failed'))),
; MR6783 (6, (CM, 'Received Version',
; MR6784 (DU, 1, 'Version Number'),,
; MR6785 (DU, 1, 'ECO Number'),,
; MR6786 (DU, 1, 'User ECO Number'))),
; MR6787 (7, (C, 1, 'Status', (0, 'Reachable',
; R6788 1, 'Unreachable'))) %;
; R6789
; R6790 macro
; MR6791 $NML$DATA_LINK_EVENTS =
; MR6792 (5, 0, circuit, 'Locally initiated state change', (0, 1)),
; MR6793 (5, 1, circuit, 'Remotely initiated state change', (0, 1)),
; MR6794 (5, 2, circuit, 'Protocol restart received in maintenance mode'),
; MR6795 (5, 3, circuit, 'Send error threshold', Counters),
; MR6796 (5, 4, circuit, 'Receive error threshold', Counters),
; MR6797 (5, 5, circuit, 'Select error threshold', Counters),
; MR6798 (5, 6, circuit, 'Block header format error', 2),
; MR6799 (5, 7, circuit, 'Selection address error', (3, 6, 4)),
; MR6800 (5, 8, circuit, 'Streaming tributary', (5, 6)),
; MR6801 (5, 9, circuit, 'Local buffer too small', (7, 8)),
; MR6802 (5, 10, module, 'Restart', (9, 14, 15)),
; MR6803 (5, 11, module, 'State change', (9, 10, 11, 12)),
; MR6804 (5, 12, module, 'Retransmit maximum exceeded', (9, 12)),
; R6805 (96 + 5, 13, circuit, 'Maintenance message received') %,
; R6806
; MR6807 $NML$DATA_LINK_PARAMS =
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 94
Events 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (17)
; MR6808 (0, (C, 1, 'Old State', (0, 'Halted',
; MR6809 1, 'Istrt',
; MR6810 2, 'Astrt',
; MR6811 3, 'Running',
; MR6812 4, 'Maintenance'))),
; MR6813 (1, (C, 1, 'New State', (0, 'Halted',
; MR6814 1, 'Istrt',
; MR6815 2, 'Astrt',
; MR6816 3, 'Running',
; MR6817 4, 'Maintenance'))),
; MR6818 (2, (HI, 6, 'Header')),
; MR6819 (3, (DU, 1, 'Selected Tributary')),
; MR6820 (4, (DU, 1, 'Previous Tributary')),
; MR6821 (5, (C, 1, 'Tributary Status', (0, 'Streaming',
; MR6822 1, 'Continued Send after Timeout',
; MR6823 2, 'Continued Send after Deselect',
; MR6824 3, 'Endec Streaming'))),
; MR6825 (6, (DU, 1, 'Received Tributary')),
; MR6826 (7, (DU, 2, 'Block Length')),
; MR6827 (8, (DU, 2, 'Buffer Length')),
; MR6828 (9, (AI, 16, 'DTE')),
; MR6829 (10, (C, 1, 'Reason', (0, 'Operator Command',
; MR6830 1, 'Normal Operation'))),
; MR6831 (11, (C, 1, 'Old State', (0, 'Off',
; MR6832 1, 'On'))),
; MR6833 (12, (C, 1, 'New State', (0, 'Off',
; MR6834 1, 'On'))),
; MR6835 (13, (C, 2, 'Parameter Type')),
; MR6836 (14, (DU, 1, 'Cause')),
; R6837 (15, (DU, 1, 'Diagnostic')) %;
; R6838
; R6839 macro
; MR6840 $NML$PHYSICAL_LINK_EVENTS =
; MR6841 (6, 0, line, 'Data set ready transition', 1),
; MR6842 (6, 1, line, 'Ring indicator transition', 1),
; MR6843 (6, 2, line, 'Unexpected carrier transition', 1),
; MR6844 (6, 3, line, 'Memory access error', 0),
; MR6845 (6, 4, line, 'Communications interface error', 0),
; MR6846 (6, 5, line, 'Performance error', 0),
; MR6847 (96 + 6, 0, line, 'Device configuration error', (2500, 2501)),
; MR6848 (96 + 6, 1, line, 'Device service error', 2504),
; MR6849 (96 + 6, 2, line, 'Fatal device error', (2504, 0)),
; MR6850 (96 + 6, 3, line, 'KMC Polling adjustment', 2502),
; MR6851 (96 + 6, 4, line, 'DTE-20 Protocol error', 2503),
; R6852 (96 + 6, 5, line, 'DTE-20 pause timeout') %,
; R6853
; MR6854 $NML$PHYSICAL_LINK_PARAMS =
; MR6855 (0, (H, 2, 'Device Register')),
; MR6856 (1, (C, 1, 'New State', (0, 'Off',
; MR6857 1, 'On'))),
; MR6858 (2500, (C, 2, 'Parameter Number')),
; MR6859 (2501, (O, 2, 'Parameter Value')),
NMARCH -- Network Management Architecture Decla 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 95
Events 3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (17)
; MR6860 (2502, (DU, 1, 'Polling Count')),
; MR6861 (2503, (O, 4, 'Comm/Region Word')),
; MR6862 (2504, (C, 1, 'Reason', (0, 'Invalid Output Code',
; MR6863 1, 'Invalid Unit',
; MR6864 2, 'Invalid Error Notification',
; MR6865 3, 'Receive BA Error',
; MR6866 4, 'Transmit BA Error',
; MR6867 5, 'Procedure Error',
; MR6868 6, 'Completion Queue Overrun',
; MR6869 7, 'Non-existent Memory',
; MR6870 8, 'Microcode Won''t Load',
; MR6871 9, 'Microcode Won''t Start',
; MR6872 10, 'Doorbell Stuck',
; MR6873 11, 'Lost Interrupt',
; MR6874 12, 'Lost RDYI',
; MR6875 13, 'Lost Halt',
; MR6876 14, 'Lost Transmit',
; MR6877 15, 'Receive Overrun',
; R6878 16, 'Doorbell Lost'))) %;
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 96
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (18)
; R6879 %title '' %sbttl ''
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 97
3-Jan-1983 00:53:27 DNET61:<MCB.NML>NMARCH.REQ.1 (19)
; R6880
; R6881 ! Local Modes:
; R6882 ! Mode:BLISS
; R6883 ! Auto Save Mode:2
; R6884 ! Comment Column:40
; R6885 ! Comment Rounding:+1
; R6886 ! End:
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 98
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 6887
; 6888 require 'NMRSP'; ! NICE Response processing macros
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 99
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (1)
; R6889 ! NET:<PECKHAM.DEVELOPMENT>NMRSP.REQ.2 24-May-82 17:55:52, Edit by PECKHAM
; R6890 !
; R6891 ! Set proper default for ERROR DETAIL to -1.
; R6892 ! Optimize string access for MCB.
; R6893 !
; R6894 ! NET:<VOBA.NML.DEVELOPMENT>NMRSP.REQ.7 18-Feb-82 15:49:32, Edit by VOBA
; R6895 !
; R6896 ! Clean up code and update copyright date.
; R6897 !
; R6898 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMRSP.REQ.5 16-Oct-81 16:04:12, Edit by PECKHAM
; R6899 !
; R6900 ! Optimize various macros for MCB.
; R6901 !
; R6902 ! NET:<DECNET20-V3P1.NML>NMRSP.REQ.2 8-Aug-81 11:56:02, Edit by GUNN
; R6903 !
; R6904 ! Change $RESPONSE macro to provide for error numbers in MCB.
; R6905 !
; R6906 ! NET:<DECNET20-V3P1.NMU>NMRSP.REQ.3 24-Jun-81 08:53:13, Edit by JENNESS
; R6907 !
; R6908 ! Readability improvements. Copyright page insertion.
; R6909 !
; R6910 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMRSP.REQ.2 12-Jun-81 15:26:07, Edit by GUNN
; R6911 !
; R6912 ! Made calls to NMU$TEXT be under $MCB conditional.
; R6913 !
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 100
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (2)
; R6914 %title 'NMRSP -- NICE Response Generation Macros'
; R6915
; R6916 ! COPYRIGHT (c) 1980, 1981, 1982
; R6917 ! DIGITAL EQUIPMENT CORPORATION
; R6918 ! Maynard, Massachusetts
; R6919 !
; R6920 ! This software is furnished under a license and may be used
; R6921 ! and copied only in accordance with the terms of such license
; R6922 ! and with the inclusion of the above copyright notice. This
; R6923 ! software or any other copies thereof may not be provided or
; R6924 ! otherwise made available to any other person. No title to
; R6925 ! and ownership of the software is hereby transferred.
; R6926 !
; R6927 ! The information in this software is subject to change
; R6928 ! without notice and should not be construed as a commitment
; R6929 ! by DIGITAL EQUIPMENT CORPORATION.
; R6930 !
; R6931 ! DIGITAL assumes no responsibility for the use or reliability
; R6932 ! of its software on equipment which is not supplied by
; R6933 ! DIGITAL.
; R6934 !
; R6935
; R6936 !++
; R6937 ! Facility: LSG DECnet Network Management
; R6938 !
; R6939 ! Abstract:
; R6940 !
; R6941 ! This set of macros is used to manipulate error strings used
; R6942 ! in NICE processing. The error string format is the same as
; R6943 ! that used in a NICE response message.
; R6944 !
; R6945 ! Environment: Bliss-36, Bliss-32 and Bliss-16.
; R6946 !
; R6947 ! Author: Steven M. Jenness, Creation date: 18-Mar-81
; R6948 !
; R6949 !--
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 101
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; R6950
; R6951 ! macro: $CLEAR_RESPONSE
; R6952 !
; R6953 ! This macro clears the response string.
; R6954 !
; R6955 ! e.x. $CLEAR_RESPONSE (RESPONSE_POINTER);
; R6956
; R6957
; R6958 macro
; MR6959 $CLEAR_RESPONSE (PTR) =
; MR6960 begin
; MR6961 local STRPTR;
; MR6962
; MR6963 STRPTR = PTR;
; MR6964 PUTB (0, STRPTR); ! Clear response code
; MR6965 %if $MCB
; MR6966 %then
; MR6967 ch$wchar (-1, .STRPTR); ! Clear error detail
; MR6968 ch$wchar_a (ch$rchar_a (STRPTR), STRPTR);
; MR6969 %else
; MR6970 PUTB (-1, STRPTR); ! Clear error detail
; MR6971 PUTB (-1, STRPTR);
; MR6972 %fi
; MR6973 PUTB (0, STRPTR); ! Clear text length
; MR6974 PUTB (0, STRPTR);
; R6975 end %;
; R6976
; R6977
; R6978 ! macro: $RESPONSE
; R6979 !
; R6980 ! This macro puts the appropriate values
; R6981 ! into the fields in a error response string.
; R6982 !
; R6983 ! $RESPONSE (PTR, CODE, DET [,TXT] {,PRM ...});
; R6984 !
; R6985 ! PTR Byte pointer to error string buffer
; R6986 ! CODE Nice return code
; R6987 ! DET Nice error detail
; R6988 ! TXT Error text string
; R6989 ! PRM Parameters to fill in text string
; R6990 !
; R6991 ! e.x. $RESPONSE (.BUFPTR, NICE$_FOE, 1, "No such device");
; R6992
; R6993
; R6994 macro
; MR6995 $RESPONSE (PTR, CODE, DET, TXT) =
; MR6996 begin
; MR6997 local STRPTR;
; MR6998
; MR6999 STRPTR = PTR;
; MR7000 PUTB (CODE, STRPTR);
; MR7001
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 102
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; MR7002 %if not %NULL (DET)
; MR7003 %then %if %ctce (DET)
; MR7004 %then
; MR7005 PUTB ((DET and %o'377'), STRPTR);
; MR7006 PUTB ((DET^-8 and %o'377'), STRPTR);
; MR7007 %else
; MR7008 begin
; MR7009 local DETAIL;
; MR7010
; MR7011 DETAIL = DET;
; MR7012 PUTW (DETAIL, STRPTR);
; MR7013 end;
; MR7014 %fi
; MR7015 %else
; MR7016 %if $MCB
; MR7017 %then
; MR7018 ch$wchar (-1, .STRPTR);
; MR7019 ch$wchar_a (ch$rchar_a (STRPTR), STRPTR);
; MR7020 %else
; MR7021 PUTB (-1, STRPTR);
; MR7022 PUTB (-1, STRPTR);
; MR7023 %fi
; MR7024 %fi
; MR7025
; MR7026 %if not %null (TXT)
; MR7027 %then %if not $MCB
; MR7028 %then
; MR7029 begin
; MR7030 local TXTPTR, CNT;
; MR7031 external routine NMU$TEXT;
; MR7032
; MR7033 TXTPTR = .STRPTR;
; MR7034 PUTB (0, STRPTR);
; MR7035 CNT = $NMU$TEXT (STRPTR, 72, %string (TXT, '%N')
; MR7036 %if %length gtr 4
; MR7037 %then , %remaining %fi);
; MR7038 PUTB (.CNT, TXTPTR);
; MR7039 end;
; MR7040 %fi
; MR7041 %else PUTB (0, STRPTR);
; MR7042 %fi
; MR7043
; MR7044 ch$diff (.STRPTR, PTR)
; R7045 end %;
; R7046
; R7047
; R7048 ! macro: $RESPONSE_X
; R7049 !
; R7050 ! This macro puts the appropriate values
; R7051 ! into the fields in a error response string.
; R7052 !
; R7053 ! $RESPONSE_X (PTR, CODE, DET [,TXT,ERR] {,PRM ...});
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 103
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; R7054 !
; R7055 ! PTR Byte pointer to error string buffer
; R7056 ! CODE NICE return code
; R7057 ! DET NICE error detail
; R7058 ! TXT Error text string
; R7059 ! ERR Error text number for MCB environment
; R7060 ! PRM Parameters to fill in text string
; R7061 !
; R7062 ! e.x. $RESPONSE_X (.BUFPTR, NICE$_FOE, 1, "No such device", 101);
; R7063
; R7064
; R7065 macro
; MR7066 $RESPONSE_X (PTR, CODE, DET, TXT, ERR) =
; MR7067 begin
; MR7068 local STRPTR;
; MR7069
; MR7070 STRPTR = PTR;
; MR7071
; MR7072 PUTB (CODE, STRPTR);
; MR7073
; MR7074 %if not %NULL (DET)
; MR7075 %then %if %ctce (DET)
; MR7076 %then
; MR7077 PUTB ((DET and %o'377'), STRPTR);
; MR7078 PUTB ((DET^-8 and %o'377'), STRPTR);
; MR7079 %else
; MR7080 begin
; MR7081 local DETAIL;
; MR7082
; MR7083 DETAIL = DET;
; MR7084 PUTW (DETAIL, STRPTR);
; MR7085 end;
; MR7086 %fi
; MR7087 %else
; MR7088 %if $MCB
; MR7089 %then
; MR7090 ch$wchar (-1, .STRPTR);
; MR7091 ch$wchar_a (ch$rchar_a (STRPTR), STRPTR);
; MR7092 %else
; MR7093 PUTB (-1, STRPTR);
; MR7094 PUTB (-1, STRPTR);
; MR7095 %fi
; MR7096 %fi
; MR7097
; MR7098 %if not %null (TXT)
; MR7099 %then %if not $MCB
; MR7100 %then
; MR7101 begin
; MR7102 local TXTPTR, CNT;
; MR7103 external routine NMU$TEXT;
; MR7104
; MR7105 TXTPTR = .STRPTR;
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 104
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; MR7106 PUTB (0, STRPTR);
; MR7107 CNT = $NMU$TEXT (STRPTR, 72, %string (TXT, '%N')
; MR7108 %if %length gtr 4
; MR7109 %then , %remaining %fi);
; MR7110 PUTB (.CNT, TXTPTR);
; MR7111 end;
; MR7112 %else
; MR7113 begin
; MR7114 linkage CBDSG = JSR (register=0,register=1,register=2;
; MR7115 register=0) : nopreserve (1,2);
; MR7116 external routine $CBDSG : CBDSG novalue;
; MR7117
; MR7118 PUTB (5, STRPTR); ! 5 digit ASCII signed decimal number
; MR7119 $CBDSG (.STRPTR,
; MR7120 %if not %null (ERR)
; MR7121 %then ERR %else 99999 %fi,
; MR7122 1;
; MR7123 STRPTR);
; MR7124 end;
; MR7125 %fi
; MR7126 %else PUTB (0, STRPTR);
; MR7127 %fi
; MR7128
; MR7129 ch$diff (.STRPTR, PTR)
; R7130 end %;
; R7131
; R7132
; R7133 ! macro: $RESPONSE_CODE
; R7134 !
; R7135 ! This macro puts the reponse code into the
; R7136 ! specified response string.
; R7137 !
; R7138 ! e.x. $RESPONSE_CODE (RESPONSE_POINTER, NICE$_UFO);
; R7139
; R7140 macro
; MR7141 $RESPONSE_CODE (PTR, CODE) =
; MR7142 begin
; MR7143 ch$wchar (CODE, PTR);
; R7144 end %;
; R7145
; R7146
; R7147 ! macro: $RESPONSE_DETAIL
; R7148 !
; R7149 ! This macro puts the error detail into the
; R7150 ! specified response string.
; R7151 !
; R7152 ! e.x. $RESPONSE_DETAIL (RESPONSE_POINTER, 11);
; R7153
; R7154
; R7155 macro
; MR7156 $RESPONSE_DETAIL (PTR, DET) =
; MR7157 begin
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 105
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; MR7158 local STRPTR;
; MR7159
; MR7160 STRPTR = ch$plus (PTR, 1);
; MR7161
; MR7162 %if %ctce (DET)
; MR7163 %then
; MR7164 PUTB ((DET and %o'377'), STRPTR);
; MR7165 PUTB ((DET^-8 and %o'377'), STRPTR);
; MR7166 %else
; MR7167 begin
; MR7168 local DETAIL;
; MR7169
; MR7170 DETAIL = DET;
; MR7171 PUTW (DETAIL, STRPTR);
; MR7172 end;
; MR7173 %fi
; R7174 end %;
; R7175
; R7176
; R7177 ! macro: $RESPONSE_TEXT
; R7178 !
; R7179 ! This macro puts the error text into
; R7180 ! the specified response string. The
; R7181 ! format of the arguments is the same as
; R7182 ! as that taken by $NMU$TEXT.
; R7183 !
; R7184 ! e.x. $RESPONSE_TEXT (RESPONSE_POINTER, 'Bad error:', .WHY);
; R7185
; R7186
; R7187 macro
; MR7188 $RESPONSE_TEXT (PTR, TXT) =
; MR7189 %if $MCB
; MR7190 %then
; MR7191 begin
; MR7192 local STRPTR, TXTPTR;
; MR7193
; MR7194 TXTPTR = ch$plus (PTR, 3);
; MR7195 STRPTR = ch$plus (.TXTPTR, 1);
; MR7196 PUTB ($NMU$TEXT (STRPTR, 72, %string (TXT, '%N')
; MR7197 %if %length gtr 2
; MR7198 %then , %remaining %fi),
; MR7199 TXTPTR);
; MR7200 end
; R7201 %fi %;
; R7202
; R7203
; R7204 ! macro: $RESPONSE_LENGTH
; R7205 !
; R7206 ! This macro returns the length (in bytes) of
; R7207 ! the response string. It assumes that an response
; R7208 ! code, error detail and counted text string
; R7209 ! exist.
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 106
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; R7210 !
; R7211 ! e.x. LENGTH = $RESPONSE_LENGTH (RESPONSE_POINTER);
; R7212
; R7213
; R7214 macro
; MR7215 $RESPONSE_LENGTH (PTR) =
; MR7216 begin
; MR7217 local STRPTR;
; MR7218
; MR7219 STRPTR = ch$plus (PTR, 3);
; MR7220 4 + GETB (STRPTR)
; R7221 end %;
; R7222
; R7223
; R7224 ! macro: $GET_CODE
; R7225 !
; R7226 ! This macro fetches the response code field in the
; R7227 ! specified error string.
; R7228 !
; R7229 ! e.x. CODE = $GET_CODE (RESPONSE_POINTER);
; R7230
; R7231
; R7232 macro
; MR7233 $GET_CODE (PTR) =
; MR7234 begin
; MR7235 ch$rchar (PTR)
; R7236 end %;
; R7237
; R7238
; R7239 ! macro: $GET_DETAIL
; R7240 !
; R7241 ! This macro gets the error detail from the
; R7242 ! specified response string.
; R7243 !
; R7244 ! e.x. DETAIL = $GET_DETAIL (RESPONSE_POINTER);
; R7245
; R7246
; R7247 macro
; MR7248 $GET_DETAIL (PTR) =
; R7249 GETW_NA (ch$plus (PTR, 1)) %;
; R7250
; R7251
; R7252 ! macro: $GET_TEXT
; R7253 !
; R7254 ! This macro gets a pointer to the text field
; R7255 ! in specified the response string.
; R7256 !
; R7257 ! e.x. TEXT_PTR = $GET_TEXT (RESPONSE_POINTER);
; R7258 ! TEXT_LENGTH = GETB (TEXT_PTR);
; R7259
; R7260
; R7261 macro
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 107
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (3)
; MR7262 $GET_TEXT (PTR) =
; R7263 ch$plus (PTR, 3)) %;
NMRSP -- NICE Response Generation Macros 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 108
3-Jan-1983 03:11:32 DNET61:<MCB.NML>NMRSP.REQ.1 (4)
; R7264
; R7265 %title ''
; R7266 %sbttl ''
; R7267
; R7268 !
; R7269 ! [End of NMRSP.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 109
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 7270
; L 7271 %if not $MCB
; U 7272 %then require 'NCPTAB'; ! NICE parameter definitions
; 7273 %else literal P$ALL = -1; ! Dummy value for SET entity ALL
; 7274 %fi
; 7275
; C 7276 %( Comment this stuff out (just in case)
; C 7277 switches list (norequire); ! Suppress listing
; C 7278
; C 7279 %if $MCB
; C 7280 %then require 'BLI:RSX11M' ; ! MCB System specific
; C 7281 require 'NETDIR' ; ! Definitions for GLNW$S macro
; C 7282 %else %if $TOPS20
; C 7283 %then require 'BLI:MONSYM' ; ! TOPS20 System specific
; C 7284 %else %if $TOPS10
; C 7285 %then require 'BLI:UUOSYM' ; ! TOPS10 System specific
; C 7286 %fi
; C 7287 %fi
; C 7288 %fi
; C 7289
; C 7290 switches list (require);
; 7291 )%
; 7292
; 7293 require 'NMXINT'; ! Interface to system specific NMX
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 110
3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (1)
; R7294 ! NET:<VOBA.NML.DEVELOPMENT>NMXINT.REQ.3 19-Mar-82 08:47:13, Edit by VOBA
; R7295 !
; R7296 ! Remove the setting of N$QUAF bit from $$NML_INTERFACE_EXPAND macro.
; R7297 ! Let NMX check the QUALIFIER pointer and set the bit appropriately.
; R7298 !
; R7299 ! NET:<PECKHAM.DEVELOPMENT>NMXINT.REQ.3 6-Mar-82 23:48:12, Edit by PECKHAM
; R7300 !
; R7301 ! Remove references of NML$VDB from $NML$xxx macros
; R7302 ! Seperate definitions of $$NML_INTERFACE_EXPAND.
; R7303 !
; R7304 ! NET:<PECKHAM.DEVELOPMENT>NMXINT.REQ.2 6-Mar-82 21:33:49, Edit by PECKHAM
; R7305 !
; R7306 ! Make all $NML$xxx macros accept qualifiers and remove $NML$xxxQ macros.
; R7307 !
; R7308 ! NET:<PECKHAM.DEVELOPMENT>NMXINT.REQ.2 5-Mar-82 09:21:41, Edit by PECKHAM
; R7309 !
; R7310 ! Fix parameter reference in $NML$SET.
; R7311 !
; R7312 ! NET:<PECKHAM.DEVELOPMENT>NMXINT.REQ.2 19-Feb-82 12:03:57, Edit by PECKHAM
; R7313 !
; R7314 ! Fix $NML$SET to only call NMX on CIRCUIT/LINE state parameter
; R7315 !
; R7316 ! NET:<VOBA.NML.DEVELOPMENT>NMXINT.REQ.6 18-Feb-82 16:45:03, Edit by VOBA
; R7317 !
; R7318 ! Clean up code and update copyright date.
; R7319 !
; R7320 ! NET:<PECKHAM.DEVELOPMENT>NMXINT.REQ.2 16-Jan-82 10:54:03, Edit by PECKHAM
; R7321 !
; R7322 ! Add $NML$GET_HOST_ID to get host node name/number for NMLEVT.
; R7323 !
; R7324 ! 14-Nov-81 22:26:49, Edit by GROSSMAN
; R7325 !
; R7326 ! Make this module work under Tops-10. Accomplish this by turning many
; R7327 ! "%if $TOPS20" conditionals into "%if ($TOPS20 or $TOPS10)" conditionals
; R7328 !
; R7329 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMXINT.REQ.3 20-Aug-81 13:31:39, Edit by GUNN
; R7330 !
; R7331 ! Change all calls to NML$VDB to not increment
; R7332 ! entity type number in variable TYPE.
; R7333 !
; R7334 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMXINT.REQ.33 27-Jul-81 16:38:09, Edit by GUNN
; R7335 !
; R7336 ! Fix $NML$SET to do last edit properly. Wasn't returning value.
; R7337 !
; R7338 ! NET:<DECNET20-V3P1.NML>NMXINT.REQ.2 1-Jul-81 16:25:14, Edit by GUNN
; R7339 !
; R7340 ! Fix $NML$SET to pass change of STATE parameter down to lower layers.
; R7341 !
; R7342 ! NET:<DECNET20-V3P1.NML>NMXINT.REQ.3 6-Mar-81 17:07:47, Edit by GUNN
; R7343 !
; R7344 ! Fix $NML$RETURNxxx macros to pass selector properly.
; R7345 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 111
3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (1)
; R7346 ! <DECNET20-V3P1.BASELEVEL-2.MCB>NMXINT.REQ.2 6-Mar-81 15:47:25, Edit by SROBINSON
; R7347 !
; R7348 ! Fix Error Code Mapping Functions
; R7349 !
; R7350 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMXINT.REQ.27 5-Mar-81 12:06:37, Edit by GUNN
; R7351 !
; R7352 ! Map arguments to VDB routines based on system type.
; R7353 !
; R7354 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMXINT.REQ.26 5-Mar-81 10:12:12, Edit by GUNN
; R7355 !
; R7356 ! Fix misc bugs in $NML$MAP_NODE_ID for MCB.
; R7357 ! Change GLN$ to GLNW$S
; R7358 !
; R7359 ! NET:<DECNET20-V3P1.NML>NMXINT.REQ.19 27-Feb-81 15:46:52, Edit by GUNN
; R7360 !
; R7361 ! Fix $NML$MAP_NODE_ID to expand properly for MCB.
; R7362 !
; R7363 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMXINT.REQ.22 25-Feb-81 10:29:23, Edit by SROBINSON
; R7364 !
; R7365 ! Fixup QIOW Interface to return buffer length and correct error codes
; R7366 !
; R7367 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMXINT.REQ.4 23-Feb-81 10:59:16, Edit by SROBINSON
; R7368 !
; R7369 ! Fixup QIOW Interface to reflect NMX's mapping functions.
; R7370 !
; R7371 ! NET:<DECNET20-V3P1.NML>NMXINT.REQ.10 20-Feb-81 08:42:28, Edit by GUNN
; R7372 !
; R7373 ! Change interface macros to make call to NML volatile
; R7374 ! data base processor.
; R7375 !
; R7376 ! NET:<DECNET20-V3P1.NML>NMXINT.REQ.4 12-Feb-81 16:54:12, Edit by GUNN
; R7377 !
; R7378 ! Add definition for $NML$MAP_NODE_ID to map a node address to name
; R7379 ! or a node name to address.
; R7380 !
; R7381 ! <DECNET20-V3P1.BASELEVEL-2.MCB>NMXINT.REQ.2 10-Feb-81 12:55:35, Edit by SROBINSON
; R7382 ! Fixup LUN assignment and format of QIOW macro for MCB Environments.
; R7383 ! Also define symbols for operations.
; R7384 !
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 112
3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (2)
; R7385 %title 'NMXINT -- NML Interface to NMX'
; R7386
; R7387 ! COPYRIGHT (c) 1980, 1981, 1982
; R7388 ! DIGITAL EQUIPMENT CORPORATION
; R7389 ! Maynard, Massachusetts
; R7390 !
; R7391 ! This software is furnished under a license and may be used
; R7392 ! and copied only in accordance with the terms of such license
; R7393 ! and with the inclusion of the above copyright notice. This
; R7394 ! software or any other copies thereof may not be provided or
; R7395 ! otherwise made available to any other person. No title to
; R7396 ! and ownership of the software is hereby transferred.
; R7397 !
; R7398 ! The information in this software is subject to change
; R7399 ! without notice and should not be construed as a commitment
; R7400 ! by DIGITAL EQUIPMENT CORPORATION.
; R7401 !
; R7402 ! DIGITAL assumes no responsibility for the use or reliability
; R7403 ! of its software on equipment which is not supplied by
; R7404 ! DIGITAL.
; R7405 !
; R7406
; R7407 !++
; R7408 ! FACILITY: DECnet-10/20 V3.0 Network Management Layer (NML)
; R7409 !
; R7410 ! ABSTRACT:
; R7411 !
; R7412 ! Contains interface declarations to the NMX
; R7413 !
; R7414 ! ENVIRONMENT: TOPS-10/20 User mode under NML
; R7415 !
; R7416 ! AUTHOR: Dale C. Gunn , CREATION DATE: 25-Nov-80
; R7417 !
; R7418 ! MODIFIED BY:
; R7419 !
; R7420 ! maintainer, date : VERSION nnn
; R7421 !
; R7422 ! 01 - Description of modification
; R7423 !--
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 113
MCB specific literals 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (3)
; R7424 %sbttl 'MCB specific literals'
; R7425
; R7426 %if $MCB %then ! MCB specific literals
; R7427
; R7428 literal ! Contents of N$FFNC
; R7429 N$FSET = 1, ! Set Parameter
; R7430 N$FCLR = 2, ! Clear Parameter
; R7431 N$FZRO = 3, ! Zero Counters
; R7432 N$FSHO = 4, ! Show Selected Items
; R7433 N$FSZC = 5, ! Show and Zero Counters
; R7434 N$FRET = 6; ! Return Selected Items
; R7435
; R7436 literal ! Contents of N$IENT
; R7437 N$INOD = 1, ! Node Entity
; R7438 N$ILIN = 2, ! Line Entity
; R7439 N$ILOG = 3, ! Logging Entity
; R7440 N$ICKT = 4, ! Circuit Entity
; R7441 N$IMOD = 5; ! Module Entity
; R7442
; R7443 literal ! Contents of N$SELE
; R7444 N$SSUM = 1, ! Select Summary
; R7445 N$SSTA = 2, ! Select Status
; R7446 N$SCHA = 3, ! Select Characteristics
; R7447 N$SCOU = 4; ! Select Counters
; R7448
; R7449 literal
; R7450 N$QUAF = 1; ! Value of N$QUAL if qualified request
; R7451
; R7452 %fi
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 114
$$NML_INTERFACE_EXPAND 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (4)
; R7453 %sbttl '$$NML_INTERFACE_EXPAND'
; LR7454 %if $TOPS20
; UR7455 %then
; UR7456 macro
; UR7457 $$NML_INTERFACE_EXPAND (FUNCTION, TYPE, ENTITY, QUALIFIER, SELECTOR,
; UR7458 LENGTH, BUFFER, TEXT) =
; UR7459
; UR7460 begin
; UR7461 builtin JSYS;
; UR7462 literal ARGBLK_SIZE = $NTARG;
; UR7463 global register AC1 = 1;
; UR7464 local ARGBLK: vector[ARGBLK_SIZE];
; UR7465
; UR7466 ARGBLK[$NTCNT] = ARGBLK_SIZE; ! Size of argument block
; UR7467 ARGBLK[$NTENT] = TYPE; ! Entity type
; UR7468 ARGBLK[$NTEID] = ENTITY; ! Entity ID pointer
; UR7469 ARGBLK[$NTFNC] = FUNCTION; ! Function code
; UR7470 ARGBLK[$NTERR] = NICE$_MPE; ! Indicate our error if JSYS fails
; UR7471
; UR7472 %if %null(SELECTOR)
; UR7473 %then ARGBLK[$NTSEL] = 0;
; UR7474 %else ARGBLK[$NTSEL] = SELECTOR;
; UR7475 %fi
; UR7476
; UR7477 %if %null(QUALIFIER)
; UR7478 %then ARGBLK[$NTQUA] = 0;
; UR7479 %else ARGBLK[$NTQUA] = QUALIFIER;
; UR7480 %fi
; UR7481
; UR7482 %if %null(BUFFER)
; UR7483 %then ARGBLK[$NTBPT] = 0;
; UR7484 %else ARGBLK[$NTBPT] = BUFFER;
; UR7485 %fi
; UR7486
; UR7487 %if %null(LENGTH)
; UR7488 %then ARGBLK[$NTBYT] = 0;
; UR7489 %else ARGBLK[$NTBYT] = .LENGTH;
; UR7490 %fi
; UR7491
; UR7492 AC1 = ARGBLK; ! Point to argument block
; UR7493 if JSYS (-1, NTMAN_, AC1)
; UR7494 then begin
; UR7495 %if not %null(LENGTH)
; UR7496 %then LENGTH = .ARGBLK[$NTBYT]; ! Return length
; UR7497 %fi
; UR7498 .ARGBLK[$NTERR] ! return success code
; UR7499 end
; UR7500 else begin
; UR7501 global register
; UR7502 AC2 = 2,
; UR7503 AC3 = 3;
; UR7504
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 115
$$NML_INTERFACE_EXPAND 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (4)
; UR7505 %if not %null(TEXT)
; UR7506 %then
; UR7507 AC2 = $FHSLF^18 or .AC1;
; UR7508 AC1 = TEXT;
; UR7509 AC3 = 0;
; UR7510 JSYS (2, ERSTR_, AC1, AC2, AC3);
; UR7511 %fi
; UR7512
; UR7513 .ARGBLK[$NTERR] ! return failure code
; UR7514 end
; UR7515 end %;
; R7516 %fi
; R7517
; LR7518 %if $TOPS10
; UR7519 %then
; UR7520 macro
; UR7521 $$NML_INTERFACE_EXPAND (FUNCTION, TYPE, ENTITY, QUALIFIER, SELECTOR,
; UR7522 LENGTH, BUFFER, TEXT) =
; UR7523
; UR7524 begin
; UR7525 builtin UUO;
; UR7526 literal $NTARG = $NTERR + 1;
; UR7527 literal ARGBLK_SIZE = $NTARG;
; UR7528 global register AC1 = 1;
; UR7529 local ARGBLK: vector[ARGBLK_SIZE];
; UR7530
; UR7531 ARGBLK[$NTCNT] = ARGBLK_SIZE; ! Size of argument block
; UR7532 ARGBLK[$NTENT] = TYPE; ! Entity type
; UR7533 ARGBLK[$NTEID] = ENTITY; ! Entity ID pointer
; UR7534 ARGBLK[$NTFNC] = FUNCTION; ! Function code
; UR7535 ARGBLK[$NTERR] = NICE$_MPE; ! Indicate our error if JSYS fails
; UR7536
; UR7537 %if %null(SELECTOR)
; UR7538 %then ARGBLK[$NTSEL] = 0;
; UR7539 %else ARGBLK[$NTSEL] = SELECTOR;
; UR7540 %fi
; UR7541
; UR7542 %if %null(QUALIFIER)
; UR7543 %then ARGBLK[$NTQUA] = 0;
; UR7544 %else ARGBLK[$NTQUA] = QUALIFIER;
; UR7545 %fi
; UR7546
; UR7547 %if %null(BUFFER)
; UR7548 %then ARGBLK[$NTBPT] = 0;
; UR7549 %else ARGBLK[$NTBPT] = BUFFER;
; UR7550 %fi
; UR7551
; UR7552 %if %null(LENGTH)
; UR7553 %then ARGBLK[$NTBYT] = 0;
; UR7554 %else ARGBLK[$NTBYT] = .LENGTH;
; UR7555 %fi
; UR7556
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 116
$$NML_INTERFACE_EXPAND 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (4)
; UR7557 AC1 = ARGBLK; ! Point to argument block
; UR7558
; UR7559 if UUO (1, NTMAN$(AC1))
; UR7560 then begin
; UR7561 %if not %null(LENGTH)
; UR7562 %then LENGTH = .ARGBLK[$NTBYT]; ! Return length
; UR7563 %fi
; UR7564 .ARGBLK[$NTERR] ! return success code
; UR7565 end
; UR7566 else begin
; UR7567 global register
; UR7568 AC2 = 2,
; UR7569 AC3 = 3;
; UR7570
; UR7571 %if not %null(TEXT)
; UR7572 %then
; UR7573 NMU$TEXT(TEXT,
; UR7574 40,
; UR7575 '?NTMAN. UUO failed - error # %P%/',
; UR7576 .AC1);
; UR7577 %fi
; UR7578 .ARGBLK[$NTERR] ! return failure code
; UR7579 end
; UR7580 end %;
; R7581 %fi
; R7582
; LR7583 %if $MCB
; R7584 %then
; R7585 macro
; R7586 $$NML_INTERFACE_EXPAND (FUNCTION, TYPE, ENTITY, QUALIFIER, SELECTOR,
; MR7587 LENGTH, BUFFER, TEXT) =
; MR7588
; MR7589 begin
; MR7590 external literal ! LUN literals
; MR7591 LUN$NM, ! for NM: Device Operations
; MR7592 EFN$NM; ! event flag for NM: Device Operations
; MR7593
; MR7594 %if not %declared (IOSB)
; MR7595 %then stacklocal IOSB: vector [2]; ! I/O Status block
; MR7596 %fi
; MR7597
; MR7598 ! Format of QIO$ Macro
; MR7599 !
; MR7600 ! qiow$s (IO$CTL,
; MR7601 ! LUN,
; MR7602 ! EFN,
; MR7603 ! PR,
; MR7604 ! IOSB,
; MR7605 ! AST,
; MR7606 ! <BUFFER,
; MR7607 ! LENGTH,
; MR7608 ! FUNCTION & TYPE & SELECTOR [& N$QUAF],
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 117
$$NML_INTERFACE_EXPAND 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (4)
; MR7609 ! ENTITY,
; MR7610 ! QUALIFIER>)
; MR7611
; MR7612 qiow$s (IO$CTL,
; MR7613 LUN$NM,
; MR7614 EFN$NM,
; MR7615 %(PR)%,
; MR7616 IOSB,
; MR7617 %(AST)%,
; MR7618 <%if not %null (LENGTH)
; MR7619 %then %if not %null (BUFFER)
; MR7620 %then (if .LENGTH eql 0
; MR7621 then 0
; MR7622 else BUFFER)
; MR7623 %fi
; MR7624 %fi,
; MR7625
; MR7626 %if not %null (BUFFER)
; MR7627 %then %if not %null (LENGTH)
; MR7628 %then .LENGTH
; MR7629 %fi
; MR7630 %fi,
; MR7631
; MR7632 (%if not %null (SELECTOR)
; MR7633 %then ((if (SELECTOR) LSS 0
; MR7634 then (-(SELECTOR))
; MR7635 else ((SELECTOR)+1)) ^ 12) or
; MR7636 %fi
; MR7637 (TYPE+1) ^ 8 or
; MR7638 FUNCTION ^ 1),
; MR7639 ! %if not %null (QUALIFIER)
; MR7640 ! %then or N$QUAF %fi),
; MR7641
; MR7642 ENTITY,
; MR7643
; MR7644 %if not %null (QUALIFIER)
; MR7645 %then QUALIFIER %fi>);
; MR7646
; MR7647 %if not %null (LENGTH)
; MR7648 %then LENGTH = .IOSB[1];
; MR7649 %fi
; MR7650
; MR7651 if .IOSB<0,8,1> geq 0
; MR7652 then 1
; MR7653 else .IOSB<0,8,1>
; R7654 end %;
; R7655 %fi
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 118
NML Interface Function Macro Definitions 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (5)
; R7656 %sbttl 'NML Interface Function Macro Definitions'
; R7657
; R7658 macro
; MR7659 $NML$SET (TYPE, ENTITY, QUALIFIER, ILENGTH, IBUFFER) =
; MR7660 $$NML_INTERFACE_EXPAND (%bliss36($NTSET) %bliss16(N$FSET),
; MR7661 (TYPE + 0),
; MR7662 (ENTITY + 0),
; MR7663 (QUALIFIER + 0),
; MR7664 %(SELECTOR)%,
; MR7665 ILENGTH,
; R7666 IBUFFER) %;
; R7667
; R7668
; R7669 macro
; MR7670 $NML$CLR (TYPE, ENTITY, QUALIFIER, ILENGTH, IBUFFER) =
; MR7671 $$NML_INTERFACE_EXPAND (%bliss36($NTCLR) %bliss16(N$FCLR),
; MR7672 (TYPE + 0),
; MR7673 (ENTITY + 0),
; MR7674 (QUALIFIER + 0),
; MR7675 %(SELECTOR)%,
; MR7676 ILENGTH,
; R7677 IBUFFER) %;
; R7678
; R7679
; R7680 macro
; MR7681 $NML$ZERO (TYPE, ENTITY, QUALIFIER) =
; MR7682 $$NML_INTERFACE_EXPAND (%bliss36($NTZRO) %bliss16(N$FZRO),
; MR7683 (TYPE + 0),
; MR7684 (ENTITY + 0),
; MR7685 (QUALIFIER + 0),
; MR7686 %(SELECTOR)%,
; MR7687 %(LENGTH)%,
; R7688 %(BUFFER)%) %;
; R7689
; R7690
; R7691 macro
; MR7692 $NML$SHOW (TYPE, ENTITY, QUALIFIER, SELECTOR, OLENGTH, OBUFFER) =
; MR7693 $$NML_INTERFACE_EXPAND (%bliss36($NTSHO) %bliss16(N$FSHO),
; MR7694 (TYPE + 0),
; MR7695 (ENTITY + 0),
; MR7696 (QUALIFIER + 0),
; MR7697 (SELECTOR + 0),
; MR7698 OLENGTH,
; R7699 OBUFFER) %;
; R7700
; R7701
; R7702 macro
; MR7703 $NML$SHOZC (TYPE, ENTITY, QUALIFIER, OLENGTH, OBUFFER) =
; MR7704 $$NML_INTERFACE_EXPAND (%bliss36($NTSZC) %bliss16(N$FSZC),
; MR7705 (TYPE + 0),
; MR7706 (ENTITY + 0),
; MR7707 (QUALIFIER + 0),
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 119
NML Interface Function Macro Definitions 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (5)
; MR7708 %(SELECTOR)%,
; MR7709 OLENGTH,
; R7710 OBUFFER) %;
; R7711
; R7712
; R7713 macro
; MR7714 $NML$RETURN (TYPE,SELECTOR,QUALIFIER,OLENGTH,OBUFFER) =
; MR7715 $$NML_INTERFACE_EXPAND (%bliss36($NTRET) %bliss16(N$FRET),
; MR7716 (TYPE + 0),
; MR7717 0 %(ENTITY)%,
; MR7718 (QUALIFIER + 0),
; MR7719 (SELECTOR + 0),
; MR7720 OLENGTH,
; R7721 OBUFFER) %;
; R7722
; R7723
; R7724 macro
; MR7725 $NML$GETPDB (TYPE, ENTITY, QUALIFIER, SELECTOR, OLENGTH, OBUFFER) =
; MR7726 NML$PDB_READ (%if %null (QUALIFIER) %then 0 %else 1 %fi,
; MR7727 (TYPE + 0),
; MR7728 (ENTITY + 0),
; MR7729 (QUALIFIER + 0),
; MR7730 (SELECTOR + 0),
; MR7731 OLENGTH,
; R7732 OBUFFER) %;
; R7733
; R7734
; R7735 macro
; MR7736 $NML$PUTPDB (TYPE, ENTITY, QUALIFIER, ILENGTH, IBUFFER) =
; MR7737 NML$PDB_CHANGE (%if %null (QUALIFIER) %then 0 %else 1 %fi,
; MR7738 (TYPE + 0),
; MR7739 (ENTITY + 0),
; MR7740 (QUALIFIER + 0),
; MR7741 ILENGTH,
; R7742 IBUFFER) %;
; R7743
; R7744
; R7745 macro
; MR7746 $NML$DELPDB (TYPE, ENTITY, QUALIFIER, ILENGTH, IBUFFER) =
; MR7747 NML$PDB_CHANGE (%if %null (QUALIFIER) %then 2 %else 3 %fi,
; MR7748 (TYPE + 0),
; MR7749 (ENTITY + 0),
; MR7750 (QUALIFIER + 0),
; MR7751 ILENGTH,
; R7752 IBUFFER) %;
; R7753
; R7754
; R7755 macro
; MR7756 $NML$RETURNPDB (TYPE, SELECTOR, QUALIFIER, OLENGTH, OBUFFER) =
; MR7757 NML$PDB_READ (%if %null (QUALIFIER) %then 2 %else 3 %fi,
; MR7758 (TYPE + 0),
; MR7759 (SELECTOR + 0),
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 120
NML Interface Function Macro Definitions 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (5)
; MR7760 (QUALIFIER + 0),
; MR7761 OLENGTH,
; R7762 OBUFFER) %;
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 121
Node Mapping Function Interface Macros 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (6)
; R7763 %sbttl 'Node Mapping Function Interface Macros'
; R7764
; R7765 ! $NML$MAP_NODE_ID (LENGTH,BUFFER) - Map a node address to node name
; R7766 ! or vice versa.
; R7767
; R7768
; R7769 macro
; MR7770 $NML$MAP_NODE_ID (LENGTH, BUFFER) =
; MR7771 %if $TOPS20 or $TOPS10
; MR7772 %then $$NML_INTERFACE_EXPAND (%bliss36($NTMAP),
; MR7773 NODE_E, ! Can only map node entity
; MR7774 0, ! No ENTITY pointer for this function
; MR7775 %(QUALIFIER)%,
; MR7776 %(SELECTOR)%,
; MR7777 LENGTH,
; MR7778 BUFFER)
; MR7779 %else %if $MCB
; MR7780 %then begin
; MR7781 %if not %declared (IOSB)
; MR7782 %then own IOSB: vector [2]; %fi ! I/O Status block
; MR7783 external literal ! Have to get this elsewhere.
; MR7784 LUN$NS,
; MR7785 EFN$NS;
; MR7786
; MR7787 ! Format of GLNW$S Macro
; MR7788 !
; MR7789 ! GLNW$S (LUN, EFN, IOSB, AST, <BUFFER, LENGTH, FLG>)
; MR7790
; MR7791 glnw$s (LUN$NS,
; MR7792 EFN$NS,
; MR7793 IOSB,
; MR7794 %(AST)%,
; MR7795 <BUFFER, .LENGTH, 2>);
; MR7796
; MR7797 ! Map error codes to Network Managment Code
; MR7798
; MR7799 (if .IOSB<0,8,1> geq 0
; MR7800 then 1
; MR7801 else -8)
; MR7802 end
; MR7803 %fi
; MR7804 %fi
; R7805 %; ! End $NML$MAP_NODE_ID
; R7806
; R7807
; R7808 ! $NML$GET_HOST_ID (LENGTH,BUFFER) - Get the host node number/name
; R7809
; R7810
; R7811 macro
; MR7812 $NML$GET_HOST_ID (LENGTH, BUFFER) =
; MR7813 %if $TOPS20 or $TOPS10
; MR7814 %then begin ! Get local instead
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 122
Node Mapping Function Interface Macros 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (6)
; MR7815 local $NML$TEMP_PTR;
; MR7816 %if not %declared (NMU$NETWORK_LOCAL)
; MR7817 %then external NMU$NETWORK_LOCAL; %fi
; MR7818
; MR7819 $NML$TEMP_PTR = NMU$NETWORK_LOCAL ();
; MR7820 ch$move (min (2 + 1 + ch$rchar (ch$plus (.$NML$TEMP_PTR, 2)),
; MR7821 .(LENGTH)),
; MR7822 .$NML$TEMP_PTR,
; MR7823 (BUFFER));
; MR7824 1
; MR7825 end
; MR7826 %else %if $MCB
; MR7827 %then begin
; MR7828 %if not %declared (IOSB)
; MR7829 %then own IOSB: vector[2]; %fi ! I/O Status block
; MR7830 external literal ! Have to get this elsewhere.
; MR7831 LUN$NS,
; MR7832 EFN$NS;
; MR7833
; MR7834 ! Format of GLNW$S Macro
; MR7835 !
; MR7836 ! GLNW$S (LUN, EFN, IOSB, AST, <BUFFER, LENGTH, FLG>)
; MR7837
; MR7838 glnw$s (LUN$NS,
; MR7839 EFN$NS,
; MR7840 IOSB,
; MR7841 %(AST)%,
; MR7842 <BUFFER, .LENGTH, 3>);
; MR7843
; MR7844 ! Map error codes to Network Managment Code
; MR7845
; MR7846 (if .IOSB<0,8,1> geq 0
; MR7847 then 1
; MR7848 else -8)
; MR7849 end
; MR7850 %fi
; MR7851 %fi
; R7852 %; ! End $NML$GET_HOST_ID
NMXINT -- NML Interface to NMX 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 123
Node Mapping Function Interface Macros 3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (7)
; R7853
; R7854 %title ''
; R7855 %sbttl ''
; R7856
; R7857 !
; R7858 ! [End of NMXINT.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 124
3-Jan-1983 17:29:31 DNET61:<MCB.NML>NMXINT.REQ.1 (8)
; R7859
; R7860 ! Local Modes:
; R7861 ! Mode:BLISS
; R7862 ! Auto Save Mode:2
; R7863 ! Comment Column:40
; R7864 ! Comment Rounding:+1
; R7865 ! End:
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 125
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 7866
; 7867 require 'NMUCOM'; ! Utilities common definitions
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 126
3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (1)
; R7868 ! <BRANDT.DEVELOPMENT>NMUCOM.REQ.1 07-Sep-82 10:13:05, Edit by BRANDT
; R7869 !
; R7870 ! Make PROGRAM_ERROR cause the program to stop. Before this edit
; R7871 ! this was just a NOP.
; R7872 !
; R7873 ! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.2 29-Jun-82 09:56:00, Edit by PECKHAM
; R7874 !
; R7875 ! Changes for NMX command handling:
; R7876 ! Add $NMU_NMX_* macros for optimimal implementation.
; R7877 !
; R7878 ! <BRANDT.DEVELOPMENT>NMUCOM.REQ.1 01-Jun-82 10:13:05, Edit by BRANDT
; R7879 !
; R7880 ! Remove definition for NMU$TIMEOUT_CHECK.
; R7881 !
; R7882 ! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.3 14-May-82 12:19:27, Edit by PECKHAM
; R7883 !
; R7884 ! Add NMU$DLX_KNOWN_DEVICE and NMU$DLX_RETURN_CIRCUITS synonyms.
; R7885 !
; R7886 ! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.9 28-Apr-82 13:52:10, Edit by PECKHAM
; R7887 !
; R7888 ! Add $NMU_DLX_* macros. This is to help fix the MOP function timeout bug.
; R7889 ! Add NMU$K_MOP_RETRY_LIMIT for MOP retransmit limit.
; R7890 !
; R7891 ! NET:<VOBA.NML.DEVELOPMENT>NMUCOM.REQ.4 25-Mar-82 17:55:39, Edit by VOBA
; R7892 !
; R7893 ! Add new routine (global mapping) name NMU$QUEUE_LENGTH (alias UQ_LENGTH)
; R7894 ! for NMUQUE module.
; R7895 !
; R7896 ! NET:<VOBA.NML.DEVELOPMENT>NMUCOM.REQ.3 19-Feb-82 12:41:10, Edit by VOBA
; R7897 !
; R7898 ! Fix typo errors.
; R7899 !
; R7900 ! NET:<VOBA.NML.DEVELOPMENT>NMUCOM.REQ.15 18-Feb-82 17:10:20, Edit by VOBA
; R7901 !
; R7902 ! Clean up code and update copyright date.
; R7903 !
; R7904 ! NET:<GROSSMAN>NMUCOM.REQ.3 26-Jan-82 06:53:41, Edit by GROSSMAN
; R7905 !
; R7906 ! Fix definition of EVENT_BLOCK. This is need in order to have tasks wake up
; R7907 ! on multiple events.
; R7908 !
; R7909 ! NET:<PECKHAM.DEVELOPMENT>NMUCOM.REQ.2 20-Jan-82 08:54:21, Edit by PECKHAM
; R7910 !
; R7911 ! Fix NMU$SCHED_MANAGER macro to declare NMU$SCHED_WAIT as having a value.
; R7912 !
; R7913 ! NET:<DECNET20-V3P1.NMLLIB>NMUCOM.REQ.3 03-Dec-81 14:31:00, Edit by THIGPEN
; R7914 !
; R7915 ! Add definition for NMU$TIMEOUT_CHECK.
; R7916 !
; R7917 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.3 13-Jul-81 10:00:18, Edit by GUNN
; R7918 !
; R7919 ! Add definition for NMU$FILE_INITIALIZE.
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 127
3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (1)
; R7920 !
; R7921 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 2-Jul-81 12:03:30, Edit by GUNN
; R7922 !
; R7923 ! Add definitions for new module NMUUTL.
; R7924 !
; R7925 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 18-Jun-81 15:48:09, Edit by GUNN
; R7926 !
; R7927 ! Remove definition of DLX_TRANSFER.
; R7928 !
; R7929 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 12-Jun-81 13:36:30, Edit by JENNESS
; R7930 !
; R7931 ! Readability improvements.
; R7932 !
; R7933 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMUCOM.REQ.2 10-Jun-81 09:58:52, Edit by SROBINSON
; R7934 !
; R7935 ! Add Quota Queue Definitions
; R7936 !
; R7937 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 26-May-81 13:27:39, Edit by JENNESS
; R7938 !
; R7939 ! Add OUTPUT_POSITION to TEXT STATE BLOCK.
; R7940 !
; R7941 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.12 8-May-81 17:28:37, Edit by GUNN
; R7942 !
; R7943 ! Fix TASK_ERROR, TASK_INFO, and PROGRAM_ERROR to really handle
; R7944 ! arguments like %STRING as advertised.
; R7945 !
; R7946 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.2 16-Apr-81 13:43:09, Edit by JENNESS
; R7947 !
; R7948 ! Add NMU$FILE and NMU$TABLE definitions
; R7949 !
; R7950 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMUCOM.REQ.2 30-Apr-81 14:07:55, Edit by SROBINSON
; R7951 !
; R7952 ! Fix Text Generation in MCB mode
; R7953 !
; R7954 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.36 18-Mar-81 11:23:31, Edit by JENNESS
; R7955 !
; R7956 ! Split debugging macros off into file DEBUG.REQ
; R7957 !
; R7958 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.3 10-Mar-81 11:26:21, Edit by JENNESS
; R7959 !
; R7960 ! Add debugging macros.
; R7961 !
; R7962 ! NET:<DECNET20-V3P1.NMU>NMUCOM.REQ.3 9-Feb-81 10:33:38, Edit by JENNESS
; R7963 !
; R7964 ! Change text state block. Remove FIELD_SUPPRESS. Change FIELD_NOCOMPRESS
; R7965 ! to FIELD_ZERO_SUPPRESS. Makes code much(!!) clearer.
; R7966 !
; R7967 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMUCOM.REQ.16 4-Feb-81 17:41:37, Edit by GUNN
; R7968 !
; R7969 ! Update copyright date to 1981
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 128
3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (2)
; R7970 %title 'NMUCOM -- Network Management Utilities Common Definitions'
; R7971
; R7972 ! COPYRIGHT (c) 1980, 1981, 1982
; R7973 ! DIGITAL EQUIPMENT CORPORATION
; R7974 ! Maynard, Massachusetts
; R7975 !
; R7976 ! This software is furnished under a license and may be used
; R7977 ! and copied only in accordance with the terms of such license
; R7978 ! and with the inclusion of the above copyright notice. This
; R7979 ! software or any other copies thereof may not be provided or
; R7980 ! otherwise made available to any other person. No title to
; R7981 ! and ownership of the software is hereby transferred.
; R7982 !
; R7983 ! The information in this software is subject to change
; R7984 ! without notice and should not be construed as a commitment
; R7985 ! by DIGITAL EQUIPMENT CORPORATION.
; R7986 !
; R7987 ! DIGITAL assumes no responsibility for the use or reliability
; R7988 ! of its software on equipment which is not supplied by
; R7989 ! DIGITAL.
; R7990 !
; R7991
; R7992 !++
; R7993 ! Facility: LSG DECnet Network Management
; R7994 !
; R7995 ! Abstract: This file contains definitions for data base
; R7996 ! formats and interesting values used when communicating
; R7997 ! with the NMU utility routines.
; R7998 !
; R7999 ! Environment: Bliss-36, Bliss-32 and Bliss-16.
; R8000 !
; R8001 ! Author: Steven M. Jenness, Creation date: 10-Sep-80
; R8002 !
; R8003 !--
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 129
3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (3)
; R8004
; R8005 !
; R8006 ! Boolean value definitions
; R8007 !
; R8008
; R8009 literal
; R8010 $TRUE = 1 eql 1,
; R8011 $FALSE = 1 eql 0;
; R8012
; R8013
; R8014 ! Semaphore block
; R8015 !
; R8016 ! A semaphore defined by this block is set/reset by
; R8017 ! the macro calls LOCK/UNLOCK.
; R8018 !
; R8019 ! macro: SEMAPHORE_BLOCK Defines a semaphore block
; R8020 ! value: SEMAPHORE_BLOCK_SIZE Defines size of a semaphore block
; R8021
; R8022
; R8023 $field SEMAPHORE_BLOCK_FIELDS =
; R8024 set
; R8025 SEMAPHORE = [$integer] ! Interlock flag
; R8026 tes;
; R8027
; R8028 literal
; R8029 SEMAPHORE_BLOCK_SIZE = $field_set_size;
; R8030
; R8031 macro
; MR8032 SEMAPHORE_BLOCK =
; R8033 block [SEMAPHORE_BLOCK_SIZE] field (SEMAPHORE_BLOCK_FIELDS) %;
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 130
Queue Structure Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (4)
; R8034 %sbttl 'Queue Structure Definitions'
; R8035
; R8036 ! These queue structure definitions are used with the routines contained
; R8037 ! in NMUQUE (Queue Manager).
; R8038 !
; R8039 ! Queue entry definitions
; R8040 !
; R8041 ! macro: Q_ENTRY Defines a queue entry
; R8042 ! value: Q_ENTRY_SIZE Defines size of queue entry header
; R8043
; R8044
; R8045 $field Q_ENTRY_FIELDS =
; R8046 set
; R8047 Q_FORWARD = [$address],
; R8048 Q_REVERSE = [$address],
; R8049 Q_SEMAPHORE = [$sub_block (SEMAPHORE_BLOCK_SIZE)],
; R8050 Q_DATA = [$sub_block (0)]
; R8051 tes;
; R8052
; R8053 literal
; R8054 Q_ENTRY_SIZE = $field_set_size,
; R8055 Q_ENTRY_ALLOCATION = $field_set_units;
; R8056
; R8057 macro
; MR8058 Q_ENTRY =
; R8059 block [Q_ENTRY_SIZE] field (Q_ENTRY_FIELDS) %;
; R8060
; R8061
; R8062 ! Queue header definitions
; R8063 !
; R8064 ! macro: Q_HEADER Defines a queue header
; R8065 ! value: Q_HEADER_SIZE Defines size of queue header
; R8066
; R8067
; R8068 literal
; R8069 Q_HEADER_SIZE = Q_ENTRY_SIZE,
; R8070 Q_HEADER_ALLOCATION = Q_ENTRY_ALLOCATION;
; R8071
; R8072 macro
; MR8073 Q_HEADER =
; R8074 block [Q_HEADER_SIZE] field (Q_ENTRY_FIELDS) %;
; R8075
; R8076
; R8077 ! These tasking definitions are used with the tasking system contained
; R8078 ! in NMUSKD (Scheduler).
; R8079 !
; R8080 ! Event data base definitions
; R8081 !
; R8082 ! macro: EVENT_BLOCK Defines a event block
; R8083 ! value: EVENT_BLOCK_SIZE Defines size of a event block
; R8084
; R8085
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 131
Queue Structure Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (4)
; R8086 $field EVENT_BLOCK_FIELDS =
; R8087 set
; R8088 EB_TASKS = [$address],
; R8089 EB_SEMAPHORE = [$sub_block (SEMAPHORE_BLOCK_SIZE)],
; R8090 EB_NOINT = [$bit]
; R8091 tes;
; R8092
; R8093 literal
; R8094 EVENT_BLOCK_SIZE = $field_set_size,
; R8095 EVENT_BLOCK_ALLOCATION = $field_set_units;
; R8096
; R8097 macro
; MR8098 EVENT_BLOCK =
; R8099 block [EVENT_BLOCK_SIZE] field (EVENT_BLOCK_FIELDS) %;
; R8100
; R8101
; R8102 ! Scheduling queue header definitions
; R8103 !
; R8104 ! macro: SQ_HEADER Defines a queue header block
; R8105 ! value: SQ_HEADER_SIZE Defines size of queue header block
; R8106
; R8107
; R8108 $field SQ_HEADER_FIELDS =
; R8109 set
; R8110 Q_QUEUE = [$sub_block (Q_HEADER_SIZE)],
; R8111 Q_EVENT = [$sub_block (EVENT_BLOCK_SIZE)]
; R8112 tes;
; R8113
; R8114 literal
; R8115 SQ_HEADER_SIZE = $field_set_size,
; R8116 SQ_HEADER_ALLOCATION = $field_set_units;
; R8117
; R8118 macro
; MR8119 SQ_HEADER =
; R8120 block [SQ_HEADER_SIZE] field (SQ_HEADER_FIELDS) %;
; R8121
; R8122
; R8123 ! macro: QQ_HEADER Defines a quota queue header block
; R8124 ! value: QQ_HEADER_SIZE Defines size of quota queue header block
; R8125
; R8126
; R8127 $field QQ_HEADER_FIELDS =
; R8128 set
; R8129 QQ_SQUEUE = [$sub_block (SQ_HEADER_SIZE)],
; R8130 QQ_IEVENT = [$sub_block (EVENT_BLOCK_SIZE)],
; R8131 QQ_QUOTA = [$short_integer],
; R8132 QQ_CURRENT = [$short_integer]
; R8133 tes;
; R8134
; R8135 literal
; R8136 QQ_HEADER_SIZE = $field_set_size,
; R8137 QQ_HEADER_ALLOCATION = $field_set_units;
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 132
Queue Structure Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (4)
; R8138
; R8139 macro
; MR8140 QQ_HEADER =
; R8141 block [QQ_HEADER_SIZE] field (QQ_HEADER_FIELDS) %;
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 133
Tasking Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (5)
; R8142 %sbttl 'Tasking Definitions'
; R8143
; R8144 ! macro: TASK_ERROR
; R8145 !
; R8146 ! This macro signals that the currently running
; R8147 ! task has encountered a fatal error. The supplied
; R8148 ! string is associated with the task crash. The
; R8149 ! system specific recovery procedure is started.
; R8150 !
; R8151 ! TASK_ERROR (ERROR_STRING)
; R8152 !
; R8153 ! where ERROR_STRING is either a pointer to a string
; R8154 ! or a literal message string as for %STRING.
; R8155
; R8156
; R8157 macro
; MR8158 TASK_ERROR [] =
; MR8159 begin
; MR8160 %if $MCB
; MR8161 %then external routine NMU$SCHED_COMPLETE;
; MR8162 NMU$SCHED_COMPLETE ();
; MR8163 %else external routine NMU$SCHED_ERROR;
; MR8164 NMU$SCHED_ERROR (%if %isstring (%remove (%remaining))
; MR8165 %then ch$asciz (%remaining)
; MR8166 %else %remaining
; MR8167 %fi);
; MR8168 %fi
; R8169 end %;
; R8170
; R8171
; R8172 ! macro: TASK_INFO
; R8173 !
; R8174 ! This macro is used by a task that wishes to
; R8175 ! output an informational message. Hopefully
; R8176 ! to an operators console, log, or controlling
; R8177 ! terminal.
; R8178 !
; R8179 ! TASK_INFO (INFO_MESSAGE)
; R8180 !
; R8181 ! where INFO_MESSAGE is either a pointer to a string
; R8182 ! or a literal message string as for %STRING.
; R8183
; R8184
; R8185 macro
; MR8186 TASK_INFO [] =
; MR8187 %if not $MCB
; MR8188 %then begin
; MR8189 external routine SS_MESSAGE; ! System specific routine
; MR8190
; MR8191 %if %isstring (%remove (%remaining))
; MR8192 %then SS_MESSAGE (ch$asciz (%remaining))
; MR8193 %else SS_MESSAGE (%remaining)
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 134
Tasking Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (5)
; MR8194 %fi
; MR8195 end
; R8196 %fi %;
; R8197
; R8198
; R8199 ! macro: PROGRAM_ERROR
; R8200 !
; R8201 ! This macro is used when a unrecoverable error
; R8202 ! has been detected in the multi-tasking environment.
; R8203 !
; R8204 ! PROGRAM_ERROR (INFO_MESSAGE)
; R8205 !
; R8206 ! where INFO_MESSAGE is either a pointer to a string
; R8207 ! or a literal message string as for %STRING.
; R8208
; R8209
; R8210 macro
; MR8211 PROGRAM_ERROR [] =
; MR8212 %if not $MCB
; MR8213 %then begin
; MR8214 external routine SS_MESSAGE; ! System specific routine
; MR8215 DECLARE_JSYS (HALTF);
; MR8216
; MR8217 SS_MESSAGE (ch$asciz ('?FATAL PROGRAM ERROR: '));
; MR8218 %if %isstring (%remove (%remaining))
; MR8219 %then SS_MESSAGE (ch$asciz (%remaining));
; MR8220 %else SS_MESSAGE (%remaining);
; MR8221 %fi
; MR8222 while $true do $$HALTF (); ! HALTF for KL
; MR8223 end
; MR8224 %else begin
; MR8225 external routine NMU$FA; ! System specific routine
; MR8226 NMU$FA (); ! Execute IOT for MCB
; MR8227 end
; R8228 %fi %;
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 135
Network Logical Link Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (6)
; R8229 %sbttl 'Network Logical Link Definitions'
; R8230
; R8231 ! These definitions are used with the task to task logical link
; R8232 ! interface contained in NMUNET (Network Interface).
; R8233 !
; R8234 ! Connect block definition
; R8235
; R8236
; R8237 $field CONNECT_BLOCK_FIELDS =
; R8238 set
; R8239 !
; R8240 ! Fields common to source and target links
; R8241 !
; R8242 CB_HOST = [$pointer], ! Host name
; R8243 CB_HOST_LENGTH = [$integer],
; R8244 CB_OBJECT = [$integer], ! DECnet object type code
; R8245 CB_TASK = [$pointer], ! Task name
; R8246 CB_TASK_LENGTH = [$integer],
; R8247 !
; R8248 ! Access control info
; R8249 ! supplied on source links
; R8250 ! returned on target links
; R8251 !
; R8252 CB_USERID = [$pointer], ! User id
; R8253 CB_USERID_LENGTH = [$integer],
; R8254 CB_DATA = [$pointer], ! Optional data
; R8255 CB_DATA_LENGTH = [$integer],
; R8256 CB_ACCOUNT = [$pointer], ! Account
; R8257 CB_ACCOUNT_LENGTH = [$integer],
; R8258 CB_PASSWORD = [$pointer], ! Password
; R8259 CB_PASSWORD_LENGTH = [$integer],
; R8260 !
; R8261 ! Fields for source links only
; R8262 !
; R8263 CB_DESCRIPTOR = [$pointer], ! Object descriptor
; R8264 CB_DESCRIPTOR_LENGTH = [$integer],
; R8265 CB_REJECT_CODE = [$integer], ! Reject code
; R8266 !
; R8267 ! Fields for target links only
; R8268 !
; R8269 CB_HOST_BUFFER = [$bytes (9)], ! Host id at other end of link
; R8270 $align (fullword)
; R8271 CB_TASK_BUFFER = [$bytes(17)],
; R8272 $align (fullword)
; R8273 CB_USERID_BUFFER = [$bytes (17)],
; R8274 $align (fullword)
; R8275 CB_PASSWORD_BUFFER = [$bytes (17)],
; R8276 $align (fullword)
; R8277 CB_ACCOUNT_BUFFER = [$bytes (17)],
; R8278 $align (fullword)
; R8279 CB_DESCRIPTOR_BUFFER = [$bytes (17)],
; R8280 !
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 136
Network Logical Link Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (6)
; R8281 ! Connect data buffer
; R8282 !
; R8283 $align (fullword)
; R8284 CB_DATA_BUFFER = [$bytes (17)]
; R8285 tes;
; R8286
; R8287 literal
; R8288 CONNECT_BLOCK_SIZE = $field_set_size,
; R8289 CONNECT_BLOCK_ALLOCATION = $field_set_units;
; R8290
; R8291 macro
; MR8292 CONNECT_BLOCK =
; R8293 block [CONNECT_BLOCK_SIZE] field (CONNECT_BLOCK_FIELDS) %;
; R8294
; R8295 $literal
; R8296 TARGET_LINK = 1, ! Code for target link (passive)
; R8297 SOURCE_LINK = 2; ! Code for source link (active)
; R8298
; R8299 !
; R8300 ! Link status block
; R8301 !
; R8302
; R8303 $field LINK_STATUS_BLOCK_FIELDS =
; R8304 set
; R8305 LSB_FLAGS = [$bits (9)], ! Link status bits
; R8306 $overlay (LSB_FLAGS)
; R8307 LSB_PREV_CONNECT = [$bit], ! Link was previously connected
; R8308 LSB_INTERRUPT = [$bit], ! Link has interrupt data waiting
; R8309 LSB_CLOSED = [$bit], ! Link has been closed normally
; R8310 LSB_ABORTED = [$bit], ! Link has been aborted
; R8311 LSB_EOM = [$bit], ! Link has full message to read
; R8312 LSB_CCWAIT = [$bit], ! Link is waiting for connect confirm
; R8313 LSB_CIWAIT = [$bit], ! Link is waiting for connect
; R8314 LSB_SERVER = [$bit], ! Link is a server
; R8315 LSB_CONNECTED = [$bit], ! Link is connected flag
; R8316 $continue
; R8317 LSB_REASON = [$byte] ! Link abort reason
; R8318 tes;
; R8319
; R8320 literal
; R8321 LINK_STATUS_BLOCK_SIZE = $field_set_size,
; R8322 LINK_STATUS_BLOCK_ALLOCATION = $field_set_units;
; R8323
; R8324 macro
; MR8325 LINK_STATUS_BLOCK =
; R8326 block [LINK_STATUS_BLOCK_SIZE] field (LINK_STATUS_BLOCK_FIELDS) %;
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 137
Text Processing Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (7)
; R8327 %sbttl 'Text Processing Definitions'
; R8328
; R8329 !
; R8330 ! Provide interface to NMU text facility.
; R8331 !
; R8332
; R8333
; R8334 ! $NMU$TEXT (DPTR, N, PPTR {,ARG}...)
; R8335 !
; R8336 ! Interpret DPTR as a pointer to a destination string. Interpret
; R8337 ! N as a value which represents the length of the destination
; R8338 ! string. Interpret PPTR as a character sequence pointer to an
; R8339 ! ASCIZ string pattern format string. Interpret ARG as zero or
; R8340 ! more arguments to be used as specified by the pattern format
; R8341 ! string.
; R8342 !
; R8343
; R8344 macro
; MR8345 $NMU$TEXT (DST, DST_SIZE, PAT) =
; MR8346 begin
; MR8347 %if not %null(%remaining)
; MR8348 %then local ARGLIST: vector[%length-3];
; MR8349 $$TEXT_ARG (ARGLIST,%remaining);
; MR8350 %fi
; MR8351
; MR8352 NMU$TEXT (DST,
; MR8353 DST_SIZE,
; MR8354 %if %isstring (%remove(PAT))
; MR8355 %then CH$ASCIZ(%remove(PAT))
; MR8356 %else PAT %fi,
; MR8357 (%length-3),
; MR8358 %if not %null(%remaining)
; MR8359 %then ARGLIST
; MR8360 %else 0
; MR8361 %fi)
; R8362 end %;
; R8363
; R8364 ! Inner macro to process argument list for $NMU$TEXT
; R8365
; R8366 macro
; MR8367 $$TEXT_ARG (VNAME) [ARG] =
; R8368 VNAME[%count] = ARG %;
; R8369
; R8370 !
; R8371 ! Text state block
; R8372 !
; R8373
; R8374 $field TEXT_BLOCK_FIELDS =
; R8375 set
; R8376 STATE = [$integer], ! Current state of pattern parser
; R8377 PARAMETER_LIST = [$address], ! Start of parameter list
; R8378 PARAMETER_NEXT = [$address], ! Next parameter to use
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 138
Text Processing Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (7)
; R8379 PARAMETER_COUNT = [$integer], ! Number of parameters left on list
; R8380 PATTERN_START = [$pointer], ! Start of pattern
; R8381 PATTERN_PTR = [$pointer], ! Current pointer into pattern
; R8382 PATTERN_CHECKPOINT = [$pointer], ! Checkpoint into pattern
; R8383 OUTPUT_ROUTINE = [$address], ! Character output routine
; R8384 OUTPUT_START = [$pointer], ! Pointer to start of output
; R8385 OUTPUT_PTR = [$pointer], ! Current pointer into output
; R8386 OUTPUT_CHECKPOINT = [$integer], ! Checkpoint into output
; R8387 OUTPUT_COUNT = [$integer], ! Characters already output
; R8388 OUTPUT_MAX = [$integer], ! Maximum characters for output
; R8389 OUTPUT_POSITION = [$integer], ! Horizontal position on line
; R8390 FIELD_COUNT = [$integer], ! Characters already output to field
; R8391 FIELD_WIDTH = [$integer], ! Max characters for field
; R8392 FIELD_JUSTIFY = [$integer], ! Justification type for field
; R8393 FIELD_REPEAT = [$integer], ! Number of times to repeat field
; R8394 FIELD_RADIX = [$integer], ! Radix for a numeric field
; R8395 FIELD_DEFAULT = [$bit], ! Repeat default flag
; R8396 FIELD_NOWIDTH = [$bit], ! No width field given
; R8397 FIELD_SIGNED = [$bit], ! Field is a signed value
; R8398 FIELD_ZERO_SUPPRESS = [$bit], ! Suppress leading zeros
; R8399 FIELD_OVERFLOW = [$bit], ! Field overflowed width
; R8400 NULL_SUPPRESS = [$bit] ! Suppress "free" null at end
; R8401 tes;
; R8402
; R8403 literal
; R8404 TEXT_BLOCK_SIZE = $field_set_size,
; R8405 TEXT_BLOCK_ALLOCATION = $field_set_units;
; R8406
; R8407 macro
; MR8408 TEXT_STATE_BLOCK =
; R8409 block [TEXT_BLOCK_SIZE] field (TEXT_BLOCK_FIELDS) %;
; R8410
; R8411 literal ! Values for TEXT_STATE_BLOCK [STATE]
; R8412 TEXT_COPY = 1, ! Copying from pattern to output
; R8413 DIRECTIVE_START = 2, ! Start of directive seen
; R8414 REPT_PARM = 3, ! Field repeat set from parameter list
; R8415 REPT_VALUE = 4, ! Field repeat accumulated from pattern
; R8416 WIDTH_START = 5, ! Start of width field seen
; R8417 WIDTH_PARM = 6, ! Width set from parameter list
; R8418 WIDTH_VALUE = 7, ! Width accumulated from pattern
; R8419 JUSTIFY_FIELD = 8, ! Field justify character seen
; R8420 WIDTH_END = 9, ! End of width field seen
; R8421 DONE = 10, ! Interpretation successfull completion
; R8422 ABORT = 11, ! Unprocessable directive
; R8423 BUFFER_OVERFLOW = 12; ! Output buffer overflow
; R8424
; R8425 literal
; R8426 STATE_MIN = TEXT_COPY, ! Minimum state value
; R8427 STATE_MAX = WIDTH_END; ! Maximum state value
; R8428
; R8429 literal ! Values for TEXT_STATE_BLOCK [FIELD_JUSTIFY]
; R8430 NO_FILL = 1, ! No justify and no fill
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 139
Text Processing Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (7)
; R8431 LEFT_JUSTIFY = 2, ! Left justify and fill on right
; R8432 RIGHT_JUSTIFY = 3, ! Right justify and left fill
; R8433 CENTER_FILL = 4; ! Center and fill both ends
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 140
Direct Line Access Definitions 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (8)
; R8434 %sbttl 'Direct Line Access Definitions'
; R8435
; R8436 literal ! DLX open reasons
; R8437 DLX_LOAD = 1, ! Loading
; R8438 DLX_DUMP = 2, ! Dumping
; R8439 DLX_LOOP = 3, ! Loop back test
; R8440 DLX_OTHER = 4, ! What ever
; R8441
; R8442 ! DLX read/write reasons
; R8443 DLX_SECONDARY = 5, ! Secondary bootstrap
; R8444 DLX_DATA = 6; ! MOP data message
; R8445
; R8446 !
; R8447 ! File system definitions
; R8448 !
; R8449
; R8450 literal ! File types
; R8451 FILE_PERMANENT_DATA_BASE = 0,
; R8452 FILE_SYSTEM_IMAGE = 1,
; R8453 FILE_DUMP_IMAGE = 2,
; R8454 FILE_SECONDARY_LOADER = 3,
; R8455 FILE_TERTIARY_LOADER = 4,
; R8456 FILE_SECONDARY_DUMPER = 5,
; R8457 MAX_FILE_TYPE = 5;
; R8458
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 141
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; R8459 %sbttl 'Global Name Mappings'
; R8460
; R8461 !
; R8462 ! Queue manager (NMUQUE)
; R8463 !
; R8464
; R8465 macro
; R8466 NMU$QUEUE_RESET = UQ_RESET %,
; R8467 NMU$QUEUE_INSERT = UQ_INSERT %,
; R8468 NMU$QUEUE_REMOVE = UQ_REMOVE %,
; R8469 NMU$QUEUE_EXTRACT = UQ_EXTRACT %,
; R8470 NMU$QUEUE_LENGTH = UQ_LENGTH %,
; R8471 NMU$QUEUE_SCAN = UQ_SCAN %,
; R8472 NMU$QUEUE_SCAN_EXTRACT = UQ_SEXTRACT %,
; R8473
; MR8474 NMU$QUEUE_MANAGER =
; MR8475 NMU$QUEUE_RESET : novalue, ! Reset a queue to null
; MR8476 NMU$QUEUE_INSERT, ! Insert an entry to queue end
; MR8477 NMU$QUEUE_REMOVE, ! Remove an entry from front of queue
; MR8478 NMU$QUEUE_EXTRACT, ! Remove specific entry from queue
; MR8479 NMU$QUEUE_LENGTH, ! Return the length of queue
; MR8480 NMU$QUEUE_SCAN, ! Operate on queue sequentially
; MR8481 NMU$QUEUE_SCAN_EXTRACT : novalue ! Extract entry while scanning
; R8482 %;
; R8483
; R8484 !
; R8485 ! Memory Manager (NMUMEM)
; R8486 !
; R8487
; R8488 macro
; R8489 NMU$MEMORY_RESET = UM_RESET %,
; R8490 NMU$MEMORY_GET = UM_GET %,
; R8491 NMU$MEMORY_RELEASE = UM_RELEASE %,
; R8492 NMU$MEMORY_INITIALIZE = UM_INITIALIZE %,
; R8493
; MR8494 NMU$MEMORY_MANAGER =
; MR8495 NMU$MEMORY_RESET : novalue, ! Reset free pool to empty
; MR8496 NMU$MEMORY_INITIALIZE : novalue, ! Add memory to free pool
; MR8497 NMU$MEMORY_GET, ! Get block from free pool
; MR8498 NMU$MEMORY_RELEASE : novalue ! Release block to free pool
; R8499 %;
; R8500
; R8501 !
; R8502 ! Page allocator (NMUPAG)
; R8503 !
; R8504
; R8505 macro
; R8506 NMU$PAGE_INITIALIZE = UMP_INIT %,
; R8507 NMU$PAGE_GET = UMP_GET %,
; R8508 NMU$PAGE_RELEASE = UMP_RELEASE %,
; R8509
; MR8510 NMU$PAGE_ALLOCATOR =
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 142
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; MR8511 NMU$PAGE_INITIALIZE : novalue, ! Reset page allocator
; MR8512 NMU$PAGE_GET, ! Allocate a page
; MR8513 NMU$PAGE_RELEASE : novalue ! Release an allocated page
; R8514 %;
; R8515
; R8516 !
; R8517 ! Scheduler (NMUSKD)
; R8518 !
; R8519
; R8520 macro
; R8521 NMU$SQUEUE_INSERT = US_INSERT %,
; R8522 NMU$SQUEUE_REMOVE = US_REMOVE %,
; R8523 NMU$SQUEUE_RESET = US_QRESET %,
; R8524 NMU$QQUEUE_INSERT = US_QQINS %,
; R8525 NMU$QQUEUE_REMOVE = US_QQREM %,
; R8526 NMU$QQUEUE_RESET = US_QQSET %,
; R8527 NMU$QQUEUE_EXTRACT = US_QQEXT %,
; R8528 NMU$SCHED_EVENT = US_EVENT %,
; R8529 NMU$SCHED_WAIT = US_WAIT %,
; R8530 NMU$SCHED_FLAG = US_FLAG %,
; R8531 NMU$SCHED_CREATE = US_CREATE %,
; R8532 NMU$SCHED_ABORT = US_ABORT %,
; R8533 NMU$SCHED_FINI = US_FINI %,
; R8534 NMU$SCHED_SLEEP = US_SLEEP %,
; R8535 NMU$SCHED_CURRENT = US_CURRENT %,
; R8536 NMU$SCHED_DESCHEDULE = US_DESCHEDULE %,
; R8537 NMU$SCHED_COMPLETE = US_COMPLETE %,
; R8538 NMU$SCHED_ERROR = US_ERROR %,
; R8539
; MR8540 NMU$SCHED_MANAGER =
; MR8541 NMU$SCHED_CREATE, ! Create a new task
; MR8542 NMU$SCHED_ABORT : novalue, ! Abort a task
; MR8543 NMU$SCHED_FINI : novalue, ! Finish a task's execution
; MR8544 NMU$SCHED_COMPLETE : novalue, ! Complete a task's execution
; MR8545 NMU$SCHED_ERROR : novalue, ! Print an error message, complete task
; MR8546 NMU$SQUEUE_INSERT : novalue, ! Insert entry in a scheduling queue
; MR8547 NMU$SQUEUE_REMOVE, ! Remove an entry, blocking if needed
; MR8548 NMU$SQUEUE_RESET : novalue, ! Reset a scheduling type queue
; MR8549 NMU$QQUEUE_INSERT : novalue, ! Insert entry in a quota queue
; MR8550 NMU$QQUEUE_REMOVE, ! Remove a quota queue entry, blocking if needed
; MR8551 NMU$QQUEUE_RESET : novalue, ! Reset a quota type queue
; MR8552 NMU$QQUEUE_EXTRACT, ! Extract entry from quota type queue
; MR8553 NMU$SCHED_EVENT : novalue, ! Reset a event block
; MR8554 NMU$SCHED_WAIT, ! Wait for any event
; MR8555 NMU$SCHED_FLAG : novalue, ! Flag event occurance
; MR8556 NMU$SCHED_SLEEP : novalue, ! Put task to sleep for specified time
; MR8557 NMU$SCHED_CURRENT, ! Return current task block address
; MR8558 NMU$SCHED_DESCHEDULE : novalue ! Task descheduler
; R8559 %;
; R8560
; R8561 !
; R8562 ! IPCF Manager (NMUIPC)
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 143
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; R8563 !
; R8564
; R8565 macro
; R8566 NMU$IPCF_INITIALIZE = UI_INIT %,
; R8567 NMU$IPCF_FIND_PID = UI_FIND %,
; R8568 NMU$IPCF_INFO = UI_INFO %,
; R8569 NMU$IPCF_ORION = UI_ORION %,
; R8570 NMU$IPCF_CREATE = UI_CREATE %,
; R8571 NMU$IPCF_DESTROY = UI_DESTROY %,
; R8572 NMU$IPCF_ALLOW = UI_ALLOW %,
; R8573 NMU$IPCF_DISALLOW = UI_DISALLOW %,
; R8574 NMU$IPCF_TRANSMIT = UI_TRANSMIT %,
; R8575 NMU$IPCF_RECEIVE = UI_RECEIVE %,
; R8576 NMU$IPCF_MAP_ID = UI_MAP %,
; R8577
; MR8578 NMU$IPCF_MANAGER =
; MR8579 NMU$IPCF_INITIALIZE : novalue, ! Initialize the IPCF system
; MR8580 NMU$IPCF_FIND_PID, ! Return of PID of given name
; MR8581 NMU$IPCF_INFO, ! Return PID of [SYSTEM]INFO
; MR8582 NMU$IPCF_ORION, ! Return PID of ORION
; MR8583 NMU$IPCF_CREATE, ! Make a pid for this process
; MR8584 NMU$IPCF_DESTROY, ! Destroy pid and data bases
; MR8585 NMU$IPCF_ALLOW, ! Allow pid to send to us
; MR8586 NMU$IPCF_DISALLOW, ! Disallow pid from sending to us
; MR8587 NMU$IPCF_TRANSMIT, ! Transmit a message
; MR8588 NMU$IPCF_RECEIVE, ! Receive a message
; MR8589 NMU$IPCF_MAP_ID ! Map a NMU$IPCF id to a IPCF PID
; R8590 %;
; R8591
; R8592 !
; R8593 ! Network logical link interface (NMUNET)
; R8594 !
; R8595
; R8596 macro
; R8597 NMU$NETWORK_INITIALIZE = UN_INIT %,
; R8598 NMU$NETWORK_LOCAL = UN_LOCAL %,
; R8599 NMU$NETWORK_OPEN = UN_OPEN%,
; R8600 NMU$NETWORK_ACCEPT = UN_ACCEPT %,
; R8601 NMU$NETWORK_REJECT = UN_REJECT %,
; R8602 NMU$NETWORK_READ = UN_READ %,
; R8603 NMU$NETWORK_WRITE = UN_WRITE %,
; R8604 NMU$NETWORK_ABORT = UN_ABORT %,
; R8605 NMU$NETWORK_CLOSE = UN_CLOSE %,
; R8606 NMU$NETWORK_STATUS = UN_STATUS %,
; R8607 NMU$NETWORK_VALIDATE = UN_VALIDATE %;
; R8608
; R8609 macro
; MR8610 NMU$NETWORK_UTILITIES =
; MR8611 NMU$NETWORK_INITIALIZE : novalue, ! Initialize network interface
; MR8612 NMU$NETWORK_LOCAL, ! Get pointer to local node id
; MR8613 NMU$NETWORK_OPEN, ! Open a logical link
; MR8614 NMU$NETWORK_ACCEPT, ! Accept an incoming connection on link
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 144
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; MR8615 NMU$NETWORK_REJECT, ! Reject incoming connection
; MR8616 NMU$NETWORK_READ, ! Read data from link
; MR8617 NMU$NETWORK_WRITE, ! Write data to link
; MR8618 NMU$NETWORK_ABORT, ! Abort link
; MR8619 NMU$NETWORK_CLOSE, ! Close link normally
; MR8620 NMU$NETWORK_STATUS, ! Read link's status
; MR8621 NMU$NETWORK_VALIDATE ! Validate system specific access info
; R8622 %;
; R8623
; R8624 !
; R8625 ! File system interface (NMUFIL)
; R8626 !
; R8627
; R8628 macro
; R8629 NMU$FILE_INITIALIZE = UF_INI %,
; R8630 NMU$FILE_OPEN = UF_OPEN %,
; R8631 NMU$FILE_READ = UF_READ %,
; R8632 NMU$FILE_WRITE = UF_WRITE %,
; R8633 NMU$FILE_SKIP = UF_SKIP %,
; R8634 NMU$FILE_SEEK = UF_SEEK %,
; R8635 NMU$FILE_CLOSE = UF_CLOSE %,
; R8636
; MR8637 NMU$FILE_ROUTINES =
; MR8638 NMU$FILE_OPEN, ! Open file
; MR8639 NMU$FILE_READ, ! Read record from file
; MR8640 NMU$FILE_WRITE, ! Write record to file
; MR8641 NMU$FILE_SKIP, ! Skip over bytes in a file
; MR8642 NMU$FILE_SEEK, ! Seek to specified byte in file
; MR8643 NMU$FILE_CLOSE ! Close file
; R8644 %;
; R8645
; R8646 !
; R8647 ! Table data base manager (NMUTBL)
; R8648 !
; R8649
; R8650 macro
; R8651 NMU$TABLE_CLEAR = UT_CLEAR %,
; R8652 NMU$TABLE_INSERT = UT_INSERT %,
; R8653 NMU$TABLE_FETCH = UT_FETCH %,
; R8654 NMU$TABLE_DELETE = UT_DELETE %,
; R8655 NMU$TABLE_CHANGE = UT_CHANGE %,
; R8656 NMU$TABLE_MAX = UT_MAX %,
; R8657
; MR8658 NMU$TABLE_ROUTINES =
; MR8659 NMU$TABLE_CLEAR : novalue, ! Clear a table
; MR8660 NMU$TABLE_INSERT, ! Insert entry into table
; MR8661 NMU$TABLE_FETCH, ! Fetch value from table
; MR8662 NMU$TABLE_DELETE, ! Delete entry from table
; MR8663 NMU$TABLE_CHANGE, ! Change entry value
; MR8664 NMU$TABLE_MAX ! Maximum table index
; R8665 %;
; R8666
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 145
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; R8667 !
; R8668 ! Direct line access routines (NMUDLX)
; R8669 !
; R8670
; R8671 literal
; R8672 NMU$K_MOP_RETRY_LIMIT = 5; ! MOP retransmit limit
; R8673
; R8674 macro
; MR8675 $NMU_DLX_OPEN (USAGE, CIRCUIT_ID, RSP_PTR) =
; MR8676 begin
; MR8677 external routine NMU$DLX_OPEN;
; MR8678 NMU$DLX_OPEN (USAGE, CIRCUIT_ID, RSP_PTR)
; R8679 end %,
; LR8680 %if $MCB
; R8681 %then
; MR8682 $NMU_DLX_READ (ID, USAGE, PTR, CNT, TIMEOUT, RSP_PTR) =
; MR8683 begin
; MR8684 external routine NMU$DLX_TIMED_READ;
; MR8685 NMU$DLX_TIMED_READ (ID, USAGE, PTR, CNT, TIMEOUT + 0, RSP_PTR)
; R8686 end %,
; UR8687 %else
; UR8688 $NMU_DLX_READ (ID, USAGE, PTR, CNT, TIMEOUT, RSP_PTR) =
; UR8689 begin
; UR8690 external routine NMU$DLX_READ;
; UR8691 NMU$DLX_READ (ID, USAGE, PTR, CNT, RSP_PTR)
; UR8692 end %,
; R8693 %fi
; MR8694 $NMU_DLX_WRITE (ID, USAGE, PTR, CNT, RSP_PTR) =
; MR8695 begin
; MR8696 external routine NMU$DLX_WRITE;
; MR8697 NMU$DLX_WRITE (ID, USAGE, PTR, CNT, RSP_PTR)
; R8698 end %,
; MR8699 $NMU_DLX_TYPE (ID) =
; MR8700 begin
; MR8701 external routine NMU$DLX_TYPE;
; MR8702 NMU$DLX_TYPE (ID)
; R8703 end %,
; MR8704 $NMU_DLX_INITIALIZE (ID, RSP_PTR) =
; MR8705 begin
; MR8706 external routine NMU$DLX_INITIALIZE;
; MR8707 NMU$DLX_INITIALIZE (ID, RSP_PTR)
; R8708 end %,
; MR8709 $NMU_DLX_CLOSE (ID) =
; MR8710 begin
; MR8711 external routine NMU$DLX_CLOSE;
; MR8712 NMU$DLX_CLOSE (ID)
; R8713 end %;
; R8714
; R8715 macro
; R8716 NMU$DLX_CLOSE = UD_CLOSE %,
; R8717 NMU$DLX_INITIALIZE = UD_INIT %,
; R8718 NMU$DLX_KNOWN_DEVICE = UD_CHK %,
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 146
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; R8719 NMU$DLX_OPEN = UD_OPEN %,
; R8720 NMU$DLX_READ = UD_READ %,
; R8721 NMU$DLX_RETURN_CIRCUITS = UD_RET %,
; R8722 NMU$DLX_TIMED_READ = UD_TREAD %,
; R8723 NMU$DLX_TYPE = UD_TYPE %,
; R8724 NMU$DLX_WRITE = UD_WRITE %,
; R8725
; MR8726 NMU$DLX_ROUTINES =
; MR8727 NMU$DLX_OPEN, ! Open link
; MR8728 NMU$DLX_READ, ! Read MOP message on link
; MR8729 NMU$DLX_WRITE, ! Write MOP message on link
; MR8730 NMU$DLX_TYPE, ! Returns circuit MOP device type
; MR8731 NMU$DLX_INITIALIZE, ! Initialize protocol on link
; MR8732 NMU$DLX_CLOSE ! Close link
; R8733 %;
; R8734
; R8735 !
; R8736 ! NMX access routines (NMUMCB)
; R8737 !
; R8738
; R8739 macro
; MR8740 $NMU_NMX_READ_EVENT (BUF_PTR, BUF_LEN) =
; MR8741 begin
; MR8742 external routine NMU$NMX_IO;
; MR8743 NMU$NMX_IO (IO$RLB + 0, BUF_PTR, BUF_LEN)
; R8744 end %,
; MR8745 $NMU_NMX_READ_COMMAND (BUF_PTR, BUF_LEN) =
; MR8746 begin
; MR8747 external routine NMU$NMX_IO;
; MR8748 NMU$NMX_IO (IO$RLB + 1, BUF_PTR, BUF_LEN)
; R8749 end %,
; MR8750 $NMU_NMX_RESPOND_COMMAND (BUF_PTR, BUF_LEN) =
; MR8751 begin
; MR8752 external routine NMU$NMX_IO;
; MR8753 NMU$NMX_IO (IO$WLB + 1, BUF_PTR, BUF_LEN)
; R8754 end %;
; R8755
; R8756 macro
; R8757 NMU$NMX_IO = SS$NMX %;
; R8758
; R8759 !
; R8760 ! Interrupt manager (NMUINT)
; R8761 !
; R8762
; R8763 macro
; R8764 NMU$INTERRUPT_INITIALIZE = UX_INIT %;
; R8765
; R8766 !
; R8767 ! Utility routines (NMUUTL)
; R8768 !
; R8769
; R8770 macro
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 147
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (9)
; R8771 NMU$UTILITY_BUFFER_TEXT = UU_FBT %;
; R8772
; R8773 !
; R8774 ! TEXT processing (NMUTXT)
; R8775 !
; R8776
; R8777 macro
; R8778 NMU$TEXT = UT_TEXT %,
; R8779
; MR8780 NMU$TEXT_MANAGER =
; MR8781 NMU$TEXT ! Directive driven text formatting
; R8782 %;
NMUCOM -- Network Management Utilities Common D 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 148
Global Name Mappings 3-Jan-1983 03:13:34 DNET61:<MCB.NML>NMUCOM.REQ.1 (10)
; R8783
; R8784 %title ''
; R8785 %sbttl ''
; R8786
; R8787 !
; R8788 ! [End of NMUCOM.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 149
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 8789
; 8790 require 'NMLCOM'; ! NML common definitions
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 150
3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (1)
; R8791 ! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.2 22-Jun-82 11:52:42, Edit by PECKHAM
; R8792 !
; R8793 ! Add request block privledge bits.
; R8794 !
; R8795 ! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 8-Jun-82 10:56:11, Edit by BRANDT
; R8796 !
; R8797 ! Transfer definitions of NODE_ID buffers from NML.REQ to NMLCOM.REQ.
; R8798 !
; R8799 ! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 9-Jun-82 14:55:53, Edit by BRANDT
; R8800 !
; R8801 ! Add RB_NICE_ENTITY_ADR field to contain the address of memory
; R8802 ! allocated to contain the full node_id
; R8803 !
; R8804 ! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.3 4-Jun-82 17:01:36, Edit by PECKHAM
; R8805 !
; R8806 ! Add synonyms NML$CLEARABLE and NML$READ_ONLY.
; R8807 !
; R8808 ! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 10-May-82 9:55:53, Edit by BRANDT
; R8809 !
; R8810 ! Make RB_RESPONSE_DATA field a "tiny integer"
; R8811 !
; R8812 ! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.2 4-May-82 14:40:35, Edit by BRANDT
; R8813 !
; R8814 ! Include RB_RESPONSE_DATA field to be set non-zero during response msg
; R8815 ! processing if any response data is returned for this request.
; R8816 !
; R8817 ! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.2 27-Apr-82 13:40:35, Edit by PECKHAM
; R8818 !
; R8819 ! Include NML$DLW_* synonyms
; R8820 !
; R8821 ! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.3 22-Apr-82 08:23:16, Edit by PECKHAM
; R8822 !
; R8823 ! Change FT_ switch naming to NML$CFG_.
; R8824 !
; R8825 ! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.3 29-Mar-82 10:21:37, Edit by VOBA
; R8826 !
; R8827 ! Move $NML$TEXT macro over from NMARCH.REQ.
; R8828 !
; R8829 ! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.21 23-Mar-82 13:50:40, Edit by PECKHAM
; R8830 !
; R8831 ! Enlarge Raw Event Block to include room for processed info.
; R8832 ! Add event queue and event buffer definitions.
; R8833 ! Change event logging global name mappings.
; R8834 ! Add configuration switches.
; R8835 !
; R8836 ! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.3 18-Feb-82 17:22:49, Edit by VOBA
; R8837 !
; R8838 ! Clean up code and update copyright date.
; R8839 !
; R8840 ! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.5 17-Feb-82 15:08:29, Edit by VOBA
; R8841 !
; R8842 ! Add global synonym NL_PLU for NML$PARAMETER_LOOKUP.
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 151
3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (1)
; R8843 !
; R8844 ! NET:<GROSSMAN.NML-SOURCES>NMLCOM.REQ.3 9-Feb-82 16:25:31, Edit by GROSSMAN
; R8845 !
; R8846 ! Add global synonym for NML$COUNTER_TIMER_TASK
; R8847 !
; R8848 ! NET:<BRANDT.DEVELOP>NMLCOM.REQ.1 19-Jan-82 10:20:48, Edit by BRANDT
; R8849 !
; R8850 ! Add NML$REQUEST_TERMINATE to NML$REQUEST_MANAGER macro
; R8851 !
; R8852 ! NET:<GROSSMAN>NMLCOM.REQ.4 18-Jan-82 20:20:48, Edit by GROSSMAN
; R8853 !
; R8854 ! Add synonyms for the NMLCTT entry points.
; R8855 !
; R8856 ! NET:<DECNET20-V3P0.CEX>NMLCOM.REQ.3 15-Jan-82 16:31:49, Edit by PECKHAM
; R8857 !
; R8858 ! Add REB structure for raw event logging
; R8859 !
; R8860 ! NET:<VOBA.NML>NMLCOM.REQ.2 12-Jan-82 14:14:03, Edit by VOBA
; R8861 !
; R8862 ! Add sub-entity type field for the MODULE entity in the NICE Request Block.
; R8863 !
; R8864 ! NET:<DECNET20-V3P1.NMU.LIBRARY>NMLCOM.REQ.2 30-Jun-81 09:59:49, Edit by GUNN
; R8865 !
; R8866 ! Add name for NML$CLR_VDB_PARAMETER.
; R8867 !
; R8868 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLCOM.REQ.22 25-Jun-81 09:45:26, Edit by JENNESS
; R8869 !
; R8870 ! Add name for NML$SET_VDB_PARAMETER.
; R8871 !
; R8872 ! NET:<DECNET20-V3P1.NMU>NMLCOM.REQ.2 15-Jun-81 14:39:02, Edit by JENNESS
; R8873 !
; R8874 ! Readability improvements. Remove $literal/$distinct ... easier to
; R8875 ! figure out literal values during debugging.
; R8876 !
; R8877 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLCOM.REQ.17 4-Jun-81 08:31:32, Edit by SROBINSON
; R8878 !
; R8879 ! Modify NML$REQUEST_MANAGER to not have routines not there in $MCB
; R8880 !
; R8881 ! NET:<DECNET20-V3P1.NMU>NMLCOM.REQ.2 28-May-81 14:10:36, Edit by JENNESS
; R8882 !
; R8883 ! Move LOAD_DATA_BLOCK, DUMP_DATA_BLOCK and TRIGGER_DATA_BLOCK into
; R8884 ! NMLDTL.BLI (where they are used exclusively).
; R8885 !
; R8886 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.10 16-Apr-81 11:11:26, Edit by GUNN
; R8887 !
; R8888 ! Add global routine NML$CODED_TEXT in NMLPRM.
; R8889 !
; R8890 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.9 8-Apr-81 15:50:10, Edit by JENNESS
; R8891 !
; R8892 ! Add fields to LB (load data) block to ease parameter passing in
; R8893 ! load/dump routines.
; R8894 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 152
3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (1)
; R8895 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.7 7-Apr-81 08:28:45, Edit by GUNN
; R8896 !
; R8897 ! Add comments to block structure definitions in order that they may
; R8898 ! be located by the XDUMP utility.
; R8899 !
; R8900 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.6 3-Apr-81 13:44:06, Edit by GUNN
; R8901 !
; R8902 ! Change LB fields defined as $byte to $tiny_integer.
; R8903 !
; R8904 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMLCOM.REQ.15 3-Apr-81 07:54:48, Edit by SROBINSON
; R8905 !
; R8906 ! Fix RB_RETURN_CODE to be signed byte since all code checks to see if it
; R8907 ! is +/- .
; R8908 !
; R8909 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.3 2-Apr-81 20:30:04, Edit by GUNN
; R8910 !
; R8911 ! Change LB_NODE_ID and LB_HOST_ID to be pointers.
; R8912 !
; R8913 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.2 2-Apr-81 14:32:29, Edit by GUNN
; R8914 !
; R8915 ! Add routine name macros for new routines in NMLVDB.
; R8916 !
; R8917 ! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMLCOM.REQ.2 30-Mar-81 06:35:28, Edit by SROBINSON
; R8918 !
; R8919 ! Add support macros for Event Logging Modules
; R8920 !
; R8921 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.7 24-Mar-81 10:26:20, Edit by GUNN
; R8922 !
; R8923 ! Add fields in Request Block to contain address of auxiliary
; R8924 ! block for LOAD, DUMP and TRIGGER processing. Define the structure
; R8925 ! of the auxiliary LOAD, DUMP and TRIGGER blocks.
; R8926 ! Also, change the order of some of the fields in the RB structure
; R8927 ! to keep them functionally grouped.
; R8928 !
; R8929 ! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.13 3-Mar-81 16:16:54, Edit by GUNN
; R8930 !
; R8931 ! Remove RB_aaa_SIZE fields from request block field definitions.
; R8932 !
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 153
3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (2)
; R8933 %title 'NMLCOM -- Network Management Layer Common Definitions'
; R8934
; R8935 ! COPYRIGHT (c) 1980, 1981, 1982
; R8936 ! DIGITAL EQUIPMENT CORPORATION
; R8937 ! Maynard, Massachusetts
; R8938 !
; R8939 ! This software is furnished under a license and may be used
; R8940 ! and copied only in accordance with the terms of such license
; R8941 ! and with the inclusion of the above copyright notice. This
; R8942 ! software or any other copies thereof may not be provided or
; R8943 ! otherwise made available to any other person. No title to
; R8944 ! and ownership of the software is hereby transferred.
; R8945 !
; R8946 ! The information in this software is subject to change
; R8947 ! without notice and should not be construed as a commitment
; R8948 ! by DIGITAL EQUIPMENT CORPORATION.
; R8949 !
; R8950 ! DIGITAL assumes no responsibility for the use or reliability
; R8951 ! of its software on equipment which is not supplied by
; R8952 ! DIGITAL.
; R8953 !
; R8954
; R8955 !++
; R8956 ! Facility: LSG DECnet Network Management
; R8957 !
; R8958 ! Abstract: This file contains definitions for data base formats and
; R8959 ! interesting values used when communicating with the
; R8960 ! Network Management Layer.
; R8961 !
; R8962 ! Environment: Bliss-36, Bliss-32 and Bliss-16
; R8963 !
; R8964 ! Author: Steven M. Jenness, Creation date: 26-Sep-80
; R8965 !
; R8966 !--
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 154
3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (3)
; R8967 !
; R8968 ! Configuration switches
; R8969 !
; R8970
; R8971 compiletime
; R8972 NML$CFG_LOGGING_CONSOLE = $false,
; R8973 NML$CFG_LOGGING_FILE = $false,
; R8974 NML$CFG_LOGGING_MONITOR = $false,
; R8975 NML$CFG_LOGGING_RECEIVER = $false,
; R8976 NML$CFG_LOGGING_TRANSMITTER = $false;
; R8977
; LR8978 %if $MCB
; R8979 %then
; R8980 %assign (NML$CFG_LOGGING_TRANSMITTER, $true)
; R8981 %fi
; LR8982 %if $TOPS20
; UR8983 %then
; UR8984 %assign (NML$CFG_LOGGING_FILE, $true)
; R8985 %fi
; LR8986 %if $TOPS10
; UR8987 %then
; UR8988 %assign (NML$CFG_LOGGING_FILE, $true)
; R8989 %fi
; R8990
; LR8991 %assign (NML$CFG_LOGGING_RECEIVER, NML$CFG_LOGGING_CONSOLE or
; LR8992 NML$CFG_LOGGING_FILE or
; R8993 NML$CFG_LOGGING_MONITOR)
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 155
Node ID Buffer Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (4)
; R8994 %sbttl 'Node ID Buffer Definitions'
; R8995
; R8996 !
; R8997 ! NODE ID BUFFER definitions
; R8998 !
; R8999
; R9000 literal
; R9001 NODE_ID_BUFFER_LENGTH = 9,
; R9002 NODE_ID_BUFFER_SIZE = ch$allocation (NODE_ID_BUFFER_LENGTH,8),
; R9003 NODE_ID_BUFFER_ALLOCATION = NODE_ID_BUFFER_SIZE * %upval;
; R9004
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 156
Request Manager Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (5)
; R9005 %sbttl 'Request Manager Definitions'
; R9006
; R9007 ! RB - Request block format definition
; R9008 !
; R9009 ! This is the format of the request block. The address of a block
; R9010 ! in this format is passed between routines which wish to converse
; R9011 ! about a request.
; R9012
; R9013
; R9014 $field REQUEST_BLOCK_FIELDS =
; R9015 set
; R9016
; R9017 ! Queue linkage fields
; R9018
; R9019 RB_REQUEST_QUEUE = [$sub_block (Q_ENTRY_SIZE)],
; R9020 RB_PROCESS_QUEUE = [$sub_block (Q_ENTRY_SIZE)],
; R9021
; R9022 ! Request identification and status fields
; R9023
; R9024 RB_NUMBER = [$integer], ! Request number
; R9025 RB_TYPE = [$integer], ! Request type (local/remote)
; R9026 RB_TASK = [$address], ! Processing task's task blk
; R9027 RB_STATE = [$integer], ! Request state
; R9028
; R9029 ! NICE request and response buffers
; R9030
; R9031 RB_NICE = [$address], ! NICE message address
; R9032 RB_RESPONSE = [$address], ! NICE response msg address
; R9033 RB_NICE_LENGTH = [$integer], ! NICE message length
; R9034 RB_NICE_ALLOCATION = [$integer], ! NICE block (units)
; R9035 RB_RESPONSE_LENGTH = [$integer], ! Response message length
; R9036 RB_RESPONSE_ALLOCATION = [$integer], ! Response block (units)
; R9037
; R9038 ! Request source information
; R9039
; R9040 RB_EXECUTOR = [$address], ! EXECUTOR node id address
; R9041 RB_SOURCE = [$address], ! Source node id address
; R9042 RB_COMPLETION = [$address], ! Completion routine address
; R9043 RB_DATA = [$address], ! Request source data
; R9044 RB_DATA_ALLOCATION = [$integer], ! Data block (units)
; R9045
; R9046 ! Request access control information
; R9047
; R9048 RB_USER = [$pointer], ! USER name string (ACCESS)
; R9049 RB_USER_LENGTH = [$integer], ! USER name length
; R9050 RB_PASSWORD = [$pointer], ! PASSWORD string (ACCESS)
; R9051 RB_PASSWORD_LENGTH = [$integer], ! PASSWORD string length
; R9052 RB_ACCOUNT = [$pointer], ! ACCOUNT string (ACCESS)
; R9053 RB_ACCOUNT_LENGTH = [$integer], ! ACCOUNT string length
; R9054
; R9055 ! Request processing data
; R9056
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 157
Request Manager Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (5)
; R9057 RB_NICE_POINTER = [$pointer], ! Current NICE pointer
; R9058 RB_NICE_POSITION = [$integer], ! Current NICE byte position
; R9059 RB_NICE_FUNCTION = [$byte], ! NICE function code
; R9060 RB_NICE_OPTION = [$byte], ! NICE option byte
; R9061 RB_NICE_ENTITY_TYPE = [$byte], ! NICE entity type number
; R9062 RB_NICE_SUB_ENTITY_TYPE = [$byte],
; R9063 RB_NICE_ENTITY_ID_LENGTH = [$byte], ! NICE entity length
; R9064 RB_PRV_LOCAL = [$bit], ! special services allowed
; R9065 RB_PRV_SYSTEM = [$bit], ! System specific allowed
; R9066 RB_PRV_SERVICE = [$bit], ! Load/Dump/Trigger allowed
; R9067 RB_PRV_TEST = [$bit], ! Test allowed
; R9068 RB_PRV_CHANGE = [$bit], ! Change Parameters allowed
; R9069 RB_PRV_READ = [$bit], ! Read Parameters allowed
; R9070 RB_NICE_ENTITY_ADR = [$address], ! Allocated memory for entity id
; R9071 RB_NICE_ENTITY = [$pointer], ! NICE entity pointer
; R9072 RB_NICE_PARAMETERS = [$pointer], ! NICE parameters
; R9073 RB_NICE_PARAMETER_LENGTH = [$integer], ! NICE parameter length
; R9074 RB_NICE_QUALIFIER = [$pointer], ! NICE parameter qualifier
; R9075
; R9076 ! LOAD, DUMP & TRIGGER auxiliary information
; R9077
; R9078 RB_LOAD_DATA = [$address], ! Address of LOAD data block
; R9079 RB_LOAD_DATA_ALLOCATION = [$integer],
; R9080
; R9081 $overlay (RB_LOAD_DATA)
; R9082 RB_DUMP_DATA = [$address], ! Address of DUMP data block
; R9083 RB_DUMP_DATA_ALLOCATION = [$integer],
; R9084 $continue
; R9085
; R9086 $overlay (RB_LOAD_DATA)
; R9087 RB_TRIGGER_DATA = [$address], ! Address of TRIGGER
; R9088 RB_TRIGGER_DATA_ALLOCATION = [$integer], ! data block
; R9089 $continue
; R9090
; R9091 ! Response data
; R9092
; R9093 RB_RETURN_CODE = [$tiny_integer], ! NICE return code
; R9094 RB_RESPONSE_DATA = [$tiny_integer], ! Non-zero if response data
; R9095 RB_ERROR_DETAIL = [$integer], ! NICE error detail
; R9096 RB_ERROR_POINTER = [$pointer] ! NICE error message pointer
; R9097 tes;
; R9098
; R9099 literal
; R9100 REQUEST_BLOCK_SIZE = $field_set_size,
; R9101 REQUEST_BLOCK_ALLOCATION = $field_set_units,
; R9102 RB_REQUEST_QUEUE_OFFSET = %fieldexpand (RB_REQUEST_QUEUE, 0),
; R9103 RB_PROCESS_QUEUE_OFFSET = %fieldexpand (RB_PROCESS_QUEUE, 0);
; R9104
; R9105 macro
; MR9106 REQUEST_BLOCK =
; R9107 block [REQUEST_BLOCK_SIZE] field (REQUEST_BLOCK_FIELDS) %;
; R9108
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 158
Request Manager Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (5)
; R9109 !
; R9110 ! Values for RB_STATE
; R9111 !
; R9112
; R9113 literal
; R9114 RB$WAITING = 1, ! Request is waiting to execute
; R9115 RB$ACTIVE = 2, ! Request processing initiated
; R9116 RB$DONE = 3, ! Request processing complete
; R9117 RB$CANCELLED = 4, ! Request was cancelled
; R9118 RB$MORE = 5; ! Request partially complete
; R9119
; R9120 !
; R9121 ! Values for request type
; R9122 !
; R9123
; R9124 literal
; R9125 RT$LOCAL = 1, ! Request to be processed locally
; R9126 RT$REMOTE = 2; ! Request to be processed remotely
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 159
Event Logging Manager Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (6)
; R9127 %sbttl 'Event Logging Manager Definitions'
; R9128
; R9129 ! REB - Raw Event Block format definition
; R9130 !
; R9131 ! This is the format of the block used to pass raw event data
; R9132 ! to NML$DECLARE_EVENT. It also provides work areas for
; R9133 ! processed event information.
; R9134
; R9135 $field RAW_EVENT_BLOCK_FIELDS =
; R9136 set
; R9137 REB_ENTITY_POINTER = [$pointer], ! Pointer to entity-id string
; R9138 REB_SOURCE_POINTER = [$pointer], ! Pointer to source node string
; R9139 REB_DATA_POINTER = [$pointer], ! Pointer to event data
; R9140 REB_DATA_LENGTH = [$integer], ! Length of event data
; R9141 $align (fullword) ! (for sub-field access)
; R9142 REB_EVENT_CODE = [$short_integer], ! Event class/type
; R9143 REB_SINK_FLAGS = [$short_integer], ! Sink flags:
; R9144 $overlay (REB_SINK_FLAGS)
; R9145 REB_CONSOLE = [$bit], ! Console sink
; R9146 REB_FILE = [$bit], ! File sink
; R9147 REB_MONITOR = [$bit], ! Monitor sink
; R9148 $continue
; R9149 $align (fullword) ! (for sub-field access)
; R9150 REB_ENTITY_TYPE = [$short_integer], ! Entity type
; R9151 REB_TIME_BLOCK = [$address] ! Address of time block for event
; R9152 $align (fullword) ! or zero if no time supplied.
; R9153 tes;
; R9154
; R9155 literal
; R9156 RAW_EVENT_BLOCK_SIZE = $field_set_size,
; R9157 RAW_EVENT_BLOCK_ALLOCATION = $field_set_units;
; R9158
; R9159 macro
; MR9160 RAW_EVENT_BLOCK =
; R9161 block [RAW_EVENT_BLOCK_SIZE] field (RAW_EVENT_BLOCK_FIELDS) %;
; R9162
; R9163 !
; R9164 ! Event queue header definitions.
; R9165 ! These are handled by the NML$EQUEUE_* routines.
; R9166 ! Only event buffer entries should be put on these queues.
; R9167 !
; R9168 ! macro: EVENT_QUEUE Defines a queue header block
; R9169 ! value: EVENT_QUEUE_SIZE Defines size of queue header block
; R9170 !
; R9171
; R9172 $field EVENT_QUEUE_FIELDS =
; R9173 set
; R9174 EQ_QUEUE = [$sub_block (SQ_HEADER_SIZE)], ! Queue header
; R9175 EQ_COUNT = [$short_integer], ! Current number of events in queue
; R9176 EQ_LENGTH = [$short_integer] ! Maximum number of events queue-able
; R9177 tes;
; R9178
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 160
Event Logging Manager Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (6)
; R9179 literal
; R9180 EVENT_QUEUE_SIZE = $field_set_size,
; R9181 EVENT_QUEUE_ALLOCATION = $field_set_units;
; R9182
; R9183 macro
; MR9184 EVENT_QUEUE =
; R9185 block [EVENT_QUEUE_SIZE] field (EVENT_QUEUE_FIELDS) %;
; R9186
; R9187 !
; R9188 ! Transmitter queue header definitions.
; R9189 ! These are handled by the NML$EQUEUE_* routines.
; R9190 ! Only event buffer entries should be put on these queues.
; R9191 !
; R9192 ! macro: TRANSMITTER_QUEUE Defines a queue header block
; R9193 ! value: TRANSMITTER_QUEUE_SIZE Defines size of queue header block
; R9194 !
; R9195
; R9196 $field TRANSMITTER_QUEUE_FIELDS =
; R9197 set
; R9198 TQ_QUEUE = [$sub_block (EVENT_QUEUE_SIZE)], ! Queue header
; R9199 TQ_TRANSMITTER_TASK = [$address],
; R9200 $align (FULLWORD) ! For character pointer.
; R9201 TQ_SINK_NODE = [$bytes (9 + 1)]
; R9202 tes;
; R9203
; R9204 literal
; R9205 TRANSMITTER_QUEUE_SIZE = $field_set_size,
; R9206 TRANSMITTER_QUEUE_ALLOCATION = $field_set_units;
; R9207
; R9208 macro
; MR9209 TRANSMITTER_QUEUE =
; R9210 block [TRANSMITTER_QUEUE_SIZE] field (TRANSMITTER_QUEUE_FIELDS) %;
; R9211
; R9212 !
; R9213 ! Event buffer block definitions
; R9214 ! These are handled by the NML$EQUEUE_* routines.
; R9215 !
; R9216 ! macro: EVENT_BUFFER Defines
; R9217 ! value: EVENT_BUFFER_SIZE Defines
; R9218 !
; R9219
; R9220 $field EVENT_BUFFER_FIELDS =
; R9221 set
; R9222 EB_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Queue link
; R9223 EB_ALLOCATION = [$short_integer], ! Length of allocated memory
; R9224 EB_LENGTH = [$short_integer], ! Length of message
; R9225 EB_BUFFER = [$sub_block (0)] ! Beginning of buffer with message
; R9226 tes;
; R9227
; R9228 literal
; R9229 EVENT_BUFFER_SIZE = $field_set_size,
; R9230 EVENT_BUFFER_ALLOCATION = $field_set_units;
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 161
Event Logging Manager Definitions 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (6)
; R9231
; R9232 macro
; MR9233 EVENT_BUFFER =
; R9234 block field (EVENT_BUFFER_FIELDS, Q_ENTRY_FIELDS) %;
; R9235
; R9236 !
; R9237 ! Response text handler (in case we have to go to UPPER CASE)
; R9238 !
; R9239
; R9240 macro
; MR9241 $NML$TEXT [] =
; R9242 %string (%remaining) %;
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 162
Global Name Mappings 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (7)
; R9243 %sbttl 'Global Name Mappings'
; R9244
; R9245 !
; R9246 ! Request manager (NMLQUE)
; R9247 !
; R9248
; R9249 macro
; R9250 NML$REQUEST_INITIALIZE = NL_INIT %,
; R9251 NML$REQUEST_ENTER = NL_RENTER %,
; R9252 NML$REQUEST_NEXT = NL_REMOVE %,
; R9253 NML$REQUEST_FINISH = NL_FINISH %,
; R9254 NML$REQUEST_ABORT = NL_ABORT %,
; R9255 NML$REQUEST_TERMINATE = NL_TERM %,
; R9256 NML$REQUEST_CANCEL = NL_CANCEL %,
; R9257 NML$REQUEST_SHOW = NL_SHOW %;
; R9258
; R9259 macro
; MR9260 NML$REQUEST_MANAGER =
; MR9261 NML$REQUEST_INITIALIZE : novalue, ! Initialize request manager
; MR9262 NML$REQUEST_ENTER, ! Enter request onto request queue
; MR9263 NML$REQUEST_NEXT, ! Get next request for processing
; MR9264 NML$REQUEST_FINISH ! Signal completion of a request
; MR9265 %if not $MCB
; MR9266 %then ,
; MR9267 NML$REQUEST_ABORT, ! Abort processing of a request
; MR9268 NML$REQUEST_TERMINATE, ! Terminate processing of a
; MR9269 ! multi-response request
; MR9270 NML$REQUEST_CANCEL, ! Cancel request not being processed
; MR9271 NML$REQUEST_SHOW ! Return requests in queues
; R9272 %fi %;
; R9273
; R9274 !
; R9275 ! NICE Request Processor (NMLNIC)
; R9276 !
; R9277
; R9278 macro
; R9279 NML$NICE_LISTENER = NL_LSN %, ! Receive remote NICE request
; R9280 NML$DEQUEUE_REQUEST = NL_DQR %, ! Dequeue NICE request
; R9281 NML$NICE_RESPONSE = NL_RSP %; ! Process NICE response
; R9282
; R9283 !
; R9284 ! NICE Dump, Trigger, and Load Request Processor (NMLDTL)
; R9285 !
; R9286
; R9287 macro
; R9288 NML$DUMP = NL_DMP %,
; R9289 NML$TRIGGER = NL_TRG %,
; R9290 NML$LOAD = NL_LOD %;
; R9291
; R9292 !
; R9293 ! NICE Read, Change, and Zero Request Processor (NMLRCZ)
; R9294 !
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 163
Global Name Mappings 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (7)
; R9295
; R9296 macro
; R9297 NML$READ = NL_REA %,
; R9298 NML$CHANGE = NL_CHG %,
; R9299 NML$ZERO = NL_ZRO %;
; R9300
; R9301 !
; R9302 ! NICE Test Request Processor (NMLLBK)
; R9303 !
; R9304
; R9305 macro
; R9306 NML$TEST = NL_TST %;
; R9307
; R9308 !
; R9309 ! NICE System Specific Request Processor (NMLSPC)
; R9310 !
; R9311
; R9312 macro
; R9313 NML$SYSTEM_SPECIFIC = NL_SPC %;
; R9314
; R9315 !
; R9316 ! NML Parameter Support (NMLPRM)
; R9317 !
; R9318
; R9319 macro
; R9320 NML$VALID_PARAMETER = NL_PVL %,
; R9321 NML$CLEARABLE = NL_CLR %,
; R9322 NML$READ_ONLY = NL_RO %,
; R9323 NML$PARAMETER_TEXT = NL_PTX %,
; R9324 NML$CODED_TEXT = NL_PCT %,
; R9325 NML$SUMMARY = NL_PSU %,
; R9326 NML$STATUS = NL_PST %,
; R9327 NML$CHARACTERISTIC = NL_PCH %,
; R9328 NML$EXECUTOR_ONLY = NL_PEX %,
; R9329 NML$VDB_PARAMETER = NL_PVD %,
; R9330 NML$GET_PDB_DATA_TYPE = NL_PDT %,
; R9331 NML$PARAMETER_DATA = NL_PDA %,
; R9332 NML$PARAMETER_LOOKUP = NL_PLU %;
; R9333
; R9334 !
; R9335 ! Volatile Data Base Processor (NMLVDB)
; R9336 !
; R9337
; R9338 macro
; R9339 NML$VDB_INITIALIZE = NL_VDI %,
; R9340 NML$VDB = NL_VDB %,
; R9341 NML$GET_VDB_PARAMETER = NL_VGP %,
; R9342 NML$SET_VDB_PARAMETER = NL_VSP %,
; R9343 NML$CLR_VDB_PARAMETER = NL_VCP %,
; R9344 NML$FIND_NDB = NL_VFN %;
; R9345
; R9346 !
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 164
Global Name Mappings 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (7)
; R9347 ! Permanent Data Base Processor (NMLPDB)
; R9348 !
; R9349
; R9350 macro
; R9351 NML$PDB_INITIALIZE = NL_PDI %,
; R9352 NML$PDB_CHANGE = NL_PPC %,
; R9353 NML$PDB_READ = NL_PPR %;
; R9354
; R9355 !
; R9356 ! Request transmitter (NMLXMT)
; R9357 !
; R9358
; R9359 macro
; R9360 NML$TRANSMITTER = NX_TRANS %; ! Transmitter task
; R9361
; R9362 !
; R9363 ! Loopback mirror (NMLMRR)
; R9364 !
; R9365
; R9366 macro
; R9367 NML$MIRROR = NX_MIRROR %; ! Loopback mirror task
; R9368
; R9369 !
; R9370 ! Nice listener (NMLRCV)
; R9371 !
; R9372
; R9373 macro
; R9374 NML$RECEIVE_NICE = NL_RCV %;
; R9375
; R9376 !
; R9377 ! Data Link Watcher (NMLDLW)
; R9378 !
; R9379
; R9380 macro
; R9381 NML$DLW_CALL = NW_CAL %,
; R9382 NML$DLW_INITIALIZE = NW_INI %;
; R9383
; R9384 !
; R9385 ! Event Logging Modules (NMLEV*)
; R9386 !
; R9387
; R9388 macro
; R9389 NML$DECLARE_EVENT = EV_DEC %, ! Log an internal NML event
; R9390 NML$EQUEUE_INSERT = EQ_INS %, ! Insert an entry on an event queue
; R9391 NML$EQUEUE_REMOVE = EQ_REM %, ! Remove an entry from an event queue
; R9392 NML$EQUEUE_RESET = EQ_RES %, ! Reset an event queue and set length
; R9393 NML$EVENT_INITIALIZE = EV_INI %, ! Initialize event logging
; R9394 NML$EVENT_PROCESSOR = EV_PRO %, ! Filter events and
; R9395 ! distribute to targets
; R9396 NML$EVENT_RECEIVER = EV_RCV %, ! Receive events from other nodes
; R9397 NML$EVENT_RECORDER = EV_REC %, ! Send events to local sinks
; R9398 NML$EVENT_TRANSMITTER = EV_XMT %, ! Transmit events to target node
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 165
Global Name Mappings 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (7)
; R9399 NML$LOGGING_CONSOLE = LG_CON %, ! Send events to console sink
; R9400 NML$LOGGING_FILE = LG_FIL %, ! Send events to file sink
; R9401 NML$LOGGING_MONITOR = LG_MON %, ! Send events to monitor sink
; R9402 NML$TRANSMITTER_QUEUE_GET = EV_GET %; ! Get a transmitter queue
; R9403
; R9404 macro
; MR9405 NML$EVENT_MANAGER =
; MR9406 NML$DECLARE_EVENT : novalue, ! Declare raw event
; MR9407 NML$EQUEUE_RESET : novalue, ! Reset event queue
; MR9408 NML$EQUEUE_INSERT : novalue, ! Insert event in event queue
; MR9409 NML$EQUEUE_REMOVE, ! Remove event from event queue
; MR9410 NML$EVENT_INITIALIZE : novalue, ! Initialize EVENT manager
; MR9411 NML$EVENT_PROCESSOR : novalue, ! Process Raw Events
; MR9412 NML$EVENT_RECORDER : novalue, ! Record Events
; MR9413 NML$TRANSMITTER_QUEUE_GET ! Get a transmitter queue
; R9414 %;
; R9415
; R9416 !
; R9417 ! Counter Timer Modules
; R9418 !
; R9419
; R9420 macro
; R9421 NML$COUNTER_TIMER_TASK = NL_CTT %, ! Counter Timer Task itself
; R9422 NML$COUNTER_TIMER_SET = NL_SCT %, ! Sets counter timers
; R9423 NML$COUNTER_TIMER_CLEAR = NL_CCT %; ! Clears counter timers
NMLCOM -- Network Management Layer Common Defin 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 166
Global Name Mappings 3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (8)
; R9424
; R9425 %title ''
; R9426 %sbttl ''
; R9427
; R9428 !
; R9429 ! [End of NMLCOM.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 167
3-Jan-1983 00:56:41 DNET61:<MCB.NML>NMLCOM.REQ.1 (9)
; R9430
; R9431 ! Local Modes:
; R9432 ! Mode:BLISS
; R9433 ! Auto Save Mode:2
; R9434 ! Comment Column:40
; R9435 ! Comment Rounding:+1
; R9436 ! End:
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 168
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 9437
; 9438 require 'NML'; ! NML internal definitions
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 169
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (1)
; R9439 ! NET:<BRANDT.DEVELOPMENT>NML.REQ.1 8-Jun-82 10:56:11, Edit by BRANDT
; R9440 !
; R9441 ! Transfer definitions of NODE_ID buffers from NML.REQ to NMLCOM.REQ.
; R9442 !
; R9443 ! NET:<VOBA.NML.DEVELOPMENT>NML.REQ.12 25-Mar-82 16:56:11, Edit by VOBA
; R9444 !
; R9445 ! Define fields in entity data block structure to accomodate qualifier
; R9446 ! sub-queues for qualified entities. For qualified entities, the parameter
; R9447 ! variables are replaced by fields for queue headers, which point to
; R9448 ! the sub-queues indexed by qualified parameters of the entities.
; R9449 ! Clean up code and update copyright date.
; R9450 !
; R9451 ! NET:<DECNET20-V3P1.NML>NML.REQ.5 6-Apr-81 09:24:55, Edit by GUNN
; R9452 !
; R9453 ! Fix definition of NODE_DB_BLOCK to include common entity id fields.
; R9454 !
; R9455 ! NET:<DECNET20-V3P1.NML>NML.REQ.3 2-Apr-81 10:39:51, Edit by GUNN
; R9456 !
; R9457 ! Define fields in EDB to link EDB's on CIRCUIT id queue.
; R9458 !
; R9459 ! NET:<DECNET20-V3P1.NML>NML.REQ.3 23-Feb-81 10:24:30, Edit by GUNN
; R9460 !
; R9461 ! Add definitions for entity data bases.
; R9462 !
; R9463 ! NET:<DECNET20-V3P1.NML>NML.REQ.1 20-Feb-81 08:50:46, Edit by GUNN
; R9464 !
; R9465 ! Add definition for NODE ID buffer.
; R9466 !
NML -- Network Management Layer Internal Defini 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 170
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (2)
; R9467 %title 'NML -- Network Management Layer Internal Definitions'
; R9468
; R9469 ! COPYRIGHT (c) 1980, 1981, 1982
; R9470 ! DIGITAL EQUIPMENT CORPORATION
; R9471 ! Maynard, Massachusetts
; R9472 !
; R9473 ! This software is furnished under a license and may be used
; R9474 ! and copied only in accordance with the terms of such license
; R9475 ! and with the inclusion of the above copyright notice. This
; R9476 ! software or any other copies thereof may not be provided or
; R9477 ! otherwise made available to any other person. No title to
; R9478 ! and ownership of the software is hereby transferred.
; R9479 !
; R9480 ! The information in this software is subject to change
; R9481 ! without notice and should not be construed as a commitment
; R9482 ! by DIGITAL EQUIPMENT CORPORATION.
; R9483 !
; R9484 ! DIGITAL assumes no responsibility for the use or reliability
; R9485 ! of its software on equipment which is not supplied by
; R9486 ! DIGITAL.
; R9487 !
; R9488
; R9489 !++
; R9490 ! Facility: LSG DECnet Network Management
; R9491 !
; R9492 ! Abstract: The definitions in this file are used internally
; R9493 ! by the Network Management Layer.
; R9494 !
; R9495 ! Environment: TOPS10/TOPS20 user mode, MCB RSX task level
; R9496 !
; R9497 ! Author: Steven M. Jenness, Creation date: 10-Dec-80
; R9498 !
; R9499 !--
NML -- Network Management Layer Internal Defini 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 171
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (3)
; R9500
; R9501 !
; R9502 ! EDB - Entity Data Block structure definition
; R9503 !
; R9504
; R9505 $field ENTITY_DB_BLOCK_FIELDS =
; R9506 set
; R9507 EDB_QLINK = [$sub_block(Q_ENTRY_SIZE)], ! Queue header fields
; R9508 EDB_ENTITY_ID = [$bytes(17)], ! Entity id (AI-16)
; R9509
; LR9510 %if $X25 and not $MCB ! Parameter fields
; UR9511 %then
; UR9512 EDB_PARAMETER_FIELDS = [$sub_block(%if Q_HEADER_SIZE gtr 3
; UR9513 %then Q_HEADER_SIZE
; UR9514 %else 3 %fi)],
; R9515 %else
; R9516 EDB_PARAMETER_FIELDS = [$sub_block(3)],
; R9517 %fi
; R9518
; R9519 ! Overlaying
; R9520
; LR9521 %if $X25 and not $MCB
; UR9522 %then
; UR9523 $overlay (EDB_ENTITY_ID)
; UR9524 EDB_QUALIFIER = [$bytes(17)], ! Qualifier name string (AI-16)
; UR9525 $continue
; R9526 %fi
; R9527
; R9528 $overlay (EDB_ENTITY_ID) ! Special case fields for NODE
; R9529 NDB_ENTITY_ID = [$bytes(9)], ! NODE entity id
; R9530 NDB_NODE_TYPE = [$bits(3)], ! NODE type
; R9531 $continue
; R9532
; LR9533 %if $X25 and not $MCB ! The qualifier queue is defined for
; UR9534 %then ! the MODULE X25-ACCESS entity on the
; UR9535 $overlay (EDB_PARAMETER_FIELDS) ! TOPS side only.
; UR9536 EDB_QUALIFIER_QUEUE = [$sub_block(Q_HEADER_SIZE)],
; UR9537 $continue
; R9538 %fi
; R9539
; R9540 $overlay (EDB_PARAMETER_FIELDS)
; R9541 EDB_PARAMETER_COUNT = [$integer], ! Count of number of parameters
; R9542 EDB_PARAMETER_ALLOCATION = [$integer], ! Units of parameter vector
; R9543 EDB_PARAMETER_VECTOR = [$address] ! Address of parameter vector
; R9544 $continue
; R9545 tes;
; R9546
; R9547 literal
; R9548 ENTITY_DB_BLOCK_SIZE = $field_set_size, ! Size of block in words
; R9549 ENTITY_DB_BLOCK_ALLOCATION = ENTITY_DB_BLOCK_SIZE * %upval;
; R9550
; R9551 !
NML -- Network Management Layer Internal Defini 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 172
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (3)
; R9552 ! NDB - Node Data Block structure definition
; R9553 !
; R9554
; R9555 $field NODE_DB_BLOCK_FIELDS =
; R9556 set
; R9557 EDB_FIELDS = [$sub_block(ENTITY_DB_BLOCK_SIZE)], ! Common EDB fields
; R9558 NDB_CIRCUIT_QLINK = [$sub_block(Q_ENTRY_SIZE)], ! NODE circuit id list
; R9559 NDB_SVC_CIRCUIT = [$pointer] ! Pointer to SERVICE CIRCUIT id
; R9560 tes;
; R9561
; R9562 literal
; R9563 NODE_DB_BLOCK_SIZE = $field_set_size,
; R9564 NODE_DB_BLOCK_ALLOCATION = NODE_DB_BLOCK_SIZE * %upval;
; R9565
; R9566 literal
; R9567 NDB$EXECUTOR = 1; ! Code for EXECUTOR in NDB_NODE_TYPE
; R9568
; R9569 macro
; MR9570 ENTITY_DB_BLOCK =
; R9571 block [ENTITY_DB_BLOCK_SIZE] field (ENTITY_DB_BLOCK_FIELDS) %;
; R9572
; R9573 macro
; MR9574 NODE_DB_BLOCK =
; MR9575 block [NODE_DB_BLOCK_SIZE]
; R9576 field (ENTITY_DB_BLOCK_FIELDS,NODE_DB_BLOCK_FIELDS) %;
; R9577
; R9578 !
; R9579 ! PVB - Parameter Vector Block structure definition
; R9580 !
; R9581
; R9582 $field PVB_ENTRY =
; R9583 set
; R9584 PE_NUMBER = [$integer], ! Parameter type number
; R9585 PE_DATA = [$integer], ! Parameter data
; R9586
; R9587 ! Overlaying
; R9588
; R9589 $overlay (PE_DATA)
; R9590 PE_ADDRESS = [$address], ! or Address of parameter data
; R9591 $continue
; R9592
; R9593 $overlay (PE_DATA)
; R9594 PE_POINTER = [$pointer] ! or Pointer to parameter data
; R9595 $continue
; R9596 tes;
; R9597
; R9598 literal
; R9599 PVB_ENTRY_SIZE = $field_set_size, ! Size of entry in fullwords
; R9600 PVB_ENTRY_ALLOCATION = $field_set_size * %upval; ! In units
; R9601
; R9602 $field PARAMETER_VECTOR_BLOCK =
; R9603 set
NML -- Network Management Layer Internal Defini 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 173
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (3)
; R9604 PVB_PARAMETER = [$sub_block(PVB_ENTRY_SIZE)] ! Single parameter entry
; R9605 tes;
; R9606
; R9607 macro
; MR9608 $NML$PVB_ENTRY_VECTOR (N) =
; R9609 blockvector [N,PVB_ENTRY_SIZE] field (PVB_ENTRY) %;
; R9610
; R9611 macro
; MR9612 $NML$PVB_ENTRY_BLOCK =
; R9613 block [PVB_ENTRY_SIZE] field (PVB_ENTRY) %;
NML -- Network Management Layer Internal Defini 24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 174
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (4)
; R9614
; R9615 %title ''
; R9616 %sbttl ''
; R9617
; R9618 !
; R9619 ! [End of NML.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 175
3-Jan-1983 00:54:24 DNET61:<MCB.NML>NML.REQ.1 (5)
; R9620
; R9621 ! Local Modes:
; R9622 ! Mode:BLISS
; R9623 ! Auto Save Mode:2
; R9624 ! Comment Column:40
; R9625 ! Comment Rounding:+1
; R9626 ! End:
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 176
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 9627
; 9628 require
; 9629
; 9630 %if $TOPS20 %then 'NMUT20' %fi
; 9631 %if $TOPS10 %then 'NMUT10' %fi
; 9632 %if $MCB %then 'NMUMCB' %fi;
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 177
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (1)
; R9633 !EXODUS:<BRANNON.AP7.NMLMCB>NMUMCB.R16 1-Nov-83 13:43:06, Edit by BRANNON
; R9634 !
; R9635 ! Fix TIME_PLUS bugs to handle exact hour correctly.
; R9636 !
; R9637 !NET:<BRANDT.DEVELOPMENT>NMUMCB.R16.1 29-Jun-82 15:29:19, Edit by BRANDT
; R9638 !
; R9639 ! Include nesting count in interrupt off/on macros so nested calls work
; R9640 !
; R9641 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 26-Mar-82 08:09:19, Edit by PECKHAM
; R9642 !
; R9643 ! Merge TIME_TOP and TIME_BOTTOM into TIME_SECOND in TIME_BLOCK.
; R9644 !
; R9645 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 17-Feb-82 11:01:39, Edit by PECKHAM
; R9646 !
; R9647 ! Change MEMSIZE to reference MEMTOP instead of MEMSIZ.
; R9648 !
; R9649 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 13-Feb-82 22:34:16, Edit by PECKHAM
; R9650 !
; R9651 ! Fix comparisons in TIME_PLUS
; R9652 !
; R9653 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 24-Jan-82 02:25:57, Edit by PECKHAM
; R9654 !
; R9655 ! Change bit field definitions in TIME_BLOCK to word definitions
; R9656 ! for more efficient access.
; R9657 !
; R9658 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 23-Jan-82 23:09:31, Edit by PECKHAM
; R9659 !
; R9660 ! Fix bug in TIME_PLUS which was caught by operation priority
; R9661 !
; R9662 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.3 22-Jan-82 07:04:54, Edit by PECKHAM
; R9663 !
; R9664 ! Correct parameter naming bug in TIME_DIFFERENCE_SECONDS.
; R9665 !
; R9666 !NET:<PECKHAM.DEVELOPMENT>NMUMCB.R16.2 21-Jan-82 12:19:57, Edit by PECKHAM
; R9667 !
; R9668 ! Add macros TIME_DIFFERENCE_SECONDS and TIME_PLUS to compute the temporal
; R9669 ! difference between two TIME_BLOCKS and to add an offset in seconds to a
; R9670 ! TIME_BLOCK.
; R9671 !
; R9672 ! NET:<DECNET20-V3P1.NMLLIB>NMUMCB.R16 02-Dec-81 09:49:20, Edit by THIGPEN
; R9673 !
; R9674 ! Add WAIT_BLOCK for use in timing out NMU$SCHED_WAIT calls.
; R9675 !
; R9676 ! NMUMCB - Network Management Utilities MCB definitions
; R9677 !
; R9678 ! COPYRIGHT (c) 1980, 1981, 1982
; R9679 ! DIGITAL EQUIPMENT CORPORATION
; R9680 ! Maynard, Massachusetts
; R9681 !
; R9682 ! This software is furnished under a license and may be used
; R9683 ! and copied only in accordance with the terms of such license
; R9684 ! and with the inclusion of the above copyright notice. This
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 178
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (1)
; R9685 ! software or any other copies thereof may not be provided or
; R9686 ! otherwise made available to any other person. No title to
; R9687 ! and ownership of the software is hereby transferred.
; R9688 !
; R9689 ! The information in this software is subject to change
; R9690 ! without notice and should not be construed as a commitment
; R9691 ! by DIGITAL EQUIPMENT CORPORATION.
; R9692 !
; R9693 ! DIGITAL assumes no responsibility for the use or reliability
; R9694 ! of its software on equipment which is not supplied by
; R9695 ! DIGITAL.
; R9696 !
; R9697
; R9698 !++
; R9699 ! Facility: LSG DECnet Network Management
; R9700 !
; R9701 ! Abstract: This file contains definitions that are specific to
; R9702 ! MCB.
; R9703 !
; R9704 ! Environment: MCB
; R9705 !
; R9706 ! Author: Scott G. Robinson, Creation date: 29-Dec-80
; R9707 !
; R9708 !--
; R9709
; R9710 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 179
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (2)
; R9711 !
; R9712 ! Other requirements for MCB
; R9713 !
; R9714
; R9715 switches list (norequire); ! Suppress monitor symbol listing
; R9716
; R9717 require 'BLI:RSX11M'; ! RSX11 Definitions
; R11328 require 'NETDIR'; ! RSX11 Network definitions
; R12172 %( switches list (yesrequire); )%
; R12173
; R12174 !
; R12175 literal
; R12176 CONTEXT_SIZE = 1; !Just the SP is context
; R12177 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 180
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (3)
; R12178 !
; R12179 ! Semaphore LOCK/UNLOCK macros
; R12180 !
; R12181 ! macro: LOCK
; R12182 ! This macro attempts a semaphore lock. If the lock
; R12183 ! attempt is successful, a "true" value is returned.
; R12184 !
; R12185 ! LOCK (SEMAPHORE)
; R12186 !
; R12187 ! where SEMAPHORE is the address of a SEMAPHORE_BLOCK.
; R12188
; R12189 macro
; MR12190 LOCK (SEMA_ADDR) =
; MR12191 begin
; MR12192 bind SEMBLK = SEMA_ADDR : SEMAPHORE_BLOCK;
; MR12193 if .SEMBLK[SEMAPHORE] NEQ 0 then 0 else (SEMBLK[SEMAPHORE]=1)
; MR12194 end
; R12195 %;
; R12196 !
; R12197 ! macro: UNLOCK
; R12198 !
; R12199 ! This macro unlocks a semaphore that has been locked
; R12200 ! with a LOCK macro call.
; R12201 !
; R12202 ! UNLOCK (SEMAPHORE)
; R12203 !
; R12204 ! where SEMAPHORE is the address of a SEMAPHORE_BLOCK.
; R12205
; R12206 macro
; MR12207 UNLOCK (SEMA_ADDR) =
; MR12208 begin
; MR12209 bind SEMBLK = SEMA_ADDR : SEMAPHORE_BLOCK;
; MR12210 SEMBLK[SEMAPHORE] = 0;
; MR12211 end
; R12212 %;
; R12213 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 181
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (4)
; R12214 !
; R12215 ! Task scheduling macros
; R12216 !
; R12217 ! macro: CONTEXT_SWITCH
; R12218 !
; R12219 ! This macro swaps the current task with the
; R12220 ! specified future task.
; R12221 !
; R12222 ! CONTEXT_SWITCH (NEW_TASK)
; R12223 !
; R12224 ! where NEW_TASK is the address of the new task's task block.
; R12225
; R12226 macro
; MR12227 CONTEXT_SWITCH (NEW_TASK) =
; MR12228 begin
; MR12229 external routine SS$CTX : novalue; ! System specific routine
; MR12230 SS$CTX (NEW_TASK);
; R12231 end %;
; R12232
; R12233 !
; R12234 ! macro: CURRENT_TASK
; R12235 !
; R12236 ! This macro returns the address of the
; R12237 ! current task's task block.
; R12238
; R12239 macro
; MR12240 CURRENT_TASK =
; MR12241 begin
; MR12242 external CURTSK; ! Cell containing current task
; MR12243 .CURTSK
; R12244 end %;
; R12245
; R12246 !
; R12247 ! macro: TASK_INITIALIZE
; R12248 !
; R12249 ! This macro initializes a task's task block.
; R12250 ! Specifically it sets up the stack and the
; R12251 ! starting address so that the task will swap
; R12252 ! context properly the first time that it
; R12253 ! is scheduled.
; R12254 !
; R12255 ! TASK_INITIALIZE (TASK_BLOCK, STACK_SIZE)
; R12256 !
; R12257 ! where TK_BLOCK is the task's task block address
; R12258 ! STACK_SIZE is the number of fullwords its stack.
; R12259
; R12260 macro
; MR12261 TASK_INITIALIZE (TK_BLOCK, STACK_SIZE) =
; MR12262 begin
; MR12263 external routine SS$TNI : novalue; ! System specific routine
; MR12264 SS$TNI (TK_BLOCK, STACK_SIZE);
; R12265 end %;
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 182
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (4)
; R12266
; R12267 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 183
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (5)
; R12268 !
; R12269 ! Interrupt system operation macros
; R12270 !
; R12271 ! macro: CLEAR_INTERRUPT_SYSTEM
; R12272 !
; R12273 ! This macro clears the interrupt system. All interrupts
; R12274 ! disabled.
; R12275 !
; R12276
; R12277 macro
; MR12278 CLEAR_INTERRUPT_SYSTEM =
; MR12279 begin
; MR12280 %inform('CLEAR_INTERRUPT_SYSTEM is a NOOP for MCB')
; R12281 end %;
; R12282
; R12283 !
; R12284 ! macro: INITIALIZE_INTERRUPT_SYSTEM
; R12285 !
; R12286 ! This macro setups any initial values needed in
; R12287 ! the interrupt data base and informs the operating
; R12288 ! system about the interrupt vector tables.
; R12289 !
; R12290
; R12291 macro
; MR12292 INITIALIZE_INTERRUPT_SYSTEM =
; MR12293 begin
; MR12294 %inform('INITIALIZE_INTERRUPT_SYSTEM is a NOOP for MCB')
; R12295 end %;
; R12296
; R12297 !
; R12298 ! macro: ACTIVATE_INTERRUPT
; R12299 !
; R12300 ! This macro enables a specific interrupt. The
; R12301 ! variable HANDLE points to the relevant interrupt
; R12302 ! data base.
; R12303
; R12304 macro
; MR12305 ACTIVATE_INTERRUPT =
; MR12306 begin
; MR12307 %inform('ACTIVATE_INTERRUPT is a NOOP for MCB')
; R12308 end %;
; R12309
; R12310 !
; R12311 ! macro: DEACTIVATE_INTERRUPT
; R12312 !
; R12313 ! This macro disables a specific interrupt. The
; R12314 ! variable HANDLE is the index into the HANDLE_TAB
; R12315 ! interrup data base.
; R12316
; R12317 macro
; MR12318 DEACTIVATE_INTERRUPT =
; MR12319 begin
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 184
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (5)
; MR12320 %inform('DEACTIVATE_INTERRUPT is a NOOP for MCB')
; R12321 end %;
; R12322
; R12323 !
; R12324 ! macro: INTERRUPT_ON
; R12325 !
; R12326 ! This macro enables the interrupt system. If nested
; R12327 ! INTERRUPT_OFF calls have been made, this call only
; R12328 ! decrements the nesting count.
; R12329
; R12330 macro
; MR12331 INTERRUPT_ON =
; MR12332 begin
; MR12333 external INTNST;
; MR12334 dsar$s(); ! Interrupts off
; MR12335 if (INTNST = .INTNST - 1) leq 0
; MR12336 then
; MR12337 begin
; MR12338 INTNST = 0; ! Zero nesting count
; MR12339 enar$s(); ! Interrupts on
; MR12340 end;
; R12341 end %;
; R12342
; R12343 !
; R12344 ! macro: INTERRUPT_OFF
; R12345 !
; R12346 ! This macro turns the interrupt system off. It
; R12347 ! also increments the nesting count of times that
; R12348 ! it has been turned off.
; R12349
; R12350 macro
; MR12351 INTERRUPT_OFF =
; MR12352 begin
; MR12353 external INTNST;
; MR12354 dsar$s();
; MR12355 INTNST = .INTNST + 1; ! Increment nesting count
; R12356 end %;
; R12357
; R12358 !
; R12359 ! INTERRUPT routine declarations
; R12360 !
; R12361
; R12362 macro
; MR12363 RSX$AST_PARAMETERS =
; R12364 RSX_EVMASK,RSX_PSW,RSX_PC,RSX_DSW %,
; MR12365 VANILLA_INTERRUPT_ROUTINE =
; R12366 (RSX$AST_PARAMETERS) : VANILLA_INTERRUPT_LINKAGE %,
; MR12367 TIMER_INTERRUPT_ROUTINE =
; R12368 (RSX$AST_PARAMETERS,TIME_EVENT_FLAG) :TIMER_INTERRUPT_LINKAGE%,
; MR12369 NETWORK_INTERRUPT_ROUTINE =
; R12370 (RSX$AST_PARAMETERS,NETWORK_STATUS_BLOCK) :NETWORK_INTERRUPT_LINKAGE%,
; MR12371 IO_INTERRUPT_ROUTINE =
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 185
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (5)
; R12372 (RSX$AST_PARAMETERS,IO_STATUS_BLOCK): IO_INTERRUPT_LINKAGE%;
; R12373
; R12374 macro
; MR12375 INTERRUPT_LINKAGE =
; R12376 rsx_ast(standard)%;
; R12377
; R12378 linkage
; R12379 VANILLA_INTERRUPT_LINKAGE =
; R12380 INTERRUPT_LINKAGE ,
; R12381 TIMER_INTERRUPT_LINKAGE =
; R12382 INTERRUPT_LINKAGE ,
; R12383 NETWORK_INTERRUPT_LINKAGE =
; R12384 INTERRUPT_LINKAGE ,
; R12385 IO_INTERRUPT_LINKAGE =
; R12386 INTERRUPT_LINKAGE ;
; R12387
; R12388 macro
; MR12389 INTERRUPT_ROUTINE [] =
; MR12390 (RSX$AST_PARAMETERS
; MR12391 %if not %null (%remaining) %then
; MR12392 , %remaining
; MR12393 %fi
; MR12394 ) : VANILLA_INTERRUPT_LINKAGE
; R12395 %warn('Best to Use ???_INTERRUPT_ROUTINE') %;
; R12396
; R12397 macro
; MR12398 ALLOCATE_INTERRUPT_CHANNEL =
; MR12399 %warn('Who wants to ALLOCATE_INTERRUPT_CHANNEL?')
; R12400 %;
; R12401
; R12402 macro
; MR12403 RELEASE_INTERRUPT_CHANNEL (CHANNEL) =
; MR12404 %warn('Who supposedly has to RELEASE_INTERRUPT_CHANNEL?')
; R12405 %;
; R12406 !
; R12407 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 186
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (6)
; R12408 ! System specific time interface
; R12409 !
; R12410 ! This set of macros allows transparent manipulation of "time"
; R12411 ! in a particular system. The macros are defined to read time
; R12412 ! from the operating system, read time with a offset, compare time,
; R12413 ! set and clear interrupts on time.
; R12414 !
; R12415 !
; R12416 ! Time block structure
; R12417 !
; R12418 ! This structure defines the format needed for a specific
; R12419 ! system to store a internal time/date value.
; R12420 ! It is patterned after the EVENT TIME needs of event logging
; R12421 !
; R12422
; R12423 $field
; R12424 TIME_BLOCK_FIELDS =
; R12425 set
; R12426 TIME_JULIAN = [$integer], !Julian Half-Days
; R12427 TIME_SECOND = [$integer], !Seconds in Half-Day
; R12428 TIME_MILLISECOND = [$integer] !Milliseconds in second
; R12429 !or %o'100000'
; R12430 tes;
; R12431
; R12432 literal
; R12433 TIME_BLOCK_SIZE = $field_set_size,
; R12434 TIME_BLOCK_ALLOCATION = $field_set_units;
; R12435
; R12436
; R12437 macro TIME_BLOCK = block [TIME_BLOCK_SIZE] field(TIME_BLOCK_FIELDS) %;
; R12438
; R12439 !
; R12440 ! Macro - TIME_PLUS
; R12441 !
; R12442 ! Function - This macro adds the second argument (which is in units of
; R12443 ! seconds) to the first argument which is a time block.
; R12444 !
; R12445
; R12446 macro
; MR12447 TIME_PLUS (TIME, SECONDS) =
; MR12448 begin
; MR12449 bind TBLK = TIME : TIME_BLOCK;
; MR12450 local $NMU$SECS : unsigned;
; MR12451
; MR12452 $NMU$SECS = (SECONDS);
; MR12453
; MR12454 if .$NMU$SECS gequ (12*60*60)
; MR12455 then begin
; MR12456 TBLK [TIME_JULIAN] = .TBLK [TIME_JULIAN] + 1;
; MR12457 $NMU$SECS = .$NMU$SECS - (12*60*60);
; MR12458 end;
; MR12459 TBLK [TIME_SECOND] = .TBLK [TIME_SECOND] + .$NMU$SECS;
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 187
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (6)
; R12460 end %;
; R12461
; R12462 !
; R12463 ! Macro - TIME_DIFFERENCE_SECONDS
; R12464 !
; R12465 ! Function - Compute the difference (in seconds) of two TIME_BLOCKS
; R12466 !
; R12467
; R12468 macro
; MR12469 TIME_DIFFERENCE_SECONDS (TIME1, TIME2) =
; MR12470 begin
; MR12471 local $NMU$SECS;
; MR12472 external routine SS$TDF;
; MR12473 SS$TDF(TIME1,TIME2,$NMU$SECS);
; MR12474 .$NMU$SECS
; R12475 end %;
; R12476
; R12477 !
; R12478 ! macro: TIME_INTERRUPT_CLEAR
; R12479 !
; R12480 ! This macro clears all outstanding timer interrupts.
; R12481 !
; R12482
; R12483 macro
; MR12484 TIME_INTERRUPT_CLEAR =
; MR12485 begin
; MR12486 cmkt$s();
; R12487 end %;
; R12488
; R12489 !
; R12490 ! macro: TIME_INTERRUPT_SET
; R12491 !
; R12492 ! This macro sets a time interrupt. It also
; R12493 ! defines the routine to be called when the
; R12494 ! interrupt occurs.
; R12495 !
; R12496 ! Note that since the interrupt channel is
; R12497 ! hard coded the time interrupt must be unique.
; R12498 !
; R12499 ! TIME_INTERRUPT_SET (TIME_BLK, TROUTINE)
; R12500 !
; R12501 ! where TIM_BLK is the time in the future for a interrupt
; R12502 ! ROUTINE is the address of the interrupt service routine
; R12503
; R12504 macro
; MR12505 TIME_INTERRUPT_SET (TIM_BLK, TROUTINE) =
; MR12506 begin
; MR12507 external routine SS$STI;
; MR12508 SS$STI(TIM_BLK, TROUTINE);
; R12509 end %;
; R12510
; R12511
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 188
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (6)
; R12512 !
; R12513 ! macro: TIME_CURRENT
; R12514 !
; R12515 ! This macro returns the current time in
; R12516 ! the host operating systems time format.
; R12517 ! This is the format needed to set timer
; R12518 ! interrupts.
; R12519 !
; R12520 ! TIME_CURRENT (OFFSET, TIM_BLK)
; R12521 !
; R12522 ! where OFFSET is the number of seconds to add to the
; R12523 ! actual current time.
; R12524 ! TIM_BLK is the address of the time block in which
; R12525 ! to store the resulting time.
; R12526
; R12527 macro
; MR12528 TIME_CURRENT (OFFSET, TIM_BLK) =
; MR12529 begin
; MR12530 external routine SS$GTM : novalue;
; MR12531 SS$GTM(OFFSET, TIM_BLK);
; R12532 end %;
; R12533
; R12534 !
; R12535 ! macro: TIME_SET_NULL
; R12536 !
; R12537 ! This macro sets a time block to a null value.
; R12538 ! This value is used as a sentinel to check for
; R12539 ! a valid time value (null/not null).
; R12540 !
; R12541 ! TIME_SET_NULL (TIM_BLK)
; R12542 !
; R12543 ! where TIM_BLK is the address of the time block.
; R12544
; R12545 macro
; MR12546 TIME_SET_NULL (TIM_BLK) =
; MR12547 begin
; MR12548 bind TBLK = TIM_BLK : TIME_BLOCK;
; MR12549 TBLK [TIME_JULIAN] = -1;
; R12550 end %;
; R12551
; R12552 !
; R12553 ! macro: TIME_NOT_NULL
; R12554 !
; R12555 ! This macro checks to the value in a time block
; R12556 ! to see if it is not null (see TIME_SET_NULL).
; R12557 !
; R12558 ! TIME_NOT_NULL (TIM_BLK)
; R12559 !
; R12560 ! where TIM_BLK is the address of the time block to test.
; R12561
; MR12562 macro TIME_NOT_NULL (TIM_BLK) =
; MR12563 begin
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 189
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (6)
; MR12564 bind TBLK = TIM_BLK : TIME_BLOCK;
; MR12565 .TBLK [TIME_JULIAN] neq -1
; R12566 end %;
; R12567
; R12568
; R12569 !
; R12570 ! macro: TIME_NULL
; R12571 !
; R12572 ! This macro checks to the value in a time block
; R12573 ! to see if it is null (see TIME_SET_NULL).
; R12574 !
; R12575 ! TIME_NULL (TIM_BLK)
; R12576 !
; R12577 ! where TIM_BLK is the address of the time block to test.
; R12578
; MR12579 macro TIME_NULL (TIM_BLK) =
; MR12580 begin
; MR12581 bind TBLK = TIM_BLK : TIME_BLOCK;
; MR12582 .TBLK [TIME_JULIAN] eql -1
; R12583 end %;
; R12584
; R12585 !
; R12586 ! macro: TIME_COPY
; R12587 !
; R12588 ! This macro copies the time from one time block
; R12589 ! to another time block.
; R12590 !
; R12591 ! TIME_COPY (TO_BLK, FRM_BLK)
; R12592 !
; R12593 ! where TO_BLK is the time block to copy the time to.
; R12594 ! FRM_BLK is the time block to copy the time from.
; R12595
; MR12596 macro TIME_COPY (TO_BLK, FRM_BLK) =
; MR12597 begin
; MR12598 bind TOBLK = TO_BLK : TIME_BLOCK,
; MR12599 FRMBLK = FRM_BLK : TIME_BLOCK;
; MR12600
; MR12601 TOBLK [TIME_JULIAN] = .FRMBLK [TIME_JULIAN];
; MR12602 TOBLK [TIME_SECOND] = .FRMBLK [TIME_SECOND];
; MR12603 TOBLK [TIME_MILLISECOND] = .FRMBLK [TIME_MILLISECOND];
; R12604 end %;
; R12605
; R12606 !
; R12607 ! macro: TIME_TEST
; R12608 !
; R12609 ! This macro tests the chronological relation of
; R12610 ! the values in two time blocks. The test operator
; R12611 ! is specified as an argument to the macro. The
; R12612 ! value returned by this macro is a boolean (true/false)
; R12613 ! from the test "TB1 TST_FNC TB2" (i.e. TB1 lss TB2).
; R12614 !
; R12615 ! TIME_TEST (TBLK1, TST_FNC, TBLK2)
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 190
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (6)
; R12616 !
; R12617 ! where TBLK1 is the first time block.
; R12618 ! TST_FNC is the test operator (LSS, GTR, EQL,..etc)
; R12619 ! TBLK2 is the second time time.
; R12620
; MR12621 macro TIME_TEST (TBLK1, TST_FNC, TBLK2) =
; MR12622 begin
; MR12623 bind TIMBLK1 = TBLK1 : TIME_BLOCK,
; MR12624 TIMBLK2 = TBLK2 : TIME_BLOCK;
; MR12625 external routine SS$TDF;
; MR12626 local ABTIME;
; MR12627 (SS$TDF(TIMBLK1,TIMBLK2,ABTIME) TST_FNC 0)
; R12628 end %;
; R12629
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 191
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (7)
; R12630 !
; R12631 ! Wait Block Structure
; R12632 !
; R12633 ! This defines the WAIT_BLOCK used in timing out waiting for events,
; R12634 ! specifically those waits implemented by calling NMU$SCHED_WAIT.
; R12635 !
; R12636 $field WAIT_BLOCK_FIELDS =
; R12637 set
; R12638 WAITING_TASK = [$address], !task block addr, to ref semaphore
; R12639 $ALIGN(FULLWORD)
; R12640 WAIT_EVENT = [$address], !addr of event block to wait on
; R12641 $ALIGN(FULLWORD)
; R12642 WAIT_TIME = [$sub_block(TIME_BLOCK_SIZE)] !time at which to 'wake'
; R12643 tes;
; R12644 !
; R12645 literal
; R12646 WAIT_BLOCK_SIZE = $field_set_size;
; R12647 !
; R12648 macro
; R12649 WAIT_BLOCK = block [WAIT_BLOCK_SIZE] field (WAIT_BLOCK_FIELDS)%;
; R12650 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 192
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (8)
; R12651 !
; R12652 ! Memory allocation
; R12653 !
; R12654 ! macro: CORE_GET
; R12655 !
; R12656 ! This macro gets a block of memory from the
; R12657 ! operating system of the specified size. The
; R12658 ! address of the block is returned as the value
; R12659 ! of the macro.
; R12660 !
; R12661 ! CORE_GET (BLOCK_SIZE)
; R12662 !
; R12663 ! where BLOCK_SIZE is the number of fullwords to be allocated.
; R12664
; R12665 macro
; MR12666 CORE_GET (BLKSIZE) =
; MR12667 begin
; MR12668 external routine SS$COR;
; MR12669 SS$COR(BLKSIZE)
; R12670 end %;
; R12671
; R12672 !
; R12673 ! MEMSIZE - return current address to top of memory
; R12674 !
; R12675
; R12676 macro
; MR12677 MEMSIZE =
; MR12678 begin
; MR12679 external MEMTOP;
; MR12680 MEMTOP
; R12681 end %;
; R12682
; R12683 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 193
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (9)
; R12684 !
; R12685 ! Process sleep and indefinite waits
; R12686 !
; R12687 ! macro: PROCESS_SLEEP
; R12688 !
; R12689 ! This macro puts the current process to
; R12690 ! sleep for the specified amount of time.
; R12691 ! The process is not guaranteed to sleep
; R12692 ! the specified amount.
; R12693 !
; R12694 ! PROCESS_SLEEP (TIME)
; R12695 !
; R12696 ! where TIME is the number of milliseconds to sleep
; R12697
; R12698 macro
; MR12699 PROCESS_SLEEP (TIME) =
; MR12700 begin
; MR12701 WTSE$S(32);
; MR12702 CLEF$S(32);
; R12703 end %;
; R12704
; R12705 !
; R12706 ! macro: PROCESS_WAKE
; R12707 !
; R12708 ! This macro wakes up the current process.
; R12709 ! It may be called at interrupt level to
; R12710 ! complement the PROCESS_SLEEP function.
; R12711 !
; R12712
; R12713 macro
; MR12714 PROCESS_WAKE =
; MR12715 begin
; MR12716 SETF$S(32)
; R12717 end %;
; R12718
; R12719 !
; R12720 !<BLF/PAGE>
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 194
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (10)
; R12721 !
; R12722 ! MCB Specific Network Definitions
; R12723 !
; R12724 $field
; R12725 NMU$NETSB$fields = ! Network QIO Status Block
; R12726 set
; R12727 NETSB$ERROR = [$integer], ! Composite error code:
; R12728 $overlay(NETSB$ERROR)
; R12729 NETSB$ERR = [$tiny_integer], !error code
; R12730 NETSB$ERR1= [$tiny_integer], !0 = I/O error, -1 = directive error
; R12731 $continue
; R12732 NETSB$IO_COUNT= [$integer], ! I/O count (bytes)
; R12733 $overlay(NETSB$IO_COUNT)
; R12734 NETSB$CNT = [$byte], ! Lower Byte
; R12735 NETSB$CNT1= [$byte], ! Upper Byte
; R12736 $continue
; R12737 NETSB$LINK_ID = [$integer] ! LINK_ID for this operation
; R12738 tes;
; R12739
; R12740 literal
; R12741 NMU$_NETSB_SIZE = $field_set_size,
; R12742 NMU$_NETSB_ALLOCATION = $field_set_units;
; R12743
; R12744 macro
; MR12745 $NETWORK_STATUS_BLOCK =
; R12746 BLOCK[NMU$_NETSB_SIZE] FIELD( NMU$NETSB$fields ) %;
; R12747
; R12748 literal
; R12749 NMU$_NETWORK_MAX_INCOMING = 3, !The Maximum number of targets
; R12750 NMU$_NETWORK_MAX_OUTGOING = 5, !The Maximum number of sources
; R12751 NMU$_NETWORK_MAX_LUNS = NMU$_NETWORK_MAX_INCOMING + NMU$_NETWORK_MAX_OUTGOING; !The Maximum number of Network LUNS
; R12752
; R12753 $literal
; R12754 NMU$_CONSOLE_LUN = $distinct, !The LUN to use for the CONSOLE
; R12755 NMU$_NM_DEVICE_LUN = $distinct, !The LUN for the NM: device
; R12756 NMU$_DL0_DEVICE_LUN = $distinct, !A LUN for DLX device access
; R12757 NMU$_DL1_DEVICE_LUN = $distinct,!A LUN for DLX device access
; R12758 ! Note: all LUNs not associated with the network must be defined before here
; R12759 NMU$_NETWORK_LUN = $distinct; !The LUN to use for Network Events
; R12760 ! Note: NETWORK_LUNS go to NMU$NETWORK_LUN + NMU$_NUMBER_OF_LUNS
; R12761
; R12762 $literal
; R12763 NMU$_CONSOLE_FLAG = $distinct, !The Console Event Flag
; R12764 NMU$_NM_DEVICE_FLAG = $distinct,!The NM: device Event Flag
; R12765 NMU$_DL0_DEVICE_FLAG = $distinct,!A DLX device access Event Flag
; R12766 NMU$_DL1_DEVICE_FLAG = $distinct,!A DLX device access Event Flag
; R12767 ! Note: all Event flags not associated with the network must be defined before here
; R12768 NMU$_NETWORK_FLAG = $distinct; !The Event Flag for Network Waits
; R12769 ! Note: NETWORK_FLAGS go to NMU$NETWORK_FLAG+ NMU$_NUMBER_OF_LUNS
; R12770 !
; R12771 ! Define the NMUNET Data Structures
; R12772 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 195
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (10)
; R12773 require 'NMUNTS';
; R12957 !
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 196
24-May-1985 10:40:37 DNET61:<MCB.NML>NMUMCB.R16.3 (11)
; R12958 !
; R12959 ! Local Modes:
; R12960 ! Mode:Fundamental
; R12961 ! Comment Start:!
; R12962 ! Comment Column:40
; R12963 ! Comment Rounding:+1
; R12964 ! Auto Save Mode:2
; R12965 ! End:
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 197
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (3)
; 12966
; 12967 ![End of NMLLIB.REQ]
24-May-1985 13:17:07 TOPS-20 Bliss-16 2A(530) Page 198
3-Jan-1983 01:26:09 DNET61:<MCB.NML>NMLLIB.REQ.1 (4)
; 12968
; 12969 ! Local Modes:
; 12970 ! Mode:BLISS
; 12971 ! Comment Start:!
; 12972 ! Comment Column:40
; 12973 ! Comment Rounding:+1
; 12974 ! Auto Save Mode:2
; 12975 ! End:
; Run Time: 01:59.3
; Elapsed Time: 02:23.2
; Memory Used: 243 pages
; Library Precompilation Complete