Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/nml/nmarch.req
There are 3 other files named nmarch.req in the archive. Click here to see a list.
! <BRANDT.DEVELOPMENT>NMARCH.REQ.1 13-Dec-82 14:05:45, Edit by BRANDT
!
!  Change the MODULE TYPE parameter (1172) so that a value of 1
!  will correctly correspond to "Bilateral"
!
!  Reverse the order of MODULE COUNTERS 1241 and 1242 so they correspond
!  to the NML Spec.
!
! <BRANDT.DEVELOPMENT>NMARCH.REQ.1 30-Sep-82 15:05:45, Edit by BRANDT
!
! Add the following circuit counter parameter:
!  1242   Network Initiated Resets
!
! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 24-Sep-82 12:05:45, Edit by PECKHAM
!
! Add the following system specific node parameter:
!  2500   Fence
!
! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 30-Aug-82 10:10:13, Edit by PECKHAM
!
! Make the following node parameters read-only:
!   126    Software Identification
!   135    Dump Address
!   136    Dump Count
!
! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 21-Jun-82 14:36:57, Edit by PECKHAM
!
! Add X25-SERVER counters supplied by VOBA.
!
! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 14-Jun-82 11:00:09, Edit by PECKHAM
!
! Add coded parameter interpretation for CIRCUIT OWNER parameter
!
! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.2 28-Apr-82 10:15:38, Edit by PECKHAM
!
! Change text for line and circuit state 'service' from 'serviced'.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.18 21-Apr-82 13:53:49, Edit by VOBA
!
! Add additional characteristics (clearability and text case conversion)
! to the entity tables, and comment to document the fields in the tables.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.5 25-Mar-82 15:51:40, Edit by VOBA
!
! Add single field definition for CLEAR_PURGE and PERMANENT bits in field
! definitions of CHANGE option (FUNCTION_DATA).
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 24-Mar-82 11:50:36, Edit by VOBA
!
! Change INITIALIZE parameter of CIRCUIT entity to be NODE TYPE.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 23-Mar-82 12:12:03, Edit by VOBA
!
! Fix typo in $NML$LINE_COUNTERS table.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.2                   , Edit by VOBA
!                                                           for (PECKHAM)
! Make LOGGING_NAME read-only.
! Add INITIALIZE system-specific circuit parameter.
! Add event definition macros.
! Add system specific line counters.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.2 18-Mar-82 16:12:33, Edit by VOBA
!
! Fix typo of FAST SELECT counters in MODULE counter text table.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 12-Mar-82 14:00:30, Edit by VOBA
!
! Fix entry of NODE parameter in $NML$MODULE_PARAMETERS table.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.4  4-Mar-82 12:31:36, Edit by VOBA
!
! Condition parameters in $NML$MODULE_PARAMETERS table to set up correct
! fields for TOPS-20 and MCB NICE parameters.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3  3-Mar-82 12:35:28, Edit by VOBA
!
! Remove extra NETWORK parameter from $NML$MODULE_PARAMETERS table.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.4  1-Mar-82 14:44:32, Edit by VOBA
!
! Reverse last change of CALL MASK and CALL VALUE parameters. Keep them to
! be parsed as HI.
! Assign HI a distinct value different from AI.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.5 26-Feb-82 16:08:11, Edit by VOBA
!
! Clean up code and update copyright date.
! Changed CALL MASK and CALL VALUE parameters to be parsed as HX8 instead of
! HI.
!
! NET:<PECKHAM.DEVELOPMENT>NMARCH.REQ.13 26-Feb-82 13:10:03, Edit by PECKHAM
!
! Change parameter text to upper/lower case.
! Add system specific parameters.
! Move data base construction macros back to NMLPRM.
! Get counter definitions from NCPCTR.
! Get error detail texts from NCPRSP.
! Add $NML$TEXT to allow raising lower case response text in NCPRSP
! (if necessary).
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.3 24-Feb-82 16:39:19, Edit by VOBA
!
! Correct typo of LOOP WITH parameter name text.
!
! NET:<VOBA.NML.DEVELOPMENT>NMARCH.REQ.11 22-Feb-82 10:30:49, Edit by VOBA
!
! Move NICE parameter tables and building macros from NMLPRM.
! 
! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMARCH.REQ.15 14-Oct-81 17:46:01, Edit by WEBBER
!
! Add bit field definitions for event type/class.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMARCH.REQ.2 20-Aug-81 09:08:23, Edit by GUNN
!
! Add definition of DECnet-10/20 system specific MOP message type
! 28, CHK11_ASCII_TEXT.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.11  4-Aug-81 11:54:00, Edit by JENNESS
!
! Add codes -100 to -103 to NICE response code list.  These are not
! supported by the DECnet Network Management architecture and should
! be submitted formally.  Note that codes -100 to -103 can only be
! generated on the same node that the command originated on, thus they
! will never be sent over a logical link to a foreign Network Management
! implementation.
!
! NET:<DECNET20-V3P1.NMU>NMARCH.REQ.2 12-Jun-81 12:07:29, Edit by JENNESS
!
! Readability and copyright updates.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.7 12-May-81 13:58:04, Edit by VOBA
! Add sub-entity type for the X.25 MODULE entity.
! 
! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMARCH.REQ.6  4-Feb-81 13:18:12, Edit by GUNN
!
! Correct definition of fields in READ_OPTIONS
!
! NET:<DECNET20-V3P1.NMU>NMARCH.REQ.8  3-Feb-81 10:12:28, Edit by JENNESS
!
! Add literal definitions for NICE, MIRROR and EVENT objects.
! Add session control REJECT/DISCONNECT error code definitions.
!
%title 'NMARCH -- Network Management Architecture Declarations'

!                    COPYRIGHT (c) 1980, 1981, 1982
!                    DIGITAL EQUIPMENT CORPORATION
!                        Maynard, Massachusetts
!
!     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  which  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



! 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
    NO_ENTITY_ = -1,                    ! none
    NODE_E = 0,                         ! NODE Entity
    LINE_ = 1,                          ! LINE Entity
    LOGGING_ = 2,                       ! EVENT LOGGING Entity
    CIRCUIT_ = 3,                       ! CIRCUIT Entity
    MODULE_ = 4;                        ! MODULE Entity



! NICE Sub-entity Codes

literal
    NO_SUB_ENTITY = -1,                 ! none
    MODULE_ACCESS = 0,                  ! ACCESS MODULE Sub-entity
    MODULE_PROTOCOL = 1,                ! PROTOCOL MODULE Sub-entity
    MODULE_SERVER = 2;                  ! SERVER MODULE Sub-entity



! NICE Entity Group Codes

literal
    LOOPED_ = -3,                       ! LOOPED Entities
    ACTIVE_ = -2,                       ! ACTIVE Entities
    KNOWN_ = -1;                        ! KNOWN Entities



! NICE Logging sink type values

literal
    CONSOLE_ = 1,
    FILE_ = 2,
    MONITOR_ = 3;

! NICE type/class word fields

macro
     $$EVENT_TYPE = 0, 4, 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,
    LOAD_WITHOUT_TRANSFER = 2,
    REQUEST_DUMP = 4,
    ENTER_MOP_MODE = 6,
    REQUEST_PROGRAM = 8,
    REQUEST_MEMORY_LOAD = 10,
    MOP_MODE_RUNNING = 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
!     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.
!
! FORMAT FOR DATA EXTRACTION
!     The data format notations for extracting data from the request NICE
!     messages
!
!         DU1   (DU-1) Decimal number, unsigned, 1 byte
!         DU2   (DU-2) Decimal number, unsigned, 2 bytes
!         DU4   (DU-4) Decimal number, unsigned, 4 bytes
!         C1    (C-1)  Coded, single field, 1 byte
!         C2    (C-2)  Coded, single field, 2 bytes
!         CM2   (CM-2) Coded, multiple (2) fields, 2 bytes each
!         CME   (CM-4) Coded, multiple (4) fields, EVENTS format
!         CMN   (CM-2) Coded, multiple (2) fields, NODE format
!         CMO   (CM-2) Coded, multiple (2) fields, OBJECT format
!         CMU   (CM-2) Coded, multiple (2) fields, USER format
!         AI    (AI-n) ASCII image field
!         HI    (HI-n) Hexadecimal image field
!         HX8   (H-8)  Hexadecimal number, 8 bytes
!
$literal
    DU1 = $distinct,                    ! 1 byte
    C1  = DU1,                          ! Coded 1 byte
    DU2 = $distinct,                    ! 2 bytes
    O2  = DU2,                          ! 2 bytes
    DU4 = $distinct,                    ! 4 bytes
    O4  = DU4,                          ! 4 bytes
    CM2 = $distinct,                    ! Coded 2 2-bytes
    CME = $distinct,                    ! Coded Event
    CMN = $distinct,                    ! Coded Node
    CMO = $distinct,                    ! Coded Object
    CMU = $distinct,                    ! Coded User/Owner
    AI  = $distinct,                    ! ASCII image
    HI  = $distinct,                    ! HEX image
    HX8 = $distinct;                    ! 8-byte HEX number
!
! LAYER THAT EXCLUSIVELY OWNS THIS PARAMETER
!     NML indicates that the parameter is maintained by the NML layer;
!     null field indicates parameter is maintained by one of the lower layers.
!
! DATA TYPE
!     The data type byte for extracting data from the response NICE messages.
!
! INFORMATION TYPE
!     The information type notation as specified by the Network Management
!     Architecture specification
!
!         C     Characteristics
!         S     Status
!         *     Summary
!         EV    Events
!         Q     Qualifier
!
! APPLICABILITY RESTRICTION
!     Only the following applicability restrictions are used in the tables
!
!         Q     Qualified
!         E     Executor node only
!         A     Adjacent node only
!         R     Remote node only
!         S     Sink node only
!
! SETTABILITY RESTRICTION
!     The following notations indicate the user settability restriction
!     of a parameter
!
!         RO    Read Only
!         WO    Write Only
!         C     Clearable
!
! PARAMETER TEXT CONVERSION
!     The following notations indicate the case of the parameter text
!     expected to be in
!
!         U     Upper case only
!         L     Lower case only
!         none  Accepted as is
%sbttl 'NODE Parameter Table'

! $NML$NODE_PARAMETERS - Parameter characteristic definitions,
!
! Each entry has the format
!
!     (Parameter number,
!      Literal name,
!      Format for data extraction,
!      Layer that exclusively owns this parameter,
!      Data type,
!      Information type,
!      Applicability restriction,
!      Settability restriction,
!      Parameter text conversion)

macro
     $NML$NODE_PARAMETERS =
         (000, 'State', C1),
         (100, 'Identification', AI, NML, %O'100', (C,'*'), E, C),
         (101, 'Management Version',, NML, %O'303', C, E, RO),
         (110, 'Service Circuit', AI, NML, %O'100', C, A, C, U),
         (111, 'Service Password', HX8, NML, %O'050', C, A, C),
         (112, 'Service Device', C1, NML, %O'201', C, A, C),
         (113, 'CPU', C1, NML, %O'201', C, A, C),
         (120, 'Load File', AI, NML, %O'100', C, A, C, U),
         (121, 'Secondary Loader', AI, NML, %O'100', C, A, C, U),
         (122, 'Tertiary Loader', AI, NML, %O'100', C, A, C, U),
         (125, 'Software Type', C1, NML, %O'201', C, A, C),
         (126, 'Software Identification', AI, NML, %O'100', C, A, RO),
         (130, 'Dump File', AI, NML, %O'100', C, A, C, U),
         (131, 'Secondary Dumper', AI, NML, %O'100', C, A, C, U),
         (135, 'Dump Address', O4, NML, %O'064', C, A, RO),
         (136, 'Dump Count', DU4, NML, %O'004', C, A, RO),
         (140, 'Host',, NML, %O'302', C, (A,E), RO),
         (141, 'Host', CMN, NML, %O'302', C, (A,E), (WO, C)),
         (150, 'Loop Count', DU2, NML, %O'002', C, E, RO),
         (151, 'Loop Length', DU2, NML, %O'002', C, E, RO),
         (152, 'Loop With', C1, NML, %O'201', C, E, RO),
         (160, 'Counter Timer', DU2, NML, %O'002', C, (E,R), C),
         (500, 'Name', CMN,, %O'302',, (E,R), (WO, C)),
         (501, 'Circuit', AI,, %O'100', (C,'*'),, C, U),
         (502, 'Address', CMN,, %O'302',, E, WO),
         (510, 'Incoming Timer', DU2,, %O'002', C, E, C),
         (511, 'Outgoing Timer', DU2,, %O'002', C, E, C),
         (600, 'Active Links', DU2,, %O'002', (S,'*'), (E,R), RO),
         (601, 'Delay', DU2,, %O'002', (S,'*'), R, RO),
         (700, 'NSP Version',,,, C, E, RO),
         (710, 'Maximum Links', DU2,, %O'002', C, E),
         (720, 'Delay Factor', DU1,, %O'001', C, E),
         (721, 'Delay Weight', DU1,, %O'001', C, E),
         (722, 'Inactivity Timer', DU2,, %O'002', C, E),
         (723, 'Retransmit Factor', DU2,, %O'002', C, E),
         (810, 'Type', C1,, %O'201', S, A, RO),
         (820, 'Cost', DU2,, %O'002', S, R, RO),
         (821, 'Hops', DU1,, %O'001', S, R, RO),
         (822, 'Circuit', AI,, %O'100', (S,'*'), R, RO),
         (900, 'Routing Version',,,, C, E, RO),
         (901, 'Type', C1,, %O'201', C, E),
         (910, 'Routing Timer', DU2,, %O'002', C, E),
         (911, 'Subaddresses', CM2,,, C, E),
         (920, 'Maximum Address', DU2,, %O'002', C, E),
         (921, 'Maximum Circuits', DU2,, %O'002', C, E),
         (922, 'Maximum Cost', DU2,, %O'002', C, E),
         (923, 'Maximum Hops', DU1,, %O'001', C, E),
         (924, 'Maximum Visits', DU1,, %O'001', C, E),
         (930, 'Maximum Buffers', DU2,, %O'002', C, E),
         (931, 'Buffer Size', DU2,, %O'002', C, E),
         (2500, 'Fence', DU2,, %O'002', C, A) %;

!
! Define text for coded parameter values
!

macro
     $NML$NODE_CODES =
         (000, ('On',                   ! STATE
                'Off',
                'Shut',
                'Restricted',
                'Reachable',
                'Unreachable')),

         (112, ('DP', '',               ! SERVICE DEVICE
                'DU', '',               ! These values are even numbers, so we
                'DL', '',               ! skip the odd ones.
                'DQ', '',
                'DA', '',
                'DUP', '',
                'DMC', '',
                'DN', '',
                'DLV', '',
                'DMP', '',
                'DTE', '',
                'DV', '',
                'DZ', '','','',         ! There is a gap of one even value
                'KDP', '',              ! number here
                'KDZ', '',
                'KL', '',
                'DMV', '',
                'DPV')),

         (113, ('PDP8',                 ! CPU
                'PDP11',
                'DECSYSTEM1020',
                'VAX')),

         (125, ('Secondary Loader',     ! SOFTWARE TYPE
                'Tertiary Loader',
                'System')),

         (152, ('Zeroes',               ! LOOP WITH
                'Ones',
                'Mixed')),

         (810, ('Routing',              ! TYPE (Read Only)
                'Nonrouting',
                'Phase II')),

         (901, ('Routing',              ! TYPE
                'Nonrouting',
                'Phase II')) %;
%sbttl 'LINE Parameter Table'

! $NML$LINE_PARAMETERS - Parameter characteristic definitions
!
! Each entry has the format
!
!     (Parameter number,
!      Literal name,
!      Format for data extraction,
!      Layer that exclusively owns this parameter,
!      Data type,
!      Information type,
!      Applicability restriction,
!      Settability restriction,
!      Parameter text conversion)

macro
     $NML$LINE_PARAMETERS =
         (0000, 'State', C1, NML, %O'201', (S,'*')),
         (0001, 'Substate',, NML, %O'201', (S,'*'),, RO),
         (0100, 'Service', C1, NML, %O'201', C),
         (0110, 'Counter Timer', DU2, NML, %O'002', C,, C),
         (1100, 'Device', AI,, %O'100', C),
         (1105, 'Receive Buffers', DU2,, %O'002', C),
         (1110, 'Controller', C1,, %O'201', C),
         (1111, 'Duplex', C1,, %O'201', C),
         (1112, 'Protocol', C1,, %O'201', C),
         (1113, 'Clock', C1,, %O'201', C),
         (1120, 'Service Timer', DU2,, %O'002', C),
         (1121, 'Retransmit Timer', DU2,, %O'002', C),
         (1122, 'Holdback Timer', DU2,, %O'002', C,, C),
         (1130, 'Maximum Block', DU2,, %O'002', C),
         (1131, 'Maximum Retransmits', DU1,, %O'001', C,, C),
         (1132, 'Maximum Window', DU1,, %O'001', C),
         (1150, 'Scheduling Timer', DU2,, %O'002', C,, C),
         (1151, 'Dead Timer', DU2,, %O'002', C,, C),
         (1152, 'Delay Timer', DU2,, %O'002', C,, C),
         (1153, 'Stream Timer', DU2,, %O'002', C,, C),
         (2650, 'Controller Register', O2,, %O'062', C),
         (2651, 'Unit Register', O2,, %O'062', C),
         (2655, 'Interrupt Vector', O2,, %O'062', C),
         (2660, 'Interrupt Priority', DU1,, %O'001', C),
         (2665, 'Receive Speed',,,, C),
         (2666, 'Transmit Speed',,,, C),
         (2670, 'Pause Timer', DU2,, %O'002', C) %;

macro
     $NML$LINE_CODES =
         (0000, ('On',                  ! STATE
                 'Off',
                 'Service',
                 'Cleared')),

         (0001, ('Starting',            ! Substate
                 'Reflecting',
                 'Looping',
                 'Loading',
                 'Dumping',
                 'Triggering',
                 'Autoservice',
                 'Autoloading',
                 'Autodumping',
                 'Autotriggering',
                 'Synchronizing',
                 'Failed')),

         (0100, ('Enabled',             ! SERVICE
                 'Disabled')),

         (1110, ('Normal',              ! CONTROLLER
                 'Loopback')),

         (1111, ('Full',                ! DUPLEX
                 'Half')),

         (1112, ('DDCMP-Point',         ! PROTOCOL
                 'DDCMP-Control',
                 'DDCMP-Tributary',
                 'X25',
                 'DDCMP-DMC',
                 'LAPB')),

         (1113, ('External',            ! CLOCK
                 'Internal')) %;
%sbttl 'LOGGING Parameter Table'

! $NML$LOGGING_PARAMETERS - Parameter characteristic definitions
!
! Each entry has the format
!
!     (Parameter number,
!      Literal name,
!      Format for data extraction,
!      Layer that exclusively owns this parameter,
!      Data type,
!      Information type,
!      Applicability restriction,
!      Settability restriction,
!      Parameter text conversion)
!
! NOTE: SINK NODE and EVENTS parameters are defined as read only until
!       I figure out how I am going to handle multiple part parameters.
!       Right now they cause the macro expansion to fail.

macro
     $NML$LOGGING_PARAMETERS =
         (000, 'State', C1, NML, %O'201', (S,'*'), E),
         (100, 'Name', AI, NML, %O'100', (C,'*'), E, RO),
         (200, 'Sink Node', CMN, NML, %O'302', (EV,'*'), S, RO),
         (201, 'Events', CME, NML, %O'305', (EV,'*'), S, RO) %;

macro
     $NML$LOGGING_CODES =
         (000, ('On',                   ! STATE
                'Off',
                'Hold')),

         (201, ('Node',                 ! EVENTS
                'Line',
                'Logging',
                'Circuit',
                'Module')) %;
%sbttl 'CIRCUIT Parameter Table'

! $NML$CIRCUIT_PARAMETERS - Parameter characteristic definitions
!
! Each entry has the format
!
!     (Parameter number,
!      Literal name,
!      Format for data extraction,
!      Layer that exclusively owns this parameter,
!      Data type,
!      Information type,
!      Applicability restriction,
!      Settability restriction,
!      Parameter text conversion)

macro
     $NML$CIRCUIT_PARAMETERS =
         (0000, 'State', C1, NML, %O'201', (S,'*')),
         (0001, 'Substate', C1, NML, %O'201', (S,'*'),, RO),
         (0100, 'Service', C1, NML, %O'201', C),
         (0110, 'Counter Timer', DU2, NML, %O'002', C,, C),
         (0200, 'Connected Node',,,, (S,'*'),, RO),
         (0201, 'Connected Object',,,, (S,'*'),, RO),
         (0400, 'Loopback Name', AI,, %O'100', (S,'*'),, RO),
         (0800, 'Adjacent Node',,,, (S,'*'),, RO),
         (0810, 'Block Size', DU2,, %O'002', S,, RO),
         (0900, 'Cost', DU1,, %O'001', C),
         (0906, 'Hello Timer', DU2,, %O'002', C),
         (0907, 'Listen Timer', DU2,, %O'002', C),
         (0910, 'Blocking', C1,, %O'201', C),
         (0920, 'Maximum Recalls', DU1,, %O'001', C,, C),
         (0921, 'Recall Timer', DU2,, %O'002', C,, C),
         (0930, 'Number', AI,, %O'100', C),
         (1000, 'User',,,, (S,'*'),, RO),
         (1010, 'Polling State', C1,, %O'201', (S,'*')),
         (1011, 'Polling substate', C1,, %O'201', (S,'*'),, RO),
         (1100, 'Owner',,,, C,, C),
         (1110, 'Line', AI,, %O'100', C,,, U),
         (1111, 'Usage', C1,, %O'201', C),
         (1112, 'Type', C1,, %O'201', C),
         (1120, 'DTE', AI,, %O'100', C,,, U),
         (1121, 'Channel', DU2,, %O'002', C),
         (1122, 'Maximum Data', DU2,, %O'002', C),
         (1123, 'Maximum Window', DU1,, %O'001', C),
         (1140, 'Tributary', DU1,, %O'001', C),
         (1141, 'Babble Timer', DU2,, %O'002', C,, C),
         (1142, 'Transmit Timer', DU2,, %O'002', C,, C),
         (1145, 'Maximum Buffers', C1,, %O'201', C,, C),
         (1146, 'Maximum Transmits', DU1,, %O'001', C,, C),
         (1150, 'Active Base', DU1,, %O'001', C,, C),
         (1151, 'Active Increment', DU1,, %O'001', C,, C),
         (1152, 'Inactive Base', DU1,, %O'001', C,, C),
         (1153, 'Inactive Increment', DU1,, %O'001', C,, C),
         (1154, 'Inactive Threshold', DU1,, %O'001', C,, C),
         (1155, 'Dying Base', DU1,, %O'001', C,, C),
         (1156, 'Dying Increment', DU1,, %O'001', C,, C),
         (1157, 'Dying Threshold', DU1,, %O'001', C,, C),
         (1158, 'Dead Threshold', DU1,, %O'001', C,, C),
         (2600, 'Node Type', C1,, %O'201', C) %;

macro
     $NML$CIRCUIT_CODES =
         (0000, ('On',                  ! STATE
                 'Off',
                 'Service',
                 'Cleared')),

         (0001, ('Starting',            ! Substate
                 'Reflecting',
                 'Looping',
                 'Loading',
                 'Dumping',
                 'Triggering',
                 'Autoservice',
                 'Autoloading',
                 'Autodumping',
                 'Autotriggering',
                 'Synchronizing',
                 'Failed')),

         (0100, ('Enabled',             ! SERVICE
                 'Disabled')),

         (0910, ('Enabled',             ! BLOCKING
                 'Disabled')),

         (1000, ('Node',                ! USER
                 'Line',
                 'Logging',
                 'Circuit',
                 'Module')),

         (1100, ('Node',                ! OWNER
                 'Line',
                 'Logging',
                 'Circuit',
                 'Module')),

         (1111, ('Permanent',           ! USAGE
                 'Incoming',
                 'Outgoing')),

         (1112, ('DDCMP-Point',         ! TYPE
                 'DDCMP-Control',
                 'DDCMP-Tributary',
                 'X25',
                 'DDCMP-DMC',
                 'LAPB')),

         (1145, ('Unlimited')),         ! MAXIMUM BUFFERS (255)

         (2600, ('Routing',             ! NODE TYPE
                 'Nonrouting',
                 'Phase II')) %;
%sbttl 'MODULE Parameter Table'

! $NML$MODULE_PARAMETERS - Parameter characteristic definitions
!
! Each entry has the format
!
!     (Parameter number,
!      Literal name,
!      Format for data extraction,
!      Layer that exclusively owns this parameter,
!      Data type,
!      Information type,
!      Applicability restriction,
!      Settability restriction,
!      Parameter text conversion)

macro
     $NML$MODULE_PARAMETERS =
         (0000, 'State', C1,, %O'201', (S,'*'), Q),
         (0100, 'Counter Timer', DU2, NML, %O'002', C, Q, C),
         (0200, 'Active Circuits', DU2,, %O'002', (S,'*'),, RO),
         (0300, 'Destination', AI,, %O'100', Q,,, U),
         (0310, 'Maximum Circuits', DU2,, %O'002', C),

         %if $MCB
         %then                          ! MODULE X25-SERVER parameters
         (0320, 'Node', CMN,, %O'302', C, Q),
         (0330, 'User', AI,, %O'100', C, Q, C, U),
         (0331, 'Password', AI,, %O'100', C, Q, C),
         (0332, 'Account', AI,, %O'100', C, Q, C, U),
         %else                          ! MODULE X25-ACCESS parameters
         (0320, 'Node', CMN, NML, %O'302', C, Q),
         (0330, 'User', AI, NML, %O'100', C, Q, C, U),
         (0331, 'Password', AI, NML, %O'100', C, Q, C),
         (0332, 'Account', AI, NML, %O'100', C, Q, C, U),
         %fi

         (0340, 'Object', CMO,,, C, Q),
         (0350, 'Priority', DU1,, %O'001', C, Q, C),
         (0351, 'Call Mask', HI,,, C, Q, C),
         (0352, 'Call Value', HI,,, C, Q, C),
         (0353, 'Group', AI,, %O'100', C, Q, C, U),
         (0354, 'Number', AI,, %O'100', C, Q, C),
         (0355, 'Subaddresses', CM2,,, C, Q, C),
         (1000, 'Active Channels', DU2,, %O'002', (S,'*'), Q, RO),
         (1010, 'Active Switched', DU2,, %O'002', (S,'*'), Q, RO),
         (1100, 'DTE', AI,, %O'100', Q,,, U),
         (1101, 'Group', AI,, %O'100', Q,,, U),

         %if $MCB
         %then                          ! MODULE X25-PROTOCOL parameter
         (1110, 'Network', AI,, %O'100', C,,, U),
         %else                          ! MODULE X25-ACCESS parameter
         (1110, 'Network', AI, NML, %O'100', Q,,, U),
         %fi

         (1120, 'Line', AI,, %O'100', C, Q, C, U),
         (1130, 'Channels', CM2,,, C, Q),
         (1131, 'Maximum Channels', DU2,, %O'002', C, Q, RO),
         (1140, 'Default Data', DU2,, %O'002', C),
         (1141, 'Default Window', DU1,, %O'001', C),
         (1150, 'Maximum Data', DU2,, %O'002', C),
         (1151, 'Maximum Window', DU1,, %O'001', C),
         (1152, 'Maximum Clears', DU1,, %O'001', C,, C),
         (1153, 'Maximum Resets', DU1,, %O'001', C,, C),
         (1154, 'Maximum Restarts', DU1,, %O'001', C,, C),
         (1160, 'Call Timer', DU1,, %O'001', C,, C),
         (1161, 'Clear Timer', DU1,, %O'001', C,, C),
         (1162, 'Reset Timer', DU1,, %O'001', C,, C),
         (1163, 'Restart Timer', DU1,, %O'001', C,, C),
         (1170, 'DTE', AI,, %O'100', C, Q, C, U),
         (1171, 'Number', DU2,, %O'002', C, Q),
         (1172, 'Type', C1,, %O'201', C, Q, C) %;

macro
     $NML$MODULE_CODES =
         (0000, ('On',                  ! STATE
                 'Off',
                 'Shut')),

         (1172, ('Not Applicable',
                 'Bilateral')) %;       ! TYPE
%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')),
         (1240, 'Locally Initiated Resets', 8),,
         (1241, 'Remotely Initiated Resets', 8),,
         (1242, 'Network Initiated Resets', 8),
         %;
%sbttl 'LINE Counters'

macro
     $NML$LINE_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),,
         (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')),
         (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')),
         (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),
         %;
%sbttl 'MODULE Counters'

macro
     $NML$MODULE_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),,
         (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),
         %;
%sbttl 'NODE Counters'

macro
     $NML$NODE_COUNTERS =
         (0000, 'Seconds Since Last Zeroed', 16),,
         (0600, 'Bytes Received', 32),,
         (0601, 'Bytes Sent', 32),,
         (0610, 'Messages Received', 32),,
         (0611, '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),
         %;
%sbttl 'Events'

macro
    $NML$EVENTS =
        $NML$NETWORK_MANAGEMENT_EVENTS,
        $NML$SESSION_CONTROL_EVENTS,
        $NML$NETWORK_SERVICES_EVENTS,
        $NML$TRANSPORT_EVENTS,
        $NML$DATA_LINK_EVENTS,
        $NML$PHYSICAL_LINK_EVENTS %,
    $NML$EVENT_PARAMS =
        $NML$NETWORK_MANAGEMENT_PARAMS,
        $NML$SESSION_CONTROL_PARAMS,
        $NML$NETWORK_SERVICES_PARAMS,
        $NML$TRANSPORT_PARAMS,
        $NML$DATA_LINK_PARAMS,
        $NML$PHYSICAL_LINK_PARAMS %;

macro
    $NML$NETWORK_MANAGEMENT_EVENTS =
        (0, 0, none, 'Event records lost'),
        (0, 1, node, 'Automatic node counters', Counters),
        (0, 2, line, 'Automatic line counters', Counters),
        (0, 3, line, 'Automatic line service', (0, 1)),
        (0, 4, line, 'Line counters zeroed', Counters),
        (0, 5, node, 'Node counters zeroed', Counters),
        (0, 6, circuit, 'Passive loopback', 2),
        (0, 7, circuit, 'Aborted service request', 3),
        (0, 8, any, 'Automatic counters', (4, Counters)),
        (0, 9, any, 'Counters zeroed', (4, Counters)) %,

    $NML$NETWORK_MANAGEMENT_PARAMS =
        (0, (C, 1, 'Service', (0, 'Load',
                               1, 'Dump'))),
        (1, (CM, 'Status',
             (C, 1, 'Return code'),,
             (C, 2, 'Error detail'), optional,
             (AI, 72, 'Error message'), optional)),
        (2, (C, 1, 'Operation', (0, 'Initiated',
                                 1, 'Terminated'))),
        (3, (C, 1, 'Reason', (0, 'Receive timeout',
                              1, 'Receive error',
                              2, 'Line state change by higher level',
                              3, 'Unrecognized request',
                              4, 'Line open error'))),
        (4, (CM, 'Qualifier',
             (C, 2, 'Parameter type'),,
             (AI, 16, 'ID string'))) %;

macro
    $NML$SESSION_CONTROL_EVENTS =
        (2, 0, none, 'Local node state change', (0, 1, 2)),
        (2, 1, none, 'Access control reject', (3, 4, 5, 6, 7, 8)) %,

    $NML$SESSION_CONTROL_PARAMS =
        (0, (C, 1, 'Reason', (0, 'Operator Command',
                              1, 'Normal Operation'))),
        (1, (C, 1, 'Old State', (0, 'On',
                                 1, 'Off',
                                 2, 'Shut',
                                 3, 'Restricted'))),
        (2, (C, 1, 'New State', (0, 'On',
                                 1, 'Off',
                                 2, 'Shut',
                                 3, 'Restricted'))),
        (3, (NODE_ID, 'Source Node')),
        (4, (CM, 'Source Process',
             (DU, 1, 'Object Type'),,
             (DU, 1, 'Group Code'), optional,
             (DU, 1, 'User Code'), optional,
             (AI, 16, 'Process Name'), optional)),
        (5, (CM, 'Destination Process',
             (DU, 1, 'Object Type'),,
             (DU, 1, 'Group Code'), optional,
             (DU, 1, 'User Code'), optional,
             (AI, 16, 'Process Name'), optional)),
        (6, (AI, 39, 'User')),
        (7, (C, 1, 'Password', (0, 'Set'))),
        (8, (AI, 39, 'Account')) %;

macro
    $NML$NETWORK_SERVICES_EVENTS =
        (3, 0, none, 'Invalid message', 0),
        (3, 1, none, 'Invalid flow control', (0, 1)),
        (3, 2, node, 'Data base reused', Counters) %,

    $NML$NETWORK_SERVICES_PARAMS =
        (0, (HI, 12, 'Message')),
        (1, (DS, 1, 'Current Flow Control Request Count')) %;

macro
    $NML$TRANSPORT_EVENTS =
        (4, 0, none, 'Aged packet loss', 0),
        (4, 1, circuit, 'Node unreachable packet loss', 0),
        (4, 2, circuit, 'Node out-of-range packet loss', 0),
        (4, 3, circuit, 'Oversize packet loss', 0),
        (4, 4, circuit, 'Packet format error', 1),
        (4, 5, circuit, 'Partial routing update loss', (0, 2)),
        (4, 6, circuit, 'Verification reject', 3),
        (4, 7, circuit, 'Circuit down, circuit fault', 5),
        (4, 8, circuit, 'Circuit down, software fault', (5, 0)),
        (4, 9, circuit, 'Circuit down, operator fault', (5, 0, 4)),
        (4, 10, circuit, 'Line up', 3),
        (4, 11, circuit, 'Initialization failure, line fault', 5),
        (4, 12, circuit, 'Initialization failure, software fault', (5, 0)),
        (4, 13, circuit, 'Initialization failure, operator fault', (5, 0, 6)),
        (4, 14, node, 'Node reachability change', 7) %,

    $NML$TRANSPORT_PARAMS =
        (0, (CM, 'Packet Header',
             (H, 1, 'Message Flags'), optional,
             (DU, 2, 'Destination Node Address'),,
             (DU, 2, 'Source Node Address'), optional,
             (H, 1, 'Forwarding Data'))),
        (1, (HI, 6, 'Packet Beginning')),
        (2, (DU, 2, 'Highest Address')),
        (3, (NODE_ID, 'Node')),
        (4, (NODE_ID, 'Expected Node')),
        (5, (C, 1, 'Reason', (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'))),
        (6, (CM, 'Received Version',
             (DU, 1, 'Version Number'),,
             (DU, 1, 'ECO Number'),,
             (DU, 1, 'User ECO Number'))),
        (7, (C, 1, 'Status', (0, 'Reachable',
                              1, 'Unreachable'))) %;

macro
    $NML$DATA_LINK_EVENTS =
        (5, 0, circuit, 'Locally initiated state change', (0, 1)),
        (5, 1, circuit, 'Remotely initiated state change', (0, 1)),
        (5, 2, circuit, 'Protocol restart received in maintenance mode'),
        (5, 3, circuit, 'Send error threshold', Counters),
        (5, 4, circuit, 'Receive error threshold', Counters),
        (5, 5, circuit, 'Select error threshold', Counters),
        (5, 6, circuit, 'Block header format error', 2),
        (5, 7, circuit, 'Selection address error', (3, 6, 4)),
        (5, 8, circuit, 'Streaming tributary', (5, 6)),
        (5, 9, circuit, 'Local buffer too small', (7, 8)),
        (5, 10, module, 'Restart', (9, 14, 15)),
        (5, 11, module, 'State change', (9, 10, 11, 12)),
        (5, 12, module, 'Retransmit maximum exceeded', (9, 12)),
        (96 + 5, 13, circuit, 'Maintenance message received') %,

    $NML$DATA_LINK_PARAMS =
        (0, (C, 1, 'Old State', (0, 'Halted',
                                 1, 'Istrt',
                                 2, 'Astrt',
                                 3, 'Running',
                                 4, 'Maintenance'))),
        (1, (C, 1, 'New State', (0, 'Halted',
                                 1, 'Istrt',
                                 2, 'Astrt',
                                 3, 'Running',
                                 4, 'Maintenance'))),
        (2, (HI, 6, 'Header')),
        (3, (DU, 1, 'Selected Tributary')),
        (4, (DU, 1, 'Previous Tributary')),
        (5, (C, 1, 'Tributary Status', (0, 'Streaming',
                                        1, 'Continued Send after Timeout',
                                        2, 'Continued Send after Deselect',
                                        3, 'Endec Streaming'))),
        (6, (DU, 1, 'Received Tributary')),
        (7, (DU, 2, 'Block Length')),
        (8, (DU, 2, 'Buffer Length')),
        (9, (AI, 16, 'DTE')),
        (10, (C, 1, 'Reason', (0, 'Operator Command',
                               1, 'Normal Operation'))),
        (11, (C, 1, 'Old State', (0, 'Off',
                                  1, 'On'))),
        (12, (C, 1, 'New State', (0, 'Off',
                                  1, 'On'))),
        (13, (C, 2, 'Parameter Type')),
        (14, (DU, 1, 'Cause')),
        (15, (DU, 1, 'Diagnostic')) %;

macro
    $NML$PHYSICAL_LINK_EVENTS =
        (6, 0, line, 'Data set ready transition', 1),
        (6, 1, line, 'Ring indicator transition', 1),
        (6, 2, line, 'Unexpected carrier transition', 1),
        (6, 3, line, 'Memory access error', 0),
        (6, 4, line, 'Communications interface error', 0),
        (6, 5, line, 'Performance error', 0),
        (96 + 6, 0, line, 'Device configuration error', (2500, 2501)),
        (96 + 6, 1, line, 'Device service error', 2504),
        (96 + 6, 2, line, 'Fatal device error', (2504, 0)),
        (96 + 6, 3, line, 'KMC Polling adjustment', 2502),
        (96 + 6, 4, line, 'DTE-20 Protocol error', 2503),
        (96 + 6, 5, line, 'DTE-20 pause timeout') %,

    $NML$PHYSICAL_LINK_PARAMS =
        (0, (H, 2, 'Device Register')),
        (1, (C, 1, 'New State', (0, 'Off',
                                 1, 'On'))),
        (2500, (C, 2, 'Parameter Number')),
        (2501, (O, 2, 'Parameter Value')),
        (2502, (DU, 1, 'Polling Count')),
        (2503, (O, 4, 'Comm/Region Word')),
        (2504, (C, 1, 'Reason', (0, 'Invalid Output Code',
                                 1, 'Invalid Unit',
                                 2, 'Invalid Error Notification',
                                 3, 'Receive BA Error',
                                 4, 'Transmit BA Error',
                                 5, 'Procedure Error',
                                 6, 'Completion Queue Overrun',
                                 7, 'Non-existent Memory',
                                 8, 'Microcode Won''t Load',
                                 9, 'Microcode Won''t Start',
                                 10, 'Doorbell Stuck',
                                 11, 'Lost Interrupt',
                                 12, 'Lost RDYI',
                                 13, 'Lost Halt',
                                 14, 'Lost Transmit',
                                 15, 'Receive Overrun',
                                 16, 'Doorbell Lost'))) %;
%title '' %sbttl ''
! Local Modes:
! Mode:BLISS
! Auto Save Mode:2
! Comment Column:40
! Comment Rounding:+1
! End: