Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/nml/nmlcom.req
There are 2 other files named nmlcom.req in the archive. Click here to see a list.
! 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) 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: 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;

%if $MCB
%then
    %assign (NML$CFG_LOGGING_TRANSMITTER, $true)
%fi
%if $TOPS20
%then
    %assign (NML$CFG_LOGGING_FILE, $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_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_FUNCTION = [$byte],         ! NICE function code
    RB_NICE_OPTION = [$byte],           ! NICE option byte
    RB_NICE_ENTITY_TYPE = [$byte],      ! NICE entity type number
    RB_NICE_SUB_ENTITY_TYPE = [$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

! 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 '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) %;

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

$field TRANSMITTER_QUEUE_FIELDS =
    set
    TQ_QUEUE = [$sub_block (EVENT_QUEUE_SIZE)], ! Queue header
    TQ_TRANSMITTER_TASK = [$address],
        $align (FULLWORD)               ! For character pointer.
    TQ_SINK_NODE = [$bytes (9 + 1)]
    tes;

literal
       TRANSMITTER_QUEUE_SIZE = $field_set_size,
       TRANSMITTER_QUEUE_ALLOCATION = $field_set_units;

macro
     TRANSMITTER_QUEUE =
         block [TRANSMITTER_QUEUE_SIZE] field (TRANSMITTER_QUEUE_FIELDS) %;

!
! Event buffer block definitions
!  These are handled by the NML$EQUEUE_* routines.
!
! macro:   EVENT_BUFFER       Defines
! value:   EVENT_BUFFER_SIZE  Defines
!

$field EVENT_BUFFER_FIELDS =
    set
    EB_QUEUE = [$sub_block (Q_ENTRY_SIZE)], ! Queue link
    EB_ALLOCATION = [$short_integer],   ! Length of allocated memory
    EB_LENGTH = [$short_integer],       ! Length of message
    EB_BUFFER = [$sub_block (0)]        ! Beginning of buffer with message
    tes;

literal
       EVENT_BUFFER_SIZE = $field_set_size,
       EVENT_BUFFER_ALLOCATION = $field_set_units;

macro
     EVENT_BUFFER =
         block field (EVENT_BUFFER_FIELDS, Q_ENTRY_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

!
! 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 Test Request Processor (NMLLBK)
!

macro
     NML$TEST = NL_TST %;

!
! NICE System Specific Request Processor (NMLSPC)
!

macro
     NML$SYSTEM_SPECIFIC = NL_SPC %;

!
! NML Parameter Support (NMLPRM)
!

macro
     NML$VALID_PARAMETER = NL_PVL %,
     NML$CLEARABLE = NL_CLR %,
     NML$READ_ONLY = NL_RO %,
     NML$PARAMETER_TEXT = NL_PTX %,
     NML$CODED_TEXT = NL_PCT %,
     NML$SUMMARY = NL_PSU %,
     NML$STATUS = NL_PST %,
     NML$CHARACTERISTIC = NL_PCH %,
     NML$EXECUTOR_ONLY = NL_PEX %,
     NML$VDB_PARAMETER = NL_PVD %,
     NML$GET_PDB_DATA_TYPE = NL_PDT %,
     NML$PARAMETER_DATA = NL_PDA %,
     NML$PARAMETER_LOOKUP = NL_PLU %;

!
! 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 %;

!
! 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_CALL = NW_CAL %,
     NML$DLW_INITIALIZE = NW_INI %;

!
! Event Logging Modules (NMLEV*)
!

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
     %;

!
! 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: