Google
 

Trailing-Edge - PDP-10 Archives - BB-KL11J-BM_1990 - t20src/mxnrch.r36
There are 13 other files named mxnrch.r36 in the archive. Click here to see a list.
!	COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1985, 1989.
!	ALL RIGHTS RESERVED.
!
!	THIS SOFTWARE IS FURNISHED UNDER A  LICENSE AND MAY BE USED AND  COPIED
!	ONLY IN  ACCORDANCE  WITH  THE  TERMS OF  SUCH  LICENSE  AND  WITH  THE
!	INCLUSION OF THE ABOVE  COPYRIGHT NOTICE.  THIS  SOFTWARE OR ANY  OTHER
!	COPIES THEREOF MAY NOT BE PROVIDED  OR OTHERWISE MADE AVAILABLE TO  ANY
!	OTHER PERSON.  NO  TITLE TO  AND OWNERSHIP  OF THE  SOFTWARE IS  HEREBY
!	TRANSFERRED.
!
!	THE INFORMATION IN THIS  SOFTWARE IS SUBJECT  TO CHANGE WITHOUT  NOTICE
!	AND SHOULD  NOT  BE CONSTRUED  AS  A COMMITMENT  BY  DIGITAL  EQUIPMENT
!	CORPORATION.
!
!	DIGITAL ASSUMES NO  RESPONSIBILITY FOR  THE USE OR  RELIABILITY OF  ITS
!	SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
!++
! FACILITY: LSG DECnet Network Management
!
! ABSTRACT:
!
!	Contains architectural declarations required by
!       Network Management.
!
! ENVIRONMENT:  Bliss-36, Bliss-32 and Bliss-16.
!
! AUTHOR: Dale C. Gunn , CREATION DATE: 29-Aug-80
!
!--
!
! Network Management DECnet object codes
!

literal
    NICE_OBJECT = 19,
    MIRROR_OBJECT = 25,
    EVENT_OBJECT = 26;

!
! NICE Function Code Definitions
!

literal
    LOAD_ = 15,                         ! NICE Request Down-line Load Function
    DUMP_ = 16,                         ! NICE Request Up-line Dump Function
    TRIGGER_ = 17,                      ! NICE Trigger Bootstrap Function
    TEST_ = 18,                         ! NICE Test Function
    LOOP_ = TEST_,                      ! NICE Test Function
    CHANGE_ = 19,                       ! NICE Change Parameter Function
    PURGE_ = CHANGE_,                   ! NICE Change Parameter Function
    SET_ = CHANGE_,                     ! NICE Change Parameter Function
    CLEAR_ = CHANGE_,                   ! NICE Change Parameter Function
    DEFINE_ = CHANGE_,                  ! NICE Change Parameter Function
    READ_ = 20,                         ! NICE Read Information Function
    LIST_ = READ_,                      ! NICE Read Information Function
    SHOW_ = READ_,                      ! NICE Read Information Function
    ZERO_ = 21,                         ! NICE Zero Counters Function
    SYSTEM_SPECIFIC_ = 22;              ! NICE System Specific Function



! NICE Read Information Type Codes

literal
    SUMMARY_ = 0,                       ! Read Summary Parameters
    STATUS_ = 1,                        ! Read Status Parameters
    CHARACTERISTICS_ = 2,               ! Read Characteristic Parameters
    COUNTERS_ = 3,                      ! Read Counters
    EVENTS_ = 4,                        ! Read Event Logging Status
    STATE_ = 5,                         ! Read Circuit State Parameter
    QUALIFIER_ = -1,                    ! (for parameter applicability)
    INFORMATION_LO = min (SUMMARY_,STATUS_,CHARACTERISTICS_,COUNTERS_,
                          EVENTS_,QUALIFIER_),
    INFORMATION_HI = max (SUMMARY_,STATUS_,CHARACTERISTICS_,COUNTERS_,
                          EVENTS_,QUALIFIER_);



! NICE System Type Codes

literal
    RSTS_ = 1,                          ! RSTS Specific
    RSX_ = 2,                           ! RSX Family Specific
    TOPS20_ = 3,                        ! TOPS-10/20 Specific
    VMS_ = 4;                           ! VAX/VMS Specific



! NICE Entity Type Codes

literal
    ENTITY_NODE = 0,                    ! NODE Entity
    ENTITY_LINE = 1,                    ! LINE Entity
    ENTITY_LOGGING = 2,                 ! EVENT LOGGING Entity
    ENTITY_CIRCUIT = 3,                 ! CIRCUIT Entity
    ENTITY_MODULE = 4,                  ! MODULE Entity
    ENTITY_AREA = 5,                    ! AREA Entity
    NO_ENTITY_ = -1,                    ! none
    NODE_E = ENTITY_NODE,               ! NODE Entity (To be obsoleted)
    LINE_ = ENTITY_LINE,                ! LINE Entity (To be obsoleted)
    LOGGING_ = ENTITY_LOGGING,          ! EVENT LOGGING Entity (To be obsoleted)
    CIRCUIT_ = ENTITY_CIRCUIT,          ! CIRCUIT Entity (To be obsoleted)
    MODULE_ = ENTITY_MODULE,            ! MODULE Entity	 (To be obsoleted)
    AREA_ = ENTITY_AREA,                ! AREA Entity (To be obsoleted)
    ENTITY_LO = min (ENTITY_NODE, ENTITY_LINE, ENTITY_LOGGING, ENTITY_CIRCUIT,
                     ENTITY_MODULE, ENTITY_AREA),
    ENTITY_HI = max (ENTITY_NODE, ENTITY_LINE, ENTITY_LOGGING, ENTITY_CIRCUIT,
                     ENTITY_MODULE, ENTITY_AREA),

    EVENT_ENTITY_BASE = ENTITY_HI + 1;  ! Base for the "faked" event entities 

macro
!
! The list of entities and their subentites
!
    $NML$ENTITY_SET =
        NODE, LINE, LOGGING, CIRCUIT, AREA,
        (MODULE, $NML$MODULE_SUBENTITY_SET),
        EVENT_ENTITY_SET %,
!
! The list of all module subentites
!
    $NML$MODULE_SUBENTITY_SET = 
	X25_SERVER, X25_PROTOCOL, X25_ACCESS, CONSOLE, LOADER, LOOPER, CONFIGURATOR %,
!
! The list of all module subentity strings ("-" and "_")
!
    $NML$MODULE_SUBENTITY_STRINGS =
	'X25-SERVER', 'X25_SERVER', 
	'X25-PROTOCOL', 'X25_PROTOCOL', 
	'X25-ACCESS', 'X25_ACCESS', 
	'CONSOLE', 'CONSOLE', 
	'LOADER', 'LOADER', 
	'LOOPER', 'LOOPER', 
	'CONFIGURATOR', 'CONFIGURATOR' 
	%,
!
! A macro to construct full entity names from the entity list
! i.e., NODE, MODULE_CONFIGURATOR.
!
    $NML$ENTITIES [LST] =
        %if %identical (LST, (%remove (LST)))
        %then $NML$ENTITY (%remove (LST))
        %else %string (LST)
        %fi %,
    $NML$ENTITY (NAME) [SUB] = 
        %string (NAME,'_',SUB) %;

!
! NICE subentity definitions & codes
! 

! Field & structure definition for full entity type code
$field ENTITY_SUBFIELDS =
    set
    ENTITY_MAIN = [$short_integer],
    ENTITY_SUB = [$short_integer]
    tes;

literal
    ENTITY_SUB_SIZE = $field_set_size;


macro 
    FULL_ENTITY =
       	block [ENTITY_SUB_SIZE] field (ENTITY_SUBFIELDS) %;

macro
!
! This macro is to define all the module subentity types
! like MODULE_X25_ACCESS
!
    $NML$SUB_TYPES_DEF [X] =
	%name ('MODULE_', X) = $distinct %,

!
! This macro is to get a list of the module subentity types
!
    $NML$SUB_TYPES_LIST [X] =
	%name ('MODULE_', X) %,

!
! This macro is to define the full entity types for the module subentities
! like ENTITY_MODULE_X25_ACCESS
!
    $NML$SUB_FULL_DEF [X] = 
	%name ('ENTITY_MODULE_', X) = 
		ENTITY_MODULE or %name ('MODULE_', X) ^ 18 %;

! Define all the subentity constants
$literal
    NO_SUB_ENTITY = 0,
    $NML$SUB_TYPES_DEF ($NML$MODULE_SUBENTITY_SET),
    MODULE_LO = min ($NML$SUB_TYPES_LIST ($NML$MODULE_SUBENTITY_SET)),
    MODULE_HI = max ($NML$SUB_TYPES_LIST ($NML$MODULE_SUBENTITY_SET)),
    $NML$SUB_FULL_DEF ($NML$MODULE_SUBENTITY_SET);


! Define EVENT entities
!
! The reason for these "faked" or "system-specific" entities is the
! following:
!
! The event parameters are based on event classes; for network management
! (class 0) there is a set of event parameters numbered 0,1,2,....; for
! session control (class 2) there is another set of event parameters also
! numbered starting by 0.
!
! Except for the "qualification" of the event parameters, are they very
! similar to "ordinary" parameters. They have the same display format;
! (they may never be set though).
!
! Therefore, to simplify the formatting of event parameters for the console
! logger in NMLEVL, a set of "event entities" is added on top of the NML
! entities. This will make them expand into the parameter database in NMLPRM,
! so NCPRSP will have access to them when displaying event parameters.
!
! NICE messages should of course never contain entities outside the NML
! range, and that should be checked for, so there should not be any overlap.

macro
    EVENT_ENTITY_SET =
          EVENT_0,                      ! NML layer
          EVENT_2,                      ! Session
          EVENT_3,                      ! End communications
          EVENT_4,                      ! Routing
          EVENT_5,                      ! Data link layer
          EVENT_6,                      ! Physical link layer
          EVENT_96 %;                   ! LCG specific events
literal
    ENTITY_EVENT_0 = EVENT_ENTITY_BASE + 0,        ! NML layer
    ENTITY_EVENT_2 = EVENT_ENTITY_BASE + 2,        ! Session control
    ENTITY_EVENT_3 = EVENT_ENTITY_BASE + 3,        ! End communications
    ENTITY_EVENT_4 = EVENT_ENTITY_BASE + 4,        ! Routing
    ENTITY_EVENT_5 = EVENT_ENTITY_BASE + 5,        ! Data link layer
    ENTITY_EVENT_6 = EVENT_ENTITY_BASE + 6,        ! Physical link layer
    ENTITY_EVENT_96 = EVENT_ENTITY_BASE + 96;      ! LCG specific events

! NICE Entity Group Codes

literal
    SIGNIFICANT_ = -5,			! SIGNIFICANT Entities
    ADJACENT_ = -4,                     ! ADJACENT Entities
    LOOPED_ = -3,                       ! LOOPED Entities
    ACTIVE_ = -2,                       ! ACTIVE Entities
    KNOWN_ = -1;                        ! KNOWN Entities



! NICE Logging sink type values

literal
    CONSOLE_ = 1,
    FILE_ = 2,
    MONITOR_ = 3,
    LOGGING_LO = min (CONSOLE_,FILE_,MONITOR_),
    LOGGING_HI = max (CONSOLE_,FILE_,MONITOR_);

! NICE type/class word fields

macro
     $$EVENT_TYPE = 0, 5, 0 %,          ! Event type
     $$EVENT_CLASS = 6, 9, 0 %;         ! Event class

! NICE option byte field definitions

$field ZERO_OPTIONS =
    set
    ZO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    ZO_RESERVED = [$bits(4)],           ! Reserved bits, must be zero
    ZO_READ_AND_ZERO = [$bit]           ! Zero only or read and zero flag
    tes;

$field READ_OPTIONS =
    set
    RO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    RO_RESERVED = [$bit],               ! Reserved bits, must be zero
    RO_INFO_TYPE = [$bits(3)],          ! Type of information to read
    RO_PERMANENT = [$bit]               ! PERMANENT vs VOLATILE flag
    tes;

$field CHANGE_OPTIONS =
    set
    CO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    CO_RESERVED = [$bits(3)],           ! Reserved bits, must be zero
    CO_FUNCTION_DATA = [$bits(2)],
        $overlay (CO_FUNCTION_DATA)
    CO_CLEAR_PURGE = [$bit],            ! CLEAR/PURGE vs SET/DEFINE flag
    CO_PERMANENT = [$bit]               ! PERMANENT vs VOLATILE flag
        $continue
    tes;

$field TEST_OPTIONS =
    set
    TO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    TO_RESERVED = [$bits(4)],           ! Reserved bits, must be zero
    TO_ACCESS_CONTROL = [$bit]          ! Access control included flag
    tes;

$field BOOT_OPTIONS =
    set
    BO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    BO_RESERVED = [$bits(5)]            ! Reserved bits, must be zero
    tes;

$field LOAD_OPTIONS =
    set
    LO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    LO_RESERVED = [$bits(5)]            ! Reserved bits, must be zero
    tes;

$field DUMP_OPTIONS =
    set
    DO_ENTITY_TYPE = [$bits(3)],        ! NICE entity type number
    DO_RESERVED = [$bits(5)]            ! Reserved bits, must be zero
    tes;

! NICE response parameter field definitions

$field DATA_ID_FIELDS =
    set
    DI_PARMNO = [$bits(12)],            ! Parameter type number
        $overlay (DI_PARMNO)            !      ...or...
    DI_CNTRNO = [$bits(12)],            ! Counter type number
        $continue
    DI_MAPPED = [$bit],                 ! Counter bit map flag
    DI_WIDTH = [$bits(2)],              ! Counter width
    DI_TYPE = [$bit]                    ! Type of data, counter or parameter
    tes;

$field DATA_TYPE_FIELDS =
    set
    DT_NUMBER = [$bits(6)],             ! Number of bytes or fields
        $overlay(DT_NUMBER)             !      ...or...
    DT_LENGTH = [$bits(4)],             ! Length of binary number
    DT_FORMAT = [$bits(2)],             ! Format of number
        $continue
    DT_FIELDS = [$bit],                 ! Single or multiple fields
        $overlay(DT_FIELDS)             !      ...or...
    DT_FTYPE = [$bit],                  ! Field type, ASCII or binary number
        $continue
    DT_CODED = [$bit]                   ! Coded or not coded
    tes;
%sbttl 'NICE Message Codes, Values, and Text Strings'

macro
     $NML$NICE_RETURNS =
         SUC, 1, '',                    ! Success
         ACC, 2, '',                    ! Request accepted
         MOR, 3, '',                    ! Partial reply
         DON, -128, '' %;               ! Done, end of multiple response

macro
     $NML$NICE_ERRORS =
         UFO, -1, 'Unrecognized function or option',
         IMF, -2, 'Invalid message format',
         PRV, -3, 'Privilege violation',
         OCM, -4, 'Oversized Management command message',
         MPE, -5, 'Management program error',
         UPT, -6, 'Unrecognized parameter type',
         IMV, -7, 'Incompatible Management version',
         URC, -8, 'Unrecognized component',
         IID, -9, 'Invalid identification',
         LCE, -10, 'Line communication error',
         CWS, -11, 'Component in wrong state',
         FOE, -13, 'File open error',
         IFC, -14, 'Invalid file contents',
         REE, -15, 'Resource error',
         IPV, -16, 'Invalid parameter value',
         LPE, -17, 'Line protocol error',
         FIO, -18, 'File I/O error',
         MLD, -19, 'Mirror link disconnected',
         NRE, -20, 'No room for new entry',
         MCF, -21, 'Mirror connect failed',
         PNA, -22, 'Parameter not applicable',
         PVL, -23, 'Parameter value too long',
         HWF, -24, 'Hardware failure',
         OPF, -25, 'Operation failure',
         SFS, -26, 'System-specific Management function not supported',
         IPG, -27, 'Invalid parameter grouping',
         BLR, -28, 'Bad loopback response',
         PAM, -29, 'Parameter missing',
         
         BMR, -100, 'Bad management response',
         LLD, -101, 'Listener link disconnected',
         LCF, -102, 'Listener link connect failed',
         OMR, -103, 'Oversized Management response' %;

!
! Macro to build individual error macros from $NML$NICE_ERRORS
!

compiletime %TEMP = 0;

macro
     $NML$NICERR_MACRO [MNE,VAL,STR] =
         %assign(%TEMP,VAL)
         %quote literal %name('NICE$_',MNE) = VAL %quote ;
         %if %TEMP GEQ 0 
         %then %print('NICE$_',MNE,' =  ',%number(%TEMP),'; !',STR)
         %else %print('NICE$_',MNE,' = -',%assign(%TEMP,-%TEMP),%number(%TEMP),'; ! ',STR)
         %fi
         %quote macro %name('$NICE$ERR_',MNE) =
                      VAL
                      %quote %print (STR) %quote % %;

!
! Macro to build an index table of text string pointers
!

macro
     $NICE$ERR_CASES [MNE,VAL,STR] =
         %assign(%TEMP,VAL)
         %if %TEMP GEQ 0 
         %then %print ('[',%number(%TEMP),']:     CH$ASCIC(',STR,');')
         %else %print ('[-',%assign(%TEMP,-%TEMP),%number(%TEMP),']:     CH$ASCIC(',STR,');')
         %fi

         [VAL]: CH$ASCIC(%remove(STR)) %;

!
! Equated symbols
!

    $NML$NICERR_MACRO ($NML$NICE_ERRORS);
    $NML$NICERR_MACRO ($NML$NICE_RETURNS);
%sbttl 'Session Control Codes, Values, and Text Strings'

macro
     $SC_ERRORS =
         NSE, 0, 'No special error',
         RAF, 1, 'Resource allocation failure',
         DND, 2, 'Destination node does not exist',
         NSD, 3, 'Node shutting down',
         DPD, 4, 'Destination process does not exist',
         INF, 5, 'Invalid name field',
         DPQ, 6, 'Destination process queue overflow',
         USE, 7, 'Unspecified error',
         THA, 8, 'Third party aborted the logical link',
         UAB, 9, 'User abort (asynchronous disconnect)',
         UEC, 11, 'Undefined error code',
         CII, 21, 'Connect initiate (CI) with illegal destination address',
         FCV, 24, 'Flow control violation',
         TMN, 32, 'Too many connections to node',
         TMP, 33, 'Too many connections to destination process',
         ANP, 34, 'Access not permitted',
         LLS, 35, 'Logical link services mismatch',
         IAC, 36, 'Invalid account',
         SSS, 37, 'Segment size too small',
         PAB, 38, 'Process aborted',
         NPN, 39, 'No path to destination node',
         LAB, 40, 'Link aborted due to data loss',
         DLL, 41, 'Destination logical link address does not exist',
         CDI, 42, 'Confimation of disconnect initiate (DI)',
         IDF, 43, 'Image data field too long' %;

!
! Macro to build individual error macros from $SC_ERRORS
!

compiletime %TEMP1 = 0;

macro
     $SCERR_MACRO [MNE,VAL,STR] =
         %assign(%TEMP1,VAL)
         %quote literal %name('SC$_',MNE) = VAL %quote ;
         %if %TEMP1 GEQ 0 
         %then %print('SC$_',MNE,' =  ',%number(%TEMP1),'; ! ',STR)
         %else %print('SC$_',MNE,' = -',%assign(%TEMP1,-%TEMP1),%number(%TEMP1),'; ! ',STR)
         %fi
         %quote macro %name('$SC$ERR_',MNE) =
                      VAL
                      %quote %print (STR) %quote % %;

!
! Macro to build an index table of text string pointers
!

macro
     $SC$ERR_CASES [MNE,VAL,STR] =
         %assign(%TEMP1,VAL)
         %if %TEMP1 GEQ 0 
         %then %print ('[',%number(%TEMP1),']:     CH$ASCIC(',STR,');')
         %else %print ('[-',%assign(%TEMP1,-%TEMP1),%number(%TEMP1),']:     CH$ASCIC(',STR,');')
         %fi
         [VAL]: CH$ASCIC(%remove(STR)) %;

!
! Equated symbols
!

    $SCERR_MACRO ($SC_ERRORS);

!
! Other error detail texts
!

macro
     $LINK_DETAIL_ERRORS =
         , 0, 'No node name set',
         , 1, 'Invalid node name format',
         , 2, 'Unrecognized node name',
         , 3, 'Node unreachable',
         , 4, 'Network resources',
         , 5, 'Rejected by object',
         , 6, 'Invalid object name format',
         , 7, 'Unrecognized object',
         , 8, 'Access control rejected',
         , 9, 'Object too busy',
         ,10, 'No response from object',
         ,11, 'Remote node shut down',
         ,12, 'Node or object failed',
         ,13, 'Disconnect by object',
         ,14, 'Abort by object',
         ,15, 'Abort by management',
         ,16, 'Local node shut down' %,

     $FILE_DETAIL_ERRORS =
         , 0, 'Permanent Database',
         , 1, 'Load File',
         , 2, 'Dump File',
         , 3, 'Secondary Loader',
         , 4, 'Tertiary Loader',
         , 5, 'Secondary Dumper',
         , 6, 'Volatile Database' %;
%sbttl 'MOP Function Codes'

literal
    LOAD_WITH_TRANSFER = 0,
    DUMP_COMPLETE = 1,
    LOAD_WITHOUT_TRANSFER = 2,
    ASSISTANCE_VOLUNTEER = 3,
    REQUEST_DUMP = 4,
    ENTER_MOP_MODE = 6,
    REQUEST_PROGRAM = 8,
    REQUEST_MEMORY_LOAD = 10,
    MOP_MODE_RUNNING = 12,
    REQUEST_DUMP_SERVICE = 12,
    MEMORY_DUMP_DATA = 14,
    DAP_MESSAGE_ENVELOPE = 16,
    ENTER_ASCII_TTY_MODE = 18,
    PARAMETERS_WITH_TRANSFER = 20,
    CHK11_ASCII_TEXT = 22,
    LOOPBACK_TEST = 24,
    LOOPED_DATA = 26;

literal                             ! Starting image load types
    SECONDARY_LOADER = 0,
    TERTIARY_LOADER = 1,
    SYSTEM_IMAGE = 2;

literal                             ! CPU type codes
    CPU_PDP8 = 0,
    CPU_PDP11 = 1,
    CPU_DEC1020 = 2,
    CPU_VAX = 3;
%sbttl 'NICE Entity Parameter Tables'

! Each entry of the following NICE entity parameter table has the following
! format:
!
!    (PARAMETER NUMBER,
!     LITERAL NAME,
!     DATA TYPE,
!     LAYER APPLICABILITY,
!     (reserved),
!     INFORMATION TYPE,
!     APPLICABILITY RESTRICTION,
!     SETTABILITY RESTRICTION,
!     APPLICABLE VERSIONS,
!     CODED FIELD TEXT MAPPINGS)
!
! PARAMETER NUMBER
!     As defined in the Network Management Architecture Specification
!     document. All parameter numbers are decimal, except specified otherwise.
!
! LITERAL NAME
!     The literal representation of a parameter from the NCP keywords column
!     of the architecture tables, represented as capitalized lower case text.
!
! DATA TYPE
!     The data format notations for extracting data from the request NICE
!     messages obtained from the data type field of the architecture tables.
!
!     These can be either simple data types of the form:
!         (C,n)   C-n     Coded, single field, n bytes
!         (AI,n)  AI-n    ASCII image field, maximum n bytes
!         (DU,n)  DU-n    Decimal number, unsigned, n bytes
!         (DS,n)  DS-n    Decimal number, signed, n bytes
!         (H,n)   H-n     Hexadecimal number, n bytes
!         (HI,n)  HI-n    Hexadecimal image, maximum n bytes
!         (O,n)   O-n     Octal number, n bytes
!
!     or complex data types:
!         CM2     CM-2    Coded, multiple (2) fields, 2 bytes each
!			  ((DU,2),(DU,2))
!         CME     CM-4    Coded, multiple (4) fields, EVENTS format
!			  ((C,1),{((DU,2),(AI,6)),(AI,16)},(C,2),(HI,8))
!         CMN     CM-2    Coded, multiple (2) fields, NODE format
!			  ((DU,2),(AI,6))
!         CMO     CM-2    Coded, multiple (2) fields, OBJECT format
!			  ((DU,1),(AI,16))
!         CMU     CM-2    Coded, multiple (2) fields, USER format
!			  ((C,1),{((DU,2),(AI,6)),(AI,16)})
!         CMV     CM-3    Coded, multiple (3) fields, VERSION format
!			  ((DU,1),(DU,1),(DU,1))
!	  CMF	  CM-16   Coded multiple (16) fields, FUNCTION format
!			  ((C,1),((C,1)),((C,1)),((C,1)),((C,1)),((C,1)),
!			   ((C,1)),((C,1)),((C,1)),((C,1)),((C,1)),((C,1)),
!			   ((C,1)),((C,1)),((C,1)),((C,1)))
!	  CML	  CM-5    Coded, multiple (5) fields, LAST REPORT format
!			  ((DU,1),(C,1),(DU,1),(DU,1),(DU,1))
!	  CMT     CM-3    Coded, multiple (3) fields, ELAPSED TIME format
!			  ((DU,2),(DU,1),(DU,2))
!	  CMS     CM-2    Coded, multiple (2) fields, Software Identification format
!			  ((C,1),(AI,16))

$literal
    CM2 = $distinct,                    ! Coded 2 2-bytes
    CME = $distinct,                    ! Coded Event
    CMN = $distinct,                    ! Coded Node
    CMO = $distinct,                    ! Coded Object
    CMU = $distinct,                    ! Coded User/Owner
    CMV = $distinct,                    ! Coded Version
    CMF = $distinct,			! Coded Function
    CML = $distinct,			! Coded Last Report
    CMT = $distinct,			! Coded Elapsed Time
    CMS = $distinct,			! Coded Software Identification
    CMDC = $distinct;                   ! 'Dont care' (used by events)

! LAYER APPLICABILITY
!     Contains applicability information for NML.  Multiple values must
!     be enclosed in parenthesis.
!
!         NML     indicates that the parameter is maintained by the
!                 NML layer; if not spcified, parameter is maintained
!                 by one of the lower layers.
!         RO      indicates that parameter cannot be set via NICE.
!
! (reserved entry)
!     This was historically the Data Type field entry, but is now replaced
!     by information in the DATA TYPE field.
!
! INFORMATION TYPE
!     The information type notation as specified by the Network Management
!     Architecture specification.  Multiple values must be enclosed in
!     parenthesis.
!
!         C       Characteristics
!         S       Status
!         *       Summary
!         EV      Events
!         Q       Qualifier
!
! APPLICABILITY RESTRICTION
!     The applicability restriction field from the Network Management
!     Architecture specification.  Multiple values must be enclosed in
!     parenthesis.
!
!         A       Adjacent node only
!         DN      Destination node only (includes executor)
!         E       Executor node only
!         N       Node by name only
!         L       Loop nodes
!         R       Remote nodes (all nodes except executor and loop nodes)
!         S       Sink node only
!         Q       Indicates a parameter must be qualified
!
! SETTABILITY RESTRICTION
!     The setability restriction field from the Network Management
!     Architecture specification.  Multiple values must be enclosed in
!     parenthesis.
!
!         RO    Read Only
!         WO    Write Only
!         LO    Loop Only
!
!     The following information is also supplied in this field:
!
!         C     Clearable parameter
!         U     Convert to upper case
!         P     Password parameter
!
! APPLICABLE VERSIONS
!     The Network Management version number(s) for which this parameter
!     definition is valid.  If left null, the definition applies to all
!     versions.  Multiple versions must be enclosed in parenthesis.
!
! CODED FIELD TEXT MAPPINGS
!     This field provides a single set of mappings from numeric values to
!     text strings.  It is provided for C-1 and CM-n fields which contain
!     a C-1 field, but will not handle multiple C-n mappings.
!     The mappings are obtained from the tables following the entity
!     parameter tables as defined in the Network Management Architecture
!     Specification, and are of the form:
!
!         (mapping, mapping, ...)
!
!          mapping := (value, 'text')
!
!     The values must be provided in ascending order.
!
!     This entry should be replaced when a more satisfactory solution to
!     multiple mappings can be found.
%sbttl 'AREA Parameter Table'

macro
     $NML$AREA_PARMS =
         (000, 'State', (C,1),,, (S,'*'),, RO, 4,
                         ((4, 'Reachable'),
                          (5, 'Unreachable'))),
         (820, 'Cost', (DU,2),,, S,, RO, 4),
         (821, 'Hops', (DU,1),,, S,, RO, 4),
         (822, 'Circuit', (AI,16),,, (S,'*'),, RO, 4),
         (830, 'Next Node', CMN,,, (S,'*'),, RO, 4) %;
%sbttl 'NODE Parameter Table'

macro
     $NML$NODE_PARMS =
         (000, 'State', (C,1),,, (S,'*'), (E,R),,,
                        ((0, 'On'),
                         (1, 'Off'),
                         (2, 'Shut'),
                         (3, 'Restricted'),
                         (4, 'Reachable'),
                         (5, 'Unreachable'))),
         (010, 'Physical Address', (HI,6), NML,, S, E, RO, 4),
         (100, 'Identification', (AI,32), NML,, (C,'*'), E, C),
         (101, 'Management Version', CMV, NML,, C, E, RO),
         (110, 'Service Circuit', (AI,16), NML,, C, A, (C,U)),
         (111, 'Service Password', (H,8), NML,, C, A, C),
         (112, 'Service Device', (C,1), NML,, C, A, C,,
                                 ((0, 'DP'), (1, 'UNA'),
                                  (2, 'DU'), (3, 'CNA'), (4, 'DL'),
                                  (5, 'QNA'), (6, 'DQ'), (7, 'CI'),
                                  (8, 'DA'), (9, 'PCL'), (10, 'DUP'),
                                  (12, 'DMC'), (14, 'DN'), (15, 'NI'),
                                  (16, 'DLV'), (18, 'DMP'), (20, 'DTE'),
                                  (22, 'DV'), (24, 'DZ'),
                                  (28, 'KDP'), (30, 'KDZ'),
                                  (32, 'KL'), (34, 'DMV'),
                                  (36, 'DPV'), (38, 'DMF'),
                                  (40, 'DMR'), (42, 'KMY'), (44, 'KMX'))),
         (113, 'CPU', (C,1), NML,, C, A, C,,
                      ((0, 'PDP8'),
                       (1, 'PDP11'),
                       (2, 'DECSYSTEM1020'),
                       (4, 'VAX'))),
         (114, 'Hardware Address', (HI,6), NML,, C, A, C, 4),
         (115, 'Service Node Version', (C,1), NML,, C, A, C, 4),
         (120, 'Load File', (AI,255), NML,, C, A, (C,U)),
         (121, 'Secondary Loader', (AI,255), NML,, C, A, (C,U)),
         (122, 'Tertiary Loader', (AI,255), NML,, C, A, (C,U)),
         (123, 'Diagnostic File', (AI,255), NML,, C, A, (C,U), 4),
         (125, 'Software Type', (C,1), NML,, C, A, C,,
                                ((0, 'Secondary Loader'),
                                 (1, 'Tertiary Loader'),
                                 (2, 'System'))),
         (126, 'Software Identification', (AI,16), NML,, C, A, C),
         (130, 'Dump File', (AI,255), NML,, C, A, (C,U)),
         (131, 'Secondary Dumper', (AI,255), NML,, C, A, (C,U)),
         (135, 'Dump Address', (O,4), (NML,RO),, C, A),
         (136, 'Dump Count', (DU,4), (NML,RO),, C, A),
         (140, 'Host', CMN, NML,, C, (A,E), RO),
         (141, 'Host', CMN, NML,, C, (A,E), (WO, C)),
         (150, 'Loop Count', (DU,2), NML,, C, E, RO, 3),
         (150, 'Loop Count', (DU,2), NML,, C, E, LO, 4),
         (151, 'Loop Length', (DU,2), NML,, C, E, RO, 3),
         (151, 'Loop Length', (DU,2), NML,, C, E, LO, 4),
         (152, 'Loop With', (C,1), NML,, C, E, RO, 3,
                            ((0, 'Zeroes'),
                             (1, 'Ones'),
                             (2, 'Mixed'))),
         (152, 'Loop With', (C,1), NML,, C, E, LO, 4,
                            ((0, 'Zeroes'),
                             (1, 'Ones'),
                             (2, 'Mixed'))),
         (153, 'Loop Assistant Physical Address', (HI,6), NML,, C, E, LO, 4),
         (154, 'Loop Help', (C,1), NML,, C, E, LO, 4,
                            ((0, 'Transmit'),
                             (1, 'Receive'),
                             (2, 'Full'))),
         (155, 'Loop Node', CMN, NML,, C, E, LO, 4,),
         (156, 'Loop Assistant Node', CMN, NML,, C, E, LO, 4),
         (160, 'Counter Timer', (DU,2), NML,, C, (E,R), C),
         (500, 'Name', CMN,,,, (E,R), (WO, C)),
         (501, 'Circuit', (AI,16),,, (C,'*'), (L,N), (C,U), 3),
         (501, 'Circuit', (AI,16),,, (C,'*'), (Q,L,N), (C,U), 4),
         (502, 'Address', (DU,2),,,, E, WO),
         (510, 'Incoming Timer', (DU,2),,, C, E, C),
         (511, 'Outgoing Timer', (DU,2),,, C, E, C),
         (600, 'Active Links', (DU,2),,, (S,'*'), (E,R), RO),
         (601, 'Delay', (DU,2),,, (S,'*'), R, RO),
         (700, 'NSP Version', CMV,,, C, E, RO),
         (710, 'Maximum Links', (DU,2),,, C, E),
         (720, 'Delay Factor', (DU,1),,, C, E),
         (721, 'Delay Weight', (DU,1),,, C, E),
         (722, 'Inactivity Timer', (DU,2),,, C, E),
         (723, 'Retransmit Factor', (DU,2),,, C, E),
         (810, 'Type', (C,1),,, S, A, RO, 3,
                       ((0, 'Routing III'),
                        (1, 'Nonrouting III'),
                        (2, 'Phase II'))),
         (810, 'Type', (C,1),,, S, A, RO, 4,
                       ((0, 'Routing III'),
                        (1, 'Nonrouting III'),
                        (3, 'Area'),
                        (4, 'Routing IV'),
                        (5, 'Nonrouting IV'))),
         (820, 'Cost', (DU,2),,, S, R, RO),
         (821, 'Hops', (DU,1),,, S, R, RO),
         (822, 'Circuit', (AI,16),,, (S,'*',Q), R, RO, (3,4)),
         (830, 'Next Node', CMN,,, (S,'*'), R, RO, 4),
         (900, 'Routing Version', CMV,,, C, E, RO),
         (901, 'Type', (C,1),,, C, E,, 3,
                       ((0, 'Routing III'),
                        (1, 'Nonrouting III'),
                        (2, 'Phase II'))),
         (901, 'Type', (C,1),,, C, E,, 4,
                       ((0, 'Routing III'),
                        (1, 'Nonrouting III'),
                        (3, 'Area'),
                        (4, 'Routing IV'),
                        (5, 'Nonrouting IV'))),
         (910, 'Routing Timer', (DU,2),,, C, E),
         (911, 'Subaddresses', CM2,,, C, E,, (3,4)),
         (912, 'Broadcast Routing Timer', (DU,2),,, C, E,, 4),
         (920, 'Maximum Address', (DU,2),,, C, E),
         (921, 'Maximum Circuits', (DU,2),,, C, E,, (3,4)),
         (922, 'Maximum Cost', (DU,2),,, C, E),
         (923, 'Maximum Hops', (DU,1),,, C, E),
         (924, 'Maximum Visits', (DU,1),,, C, E),
         (925, 'Maximum Area', (DU,2),,, C, E,, 4),
         (926, 'Maximum Broadcast Nonrouters', (DU,2),,, C, E,, 4),
         (927, 'Maximum Broadcast Routers', (DU,2),,, C, E,, 4),
         (928, 'Area Maximum Cost', (DU,2),,, C, E,, 4),
         (929, 'Area Maximum Hops', (DU,2),,, C, E,, 4),
         (930, 'Maximum Buffers', (DU,2),,, C, E),
         (931, 'Buffer Size', (DU,2),,, C, E),
         (932, 'Segment Buffer Size', (DU,2),,, C, E,, 4),
! RSX-specific node parameters
         (2300, 'Receive Password', (C,1),,, C,,,),
         (2301, 'Transmit Password', (C,1),,, C,,,),
         (2310, 'Verification State', (C,1),,, C,,,,
                                      ((0, 'On'),
                                       (1, 'Off'))),
! TOPS-10/20 specific node parameters
         (2500, 'Fence', (DU,2),,, C, A,, 3),
         (2511, 'Console Secondary Loader', (AI,255), NML,, C, A, (C,U)),
         (2512, 'Console Load File', (AI,255), NML,, C, A, (C,U)),
! VMS specific node parameters
         (2704, 'Privileged User ID', (DU,1),,,,,,,),
         (2705, 'Privileged Account', (DU,1),,,,,,,),
         (2706, 'Privileged Password', (DU,1),,,,,,,),
         (2712, 'Non-privileged User ID', (DU,1),,,,,,,),
         (2713, 'Non-privileged Account', (DU,1),,,,,,,),
         (2714, 'Non-privileged Password', (DU,1),,,,,,,),
         (2720, 'Receive password', (DU,1),,,,,,,),
         (2721, 'Transmit password', (DU,1),,,,,,,),
         (2730, 'Access', (C,1),,,,,,,
                          ((0, 'None'),
                           (1, 'Incoming'),
                           (2, 'Outgoing'),
                           (3, 'Incoming and outgoing'),
                           (4, 'Required'))),
         (2731, 'Default access', (C,1),,,,,,,
                          ((0, 'None'),
                           (1, 'Incoming'),
                           (2, 'Outgoing'),
                           (3, 'Incoming and outgoing'),
                           (4, 'Required'))),
         (2740, 'Pipeline quota', (DU,1),,,,,,,),
         (2741, 'Alias address', (DU,1),,,,,,,),
         (2751, 'Default proxy access', (C,1),,,,,,,
                          ((0, 'None'),
                           (1, 'Incoming'),
                           (2, 'Outgoing'),
                           (3, 'Incoming and outgoing'),
                           (4, 'Required'))),
! PRO specific node parameters
         (3110, 'Verification State', (C,1),,, C, E,,,
                ((0, 'On'),
                 (1, 'Off'))),
         (3202, 'Active control buffers', (DU,2),,,(C,'*'), E,,,),
         (3204, 'Active small buffers', (DU,2),,,(C,'*'), E,,,),
         (3206, 'Active large buffers', (DU,2),,,(C,'*'), E,,,),
         (3210, 'Maximum control buffers', (DU,2),,,(C,'*'), E,,,),
         (3220, 'Maximum small buffers', (DU,2),,,(C,'*'), E,,,),
         (3230, 'Maximum large buffers', (DU,2),,,(C,'*'), E,,,),
         (3231, 'Large buffer size', (DU,2),,, C, E,,,),
         (3240, 'Minimum receive buffers', (DU,2),,, C, E,,,),
         (3280, 'Maximum remote nodes', (DU,2),,, C, E,,,),
         (3281, 'Maximum aliases', (DU,2),,, C, E,,,),
         (3282, 'Reboot maximum remote nodes', (DU,2),,, C, E,,,),
         (3283, 'Reboot maximum aliases', (DU,2),,, C, E,,,),
         (3284, 'Reboot large buffer size', (DU,2),,, C, E,,,),
         (3285, 'Reboot node address', CMN,,, C, E,,,),
         (3286, 'Reboot node name', (AI,6),,, C, E,,,),
         (3287, 'Reboot node identifier', (AI,16),,, C, E,,,),
         (3288, 'Reboot maximum large buffers', (DU,2),,, C, E,,,),
         (3289, 'Reboot segment buffer size', (DU,2),,, C, E,,,),
         (3290, 'Reboot maximum small buffers', (DU,2),,, C, E,,,),
         (3291, 'Reboot maximum logical links', (DU,2),,, C, E,,,),
         (3292, 'Remote nodes available', (DU,2),,, C, E,,,),
         (3293, 'Aliases available', (DU,2),,, C, E,,,),
! Server Base specific node parameters
         (3300, 'Receive password', (DU,1),,, C, E,,,),
         (3301, 'Transmit password', (DU,1),,, C, E,,,),
         (3310, 'Verification State', (C,1),,, C, E,,,
                              ((0, 'On'),
                               (1, 'Off'))),
         (3402, 'Active control buffers', (DU,2),,, C, E,,,),
         (3404, 'Active small buffers', (DU,2),,, C, E,,,),
         (3406, 'Active large buffers', (DU,2),,, C, E,,,),
         (3410, 'Maximum control buffers', (DU,2),,, C, E,,,),
         (3420, 'Maximum small buffers', (DU,2),,, C, E,,,),
         (3430, 'Maximum large buffers', (DU,2),,, C, E,,,),
         (3431, 'Large buffer size', (DU,2),,, C, E,,,),
         (3440, 'Minimum receive buffers', (DU,2),,, C, E,,,),
         (3450, 'CEX Pool: Total Bytes', (DU,2),,, C, E,,,),
         (3452, 'CEX Pool: Number of Fragments', (DU,2),,, C, E,,,),
         (3454, 'CEX Pool: Largest Fragment', (DU,2),,, C, E,,,),
         (3460, 'Extended Pool: Total Bytes', (DU,2),,, C, E,,,),
         (3462, 'Extended Pool: Number of Fragments', (DU,2),,, C, E,,,),
         (3464, 'Extended Pool: Largest Fragment', (DU,2),,, C, E,,,) %;
%sbttl 'LINE Parameter Table'

macro
     $NML$LINE_PARMS =
         (0000, 'State', (C,1),,, (S,'*'),,,,
                         ((0, 'On'),
                          (1, 'Off'),
                          (2, 'Service'),
                          (3, 'Cleared'))),
         (0001, 'Substate', (C,1), NML,, (S,'*'),, RO,,
                            ((0, 'Starting'),
                             (1, 'Reflecting'),
                             (2, 'Looping'),
                             (3, 'Loading'),
                             (4, 'Dumping'),
                             (5, 'Triggering'),
                             (6, 'Autoservice'),
                             (7, 'Autoloading'),
                             (8, 'Autodumping'),
                             (9, 'Autotriggering'),
                             (10, 'Synchronizing'),
                             (11, 'Failed'))),
         (0100, 'Service', (C,1), NML,, C,,,,
                           ((0, 'Enabled'),
                            (1, 'Disabled'))),
         (0110, 'Counter Timer', (DU,2), NML,, C,, C),
         (1100, 'Device', (AI,16),,, C,,, (3,4)),
         (1105, 'Receive Buffers', (DU,2),,, C,,, (3,4)),
         (1110, 'Controller', (C,1),,, C,,,,
                              ((0, 'Normal'),
                               (1, 'Loopback'))),
         (1111, 'Duplex', (C,1),,, C,,,,
                          ((0, 'Full'),
                           (1, 'Half'))),
         (1112, 'Protocol', (C,1),,, C,,, (3,4),
                            ((0, 'DDCMP-Point'),
                             (1, 'DDCMP-Control'),
                             (2, 'DDCMP-Tributary'),
                             (4, 'DDCMP-DMC'),
                             (5, 'LAPB'),
                             (6, 'Ethernet'),
                             (7, 'CI'),
                             (8, 'QP2'))),
         (1113, 'Clock', (C,1),,, C,,, (3,4),
                         ((0, 'External'),
                          (1, 'Internal'))),
         (1120, 'Service Timer', (DU,2),,, C),
         (1121, 'Retransmit Timer', (DU,2),,, C,,, (3,4)),
         (1122, 'Holdback Timer', (DU,2),,, C,, C,,, (3,4)),
         (1130, 'Maximum Block', (DU,2),,, C,,, (3,4)),
         (1131, 'Maximum Retransmits', (DU,1),,, C,, C, (3,4)),
         (1132, 'Maximum Window', (DU,1),,, C,,, (3,4)),
         (1150, 'Scheduling Timer', (DU,2),,, C,, C, (3,4)),
         (1151, 'Dead Timer', (DU,2),,, C,, C, (3,4)),
         (1152, 'Delay Timer', (DU,2),,, C,, C, (3,4)),
         (1153, 'Stream Timer', (DU,2),,, C,, C, (3,4)),
         (1160, 'Hardware Address', (HI,6),,, C,, RO, 4),
! RSX specific line parameters
         (2300, 'Owner', (AI,3),,, C,,,),
         (2310, 'Controller CSR', (O,2),,, C,,,),
         (2311, 'Unit CSR', (O,2),,, C,,,),
         (2312, 'Vector', (O,1),,, C,,,),
         (2313, 'Priority', (DU,1),,, C,,,),
         (2321, 'Multipoint Dead', (DU,1),,, C,,,),
         (2330, 'Location', (C,1),,, C,,,,
                            ((0, 'Firstfit'),
                             (1, 'Topdown'))),
! TOPS-10/20 specific line parameters
         (2500, 'Receive buffer size', (DU,2),,, C,,RO),
         (2650, 'Controller Register', (O,2),,, C,,, (3,4)),
         (2651, 'Unit Register', (O,2),,, C,,, (3,4)),
         (2655, 'Interrupt Vector', (O,2),,, C,,, (3,4)),
         (2660, 'Interrupt Priority', (DU,1),,, C,,, (3,4)),
         (2670, 'Pause Timer', (DU,2),,, C,,, (3,4)),
! VMS specific line parameters
         (2701, 'Micro-code dump file specification', (DU,1),,,,,,,),
         (2710, 'X.25 line mode', (DU,1),,,,,,,),
         (2720, 'Ethernet protocol type', (DU,1),,,,,,,),
         (2848, 'Buffer Size', (DU,2),,, C,,RO),
! PRO specific line parameters
         (3110, 'Controller CSR', (DU,2),,, C),
         (3112, 'Vector', (DU,2),,,C),
         (3113, 'Priority', (DU,2),,,C),
! Server Base specific line parameters
         (3310, 'Controller CSR', (O,2),,, C,,,),
         (3311, 'Unit CSR', (O,2),,, C,,,),
         (3312, 'Vector', (O,1),,, C,,,),
         (3313, 'Priority', (DU,1),,, C,,,),
         (3380, 'Logical name', (DU,1),,,,,,,),
         (3385, 'Designated name', (DU,1),,,,,,,),
         (3390, 'Actual name', (DU,1),,,,,,,) %;
%sbttl 'LOGGING Parameter Table'
!
macro
     $NML$LOGGING_PARMS =
         (000, 'State', (C,1), NML,, (S,'*'), E,,,
                        ((0, 'On'),
                         (1, 'Off'),
                         (2, 'Hold'))),
         (100, 'Name', (AI,255), NML,, (C,'*'),E,C),
         (200, 'Sink Node', CMN, NML,, (Q,EV,'*'), S),
         (201, 'Events', CME, NML,, (EV,'*'), S,,,
                         ((0, 'Node'),
                          (1, 'Line'),
                          (2, 'Logging'),
                          (3, 'Circuit'),
                          (4, 'Module'),
                          (5, 'Area'))) %;
%sbttl 'CIRCUIT Parameter Table'

macro
     $NML$CIRCUIT_PARMS =
         (0000, 'State', (C,1), NML,, (S,'*'),,, (3,4),
                         ((0, 'On'),
                          (1, 'Off'),
                          (2, 'Service'),
                          (3, 'Cleared'))),
         (0001, 'Substate', (C,1), NML,, (S,'*'),, RO, (3,4),
                            ((0, 'Starting'),
                             (1, 'Reflecting'),
                             (2, 'Looping'),
                             (3, 'Loading'),
                             (4, 'Dumping'),
                             (5, 'Triggering'),
                             (6, 'Autoservice'),
                             (7, 'Autoloading'),
                             (8, 'Autodumping'),
                             (9, 'Autotriggering'),
                             (10, 'Synchronizing'),
                             (11, 'Failed'))),
         (0100, 'Service', (C,1), NML,, C,,, (3,4),
                           ((0, 'Enabled'),
                            (1, 'Disabled'))),
         (0110, 'Counter Timer', (DU,2), NML,, C,, C, (3,4)),
         (0120, 'Service Physical Address', (HI,6), NML,, (S,'*',Q),, RO, 4),
         (0121, 'Service Substate', (C,1), NML,, (S,'*'), Q, RO, 4),
         (0200, 'Connected Node', CMN,,, (S,'*'),, RO, (3,4)),
         (0201, 'Connected Object', CMO,,, (S,'*'),, RO, (3,4)),
         (0400, 'Loopback Name', (AI,6),,, (S,'*'),, RO, (3,4)),
         (0800, 'Adjacent Node', CMN,,, (S,'*'),, RO, 3),
         (0800, 'Adjacent Node', CMN,,, (S,'*',Q),, RO, 4),
         (0801, 'Designated Router', CMN,,, S,, RO, 4),
         (0810, 'Block Size', (DU,2),,, S,, RO, 3),
         (0810, 'Block Size', (DU,2),,, S, Q, RO, 4),
         (0811, 'Originating Queue Limit', (DU,2),,, C,,, 4),
         (0900, 'Cost', (DU,1),,, C,,, (3,4)),
         (0901, 'Maximum Routers', (DU,1),,,,,, 4),
         (0902, 'Router Priority', (DU,1),,,,,, 4),
         (0906, 'Hello Timer', (DU,2),,, C,,, (3,4)),
         (0907, 'Listen Timer', (DU,2),,, C,,, 3),
         (0907, 'Listen Timer', (DU,2),,, C, Q, RO, 4),
         (0910, 'Blocking', (C,1),,, C,,, (3,4),
                            ((0, 'Enabled'),
                             (1, 'Disabled'))),
         (0920, 'Maximum Recalls', (DU,1),,, C,, C, (3,4)),
         (0921, 'Recall Timer', (DU,2),,, C,, C, (3,4)),
         (0930, 'Number', (AI,16),,, C,,, (3,4)),
         (1000, 'User', CMU,,, (S,'*'),, RO, (3,4),
                        ((0, 'Node'),
                         (1, 'Line'),
                         (2, 'Logging'),
                         (3, 'Circuit'),
                         (4, 'Module'))),
         (1010, 'Polling State', (C,1),,, (S,'*'),,, (3,4),
                                 ((0, 'Automatic'),
                                  (1, 'Active'),
                                  (2, 'Inactive'),
                                  (3, 'Dying'),
                                  (4, 'Dead'))),
         (1011, 'Polling substate', (C,1),,, (S,'*'),, RO, (3,4),
                                    ((1, 'Active'),
                                     (2, 'Inactive'),
                                     (3, 'Dying'),
                                     (4, 'Dead'))),
         (1100, 'Owner', CMU,,, C,, C, (3,4),
                         ((0, 'Node'),
                          (1, 'Line'),
                          (2, 'Logging'),
                          (3, 'Circuit'),
                          (4, 'Module'))),
         (1110, 'Line', (AI,16),,, C,, U, (3,4)),
         (1111, 'Usage', (C,1),,, C,,, (3,4),
                         ((0, 'Permanent'),
                          (1, 'Incoming'),
                          (2, 'Outgoing'))),
         (1112, 'Type', (C,1),,, C,, RO, 3,
                        ((0, 'DDCMP-Point'),
                         (1, 'DDCMP-Control'),
                         (2, 'DDCMP-Tributary'),
                         (3, 'X25'),
                         (4, 'DDCMP-DMC'),
                         (5, 'LAPB'))),
         (1112, 'Type', (C,1),,, C,,, 4,
                        ((0, 'DDCMP-Point'),
                         (1, 'DDCMP-Control'),
                         (2, 'DDCMP-Tributary'),
                         (3, 'X25'),
                         (4, 'DDCMP-DMC'),
                         (6, 'Ethernet'),
                         (7, 'CI'),
                         (8, 'QP2'),
                         (9, 'BISYNC'))),
         (1120, 'DTE', (AI,16),,, C,, U, (3,4)),
         (1121, 'Channel', (DU,2),,, C,,, (3,4)),
         (1122, 'Maximum Data', (DU,2),,, C,,, (3,4)),
         (1123, 'Maximum Window', (DU,1),,, C,,, (3,4)),
         (1140, 'Tributary', (DU,1),,, C,,, (3,4)),
         (1141, 'Babble Timer', (DU,2),,, C,, C, (3,4)),
         (1142, 'Transmit Timer', (DU,2),,, C,, C, (3,4)),
         (1145, 'Maximum Buffers', (C,1),,, C,, C, (3,4),
                                   ((255, 'Unlimited'))),
         (1146, 'Maximum Transmits', (DU,1),,, C,, C, (3,4)),
         (1150, 'Active Base', (DU,1),,, C,, C, (3,4)),
         (1151, 'Active Increment', (DU,1),,, C,, C, (3,4)),
         (1152, 'Inactive Base', (DU,1),,, C,, C, (3,4)),
         (1153, 'Inactive Increment', (DU,1),,, C,, C, (3,4)),
         (1154, 'Inactive Threshold', (DU,1),,, C,, C, (3,4)),
         (1155, 'Dying Base', (DU,1),,, C,, C, (3,4)),
         (1156, 'Dying Increment', (DU,1),,, C,, C, (3,4)),
         (1157, 'Dying Threshold', (DU,1),,, C,, C, (3,4)),
         (1158, 'Dead Threshold', (DU,1),,, C,, C, (3,4)),
! RSX-specific circuit parameters
         (2302, 'Multipoint active', (DU,1),,, C,, C,),
         (2320, 'Multipoint active ratio', (DU,1),,,,,,),
         (2380, 'Logical name', (DU,1),,,,,,),
         (2385, 'Designated name', (DU,1),,,,,,),
         (2390, 'Actual name', (DU,1),,,,,,),
! TOPS-10/20 specific circuit parameters
         (2600, 'Node Type', (C,1),,, C,,, (3,4),
                             ((0, 'Routing III'),
                              (1, 'Nonrouting III'),
                              (2, 'Phase II'),
                              (3, 'Area'),
                              (4, 'Routing IV'),
                              (5, 'Nonrouting IV'))),
! VMS specific circuit parameters
         (2700, 'Verification', (C,1),,,,,,,
                                ((0, 'Enabled'),
                                 (1, 'Disabled'))),
         (2720, 'Transport type', (C,1),,,,,,,
                                  ((1, 'Z-node'),
                                   (2, 'Force phase II on this circuit'),
                                   (3, 'Routing III'),
                                   (4, 'Routing III'),
                                   (5, 'Nonrouting phase IV'))),
! Server Base specific circuit parameters
         (3380, 'Logical name', (DU,1),,,,,,,),
         (3385, 'Designated name', (DU,1),,,,,,,),
         (3390, 'Actual name', (DU,1),,,,,,,) %;
%sbttl 'MODULE Parameter Tables'

macro
     $NML$MODULE_CONSOLE_PARMS =
         (0110, 'Reservation Timer', (DU,2), NML,, (C,'*'),,, 4) %,
     $NML$MODULE_LOADER_PARMS =
         (0010, 'Assistance', (C,1), NML,, (S,'*'),,, 4,
                              ((0, 'Enabled'),
                               (1, 'Disabled'))) %,
     $NML$MODULE_LOOPER_PARMS =
         (0010, 'Assistance', (C,1), NML,, (S,'*'),,, 4,
                              ((0, 'Enabled'),
                               (1, 'Disabled'))) %,
     $NML$MODULE_CONFIGURATOR_PARMS =
         (0100, 'Circuit', (AI,16), NML,, Q,,, 4),
         (0110, 'Surveillance', (C,1), NML,, (S,'*'), Q,, 4,
                                ((0, 'Enabled'),
                                 (1, 'Disabled'))),
         (0111, 'Elapsed Time', CMT, NML,, (S,'*'), Q, RO, 4),
         (0120, 'Physical Address', (HI,6), NML,, (S,Q),, RO, 4),
         (0130, 'Last Report', CML, NML,, S, Q, RO, 4,
                               ((1, 'Jan'),
                                (2, 'Feb'),
                                (3, 'Mar'),
                                (4, 'Apr'),
                                (5, 'May'),
                                (6, 'Jun'),
                                (7, 'Jul'),
                                (8, 'Aug'),
                                (9, 'Sep'),
                                (10, 'Oct'),
                                (11, 'Nov'),
                                (12, 'Dec'))),
         (1001, 'Maintenance Version', CMV, NML,, S, Q, RO, 4),
         (1002, 'Functions', CMF, NML,, S, Q, RO, 4,
                             ((0, 'Loop'),
                              (1, 'Dump'),
                              (2, 'Primary Loader'),
                              (3, 'Multi-block Loader'),
                              (4, 'Boot'),
                              (5, 'Console Carrier'),
                              (6, 'Data Link Counters'),
                              (7, 'Console Carrier Reservation'))),
         (1003, 'Console User', (HI,6), NML,, S, Q, RO, 4),
         (1004, 'Reservation Timer', (DU,2), NML,, S, Q, RO, 4),
         (1005, 'Command Size', (DU,2), NML,, S, Q, RO, 4),
         (1006, 'Response Size', (DU,2), NML,, S, Q, RO, 4),
         (1007, 'Hardware Address', (HI,6), NML,, S, Q, RO, 4),
         (1100, 'Device', (C,1), NML,, S, Q, RO, 4,
                                 ((0, 'DP'), (1, 'UNA'),
                                  (2, 'DU'), (3, 'CNA'), (4, 'DL'),
                                  (5, 'QNA'), (6, 'DQ'), (7, 'CI'),
                                  (8, 'DA'), (9, 'PCL'), (10, 'DUP'),
                                  (12, 'DMC'), (14, 'DN'), (15, 'NI'),
                                  (16, 'DLV'), (18, 'DMP'), (20, 'DTE'),
                                  (22, 'DV'), (24, 'DZ'),
                                  (28, 'KDP'), (30, 'KDZ'),
                                  (32, 'KL'), (34, 'DMV'),
                                  (36, 'DPV'), (38, 'DMF'),
                                  (40, 'DMR'), (42, 'KMY'), (44, 'KMX'))),
         (1200, 'Software Identification', CMS, NML,, S, Q, RO, 4),
         (1300, 'System Processor', (C,1), NML,, S, Q, RO, 4,
                                    ((1, 'PDP-11'),
                                     (2, 'Pluto'))),
         (1400, 'Data Link', (C,1), NML,, S, Q, RO, 4,
                             ((1, 'Ethernet'),
                              (2, 'DDCMP'),
                              (3, 'LAPB'))),
         (1401, 'Data Link Buffer Size', (DU,2), NML,, S, Q, RO, 4) %,
     $NML$MODULE_X25_ACCESS_PARMS =
         (0320, 'Node', CMN, NML,, C, ((Q,1110)),, (3,4)),
         (0330, 'User', (AI,39), NML,, C, ((Q,1110)), (C,U), (3,4)),
         (0331, 'Password', (AI,39), NML,, C, ((Q,1110)), (C,P), (3,4)),
         (0332, 'Account', (AI,39), NML,, C, ((Q,1110)), (C,U), (3,4)),
         (1110, 'Network', (AI,16), NML,, Q,, U, (3,4)),
         (2310, 'Destination', (AI,6),,, C,,,),
         (2320, 'Number', (AI,16),,, C,,,),
         (2330, 'Scope', (DU,1),,, C,,,) %,
     $NML$MODULE_X25_PROTOCOL_PARMS =
         (0000, 'State', (C,1),,, (S,'*'), Q,, (3,4),
                         ((0, 'On'),
                          (1, 'Off'),
                          (2, 'Shut'))),
         (0100, 'Counter Timer', (DU,2), NML,, C, ((Q,1100)), C, (3,4)),
         (1000, 'Active Channels', (DU,2),,, (S,'*'), ((Q,1100)), RO, (3,4)),
         (1010, 'Active Switched', (DU,2),,, (S,'*'), ((Q,1100)), RO, (3,4)),
         (1100, 'DTE', (AI,16),,, Q,, U, (3,4)),
         (1101, 'Group', (AI,16),,, Q,, U, (3,4)),
         (1110, 'Network', (AI,16),,, C,, U, (3,4)),
         (1120, 'Line', (AI,16),,, C, ((Q,1100)), (C,U), (3,4)),
         (1130, 'Channels', CM2,,, C, ((Q,1100)),, (3,4)),
         (1131, 'Maximum Channels', (DU,2),,, C, ((Q,1100)), RO, (3,4)),
         (1140, 'Default Data', (DU,2),,, C,,, (3,4)),
         (1141, 'Default Window', (DU,1),,, C,,, (3,4)),
         (1150, 'Maximum Data', (DU,2),,, C,,, (3,4)),
         (1151, 'Maximum Window', (DU,1),,, C,,, (3,4)),
         (1152, 'Maximum Clears', (DU,1),,, C,, C, (3,4)),
         (1153, 'Maximum Resets', (DU,1),,, C,, C, (3,4)),
         (1154, 'Maximum Restarts', (DU,1),,, C,, C, (3,4)),
         (1160, 'Call Timer', (DU,1),,, C,, C, (3,4)),
         (1161, 'Clear Timer', (DU,1),,, C,, C, (3,4)),
         (1162, 'Reset Timer', (DU,1),,, C,, C, (3,4)),
         (1163, 'Restart Timer', (DU,1),,, C,, C, (3,4)),
         (1170, 'DTE', (AI,16),,, C, ((Q,1101)), (C,U), (3,4)),
         (1171, 'Number', (DU,2),,, C, ((Q,1101)),, (3,4)),
         (1172, 'Type', (C,1),,, C, ((Q,1101)), C, (3,4),
                        ((1, 'Bilateral'))),
! VMS specific module X25-PROTOCOL parameters
         (2720, 'Substate', (C,1), RO,, (S,'*'),, RO, (3,4),
                            ((10, 'Synchronizing'),
                             (11, 'Failed'),
                             (12, 'Running'),
                             (13, 'Unsynchronized'))) %,
     $NML$MODULE_X25_SERVER_PARMS = 
         (0100, 'Counter Timer', (DU,2), NML,, C, Q, C, (3,4)),
         (0200, 'Active Circuits', (DU,2),,, (S,'*'),, RO, (3,4)),
         (0300, 'Destination', (AI,16),,, Q,, U, (3,4)),
         (0310, 'Maximum Circuits', (DU,2),,, C,,, (3,4)),
         (0320, 'Node', CMN,,, C, Q,, (3,4)),
         (0330, 'User', (AI,39),,, C, Q, (C,U), (3,4)),
         (0331, 'Password', (AI,39),,, C, Q, (C,P), (3,4)),
         (0332, 'Account', (AI,39),,, C, Q, (C,U), (3,4)),
         (0340, 'Object', CMO,,, C, Q,, (3,4)),
         (0350, 'Priority', (DU,1),,, C, Q, C, (3,4)),
         (0351, 'Call Mask', (HI,16),,, C, Q, C, (3,4)),
         (0352, 'Call Value', (HI,16),,, C, Q, C, (3,4)),
         (0353, 'Group', (AI,16),,, C, Q, (C,U), (3,4)),
         (0354, 'Number', (AI,16),,, C, Q, C, (3,4)),
         (0355, 'Subaddresses', CM2,,, C, Q, C, (3,4)) %;

!macro
!     $NML$MODULE_PARMS =
!         (0000, 'State', (C,1),,, (S,'*'), Q,, (3,4),
!                         ((0, 'On'),
!                          (1, 'Off'),
!                          (2, 'Shut'))),
!         (0100, 'Counter Timer', (DU,2), NML,, C, Q, C, (3,4)),
!         (0200, 'Active Circuits', (DU,2),,, (S,'*'),, RO, (3,4)),
!         (0300, 'Destination', (AI,16),,, Q,, U, (3,4)),
!         (0310, 'Maximum Circuits', (DU,2),,, C,,, (3,4)),
!
!         %if $MCB
!         %then                          ! MODULE X25-SERVER parameters
!         (0320, 'Node', CMN,,, C, Q,, (3,4)),
!         (0330, 'User', (AI,39),,, C, Q, (C,U), (3,4)),
!         (0331, 'Password', (AI,39),,, C, Q, (C,P), (3,4)),
!         (0332, 'Account', (AI,39),,, C, Q, (C,U), (3,4)),
!         %else                          ! MODULE X25-ACCESS parameters
!         (0320, 'Node', CMN, NML,, C, ((Q,1100)),, (3,4)),
!         (0330, 'User', (AI,39), NML,, C, ((Q,1100)), (C,U), (3,4)),
!         (0331, 'Password', (AI,39), NML,, C, ((Q,1100)), (C,P), (3,4)),
!         (0332, 'Account', (AI,39), NML,, C, ((Q,1100)), (C,U), (3,4)),
!         %fi
!
!         (0340, 'Object', CMO,,, C, Q,, (3,4)),
!         (0350, 'Priority', (DU,1),,, C, Q, C, (3,4)),
!         (0351, 'Call Mask', (HI,16),,, C, Q, C, (3,4)),
!         (0352, 'Call Value', (HI,16),,, C, Q, C, (3,4)),
!         (0353, 'Group', (AI,16),,, C, Q, (C,U), (3,4)),
!         (0354, 'Number', (AI,16),,, C, Q, C, (3,4)),
!         (0355, 'Subaddresses', CM2,,, C, Q, C, (3,4)),
!         (1000, 'Active Channels', (DU,2),,, (S,'*'), Q, RO, (3,4)),
!         (1010, 'Active Switched', (DU,2),,, (S,'*'), Q, RO, (3,4)),
!         (1100, 'DTE', (AI,16),,, Q,, U, (3,4)),
!         (1101, 'Group', (AI,16),,, Q,, U, (3,4)),
!
!         %if $MCB
!         %then                          ! MODULE X25-PROTOCOL parameter
!         (1110, 'Network', (AI,16),,, C,, U, (3,4)),
!         %else                          ! MODULE X25-ACCESS parameter
!         (1110, 'Network', (AI,16), NML,, Q,, U, (3,4)),
!         %fi
!
!         (1120, 'Line', (AI,16),,, C, Q, (C,U), (3,4)),
!         (1130, 'Channels', CM2,,, C, Q,, (3,4)),
!         (1131, 'Maximum Channels', (DU,2),,, C, Q, RO, (3,4)),
!         (1140, 'Default Data', (DU,2),,, C,,, (3,4)),
!         (1141, 'Default Window', (DU,1),,, C,,, (3,4)),
!         (1150, 'Maximum Data', (DU,2),,, C,,, (3,4)),
!         (1151, 'Maximum Window', (DU,1),,, C,,, (3,4)),
!         (1152, 'Maximum Clears', (DU,1),,, C,, C, (3,4)),
!         (1153, 'Maximum Resets', (DU,1),,, C,, C, (3,4)),
!         (1154, 'Maximum Restarts', (DU,1),,, C,, C, (3,4)),
!         (1160, 'Call Timer', (DU,1),,, C,, C, (3,4)),
!         (1161, 'Clear Timer', (DU,1),,, C,, C, (3,4)),
!         (1162, 'Reset Timer', (DU,1),,, C,, C, (3,4)),
!         (1163, 'Restart Timer', (DU,1),,, C,, C, (3,4)),
!         (1170, 'DTE', (AI,16),,, C, Q, (C,U), (3,4)),
!         (1171, 'Number', (DU,2),,, C, Q,, (3,4)),
!         (1172, 'Type', (C,1),,, C, Q, C, (3,4),
!                        ((1, 'Bilateral'))) %;
%sbttl 'CIRCUIT Counters'

macro
     $NML$CIRCUIT_COUNTERS =
         (0000, 'Seconds Since Last Zeroed', 16),,
         (0800, 'Terminating Packets Received', 32),,
         (0801, 'Originating Packets Sent', 32),,
         (0802, 'Terminating Congestion Loss', 16),,
         (0805, 'Corruption Loss', 8),,
         (0810, 'Transit Packets Received', 32),,
         (0811, 'Transit Packets Sent', 32),,
         (0812, 'Transit Congestion Loss', 16),,
         (0820, 'Circuit Downs', 8),,
         (0821, 'Initialization Failures', 8),,
         (1000, 'Bytes Received', 32),,
         (1001, 'Bytes Sent', 32),,
         (1010, 'Data Blocks Received', 32),,
         (1011, 'Data Blocks Sent', 32),,
         (1020, 'Data Error Inbound', 8),
             ((0, 'NAKs Sent, Header Block Check Error'),
              (1, 'NAKs Sent, Data Field Block Check Error'),
              (2, 'NAKs Sent, REP Response')),
         (1021, 'Data Errors Outbound', 8),
             ((0, 'NAKs Received, Header Block Check Error'),
              (1, 'NAKs Received, Data Field'),
              (2, 'NAKs Received, REP Response')),
         (1030, 'Remote Reply Timeouts', 8),,
         (1031, 'Local Reply Timeouts', 8),,
         (1040, 'Remote Buffer Errors', 8),
             ((0, 'NAKs Received, Buffer Unavailable'),
              (1, 'NAKs Received, Buffer Too Small')),
         (1041, 'Local Buffer Errors', 8),
             ((0, 'NAKs Sent, Buffer Unavailable'),
              (1, 'NAKs Sent, Buffer Too Small')),
         (1050, 'Selection Intervals Elapsed', 16),,
         (1051, 'Selection Timeouts', 8),
             ((0, 'No Reply To Select'),
              (1, 'Incomplete Reply To Select')),
         (1065, 'User Buffer Unavailable', 16),,
         (1240, 'Locally Initiated Resets', 8),,
         (1241, 'Remotely Initiated Resets', 8),,
         (1242, 'Network Initiated Resets', 8),,
! TOPS-10/20 specific circuit counters
         (2500, 'Transmit packets discarded-blocksize exceeded', 16),,
! VMS specific circuit counters
         (2701, 'Multicast received for not enabled protocol type', 16),
         %;
%sbttl 'LINE Counters'

macro
     $NML$LINE_COUNTERS =
         (0000, 'Seconds Since Last Zeroed', 16),,
         (1000, 'Bytes Received', 32),,
         (1001, 'Bytes Sent', 32),,
         (1002, 'Multicast Bytes Received', 32),,
         (1010, 'Data Blocks Received', 32),,
         (1011, 'Data Blocks Sent', 32),,
         (1012, 'Multicast Bytes Sent', 32),,
         (1013, 'Blocks sent, initially deferred', 32),,
         (1014, 'Blocks sent, single collision', 32),,
         (1015, 'Blocks sent, multiple collisions', 32),,
         (1020, 'Data Errors Inbound', 8),
             ((0, 'NAKs Sent, Header Block Check Error'),
              (1, 'NAKs Sent, Data Field Block Check'),
              (2, 'NAKs Sent, REP Response'),
              (3, 'Block Too Long'),
              (4, 'Block Check Error'),
              (5, 'REJ Sent')),
         (1021, 'Data Errors Outbound', 8),
             ((0, 'NAKs Received, Header Block Check Error'),
              (1, 'NAKs Received, Data Field Block Check Error'),
              (2, 'NAKs Received, REP Response'),
              (3, 'REJ Received')),
         (1030, 'Remote Reply Timeouts', 8),,
         (1031, 'Local Reply Timeouts', 8),,
         (1040, 'Remote Buffer Errors', 8),
             ((0, 'NAKs Received, Buffer Unavailable'),
              (1, 'NAKs Received, Buffer Too Small'),
              (2, 'RNR Received, Buffer Unavailable')),
         (1041, 'Local Buffer Errors', 8),
             ((0, 'NAKs Sent, Buffer Unavailable'),
              (1, 'NAKs Sent, Buffer Too Small'),
              (2, 'RNR Sent, Buffer Unavailable')),
         (1050, 'Selection Intervals Elapsed', 16),,
         (1051, 'Selection Timeouts', 8),
             ((0, 'No Reply To Select'),
              (1, 'Incomplete Reply To Select')),
         (1060, 'Send failure', 16),
             ((0, 'Excessive Collisions'),
              (1, 'Carrier check failed'),
              (2, 'Short circuit'),
              (3, 'Open circuit'),
              (4, 'Frame too long'),
              (5, 'Remote failure to defer')),
         (1061, 'Collision detect check failure', 16),,
         (1062, 'Receive failure', 16),
             ((0, 'Block check error'),
              (1, 'Framing error'),
              (2, 'Frame too long')),
         (1063, 'Unrecognized frame destination', 16),,
         (1064, 'Data Overrun', 16),,
         (1065, 'System buffer unavailable', 16),,
         (1066, 'User buffer unavailable', 16),,
         (1067, 'TDR value', 16),,
         (1100, 'Remote Process Errors', 8),
             ((0, 'NAKs Received, Receive Overrun'),
              (1, 'NAKs Sent, Header Format Error'),
              (2, 'Selection Address Errors'),
              (3, 'Streaming Tributaries'),
              (4, 'Invalid N(R) Received'),
              (5, 'FRMR Sent, Header Format Error')),
         (1101, 'Local Process Errors', 8),
             ((0, 'NAKs Sent, Receive Overrun'),
              (1, 'Receiving Overruns, NAKs Not Sent'),
              (2, 'Transmit Underrun'),
              (3, 'NAKs Received, Header Format Error'),
              (4, 'Receive Overrun'),
              (5, 'FRMR Received, Header Format Error')),
! TOPS-10/20 specific line counters
         (2500, 'Device Configuration Errors', 8),
             ((0, 'Invalid Controller Register'),
              (1, 'Non-existent Controller Register'),
              (2, 'Invalid Unit Register'),
              (3, 'Non-existent Unit Register'),
              (4, 'Invalid Interrupt Vector'),
              (5, 'Conflicting Interrupt Vector'),
              (6, 'Invalid Interrupt priority')),
         (2501, 'Device Service Errors', 8),
             ((0, 'Lost Interrupt'),
              (1, 'Lost RDYI'),
              (2, 'Lost HALT'),
              (3, 'Lost Transmit'),
              (4, 'Lost Doorbell')),
         (2502, 'Fatal Device Errors', 8),
             ((0, 'Invalid Register Contents'),
              (1, 'Receive BA mismatch'),
              (2, 'Transmit BA mismatch'),
              (3, 'Non-existent Memory Address given to Device'),
              (4, 'Microcode error'),
              (5, 'Completion Queue Overrun'),
              (6, 'Doorbell Stuck')),
         (2503, 'KMC Polling Adjustments', 8),,
! VMS specific line counters
         (2701, 'Multicast packets transmitted', 16),,
         (2702, 'Multicast bytes transmitted', 16),,
! PRO specific line counters
         (3130, 'DECNA lockup value', 16),
         %;
%sbttl 'MODULE Counters'

macro
     $NML$X25_PROTOCOL_COUNTERS =
         (0000, 'Seconds Since Last Zeroed', 16),,
         (1000, 'Bytes Received', 32),,
         (1001, 'Bytes Sent', 32),,
         (1010, 'Data Blocks Received', 32),,
         (1011, 'Data Blocks Sent', 32),,
         (1200, 'Calls Received', 16),,
         (1201, 'Calls Sent', 16),,
         (1210, 'Fast Selects Received', 16),,
         (1211, 'Fast Selects Sent', 16),,
         (1220, 'Maximum Switched Circuits Active', 16),,
         (1221, 'Maximum Channels Active', 16),,
         (1230, 'Received Call Resource Errors', 16),,
         (1240, 'Locally Initiated Resets', 8),,
         (1241, 'Network Initiated Resets', 8),,
         (1242, 'Remotely Initiated Resets', 8),,
         (1250, 'Restarts', 8),
         %,

     $NML$X25_SERVER_COUNTERS =
         (0000, 'Seconds Since Last Zeroed', 16),,
         (0200, 'Maximum Circuits Active', 16),,
         (0210, 'Incoming Calls Rejected, No Resources', 8),,
         (0211, 'Logical Links Rejected, No Resources', 8),
         %;
%sbttl 'NODE Counters'

macro
     $NML$NODE_COUNTERS =
         (0000, 'Seconds Since Last Zeroed', 16),,
         (0600, 'User Bytes Received', 32),,
         (0601, 'User Bytes Sent', 32),,
         (0602, 'User Messages Received', 32),,
         (0603, 'User Messages Sent', 32),,
         (0608, 'Total Bytes Received', 32),,
         (0609, 'Total Bytes Sent', 32),,
         (0610, 'Total Messages Received', 32),,
         (0611, 'Total Messages Sent', 32),,
         (0620, 'Connects Received', 16),,
         (0621, 'Connects Sent', 16),,
         (0630, 'Response Timeouts', 16),,
         (0640, 'Received Connect Resource Errors', 16),,
         (0700, 'Maximum Logical Links Active', 16),,
         (0900, 'Packet Loss', 8),,
         (0901, 'Node Unreachable Packet Loss', 16),,
         (0902, 'Node Out-of-Range Packet Loss', 8),,
         (0903, 'Oversized Packet Loss', 8),,
         (0910, 'Packet Format Errors', 8),,
         (0920, 'Partial Routing Update Loss', 8),,
         (0930, 'Verification Rejects', 8),,
! RSX specific node counters
         (2300, 'Node maximum logical links active', 8),,
         (2310, 'Total received connect resource errors', 8),,
! PRO specific node counters
         (3100, 'Seconds since last zeroed', 16),,
         (3110, 'Control buffer shortages', 16),,
         (3120, 'Small buffer shortages', 16),,
         (3130, 'Large buffer shortages', 16),,
         (3140, 'Receive buffer shortages', 16),,
! Server Base specific node counters
         (3310, 'Control buffer allocation failures', 16),,
         (3320, 'Small buffer allocation failures', 16),,
         (3330, 'Large buffer allocation failures', 16),,
         (3340, 'Receive buffer allocation failures', 16),
         %;
%sbttl 'Events'

! Define two applicability values in addition to the entity types
! Note: if the MCB ever supports events, or TOPS-10 and TOPS-20 not generate
!  the same events, then the NO_LOCAL should be changed to 3 operating system
!  specific flags.
literal
       ANY_ENTITY = -2,                 ! Any entity on local node
       NO_LOCAL = -3;                   ! This event is not generated on the
                                        !  the local node.

macro
    $NML$EVENTS =
        $NML$NETWORK_MANAGEMENT_EVENTS,
        $NML$SESSION_CONTROL_EVENTS,
        $NML$END_COMMUNICATION_EVENTS,
        $NML$ROUTER_EVENTS,
        $NML$DATA_LINK_EVENTS,
        $NML$PHYSICAL_LINK_EVENTS,
        $NML$LCG_EVENTS,
        $NML$VMS_EVENTS %,

    $NML$NETWORK_MANAGEMENT_EVENTS =
        (0, 0, NO_ENTITY_, 'Event records lost'),
        (0, 1, ENTITY_NODE, 'Automatic node counters'),
        (0, 2, ENTITY_LINE, 'Automatic line counters'),
        (0, 3, ENTITY_CIRCUIT, 'Automatic service'),
        (0, 4, ENTITY_LINE, 'Line counters zeroed'),
        (0, 5, ENTITY_NODE, 'Node counters zeroed'),
        (0, 6, ENTITY_CIRCUIT, 'Passive loopback'),
        (0, 7, ENTITY_CIRCUIT, 'Aborted service request'),
        (0, 8, ANY_ENTITY, 'Automatic counters'),
        (0, 9, ANY_ENTITY, 'Counters zeroed') %,

    $NML$EVENT_0_PARMS =
        (0, 'Service',CMDC , NML,,,,RO,,
            ((0, 'Load'),
             (1, 'Dump'))),
        (1, 'Status',CMDC  , NML,,,,RO,,),
        (2, 'Operation',CMDC , NML,,,,RO,,
            ((0, 'Initiated'),
             (1, 'Terminated'))),
        (3, 'Reason',CMDC , NML,,,,RO,,
            ((0, 'Receive timeout'),
             (1, 'Receive error'),
             (2, 'Line state change by higher level'),
             (3, 'Unrecognized request'),
             (4, 'Line open error'))),
        (4, 'Qualifier',CMDC , NML,,,,RO,,),
        (5, 'Node',CMN , NML,,,,RO,,),
        (6, 'DTE',CMDC , NML,,,,RO,,),
        (7, 'Filespec',CMDC , NML,,,,RO,,),
        (8, 'Software type',CMDC, NML,,,,RO,,
            ((0, 'Secondary loader'),
             (1, 'Tertiary loader'),
             (2, 'System image'))),
        (2500, 'Physical address',CMDC, NML,,,,RO,,)
 %;

macro
    $NML$SESSION_CONTROL_EVENTS =
        (2, 0, NO_LOCAL, 'Local node state change'),
        (2, 1, NO_LOCAL, 'Access control reject') %,

    $NML$EVENT_2_PARMS =
        (0, 'Reason',CMDC, NML,,,,RO,,
           ((0, 'Operator command'),
            (1, 'Normal operation'))),
        (1, 'Old state',CMDC, NML,,,,RO,,
           ((0, 'On'),
            (1, 'Off'),
            (2, 'Shut'),
            (3, 'Restricted'))),
        (2, 'New state',CMDC, NML,,,,RO,,
           ((0, 'On'),
            (1, 'Off'),
            (2, 'Shut'),
            (3, 'Restricted'))),
        (3, 'Source node',CMN, NML,,,,RO,,),
        (4, 'Source process',CMDC, NML,,,,RO,,),
        (5, 'Destination process',CMDC, NML,,,,RO,,),
        (6, 'User',CMDC , NML,,,,RO,,),
        (7, 'Password',CMDC , NML,,,,RO,,
           ((0, 'Set'))),
        (8, 'Account',CMDC , NML,,,,RO,,) %;

macro
    $NML$END_COMMUNICATION_EVENTS =
        (3, 0, NO_ENTITY_, 'Invalid message'),
        (3, 1, NO_ENTITY_, 'Invalid flow control'),
        (3, 2, ENTITY_NODE, 'Data base reused') %,

    $NML$EVENT_3_PARMS =
        (0, 'Message',CMDC , NML,,,,RO,,),
        (1, 'Current flow request count',CMDC,NML,,,,RO,,),
        (2, 'Source node',CMN, NML,,,,RO,,) %;

macro
    $NML$ROUTER_EVENTS =
        (4, 0, NO_ENTITY_, 'Aged packet loss'),
        (4, 1, ENTITY_CIRCUIT, 'Node unreachable packet loss'),
        (4, 2, ENTITY_CIRCUIT, 'Node out-of-range packet loss'),
        (4, 3, ENTITY_CIRCUIT, 'Oversized packet loss'),
        (4, 4, ENTITY_CIRCUIT, 'Packet format error'),
        (4, 5, ENTITY_CIRCUIT, 'Partial routing update loss'),
        (4, 6, ENTITY_CIRCUIT, 'Verification reject'),
        (4, 7, ENTITY_CIRCUIT, 'Circuit down, circuit fault'),
        (4, 8, ENTITY_CIRCUIT, 'Circuit down'),
        (4, 9, ENTITY_CIRCUIT, 'Circuit down, operator initiated'),
        (4, 10, ENTITY_CIRCUIT, 'Circuit up'),
        (4, 11, ENTITY_CIRCUIT, 'Initialization failure, line fault'),
        (4, 12, ENTITY_CIRCUIT, 'Initialization failure, software fault'),
        (4, 13, ENTITY_CIRCUIT, 'Initialization failure, operator fault'),
        (4, 14, ENTITY_NODE, 'Node reachability change'),
        (4, 15, ENTITY_CIRCUIT, 'Adjacency up'),
        (4, 16, ENTITY_CIRCUIT, 'Adjacency rejected'),
        (4, 17, ENTITY_AREA, 'Area reachability change'),
        (4, 18, ENTITY_CIRCUIT, 'Adjacency down'),
        (4, 19, ENTITY_CIRCUIT, 'Adjacency down, operator initiated') %,

    $NML$EVENT_4_PARMS =
        (0, 'Packet header',CMDC,NML,,,,RO,,),
        (1, 'Packet beginning',CMDC,NML,,,,RO,,),
        (2, 'Highest address',CMDC,NML,,,,RO,,),
        (3, 'Node',CMN,NML,,,,RO,,),
        (4, 'Expected node',CMDC,NML,,,,RO,,),
        (5, 'Reason',CMDC,NML,,,,RO,,
           ((0, 'Line Synchronization Lost'),
            (1, 'Data Errors'),
            (2, 'Unexpected Packet Type'),
            (3, 'Routing Update Checksum Error'),
            (4, 'Adjacent Node Address Change'),
            (5, 'Verification Receive Timeout'),
            (6, 'Version Skew'),
            (7, 'Adjacent Node Address out of Range'),
            (8, 'Adjacent Node Block Size too Small'),
            (9, 'Invalid Verification Seed Value'),
            (10, 'Adjacent Node Listener Receive Timeout'),
            (11, 'Adjacent Node Listener Received Invalid Data'),
            (12, 'Call Failed'),
            (13, 'Verification password required from Phase III node'),
            (14, 'Dropped by adjacent node'))),
        (6, 'Received version',CMDC,NML,,,,RO,,),
        (7, 'Status',CMDC,NML,,,,RO,,
           ((0, 'Reachable'),
            (1, 'Unreachable'))),
        (8, 'Adjacent node',CMN,NML,,,,RO,,) %;

macro
    $NML$DATA_LINK_EVENTS =
        (5, 0, ENTITY_CIRCUIT, 'Locally initiated state change'),
        (5, 1, ENTITY_CIRCUIT, 'Remotely initiated state change'),
        (5, 2, ENTITY_CIRCUIT, 'Protocol restart received in maintenance mode'),
        (5, 3, ENTITY_CIRCUIT, 'Send error threshold'),
        (5, 4, ENTITY_CIRCUIT, 'Receive error threshold'),
        (5, 5, ENTITY_CIRCUIT, 'Select error threshold'),
        (5, 6, ENTITY_CIRCUIT, 'Block header format error'),
        (5, 7, ENTITY_CIRCUIT, 'Selection address error'),
        (5, 8, ENTITY_CIRCUIT, 'Streaming tributary'),
        (5, 9, ENTITY_CIRCUIT, 'Local buffer too small'),
        (5, 10, NO_LOCAL, 'Restart (X.25 protocol)'),
        (5, 11, NO_LOCAL, 'State change (X.25 protocol)'),
        (5, 12, NO_LOCAL, 'Retransmit maximum exceeded'),
        (5, 13, ENTITY_LINE, 'Initialization failure'),
        (5, 14, ENTITY_LINE, 'Send failed'),
        (5, 15, ENTITY_LINE, 'Receive failed'),
        (5, 16, ENTITY_LINE, 'Collision detect check failed'),
        (5, 17, NO_LOCAL, 'DTE up'),
        (5, 18, NO_LOCAL, 'DTE down') %,

    $NML$EVENT_5_PARMS =
        (0, 'Old state',CMDC,NML,,,,RO,,
           ((0, 'Halted'),
            (1, 'Istrt'),
            (2, 'Astrt'),
            (3, 'Running'),
            (4, 'Maintenance'))),
        (1, 'New state',CMDC,NML,,,,RO,,
           ((0, 'Halted'),
            (1, 'Istrt'),
            (2, 'Astrt'),
            (3, 'Running'),
            (4, 'Maintenance'))),
        (2, 'Header',CMDC,NML,,,,RO,,),
        (3, 'Selected tributary',CMDC,NML,,,,RO,,),
        (4, 'Previous tributary',CMDC,NML,,,,RO,,),
        (5, 'Tributary status',CMDC,NML,,,,RO,,
           ((0, 'Streaming'),
            (1, 'Continued send after timeout'),
            (2, 'Continued send after deselect'),
            (3, 'Ended streaming'))),
        (6, 'Received tributary',CMDC,NML,,,,RO,,),
        (7, 'Block length',CMDC,NML,,,,RO,,),
        (8, 'Buffer length',CMDC,NML,,,,RO,,),
        (9, 'DTE',CMDC,NML,,,,RO,,),
        (10, 'Reason',CMDC,NML,,,,RO,,
            ((0, 'Operator command'),
             (1, 'Normal operation'))),
        (11, 'Old state',CMDC,NML,,,,RO,,
            ((0, 'On'),
             (1, 'Off'),
             (2, 'Shut'))),
        (12, 'New state',CMDC,NML,,,,RO,,
            ((0, 'On'),
             (1, 'Off'),
             (2, 'Shut'))),
        (13, 'Parameter type',CMDC,NML,,,,RO,,),
        (14, 'Cause',CMDC,NML,,,,RO,,),
        (15, 'Diagnostic',CMDC,NML,,,,RO,,),
        (16, 'Failure reason',CMDC,NML,,,,RO,,
            ((0, 'Excessive collisions'),
             (1, 'Carrier check failed'),
             (2, '** Obsolete **'),
             (3, 'Short circuit'),
             (4, 'Open circuit'),
             (5, 'Frame too long'),
             (6, 'Remote failure to defer'),
             (7, 'Block check error'),
             (8, 'Framing error'),
             (9, 'Data overrun'),
             (10, 'System buffer unavailable'),
             (11, 'User buffer unavailable'),
             (12, 'Unrecognized frame destination'))),
        (17, 'Distance',CMDC,NML,,,,RO,,),
        (18, 'Ethernet header',CMDC,NML,,,,RO,,),
        (19, 'Hardware status',CMDC,NML,,,,RO,,) %;

macro
    $NML$PHYSICAL_LINK_EVENTS =
        (6, 0, ENTITY_LINE, 'Data set ready transition'),
        (6, 1, ENTITY_LINE, 'Ring indicator transition'),
        (6, 2, ENTITY_LINE, 'Unexpected carrier transition'),
        (6, 3, ENTITY_LINE, 'Memory access error'),
        (6, 4, ENTITY_LINE, 'Communications interface error'),
        (6, 5, ENTITY_LINE, 'Performance error') %,

    $NML$EVENT_6_PARMS =
        (0, 'Device register',CMDC,NML,,,,RO,,),
        (1, 'New state',CMDC,NML,,,,RO,,
           ((0, 'Off'),
            (1, 'On'))) %,

! Define VMS specific events
    $NML$VMS_EVENTS =
        (128, 0, NO_LOCAL, 'Logging data base change'),
        (128, 1, NO_LOCAL, 'DAP CRC error'),
        (128, 2, NO_LOCAL, 'Duplicate phase II initialization'),
        (128, 3, NO_LOCAL, 'Process creation'),
        (128, 4, NO_LOCAL, 'Process termination') %,

    $NML$EVENT_128_PARMS =
        (0, 'Remote node', CMN, NML,,,,RO,,),
        (1, 'Process name', CMDC, NML,,,,RO,,),
        (2, 'Process PID', CMDC, NML,,,,RO,,),
        (3, 'Process status', CMDC, NML,,,,RO,,) %,

! Event 96.0 is a special event that was put in for the benefit of
! CSSE. It will most likely go away before ship of this product.
! We dont want it included in the 'KNOWN EVENTS' so we therefore set
! it 'NO_LOCAL'.

    $NML$LCG_EVENTS =
        (96, 0, NO_LOCAL, 'Link closed') %,

    $NML$EVENT_96_PARMS =
        (0, 'Link information',CMDC,NML,,,,RO,,) %;
%title '' %sbttl ''
! Local Modes:
! Mode:BLISS
! Auto Save Mode:2
! Comment Column:40
! Comment Rounding:+1
! End: