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: