Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/nml/nmlrcz.lst
There are no other files named nmlrcz.lst in the archive.
24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 1
3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (1)
; 0001 ! <BRANDT.DEVELOPMENT>NMLRCZ.BLI.1 23-Sep-82 10:54:34 Edit by BRANDT
; 0002 !
; 0003 ! Ident 35.
; 0004 ! In READ_SPECIFIC_ENTITY and ZERO_SPECIFIC_ENTITY, copy the value
; 0005 ! of ERROR_DETAIL (returned by NMLVDB) into the REQUEST block
; 0006 ! so that it will be formatted into the response message.
; 0007 !
; 0008 ! <BRANDT.DEVELOPMENT>NMLRCZ.BLI.1 22-Sep-82 15:21:29 Edit by BRANDT
; 0009 !
; 0010 ! Ident 34.
; 0011 ! Add OWN variable ERROR_DETAIL, and include it as an argument
; 0012 ! in all NML$VDB calls. In CHANGE_SPECIFIC_ENTITY, copy the value
; 0013 ! of ERROR_DETAIL (returned by NMLVDB) into the REQUEST block
; 0014 ! so that it will be formatted into the response message.
; 0015 !
; 0016 ! <BRANDT.DEVELOPMENT>NMLRCZ.BLI.2 17-Sep-82 10:12:37, Edit by BRANDT
; 0017 !
; 0018 ! Ident 33.
; 0019 ! Rework edit 31 so that CLEAR entity ALL does not get rejected.
; 0020 !
; 0021 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 23-Jun-82 11:30:26, Edit by PECKHAM
; 0022 !
; 0023 ! Ident 32.
; 0024 ! Check RB_PRV_* bits in request block before performing requests.
; 0025 !
; 0026 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 5-Jun-82 12:05:11, Edit by PECKHAM
; 0027 !
; 0028 ! Ident 31.
; 0029 ! Fix CHANGE_SPECIFIC_ENTITY to reject the no-parameter case (SET entity ALL).
; 0030 !
; 0031 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 27-May-82 13:05:53, Edit by PECKHAM
; 0032 !
; 0033 ! Ident 30.
; 0034 ! Add routine MULTIPLE_PARAMETERS to detect a message with multiple parameters.
; 0035 ! Use this in NML$CHANGE to reject requests with multiple parameters.
; 0036 !
; 0037 ! NET:<BRANDT.DEVELOPMENT>NMLRCZ.BLI.2 11-May-82 9:00:28, Edit by BRANDT
; 0038 !
; 0039 ! Ident 29.
; 0040 ! 1) Move code that puts entity id into response message from routine
; 0041 ! COPY_RESP_PARAMETERS to NML$NICE_RESPONSE.
; 0042 ! 2) In PROCESS_ENTITY_CLASS remove call to COPY_RESP_PARAMETERS
; 0043 ! since this was only called to insert the entity id.
; 0044 ! 3) Add code to READ_SPECIFIC_ENTITY to handle the case where the
; 0045 ! data returned requires multiple response messages. The complete
; 0046 ! fix for this problem is to put the code added to this routine
; 0047 ! into a new function which can also be called anytime
; 0048 ! COPY_RESP_PARAMETERS is called. This will cover all cases.
; 0049 ! 4) In READ_SPECIFIC_ENTITY change buffer size to 192 chars from
; 0050 ! 256 chars. Thus only 192 chars of data will be requested for
; 0051 ! a single NICE response message. If 256 chars were obtained,
; 0052 ! it would not fit in the space currently allocated for NICE
24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 2
3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (1)
; 0053 ! resp messages (256 chars) since the NICE message also includes
; 0054 ! some header info.
; 0055 !
; 0056 ! NET:<VOBA.NML.DEVELOPMENT>NMLRCZ.BLI.23 25-Mar-82 17:52:28, Edit by VOBA
; 0057 !
; 0058 ! Ident 28.
; 0059 ! Fix GET_NEXT_PARAMETER to parse cluster of parameters with different
; 0060 ! values. For example, CHANNELS parameter of MODULE entity with more than
; 0061 ! one range in a NICE message and formatted in a cluster, i.e. one follows
; 0062 ! another, would be parsed and passed to the parameter processing routine
; 0063 ! as one single unit.
; 0064 !
; 0065 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.3 11-Mar-82 08:58:36, Edit by PECKHAM
; 0066 !
; 0067 ! Ident 27.
; 0068 ! Fix BUFFER1_LENGTH handling in PROCESS_ENTITY_CLASS.
; 0069 !
; 0070 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 8-Mar-82 17:56:17, Edit by PECKHAM
; 0071 !
; 0072 ! Ident 26.
; 0073 ! Change test on results of MEMORY_GET so that we don't get
; 0074 ! resource errors in ZERO_SPECIFIC_ENTITY.
; 0075 !
; 0076 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 8-Mar-82 11:05:04, Edit by PECKHAM
; 0077 !
; 0078 ! Ident 25.
; 0079 ! Eliminate duplicate response at end of SHOW KNOWN in PROCESS_REQUEST.
; 0080 !
; 0081 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.4 8-Mar-82 01:24:11, Edit by PECKHAM
; 0082 !
; 0083 ! Ident 24.
; 0084 ! Fix up buffer length maintenance understanding with NML$VDB.
; 0085 !
; 0086 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 6-Mar-82 22:58:06, Edit by PECKHAM
; 0087 !
; 0088 ! Ident 23.
; 0089 ! Remove direct references to lower level and go through NML$VDB.
; 0090 !
; 0091 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.9 6-Mar-82 21:35:17, Edit by PECKHAM
; 0092 !
; 0093 ! Ident 22.
; 0094 ! Fix SET KNOWN bug - save and restore RB_NICE_PARAMETERS pointer.
; 0095 ! Re-organization to fix response handling for multiple responses
; 0096 ! on SET, SHOW, and ZERO commands.
; 0097 ! Eliminate distinction between qualified and unqualified $NML$xxx calls
; 0098 ! (changes made in NMXINT).
; 0099 !
; 0100 ! NET:<VOBA.NML.DEVELOPMENT>NMLRCZ.BLI.8 5-Mar-82 08:40:28, Edit by VOBA
; 0101 !
; 0102 ! Ident 21.
; 0103 ! Added code to handle MODULE entities.
; 0104 ! Undo last change made in PROCESS_ENTITY_CLASS (for PECKHAM).
24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 3
3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (1)
; 0105 !
; 0106 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.3 3-Mar-82 10:59:44, Edit by PECKHAM
; 0107 !
; 0108 ! Ident 20.
; 0109 ! De-optimize code in PROCESS_ENTITY_CLASS in order to avoid confusing
; 0110 ! BLIS16 compiler into creating stack bug.
; 0111 !
; 0112 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.3 26-Feb-82 15:16:59, Edit by PECKHAM
; 0113 !
; 0114 ! Ident 19.
; 0115 ! Fix PROCESS_ENTITY_CLASS so that it generates an isolated '2' response
; 0116 ! before sending back the entity responses.
; 0117 ! General handling of NMU$MEMORY_GET failures.
; 0118 !
; 0119 ! NET:<GROSSMAN.NML-SOURCES>NMLRCZ.BLI.3 24-Feb-82 09:13:39, Edit by GROSSMAN
; 0120 !
; 0121 ! Fix PROCESS_ENTITY_CLASS so that it is sensitive to the resource error code
; 0122 ! returned by Tops-10's cruddy NMX. (Ie: it returns Parameter Value Too Long
; 0123 ! when attempting returning a list of active or known items.)
; 0124 !
; 0125 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 , Edit by PECKHAM
; 0126 !
; 0127 ! Ident 18.
; 0128 ! Fix logging entity insertion in COPY_RESPONSE_PARAMETERS.
; 0129 ! Also fix logging list processing in PROCESS_ENTITY_CLASS.
; 0130 !
; 0131 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.2 8-Feb-82 12:52:27, Edit by PECKHAM
; 0132 !
; 0133 ! Ident 17.
; 0134 ! Fix EID_ADR buffer mismanagement bug in PROCESS_ENTITY_CLASS
; 0135 ! introduced by #16.
; 0136 !
; 0137 ! NET:<PECKHAM.DEVELOPMENT>NMLRCZ.BLI.19 25-Jan-82 15:30:01, Edit by PECKHAM
; 0138 !
; 0139 ! Ident 16.
; 0140 ! Change GETWs to GETBs in node name comparison in
; 0141 ! READ_SPECIFIC_ENTITY to get around BLISS compiler bug.
; 0142 ! In ZERO_SPECIFIC_ENTITY, always do a "show and zero" to the lower layer
; 0143 ! and use the result for a "counters zeroed" event.
; 0144 !
; 0145 ! NET:<BRANDT.DEVELOP>NMLRCZ.BLI.1 21-Jan-82 12:15:27, Edit by BRANDT
; 0146 !
; 0147 ! Ident 15.
; 0148 ! In routine PROCESS_ENTITY_CLASS, change a 7-bit pointer to an 8-bit
; 0149 ! pointer to resolve a problem with bad node addresses.
; 0150 !
; 0151 ! NET:<GUNN>NMLRCZ.BLI.4 20-Jan-82 12:11:03, Edit by GUNN
; 0152 !
; 0153 ! Ident 14.
; 0154 ! Update copyright date to 1982.
; 0155 ! Fix PROCESS_ENTITY_CLASS to be smart about handling the buffer
; 0156 ! size required for the list of known entities.
24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 4
3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (1)
; 0157 !
; 0158 ! NET:<BRANDT.DEVELOP>NMLRCZ.BLI.1 17-Dec-81 15:28:57, Edit by BRANDT
; 0159 !
; 0160 ! Ident 13.
; 0161 ! Fix routine CHANGE_SPECIFIC_ENTITY to correctly handle NICE messages
; 0162 ! that have no parameters. (e.g., CLEAR CIRCUIT foo ALL)
; 0163 ! Update comments in GET_NEXT_PARAMETER and change interface to
; 0164 ! expect only one argument.
; 0165 !
; 0166 ! <GROSSMAN>NMLRCZ.BLI.2 1-Dec-81 19:07:14, Edit by GROSSMAN
; 0167 ! Ident 12. (No change from previous)
; 0168 ! Fix a bug introduced accidentally by the previous edit. Makes this module
; 0169 ! compile.
; 0170 !
; 0171 ! 1-Dec-81 16:59:19, Edit by GROSSMAN, Ident 12.
; 0172 ! Set buffer size to 256*3 in PROCESS_ENTITY_CLASS so that we can accomodate
; 0173 ! all the nodes on the engineering network at once.
; 0174 !
; 0175 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.2 16-Sep-81 12:27:43, Edit by GUNN
; 0176 ! Ident 11.
; 0177 ! Set buffer count to zero if call to $NML$SHOW fails.
; 0178 !
; 0179 ! NET:<DECNET20-V3P1.NMU.LIBRARY>NMLRCZ.BLI.4 30-Jun-81 11:25:37, Edit by GUNN
; 0180 !
; 0181 ! Ident 10.
; 0182 ! Fix code in READ_SPECIFIC_ENTITY to set error return code only if both
; 0183 ! call to VDB and call to NMX fail.
; 0184 !
; 0185 ! LTNML:<V3-LT.NCPNML.NMLMCB>NMLRCZ.BLI.4 17-Jun-81 09:01:54, Edit by SROBINSON
; 0186 ! X03.09
; 0187 ! Fix NODE_ processing in PROCESS_ENTITY_CLASS to get right ID length
; 0188 ! and be defensive.
; 0189 !
; 0190 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.3 12-Jun-81 14:16:51, Edit by GUNN
; 0191 !
; 0192 ! Ident 08.
; 0193 ! Fix call to $NML$MAP_NODE_ID in PROCESS_ENTITY_CLASS to pass
; 0194 ! address of length not literal.
; 0195 !
; 0196 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.5 6-May-81 10:36:50, Edit by GUNN
; 0197 !
; 0198 ! Pass along updated buffer pointer when calling $NML$SHOxx interface.
; 0199 !
; 0200 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.4 6-May-81 10:15:43, Edit by GUNN
; 0201 !
; 0202 ! Add code to read parameters from volatile data base and merge in
; 0203 ! buffer with parameters from lower layers.
; 0204 !
; 0205 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.2 29-Mar-81 22:47:22, Edit by GUNN
; 0206 !
; 0207 ! Change GET_NEXT_PARAMETER routine to calculate length of current
; 0208 ! parameter. It now uses NML$PARAMETER_DATA.
24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 5
3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (1)
; 0209 !
; 0210 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.2 13-Mar-81 17:13:44, Edit by GUNN
; 0211 !
; 0212 ! Fix PROCESS_ENTITY_CLASS to release NODE id buffer only if one
; 0213 ! has been previously allocated.
; 0214 !
; 0215 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.4 10-Mar-81 17:49:13, Edit by GUNN
; 0216 !
; 0217 ! Fix loop in PROCESS_ENTITY_CLASS routine to cycle through all
; 0218 ! entities. Length of executor node id name was not getting bit 7
; 0219 ! masked.
; 0220 !
; 0221 ! NET:<DECNET20-V3P1.NML>NMLRCZ.BLI.2 13-Feb-81 08:51:27, Edit by GUNN
; 0222 !
; 0223 ! Add code to expand NODE entity ids returned in class list to full format.
; 0224 !
; 0225 ! NET:<DECNET20-V3P1.BASELEVEL-2.SOURCES>NMLRCZ.BLI.14 11-Feb-81 16:18:34, Edit by GUNN
; 0226 !
; 0227 ! Add code to set bit 7 of node entity name length byte if
; 0228 ! it is the executor.
; 0229 !
; 0230 ! Change reference to entity id length in request block to be
; 0231 ! treated as signed 8 bit byte.
; 0232 !
NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 6
3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (2)
; 0233 %title 'NMLRCZ -- NICE Read/Change/Zero Processing'
; 0234 module NMLRCZ (
; 0235 ident = 'X03.35'
; 0236 ) =
; 0237 begin
; 0238
; 0239 ! COPYRIGHT (c) 1980, 1981, 1982
; 0240 ! DIGITAL EQUIPMENT CORPORATION
; 0241 ! Maynard, Massachusetts
; 0242 !
; 0243 ! This software is furnished under a license and may be used
; 0244 ! and copied only in accordance with the terms of such license
; 0245 ! and with the inclusion of the above copyright notice. This
; 0246 ! software or any other copies thereof may not be provided or
; 0247 ! otherwise made available to any other person. No title to
; 0248 ! and ownership of the software is hereby transferred.
; 0249 !
; 0250 ! The information in this software is subject to change
; 0251 ! without notice and should not be construed as a commitment
; 0252 ! by DIGITAL EQUIPMENT CORPORATION.
; 0253 !
; 0254 ! DIGITAL assumes no responsibility for the use or reliability
; 0255 ! of its software on equipment which is not supplied by
; 0256 ! DIGITAL.
; 0257 !
; 0258
; 0259 !++
; 0260 ! FACILITY: DECnet-10/20 V3.0 Network Management Layer (NML)
; 0261 !
; 0262 ! ABSTRACT:
; 0263 !
; 0264 ! Performs read parameters and counters, change parameters, and zero
; 0265 ! counters.
; 0266 !
; 0267 ! ENVIRONMENT: TOPS-10/20 & MCB/RSX11 User mode under NML
; 0268 !
; 0269 ! AUTHOR: Dale C. Gunn , CREATION DATE: 12-Nov-80
; 0270 !
; 0271 ! MODIFIED BY:
; 0272 !
; 0273 ! , : VERSION
; 0274 ! 01 -
; 0275 !--
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 7
X03.35 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (3)
; 0276
; 0277 !
; 0278 ! INCLUDE FILES:
; 0279 !
; 0280
; 0281 library 'NMLLIB'; ! All required definitions
; 0282 require 'NMLEXT'; ! NML External routines
; 0388
; 0389 !
; 0390 ! TABLE OF CONTENTS
; 0391 !
; 0392
; 0393 forward routine
; 0394 NML$READ, ! Perform read information
; 0395 READ_SPECIFIC_ENTITY : novalue, ! Reads information for single ID
; 0396 NML$CHANGE, ! Perform change parameters
; 0397 CHANGE_SPECIFIC_ENTITY : novalue,
; 0398 MULTIPLE_PARAMETERS,
; 0399 GET_NEXT_PARAMETER,
; 0400 NML$ZERO, ! Perform zero counters
; 0401 ZERO_SPECIFIC_ENTITY : novalue,
; 0402 PROCESS_REQUEST,
; 0403 PROCESS_ENTITY_CLASS, ! Process 'KNOWN' or 'ACTIVE' entities
; 0404 COPY_RESP_PARAMETERS;
; 0405
; 0406 !
; 0407 ! MACROS:
; 0408 !
; 0409
; 0410
; 0411 !
; 0412 ! EQUATED SYMBOLS:
; 0413 !
; 0414
; 0415 !
; 0416 ! OWN STORAGE:
; 0417 !
; 0418
; 0419 own
; 0420 ERROR_DETAIL: initial (-1); ! For error detail returned from NMLVDB
; 0421
; 0422 !
; 0423 ! EXTERNAL REFERENCES:
; 0424 !
; 0425
; 0426 external routine
; 0427 NMU$NETWORK_LOCAL,
; 0428 NML$VDB_PARAMETER,
; 0429 NML$DECLARE_EVENT,
; 0430 NML$PARAMETER_DATA,
; 0431 NML$VDB,
; 0432 NML$PDB_READ,
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 8
X03.35 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (3)
; 0433 NML$PDB_CHANGE,
; 0434 NML$NICE_RESPONSE;
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 9
X03.35 NML$READ as NL_REA 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (4)
; 0435 %global_routine ('NML$READ', REQ) =
; 0436
; 0437 !++
; 0438 ! FUNCTIONAL DESCRIPTION:
; 0439 !
; 0440 ! Performs the NICE read information request for the local
; 0441 ! Network Management Layer.
; 0442 !
; 0443 ! FORMAL PARAMETERS
; 0444 !
; 0445 ! REQ - The address of the NML Request Block for this request.
; 0446 !
; 0447 ! IMPLICIT INPUTS
; 0448 !
; 0449 ! NONE.
; 0450 !
; 0451 ! ROUTINE VALUE:
; 0452 !
; 0453 ! 1 if NICE request has completed successfully.
; 0454 ! NEGATIVE NICE error return code if request failed.
; 0455 !
; 0456 ! SIDE EFFECTS:
; 0457 !
; 0458 ! NONE.
; 0459 !
; 0460 !--
; 0461
; 0462 begin
; 0463
; 0464 map
; 0465 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0466
; 0467 if not .REQ[RB_PRV_READ] then return NICE$_PRV;
; 0468
; 0469 PROCESS_REQUEST (.REQ, READ_SPECIFIC_ENTITY)
; 0470 end; ! End of NML$READ
.TITLE NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing
.IDENT /X03.35/
000000 .PSECT $OWN$, D
000000 177777 ERROR.DETAIL:
.WORD -1
.GLOBL US.CREATE, US.ABORT, US.FINI, US.COMPLETE
.GLOBL US.ERROR, US.INSERT, US.REMOVE
.GLOBL US.QRESET, US.QQINS, US.QQREM
.GLOBL US.QQSET, US.QQEXT, US.EVENT, US.WAIT
.GLOBL US.FLAG, US.SLEEP, US.CURRENT
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 10
X03.35 NML$READ as NL_REA 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (4)
.GLOBL US.DESCHEDULE, UM.RESET, UM.INITIALIZE
.GLOBL UM.GET, UM.RELEASE, UQ.RESET, UQ.INSERT
.GLOBL UQ.REMOVE, UQ.EXTRACT, UQ.LENGTH
.GLOBL UQ.SCAN, UQ.SEXTRACT, NL.INIT
.GLOBL NL.RENTER, NL.REMOVE, NL.FINISH
.GLOBL UN.LOCAL, NL.PVD, EV.DEC, NL.PDA
.GLOBL NL.VDB, NL.PPR, NL.PPC, NL.RSP
.SBTTL NL.REA NML$READ as NL_REA
000000 .PSECT $CODE$, RO
000000 016600 000002 NL.REA::MOV 2(SP),R0 ; REQ,* 0467
000004 032760 020000 000076 BIT #20000,76(R0)
000012 001003 BNE 1$
000014 012700 177775 MOV #-3,R0
000020 000207 RTS PC
000022 016646 000002 1$: MOV 2(SP),-(SP) ; REQ,* 0469
000026 012746 000000V MOV #READ.SPECIFIC.ENTITY,-(SP)
000032 004767 000000V JSR PC,PROCESS.REQUEST
000036 022626 CMP (SP)+,(SP)+ ; 0462
000040 000207 RTS PC ; 0435
; Routine Size: 17 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 3 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 11
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
; 0471 %routine ('READ_SPECIFIC_ENTITY', REQ) : novalue =
; 0472
; 0473 !++
; 0474 ! FUNCTIONAL DESCRIPTION:
; 0475 !
; 0476 ! Performs a NICE read information request for a single
; 0477 ! named entity.
; 0478 !
; 0479 ! FORMAL PARAMETERS
; 0480 !
; 0481 ! REQ - The address of the NML Request Block for this request.
; 0482 !
; 0483 ! IMPLICIT INPUTS
; 0484 !
; 0485 ! NONE.
; 0486 !
; 0487 ! ROUTINE VALUE:
; 0488 !
; 0489 ! NONE.
; 0490 !
; 0491 ! SIDE EFFECTS:
; 0492 !
; 0493 ! NONE.
; 0494 !
; 0495 !--
; 0496
; 0497 begin
; 0498
; 0499 literal
; 0500 OB_LENGTH = 192, ! Length of output buffer
; 0501 OB_SIZE = ch$allocation (OB_LENGTH,8),
; 0502 OB_ALLOCATION = OB_SIZE * %upval;
; 0503
; 0504 map
; 0505 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0506
; 0507 local
; 0508 BUFFER_ADDR, ! Address of output buffer
; 0509 BUFFER_ALLOC, ! Allocation adjustment
; 0510 BUFFER_LEFT, ! Output buffer length available
; 0511 BUFFER_LEN, ! Output buffer length
; 0512 BUFFER_USED, ! Last item # in current buffer
; 0513 BUFFER_OFFSET, ! Offset from start of buffer
; 0514 BUFFER_PTR, ! Pointer to output buffer
; 0515 RTN_COD, ! NICE return code
; 0516 BUFFER_PART: vector[10],
; 0517 N, ! Loop counter
; 0518 NN, ! Loop counter
; 0519 TEMP;
; 0520
; 0521 ERROR_DETAIL = -1; ! Initialize for response msg
; 0522 BUFFER_ALLOC = 0; ! Initial allocation adjustment
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 12
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
; 0523 N = 0; ! Initialize loop counter
; 0524
; 0525 do begin
; 0526 BUFFER_ALLOC = .BUFFER_ALLOC + OB_ALLOCATION;
; 0527 BUFFER_LEN = (.BUFFER_ALLOC/OB_ALLOCATION)*OB_LENGTH;
; 0528 BUFFER_LEFT = .BUFFER_LEN;
; 0529 if (BUFFER_ADDR = NMU$MEMORY_GET (.BUFFER_ALLOC)) eqla 0
; 0530 then begin
; 0531 REQ[RB_RETURN_CODE] = NICE$_REE;
; 0532 REQ[RB_NICE_PARAMETERS] = 0; ! No parameter data returned
; 0533 NML$NICE_RESPONSE (.REQ); ! Build response message
; 0534 return;
; 0535 end;
; 0536
; 0537 BUFFER_PTR = ch$ptr (.BUFFER_ADDR,,8);
; 0538
; 0539 if .REQ[$sub_field (RB_NICE_OPTION, RO_PERMANENT)]
; 0540 then begin
; P 0541 RTN_COD = $NML$GETPDB (.REQ[RB_NICE_ENTITY_TYPE],
; P 0542 .REQ[RB_NICE_ENTITY],
; P 0543 .REQ[RB_NICE_QUALIFIER],
; P 0544 .REQ[$sub_field (RB_NICE_OPTION, RO_INFO_TYPE)],
; P 0545 BUFFER_LEFT,
; 0546 ch$ptr (.BUFFER_ADDR,,8));
; 0547 end
; 0548 else begin
; 0549 RTN_COD = NML$VDB (%bliss36($NTSHO) %bliss16(N$FSHO),
; 0550 .REQ[RB_NICE_ENTITY_TYPE],
; 0551 .REQ[RB_NICE_ENTITY],
; 0552 .REQ[RB_NICE_QUALIFIER],
; 0553 .REQ[$sub_field (RB_NICE_OPTION, RO_INFO_TYPE)],
; 0554 BUFFER_LEFT,
; 0555 BUFFER_PTR,
; 0556 ERROR_DETAIL);
; 0557 end;
; 0558 end
; 0559 while (if .RTN_COD eql NICE$_REE ! Resource error?
; 0560 then begin ! Release insufficient buffer
; 0561 NMU$MEMORY_RELEASE (.BUFFER_ADDR, .BUFFER_ALLOC);
; 0562 BUFFER_PART[.N] = .BUFFER_LEN - .BUFFER_LEFT;
; 0563 N = .N + 1;
; 0564 if .N lss 10
; 0565 then $TRUE
; 0566 else $FALSE
; 0567 end
; 0568 else begin
; 0569 BUFFER_PART[.N] = .BUFFER_LEN - .BUFFER_LEFT;
; 0570 N = .N + 1;
; 0571 $FALSE
; 0572 end);
; 0573
; 0574 if .RTN_COD lss 1
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 13
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
; 0575 then begin
; 0576 REQ[RB_RETURN_CODE] = .RTN_COD; ! Set NICE return code
; 0577 REQ[RB_ERROR_DETAIL] = .ERROR_DETAIL; ! And error detail
; 0578 end;
; 0579
; 0580 if .N gtr 1 ! If multiple buffers required
; 0581 then
; 0582 begin
; 0583 local
; 0584 MD_SEQ; ! More/Done sequence flag
; 0585
; 0586 if .REQ[RB_STATE] neq RB$MORE ! If not already in a
; 0587 then ! More/Done sequence
; 0588 begin
; 0589 REQ[RB_RETURN_CODE] = 2; ! Start More/Done sequence now
; 0590 NML$NICE_RESPONSE (.REQ); ! Build response message
; 0591 NML$REQUEST_FINISH (.REQ); ! Send it off
; 0592 MD_SEQ = $TRUE; ! Indicate sequence started here
; 0593 end
; 0594 else
; 0595 MD_SEQ = $FALSE; ! Sequence not started here
; 0596
; 0597 NN = 0; ! Start counter
; 0598 BUFFER_OFFSET = 0; ! Start at beginning of buffer
; 0599 do
; 0600 begin
; 0601 if .NN neq (.N - 1)
; 0602 then
; 0603 REQ[RB_RETURN_CODE] = 3 ! Indicate partial reply
; 0604 else
; 0605 REQ[RB_RETURN_CODE] = 1; ! Indicate complete reply
; 0606 NML$NICE_RESPONSE (.REQ); ! Build response message
; 0607 BUFFER_USED = .BUFFER_PART[.NN];
; 0608 COPY_RESP_PARAMETERS (.REQ,
; 0609 (.BUFFER_USED - .BUFFER_OFFSET),
; 0610 ch$ptr (.BUFFER_ADDR,.BUFFER_OFFSET,8));
; 0611 if .REQ[RB_RETURN_CODE] eql 3 or .MD_SEQ
; 0612 then
; 0613 NML$REQUEST_FINISH (.REQ); ! Send it off
; 0614
; 0615 BUFFER_OFFSET = .BUFFER_OFFSET + .BUFFER_USED;
; 0616 NN = .NN + 1;
; 0617 end
; 0618 until (.NN geq .N);
; 0619
; 0620 if .MD_SEQ ! If we started sequence
; 0621 then ! then terminate it here
; 0622 begin
; 0623 REQ[RB_RETURN_CODE] = -128; ! End More/Done sequence
; 0624 NML$NICE_RESPONSE (.REQ); ! Build response message
; 0625 end;
; 0626 end
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 14
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
; 0627 else
; 0628 begin
; 0629 NML$NICE_RESPONSE (.REQ); ! Build single response message
; 0630 COPY_RESP_PARAMETERS (.REQ,
; 0631 (.BUFFER_LEN - .BUFFER_LEFT),
; 0632 ch$ptr (.BUFFER_ADDR,,8));
; 0633 end;
; 0634
; 0635 NMU$MEMORY_RELEASE (.BUFFER_ADDR, .BUFFER_ALLOC); ! Release buffer
; 0636
; 0637 end; ! End of READ_SPECIFIC_ENTITY
.SBTTL READ.SPECIFIC.ENTITY READ_SPECIFIC_ENTITY
000000 004167 000000G READ.SPECIFIC.ENTITY:
JSR R1,$SAVE5 ; 0471
000004 162706 000042 SUB #42,SP
000010 012767 177777 000000' MOV #-1,ERROR.DETAIL ; 0521
000016 005066 000010 CLR 10(SP) ; BUFFER.ALLOC 0522
000022 005046 CLR -(SP) ; N 0523
000024 016666 000062 000006 MOV 62(SP),6(SP) ; REQ,* 0539
000032 012700 000072 MOV #72,R0
000036 066600 000006 ADD 6(SP),R0
000042 010004 MOV R0,R4
000044 062766 000300 000012 1$: ADD #300,12(SP) ; *,BUFFER.ALLOC 0526
000052 016601 000012 MOV 12(SP),R1 ; BUFFER.ALLOC,* 0527
000056 006700 SXT R0
000060 071027 000300 DIV #300,R0
000064 010001 MOV R0,R1
000066 070127 000300 MUL #300,R1
000072 010103 MOV R1,R3 ; *,BUFFER.LEN
000074 010366 000016 MOV R3,16(SP) ; BUFFER.LEN,BUFFER.LEFT 0528
000100 016646 000012 MOV 12(SP),-(SP) ; BUFFER.ALLOC,* 0529
000104 004767 000000G JSR PC,UM.GET
000110 005726 TST (SP)+
000112 010066 000010 MOV R0,10(SP) ; *,BUFFER.ADDR
000116 001015 BNE 2$
000120 016600 000062 MOV 62(SP),R0 ; REQ,* 0531
000124 112760 000361 000116 MOVB #361,116(R0)
000132 005060 000104 CLR 104(R0) ; 0532
000136 010046 MOV R0,-(SP) ; 0533
000140 004767 000000G JSR PC,NL.RSP
000144 005726 TST (SP)+ ; 0529
000146 000167 000646 JMP 17$ ; 0530
000152 016666 000010 000014 2$: MOV 10(SP),14(SP) ; BUFFER.ADDR,BUFFER.PTR 0537
000160 005714 TST (R4) ; 0539
000162 100032 BPL 3$
000164 012746 000001 MOV #1,-(SP) ; 0546
000170 005046 CLR -(SP)
000172 016600 000012 MOV 12(SP),R0
000176 116016 000074 MOVB 74(R0),(SP)
000202 016046 000102 MOV 102(R0),-(SP)
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 15
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
000206 016046 000110 MOV 110(R0),-(SP)
000212 011400 MOV (R4),R0
000214 072027 177764 ASH #-14,R0
000220 042700 177770 BIC #177770,R0
000224 010046 MOV R0,-(SP)
000226 012746 000032 MOV #32,-(SP)
000232 060616 ADD SP,(SP) ; BUFFER.LEFT,*
000234 016646 000024 MOV 24(SP),-(SP) ; BUFFER.ADDR,*
000240 004767 000000G JSR PC,NL.PPR
000244 010002 MOV R0,R2 ; *,RTN.COD 0541
000246 000435 BR 4$ ; 0539
000250 012746 000004 3$: MOV #4,-(SP) ; 0549
000254 005046 CLR -(SP)
000256 016600 000012 MOV 12(SP),R0
000262 116016 000074 MOVB 74(R0),(SP)
000266 016046 000102 MOV 102(R0),-(SP)
000272 016046 000110 MOV 110(R0),-(SP)
000276 011400 MOV (R4),R0
000300 072027 177764 ASH #-14,R0
000304 042700 177770 BIC #177770,R0
000310 010046 MOV R0,-(SP)
000312 012746 000032 MOV #32,-(SP)
000316 060616 ADD SP,(SP) ; BUFFER.LEFT,*
000320 012746 000032 MOV #32,-(SP)
000324 060616 ADD SP,(SP) ; BUFFER.PTR,*
000326 012746 000000' MOV #ERROR.DETAIL,-(SP)
000332 004767 000000G JSR PC,NL.VDB
000336 010002 MOV R0,R2 ; *,RTN.COD
000340 005726 TST (SP)+ ; 0548
000342 062706 000016 4$: ADD #16,SP ; 0525
000346 011600 MOV (SP),R0 ; N,* 0562
000350 006300 ASL R0
000352 012701 000020 MOV #20,R1
000356 060601 ADD SP,R1 ; BUFFER.PART,*
000360 060100 ADD R1,R0
000362 010301 MOV R3,R1 ; BUFFER.LEN,*
000364 166601 000016 SUB 16(SP),R1 ; BUFFER.LEFT,*
000370 010110 MOV R1,(R0)
000372 020227 177761 CMP R2,#-17 ; RTN.COD,* 0559
000376 001014 BNE 5$
000400 016646 000010 MOV 10(SP),-(SP) ; BUFFER.ADDR,* 0561
000404 016646 000014 MOV 14(SP),-(SP) ; BUFFER.ALLOC,*
000410 004767 000000G JSR PC,UM.RELEASE
000414 022626 CMP (SP)+,(SP)+
000416 005216 INC (SP) ; N 0563
000420 021627 000012 CMP (SP),#12 ; N,* 0564
000424 002002 BGE 6$
000426 000606 BR 1$
000430 005216 5$: INC (SP) ; N 0570
000432 005702 6$: TST R2 ; RTN.COD 0574
000434 003007 BGT 7$
000436 016600 000006 MOV 6(SP),R0 ; 0576
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 16
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
000442 110260 000116 MOVB R2,116(R0) ; RTN.COD,*
000446 016760 000000' 000120 MOV ERROR.DETAIL,120(R0) ; 0577
000454 021627 000001 7$: CMP (SP),#1 ; N,* 0580
000460 003533 BLE 15$
000462 016600 000006 MOV 6(SP),R0 ; 0586
000466 026027 000022 000005 CMP 22(R0),#5
000474 001416 BEQ 8$
000476 112760 000002 000116 MOVB #2,116(R0) ; 0589
000504 010046 MOV R0,-(SP) ; 0590
000506 004767 000000G JSR PC,NL.RSP
000512 016616 000010 MOV 10(SP),(SP) ; 0591
000516 004767 000000G JSR PC,NL.FINISH
000522 012703 000001 MOV #1,R3 ; *,MD.SEQ 0592
000526 005726 TST (SP)+ ; 0588
000530 000401 BR 9$ ; 0586
000532 005003 8$: CLR R3 ; MD.SEQ 0595
000534 005002 9$: CLR R2 ; NN 0597
000536 005004 CLR R4 ; BUFFER.OFFSET 0598
000540 011666 000004 MOV (SP),4(SP) ; N,* 0601
000544 005366 000004 DEC 4(SP)
000550 012700 000116 MOV #116,R0 ; 0603
000554 066600 000006 ADD 6(SP),R0
000560 010066 000002 MOV R0,2(SP)
000564 020266 000004 10$: CMP R2,4(SP) ; NN,* 0601
000570 001404 BEQ 11$
000572 112776 000003 000002 MOVB #3,@2(SP) ; 0603
000600 000403 BR 12$ ; 0601
000602 112776 000001 000002 11$: MOVB #1,@2(SP) ; 0605
000610 016646 000006 12$: MOV 6(SP),-(SP) ; 0606
000614 004767 000000G JSR PC,NL.RSP
000620 010200 MOV R2,R0 ; NN,* 0607
000622 006300 ASL R0
000624 012701 000022 MOV #22,R1
000630 060601 ADD SP,R1 ; BUFFER.PART,*
000632 060100 ADD R1,R0
000634 011005 MOV (R0),R5 ; *,BUFFER.USED
000636 016616 000010 MOV 10(SP),(SP) ; 0608
000642 010546 MOV R5,-(SP) ; BUFFER.USED,* 0609
000644 160416 SUB R4,(SP) ; BUFFER.OFFSET,*
000646 010446 MOV R4,-(SP) ; BUFFER.OFFSET,* 0610
000650 066616 000016 ADD 16(SP),(SP) ; BUFFER.ADDR,*
000654 004767 000000V JSR PC,COPY.RESP.PARAMETERS ; 0608
000660 127627 000010 000003 CMPB @10(SP),#3 ; 0611
000666 001403 BEQ 13$
000670 032703 000001 BIT #1,R3 ; *,MD.SEQ
000674 001404 BEQ 14$
000676 016616 000014 13$: MOV 14(SP),(SP) ; 0613
000702 004767 000000G JSR PC,NL.FINISH
000706 060504 14$: ADD R5,R4 ; BUFFER.USED,BUFFER.OFFSET 0615
000710 005202 INC R2 ; NN 0616
000712 062706 000006 ADD #6,SP ; 0600
000716 020216 CMP R2,(SP) ; NN,N 0618
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 17
X03.35 READ_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (5)
000720 002721 BLT 10$
000722 006003 ROR R3 ; MD.SEQ 0620
000724 103026 BCC 16$
000726 112776 000200 000002 MOVB #200,@2(SP) ; 0623
000734 016646 000006 MOV 6(SP),-(SP) ; 0624
000740 004767 000000G JSR PC,NL.RSP
000744 005726 TST (SP)+ ; 0622
000746 000415 BR 16$ ; 0580
000750 016646 000006 15$: MOV 6(SP),-(SP) ; 0629
000754 004767 000000G JSR PC,NL.RSP
000760 016616 000010 MOV 10(SP),(SP) ; 0630
000764 010146 MOV R1,-(SP)
000766 016646 000014 MOV 14(SP),-(SP) ; BUFFER.ADDR,*
000772 004767 000000V JSR PC,COPY.RESP.PARAMETERS
000776 062706 000006 ADD #6,SP ; 0628
001002 016646 000010 16$: MOV 10(SP),-(SP) ; BUFFER.ADDR,* 0635
001006 016646 000014 MOV 14(SP),-(SP) ; BUFFER.ALLOC,*
001012 004767 000000G JSR PC,UM.RELEASE
001016 022626 CMP (SP)+,(SP)+ ; 0497
001020 062706 000044 17$: ADD #44,SP ; 0471
001024 000207 RTS PC
; Routine Size: 267 words, Routine Base: $CODE$ + 0042
; Maximum stack depth per invocation: 33 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 18
X03.35 NML$CHANGE as NL_CHG 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (6)
; 0638 %global_routine ('NML$CHANGE', REQ) =
; 0639
; 0640 !++
; 0641 ! FUNCTIONAL DESCRIPTION:
; 0642 !
; 0643 ! Performs the NICE change parameters request for the local
; 0644 ! Network Management Layer.
; 0645 !
; 0646 ! FORMAL PARAMETERS
; 0647 !
; 0648 ! REQ - The address of the NML Request Block for this request.
; 0649 !
; 0650 ! IMPLICIT INPUTS
; 0651 !
; 0652 ! NONE.
; 0653 !
; 0654 ! ROUTINE VALUE:
; 0655 !
; 0656 ! 1 if NICE request has completed successfully.
; 0657 ! NEGATIVE NICE error return code if request failed.
; 0658 !
; 0659 ! SIDE EFFECTS:
; 0660 !
; 0661 ! NONE.
; 0662 !
; 0663 !--
; 0664
; 0665 begin
; 0666
; 0667 map
; 0668 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0669
; 0670 if not .REQ[RB_PRV_CHANGE] then return NICE$_PRV;
; 0671
; 0672 if not .REQ[RB_PRV_LOCAL] and
; 0673 MULTIPLE_PARAMETERS (.REQ)
; 0674 then return NICE$_IPG;
; 0675
; 0676 PROCESS_REQUEST (.REQ, CHANGE_SPECIFIC_ENTITY)
; 0677 end; ! End of NML$CHANGE
.SBTTL NL.CHG NML$CHANGE as NL_CHG
000000 010146 NL.CHG::MOV R1,-(SP) ; 0638
000002 016601 000004 MOV 4(SP),R1 ; REQ,* 0670
000006 032761 010000 000076 BIT #10000,76(R1)
000014 001003 BNE 1$
000016 012700 177775 MOV #-3,R0
000022 000423 BR 3$
000024 032761 000400 000076 1$: BIT #400,76(R1) ; 0672
000032 001011 BNE 2$
000034 010146 MOV R1,-(SP) ; 0673
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 19
X03.35 NML$CHANGE as NL_CHG 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (6)
000036 004767 000000V JSR PC,MULTIPLE.PARAMETERS
000042 005726 TST (SP)+
000044 006000 ROR R0
000046 103003 BCC 2$
000050 012700 177745 MOV #-33,R0 ; 0674
000054 000406 BR 3$
000056 010146 2$: MOV R1,-(SP) ; 0676
000060 012746 000000V MOV #CHANGE.SPECIFIC.ENTITY,-(SP)
000064 004767 000000V JSR PC,PROCESS.REQUEST
000070 022626 CMP (SP)+,(SP)+ ; 0665
000072 012601 3$: MOV (SP)+,R1 ; 0638
000074 000207 RTS PC
; Routine Size: 31 words, Routine Base: $CODE$ + 1070
; Maximum stack depth per invocation: 4 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 20
X03.35 CHANGE_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (7)
; 0678 %routine ('CHANGE_SPECIFIC_ENTITY', REQ) : novalue =
; 0679
; 0680 !++
; 0681 ! FUNCTIONAL DESCRIPTION:
; 0682 !
; 0683 ! Performs a NICE change parameter request for a single
; 0684 ! named entity.
; 0685 !
; 0686 ! FORMAL PARAMETERS
; 0687 !
; 0688 ! REQ - The address of the NML Request Block for this request.
; 0689 !
; 0690 ! IMPLICIT INPUTS
; 0691 !
; 0692 ! NONE.
; 0693 !
; 0694 ! ROUTINE VALUE:
; 0695 !
; 0696 ! 1 if NICE request has completed successfully.
; 0697 ! NEGATIVE NICE error return code if request failed.
; 0698 !
; 0699 ! SIDE EFFECTS:
; 0700 !
; 0701 ! NONE.
; 0702 !
; 0703 !--
; 0704
; 0705 begin
; 0706
; 0707 map
; 0708 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0709
; 0710 local
; 0711 LENGTH, ! Length of parameter
; 0712 RTN_COD; ! NICE return code
; 0713
; 0714 if (GET_NEXT_PARAMETER (.REQ) or ! Get first parameter (if any)
; 0715 (.REQ[$sub_field (RB_NICE_OPTION, CO_CLEAR_PURGE)])) ! ALL is OK
; 0716 then begin
; 0717 REQ[RB_RETURN_CODE] = 1; ! Assume success
; 0718 ERROR_DETAIL = -1; ! Initialize for response msg
; 0719
; 0720 do begin
; 0721 LENGTH = .REQ[RB_NICE_PARAMETER_LENGTH]; ! Set length of parameter
; 0722
; 0723 if .REQ[$sub_field (RB_NICE_OPTION, CO_PERMANENT)]
; 0724 then begin ! Permanent parameters
; 0725 if .REQ[$sub_field (RB_NICE_OPTION, CO_CLEAR_PURGE)]
; 0726 then begin ! Purge
; P 0727 RTN_COD = $NML$DELPDB (.REQ[RB_NICE_ENTITY_TYPE],
; P 0728 .REQ[RB_NICE_ENTITY],
; P 0729 .REQ[RB_NICE_QUALIFIER],
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 21
X03.35 CHANGE_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (7)
; P 0730 LENGTH,
; 0731 .REQ[RB_NICE_PARAMETERS]);
; 0732 end
; 0733 else begin ! Define
; P 0734 RTN_COD = $NML$PUTPDB (.REQ[RB_NICE_ENTITY_TYPE],
; P 0735 .REQ[RB_NICE_ENTITY],
; P 0736 .REQ[RB_NICE_QUALIFIER],
; P 0737 LENGTH,
; 0738 .REQ[RB_NICE_PARAMETERS]);
; 0739 end;
; 0740 end
; 0741 else begin ! Volatile parameters
; 0742 if .REQ[$sub_field (RB_NICE_OPTION, CO_CLEAR_PURGE)]
; 0743 then begin ! Clear
; 0744 RTN_COD = NML$VDB (%bliss36($NTCLR) %bliss16(N$FCLR),
; 0745 .REQ[RB_NICE_ENTITY_TYPE],
; 0746 .REQ[RB_NICE_ENTITY],
; 0747 .REQ[RB_NICE_QUALIFIER],
; 0748 0 %(selector)%,
; 0749 LENGTH,
; 0750 .REQ[RB_NICE_PARAMETERS],
; 0751 ERROR_DETAIL);
; 0752 end
; 0753 else begin ! Set
; 0754 RTN_COD = NML$VDB (%bliss36($NTSET) %bliss16(N$FSET),
; 0755 .REQ[RB_NICE_ENTITY_TYPE],
; 0756 .REQ[RB_NICE_ENTITY],
; 0757 .REQ[RB_NICE_QUALIFIER],
; 0758 0 %(selector)%,
; 0759 LENGTH,
; 0760 .REQ[RB_NICE_PARAMETERS],
; 0761 ERROR_DETAIL);
; 0762 end;
; 0763 end;
; 0764
; 0765 REQ[RB_RETURN_CODE] = .RTN_COD; ! Set NICE return code
; 0766 REQ[RB_ERROR_DETAIL] = .ERROR_DETAIL; ! And error detail
; 0767
; C 0768 %( N.B. - Does this code handle the case of failures during a multiple
; 0769 parameter message correctly? )%
; 0770
; 0771 end
; 0772 while GET_NEXT_PARAMETER (.REQ); ! Do all parameters
; 0773 end
; 0774 else begin
; L 0775 REQ[RB_RETURN_CODE] = $NICE$ERR_OPF;
; %PRINT: Operation failure
; 0776 end;
; 0777
; 0778 NML$NICE_RESPONSE (.REQ); ! Build response message
; 0779 end; ! End of CHANGE_SPECIFIC_ENTITY
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 22
X03.35 CHANGE_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (7)
.SBTTL CHANGE.SPECIFIC.ENTITY CHANGE_SPECIFIC_ENTITY
000000 004167 000000G CHANGE.SPECIFIC.ENTITY:
JSR R1,$SAVE5 ; 0678
000004 162706 000010 SUB #10,SP
000010 016602 000026 MOV 26(SP),R2 ; REQ,* 0714
000014 012704 000116 MOV #116,R4 ; 0717
000020 060204 ADD R2,R4
000022 010246 MOV R2,-(SP) ; 0714
000024 004767 000000V JSR PC,GET.NEXT.PARAMETER
000030 005726 TST (SP)+
000032 006000 ROR R0
000034 103404 BLO 1$
000036 032762 040000 000072 BIT #40000,72(R2) ; 0715
000044 001533 BEQ 9$
000046 112714 000001 1$: MOVB #1,(R4) ; 0717
000052 012767 177777 000000' MOV #-1,ERROR.DETAIL ; 0718
000060 012703 000072 MOV #72,R3 ; 0723
000064 060203 ADD R2,R3
000066 012766 000074 000004 MOV #74,4(SP) ; 0731
000074 060266 000004 ADD R2,4(SP)
000100 012766 000102 000002 MOV #102,2(SP)
000106 060266 000002 ADD R2,2(SP)
000112 012716 000110 MOV #110,(SP)
000116 060216 ADD R2,(SP)
000120 012705 000104 MOV #104,R5
000124 060205 ADD R2,R5
000126 016266 000106 000006 2$: MOV 106(R2),6(SP) ; *,LENGTH 0721
000134 005713 TST (R3) ; 0723
000136 100027 BPL 5$
000140 032713 040000 BIT #40000,(R3) ; 0725
000144 001403 BEQ 3$
000146 012746 000003 MOV #3,-(SP) ; 0731
000152 000402 BR 4$
000154 012746 000001 3$: MOV #1,-(SP) ; 0738
000160 005046 4$: CLR -(SP)
000162 117616 000010 MOVB @10(SP),(SP)
000166 017646 000006 MOV @6(SP),-(SP)
000172 017646 000006 MOV @6(SP),-(SP)
000176 012746 000020 MOV #20,-(SP)
000202 060616 ADD SP,(SP) ; LENGTH,*
000204 011546 MOV (R5),-(SP)
000206 004767 000000G JSR PC,NL.PPC
000212 010001 MOV R0,R1 ; *,RTN.COD 0734
000214 000432 BR 8$ ; 0723
000216 032713 040000 5$: BIT #40000,(R3) ; 0742
000222 001403 BEQ 6$
000224 012746 000002 MOV #2,-(SP) ; 0744
000230 000402 BR 7$
000232 012746 000001 6$: MOV #1,-(SP) ; 0754
000236 005046 7$: CLR -(SP)
000240 117616 000010 MOVB @10(SP),(SP)
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 23
X03.35 CHANGE_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (7)
000244 017646 000006 MOV @6(SP),-(SP)
000250 017646 000006 MOV @6(SP),-(SP)
000254 005046 CLR -(SP)
000256 012746 000022 MOV #22,-(SP)
000262 060616 ADD SP,(SP) ; LENGTH,*
000264 011546 MOV (R5),-(SP)
000266 012746 000000' MOV #ERROR.DETAIL,-(SP)
000272 004767 000000G JSR PC,NL.VDB
000276 010001 MOV R0,R1 ; *,RTN.COD
000300 022626 CMP (SP)+,(SP)+ ; 0741
000302 110114 8$: MOVB R1,(R4) ; RTN.COD,* 0765
000304 016762 000000' 000120 MOV ERROR.DETAIL,120(R2) ; 0766
000312 062706 000012 ADD #12,SP ; 0720
000316 010216 MOV R2,(SP) ; 0772
000320 004767 000000V JSR PC,GET.NEXT.PARAMETER
000324 005726 TST (SP)+
000326 006000 ROR R0
000330 103003 BCC 10$
000332 000675 BR 2$
000334 112714 000347 9$: MOVB #347,(R4) ; 0775
000340 010246 10$: MOV R2,-(SP) ; 0778
000342 004767 000000G JSR PC,NL.RSP
000346 062706 000012 ADD #12,SP ; 0678
000352 000207 RTS PC
; Routine Size: 118 words, Routine Base: $CODE$ + 1166
; Maximum stack depth per invocation: 19 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 24
X03.35 MULTIPLE_PARAMETERS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (8)
; 0780 %routine ('MULTIPLE_PARAMETERS', REQ) =
; 0781
; 0782 !++
; 0783 ! FUNCTIONAL DESCRIPTION:
; 0784 !
; 0785 ! Detect multiple parameters in a request.
; 0786 !
; 0787 ! FORMAL PARAMETERS
; 0788 !
; 0789 ! REQ - The address of the NML Request Block for this request.
; 0790 !
; 0791 ! IMPLICIT INPUTS
; 0792 !
; 0793 ! REQ[RB_NICE_PARAMETERS]
; 0794 ! Contains a pointer to the previous parameter.
; 0795 ! REQ[RB_NICE_PARAMETER_LENGTH]
; 0796 ! Contains the length of the previous parameter in bytes.
; 0797 !
; 0798 ! ROUTINE VALUE:
; 0799 !
; 0800 ! $TRUE, if greater than one parameter
; 0801 ! $FALSE, otherwise.
; 0802 !
; 0803 ! SIDE EFFECTS:
; 0804 !
; 0805 ! None
; 0806 !
; 0807 !--
; 0808
; 0809 begin
; 0810
; 0811 map
; 0812 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0813
; 0814 local
; 0815 RTN,
; 0816 SAVE_NICE_PARAMETERS;
; 0817
; 0818 SAVE_NICE_PARAMETERS = .REQ[RB_NICE_PARAMETERS];
; 0819 RTN = GET_NEXT_PARAMETER (.REQ) and GET_NEXT_PARAMETER (.REQ);
; 0820 REQ[RB_NICE_PARAMETERS] = .SAVE_NICE_PARAMETERS;
; 0821 REQ[RB_NICE_PARAMETER_LENGTH] = 0;
; 0822 .RTN
; 0823 end; ! End of MULTIPLE_PARAMETERS
.SBTTL MULTIPLE.PARAMETERS MULTIPLE_PARAMETERS
000000 004167 000000G MULTIPLE.PARAMETERS:
JSR R1,$SAVE4 ; 0780
000004 016601 000014 MOV 14(SP),R1 ; REQ,* 0818
000010 016103 000104 MOV 104(R1),R3 ; *,SAVE.NICE.PARAM
000014 010146 MOV R1,-(SP) ; 0819
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 25
X03.35 MULTIPLE_PARAMETERS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (8)
000016 004767 000000V JSR PC,GET.NEXT.PARAMETER
000022 010002 MOV R0,R2
000024 010116 MOV R1,(SP)
000026 004767 000000V JSR PC,GET.NEXT.PARAMETER
000032 010204 MOV R2,R4
000034 005104 COM R4
000036 040400 BIC R4,R0 ; *,RTN
000040 010361 000104 MOV R3,104(R1) ; SAVE.NICE.PARAM,* 0820
000044 005061 000106 CLR 106(R1) ; 0821
000050 005726 TST (SP)+ ; 0809
000052 000207 RTS PC ; 0780
; Routine Size: 22 words, Routine Base: $CODE$ + 1542
; Maximum stack depth per invocation: 7 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 26
X03.35 GET_NEXT_PARAMETER 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (9)
; 0824 %routine ('GET_NEXT_PARAMETER', REQ) =
; 0825
; 0826 !++
; 0827 ! FUNCTIONAL DESCRIPTION:
; 0828 !
; 0829 ! Obtains the next parameter in the NICE request message.
; 0830 !
; 0831 ! FORMAL PARAMETERS
; 0832 !
; 0833 ! REQ - The address of the NML Request Block for this request.
; 0834 !
; 0835 ! IMPLICIT INPUTS
; 0836 !
; 0837 ! REQ[RB_NICE_PARAMETERS]
; 0838 ! Contains a pointer to the previous parameter.
; 0839 ! REQ[RB_NICE_PARAMETER_LENGTH]
; 0840 ! Contains the length of the previous parameter in bytes.
; 0841 !
; 0842 ! ROUTINE VALUE:
; 0843 !
; 0844 ! $TRUE, if the next parameter exists.
; 0845 ! $FALSE, otherwise.
; 0846 !
; 0847 ! SIDE EFFECTS:
; 0848 !
; 0849 ! Updates REQ[RB_NICE_PARAMETER_LENGTH] to be the length of
; 0850 ! the current parameter.
; 0851 ! Updates REQ[RB_NICE_PARAMETERS] to point to the current
; 0852 ! parameter.
; 0853 !
; 0854 !--
; 0855
; 0856 begin
; 0857
; 0858 map
; 0859 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0860
; 0861 REQ[RB_NICE_PARAMETERS] = ch$plus (.REQ[RB_NICE_PARAMETERS],
; 0862 .REQ[RB_NICE_PARAMETER_LENGTH]);
; 0863
; 0864 !
; 0865 ! Return false when all parameters have been processed.
; 0866 !
; 0867
; 0868 if ch$diff (.REQ[RB_NICE_PARAMETERS], .REQ[RB_NICE_POINTER]) geq .REQ[RB_NICE_LENGTH]
; 0869 then begin
; 0870 REQ[RB_NICE_PARAMETER_LENGTH] = 0;
; 0871 return $FALSE;
; 0872 end;
; 0873
; 0874 !
; 0875 ! Get length of the parameter, to include the data portion plus
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 27
X03.35 GET_NEXT_PARAMETER 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (9)
; 0876 ! two bytes for the DATA ID field.
; 0877 !
; 0878
; 0879 begin
; 0880 local PARAMETER, NEXT, POINTER, DATA, LENGTH;
; 0881
; 0882 POINTER = .REQ[RB_NICE_PARAMETERS]; ! Make copy of pointer
; 0883 LENGTH = 0; ! Initialize length
; 0884
; 0885 do begin ! Scan parameters and their data
; 0886 local LEN;
; 0887
; 0888 PARAMETER = GETW (POINTER); ! Get parameter number
; 0889
; 0890 if .REQ[$sub_field(RB_NICE_OPTION,CO_CLEAR_PURGE)]
; 0891 and (.REQ[RB_NICE_PARAMETERS] neq .REQ[RB_NICE_QUALIFIER])
; 0892 then LEN = 0 ! No parameter data for CLEAR/PURGE
; 0893 else begin ! Otherwise, get data follow
; 0894 LEN = NML$PARAMETER_DATA (.REQ[RB_NICE_ENTITY_TYPE],
; 0895 .PARAMETER,
; 0896 POINTER,
; 0897 DATA);
; 0898
; 0899 if .LEN leq 0 ! Illegal parameter data length
; 0900 then return $FALSE;
; 0901 end;
; 0902
; 0903 NEXT = (if ((LENGTH = .LENGTH + 2 + .LEN) lss .REQ[RB_NICE_LENGTH])
; 0904 and (.REQ[RB_NICE_ENTITY_TYPE] eql MODULE_) ! MODULE entity
; 0905 and (.PARAMETER eql 1130) ! CHANNELS parameter
; 0906 then GETW_NA (.POINTER) ! Peek at next parameter number
; 0907 else -1); ! End of NICE request message
; 0908 end ! Continue parsing if next parameter
; 0909 while (.NEXT eql .PARAMETER); ! is identical to the current one
; 0910
; 0911 REQ[RB_NICE_PARAMETER_LENGTH] = .LENGTH; ! Final length of the data
; 0912 end;
; 0913
; 0914 !
; 0915 ! If this parameter is a qualifier, then call ourself recursively
; 0916 ! to skip over the qualifier to the next real parameter.
; 0917 !
; 0918
; 0919 if .REQ[RB_NICE_PARAMETERS] eql .REQ[RB_NICE_QUALIFIER]
; 0920 then return GET_NEXT_PARAMETER (.REQ);
; 0921
; 0922 return $TRUE;
; 0923 end; ! End of GET_NEXT_PARAMETER
.SBTTL GET.NEXT.PARAMETER GET_NEXT_PARAMETER
000000 004167 000000G GET.NEXT.PARAMETER:
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 28
X03.35 GET_NEXT_PARAMETER 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (9)
JSR R1,$SAVE5 ; 0824
000004 162706 000006 SUB #6,SP
000010 016602 000024 MOV 24(SP),R2 ; REQ,* 0861
000014 012746 000104 MOV #104,-(SP)
000020 060216 ADD R2,(SP)
000022 012746 000106 MOV #106,-(SP) ; 0862
000026 060216 ADD R2,(SP)
000030 067676 000000 000002 ADD @0(SP),@2(SP)
000036 017600 000002 MOV @2(SP),R0 ; 0868
000042 166200 000066 SUB 66(R2),R0
000046 020062 000030 CMP R0,30(R2)
000052 002403 BLT 1$
000054 005076 000000 CLR @0(SP) ; 0870
000060 000535 BR 9$ ; 0869
000062 017666 000002 000006 1$: MOV @2(SP),6(SP) ; *,POINTER 0882
000070 005003 CLR R3 ; LENGTH 0883
000072 005266 000006 2$: INC 6(SP) ; POINTER 0888
000076 016600 000006 MOV 6(SP),R0 ; POINTER,*
000102 116066 177777 000010 MOVB -1(R0),10(SP) ; *,$$GETB.X
000110 005266 000006 INC 6(SP) ; POINTER
000114 016600 000006 MOV 6(SP),R0 ; POINTER,*
000120 116066 177777 000011 MOVB -1(R0),11(SP) ; *,$$GETB.X
000126 016605 000010 MOV 10(SP),R5 ; $$GETB.X,PARAMETER
000132 032762 040000 000072 BIT #40000,72(R2) ; 0890
000140 001406 BEQ 3$
000142 027662 000002 000110 CMP @2(SP),110(R2) ; 0891
000150 001402 BEQ 3$
000152 005001 CLR R1 ; LEN 0892
000154 000423 BR 5$ ; 0890
000156 005046 3$: CLR -(SP) ; 0894
000160 116216 000074 MOVB 74(R2),(SP)
000164 010546 MOV R5,-(SP) ; PARAMETER,*
000166 012746 000014 MOV #14,-(SP)
000172 060616 ADD SP,(SP) ; POINTER,*
000174 012746 000014 MOV #14,-(SP)
000200 060616 ADD SP,(SP) ; DATA,*
000202 004767 000000G JSR PC,NL.PDA
000206 010001 MOV R0,R1 ; *,LEN
000210 003003 BGT 4$ ; 0899
000212 062706 000010 ADD #10,SP ; 0900
000216 000456 BR 9$
000220 062706 000010 4$: ADD #10,SP ; 0893
000224 010100 5$: MOV R1,R0 ; LEN,* 0903
000226 060300 ADD R3,R0 ; LENGTH,*
000230 010003 MOV R0,R3 ; *,LENGTH
000232 062703 000002 ADD #2,R3 ; *,LENGTH
000236 020362 000030 CMP R3,30(R2) ; LENGTH,*
000242 002022 BGE 6$
000244 126227 000074 000004 CMPB 74(R2),#4 ; 0904
000252 001016 BNE 6$
000254 020527 002152 CMP R5,#2152 ; PARAMETER,* 0905
000260 001013 BNE 6$
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 29
X03.35 GET_NEXT_PARAMETER 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (9)
000262 117666 000006 000010 MOVB @6(SP),10(SP) ; POINTER,$$GETW.NA.X 0906
000270 016600 000006 MOV 6(SP),R0 ; POINTER,*
000274 116066 000001 000011 MOVB 1(R0),11(SP) ; *,$$GETW.NA.X
000302 016604 000010 MOV 10(SP),R4 ; $$GETW.NA.X,NEXT
000306 000402 BR 7$ ; 0903
000310 012704 177777 6$: MOV #-1,R4 ; *,NEXT
000314 020405 7$: CMP R4,R5 ; NEXT,PARAMETER 0909
000316 001665 BEQ 2$
000320 010376 000000 MOV R3,@0(SP) ; LENGTH,* 0911
000324 027662 000002 000110 CMP @2(SP),110(R2) ; 0919
000332 001005 BNE 8$
000334 010246 MOV R2,-(SP) ; 0920
000336 004767 177436 JSR PC,GET.NEXT.PARAMETER
000342 005726 TST (SP)+
000344 000404 BR 10$
000346 012700 000001 8$: MOV #1,R0 ; 0856
000352 000401 BR 10$
000354 005000 9$: CLR R0 ; 0824
000356 062706 000012 10$: ADD #12,SP
000362 000207 RTS PC
; Routine Size: 122 words, Routine Base: $CODE$ + 1616
; Maximum stack depth per invocation: 16 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 30
X03.35 NML$ZERO as NL_ZRO 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (10)
; 0924 %global_routine ('NML$ZERO', REQ) =
; 0925
; 0926 !++
; 0927 ! FUNCTIONAL DESCRIPTION:
; 0928 !
; 0929 ! Performs the NICE zero counters request for the local
; 0930 ! Network Management Layer.
; 0931 !
; 0932 ! FORMAL PARAMETERS
; 0933 !
; 0934 ! REQ - The address of the NML Request Block for this request.
; 0935 !
; 0936 ! IMPLICIT INPUTS
; 0937 !
; 0938 ! NONE.
; 0939 !
; 0940 ! ROUTINE VALUE:
; 0941 !
; 0942 ! 1 if NICE request has completed successfully.
; 0943 ! NEGATIVE NICE error return code if request failed.
; 0944 !
; 0945 ! SIDE EFFECTS:
; 0946 !
; 0947 ! NONE.
; 0948 !
; 0949 !--
; 0950
; 0951 begin
; 0952
; 0953 map
; 0954 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0955
; 0956 if not .REQ[RB_PRV_CHANGE] then return NICE$_PRV;
; 0957
; 0958 PROCESS_REQUEST (.REQ, ZERO_SPECIFIC_ENTITY)
; 0959 end; ! End of NML$ZERO
.SBTTL NL.ZRO NML$ZERO as NL_ZRO
000000 016600 000002 NL.ZRO::MOV 2(SP),R0 ; REQ,* 0956
000004 032760 010000 000076 BIT #10000,76(R0)
000012 001003 BNE 1$
000014 012700 177775 MOV #-3,R0
000020 000207 RTS PC
000022 016646 000002 1$: MOV 2(SP),-(SP) ; REQ,* 0958
000026 012746 000000V MOV #ZERO.SPECIFIC.ENTITY,-(SP)
000032 004767 000000V JSR PC,PROCESS.REQUEST
000036 022626 CMP (SP)+,(SP)+ ; 0951
000040 000207 RTS PC ; 0924
; Routine Size: 17 words, Routine Base: $CODE$ + 2202
; Maximum stack depth per invocation: 3 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 31
X03.35 ZERO_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (11)
; 0960 %routine ('ZERO_SPECIFIC_ENTITY', REQ) : novalue =
; 0961
; 0962 !++
; 0963 ! FUNCTIONAL DESCRIPTION:
; 0964 !
; 0965 !
; 0966 ! FORMAL PARAMETERS
; 0967 !
; 0968 ! REQ - The address of the NML Request Block for this request.
; 0969 !
; 0970 ! IMPLICIT INPUTS
; 0971 !
; 0972 ! NONE.
; 0973 !
; 0974 ! ROUTINE VALUE:
; 0975 !
; 0976 ! 1 if NICE request has completed successfully.
; 0977 ! NEGATIVE NICE error return code if request failed.
; 0978 !
; 0979 ! SIDE EFFECTS:
; 0980 !
; 0981 ! NONE.
; 0982 !
; 0983 !--
; 0984
; 0985 begin
; 0986
; 0987 literal
; 0988 OB_LENGTH = 256, ! Length of output buffer
; 0989 OB_SIZE = ch$allocation (OB_LENGTH,8),
; 0990 OB_ALLOCATION = OB_SIZE * %upval;
; 0991
; 0992 map
; 0993 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 0994
; 0995 local
; 0996 BUFFER_ADDR, ! Address of output buffer
; 0997 BUFFER_LEFT, ! Output buffer length
; 0998 RTN_COD; ! NICE return code
; 0999
; 1000 REQ[RB_RETURN_CODE] = 1; ! Assume success
; 1001 ERROR_DETAIL = -1; ! Initialize for response msg
; 1002 BUFFER_LEFT = OB_LENGTH; ! Get buffer for info
; 1003
; 1004 if (BUFFER_ADDR = NMU$MEMORY_GET (OB_ALLOCATION)) neqa 0
; 1005 then begin
; 1006
; C 1007 %( N.B. - Insert expression here to read and zero NML counters for
; C 1008 this entity into the buffer, and bump the buffer address and
; 1009 length appropriately before calling the lower layers. )%
; 1010
; 1011 begin
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 32
X03.35 ZERO_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (11)
; 1012 local BUFFER_PTR;
; 1013 BUFFER_PTR = ch$ptr (.BUFFER_ADDR,,8);
; 1014 RTN_COD = NML$VDB (%bliss36($NTSZC) %bliss16(N$FSZC),
; 1015 .REQ[RB_NICE_ENTITY_TYPE],
; 1016 .REQ[RB_NICE_ENTITY],
; 1017 .REQ[RB_NICE_QUALIFIER],
; 1018 0 %(no selector)%,
; 1019 BUFFER_LEFT,
; 1020 BUFFER_PTR,
; 1021 ERROR_DETAIL);
; 1022 end;
; 1023
; 1024 !
; 1025 ! If ZERO only and the read got a resource error,
; 1026 ! the function succeeded anyway.
; 1027 !
; 1028
; 1029 if (.REQ[$sub_field (RB_NICE_OPTION, ZO_READ_AND_ZERO)] eql 0) and
; 1030 (.RTN_COD eql NICE$_REE)
; 1031 then RTN_COD = 1;
; 1032
; 1033 REQ[RB_RETURN_CODE] = .RTN_COD; ! Set NICE return code
; 1034 REQ[RB_ERROR_DETAIL] = .ERROR_DETAIL; ! And error detail
; 1035 %(set time zeroed)%
; 1036
; 1037 begin
; 1038 local REB : RAW_EVENT_BLOCK;
; 1039
; 1040 REB [REB_EVENT_CODE] = 0^6 + 9; ! Counters Zeroed
; 1041 REB [REB_ENTITY_TYPE] = .REQ [RB_NICE_ENTITY_TYPE];
; 1042 REB [REB_ENTITY_POINTER] = .REQ [RB_NICE_ENTITY];
; 1043 REB [REB_DATA_POINTER] = ch$ptr (.BUFFER_ADDR,, 8);
; 1044 REB [REB_DATA_LENGTH] = (OB_LENGTH - .BUFFER_LEFT);
; 1045 REB [REB_TIME_BLOCK] = 0;
; 1046 NML$DECLARE_EVENT (REB);
; 1047 end;
; 1048 end
; 1049 else
; 1050 REQ [RB_RETURN_CODE] = NICE$_REE;
; 1051
; 1052 NML$NICE_RESPONSE (.REQ); ! Build response message
; 1053
; 1054 if .REQ [RB_RETURN_CODE] gtr 0
; 1055 then
; 1056
; 1057 if .REQ[$sub_field (RB_NICE_OPTION, ZO_READ_AND_ZERO)]
; 1058 then COPY_RESP_PARAMETERS (.REQ,
; 1059 (OB_LENGTH - .BUFFER_LEFT),
; 1060 ch$ptr (.BUFFER_ADDR,,8));
; 1061
; 1062 if .BUFFER_ADDR neqa 0 ! Release buffer if there is one
; 1063 then NMU$MEMORY_RELEASE (.BUFFER_ADDR, OB_ALLOCATION);
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 33
X03.35 ZERO_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (11)
; 1064 end; ! End of ZERO_SPECIFIC_ENTITY
.SBTTL ZERO.SPECIFIC.ENTITY ZERO_SPECIFIC_ENTITY
000000 004167 000000G ZERO.SPECIFIC.ENTITY:
JSR R1,$SAVE3 ; 0960
000004 162706 000024 SUB #24,SP
000010 016601 000036 MOV 36(SP),R1 ; REQ,* 1000
000014 012703 000116 MOV #116,R3
000020 060103 ADD R1,R3
000022 112713 000001 MOVB #1,(R3)
000026 012767 177777 000000' MOV #-1,ERROR.DETAIL ; 1001
000034 012766 000400 000002 MOV #400,2(SP) ; *,BUFFER.LEFT 1002
000042 012746 000400 MOV #400,-(SP) ; 1004
000046 004767 000000G JSR PC,UM.GET
000052 005726 TST (SP)+
000054 010002 MOV R0,R2 ; *,BUFFER.ADDR
000056 001477 BEQ 2$
000060 010216 MOV R2,(SP) ; BUFFER.ADDR,BUFFER.PTR 1013
000062 012746 000005 MOV #5,-(SP) ; 1014
000066 005046 CLR -(SP)
000070 116116 000074 MOVB 74(R1),(SP)
000074 016146 000102 MOV 102(R1),-(SP)
000100 016146 000110 MOV 110(R1),-(SP)
000104 005046 CLR -(SP)
000106 012746 000016 MOV #16,-(SP)
000112 060616 ADD SP,(SP) ; BUFFER.LEFT,*
000114 012746 000016 MOV #16,-(SP)
000120 060616 ADD SP,(SP) ; BUFFER.PTR,*
000122 012746 000000' MOV #ERROR.DETAIL,-(SP)
000126 004767 000000G JSR PC,NL.VDB
000132 032761 100000 000072 BIT #100000,72(R1) ; 1029
000140 001005 BNE 1$
000142 020027 177761 CMP R0,#-17 ; RTN.COD,* 1030
000146 001002 BNE 1$
000150 012700 000001 MOV #1,R0 ; *,RTN.COD 1031
000154 110013 1$: MOVB R0,(R3) ; RTN.COD,* 1033
000156 016761 000000' 000120 MOV ERROR.DETAIL,120(R1) ; 1034
000164 012766 000011 000034 MOV #11,34(SP) ; *,REB+10 1040
000172 116166 000074 000040 MOVB 74(R1),40(SP) ; *,REB+14 1041
000200 105066 000041 CLRB 41(SP) ; REB+14
000204 016166 000102 000024 MOV 102(R1),24(SP) ; *,REB 1042
000212 010266 000030 MOV R2,30(SP) ; BUFFER.ADDR,REB+4 1043
000216 012766 000400 000032 MOV #400,32(SP) ; *,REB+6 1044
000224 166666 000022 000032 SUB 22(SP),32(SP) ; BUFFER.LEFT,REB+6
000232 005066 000042 CLR 42(SP) ; REB+16 1045
000236 012716 000024 MOV #24,(SP) ; 1046
000242 060616 ADD SP,(SP) ; REB,*
000244 004767 000000G JSR PC,EV.DEC
000250 062706 000020 ADD #20,SP ; 1005
000254 000402 BR 3$ ; 1004
000256 112713 000361 2$: MOVB #361,(R3) ; 1050
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 34
X03.35 ZERO_SPECIFIC_ENTITY 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (11)
000262 010146 3$: MOV R1,-(SP) ; 1052
000264 004767 000000G JSR PC,NL.RSP
000270 105713 TSTB (R3) ; 1054
000272 003414 BLE 4$
000274 005761 000072 TST 72(R1) ; 1057
000300 100011 BPL 4$
000302 010116 MOV R1,(SP) ; 1058
000304 012746 000400 MOV #400,-(SP) ; 1059
000310 166616 000006 SUB 6(SP),(SP) ; BUFFER.LEFT,*
000314 010246 MOV R2,-(SP) ; BUFFER.ADDR,* 1058
000316 004767 000000V JSR PC,COPY.RESP.PARAMETERS
000322 022626 CMP (SP)+,(SP)+
000324 005702 4$: TST R2 ; BUFFER.ADDR 1062
000326 001406 BEQ 5$
000330 010216 MOV R2,(SP) ; BUFFER.ADDR,* 1063
000332 012746 000400 MOV #400,-(SP)
000336 004767 000000G JSR PC,UM.RELEASE
000342 005726 TST (SP)+
000344 062706 000026 5$: ADD #26,SP ; 0960
000350 000207 RTS PC
; Routine Size: 117 words, Routine Base: $CODE$ + 2244
; Maximum stack depth per invocation: 23 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 35
X03.35 PROCESS_REQUEST 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (12)
; 1065 %routine ('PROCESS_REQUEST', REQ, ACTION_ROUTINE) =
; 1066
; 1067 !++
; 1068 ! FUNCTIONAL DESCRIPTION:
; 1069 !
; 1070 ! Choose to handle single or multiple requests
; 1071 !
; 1072 ! FORMAL PARAMETERS
; 1073 !
; 1074 ! REQ - The address of the NML Request Block for this request.
; 1075 !
; 1076 ! IMPLICIT INPUTS
; 1077 !
; 1078 ! NONE.
; 1079 !
; 1080 ! ROUTINE VALUE:
; 1081 !
; 1082 ! 1 if NICE request has completed successfully.
; 1083 ! NEGATIVE NICE error return code if request failed.
; 1084 !
; 1085 ! SIDE EFFECTS:
; 1086 !
; 1087 ! NONE.
; 1088 !
; 1089 !--
; 1090
; 1091 begin
; 1092
; 1093 map
; 1094 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 1095
; 1096 local
; 1097 EID_LEN: $SIGNED_BYTE_VALUE, ! Signed length of entity id
; 1098 RTN_COD; ! NICE return code
; 1099
; 1100 EID_LEN = .REQ[RB_NICE_ENTITY_ID_LENGTH]; ! Pick up the id length
; 1101
; 1102 !
; 1103 ! Determine whether a specific entity or class of entities was specified
; 1104 !
; 1105
; 1106 if .EID_LEN[VALUE] geq 0
; 1107 then begin ! Specific entity request
; 1108 REQ[RB_RETURN_CODE] = 1; ! Success for single response
; 1109 (.ACTION_ROUTINE) (.REQ);
; 1110 NML$REQUEST_FINISH (.REQ); ! Queue request for completion
; 1111 return $TRUE;
; 1112 end;
; 1113
; 1114 !
; 1115 ! Acknowledge the command first
; 1116 !
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 36
X03.35 PROCESS_REQUEST 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (12)
; 1117
; 1118 REQ[RB_RETURN_CODE] = 2; ! Set return code for multiple response
; 1119 NML$NICE_RESPONSE (.REQ); ! Build response message
; 1120 NML$REQUEST_FINISH (.REQ); ! Queue request for completion
; 1121
; 1122 !
; 1123 ! Now do the indiviual responses
; 1124 !
; 1125
; 1126 RTN_COD = PROCESS_ENTITY_CLASS (.REQ, ! Perform read for each entity
; 1127 (.ACTION_ROUTINE),
; 1128 .REQ[$sub_field (RB_NICE_OPTION, RO_PERMANENT)]);
; 1129
; 1130 !
; 1131 ! Finish it up
; 1132 !
; 1133
; 1134 REQ[RB_RETURN_CODE] = -128; ! Indicate no more responses coming
; 1135 NML$NICE_RESPONSE (.REQ); ! Build final response message
; 1136 NML$REQUEST_FINISH (.REQ); ! Queue request for completion
; 1137 return $TRUE;
; 1138 end; ! End of PROCESS_REQUEST
.SBTTL PROCESS.REQUEST PROCESS_REQUEST
000000 010146 PROCESS.REQUEST:
MOV R1,-(SP) ; 1065
000002 016601 000006 MOV 6(SP),R1 ; REQ,* 1100
000006 005000 CLR R0 ; EID.LEN
000010 156100 000076 BISB 76(R1),R0 ; *,EID.LEN
000014 002413 BLT 1$ ; 1106
000016 112761 000001 000116 MOVB #1,116(R1) ; 1108
000024 010146 MOV R1,-(SP) ; 1109
000026 004776 000006 JSR PC,@6(SP) ; *,ACTION.ROUTINE
000032 010116 MOV R1,(SP) ; 1110
000034 004767 000000G JSR PC,NL.FINISH
000040 005726 TST (SP)+ ; 1106
000042 000436 BR 3$ ; 1107
000044 112761 000002 000116 1$: MOVB #2,116(R1) ; 1118
000052 010146 MOV R1,-(SP) ; 1119
000054 004767 000000G JSR PC,NL.RSP
000060 010116 MOV R1,(SP) ; 1120
000062 004767 000000G JSR PC,NL.FINISH
000066 010116 MOV R1,(SP) ; 1126
000070 016646 000006 MOV 6(SP),-(SP) ; ACTION.ROUTINE,*
000074 005046 CLR -(SP)
000076 005761 000072 TST 72(R1)
000102 100001 BPL 2$
000104 005216 INC (SP)
000106 004767 000000V 2$: JSR PC,PROCESS.ENTITY.CLASS
000112 112761 000200 000116 MOVB #200,116(R1) ; 1134
000120 010116 MOV R1,(SP) ; 1135
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 37
X03.35 PROCESS_REQUEST 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (12)
000122 004767 000000G JSR PC,NL.RSP
000126 010116 MOV R1,(SP) ; 1136
000130 004767 000000G JSR PC,NL.FINISH
000134 062706 000006 ADD #6,SP ; 1065
000140 012700 000001 3$: MOV #1,R0 ; 1091
000144 012601 MOV (SP)+,R1 ; 1065
000146 000207 RTS PC
; Routine Size: 52 words, Routine Base: $CODE$ + 2616
; Maximum stack depth per invocation: 5 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 38
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
; 1139 %routine ('PROCESS_ENTITY_CLASS', REQ, ACTION_ROUTINE, PERMANENT) =
; 1140
; 1141 !++
; 1142 ! FUNCTIONAL DESCRIPTION:
; 1143 !
; 1144 ! Performs processing for a class of entities, i.e., KNOWN or
; 1145 ! ACTIVE nodes.
; 1146 !
; 1147 ! FORMAL PARAMETERS
; 1148 !
; 1149 ! REQ - The address of the NML Request Block for this request.
; 1150 !
; 1151 ! IMPLICIT INPUTS
; 1152 !
; 1153 ! NONE.
; 1154 !
; 1155 ! ROUTINE VALUE:
; 1156 !
; 1157 ! 1 if NICE request has completed successfully.
; 1158 ! NEGATIVE NICE error return code if request failed.
; 1159 !
; 1160 ! SIDE EFFECTS:
; 1161 !
; 1162 ! NONE.
; 1163 !
; 1164 !--
; 1165
; 1166 begin
; 1167
; 1168 literal
; 1169 OB_LENGTH = 32 * 3, ! Initial length of class entity buffer
; 1170 OB_SIZE = ch$allocation (OB_LENGTH,8),
; 1171 OB_ALLOCATION = OB_SIZE * %upval;
; 1172
; 1173 map
; 1174 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 1175
; 1176 local
; 1177 BUFFER1_ADDR, ! Return list buffer address
; 1178 BUFFER1_LENGTH,
; 1179 BUFFER1_ALLOC,
; 1180 ENT_PTR, ! Pointer to specific ID in list
; 1181 EID_LEN: $SIGNED_BYTE_VALUE, ! Signed length of entity id
; 1182 RTN_COD, ! NICE return code
; 1183 TEMP;
; 1184
; 1185 bind routine
; 1186 NML_FUNCTION = .ACTION_ROUTINE;
; 1187
; 1188 ! Process a 'KNOWN' or 'ACTIVE' entity class
; 1189
; 1190 !
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 39
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
; 1191 ! Try to get a big enough buffer.
; 1192 !
; 1193
; 1194 BUFFER1_ALLOC = 0;
; 1195
; 1196 do begin
; 1197 RTN_COD = NICE$_REE; ! Set resource error initially
; 1198 BUFFER1_ALLOC = .BUFFER1_ALLOC + OB_ALLOCATION; ! Bump buffer allocation
; 1199 BUFFER1_LENGTH = (.BUFFER1_ALLOC/OB_ALLOCATION)*OB_LENGTH;
; 1200 if (BUFFER1_ADDR = NMU$MEMORY_GET (.BUFFER1_ALLOC)) eqla 0
; 1201 then exitloop; ! Can't get large enough buffer
; 1202
; 1203 !
; 1204 ! Get list of IDs for either qualified or unqualified entities
; 1205 !
; 1206
; 1207 ENT_PTR = ch$ptr (.BUFFER1_ADDR,,8);
; 1208 EID_LEN = .REQ[RB_NICE_ENTITY_ID_LENGTH]; ! Pick up the id length
; 1209
; 1210 if .PERMANENT
; P 1211 then RTN_COD = $NML$RETURNPDB (.REQ[RB_NICE_ENTITY_TYPE],
; P 1212 .EID_LEN[VALUE],
; P 1213 .REQ[RB_NICE_QUALIFIER],
; P 1214 BUFFER1_LENGTH,
; 1215 .ENT_PTR)
; 1216 else begin
; 1217 local BUF_LNG;
; 1218
; 1219 BUF_LNG = .BUFFER1_LENGTH;
; 1220 RTN_COD = NML$VDB (%bliss36($NTRET) %bliss16(N$FRET),
; 1221 .REQ[RB_NICE_ENTITY_TYPE],
; 1222 0 %(no entity)%,
; 1223 .REQ[RB_NICE_QUALIFIER],
; 1224 .EID_LEN[VALUE],
; 1225 BUF_LNG,
; 1226 ENT_PTR,
; 1227 ERROR_DETAIL);
; 1228 if .RTN_COD eql 1
; 1229 then BUFFER1_LENGTH = .BUFFER1_LENGTH - .BUF_LNG;
; 1230 ENT_PTR = ch$ptr (.BUFFER1_ADDR,,8);
; 1231 end;
; 1232 end
; 1233 while (if .RTN_COD eql NICE$_REE ! Resource error?
; 1234
; U 1235 %if $TOPS10 %then ! For TOPS-10
; U 1236 or .RTN_COD eql NICE$_PVL ! Or parameter value too long?
; 1237 %fi
; 1238
; 1239 then begin ! Release insufficient buffer
; 1240 NMU$MEMORY_RELEASE (.BUFFER1_ADDR, .BUFFER1_ALLOC);
; 1241 $TRUE
; 1242 end
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 40
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
; 1243 else $FALSE);
; 1244
; 1245 !
; 1246 ! Exit here if the list could not be obtained
; 1247 !
; 1248
; 1249 if (.RTN_COD neq 1)
; 1250 or (.BUFFER1_LENGTH leq 0)
; 1251 then begin
; 1252 if .RTN_COD lss 0
; 1253 then begin
; 1254 REQ[RB_RETURN_CODE] = .RTN_COD; ! Set failure return code
; 1255 NML$NICE_RESPONSE (.REQ); ! Build response message
; 1256 end;
; 1257
; 1258 if .BUFFER1_ADDR neqa 0 ! Release buffer
; 1259 then NMU$MEMORY_RELEASE (.BUFFER1_ADDR, .BUFFER1_ALLOC);
; 1260
; 1261 return .RTN_COD;
; 1262 end;
; 1263
; 1264 !
; 1265 ! Perform the appropriate action for each ID in list
; 1266 !
; 1267
; 1268 REQ[RB_RETURN_CODE] = 1; ! Code for subsequent responses
; 1269
; 1270 while .BUFFER1_LENGTH gtr 0
; 1271 do begin ! For each specific entity
; 1272 local EID_ADR; ! Address of NODE entity id buffer
; 1273 label MAP_NODE;
; 1274
; 1275 REQ[RB_NICE_ENTITY] = .ENT_PTR; ! Point to this entity ID
; 1276 EID_ADR = 0; ! Set to zero to indicate no allocation
; 1277 ! only if necessary...
; 1278
; 1279 selectone .REQ[RB_NICE_ENTITY_TYPE] of
; 1280 set
; 1281 [NODE_E]:
; 1282 MAP_NODE: begin ! Map node id to full entity format
; 1283 local LENGTH; ! Length temporary for MAPping
; 1284
; 1285 if (TEMP = (ch$rchar (ch$plus (.ENT_PTR,2)) and %O'177')) neq 6
; 1286 then begin
; 1287 EID_ADR = NMU$MEMORY_GET (NODE_ID_BUFFER_ALLOCATION);
; 1288
; 1289 if .EID_ADR eqla 0 ! If cannot allocate memory, exit loop
; 1290 then leave MAP_NODE;
; 1291
; 1292 REQ[RB_NICE_ENTITY] = ch$ptr (.EID_ADR,,8);
; 1293 ch$move (minu(.TEMP,6)+3, .ENT_PTR, .REQ[RB_NICE_ENTITY]);
; 1294 end;
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 41
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
; 1295
; 1296 LENGTH = NODE_ID_BUFFER_LENGTH; ! Get length and map in all
; 1297 $NML$MAP_NODE_ID (LENGTH, .REQ[RB_NICE_ENTITY]); ! cases
; 1298 end;
; 1299
; 1300 [otherwise]:
; 1301 0;
; 1302 tes;
; 1303
; 1304 begin
; 1305 local SAVE_NICE_PARAMETERS;
; 1306
; 1307 SAVE_NICE_PARAMETERS = .REQ [RB_NICE_PARAMETERS];
; 1308
; 1309 NML_FUNCTION (.REQ); ! Perform the function
; 1310 NML$REQUEST_FINISH (.REQ); ! Queue request for completion
; 1311
; 1312 REQ[RB_NICE_PARAMETERS] = .SAVE_NICE_PARAMETERS;
; 1313 REQ[RB_NICE_PARAMETER_LENGTH] = 0;
; 1314 end;
; 1315
; 1316 if .EID_ADR neqa 0 ! Release only if allocated
; 1317 then NMU$MEMORY_RELEASE (.EID_ADR, NODE_ID_BUFFER_ALLOCATION);
; 1318
; 1319 if .REQ[RB_RETURN_CODE] geq 1 ! Successful?
; 1320 then REQ[RB_RETURN_CODE] = 1 ! Yes, set code for success
; 1321 else exitloop; ! No, quit now with reason
; 1322
; 1323 selectone .REQ[RB_NICE_ENTITY_TYPE] of
; 1324 set
; 1325 [NODE_E]:
; 1326 begin ! Node has special entity format
; 1327 GETW (ENT_PTR); ! Bump past node address
; 1328 BUFFER1_LENGTH = .BUFFER1_LENGTH - 2;
; 1329 TEMP = GETB (ENT_PTR) and %O'177'; ! Bump buffer count
; 1330 BUFFER1_LENGTH = .BUFFER1_LENGTH - 1 - .TEMP;
; 1331 ENT_PTR = ch$plus (.ENT_PTR,.TEMP); ! Point to next entity
; 1332 end;
; 1333
; 1334 [LOGGING_]:
; 1335 begin ! Logging has special entity format
; 1336 GETB (ENT_PTR); ! Bump past sink
; 1337 BUFFER1_LENGTH = .BUFFER1_LENGTH - 1;
; 1338 end;
; 1339
; 1340 [otherwise]:
; 1341 begin
; 1342 TEMP = GETB (ENT_PTR); ! Bump buffer count
; 1343 BUFFER1_LENGTH = .BUFFER1_LENGTH - 1 - .TEMP;
; 1344 ENT_PTR = ch$plus (.ENT_PTR,.TEMP); ! Point to next entity
; 1345 end;
; 1346 tes;
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 42
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
; 1347 end;
; 1348
; 1349 if .BUFFER1_ADDR neqa 0 ! Release buffer if there is one
; 1350 then NMU$MEMORY_RELEASE (.BUFFER1_ADDR, .BUFFER1_ALLOC);
; 1351
; 1352 return .REQ[RB_RETURN_CODE]; ! Return final NICE return code
; 1353 end; ! End of PROCESS_ENTITY_CLASS
000002 .PSECT $OWN$, D
000002 IOSB: .BLKW 2
.GLOBL LUN$NS, EFN$NS
.SBTTL PROCESS.ENTITY.CLASS PROCESS_ENTITY_CLASS
002766 .PSECT $CODE$, RO
000000 004167 000000G PROCESS.ENTITY.CLASS:
JSR R1,$SAVE5 ; 1139
000004 162706 000016 SUB #16,SP
000010 005046 CLR -(SP) ; BUFFER1.ALLOC 1194
000012 016646 000042 MOV 42(SP),-(SP) ; REQ,* 1208
000016 012700 000074 MOV #74,R0 ; 1215
000022 061600 ADD (SP),R0
000024 010066 000010 MOV R0,10(SP)
000030 012702 177761 1$: MOV #-17,R2 ; *,RTN.COD 1197
000034 062766 000140 000002 ADD #140,2(SP) ; *,BUFFER1.ALLOC 1198
000042 016601 000002 MOV 2(SP),R1 ; BUFFER1.ALLOC,* 1199
000046 006700 SXT R0
000050 071027 000140 DIV #140,R0
000054 010001 MOV R0,R1
000056 070127 000140 MUL #140,R1
000062 010166 000016 MOV R1,16(SP) ; *,BUFFER1.LENGTH
000066 016646 000002 MOV 2(SP),-(SP) ; BUFFER1.ALLOC,* 1200
000072 004767 000000G JSR PC,UM.GET
000076 005726 TST (SP)+
000100 010005 MOV R0,R5 ; *,BUFFER1.ADDR
000102 001514 BEQ 5$ ; 1201
000104 010566 000012 MOV R5,12(SP) ; BUFFER1.ADDR,ENT.PTR 1207
000110 005003 CLR R3 ; EID.LEN 1208
000112 011600 MOV (SP),R0
000114 156003 000076 BISB 76(R0),R3 ; *,EID.LEN
000120 032766 000001 000040 BIT #1,40(SP) ; *,PERMANENT 1210
000126 001423 BEQ 2$
000130 012746 000003 MOV #3,-(SP) ; 1215
000134 005046 CLR -(SP)
000136 117616 000014 MOVB @14(SP),(SP)
000142 110300 MOVB R3,R0 ; EID.LEN,*
000144 010046 MOV R0,-(SP)
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 43
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
000146 016600 000006 MOV 6(SP),R0
000152 016046 000110 MOV 110(R0),-(SP)
000156 012746 000030 MOV #30,-(SP)
000162 060616 ADD SP,(SP) ; BUFFER1.LENGTH,*
000164 010546 MOV R5,-(SP) ; ENT.PTR,*
000166 004767 000000G JSR PC,NL.PPR
000172 010002 MOV R0,R2 ; *,RTN.COD 1211
000174 000443 BR 4$ ; 1210
000176 016666 000016 000014 2$: MOV 16(SP),14(SP) ; BUFFER1.LENGTH,BUF.LNG 1219
000204 012746 000006 MOV #6,-(SP) ; 1220
000210 005046 CLR -(SP)
000212 117616 000014 MOVB @14(SP),(SP)
000216 005046 CLR -(SP)
000220 016600 000006 MOV 6(SP),R0
000224 016046 000110 MOV 110(R0),-(SP)
000230 110300 MOVB R3,R0 ; EID.LEN,*
000232 010046 MOV R0,-(SP)
000234 012746 000030 MOV #30,-(SP)
000240 060616 ADD SP,(SP) ; BUF.LNG,*
000242 012746 000030 MOV #30,-(SP)
000246 060616 ADD SP,(SP) ; ENT.PTR,*
000250 012746 000000' MOV #ERROR.DETAIL,-(SP)
000254 004767 000000G JSR PC,NL.VDB
000260 010002 MOV R0,R2 ; *,RTN.COD
000262 020227 000001 CMP R2,#1 ; RTN.COD,* 1228
000266 001003 BNE 3$
000270 166666 000034 000036 SUB 34(SP),36(SP) ; BUF.LNG,BUFFER1.LENGTH 1229
000276 010566 000032 3$: MOV R5,32(SP) ; BUFFER1.ADDR,ENT.PTR 1230
000302 022626 CMP (SP)+,(SP)+ ; 1216
000304 062706 000014 4$: ADD #14,SP ; 1196
000310 020227 177761 CMP R2,#-17 ; RTN.COD,* 1233
000314 001007 BNE 5$
000316 010546 MOV R5,-(SP) ; BUFFER1.ADDR,* 1240
000320 016646 000004 MOV 4(SP),-(SP) ; BUFFER1.ALLOC,*
000324 004767 000000G JSR PC,UM.RELEASE
000330 022626 CMP (SP)+,(SP)+
000332 000636 BR 1$ ; 1239
000334 020227 000001 5$: CMP R2,#1 ; RTN.COD,* 1249
000340 001003 BNE 6$
000342 005766 000016 TST 16(SP) ; BUFFER1.LENGTH 1250
000346 003024 BGT 9$
000350 005702 6$: TST R2 ; RTN.COD 1252
000352 002007 BGE 7$
000354 011600 MOV (SP),R0 ; 1254
000356 110260 000116 MOVB R2,116(R0) ; RTN.COD,*
000362 010046 MOV R0,-(SP) ; 1255
000364 004767 000000G JSR PC,NL.RSP
000370 005726 TST (SP)+ ; 1253
000372 005705 7$: TST R5 ; BUFFER1.ADDR 1258
000374 001406 BEQ 8$
000376 010546 MOV R5,-(SP) ; BUFFER1.ADDR,* 1259
000400 016646 000004 MOV 4(SP),-(SP) ; BUFFER1.ALLOC,*
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 44
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
000404 004767 000000G JSR PC,UM.RELEASE
000410 022626 CMP (SP)+,(SP)+
000412 010200 8$: MOV R2,R0 ; RTN.COD,* 1251
000414 000167 000546 JMP 25$
000420 012700 000116 9$: MOV #116,R0 ; 1268
000424 061600 ADD (SP),R0
000426 010066 000006 MOV R0,6(SP)
000432 112710 000001 MOVB #1,(R0)
000436 012700 000102 MOV #102,R0 ; 1275
000442 061600 ADD (SP),R0
000444 010066 000004 MOV R0,4(SP)
000450 016604 000016 10$: MOV 16(SP),R4 ; BUFFER1.LENGTH,* 1270
000454 003537 BLE 17$
000456 016601 000012 MOV 12(SP),R1 ; ENT.PTR,* 1275
000462 010176 000004 MOV R1,@4(SP)
000466 005003 CLR R3 ; EID.ADR 1276
000470 105776 000010 TSTB @10(SP) ; 1279
000474 001067 BNE 14$
000476 116102 000002 MOVB 2(R1),R2 ; *,TEMP 1285
000502 042702 177600 BIC #177600,R2 ; *,TEMP
000506 020227 000006 CMP R2,#6 ; TEMP,*
000512 001432 BEQ 13$
000514 012746 000012 MOV #12,-(SP) ; 1287
000520 004767 000000G JSR PC,UM.GET
000524 010003 MOV R0,R3 ; *,EID.ADR
000526 001002 BNE 11$ ; 1289
000530 005726 TST (SP)+ ; 1290
000532 000450 BR 14$
000534 010376 000006 11$: MOV R3,@6(SP) ; EID.ADR,* 1292
000540 010200 MOV R2,R0 ; TEMP,* 1293
000542 020027 000006 CMP R0,#6
000546 101402 BLOS 12$
000550 012700 000006 MOV #6,R0
000554 010016 12$: MOV R0,(SP)
000556 062716 000003 ADD #3,(SP)
000562 010146 MOV R1,-(SP)
000564 017646 000010 MOV @10(SP),-(SP)
000570 004767 000000G JSR PC,BL$MOV
000574 062706 000006 ADD #6,SP ; 1286
000600 012700 000011 13$: MOV #11,R0 ; *,LENGTH 1296
000604 005046 CLR -(SP) ; 1297
000606 005046 CLR -(SP)
000610 005046 CLR -(SP)
000612 012746 000002 MOV #2,-(SP)
000616 010046 MOV R0,-(SP) ; LENGTH,*
000620 017646 000016 MOV @16(SP),-(SP)
000624 005046 CLR -(SP)
000626 012746 000002' MOV #IOSB,-(SP)
000632 012746 000000G MOV #EFN$NS,-(SP)
000636 012746 000000G MOV #LUN$NS,-(SP)
000642 012746 016670 MOV #16670,-(SP)
000646 012746 006003 MOV #6003,-(SP)
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 45
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
000652 104377 EMT 377
000654 011600 14$: MOV (SP),R0 ; 1307
000656 016001 000104 MOV 104(R0),R1 ; *,SAVE.NICE.PARAM
000662 010046 MOV R0,-(SP) ; 1309
000664 004776 000044 JSR PC,@44(SP) ; *,ACTION.ROUTINE
000670 016616 000002 MOV 2(SP),(SP) ; 1310
000674 004767 000000G JSR PC,NL.FINISH
000700 016600 000002 MOV 2(SP),R0 ; 1312
000704 010160 000104 MOV R1,104(R0) ; SAVE.NICE.PARAM,*
000710 005060 000106 CLR 106(R0) ; 1313
000714 005703 TST R3 ; EID.ADR 1316
000716 001406 BEQ 15$
000720 010316 MOV R3,(SP) ; EID.ADR,* 1317
000722 012746 000012 MOV #12,-(SP)
000726 004767 000000G JSR PC,UM.RELEASE
000732 005726 TST (SP)+
000734 105776 000010 15$: TSTB @10(SP) ; 1319
000740 003404 BLE 16$
000742 112776 000001 000010 MOVB #1,@10(SP) ; 1320
000750 000402 BR 18$ ; 1319
000752 005726 16$: TST (SP)+ ; 1321
000754 000472 17$: BR 23$
000756 105776 000012 18$: TSTB @12(SP) ; 1323
000762 001034 BNE 19$
000764 005266 000014 INC 14(SP) ; ENT.PTR 1327
000770 016600 000014 MOV 14(SP),R0 ; ENT.PTR,*
000774 116066 177777 000022 MOVB -1(R0),22(SP) ; *,$$GETB.X
001002 005266 000014 INC 14(SP) ; ENT.PTR
001006 016600 000014 MOV 14(SP),R0 ; ENT.PTR,*
001012 116066 177777 000023 MOVB -1(R0),23(SP) ; *,$$GETB.X
001020 162766 000002 000020 SUB #2,20(SP) ; *,BUFFER1.LENGTH 1328
001026 005266 000014 INC 14(SP) ; ENT.PTR 1329
001032 016600 000014 MOV 14(SP),R0 ; ENT.PTR,*
001036 116002 177777 MOVB -1(R0),R2 ; *,TEMP
001042 042702 177600 BIC #177600,R2 ; *,TEMP
001046 016600 000020 MOV 20(SP),R0 ; BUFFER1.LENGTH,* 1330
001052 000421 BR 21$
001054 127627 000012 000002 19$: CMPB @12(SP),#2 ; 1323
001062 001005 BNE 20$
001064 005266 000014 INC 14(SP) ; ENT.PTR 1336
001070 005366 000020 DEC 20(SP) ; BUFFER1.LENGTH 1337
001074 000417 BR 22$ ; 1323
001076 005266 000014 20$: INC 14(SP) ; ENT.PTR 1342
001102 016600 000014 MOV 14(SP),R0 ; ENT.PTR,*
001106 005002 CLR R2 ; TEMP
001110 156002 177777 BISB -1(R0),R2 ; *,TEMP
001114 010400 MOV R4,R0 ; 1343
001116 160200 21$: SUB R2,R0 ; TEMP,*
001120 010066 000020 MOV R0,20(SP) ; *,BUFFER1.LENGTH
001124 005366 000020 DEC 20(SP) ; BUFFER1.LENGTH
001130 060266 000014 ADD R2,14(SP) ; TEMP,ENT.PTR 1344
001134 005726 22$: TST (SP)+ ; 1271
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 46
X03.35 PROCESS_ENTITY_CLASS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (13)
001136 000167 177306 JMP 10$ ; 1270
001142 005705 23$: TST R5 ; BUFFER1.ADDR 1349
001144 001406 BEQ 24$
001146 010546 MOV R5,-(SP) ; BUFFER1.ADDR,* 1350
001150 016646 000004 MOV 4(SP),-(SP) ; BUFFER1.ALLOC,*
001154 004767 000000G JSR PC,UM.RELEASE
001160 022626 CMP (SP)+,(SP)+
001162 117600 000006 24$: MOVB @6(SP),R0 ; 1166
001166 062706 000022 25$: ADD #22,SP ; 1139
001172 000207 RTS PC
; Routine Size: 318 words, Routine Base: $CODE$ + 2766
; Maximum stack depth per invocation: 29 words
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 47
X03.35 COPY_RESP_PARAMETERS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (14)
; 1354 %routine ('COPY_RESP_PARAMETERS', REQ, PAR_LEN, PAR_PTR) =
; 1355
; 1356 !++
; 1357 ! FUNCTIONAL DESCRIPTION:
; 1358 !
; 1359 ! Copies parameter data into response message.
; 1360 !
; 1361 ! FORMAL PARAMETERS
; 1362 !
; 1363 ! NONE.
; 1364 !
; 1365 ! IMPLICIT INPUTS
; 1366 !
; 1367 ! NONE.
; 1368 !
; 1369 ! ROUTINE VALUE:
; 1370 !
; 1371 ! NONE.
; 1372 !
; 1373 ! SIDE EFFECTS:
; 1374 !
; 1375 ! NONE.
; 1376 !
; 1377 !--
; 1378
; 1379 begin
; 1380
; 1381 map
; 1382 REQ: ref REQUEST_BLOCK; ! NICE RB structure
; 1383
; 1384 local
; 1385 LEN,
; 1386 REM,
; 1387 TEMP,
; 1388 RESP_MAX,
; 1389 RESP_PTR;
; 1390
; 1391 !
; 1392 ! Point to end of entity id field in response message
; 1393 !
; 1394
; 1395 RESP_PTR = ch$ptr (.REQ[RB_RESPONSE],.REQ[RB_RESPONSE_LENGTH],8);
; 1396
; 1397 !
; 1398 ! Determine the number of 8 bit bytes that can be copied into this
; 1399 ! response message and set REM to the number of bytes that
; 1400 ! could not be included.
; 1401 !
; 1402
; 1403 RESP_MAX = (.REQ[RB_RESPONSE_ALLOCATION] / %upval) * (%bpval / 8);
; 1404
; 1405 if (.PAR_LEN + .REQ[RB_RESPONSE_LENGTH]) gtr .RESP_MAX
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 48
X03.35 COPY_RESP_PARAMETERS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (14)
; 1406 then
; 1407 begin
; 1408 LEN = .RESP_MAX - .REQ[RB_RESPONSE_LENGTH];
; 1409 REM = .PAR_LEN - .LEN;
; 1410 end
; 1411 else
; 1412 begin
; 1413 LEN = .PAR_LEN;
; 1414 REM = 0;
; 1415 end;
; 1416
; 1417 !
; 1418 ! Copy parameters to DATA BLOCK field of repsonse message
; 1419 !
; 1420
; 1421 RESP_PTR = ch$move (.LEN, .PAR_PTR, .RESP_PTR);
; 1422 REQ[RB_RESPONSE_LENGTH] = .REQ[RB_RESPONSE_LENGTH] + .LEN;
; 1423
; 1424 .REM
; 1425 end; ! End of COPY_RESP_PARAMETERS
.SBTTL COPY.RESP.PARAMETERS COPY_RESP_PARAMETERS
000000 004167 000000G COPY.RESP.PARAMETERS:
JSR R1,$SAVE5 ; 1354
000004 016604 000022 MOV 22(SP),R4 ; REQ,* 1395
000010 016402 000034 MOV 34(R4),R2
000014 010205 MOV R2,R5 ; *,RESP.PTR
000016 066405 000026 ADD 26(R4),R5 ; *,RESP.PTR
000022 016401 000036 MOV 36(R4),R1 ; 1403
000026 006700 SXT R0
000030 071027 000002 DIV #2,R0
000034 010001 MOV R0,R1 ; *,RESP.MAX
000036 006301 ASL R1 ; RESP.MAX
000040 016600 000020 MOV 20(SP),R0 ; PAR.LEN,* 1405
000044 010203 MOV R2,R3
000046 060003 ADD R0,R3
000050 020301 CMP R3,R1 ; *,RESP.MAX
000052 003404 BLE 1$
000054 160201 SUB R2,R1 ; *,LEN 1408
000056 010002 MOV R0,R2 ; *,REM 1409
000060 160102 SUB R1,R2 ; LEN,REM
000062 000402 BR 2$ ; 1405
000064 010001 1$: MOV R0,R1 ; *,LEN 1413
000066 005002 CLR R2 ; REM 1414
000070 010146 2$: MOV R1,-(SP) ; LEN,* 1421
000072 016646 000020 MOV 20(SP),-(SP) ; PAR.PTR,*
000076 010546 MOV R5,-(SP) ; RESP.PTR,*
000100 004767 000000G JSR PC,BL$MOV
000104 010005 MOV R0,R5 ; *,RESP.PTR
000106 060164 000034 ADD R1,34(R4) ; LEN,* 1422
000112 062706 000006 ADD #6,SP ; 1379
NMLRCZ NMLRCZ -- NICE Read/Change/Zero Processing 24-May-1985 13:22:51 TOPS-20 Bliss-16 2A(530) Page 49
X03.35 COPY_RESP_PARAMETERS 3-Jan-1983 01:58:34 DNET61:<MCB.NML>NMLRCZ.BLI.1 (14)
000116 010200 MOV R2,R0 ; REM,* 1354
000120 000207 RTS PC
; Routine Size: 41 words, Routine Base: $CODE$ + 4162
; Maximum stack depth per invocation: 10 words
; 1426 end ! End of Module NMLRCZ
; 1427 eludom
; OTS external references
.GLOBL $SAVE5, $SAVE4, $SAVE3, BL$MOV
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $OWN$ 3 RW , D , LCL, REL, CON
; $CODE$ 1122 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; DNET61:<MCB.NML>NMLLIB.L16.2 2718 163 5 0
; 1428 ! Local Modes:
; 1429 ! Mode:BLISS
; 1430 ! Auto Save Mode:2
; 1431 ! Comment Column:40
; 1432 ! Comment Rounding:+1
; 1433 ! End:
; Size: 1122 code + 3 data words
; Run Time: 00:18.7
; Elapsed Time: 00:24.5
; Memory Used: 72 pages
; Compilation Complete
ACTION_ROUTINE 1065 1109 1127 1139 1186
BUFFER1_ADDR 1177 1200# 1207 1230 1240 1258 1259 1349 1350
BUFFER1_ALLOC 1179 1194# 1198# 1199 1200 1240 1259 1350
BUFFER1_LENGTH 1178 1199# 1214 1219 1229# 1250 1270 1328# 1330# 1337# 1343#
BUFFER_ADDR 508 529# 537 546 561 610 632 635 996 1004# 1013 1043
1060 1062 1063
BUFFER_ALLOC 509 522# 526# 527 529 561 635
BUFFER_LEFT 510 528# 545 554 562 569 631 997 1002# 1019 1044 1059
BUFFER_LEN 511 527# 528 562 569 631
BUFFER_OFFSET 513 598# 609 610 615#
BUFFER_PART 516 562# 569# 607
BUFFER_PTR 514 537# 555 1012 1013# 1020
BUFFER_USED 512 607# 609 615
BUF_LNG 1217 1219# 1225 1229
CHANGE_SPECIFIC_ENTITY 397 676
COPY_RESP_PARAMETERS 404 608 630 1058
CO_CLEAR_PURGE 715 725 742 890
CO_PERMANENT 723
DATA 880 897
DUMMY 362+ 364+ 365+
EID_ADR 1272 1276# 1287# 1289 1292 1316 1317
EID_LEN 1097 1100# 1106 1181 1208# 1212 1224
ENT_PTR 1180 1207# 1215 1226 1230# 1275 1285 1293 1327 1329 1331# 1336
1342 1344#
ERROR_DETAIL 420 521# 556 577 718# 751 761 766 1001# 1021 1034 1227
GETB 1329 1336 1342
GETW 888 1327
GETW_NA 906
GET_NEXT_PARAMETER 399 714 772 819 920
LEN 886 892# 894# 899 903 1385 1408# 1409 1413# 1421 1422
LOGGING_ 1334
MAP_NODE 1273 1282 1290
MD_SEQ 584 592# 595# 611 620
MODULE_ 904
MULTIPLE_PARAMETERS 398 673
N 517 523# 562 563# 564 569 570# 580 601 618
N$FCLR 744
N$FRET 1220
N$FSET 754
N$FSHO 549
N$FSZC 1014
NEXT 880 903# 909
NICE$_IPG 674
NICE$_PRV 467 670 956
NICE$_PVL 1236
NICE$_REE 531 559 1030 1050 1197 1233
NML$CHANGE 396
NML$DECLARE_EVENT 429 1046
NML$NICE_RESPONSE 434 533 590 606 624 629 778 1052 1119 1135 1255
NML$PARAMETER_DATA 430 894
NML$PDB_CHANGE 433
NML$PDB_READ 432
NML$READ 394
NML$REQUEST_FINISH 591 613 1110 1120 1136 1310
NML$REQUEST_MANAGER 378+
NML$VDB 431 549 744 754 1014 1220
NML$VDB_PARAMETER 428
NML$ZERO 400
NMLRCZ 234#
NML_FUNCTION 1186* 1309
NMU$MEMORY_GET 529 1004 1200 1287
NMU$MEMORY_MANAGER 376+
NMU$MEMORY_RELEASE 561 635 1063 1240 1259 1317 1350
NMU$NETWORK_LOCAL 427*
NMU$QUEUE_MANAGER 377+
NMU$SCHED_MANAGER 375+*
NN 518 597# 601 607 616# 618
NODE_E 1281 1325
NODE_ID_BUFFER_ALLOCATION 1287 1317
NODE_ID_BUFFER_LENGTH 1296
OB_ALLOCATION 502# 526 527 990# 1004 1063 1171# 1198 1199
OB_LENGTH 500# 501 527 988# 989 1002 1044 1059 1169# 1170 1199
OB_SIZE 501# 502 989# 990 1170# 1171
PARAMETER 880 888# 895 905 909
PAR_LEN 1354 1405 1409 1413
PAR_PTR 1354 1421
PERMANENT 1139 1210
POINTER 880 882# 888 896 906
PROCESS_ENTITY_CLASS 403 1126
PROCESS_REQUEST 402 469 676 958
RAW_EVENT_BLOCK 1038
RB$MORE 586
RB_ERROR_DETAIL 577 766 1034
RB_NICE_ENTITY 542 551 728 735 746 756 1016 1042 1275 1292 1293 1297
RB_NICE_ENTITY_ID_LENGTH 1100 1208
RB_NICE_ENTITY_TYPE 541 550 727 734 745 755 894 904 1015 1041 1211 1221
1279 1323
RB_NICE_LENGTH 868 903
RB_NICE_OPTION 539 544 553 715 723 725 742 890 1029 1057 1128
RB_NICE_PARAMETERS 532 731 738 750 760 818 820 861 868 882 891 919
1307 1312
RB_NICE_PARAMETER_LENGTH 721 821 862 870 911 1313
RB_NICE_POINTER 868
RB_NICE_QUALIFIER 543 552 729 736 747 757 891 919 1017 1213 1223
RB_PRV_CHANGE 670 956
RB_PRV_LOCAL 672
RB_PRV_READ 467
RB_RESPONSE 1395
RB_RESPONSE_ALLOCATION 1403
RB_RESPONSE_LENGTH 1395 1405 1408 1422
RB_RETURN_CODE 531 576 589 603 605 611 623 717 765 775 1000 1033
1050 1054 1108 1118 1134 1254 1268 1319 1320 1352
RB_STATE 586
READ_SPECIFIC_ENTITY 395 469
REB 1038 1040# 1041# 1042# 1043# 1044# 1045# 1046
REB_DATA_LENGTH 1044
REB_DATA_POINTER 1043
REB_ENTITY_POINTER 1042
REB_ENTITY_TYPE 1041
REB_EVENT_CODE 1040
REB_TIME_BLOCK 1045
REM 1386 1409# 1414# 1424
REQ 435 465 467 469 471 505 531# 532# 533 539 541 542
543 544 550 551 552 553 576# 577# 586 589# 590 591
603# 605# 606 608 611 613 623# 624 629 630 638 668
670 672 673 676 678 708 714 715 717# 721 723 725
727 728 729 731 734 735 736 738 742 745 746 747
750 755 756 757 760 765# 766# 772 775# 778 780 812
818 819 820# 821# 824 859 861# 862 868 870# 882# 890
891 894 903 904 911# 919 920 924 954 956 958 960
993 1000# 1015 1016 1017 1029 1033# 1034# 1041 1042 1050# 1052
1054 1057 1058 1065 1094 1100 1108# 1109 1110 1118# 1119 1120
1126 1128 1134# 1135 1136 1139 1174 1208 1211 1213 1221 1223
1254# 1255 1268# 1275# 1279 1292# 1293 1297 1307 1309 1310 1312#
1313# 1319 1320# 1323 1352 1354 1382 1395 1403 1405 1408 1422#
REQUEST_BLOCK 465 505 668 708 812 859 954 993 1094 1174 1382
RESP_MAX 1388 1403# 1405 1408
RESP_PTR 1389 1395# 1421#
RO_INFO_TYPE 544 553
RO_PERMANENT 539 1128
RTN 815 819# 822
RTN_COD 515 541# 549# 559 574 576 712 727# 734# 744# 754# 765
998 1014# 1030 1031# 1033 1098 1126# 1182 1197# 1211# 1220# 1228
1233 1236 1249 1252 1254 1261
SAVE_NICE_PARAMETERS 816 818# 820 1305 1307# 1312
TASK_INFO 350+
TEMP 519 1183 1285# 1293 1329# 1330 1331 1342# 1343 1344 1387
VALUE 1106 1212 1224
ZERO_SPECIFIC_ENTITY 401 958
ZO_READ_AND_ZERO 1029 1057
$FALSE 351+ 566 571 595 871 900 1243
$INCOMPLETE$ 362+#
$INTERNAL_ERROR$ 347+#
$NICE$ERR_OPF 367+ 775
$NML$DELPDB 727
$NML$GETPDB 541
$NML$MAP_NODE_ID 1297
$NML$PUTPDB 734
$NML$RETURNPDB 1211
$NTCLR 744
$NTRET 1220
$NTSET 754
$NTSHO 549
$NTSZC 1014
$SIGNED_BYTE_VALUE 1097 1181
$SUB_FIELD 539 544 553 715 723 725 742 890 1029 1057 1128
$TOPS10 1235
$TRUE 565 592 922 1111 1137 1241
%BLISS16 549 744 754 1014 1220
%BLISS36 549 744 754 1014 1220
%GLOBAL_ROUTINE 435# 638# 924#
%REMAINING 350+
%ROUTINE 471# 678# 780# 824# 960# 1065# 1139# 1354#