Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - t20/nmlt20/nmlcom.req
There are 2 other files named nmlcom.req in the archive. Click here to see a list.
! UPD ID= 333, SNARK:<6.1.NML>NMLCOM.REQ.10,  10-Jul-85 13:57:19 by MCCOLLUM
! Add NML$DLW_SERVICE_EVENT as a global routine
!
! UPD ID= 265, SNARK:<6.1.NML>NMLCOM.REQ.7,   1-Mar-85 10:01:35 by GLINDELL
!  Add DLWQ_NEED_RPM to indicate that a RPM needs to be received before
!  LOAD or DUMP is continued.
!  Add DLWQ_MEMORY_SIZE to hold memory size to be dumped
!
! UPD ID= 256, SNARK:<6.1.NML>NMLCOM.REQ.6,  10-Feb-85 14:49:14 by GLINDELL
!  Move STATE, SUBSTATE and SERVICE parameter values here from several
!  NMLDTL, NMLDLW and NMLLBK.
!
! UPD ID= 246, SNARK:<6.1.NML>NMLCOM.REQ.5,  25-Jan-85 13:46:54 by HALPIN
! Move Data Link Watcher Queue Block (DLWQ) definetions here from NMLDTL.
! New field in Request Block (REQ), RB_DLW_DATA.
!
! UPD ID= 179, SNARK:<6.1.NML>NMLCOM.REQ.4,   7-Dec-84 08:20:50 by HALPIN
! Add macro for NMU$DLW_READ_LDAQ symbol definition.
! Add Block definitions for NI Load/Dump Assistance Queue Blocks.
!
! UPD ID= 128, SNARK:<6.1.NML>NMLCOM.REQ.3,  19-Oct-84 09:52:06 by HALPIN
!   Define NML$CALCULATE_CIRCUIT_STATE as NL_CAL.
!
! UPD ID= 14, SNARK:<6.1.NML>NMLCOM.REQ.2,  24-May-84 13:37:15 by GLINDELL
! PH4:<GLINDELL>NMLCOM.REQ.2  7-Feb-84 16:44:54, Edit by GLINDELL
!   Define NML$EVL_EVENT_TEXT.
!
! PH4:<NMLSRC>NMLCOM.REQ.5 26-Jan-84 10:55:59, Edit by GLINDELL
!   Move TRANSMITTER_QUEUE and EVENT_BUFFER definitions to NMLEVL
!
! PH4:<GLINDELL>NMLCOM.REQ.2 12-Jan-84 16:43:55, Edit by GLINDELL
!   Add definition of NML$CONVERT_ENTITY_ID
!
! PH4:<GLINDELL>NMLCOM.REQ.4 22-Dec-83 09:20:21, Edit by GLINDELL
!   Add routine definitions for event logger database
!
!<MCINTEE.WORK>NMLCOM.REQ.4, 12-Jul-83 14:19:41, Edit by MCINTEE
!
!   Global definition for NML$GET_SUBENTITY_ID
!
!   Change definition of RB_NICE_ENTITY_TYPE to include 
!   subentity type
!
! PH4:<PECKHAM>NMLCOM.REQ.2 13-Jun-83 14:34:02, Edit by PECKHAM
!
!   Change NMLCNV supported names.
!
! PH4:<PECKHAM>NMLCOM.REQ.5 10-Jun-83 16:27:12, Edit by PECKHAM
!
!   Add and delete routine names from NMLPRM.
!
!   Add version compatibility support module synonyms (NMLCNV).
!   Add RB_VERSION to request block (using unused halfword for BLISS-36).
!
! PH4:<MCINTEE>NMLCOM.REQ.3,  5-May-83 13:06:48, Edit by MCINTEE
!
!   Move NML$CFG_FILTERS definitions from NMLVDB, and turn it on 
!   for TOPS20
!
! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.2 22-Jun-82 11:52:42, Edit by PECKHAM
!
!   Add request block privledge bits.
!
! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 8-Jun-82 10:56:11, Edit by BRANDT
!
!   Transfer definitions of NODE_ID buffers from NML.REQ to NMLCOM.REQ.
!
! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 9-Jun-82 14:55:53, Edit by BRANDT
!
!   Add RB_NICE_ENTITY_ADR field to contain the address of memory
!   allocated to contain the full node_id
!
! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.3  4-Jun-82 17:01:36, Edit by PECKHAM
!
! Add synonyms NML$CLEARABLE and NML$READ_ONLY.
!
! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.1 10-May-82 9:55:53, Edit by BRANDT
!
!   Make RB_RESPONSE_DATA field a "tiny integer"
!
! NET:<BRANDT.DEVELOPMENT>NMLCOM.REQ.2 4-May-82 14:40:35, Edit by BRANDT
!
! Include RB_RESPONSE_DATA field to be set non-zero during response msg
! processing if any response data is returned for this request.
!
! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.2 27-Apr-82 13:40:35, Edit by PECKHAM
!
! Include NML$DLW_* synonyms
!
! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.3 22-Apr-82 08:23:16, Edit by PECKHAM
!
! Change FT_ switch naming to NML$CFG_.
!
! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.3 29-Mar-82 10:21:37, Edit by VOBA
!
! Move $NML$TEXT macro over from NMARCH.REQ.
!
! NET:<PECKHAM.DEVELOPMENT>NMLCOM.REQ.21 23-Mar-82 13:50:40, Edit by PECKHAM
!
! Enlarge Raw Event Block to include room for processed info.
! Add event queue and event buffer definitions.
! Change event logging global name mappings.
! Add configuration switches.
!
! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.3 18-Feb-82 17:22:49, Edit by VOBA
!
! Clean up code and update copyright date.
!
! NET:<VOBA.NML.DEVELOPMENT>NMLCOM.REQ.5 17-Feb-82 15:08:29, Edit by VOBA
!
! Add global synonym NL_PLU for NML$PARAMETER_LOOKUP.
!
! NET:<GROSSMAN.NML-SOURCES>NMLCOM.REQ.3  9-Feb-82 16:25:31, Edit by GROSSMAN
!
! Add global synonym for NML$COUNTER_TIMER_TASK
!
! NET:<BRANDT.DEVELOP>NMLCOM.REQ.1 19-Jan-82 10:20:48, Edit by BRANDT
!
! Add NML$REQUEST_TERMINATE to NML$REQUEST_MANAGER macro
!
! NET:<GROSSMAN>NMLCOM.REQ.4 18-Jan-82 20:20:48, Edit by GROSSMAN
!
! Add synonyms for the NMLCTT entry points.
!
! NET:<DECNET20-V3P0.CEX>NMLCOM.REQ.3 15-Jan-82 16:31:49, Edit by PECKHAM
!
! Add REB structure for raw event logging
!
! NET:<VOBA.NML>NMLCOM.REQ.2 12-Jan-82 14:14:03, Edit by VOBA
!
! Add sub-entity type field for the MODULE entity in the NICE Request Block.
!
! NET:<DECNET20-V3P1.NMU.LIBRARY>NMLCOM.REQ.2 30-Jun-81 09:59:49, Edit by GUNN
!
! Add name for NML$CLR_VDB_PARAMETER.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLCOM.REQ.22 25-Jun-81 09:45:26, Edit by JENNESS
!
! Add name for NML$SET_VDB_PARAMETER.
!
! NET:<DECNET20-V3P1.NMU>NMLCOM.REQ.2 15-Jun-81 14:39:02, Edit by JENNESS
!
! Readability improvements.  Remove $literal/$distinct ... easier to
! figure out literal values during debugging.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLCOM.REQ.17  4-Jun-81 08:31:32, Edit by SROBINSON
!
! Modify NML$REQUEST_MANAGER to not have routines not there in $MCB
!
! NET:<DECNET20-V3P1.NMU>NMLCOM.REQ.2 28-May-81 14:10:36, Edit by JENNESS
!
! Move LOAD_DATA_BLOCK, DUMP_DATA_BLOCK and TRIGGER_DATA_BLOCK into
! NMLDTL.BLI (where they are used exclusively).
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.10 16-Apr-81 11:11:26, Edit by GUNN
!
! Add global routine NML$CODED_TEXT in NMLPRM.
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.9  8-Apr-81 15:50:10, Edit by JENNESS
!
! Add fields to LB (load data) block to ease parameter passing in
! load/dump routines.
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.7  7-Apr-81 08:28:45, Edit by GUNN
!
! Add comments to block structure definitions in order that they may
! be located by the XDUMP utility.
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.6  3-Apr-81 13:44:06, Edit by GUNN
!
! Change LB fields defined as $byte to $tiny_integer.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMLCOM.REQ.15  3-Apr-81 07:54:48, Edit by SROBINSON
!
! Fix RB_RETURN_CODE to be signed byte since all code checks to see if it
! is +/- .
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.3  2-Apr-81 20:30:04, Edit by GUNN
!
! Change LB_NODE_ID and LB_HOST_ID to be pointers.
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.2  2-Apr-81 14:32:29, Edit by GUNN
!
! Add routine name macros for new routines in NMLVDB.
!
! NET:<DECNET20-V3P1.BASELEVEL-2.MCB>NMLCOM.REQ.2 30-Mar-81 06:35:28, Edit by SROBINSON
!
! Add support macros for Event Logging Modules
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.7 24-Mar-81 10:26:20, Edit by GUNN
!
! Add fields in Request Block to contain address of auxiliary 
! block for LOAD, DUMP and TRIGGER processing. Define the structure
! of the auxiliary LOAD, DUMP and TRIGGER blocks.
! Also, change the order of some of the fields in the RB structure
! to keep them functionally grouped.
!
! NET:<DECNET20-V3P1.NML>NMLCOM.REQ.13  3-Mar-81 16:16:54, Edit by GUNN
!
! Remove RB_aaa_SIZE fields from request block field definitions.
!
%title 'NMLCOM -- Network Management Layer Common Definitions'

!                   COPYRIGHT (C) 1981, 1982 BY
!    DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS  01754
!
! THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE
! COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY 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
! EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE
! TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES
! REMAIN IN DEC.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
! AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT
! CORPORATION.
!
! DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS
! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
!

!++
! Facility: LSG DECnet Network Management
!
! Abstract: This file contains definitions  for data base formats  and
!           interesting  values  used  when  communicating  with   the
!           Network Management Layer.
!
! Environment: Bliss-36, Bliss-32 and Bliss-16
!
! Author: Steven M. Jenness, Creation date: 26-Sep-80
!
!--
!
! Configuration switches
!

compiletime
    NML$CFG_LOGGING_CONSOLE = $false,
    NML$CFG_LOGGING_FILE = $false,
    NML$CFG_LOGGING_MONITOR = $false,
    NML$CFG_LOGGING_RECEIVER = $false,
    NML$CFG_LOGGING_TRANSMITTER = $false,
    NML$CFG_FILTERS = $false;


%if $MCB
%then
    %assign (NML$CFG_LOGGING_TRANSMITTER, $true)
%fi
%if $TOPS20
%then
    %assign (NML$CFG_LOGGING_FILE, $true)
    %assign (NML$CFG_FILTERS, $true)
%fi
%if $TOPS10
%then
    %assign (NML$CFG_LOGGING_FILE, $true)
%fi

%assign (NML$CFG_LOGGING_RECEIVER, NML$CFG_LOGGING_CONSOLE or
                                   NML$CFG_LOGGING_FILE or
                                   NML$CFG_LOGGING_MONITOR)
%sbttl 'Node ID Buffer Definitions'

!
! NODE ID BUFFER definitions
!

literal
    NODE_ID_BUFFER_LENGTH = 9,
    NODE_ID_BUFFER_SIZE = ch$allocation (NODE_ID_BUFFER_LENGTH,8),
    NODE_ID_BUFFER_ALLOCATION = NODE_ID_BUFFER_SIZE * %upval;
%sbttl 'Request Manager Definitions'

! RB - Request block format definition
!
!    This is the format of the request block.  The address of a block
!    in this format is passed between routines which wish to converse
!    about a request.


$field REQUEST_BLOCK_FIELDS =
    set

! Queue linkage fields

    RB_REQUEST_QUEUE = [$sub_block (Q_ENTRY_SIZE)],
    RB_PROCESS_QUEUE = [$sub_block (Q_ENTRY_SIZE)],

! Request identification and status fields

    RB_NUMBER = [$integer],             ! Request number
    RB_TYPE = [$integer],               ! Request type (local/remote)
    RB_TASK = [$address],               ! Processing task's task blk
    RB_VERSION = [$short_integer],      ! Remote NML version number
    RB_STATE = [$integer],              ! Request state

! NICE request and response buffers

    RB_NICE = [$address],               ! NICE message address
    RB_RESPONSE = [$address],           ! NICE response msg address
    RB_NICE_LENGTH = [$integer],        ! NICE message length
    RB_NICE_ALLOCATION = [$integer],    ! NICE block (units)
    RB_RESPONSE_LENGTH = [$integer],    ! Response message length
    RB_RESPONSE_ALLOCATION = [$integer], ! Response block (units)

! Request source information

    RB_EXECUTOR = [$address],           ! EXECUTOR node id address
    RB_SOURCE = [$address],             ! Source node id address
    RB_COMPLETION = [$address],         ! Completion routine address
    RB_DATA = [$address],               ! Request source data
    RB_DATA_ALLOCATION = [$integer],    ! Data block (units)

! Request access control information

    RB_USER = [$pointer],               ! USER name string (ACCESS)
    RB_USER_LENGTH = [$integer],        ! USER name length
    RB_PASSWORD = [$pointer],           ! PASSWORD string (ACCESS)
    RB_PASSWORD_LENGTH = [$integer],    ! PASSWORD string length
    RB_ACCOUNT = [$pointer],            ! ACCOUNT string (ACCESS)
    RB_ACCOUNT_LENGTH = [$integer],     ! ACCOUNT string length

! Request processing data

    RB_NICE_POINTER = [$pointer],       ! Current NICE pointer
    RB_NICE_POSITION = [$integer],      ! Current NICE byte position
    RB_NICE_ENTITY_TYPE = [$integer], 	! NICE full entity type 
    RB_NICE_FUNCTION = [$byte],         ! NICE function code
    RB_NICE_OPTION = [$byte],           ! NICE option byte
    RB_NICE_ENTITY_ID_LENGTH = [$byte], ! NICE entity length
    RB_PRV_LOCAL = [$bit],              ! special services allowed
    RB_PRV_SYSTEM = [$bit],             ! System specific allowed
    RB_PRV_SERVICE = [$bit],            ! Load/Dump/Trigger allowed
    RB_PRV_TEST = [$bit],               ! Test allowed
    RB_PRV_CHANGE = [$bit],             ! Change Parameters allowed
    RB_PRV_READ = [$bit],               ! Read Parameters allowed
    RB_NICE_ENTITY_ADR = [$address],    ! Allocated memory for entity id
    RB_NICE_ENTITY = [$pointer],        ! NICE entity pointer
    RB_NICE_PARAMETERS = [$pointer],    ! NICE parameters
    RB_NICE_PARAMETER_LENGTH = [$integer], ! NICE parameter length
    RB_NICE_QUALIFIER = [$pointer],     ! NICE parameter qualifier
    RB_DLW_DATA = [$address],           ! Data Link Watcher block

! LOAD, DUMP & TRIGGER auxiliary information

    RB_LOAD_DATA = [$address],          ! Address of LOAD data block
    RB_LOAD_DATA_ALLOCATION = [$integer],
        $overlay (RB_LOAD_DATA)
    RB_DUMP_DATA = [$address],          ! Address of DUMP data block
    RB_DUMP_DATA_ALLOCATION = [$integer],
        $continue

        $overlay (RB_LOAD_DATA)
    RB_TRIGGER_DATA = [$address],       ! Address of TRIGGER
    RB_TRIGGER_DATA_ALLOCATION = [$integer], ! data block
        $continue


! Response data

    RB_RETURN_CODE = [$tiny_integer],   ! NICE return code
    RB_RESPONSE_DATA = [$tiny_integer], ! Non-zero if response data
    RB_ERROR_DETAIL = [$integer],       ! NICE error detail
    RB_ERROR_POINTER = [$pointer]       ! NICE error message pointer
    tes;

literal
       REQUEST_BLOCK_SIZE = $field_set_size,
       REQUEST_BLOCK_ALLOCATION = $field_set_units,
       RB_REQUEST_QUEUE_OFFSET = %fieldexpand (RB_REQUEST_QUEUE, 0),
       RB_PROCESS_QUEUE_OFFSET = %fieldexpand (RB_PROCESS_QUEUE, 0);

macro
     REQUEST_BLOCK =
         block [REQUEST_BLOCK_SIZE] field (REQUEST_BLOCK_FIELDS) %;

!
! Values for RB_STATE
!

literal
       RB$WAITING = 1,                  ! Request is waiting to execute
       RB$ACTIVE = 2,                   ! Request processing initiated
       RB$DONE = 3,                     ! Request processing complete
       RB$CANCELLED = 4,                ! Request was cancelled
       RB$MORE = 5;                     ! Request partially complete

!
! Values for request type
!

literal
       RT$LOCAL = 1,                    ! Request to be processed locally
       RT$REMOTE = 2;                   ! Request to be processed remotely
%sbttl 'STATE, SUBSTATE and SERVICE parameter values'

!
! Circuit STATE values
!

literal
    CIRCUIT_ON = 0,
    CIRCUIT_OFF = 1,
    CIRCUIT_SERVICE = 2,
    CIRCUIT_CLEARED = 3;

!
! Circuit SUBSTATE values
!

literal
    CIRCUIT_NO_SUBSTATE = -1,
    CIRCUIT_STARTING = 0,
    CIRCUIT_REFLECTING = 1,
    CIRCUIT_LOOPING = 2,
    CIRCUIT_LOADING = 3,
    CIRCUIT_DUMPING = 4,
    CIRCUIT_TRIGGERING = 5,
    CIRCUIT_AUTOSERVICE = 6,
    CIRCUIT_AUTOLOADING = 7,
    CIRCUIT_AUTODUMPING = 8,
    CIRCUIT_AUTOTRIGGERING = 9,
    CIRCUIT_SYNCHRONIZING = 10,
    CIRCUIT_FAILED = 11;

!
! Circuit SERVICE values
!

literal
    CIRCUIT_ENABLED = 0,
    CIRCUIT_DISABLED = 1;
%sbttl 'Data Link Watcher Service Queue Block Definitions'

!
! Link service queue entry formats
!

$field
    DLWQ_FIELDS =
	set
	    DLWQ_EVENT = [$sub_block (Q_ENTRY_SIZE)],
	    DLWQ_CIRCUIT_NAME = [$string (17)],
            DLWQ_HARDWARE_ADDRESS = [$sub_block (2)],
            DLWQ_NODE_ID = [$pointer],
            DLWQ_DEVTYP = [$byte],
            DLWQ_FORMAT_VER = [$byte],
            DLWQ_PROG_TYPE = [$byte],
            DLWQ_SID_FORM = [$tiny_integer],
            DLWQ_SOFTWARE_ID = [$string (17)],
            DLWQ_PROCESSOR = [$byte],
            DLWQ_DL_BUFSIZ = [$integer],
            DLWQ_NEED_RPM = [$bits(1)],
            DLWQ_MEMORY_SIZE = [$string (4)],
            DLWQ_SUPPLIED_FILE = [$string (30)]
	tes;

literal
    DLWQ_SIZE = $field_set_size,
    DLWQ_ALLOCATION = $field_set_units;

macro
     DLWQ_BLOCK = block [DLWQ_SIZE] field (DLWQ_FIELDS) %;
%sbttl 'NI Load/Dump Assistance Queue Block Definitions'


$field LDAQ_FIELDS =
    set
    LDAQ_EVENT = [$sub_block (Q_ENTRY_SIZE)],
    LDAQ_CIRCUIT_HANDLE = [$integer],
    LDAQ_SAD = [$sub_block (2)],
    LDAQ_BUF_PTR = [$pointer],
    LDAQ_MSG_LEN = [$integer],
    LDAQ_BUFFER_ADDRESS = [$address],
    LDAQ_BUFFER_SIZE = [$integer]
    tes;

literal
       LDAQ_SIZE = $field_set_size,
       LDAQ_ALLOCATION = $field_set_units;
%sbttl 'Event Logging Manager Definitions'

! REB - Raw Event Block format definition
!
!    This is the format of the block used to pass raw event data
!    to NML$DECLARE_EVENT.  It also provides work areas for
!    processed event information.

$field RAW_EVENT_BLOCK_FIELDS =
    set
    REB_ENTITY_POINTER = [$pointer],    ! Pointer to entity-id string
    REB_SOURCE_POINTER = [$pointer],    ! Pointer to source node string
    REB_DATA_POINTER = [$pointer],      ! Pointer to event data
    REB_DATA_LENGTH = [$integer],       ! Length of event data
        $align (fullword)               !  (for sub-field access)
    REB_EVENT_CODE = [$short_integer],  ! Event class/type
    REB_SINK_FLAGS = [$short_integer],  ! Sink flags:
        $overlay (REB_SINK_FLAGS)
    REB_CONSOLE = [$bit],               !  Console sink
    REB_FILE = [$bit],                  !  File sink
    REB_MONITOR = [$bit],               !  Monitor sink
        $continue
        $align (fullword)               !  (for sub-field access)
    REB_ENTITY_TYPE = [$short_integer], ! Entity type
    REB_TIME_BLOCK = [$address]         ! Address of time block for event
    $align (fullword)                   ! or zero if no time supplied.
    tes;

literal
       RAW_EVENT_BLOCK_SIZE = $field_set_size,
       RAW_EVENT_BLOCK_ALLOCATION = $field_set_units;

macro
     RAW_EVENT_BLOCK =
         block [RAW_EVENT_BLOCK_SIZE] field (RAW_EVENT_BLOCK_FIELDS) %;

!
! Event queue header definitions.
!  These are handled by the NML$EQUEUE_* routines.
!  Only event buffer entries should be put on these queues.
!
! macro:   EVENT_QUEUE       Defines a queue header block
! value:   EVENT_QUEUE_SIZE  Defines size of queue header block
!

$field EVENT_QUEUE_FIELDS =
    set
    EQ_QUEUE = [$sub_block (SQ_HEADER_SIZE)], ! Queue header
    EQ_COUNT = [$short_integer],        ! Current number of events in queue
    EQ_LENGTH = [$short_integer]        ! Maximum number of events queue-able
    tes;

literal
       EVENT_QUEUE_SIZE = $field_set_size,
       EVENT_QUEUE_ALLOCATION = $field_set_units;

macro
     EVENT_QUEUE =
         block [EVENT_QUEUE_SIZE] field (EVENT_QUEUE_FIELDS) %;

!
! Response text handler (in case we have to go to UPPER CASE)
!

macro
     $NML$TEXT [] =
         %string (%remaining) %;
%sbttl 'Global Name Mappings'

!
! Request manager (NMLQUE)
!

macro
     NML$REQUEST_INITIALIZE = NL_INIT %,
     NML$REQUEST_ENTER = NL_RENTER %,
     NML$REQUEST_NEXT = NL_REMOVE %,
     NML$REQUEST_FINISH = NL_FINISH %,
     NML$REQUEST_ABORT = NL_ABORT %,
     NML$REQUEST_TERMINATE = NL_TERM %,
     NML$REQUEST_CANCEL = NL_CANCEL %,
     NML$REQUEST_SHOW = NL_SHOW %;

macro
     NML$REQUEST_MANAGER =
         NML$REQUEST_INITIALIZE : novalue, ! Initialize request manager
         NML$REQUEST_ENTER,             ! Enter request onto request queue
         NML$REQUEST_NEXT,              ! Get next request for processing
         NML$REQUEST_FINISH             ! Signal completion of a request
         %if not $MCB
         %then ,
              NML$REQUEST_ABORT,        ! Abort processing of a request
              NML$REQUEST_TERMINATE,    ! Terminate processing of a
                                        !   multi-response request
              NML$REQUEST_CANCEL,       ! Cancel request not being processed
              NML$REQUEST_SHOW          ! Return requests in queues
         %fi %;

!
! NICE Request Processor (NMLNIC)
!

macro
     NML$NICE_LISTENER = NL_LSN %,      ! Receive remote NICE request
     NML$DEQUEUE_REQUEST = NL_DQR %,    ! Dequeue NICE request
     NML$NICE_RESPONSE = NL_RSP %,      ! Process NICE response
     NML$GET_SUBENTITY_ID = NL_GSB %;	! Extract subentity id.

!
! NICE Dump, Trigger, and Load Request Processor (NMLDTL)
!

macro
     NML$DUMP = NL_DMP %,
     NML$TRIGGER = NL_TRG %,
     NML$LOAD = NL_LOD %;

!
! NICE Read, Change, and Zero Request Processor (NMLRCZ)
!

macro
     NML$READ = NL_REA %,
     NML$CHANGE = NL_CHG %,
     NML$ZERO = NL_ZRO %;

!
! NICE Data Link Watcher
!

macro
     NML$DLW_READ_LDAQ = NL_RAQ %;

!
! NICE Test Request Processor (NMLLBK)
!

macro
     NML$TEST = NL_TST %;

!
! NICE System Specific Request Processor (NMLSPC)
!

macro
     NML$SYSTEM_SPECIFIC = NL_SPC %;

!
! NML State Calculation Routines (NMLSTA)
!

macro
    NML$CALCULATE_CIRCUIT_STATE = NL_CAL %;

!
! NML version compatibility support (NMLCNV)
!

macro
    NML$CNV_CHECK_VERSION = NV_VER %,
    NML$CNV_COMMAND = NV_CMD %,
    NML$CNV_EVENT = NV_EVT %,
    NML$CNV_RESPONSE = NV_RSP %;

!
! NML Parameter Support (NMLPRM)
!

macro
     NML$VALID_PARAMETER = NL_PVL %,
     NML$CLEARABLE = NL_CLR %,
     NML$UPPER_CASE = NL_UC %,
     NML$READ_ONLY = NL_RO %,
     NML$PARAMETER_TEXT = NL_PTX %,
     NML$CODED_TEXT = NL_PCT %,
     NML$INFORMATION = NL_INF %,
     NML$SUMMARY = NL_PSU %,
     NML$STATUS = NL_PST %,
     NML$CHARACTERISTIC = NL_PCH %,
     NML$EXECUTOR_ONLY = NL_PEX %,
     NML$VDB_PARAMETER = NL_PVD %,
     NML$DATA_TYPE = NL_DTP %,
     NML$PARAMETER_DATA = NL_PDA %,
     NML$PARAMETER_DATA_SKIP = NL_PDS %,
     NML$ENTITY_DATA = NL_EDA %,
     NML$ENTITY_DATA_SKIP = NL_EDS %;

!
! Volatile Data Base Processor (NMLVDB)
!

macro
     NML$VDB_INITIALIZE = NL_VDI %,
     NML$VDB = NL_VDB %,
     NML$GET_VDB_PARAMETER = NL_VGP %,
     NML$SET_VDB_PARAMETER = NL_VSP %,
     NML$CLR_VDB_PARAMETER = NL_VCP %,
     NML$FIND_NDB = NL_VFN %,
     NML$CONVERT_ENTITY_ID = NL_CEI %;

!
! Permanent Data Base Processor (NMLPDB)
!

macro
     NML$PDB_INITIALIZE = NL_PDI %,
     NML$PDB_CHANGE = NL_PPC %,
     NML$PDB_READ = NL_PPR %;

!
! Request transmitter (NMLXMT)
!

macro
     NML$TRANSMITTER = NX_TRANS %;      ! Transmitter task

!
! Loopback mirror (NMLMRR)
!

macro
     NML$MIRROR = NX_MIRROR %;          ! Loopback mirror task

!
! Nice listener (NMLRCV)
!

macro
     NML$RECEIVE_NICE = NL_RCV %;

!
! Data Link Watcher (NMLDLW)
!

macro
     NML$DLW_CHECK_CIRCUIT = NW_CKT %,
     NML$DLW_INITIALIZE = NW_INI %,
     NML$DLW_SERVICE_EVENT = NW_SEV %;

!
! Event Logging Module (NMLEVL)
!

macro
     NML$DECLARE_EVENT = EV_DEC %,      ! Log an internal NML event
     NML$EQUEUE_INSERT = EQ_INS %,      ! Insert an entry on an event queue
     NML$EQUEUE_REMOVE = EQ_REM %,      ! Remove an entry from an event queue
     NML$EQUEUE_RESET = EQ_RES %,       ! Reset an event queue and set length
     NML$EVENT_INITIALIZE = EV_INI %,   ! Initialize event logging
     NML$EVENT_PROCESSOR = EV_PRO %,    ! Filter events and
                                        ! distribute to targets
     NML$EVENT_RECEIVER = EV_RCV %,     ! Receive events from other nodes
     NML$EVENT_RECORDER = EV_REC %,     ! Send events to local sinks
     NML$EVENT_TRANSMITTER = EV_XMT %,  ! Transmit events to target node
     NML$LOGGING_CONSOLE = LG_CON %,    ! Send events to console sink
     NML$LOGGING_FILE = LG_FIL %,       ! Send events to file sink
     NML$LOGGING_MONITOR = LG_MON %,    ! Send events to monitor sink
     NML$TRANSMITTER_QUEUE_GET = EV_GET %; ! Get a transmitter queue

macro
     NML$EVENT_MANAGER =
         NML$DECLARE_EVENT : novalue,   ! Declare raw event
         NML$EQUEUE_RESET : novalue,    ! Reset event queue
         NML$EQUEUE_INSERT : novalue,   ! Insert event in event queue
         NML$EQUEUE_REMOVE,             ! Remove event from event queue
         NML$EVENT_INITIALIZE : novalue, ! Initialize EVENT manager
         NML$EVENT_PROCESSOR : novalue, ! Process Raw Events
         NML$EVENT_RECORDER : novalue,   ! Record Events
         NML$TRANSMITTER_QUEUE_GET      ! Get a transmitter queue
     %;

!
! Event Logging Database module (NMLEVD)
!

macro
     NML$EVL_INITIALIZE = ED_INI %,     ! Initialize event logger database
     NML$EVL_INSERT_PARAMETER = ED_INS %, ! Event insert parameter
     NML$EVL_DELETE_PARAMETER = ED_DEL %, ! Event delete parameter
     NML$EVL_READ_EVENTS = ED_REA %,    ! Event read parameter(s)
     NML$EVL_SET_VDB_PARAMETER = ED_SET %, ! Event internal set parameter
     NML$EVL_CLR_VDB_PARAMETER = ED_CLR %, ! Event internal clear parameter
     NML$EVL_GET_VDB_PARAMETER = ED_GET %, ! Event internal get parameter
     NML$EVL_APPLY_FILTER = ED_FIL %,   ! Event apply filter
     NML$EVL_EVENT_TEXT = ED_ETX %;     ! Get event text

!
! Counter Timer Modules
!

macro
     NML$COUNTER_TIMER_TASK = NL_CTT %,	! Counter Timer Task itself
     NML$COUNTER_TIMER_SET = NL_SCT %,	! Sets counter timers
     NML$COUNTER_TIMER_CLEAR = NL_CCT %; ! Clears counter timers
%title ''
%sbttl ''

!
! [End of NMLCOM.REQ]
! Local Modes:
! Mode:BLISS
! Auto Save Mode:2
! Comment Column:40
! Comment Rounding:+1
! End: