Trailing-Edge
-
PDP-10 Archives
-
TOPS-20_V6.1_DECnetSrc_7-23-85
-
mcb/nmx/nmx.lst
There is 1 other file named nmx.lst in the archive. Click here to see a list.
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 1
3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (1)
; 0001 module NMX ( ! Network Management External Interface
; 0002 ident = 'X01270'
; 0003 ) =
; 0004 begin
; 0005 !
; 0006 ! COPYRIGHT (c) 1980, 1981, 1982
; 0007 ! DIGITAL EQUIPMENT CORPORATION
; 0008 ! Maynard, Massachusetts
; 0009 !
; 0010 ! This software is furnished under a license and may be used
; 0011 ! and copied only in accordance with the terms of such license
; 0012 ! and with the inclusion of the above copyright notice. This
; 0013 ! software or any other copies thereof may not be provided or
; 0014 ! otherwise made available to any other person. No title to
; 0015 ! and ownership of the software is hereby transferred.
; 0016 !
; 0017 ! The information in this software is subject to change
; 0018 ! without notice and should not be construed as a commitment
; 0019 ! by DIGITAL EQUIPMENT CORPORATION.
; 0020 !
; 0021 ! DIGITAL assumes no responsibility for the use or reliability
; 0022 ! of its software on equipment which is not supplied by
; 0023 ! DIGITAL.
; 0024 !
; 0025
; 0026 !++
; 0027 !
; 0028 ! FACILITY: MCB Network Management
; 0029 !
; 0030 ! ABSTRACT:
; 0031 !
; 0032 ! NMX supplies an interface between the Network Management Layer
; 0033 ! process running as an RSX task and the MCB processes supplying
; 0034 ! NM interfaces.
; 0035 !
; 0036 ! ENVIRONMENT: MCB V3.x
; 0037 !
; 0038 ! AUTHOR: Scott G. Robinson CREATION DATE: 9-SEP-80
; 0039 !
; 0040 ! MODIFIED BY:
; 0041 !
; 0042 ! 01 - Modifications to NMXCKT, NMXLIN, NMXMOD for Error Handling
; 0043 ! 02 - Fix RETURN Functions to use MTBF$S correctly
; 0044 ! 03 - Add ERROR_CODE support in Control-Complete Processing
; 0045 ! 04 - Update NMX for MCB V3.1 fixes
; 0046 ! 05 - Update NMXxxx for MCB V3.2 and setup for NMXINI Initialization
; 0047 ! 06 - Continue edit 05 for MCB V3.2
; 0048 ! 07 - Update NMXxxx for new N$Sxxx, N$Fxxx, N$Ixxx nomenclature
; 0049 ! Fix RETURN_DSR functions to new formats
; 0050 ! 10 - Add routine to NMXINI to allow interrogation of Entity Data
; 0051 ! bases. Add different buffer checking routines.
; 0052 ! 11 - Fix CLEAR ALL processing in NMXNOD, NMXCKT, NMXLIN, NMXMOD
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 2
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (1)
; 0053 ! 12 - Add routine $NMGID to NMXINI for data base interrogation
; 0054 ! 13 - Fix returned buffer length bug in NMXxxx show functions
; 0055 ! 14 - Fix various calls and things in NMXINI and NMXUTL
; 0056 ! 15 - Fix missing conditional in NMXLIN
; 0057 ! 16 - Add Event Logging Support
; 0058 ! 17 - Add Direct Line Access Support
; 0059 ! 18 - Add Receive Timeout Code for Direct Line Access
; 0060 ! Alan D. Peckham, 11-Jan-82
; 0061 ! 19 - Add support for returning completion time into time block
; 0062 ! supplied in parameter #6
; 0063 ! Alan D. Peckham, 14-Apr-82
; 0064 ! 20 - Complete rework of NM support.
; 0065 ! Code compressed and NME process eliminated.
; 0066 ! 21 - Fix buffer length bug in NMXEVE.
; 0067 ! 22 - Fix unrecognized component bug in NMXCCE.
; 0068 ! 23 - Disallow SERVICE state in NMXCCE.
; 0069 ! 24 - Fix DSR return bug in NMXDLE.
; 0070 ! Check string lengths in NMXINE.
; 0071 ! Range check entity type in NMX$MAP_ENTITY_ID_TO_DB.
; 0072 ! 25 - Change protocol for events in NMXEVE.
; 0073 ! Maintain EVENTS_PROCESSED in NMXEVE.
; 0074 ! Add NMLMCB access control support in NMXEVE.
; 0075 ! 26 - Add code in TIMPIN to get the EXECUTOR ADDRESS/NAME from high core.
; 0076 ! 27 - Fix for system specific parameter in NMXCCE.
; 0077 !--
; 0078
; 0079 !
; 0080 ! INCLUDE FILES:
; 0081 !
; 0082
; 0083 library 'XPORTX';
; 0084
; 0085 library 'MCBLIB';
; 0086
; 0087 library 'NMXPAR';
; 0088
; 0089 library 'NMXLIB';
; 0090
; 0091 require 'DLXPAR';
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 3
X01270 3-Jan-1983 18:41:32 NETPKG:<NMX>DLXPAR.REQ.7 (1)
; R0092 ! COPYRIGHT (c) 1980, 1981, 1982
; R0093 ! DIGITAL EQUIPMENT CORPORATION
; R0094 ! Maynard, Massachusetts
; R0095 !
; R0096 ! This software is furnished under a license and may be used
; R0097 ! and copied only in accordance with the terms of such license
; R0098 ! and with the inclusion of the above copyright notice. This
; R0099 ! software or any other copies thereof may not be provided or
; R0100 ! otherwise made available to any other person. No title to
; R0101 ! and ownership of the software is hereby transferred.
; R0102 !
; R0103 ! The information in this software is subject to change
; R0104 ! without notice and should not be construed as a commitment
; R0105 ! by DIGITAL EQUIPMENT CORPORATION.
; R0106 !
; R0107 ! DIGITAL assumes no responsibility for the use or reliability
; R0108 ! of its software on equipment which is not supplied by
; R0109 ! DIGITAL.
; R0110
; R0111 !+
; R0112 ! DLX processing Parameters
; R0113 !-
; R0114 %if not %declared (XPO$K_VERSION) %then library 'MCB:XPORTX' %fi;
; R0115 %if not %declared (MCB$K_VERSION) %then library 'MCB:MCBLIB' %fi;
; R0116
; R0117 !+
; R0118 ! Fields for DLX CCBs and I/O Packets
; R0119 !-
; R0120 $field
; R0121 DLX_OVERLAY_CCB_FIELDS =
; R0122 set
; R0123 $overlay (C_LIX)
; R0124 C_DLX_EID = [$integer], ! Full EID specification
; R0125 $overlay (C_PRM1)
; R0126 C_DLX_STATE = [$address], ! Current processing State for function
; R0127 C_DLX_IOP = [$address], ! Address of IOP for this CCB
; R0128 C_DLX_LUNBLK = [$address] ! Address of LUN Block for this CCB
; R0129 $continue
; R0130 tes;
; R0131
; R0132 macro
; MR0133 DLX_CCB_BLOCK =
; R0134 block field(C_NM_FIELDS, DLX_OVERLAY_CCB_FIELDS) %;
; R0135
; R0136 $literal ! Contents of DLX_CCB_STATE
; R0137 DLX_TRANSMIT = $distinct, ! Have Transmitted Data
; R0138 DLX_STOP_OWNER = $distinct, ! Have Sent Stop to Entity Owner
; R0139 DLX_REQUEST_ENTITY = $distinct, ! Have Requested Entity
; R0140 DLX_ENTER_MAINT = $distinct, ! Have Set Maintenance Mode
; R0141 DLX_STOP_PROTOCOL = $distinct, ! Have Stopped Protocol on Entity
; R0142 DLX_RELEASE_ENTITY = $distinct, ! Have Released Entity
; R0143 DLX_START_OWNER = $distinct; ! Have Started Owner
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 4
X01270 3-Jan-1983 18:41:32 NETPKG:<NMX>DLXPAR.REQ.7 (1)
; R0144
; R0145 literal
; R0146 DLX_STATE_LOW = DLX_TRANSMIT, ! Lowest State
; R0147 DLX_STATE_HIGH = DLX_START_OWNER; ! Highest State
; R0148
; R0149
; R0150 $field
; R0151 DLX_LUN_FIELDS =
; R0152 set
; R0153 LUN_LINK = [$address], ! Link to Next LUN Block
; R0154 LUN_ENTITY_ADDRESS = [$address],! Points to Entity Block for this LUN
; R0155 LUN_ENTITY_BIAS = [$address], ! Bias for Entity Block
; R0156 LUN_STATE = [$byte], ! State: Opening, Opened, Closing
; R0157 LUN_ID = [$byte], ! Unique ID returned in CCB LIX field
; R0158 LUN_RCVS = [$sub_block(2)], ! Queue of IOPs for RCVs
; R0159 LUN_RCPS = [$sub_block(2)], ! Queue of CCB RCP buffers
; R0160 LUN_XMTS = [$integer], ! Number of Outstanding Transmits
; R0161 LUN_ERROR_CODE = [$integer], ! Error Code from OPEN/CLOSE
; R0162 LUN_RCV_ERROR = [$integer] ! Pending Receive Error
; R0163 tes;
; R0164
; R0165 literal
; R0166 DLX_LUN_SIZE = $field_set_size,
; R0167 DLX_LUN_ALLOCATION = $field_set_units;
; R0168
; R0169 macro
; MR0170 DLX_LUN_BLOCK =
; R0171 block [DLX_LUN_SIZE] field(DLX_LUN_FIELDS) %;
; R0172
; R0173 $literal
; R0174 LUN_OPENING = $distinct,
; R0175 LUN_CLOSING = $distinct,
; R0176 LUN_OPENED = $distinct;
; R0177 !+
; R0178 ! *****End of DLXPAR*****
; R0179 !-
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 5
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (1)
; 0180
; 0181 !
; 0182 ! TABLE OF CONTENTS:
; 0183 !
; 0184
; 0185 linkage
; 0186 NMX_LKG_NAM = jsr (register = 0);
; 0187
; 0188 forward routine
; 0189 QIODSP : RSX_UCB_SCB_IOP novalue, ! QIO Function Dispatch
; 0190 QIONOP : RSX_UCB novalue, ! Driver Function No operation
; 0191 DLXNM : MCB_DB_CCB novalue, ! FM_NM processor
; 0192 DSPTIM : MCB_DB_MOD novalue, ! FC_TIM processor
; 0193 DSPCCP : MCB_DB_CCB_MOD novalue, ! FC_CCP dispatcher
; 0194 BADCCB : MCB_DB_CCB_MOD novalue, ! Invalid CCB Parameters
; 0195 TIMLTM : MCB_DB novalue, ! FM_LTM Long timer processor
; 0196 TIMPIN : MCB_DB novalue, ! FM_PIN Process initialization
; 0197 GET_PIX : NMX_LKG_NAM, ! Get process index
; 0198 NMX$GET_NMX_CCB : NMX$LKG_DB_IOP, ! Convert IOP to CCB for NMX
; 0199 NMX$MAP_ENTITY_ID_TO_DB : NMX$LKG_TYP_ENT,
; 0200 NMX$MAP_NMXID_TO_DB : NMX$LKG_NMXID,
; 0201 NMX$RETURN_NMX_CCB : NMX$LKG_CCB novalue; ! Return NMX CCB/NMPAR
; 0202
; 0203 !
; 0204 ! RSX Related Items for NMX
; 0205 !
; 0206
; 0207 global bind
; 0208 $NMTBL = ! RSX Driver Dispatch Table
; 0209 uplit (QIODSP, ! I/O Initiator Dispatcher
; 0210 QIONOP, ! I/O Cancellation
; 0211 QIONOP, ! I/O Timeout
; 0212 QIONOP); ! Power Failure Notification
; 0213
; 0214 !
; 0215
; 0216 external
; 0217 $HEADR : ref block field (HDR_FIELDS), ! Current Task Header
; 0218 $TTNS : vector; ! RSX Uptime Vector
; 0219
; 0220 !
; 0221 ! NMX related items
; 0222 !
; 0223
; 0224 external routine
; 0225 BADREQ : MCB_DB_CCB novalue, ! IE_BAD parameter processor
; 0226 CKTCCP : MCB_DB_CCB novalue, ! Process FC.CCP for CIRCUIT Entities
; 0227 CKTREQ : MCB_DB_CCB novalue, ! Process IOP for CIRCUIT Entities
; 0228 DLXAST : MCB_DB_CCB_MOD novalue, ! Process FC.AST for all items
; 0229 DLXCCP : MCB_DB_CCB novalue, ! Process FC.CCP for DLX functions
; 0230 DLXCON : NMX$LKG_UCB_IOP novalue, ! Process IOP Connect
; 0231 DLXCTL : MCB_DB_CCB_MOD novalue, ! Process FC.CTL for DLX functions
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 6
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (1)
; 0232 DLXDSC : NMX$LKG_UCB_IOP novalue, ! Process IOP Disconnect
; 0233 DLXRCP : MCB_DB_CCB_MOD novalue, ! Process FC.RCP for all items
; 0234 DLXRCV : NMX$LKG_UCB_IOP novalue, ! Process IOP Receive
; 0235 DLXXCP : MCB_DB_CCB_MOD novalue, ! Process FC.XCP for all items
; 0236 DLXXMT : NMX$LKG_UCB_IOP novalue, ! Process IOP Transmit
; 0237 EVPRLB : NMX$LKG_UCB_IOP novalue, ! Process Read Event Queue
; 0238 EVPWAT : MCB_DB_CCB novalue, ! Process Event Filter Setup
; 0239 LINCCP : MCB_DB_CCB novalue, ! Process FC.CCP for LINE Entities
; 0240 LINREQ : MCB_DB_CCB novalue, ! Process IOP for LINE Entities
; 0241 MODCCP : MCB_DB_CCB novalue, ! Process FC.CCP for MODULE Entities
; 0242 MODREQ : MCB_DB_CCB novalue, ! Process IOP for MODULE Entities
; 0243 NODCCP : MCB_DB_CCB novalue, ! Process FC.CCP for NODE Entities
; 0244 NODREQ : MCB_DB_CCB novalue; ! Process IOP for NODE Entities
; 0245
; 0246 !
; 0247 ! MCB Process Header and related items for NMX
; 0248 !
; 0249
; 0250 external routine
; 0251 $DSPCR : novalue; ! Invalid function crash routine in CEX
; 0252
; 0253 !
; P 0254 $MCB_PROCESS ( ! Define the NMX MCB Process
; P 0255 NAME = NMX,
; P 0256 LLC_DISPATCH = TABLE$ ($DSPCR, FC_CCP, (FC_AST, DLXAST), ! Asynchronous Events
; P 0257 (FC_TIM, DSPTIM), ! Time Interval Complete/Process init
; P 0258 (FC_CTL, DLXCTL), ! Control Enable
; P 0259 (FC_XCP, DLXXCP), ! Transmit Complete
; P 0260 (FC_RCP, DLXRCP), ! Receive Complete
; P 0261 (FC_CCP, DSPCCP)), ! Control Complete
; 0262 RSX_DISPATCH = $NMTBL);
; 0263 !
; 0264
; 0265 external
; 0266 MCB$GAW_PROCESS_DATA_BASE : vector [2];
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 7
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
; 0267 routine QIODSP (UCB, SCB, IOP) : RSX_UCB_SCB_IOP novalue = !QIO Function Processor
; 0268
; 0269 !++
; 0270 ! FUNCTIONAL DESCRIPTION:
; 0271 !
; 0272 ! QIODSP processes the receipt of an I/O Packet from RSX. It handles the
; 0273 ! validation and processing of IO$xxx functions from the NM: device.
; 0274 !
; 0275 ! FORMAL PARAMETERS:
; 0276 !
; 0277 ! UCB - the Unit Control Block for NM:
; 0278 ! SCB - the Status Control Block for NM:
; 0279 ! IOP - the I/O Packet
; 0280 !
; 0281 ! IMPLICIT INPUTS:
; 0282 !
; 0283 ! UCB, SCB, IOP contents
; 0284 ! NMX Process Data Base Items
; 0285 !
; 0286 ! IMPLICIT OUTPUTS:
; 0287 !
; 0288 ! IOP - could be immediately completed via $IOFIN
; 0289 !
; 0290 ! COMPLETION CODES:
; 0291 ! None
; 0292 !
; 0293 ! SIDE EFFECTS:
; 0294 !
; 0295 ! IOP completion could be delayed until MCB processing is complete.
; 0296 !
; 0297 !--
; 0298
; 0299 begin
; 0300
; 0301 map
; 0302 IOP : ref NMX_IOP_BLOCK,
; 0303 UCB : ref block field (UCB_FIELDS),
; 0304 SCB : ref block field (SCB_FIELDS);
; 0305
; 0306 !
; 0307 ! Reformat IOP into internal format, this is essentially a specially
; 0308 ! setup RSX Transfer Function IOP.
; 0309 !
; 0310
; 0311 begin
; 0312
; 0313 macro
; M 0314 IOP_MOVE (FLD_S, FLD_D) =
; M 0315 %if %fieldexpand (FLD_S, 0) gtr %fieldexpand (FLD_D, 0)
; M 0316 %then %warn ('Overlap exists: reorder the fields to move')
; M 0317 %else
; M 0318 %if %fieldexpand (FLD_S, 0) lss %fieldexpand (FLD_D, 0)
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 8
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
; M 0319 %then IOP [FLD_D] = .IOP [FLD_S]
; M 0320 %fi
; 0321 %fi %;
; 0322
; 0323 IOP_MOVE (I_PRM6, I_NMX_TIME);
; 0324 IOP_MOVE (I_PRM5, I_NMX_QUALIFIER);
; 0325 IOP_MOVE (I_PRM4, I_NMX_ENTITY);
; 0326 IOP_MOVE (I_PRM3, I_NMX_TYPE);
; 0327 IOP_MOVE (I_PRM2, I_NMX_CNT);
; 0328
; 0329 if .IOP [I_PRM2] eql 0
; 0330 then
; 0331 begin ! Count = 0 so ignore user buffer
; 0332 IOP [I_NMX_ADDR] = %o'160001';
; 0333 IOP [I_NMX_BIAS] = 0;
; 0334 end
; 0335 else
; 0336 begin ! Count <> 0 so map user buffer
; 0337
; 0338 if not ACHKB$ (.IOP [I_PRM1], .IOP [I_PRM2]) ! Check Buffer address first
; 0339 then
; 0340 begin
; 0341 $RSX_FINISH_IOP (.UCB, .IOP, $NM$ERR_MPE, 0);
; 0342 return;
; 0343 end;
; 0344
; 0345 RELOC$ (.IOP [I_PRM1], IOP [I_NMX_BIAS], IOP [I_NMX_ADDR]);
; 0346 end;
; 0347
; 0348 end;
; 0349
; 0350 !
; 0351 ! Split Processing based upon Function Code and Entity
; 0352 !
; 0353
; 0354 selectone .IOP [I_FCN]^-8 of
; 0355 set
; 0356 [IOP_CTL] :
; 0357 begin
; 0358
; 0359 local
; 0360 CCB : ref NMX_CCB_BLOCK,
; 0361 NMXDB : ref NMXDB_BLOCK;
; 0362
; 0363 bind routine
; 0364 DISPATCH = (case .IOP [I_NM_ENTITY] from NMX$ENT_lo to NMX$ENT_hi of
; 0365 set
; 0366 [NMX$ENT_mod] : MODREQ;
; 0367 [NMX$ENT_nod] : NODREQ;
; 0368 [NMX$ENT_ckt] : CKTREQ;
; 0369 [NMX$ENT_lin] : LINREQ;
; 0370 [inrange, outrange] : BADREQ;
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 9
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
; 0371 tes) : MCB_DB_CCB novalue;
; 0372
; 0373 $MCB_RSX_TO_MCB (.UCB, NMXDB);
; 0374
; 0375 if $NMX_GET_NMX_CCB (.IOP, CCB)
; 0376 then
; 0377 DISPATCH (NMXDB [NMX_BASE], .CCB);
; 0378
; 0379 $MCB_MCB_TO_RSX (NMXDB [NMX_BASE]);
; 0380 end;
; 0381 [IOP_WAT] :
; 0382 begin
; 0383
; 0384 local
; 0385 CCB : ref block field (C_FIELDS),
; 0386 NMXDB : ref NMXDB_BLOCK;
; 0387
; 0388 bind routine
; 0389 DISPATCH = EVPWAT : MCB_DB_CCB novalue;
; 0390
; 0391 $MCB_RSX_TO_MCB (.UCB, NMXDB);
; 0392
; 0393 if $NMX_GET_NMX_CCB (.IOP, CCB)
; 0394 then
; 0395 DISPATCH (NMXDB [NMX_BASE], .CCB);
; 0396
; 0397 $MCB_MCB_TO_RSX (NMXDB [NMX_BASE]);
; 0398 end;
; 0399 [IOP_RLB] :
; 0400 EVPRLB (.UCB, .IOP);
; 0401 [IOP_CON] :
; 0402 DLXCON (.UCB, .IOP);
; 0403 [IOP_DSC] :
; 0404 DLXDSC (.UCB, .IOP);
; 0405 [IOP_RCV] :
; 0406 DLXRCV (.UCB, .IOP);
; 0407 [IOP_XMT] :
; 0408 DLXXMT (.UCB, .IOP);
; 0409 [otherwise] :
; 0410 $RSX_FINISH_IOP (.UCB, .IOP, $NM$ERR_UFO, 0);
; 0411 tes;
; 0412
; 0413 end; !End of QIODSP
.TITLE NMX
.IDENT /X01270/
000000 .PSECT ......, D
000000 054640 HEADER: .RAD50 /NMX/
000002 000403 .WORD 403
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 10
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
000004 000000 .WORD 0
000006 000000 .WORD 0
000010 000000 .WORD 0
000012 000010' .WORD P.AAB
000014 000000G .WORD .DSPCR
000016 000000G .WORD .DSPCR
000020 000000G .WORD MCB$V0
000022 000000G .WORD MCB$V1
000024 140310 .WORD 140310
000026 143716 .WORD 143716
000030 001400 .WORD 1400
000032 000000' .WORD $NMTBL
000034 000000 .WORD 0
000036 000000 .WORD 0
000000 .PSECT $PLIT$, RO , D
000000 000000' P.AAA: .WORD QIODSP
000002 000000V .WORD QIONOP
000004 000000V .WORD QIONOP
000006 000000V .WORD QIONOP
000010 000000G P.AAB: .WORD DLXAST
000012 000000G .WORD $DSPCR
000014 000000G .WORD $DSPCR
000016 000000G .WORD $DSPCR
000020 000000G .WORD DLXCTL
000022 000000V .WORD DSPTIM
000024 000000G .WORD DLXXCP
000026 000000G .WORD DLXRCP
000030 000000G .WORD $DSPCR
000032 000000V .WORD DSPCCP
.GLOBL $HEADR, $TTNS, BADREQ, CKTCCP
.GLOBL CKTREQ, DLXAST, DLXCCP, DLXCON
.GLOBL DLXCTL, DLXDSC, DLXRCP, DLXRCV
.GLOBL DLXXCP, DLXXMT, EVPRLB, EVPWAT
.GLOBL LINCCP, LINREQ, MODCCP, MODREQ
.GLOBL NODCCP, NODREQ, $DSPCR, .DSPCR
.GLOBL MCB$V0, MCB$V1, .CRDAT, $ACHKB
.GLOBL $IOFIN, $RELOC, $MCB, NX.ITC, $RSX
000000' $NMTBL== P.AAA
.SBTTL QIODSP
000000 .PSECT $CODE$, RO
000000 010146 QIODSP: MOV R1,-(SP) ; 0267
000002 010546 MOV R5,-(SP)
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 11
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
000004 010100 MOV R1,R0 ; 0323
000006 016160 000036 000040 MOV 36(R1),40(R0)
000014 016160 000034 000036 MOV 34(R1),36(R0) ; 0324
000022 012700 000032 MOV #32,R0 ; 0325
000026 060100 ADD R1,R0
000030 010046 MOV R0,-(SP)
000032 010100 MOV R1,R0
000034 017660 000000 000034 MOV @0(SP),34(R0)
000042 016076 000030 000000 MOV 30(R0),@0(SP) ; 0326
000050 012700 000026 MOV #26,R0 ; 0327
000054 066600 000004 ADD 4(SP),R0
000060 010046 MOV R0,-(SP)
000062 016600 000006 MOV 6(SP),R0
000066 017660 000000 000030 MOV @0(SP),30(R0)
000074 012700 000024 MOV #24,R0 ; 0333
000100 066600 000006 ADD 6(SP),R0
000104 010046 MOV R0,-(SP)
000106 005776 000002 TST @2(SP) ; 0329
000112 001006 BNE 1$
000114 012776 160001 000002 MOV #-17777,@2(SP) ; 0332
000122 005076 000000 CLR @0(SP) ; 0333
000126 000425 BR 3$ ; 0329
000130 017600 000000 1$: MOV @0(SP),R0 ; 0338
000134 017601 000002 MOV @2(SP),R1
000140 004767 000000G JSR PC,$ACHKB
000144 103006 BHIS 2$
000146 016605 000006 MOV 6(SP),R5 ; 0341
000152 012700 177773 MOV #-5,R0
000156 000167 000406 JMP 18$
000162 017600 000000 2$: MOV @0(SP),R0 ; 0345
000166 004767 000000G JSR PC,$RELOC
000172 010176 000000 MOV R1,@0(SP) ; $RSX$R1,*
000176 010276 000002 MOV R2,@2(SP) ; $RSX$R2,*
000202 016600 000010 3$: MOV 10(SP),R0 ; 0354
000206 016001 000012 MOV 12(R0),R1
000212 072127 177770 ASH #-10,R1
000216 010102 MOV R1,R2
000220 020227 000035 CMP R2,#35
000224 001050 BNE 10$
000226 017600 000004 MOV @4(SP),R0 ; 0364
000232 072027 177770 ASH #-10,R0
000236 042700 177760 BIC #177760,R0
000242 005300 DEC R0
000244 020027 000004 CMP R0,#4
000250 101003 BHI 4$
000252 006300 ASL R0
000254 066007 000034' ADD P.AAC(R0),PC ; Case dispatch
000260 012703 000000G 4$: MOV #BADREQ,R3
000264 000413 BR 9$
000266 012703 000000G 5$: MOV #MODREQ,R3
000272 000410 BR 9$
000274 012703 000000G 6$: MOV #NODREQ,R3
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 12
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
000300 000405 BR 9$
000302 012703 000000G 7$: MOV #CKTREQ,R3
000306 000402 BR 9$
000310 012703 000000G 8$: MOV #LINREQ,R3
000314 016605 000006 9$: MOV 6(SP),R5 ; 0373
000320 004767 000000G JSR PC,$MCB
000324 016601 000010 MOV 10(SP),R1 ; 0375
000330 004767 000000G JSR PC,NX.ITC
000334 005700 TST R0 ; CCB
000336 001423 BEQ 11$
000340 010004 MOV R0,R4 ; CCB,* 0377
000342 004713 JSR PC,(R3)
000344 000420 BR 11$ ; 0379
000346 020227 000027 10$: CMP R2,#27 ; 0354
000352 001020 BNE 12$
000354 016605 000006 MOV 6(SP),R5 ; 0391
000360 004767 000000G JSR PC,$MCB
000364 016601 000010 MOV 10(SP),R1 ; 0393
000370 004767 000000G JSR PC,NX.ITC
000374 005700 TST R0 ; CCB
000376 001403 BEQ 11$
000400 010004 MOV R0,R4 ; CCB,* 0395
000402 004767 000000G JSR PC,EVPWAT
000406 004767 000000G 11$: JSR PC,$RSX ; 0397
000412 000473 BR 19$ ; 0354
000414 020227 000002 12$: CMP R2,#2
000420 001007 BNE 13$
000422 016605 000006 MOV 6(SP),R5 ; 0400
000426 016601 000010 MOV 10(SP),R1
000432 004767 000000G JSR PC,EVPRLB
000436 000461 BR 19$ ; 0354
000440 020227 000033 13$: CMP R2,#33
000444 001007 BNE 14$
000446 016605 000006 MOV 6(SP),R5 ; 0402
000452 016601 000010 MOV 10(SP),R1
000456 004767 000000G JSR PC,DLXCON
000462 000447 BR 19$ ; 0354
000464 020227 000034 14$: CMP R2,#34
000470 001007 BNE 15$
000472 016605 000006 MOV 6(SP),R5 ; 0404
000476 016601 000010 MOV 10(SP),R1
000502 004767 000000G JSR PC,DLXDSC
000506 000435 BR 19$ ; 0354
000510 020227 000032 15$: CMP R2,#32
000514 001007 BNE 16$
000516 016605 000006 MOV 6(SP),R5 ; 0406
000522 016601 000010 MOV 10(SP),R1
000526 004767 000000G JSR PC,DLXRCV
000532 000423 BR 19$ ; 0354
000534 020227 000031 16$: CMP R2,#31
000540 001007 BNE 17$
000542 016605 000006 MOV 6(SP),R5 ; 0408
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 13
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (2)
000546 016601 000010 MOV 10(SP),R1
000552 004767 000000G JSR PC,DLXXMT
000556 000411 BR 19$ ; 0354
000560 016605 000006 17$: MOV 6(SP),R5 ; 0410
000564 012700 177777 MOV #-1,R0
000570 005001 18$: CLR R1
000572 016603 000010 MOV 10(SP),R3
000576 004767 000000G JSR PC,$IOFIN
000602 062706 000012 19$: ADD #12,SP ; 0267
000606 000207 RTS PC
; Routine Size: 196 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 6 words
000034 .PSECT $PLIT$, RO , D
P.AAC: ; CASE Table for QIODSP+0254 0364
000034 000014 .WORD 14 ; [6$]
000036 000030 .WORD 30 ; [8$]
000040 000000 .WORD 0 ; [4$]
000042 000022 .WORD 22 ; [7$]
000044 000006 .WORD 6 ; [5$]
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 14
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (3)
; 0414 routine QIONOP (UCB) : RSX_UCB novalue = !Non-Operation Driver Dispatch
; 0415
; 0416 !++
; 0417 ! FUNCTIONAL DESCRIPTION:
; 0418 !
; 0419 ! This routine just returns to the caller.
; 0420 !
; 0421 ! FORMAL PARAMETERS:
; 0422 ! UCB - Unit Control Block (unused)
; 0423 !
; 0424 ! IMPLICIT INPUTS:
; 0425 ! None
; 0426 !
; 0427 ! IMPLICIT OUTPUTS:
; 0428 ! None
; 0429 !
; 0430 ! COMPLETION CODES:
; 0431 ! None
; 0432 !
; 0433 ! SIDE EFFECTS:
; 0434 ! None
; 0435 !--
; 0436
; 0437 begin
; 0438 return
; 0439 end; !End of QIONOP
.SBTTL QIONOP
000610 .PSECT $CODE$, RO
000000 000207 QIONOP: RTS PC ; 0414
; Routine Size: 1 word, Routine Base: $CODE$ + 0610
; Maximum stack depth per invocation: 0 words
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 15
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (4)
; 0440 routine DLXNM (NMXDB, CCB) : MCB_DB_CCB novalue =
; 0441
; 0442 !++
; 0443 ! FUNCTIONAL DESCRIPTION:
; 0444 !
; 0445 ! This routine dispatches completed NM requests to the lower layers
; 0446 !
; 0447 ! FORMAL PARAMETERS:
; 0448 !
; 0449 ! NMXDB - NMX's Data Base
; 0450 !
; 0451 ! IMPLICIT INPUTS:
; 0452 !
; 0453 ! None
; 0454 !
; 0455 ! IMPLICIT OUTPUTS:
; 0456 !
; 0457 ! None
; 0458 !
; 0459 ! COMPLETION CODES:
; 0460 ! None
; 0461 !
; 0462 ! SIDE EFFECTS:
; 0463 ! The data base items associated with system specific functions
; 0464 ! are initialized.
; 0465 !--
; 0466
; 0467 begin
; 0468
; 0469 map
; 0470 CCB : ref NMX_CCB_BLOCK,
; 0471 NMXDB : ref NMXDB_BLOCK;
; 0472
; 0473 MCB_DB_CCB ((case .CCB [C_NM_ENTITY] from NMX$ENT_lo to NMX$ENT_hi of
; 0474 set
; 0475 [NMX$ENT_mod] : MODCCP;
; 0476 [NMX$ENT_nod] : NODCCP;
; 0477 [NMX$ENT_ckt] : CKTCCP;
; 0478 [NMX$ENT_lin] : LINCCP;
; 0479 [inrange, outrange] : BADCCB;
; 0480 tes), NMXDB [NMX_BASE], .CCB);
; 0481 end; ! End of TIMPIN
.SBTTL DLXNM
000000 016400 000024 DLXNM: MOV 24(R4),R0 ; *(CCB),* 0473
000004 072027 177770 ASH #-10,R0
000010 042700 177760 BIC #177760,R0
000014 005300 DEC R0
000016 020027 000004 CMP R0,#4
000022 101003 BHI 1$
000024 006300 ASL R0
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 16
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (4)
000026 066007 000046' ADD P.AAD(R0),PC ; Case dispatch
000032 012700 000000V 1$: MOV #BADCCB,R0
000036 000413 BR 6$
000040 012700 000000G 2$: MOV #MODCCP,R0
000044 000410 BR 6$
000046 012700 000000G 3$: MOV #NODCCP,R0
000052 000405 BR 6$
000054 012700 000000G 4$: MOV #CKTCCP,R0
000060 000402 BR 6$
000062 012700 000000G 5$: MOV #LINCCP,R0
000066 004710 6$: JSR PC,(R0)
000070 000207 RTS PC ; 0440
; Routine Size: 29 words, Routine Base: $CODE$ + 0612
; Maximum stack depth per invocation: 1 word
000046 .PSECT $PLIT$, RO , D
P.AAD: ; CASE Table for DLXNM+0026 0473
000046 000014 .WORD 14 ; [3$]
000050 000030 .WORD 30 ; [5$]
000052 000000 .WORD 0 ; [1$]
000054 000022 .WORD 22 ; [4$]
000056 000006 .WORD 6 ; [2$]
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 17
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (5)
; 0482 routine DSPTIM (NMXDB, FCM) : MCB_DB_MOD novalue =
; 0483
; 0484 !++
; 0485 ! FUNCTIONAL DESCRIPTION:
; 0486 !
; 0487 ! DSPTIM handles NMX process initialization.
; 0488 !
; 0489 ! FORMAL PARAMETERS:
; 0490 !
; 0491 ! NMXDB - NMX's Data Base
; 0492 ! FCM - FC_MOD of FC_TIM
; 0493 !
; 0494 ! IMPLICIT INPUTS:
; 0495 !
; 0496 ! None
; 0497 !
; 0498 ! IMPLICIT OUTPUTS:
; 0499 !
; 0500 ! None
; 0501 !
; 0502 ! COMPLETION CODES:
; 0503 ! None
; 0504 !
; 0505 ! SIDE EFFECTS:
; 0506 ! The data base items associated with system specific functions
; 0507 ! are initialized.
; 0508 !--
; 0509
; 0510 begin
; 0511
; 0512 map
; 0513 NMXDB : ref NMXDB_BLOCK;
; 0514
; P 0515 DISPATCH$ (
; P 0516 .FCM,
; P 0517 TABLE$ ($DSPCR, FD_TIM, ! Timer dispatch table:
; P 0518 (FM_PIN, TIMPIN), ! Process initialization
; P 0519 (FM_LTM, TIMLTM)), ! Long timer
; P 0520 (NMXDB [NMX_BASE]),
; 0521 MCB_DB);
; 0522 end; ! End of DSPTIM
000060 000000G P.AAE: .WORD $DSPCR
000062 000000V .WORD TIMLTM
000064 000000G .WORD $DSPCR
000066 000000V .WORD TIMPIN
000070 000000G .WORD $DSPCR
000072 000000G .WORD $DSPCR
.SBTTL DSPTIM
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 18
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (5)
000704 .PSECT $CODE$, RO
000000 004773 000060' DSPTIM: JSR PC,@P.AAE(R3) ; *,*(FCM) 0521
000004 000207 RTS PC ; 0482
; Routine Size: 3 words, Routine Base: $CODE$ + 0704
; Maximum stack depth per invocation: 1 word
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 19
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (6)
; 0523 routine DSPCCP (NMXDB, CCB, FCM) : MCB_DB_CCB_MOD novalue = !Dispatch on Control Complete
; 0524
; 0525 !++
; 0526 ! FUNCTIONAL DESCRIPTION:
; 0527 !
; 0528 ! Dispatch to appropriate service routine for Control Complete CCB.
; 0529 !
; 0530 ! FORMAL PARAMETERS:
; 0531 !
; 0532 ! NMXDB - the NMX process data base
; 0533 ! CCB - the CCP Communication Control Block
; 0534 ! FCM - the Function Modified in the CCB
; 0535 !
; 0536 !
; 0537 ! IMPLICIT INPUTS:
; 0538 !
; 0539 ! Misc Items from NMXDB
; 0540 !
; 0541 ! IMPLICIT OUTPUTS:
; 0542 !
; 0543 ! None
; 0544 !
; 0545 ! ROUTINE VALUE:
; 0546 !
; 0547 ! None
; 0548 !
; 0549 ! SIDE EFFECTS:
; 0550 !
; 0551 ! None
; 0552 !--
; 0553
; 0554 begin
; 0555
; 0556 map
; 0557 NMXDB : ref NMXDB_BLOCK,
; 0558 CCB : ref NMX_CCB_BLOCK;
; 0559
; P 0560 DISPATCH$ (.FCM,
; P 0561 TABLE$ (DLXCCP, FD_CTL, ! Control complete dispatch table:
; P 0562 (FM_NM, DLXNM)), ! NM request complete
; P 0563 (NMXDB [NMX_BASE], .CCB),
; 0564 MCB_DB_CCB);
; 0565 end;
000074 .PSECT $PLIT$, RO , D
000074 000000G P.AAF: .WORD DLXCCP
000076 000000G .WORD DLXCCP
000100 000000G .WORD DLXCCP
000102 000612' .WORD DLXNM
000104 000000G .WORD DLXCCP
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 20
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (6)
000106 000000G .WORD DLXCCP
000110 000000G .WORD DLXCCP
.SBTTL DSPCCP
000712 .PSECT $CODE$, RO
000000 004773 000074' DSPCCP: JSR PC,@P.AAF(R3) ; *,*(FCM) 0564
000004 000207 RTS PC ; 0523
; Routine Size: 3 words, Routine Base: $CODE$ + 0712
; Maximum stack depth per invocation: 1 word
; 0566
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 21
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (7)
; 0567 global routine BADCCB (NMXDB, CCB, FCM) : MCB_DB_CCB_MOD novalue = ! Crash on bad CCB
; 0568
; 0569 !++
; 0570 ! FUNCTIONAL DESCRIPTION:
; 0571 !
; 0572 ! Signal Stop for Bad CCB parameter area
; 0573 !
; 0574 ! FORMAL PARAMETERS:
; 0575 !
; 0576 ! NMXDB - NMX data base
; 0577 ! CCB - the offending CCB
; 0578 ! FCM - the Function Modifier
; 0579 !
; 0580 ! IMPLICIT INPUTS:
; 0581 !
; 0582 ! None
; 0583 !
; 0584 ! IMPLICIT OUTPUTS:
; 0585 !
; 0586 ! None
; 0587 !
; 0588 ! COMPLETION CODES:
; 0589 !
; 0590 ! None
; 0591 !
; 0592 ! SIDE EFFECTS:
; 0593 !
; 0594 ! Crashes the system
; 0595 !--
; 0596
; 0597 begin
; 0598
; 0599 map
; 0600 NMXDB : ref NMXDB_BLOCK,
; 0601 CCB : ref block field (C_FIELDS);
; 0602
; 0603 !
; 0604 SIGNAL_STOP (NMX$_ICP);
; 0605 end;
.SBTTL BADCCB
000000 012746 100034 BADCCB::MOV #-77744,-(SP) ; 0604
000004 012746 000001 MOV #1,-(SP)
000010 004767 000000G JSR PC,$STOP
000014 022626 CMP (SP)+,(SP)+ ; 0597
000016 000207 RTS PC ; 0567
; Routine Size: 8 words, Routine Base: $CODE$ + 0720
; Maximum stack depth per invocation: 3 words
; 0606
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 22
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (8)
; 0607 routine TIMLTM (NMXDB) : MCB_DB novalue =
; 0608
; 0609 !++
; 0610 ! FUNCTIONAL DESCRIPTION:
; 0611 !
; 0612 ! TIMLTM handles the long timer dispatches
; 0613 !
; 0614 ! FORMAL PARAMETERS:
; 0615 !
; 0616 ! NMXDB - NMX's Data Base
; 0617 !
; 0618 ! IMPLICIT INPUTS:
; 0619 !
; 0620 ! None
; 0621 !
; 0622 ! IMPLICIT OUTPUTS:
; 0623 !
; 0624 ! None
; 0625 !
; 0626 ! COMPLETION CODES:
; 0627 ! None
; 0628 !
; 0629 ! SIDE EFFECTS:
; 0630 ! The data base items associated with system specific functions
; 0631 ! are initialized.
; 0632 !--
; 0633
; 0634 begin
; 0635
; 0636 map
; 0637 NMXDB : ref NMXDB_BLOCK;
; 0638
; 0639 local
; 0640 LUNBLK : ref DLX_LUN_BLOCK;
; 0641
; 0642 NMXDB [NMX_TIMER_COUNT] = .NMXDB [NMX_TIMER_COUNT] + 1;
; 0643 LUNBLK = NMXDB [NMX_LUN_QUEUE];
; 0644
; 0645 while (LUNBLK = .LUNBLK [LUN_LINK]) neq 0 do
; 0646 begin
; 0647
; 0648 local
; 0649 IOP : ref NMX_IOP_BLOCK;
; 0650
; 0651 bind
; 0652 RCVQ = LUNBLK [LUN_RCVS] : vector;
; 0653
; 0654 if (IOP = .RCVQ [0]) neq 0
; 0655 then
; 0656
; 0657 selectone true of
; 0658 set
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 23
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (8)
; 0659 [.IOP [I_NMX_ENTITY] eql 0] :
; 0660 begin ! Timeout has Occurred
; 0661 $NMX_DEQUEUE (RCVQ, IOP);
; 0662 $NMX_RETURN_RSX_IOP (.IOP, IE$TMO, 0);
; 0663 end;
; 0664 [.IOP [I_NMX_ENTITY] gtr 0] :
; 0665 IOP [I_NMX_ENTITY] = .IOP [I_NMX_ENTITY] - 1;
; 0666 [otherwise] :
; 0667 ;
; 0668 tes;
; 0669
; 0670 end;
; 0671
; 0672 end; ! End of TIMLTM
.GLOBL $QRMVF
.SBTTL TIMLTM
000000 105215 TIMLTM: INCB (R5) ; NMXDB 0642
000002 012746 000054 MOV #54,-(SP) ; *,LUNBLK 0643
000006 060516 ADD R5,(SP) ; NMXDB,LUNBLK
000010 017616 000000 1$: MOV @0(SP),(SP) ; LUNBLK,LUNBLK 0645
000014 001435 BEQ 3$
000016 011600 MOV (SP),R0 ; LUNBLK,* 0654
000020 016004 000010 MOV 10(R0),R4 ; *(LUNBLK),IOP
000024 001771 BEQ 1$
000026 005764 000034 TST 34(R4) ; *(IOP) 0659
000032 001022 BNE 2$
000034 012701 000010 MOV #10,R1 ; 0661
000040 060001 ADD R0,R1 ; LUNBLK,*
000042 010100 MOV R1,R0
000044 004767 000000G JSR PC,$QRMVF
000050 010104 MOV R1,R4
000052 004767 000000G JSR PC,$RSX ; 0662
000056 012700 177666 MOV #-112,R0
000062 005001 CLR R1
000064 010403 MOV R4,R3 ; IOP,*
000066 004767 000000G JSR PC,$IOFIN
000072 004767 000000G JSR PC,$MCB
000076 000744 BR 1$ ; 0657
000100 003743 2$: BLE 1$ ; 0664
000102 005364 000034 DEC 34(R4) ; *(IOP) 0665
000106 000740 BR 1$ ; 0657
000110 005726 3$: TST (SP)+ ; 0607
000112 000207 RTS PC
; Routine Size: 38 words, Routine Base: $CODE$ + 0740
; Maximum stack depth per invocation: 2 words
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 24
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (9)
; 0673 routine TIMPIN (NMXDB) : MCB_DB novalue =
; 0674
; 0675 !++
; 0676 ! FUNCTIONAL DESCRIPTION:
; 0677 !
; 0678 ! TIMPIN handles process initialization
; 0679 !
; 0680 ! FORMAL PARAMETERS:
; 0681 !
; 0682 ! NMXDB - NMX's Data Base
; 0683 !
; 0684 ! IMPLICIT INPUTS:
; 0685 !
; 0686 ! None
; 0687 !
; 0688 ! IMPLICIT OUTPUTS:
; 0689 !
; 0690 ! None
; 0691 !
; 0692 ! COMPLETION CODES:
; 0693 ! None
; 0694 !
; 0695 ! SIDE EFFECTS:
; 0696 ! The data base items associated with system specific functions
; 0697 ! are initialized.
; 0698 !--
; 0699
; 0700 begin
; 0701
; 0702 map
; 0703 NMXDB : ref NMXDB_BLOCK;
; 0704
; 0705 local
; 0706 ENABLE_VECTOR : VECTOR [3];
; 0707
; 0708 external routine
; 0709 $NMEVT : novalue;
; 0710
; 0711 bind
; 0712 NMX = rad50'NMX',
; 0713 SC = rad50'SC ',
; 0714 NSP = rad50'NSP',
; 0715 XPT = rad50'XPT';
; 0716
; 0717 NMXDB [NMX_NMX_PIX] = GET_PIX (NMX);
; 0718 NMXDB [NMX_SC_PIX] = GET_PIX (SC);
; 0719 NMXDB [NMX_NSP_PIX] = GET_PIX (NSP);
; 0720 NMXDB [NMX_XPT_PIX] = GET_PIX (XPT);
; 0721 !
; 0722 ! Get the EXE ADR and NAM from high core
; 0723 !
; 0724 begin
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 25
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (9)
; 0725
; 0726 external
; 0727 $SYSIZ : block [3];
; 0728
; 0729 if .$SYSIZ [2, 0, 16, 1] eql -1 and .$SYSIZ [1, 8, 8, 1] eql -1
; 0730 then
; 0731 begin
; 0732
; 0733 bind
; 0734 PASSED_NUMBER = %o'140000',
; 0735 PASSED_NAME = %o'140002';
; 0736
; 0737 MAP$ (.$SYSIZ [0, 0, 16, 0] - 1);
; 0738
; 0739 if .PASSED_NUMBER neq 0
; 0740 then
; 0741 NMXDB [NMX_EXECUTOR_NUMBER] = .PASSED_NUMBER;
; 0742
; 0743 if ch$rchar (ch$ptr (PASSED_NAME,, 8)) neq %c' '
; 0744 then
; 0745 begin
; 0746
; 0747 local
; 0748 LEN;
; 0749
; 0750 LEN = ch$find_ch (6, ch$ptr (PASSED_NAME,, 8), %c' ');
; 0751
; 0752 if ch$fail (.LEN)
; 0753 then
; 0754 LEN = 6
; 0755 else
; 0756 LEN = ch$diff (.LEN, ch$ptr (PASSED_NAME,, 8));
; 0757
; 0758 NMXDB [NMX_EXECUTOR_NAME_LENGTH] = .LEN;
; 0759 ch$move (.LEN, ch$ptr (PASSED_NAME,, 8),ch$ptr (NMXDB [NMX_EXECUTOR_NAME], 1, 8));
; 0760 end;
; 0761
; 0762 end;
; 0763
; 0764 end;
; 0765 !
; 0766 ! Setup the Exception Handler for Event Logging
; 0767 !
; 0768 ENABLE_VECTOR [0] = $NMEVT;
; 0769 ENABLE_VECTOR [1] = .NMXDB [NMX_NMX_PIX];
; 0770 ENABLE_VECTOR [2] = NMXDB [NMX_BASE];
; 0771 $MCB_EXCEPTION (1, ENABLE_VECTOR, );
; 0772 $MCB_ENABLE_LONG_TIMER ();
; 0773 NMXDB [NMX_TIMER_COUNT] = 1;
; 0774 begin
; 0775
; 0776 bind
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 26
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (9)
; 0777 EVTDB = NMXDB[NMX_EVENT_QUEUE] : NMX_EVENT_BLOCK;
; 0778
; 0779 local
; 0780 CCB : ref block field (C_FIELDS);
; 0781
; 0782 if $MCB_GET_CCB (CCB)
; 0783 then
; 0784 begin
; 0785 CCB [C_BIAS] = 0;
; 0786 CCB [C_ADDR] = .NMXDB [NMX_NMLINI_ADDR];
; 0787 CCB [C_CNT] = .NMXDB [NMX_NMLINI_CNT];
; 0788 CCB [C_PRM1] = 0;
; 0789 CCB [C_PRM5] = 0;
; 0790 $MCB_QUEUE_CCB (EVTDB [EVENT_QUEUE], .CCB);
; 0791 end;
; 0792
; 0793 end;
; 0794 begin
; 0795
; 0796 bind
; 0797 NMLMCB = uplit (%rad50_11 'NMLMCB');
; 0798
; 0799 local
; 0800 TCB;
; 0801
; 0802 if $RSX_GET_TCB (NMLMCB, TCB)
; 0803 then
; 0804 $RSX_REQUEST_TASK (.TCB);
; 0805
; 0806 end;
; 0807 end; ! End of TIMPIN
000112 .PSECT $PLIT$, RO , D
000112 054624 050672 P.AAG: .RAD50 /NMLMCB/
.GLOBL $NMEVT, $SYSIZ, KISAR6, E.XVST
.GLOBL $CALLI, $LTMEN, $CCBGT, $CMQIN
.GLOBL $SRSTD, $TSKHD, $EXRQN
054640 NMX= 54640
073470 SC= 73470
055210 NSP= 55210
114224 XPT= 114224
140000 PASSED.NUMBER= -40000
140002 PASSED.NAME= -37776
000112' NMLMCB= P.AAG
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 27
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (9)
.SBTTL TIMPIN
001054 .PSECT $CODE$, RO
000000 162706 000006 TIMPIN: SUB #6,SP ; 0673
000004 012700 054640 MOV #54640,R0 ; 0717
000010 004767 000000V JSR PC,GET.PIX
000014 110065 000003 MOVB R0,3(R5) ; *,*(NMXDB)
000020 012700 073470 MOV #73470,R0 ; 0718
000024 004767 000000V JSR PC,GET.PIX
000030 110065 000005 MOVB R0,5(R5) ; *,*(NMXDB)
000034 012700 055210 MOV #55210,R0 ; 0719
000040 004767 000000V JSR PC,GET.PIX
000044 110065 000007 MOVB R0,7(R5) ; *,*(NMXDB)
000050 012700 114224 MOV #-63554,R0 ; 0720
000054 004767 000000V JSR PC,GET.PIX
000060 110065 000011 MOVB R0,11(R5) ; *,*(NMXDB)
000064 026727 000004G 177777 CMP $SYSIZ+4,#-1 ; 0729
000072 001055 BNE 4$
000074 126727 000003G 177777 CMPB $SYSIZ+3,#-1
000102 001051 BNE 4$
000104 016700 000000G MOV $SYSIZ,R0 ; 0737
000110 005300 DEC R0
000112 010067 000000G MOV R0,KISAR6
000116 013700 140000 MOV @#140000,R0 ; 0739
000122 001402 BEQ 1$
000124 010065 000042 MOV R0,42(R5) ; *,*(NMXDB) 0741
000130 123727 140002 000040 1$: CMPB @#140002,#40 ; 0743
000136 001433 BEQ 4$
000140 012746 000006 MOV #6,-(SP) ; 0750
000144 012746 140002 MOV #-37776,-(SP)
000150 012746 000040 MOV #40,-(SP)
000154 004767 000000G JSR PC,BL$FCH
000160 005700 TST R0 ; LEN 0752
000162 001003 BNE 2$
000164 012700 000006 MOV #6,R0 ; *,LEN 0754
000170 000402 BR 3$ ; 0752
000172 062700 037776 2$: ADD #37776,R0 ; *,LEN 0756
000176 110065 000044 3$: MOVB R0,44(R5) ; LEN,*(NMXDB) 0758
000202 010016 MOV R0,(SP) ; LEN,* 0759
000204 012746 140002 MOV #-37776,-(SP)
000210 012746 000045 MOV #45,-(SP)
000214 060516 ADD R5,(SP) ; NMXDB,*
000216 004767 000000G JSR PC,BL$MOV
000222 062706 000012 ADD #12,SP ; 0745
000226 012716 000000G 4$: MOV #$NMEVT,(SP) ; *,ENABLE.VECTOR 0768
000232 116566 000003 000002 MOVB 3(R5),2(SP) ; *(NMXDB),ENABLE.VECTOR+2 0769
000240 105066 000003 CLRB 3(SP) ; ENABLE.VECTOR+2
000244 010566 000004 MOV R5,4(SP) ; NMXDB,ENABLE.VECTOR+4 0770
000250 005046 CLR -(SP) ; 0771
000252 012746 000004 MOV #4,-(SP)
000256 060616 ADD SP,(SP) ; ENABLE.VECTOR,*
000260 012746 000001 MOV #1,-(SP)
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 28
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (9)
000264 012746 000003 MOV #3,-(SP)
000270 012746 000000G MOV #E.XVST,-(SP)
000274 004767 000000G JSR PC,$CALLI
000300 004767 000000G JSR PC,$LTMEN ; 0772
000304 112715 000001 MOVB #1,(R5) ; *,NMXDB 0773
000310 004767 000000G JSR PC,$CCBGT ; 0782
000314 103421 BCS 5$
000316 005064 000016 CLR 16(R4) ; *(CCB) 0785
000322 016564 000142 000020 MOV 142(R5),20(R4) ; *(NMXDB),*(CCB) 0786
000330 016564 000144 000022 MOV 144(R5),22(R4) ; *(NMXDB),*(CCB) 0787
000336 005064 000024 CLR 24(R4) ; *(CCB) 0788
000342 005064 000034 CLR 34(R4) ; *(CCB) 0789
000346 012703 000120 MOV #120,R3 ; 0790
000352 060503 ADD R5,R3 ; NMXDB,*
000354 004767 000000G JSR PC,$CMQIN
000360 016700 000000G 5$: MOV $TSKHD,R0 ; 0802
000364 005760 000030 TST 30(R0)
000370 001410 BEQ 6$
000372 012703 000112' MOV #NMLMCB,R3
000376 004767 000000G JSR PC,$SRSTD
000402 103403 BLO 6$
000404 004767 000000G JSR PC,$EXRQN ; 0804
000410 006000 ROR R0
000412 062706 000020 6$: ADD #20,SP ; 0673
000416 000207 RTS PC
; Routine Size: 136 words, Routine Base: $CODE$ + 1054
; Maximum stack depth per invocation: 9 words
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 29
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (10)
; 0808 routine GET_PIX (NAME) : NMX_LKG_NAM =
; 0809
; 0810 !++
; 0811 ! FUNCTIONAL DESCRIPTION:
; 0812 !
; 0813 ! GET_PIX gets the process index for the given process name.
; 0814 !
; 0815 ! FORMAL PARAMETERS:
; 0816 !
; 0817 ! NAME - Rad50 process name
; 0818 !
; 0819 ! IMPLICIT INPUTS:
; 0820 !
; 0821 ! None
; 0822 !
; 0823 ! IMPLICIT OUTPUTS:
; 0824 !
; 0825 ! None
; 0826 !
; 0827 ! ROUTINE VALUE:
; 0828 !
; 0829 ! 0 if no such process,
; 0830 ! process index otherwise.
; 0831 !
; 0832 ! SIDE EFFECTS:
; 0833 !
; 0834 ! None
; 0835 !--
; 0836
; 0837 begin
; 0838
; 0839 local
; 0840 PIX;
; 0841
; 0842 PIX = 0;
; 0843 $MCB_GET_PROCESS_HANDLE (.NAME, PIX);
; 0844 .PIX
; 0845 end; !of GET_PIX
.GLOBL P.DTGT
.SBTTL GET.PIX
000000 010146 GET.PIX:MOV R1,-(SP) ; 0808
000002 005746 TST -(SP)
000004 005001 CLR R1 ; PIX 0842
000006 012746 000002 MOV #2,-(SP) ; 0843
000012 060616 ADD SP,(SP) ; $MCB$MY.INDEX,*
000014 010046 MOV R0,-(SP) ; NAME,*
000016 012746 000002 MOV #2,-(SP)
000022 012746 000000G MOV #P.DTGT,-(SP)
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 30
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (10)
000026 004767 000000G JSR PC,$CALLI
000032 062706 000010 ADD #10,SP
000036 032700 000001 BIT #1,R0 ; *,$MCB$STATUS
000042 001401 BEQ 1$
000044 011601 MOV (SP),R1 ; $MCB$MY.INDEX,PIX
000046 010100 1$: MOV R1,R0 ; PIX,* 0808
000050 005726 TST (SP)+
000052 012601 MOV (SP)+,R1
000054 000207 RTS PC
; Routine Size: 23 words, Routine Base: $CODE$ + 1474
; Maximum stack depth per invocation: 7 words
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 31
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (11)
; 0846 global routine NMX$GET_NMX_CCB (NMXDB, IOP) : NMX$LKG_DB_IOP =
; 0847
; 0848 !++
; 0849 ! FUNCTIONAL DESCRIPTION:
; 0850 !
; 0851 ! Convert from IOP format to CCB format the
; 0852 ! requested function.
; 0853 !
; 0854 ! FORMAL PARAMETERS:
; 0855 !
; 0856 ! NMXDB - address of the NMX process data base
; 0857 ! IOP - the I/O Packet to be converted
; 0858 !
; 0859 ! IMPLICIT INPUTS:
; 0860 !
; 0861 ! None
; 0862 !
; 0863 ! IMPLICIT OUTPUTS:
; 0864 !
; 0865 ! Various CCB fields will be setup
; 0866 !
; 0867 ! ROUTINE VALUE:
; 0868 !
; 0869 ! CCB address - if successful
; 0870 ! 0 - if failure
; 0871 !
; 0872 ! SIDE EFFECTS:
; 0873 !
; 0874 ! None
; 0875 !--
; 0876
; 0877 begin
; 0878
; 0879 map
; 0880 IOP : ref NMX_IOP_BLOCK,
; 0881 NMXDB : ref NMXDB_BLOCK;
; 0882
; 0883 local
; 0884 CCB : ref NMX_CCB_BLOCK,
; 0885 NMPAR : ref NMX_NMPAR_BLOCK;
; 0886
; 0887 !
; 0888 ! Allocate the CCB and NMPAR blocks. If resourse failure then return 0.
; 0889 !
; 0890
; 0891 if not $MCB_GET_CCB (CCB)
; 0892 then
; 0893 begin
; 0894 $NMX_RETURN_RSX_IOP (.IOP, $NM$ERR_REE, 0);
; 0895 return 0 ! CCB Allocation Failure
; 0896 end;
; 0897
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 32
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (11)
; 0898 if not $MCB_GET_DSR (NMX_NMPAR_ALLOCATION, NMPAR)
; 0899 then
; 0900 begin ! NMPAR Allocation Failure
; 0901 $NMX_RETURN_RSX_IOP (.IOP, $NM$ERR_REE, 0);
; 0902 return 0 ! Tell user
; 0903 end;
; 0904
; 0905 begin
; 0906 map NMPAR : ref vector;
; 0907 NMPAR [0] = 0;
; 0908 NMPAR [1] = 0;
; 0909 NMPAR [2] = 0;
; 0910 NMPAR [3] = 0;
; 0911 end;
; 0912
; 0913 !
; 0914 ! We now have a CCB and the NMPAR block allocated; fill them in from the
; 0915 ! IOP.
; 0916 !
; 0917 CCB [C_NM_NMPAR] = .NMPAR; ! Point to NMPAR
; 0918 CCB [C_CNT] = 0;
; 0919
; 0920 if (CCB [C_NMX_IOP] = .IOP) neqa 0
; 0921 then
; 0922 begin
; 0923 CCB [C_BIAS] = .IOP [I_NMX_BIAS]; ! Copy Buffer Descriptor
; 0924 CCB [C_ADDR] = .IOP [I_NMX_ADDR];
; 0925 CCB [C_CNT] = .IOP [I_NMX_CNT];
; 0926 CCB [C_NMX_TYPE] = .IOP [I_NMX_TYPE]; ! and type field
; 0927 !
; 0928 ! Process Qualifier if specified otherwise flag no qualifier
; 0929 !
; 0930 CCB [C_NM_QUAL] = 0;
; 0931
; 0932 if .IOP [I_NMX_QUALIFIER] neq 0
; 0933 then
; 0934 begin
; 0935 CCB [C_NM_QUAL] = 1;
; P 0936 $RSX_CONVERT_TO_BIAS_ADDRESS (
; P 0937 .IOP [I_NMX_QUALIFIER],
; P 0938 NMPAR [NMX_NMPAR_AX0_BIAS],
; 0939 NMPAR [NMX_NMPAR_AX0_ADDR]);
; 0940 end;
; 0941
; 0942 !
; 0943 ! Process Entity and store it in NMPAR is specified.
; 0944 !
; 0945
; 0946 if (.IOP [I_NMX_ENTITY] neq 0)
; 0947 then
; 0948 begin
; 0949
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 33
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (11)
; 0950 local
; 0951 ID_ADDRESS,
; 0952 ID_BIAS;
; 0953
; P 0954 $RSX_CONVERT_TO_BIAS_ADDRESS (
; 0955 .IOP [I_NMX_ENTITY], ID_BIAS, ID_ADDRESS);
; 0956 MAP$ (.ID_BIAS);
; 0957
; 0958 if (.CCB [C_NM_ENTITY] eql NMX$ENT_nod)
; 0959 then
; 0960 begin
; 0961
; 0962 bind
; 0963 NODE_ENTITY = NMPAR [NMX_NMPAR_ENTITY] : block field (NODE_ENTITY_ID);
; 0964
; 0965 NODE_ENTITY [NODE_ADDRESS] = (ch$rchar (.ID_ADDRESS) + (ch$rchar (ch$plus (.ID_ADDRESS, 1)
; 0966 )^8));
; 0967 NODE_ENTITY [NAME_LENGTH] = minu((ch$rchar (ch$plus (.ID_ADDRESS, 2))),6);
; 0968
; 0969 if .NODE_ENTITY [NAME_LENGTH] neq 0
; 0970 then
; 0971 CH$MOVE (.NODE_ENTITY [NAME_LENGTH],
; 0972 ch$plus (.ID_ADDRESS, 3), byt$ptr (NODE_ENTITY [NAME_ITSELF]));
; 0973
; 0974 end
; 0975 else
; 0976 begin
; 0977
; 0978 bind
; 0979 OTHER_ENTITY = NMPAR [NMX_NMPAR_ENTITY] : block field (OTHER_ENTITY_ID);
; 0980
; 0981 OTHER_ENTITY [OTHER_LENGTH] = minu((ch$rchar (.ID_ADDRESS)),16);
; 0982
; 0983 if .OTHER_ENTITY [OTHER_LENGTH] neq 0
; 0984 then
; 0985 CH$MOVE (.OTHER_ENTITY [OTHER_LENGTH],
; 0986 ch$plus (.ID_ADDRESS, 1), byt$ptr (OTHER_ENTITY [OTHER_ITSELF]));
; 0987
; 0988 end;
; 0989
; 0990 end;
; 0991
; 0992 if .CCB [C_NM_FUNC] eql NMX$FNC_ret
; 0993 then
; 0994 NMPAR [NMX_NMPAR_RETURN_CNT] = 0;
; 0995
; 0996 end;
; 0997
; 0998 CCB [C_NMX_CNT] = 0; ! Store initial buffer count
; 0999 CCB [C_NMX_STATE] = ST$INI; ! State is DEFAULT
; 1000 CCB [C_FNC] = FC_CTL; ! Control Function
; 1001 CCB [C_MOD] = FM_NM; ! for Network Management
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 34
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (11)
; 1002 .CCB
; 1003 end; ! of NMX$GET_NMX_CCB
.GLOBL $DSRGT
.SBTTL NX.ITC
000000 004167 000000G NX.ITC::JSR R1,$SAVE5 ; 0846
000004 162706 000006 SUB #6,SP
000010 010166 000002 MOV R1,2(SP)
000014 004767 000000G JSR PC,$CCBGT ; 0891
000020 103411 BCS 1$
000022 010416 MOV R4,(SP) ; $MCB$R4,CCB
000024 012701 000026 MOV #26,R1 ; 0898
000030 004767 000000G JSR PC,$DSRGT
000034 103403 BCS 1$
000036 010066 000004 MOV R0,4(SP) ; $MCB$R0,NMPAR
000042 000416 BR 2$
000044 004767 000000G 1$: JSR PC,$RSX ; 0901
000050 012700 177761 MOV #-17,R0
000054 005001 CLR R1
000056 016603 000002 MOV 2(SP),R3
000062 004767 000000G JSR PC,$IOFIN
000066 004767 000000G JSR PC,$MCB
000072 005000 CLR R0 ; 0900
000074 000167 000446 JMP 10$
000100 005076 000004 2$: CLR @4(SP) ; NMPAR 0907
000104 016600 000004 MOV 4(SP),R0 ; NMPAR,* 0908
000110 005060 000002 CLR 2(R0) ; *(NMPAR)
000114 012700 000004 MOV #4,R0 ; 0909
000120 066600 000004 ADD 4(SP),R0 ; NMPAR,*
000124 010003 MOV R0,R3
000126 005013 CLR (R3)
000130 016600 000004 MOV 4(SP),R0 ; NMPAR,* 0910
000134 005060 000006 CLR 6(R0) ; *(NMPAR)
000140 011600 MOV (SP),R0 ; CCB,* 0917
000142 016660 000004 000026 MOV 4(SP),26(R0) ; NMPAR,*(CCB)
000150 005060 000022 CLR 22(R0) ; *(CCB) 0918
000154 016660 000002 000034 MOV 2(SP),34(R0) ; *,*(CCB) 0920
000162 001555 BEQ 9$
000164 016601 000002 MOV 2(SP),R1 ; 0923
000170 016160 000024 000016 MOV 24(R1),16(R0) ; *,*(CCB)
000176 016160 000026 000020 MOV 26(R1),20(R0) ; *,*(CCB) 0924
000204 016160 000030 000022 MOV 30(R1),22(R0) ; *,*(CCB) 0925
000212 012700 000024 MOV #24,R0 ; 0926
000216 061600 ADD (SP),R0 ; CCB,*
000220 010004 MOV R0,R4
000222 010100 MOV R1,R0
000224 016014 000032 MOV 32(R0),(R4)
000230 142714 000001 BICB #1,(R4) ; 0930
000234 016100 000036 MOV 36(R1),R0 ; 0932
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 35
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (11)
000240 001412 BEQ 3$
000242 152714 000001 BISB #1,(R4) ; 0935
000246 004767 000000G JSR PC,$RELOC ; 0939
000252 010176 000004 MOV R1,@4(SP) ; $RSX$R1,NMPAR
000256 016600 000004 MOV 4(SP),R0 ; NMPAR,*
000262 010260 000002 MOV R2,2(R0) ; $RSX$R2,*(NMPAR)
000266 016601 000002 3$: MOV 2(SP),R1 ; 0946
000272 016100 000034 MOV 34(R1),R0
000276 001500 BEQ 8$
000300 004767 000000G JSR PC,$RELOC ; 0955
000304 010100 MOV R1,R0 ; $RSX$R1,ID.BIAS
000306 010201 MOV R2,R1 ; $RSX$R2,ID.ADDRESS
000310 010067 000000G MOV R0,KISAR6 ; ID.BIAS,* 0956
000314 011400 MOV (R4),R0 ; 0958
000316 042700 170377 BIC #170377,R0
000322 020027 000400 CMP R0,#400
000326 001037 BNE 5$
000330 005000 CLR R0 ; 0965
000332 156100 000001 BISB 1(R1),R0 ; *(ID.ADDRESS),*
000336 072027 000010 ASH #10,R0
000342 005002 CLR R2
000344 151102 BISB (R1),R2 ; ID.ADDRESS,*
000346 060200 ADD R2,R0
000350 010013 MOV R0,(R3)
000352 005000 CLR R0 ; 0967
000354 156100 000002 BISB 2(R1),R0 ; *(ID.ADDRESS),*
000360 020027 000006 CMP R0,#6
000364 101402 BLOS 4$
000366 012700 000006 MOV #6,R0
000372 110063 000002 4$: MOVB R0,2(R3)
000376 005000 CLR R0 ; 0969
000400 156300 000002 BISB 2(R3),R0
000404 005700 TST R0
000406 001434 BEQ 8$
000410 010046 MOV R0,-(SP) ; 0972
000412 012746 000003 MOV #3,-(SP)
000416 060116 ADD R1,(SP) ; ID.ADDRESS,*
000420 012746 000003 MOV #3,-(SP)
000424 000420 BR 7$
000426 005000 5$: CLR R0 ; 0981
000430 151100 BISB (R1),R0 ; ID.ADDRESS,*
000432 020027 000020 CMP R0,#20
000436 101402 BLOS 6$
000440 012700 000020 MOV #20,R0
000444 110013 6$: MOVB R0,(R3)
000446 001414 BEQ 8$ ; 0983
000450 005046 CLR -(SP) ; 0986
000452 110016 MOVB R0,(SP)
000454 012746 000001 MOV #1,-(SP)
000460 060116 ADD R1,(SP) ; ID.ADDRESS,*
000462 012746 000001 MOV #1,-(SP)
000466 060316 7$: ADD R3,(SP)
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 36
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (11)
000470 004767 000000G JSR PC,BL$MOV
000474 062706 000006 ADD #6,SP
000500 111400 8$: MOVB (R4),R0 ; 0992
000502 042700 177401 BIC #177401,R0
000506 020027 000014 CMP R0,#14
000512 001001 BNE 9$
000514 005013 CLR (R3) ; 0994
000516 011600 9$: MOV (SP),R0 ; CCB,* 0998
000520 005060 000030 CLR 30(R0) ; *(CCB)
000524 012760 000001 000032 MOV #1,32(R0) ; *,*(CCB) 0999
000532 112760 000010 000012 MOVB #10,12(R0) ; *,*(CCB) 1000
000540 112760 000006 000013 MOVB #6,13(R0) ; *,*(CCB) 1001
000546 062706 000006 10$: ADD #6,SP ; 0846
000552 000207 RTS PC
; Routine Size: 182 words, Routine Base: $CODE$ + 1552
; Maximum stack depth per invocation: 13 words
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 37
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (12)
; 1004 global routine NMX$MAP_ENTITY_ID_TO_DB (TYPE, ENTID_PTR) : NMX$LKG_TYP_ENT =
; 1005
; 1006 !++
; 1007 ! FUNCTIONAL DESCRIPTION:
; 1008 !
; 1009 ! GET_ENTITY searches for a data base that matches ENTID
; 1010 ! and returns its' address in ENTBLK.
; 1011 !
; 1012 ! FORMAL PARAMETERS:
; 1013 !
; 1014 ! ENTBLK - set to the address of a ENTITY_BLOCK
; 1015 ! ENTID - points at string for ENTITY_ID
; 1016 !
; 1017 ! IMPLICIT INPUTS:
; 1018 !
; 1019 ! None
; 1020 !
; 1021 ! IMPLICIT OUTPUTS:
; 1022 !
; 1023 ! None
; 1024 !
; 1025 ! ROUTINE VALUE:
; 1026 !
; 1027 ! true - if ENTITY found
; 1028 ! false - otherwise
; 1029 !
; 1030 ! SIDE EFFECTS:
; 1031 !
; 1032 ! Mapping register APR6 is modified to map in the ENTITY_BLOCK.
; 1033 !--
; 1034
; 1035 begin
; 1036
; 1037 bind
; 1038 NMXDB = .MCB$GAW_PROCESS_DATA_BASE [1] : NMXDB_BLOCK;
; 1039
; 1040 local
; 1041 ENTADR : ref NMX_GENERAL_BLOCK,
; 1042 ENTCNT,
; 1043 ENTLEN : ref vector;
; 1044
; 1045 case .TYPE from NMX$ENT_lo to NMX$ENT_hi of
; 1046 set
; 1047 [NMX$ENT_lin] :
; 1048 ENTLEN = NMXDB [NMX_LINES];
; 1049 [NMX$ENT_ckt] :
; 1050 ENTLEN = NMXDB [NMX_CIRCUITS];
; 1051 [NMX$ENT_mod] :
; 1052 ENTLEN = NMXDB [NMX_MODULES];
; 1053 [inrange, outrange] :
; 1054 return 0;
; 1055 tes;
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 38
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (12)
; 1056
; 1057 MAP$ (.ENTLEN [0]);
; 1058 ENTLEN = ENTLEN [1]; %(to force auto-increment)%
; 1059 ENTADR = .ENTLEN [0];
; 1060 ENTLEN = ENTLEN [1]; %(to force auto-increment)%
; 1061 if .ENTADR eqla 0 then return 0;
; 1062 ENTCNT = .ENTLEN [0];
; 1063 ENTLEN = ENTLEN [1]; %(to force auto-increment)%
; 1064 if .ENTCNT eql 0 then return 0;
; 1065 ENTLEN = .ENTLEN [0];
; 1066 !
; 1067 ! Search through Entity BLOCKs looking for a matching one.
; 1068 !
; 1069 do
; 1070 begin
; 1071
; 1072 if ch$eql (.ENTADR [GENERAL_NAME_LENGTH] + 1,
; 1073 byt$ptr (ENTADR [GENERAL_NAME]),
; 1074 .ENTADR [GENERAL_NAME_LENGTH] + 1,
; 1075 .ENTID_PTR)
; 1076 then return .ENTADR;
; 1077
; 1078 ENTADR = .ENTADR + .ENTLEN;
; 1079 end
; 1080 while (ENTCNT = .ENTCNT - 1) neq 0;
; 1081
; 1082 return 0
; 1083 end; !of NMX$MAP_ENTITY_ID_TO_DB
.SBTTL NM.ENT
000000 004167 000000G NM.ENT::JSR R1,$SAVE4 ; 1004
000004 016702 000002G MOV .CRDAT+2,R2 ; 1035
000010 005300 DEC R0 ; 1045
000012 020027 000004 CMP R0,#4
000016 101044 BHI 8$
000020 006300 ASL R0
000022 066007 000116' ADD P.AAH(R0),PC ; Case dispatch
000026 000440 1$: BR 8$ ; 1054
000030 062702 000012 2$: ADD #12,R2 ; 1048
000034 000405 BR 5$ ; 1045
000036 062702 000022 3$: ADD #22,R2 ; 1050
000042 000402 BR 5$ ; 1045
000044 062702 000032 4$: ADD #32,R2 ; 1052
000050 012267 000000G 5$: MOV (R2)+,KISAR6 ; ENTLEN,* 1057
000054 012204 MOV (R2)+,R4 ; ENTLEN,ENTADR 1059
000056 001424 BEQ 8$ ; 1061
000060 012203 MOV (R2)+,R3 ; ENTLEN,ENTCNT 1062
000062 001422 BEQ 8$ ; 1064
000064 011202 MOV (R2),R2 ; ENTLEN,ENTLEN 1065
000066 111400 6$: MOVB (R4),R0 ; ENTADR,* 1072
000070 005200 INC R0
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 39
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (12)
000072 010046 MOV R0,-(SP) ; 1075
000074 010446 MOV R4,-(SP) ; ENTADR,*
000076 010046 MOV R0,-(SP)
000100 010146 MOV R1,-(SP) ; ENTID.PTR,*
000102 005046 CLR -(SP)
000104 004767 000000G JSR PC,BL$EQL
000110 062706 000012 ADD #12,SP
000114 006000 ROR R0
000116 103002 BCC 7$
000120 010400 MOV R4,R0 ; ENTADR,* 1076
000122 000207 RTS PC
000124 060204 7$: ADD R2,R4 ; ENTLEN,ENTADR 1078
000126 077321 SOB R3,6$ ; ENTCNT,* 1080
000130 005000 8$: CLR R0 ; 1004
000132 000207 RTS PC
; Routine Size: 46 words, Routine Base: $CODE$ + 2326
; Maximum stack depth per invocation: 11 words
000116 .PSECT $PLIT$, RO , D
P.AAH: ; CASE Table for NM.ENT+0022 1045
000116 000102 .WORD 102 ; [8$]
000120 000002 .WORD 2 ; [2$]
000122 000102 .WORD 102 ; [8$]
000124 000010 .WORD 10 ; [3$]
000126 000016 .WORD 16 ; [4$]
; 1084
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 40
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (13)
; 1085 global routine NMX$MAP_NMXID_TO_DB (NMXID) : NMX$LKG_NMXID =
; 1086
; 1087 !++
; 1088 ! FUNCTIONAL DESCRIPTION:
; 1089 !
; 1090 ! This routine checks for an existing entity data base
; 1091 !
; 1092 ! FORMAL PARAMETERS:
; 1093 !
; 1094 ! .NMXID - A NMX id word
; 1095 !
; 1096 ! IMPLICIT INPUTS:
; 1097 !
; 1098 ! NMXDB items pointing to database entries
; 1099 !
; 1100 ! IMPLICIT OUTPUTS:
; 1101 !
; 1102 ! NMXDB items created
; 1103 !
; 1104 ! ROUTINE VALUE:
; 1105 !
; 1106 ! 0 = No such entity
; 1107 ! adr = Data base found
; 1108 !
; 1109 ! SIDE EFFECTS:
; 1110 !
; 1111 ! None
; 1112 !--
; 1113
; 1114 begin
; 1115
; 1116 bind
; 1117 NMXDB = .MCB$GAW_PROCESS_DATA_BASE [1] : NMXDB_BLOCK;
; 1118
; 1119 local
; 1120 ENTBLK : ref NMX_GENERAL_BLOCK;
; 1121
; 1122 case .NMXID <8, 8> from NMX$ENT_lo to NMX$ENT_hi of
; 1123 set
; 1124 [NMX$ENT_lin] : ENTBLK = NMXDB [NMX_LINES];
; 1125 [NMX$ENT_ckt] : ENTBLK = NMXDB [NMX_CIRCUITS];
; 1126 [NMX$ENT_mod] : ENTBLK = NMXDB [NMX_MODULES];
; 1127 [inrange, outrange] :
; 1128 return 0;
; 1129 tes;
; 1130
; 1131 begin
; 1132
; 1133 map
; 1134 ENTBLK : ref NMX_ENTITY_BLOCK;
; 1135
; 1136 if .NMXID<0, 8, 0> gequ .ENTBLK [NMX_ENTITY_BLOCK_ENTRIES]
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 41
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (13)
; 1137 then
; 1138 return 0;
; 1139
; 1140 MAP$ (.ENTBLK [NMX_ENTITY_BLOCK_BIAS]);
; 1141 ENTBLK = .ENTBLK [NMX_ENTITY_BLOCK_ADDRESS] +
; 1142 .NMXID<0, 8, 0>*.ENTBLK [NMX_ENTITY_BLOCK_LENGTH];
; 1143 end;
; 1144
; 1145 if .ENTBLK [GENERAL_NAME_LENGTH] eqlu 0
; 1146 then return 0;
; 1147
; 1148 if (.ENTBLK [GENERAL_ID] nequ .NMXID) then return 0;
; 1149
; 1150 return .ENTBLK
; 1151 end; ! of NMX$MAP_NMXID_TO_DB
.SBTTL NM.NMX
002462 .PSECT $CODE$, RO
000000 004167 000000G NM.NMX::JSR R1,$SAVE2 ; 1085
000004 010102 MOV R1,R2 ; *,NMXID
000006 016700 000002G MOV .CRDAT+2,R0 ; 1114
000012 105001 CLRB R1 ; 1122
000014 000301 SWAB R1
000016 005301 DEC R1
000020 020127 000004 CMP R1,#4
000024 101037 BHI 6$
000026 006301 ASL R1
000030 066107 000130' ADD P.AAI(R1),PC ; Case dispatch
000034 000433 1$: BR 6$ ; 1128
000036 062700 000012 2$: ADD #12,R0 ; 1124
000042 000405 BR 5$ ; 1122
000044 062700 000022 3$: ADD #22,R0 ; 1125
000050 000402 BR 5$ ; 1122
000052 062700 000032 4$: ADD #32,R0 ; 1126
000056 005001 5$: CLR R1 ; 1136
000060 150201 BISB R2,R1 ; NMXID,*
000062 020160 000004 CMP R1,4(R0) ; *,*(ENTBLK)
000066 103016 BHIS 6$ ; 1138
000070 011067 000000G MOV (R0),KISAR6 ; ENTBLK,* 1140
000074 005001 CLR R1 ; 1142
000076 150201 BISB R2,R1 ; NMXID,*
000100 070160 000006 MUL 6(R0),R1 ; *(ENTBLK),*
000104 066001 000002 ADD 2(R0),R1 ; *(ENTBLK),* 1141
000110 010100 MOV R1,R0 ; *,ENTBLK
000112 105710 TSTB (R0) ; ENTBLK 1145
000114 001403 BEQ 6$ ; 1146
000116 026002 000022 CMP 22(R0),R2 ; *(ENTBLK),NMXID 1148
000122 001401 BEQ 7$
000124 005000 6$: CLR R0 ; 1085
000126 000207 7$: RTS PC
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 42
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (13)
; Routine Size: 44 words, Routine Base: $CODE$ + 2462
; Maximum stack depth per invocation: 4 words
000130 .PSECT $PLIT$, RO , D
P.AAI: ; CASE Table for NM.NMX+0030 1122
000130 000070 .WORD 70 ; [6$]
000132 000002 .WORD 2 ; [2$]
000134 000070 .WORD 70 ; [6$]
000136 000010 .WORD 10 ; [3$]
000140 000016 .WORD 16 ; [4$]
; 1152
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 43
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (14)
; 1153 global routine NMX$RETURN_NMX_CCB (CCB) : NMX$LKG_CCB novalue =
; 1154
; 1155 !++
; 1156 ! FUNCTIONAL DESCRIPTION:
; 1157 !
; 1158 ! Return the given CCB and NMPAR DSR.
; 1159 !
; 1160 ! FORMAL PARAMETERS:
; 1161 !
; 1162 ! CCB - Address of CCB to be returned
; 1163 !
; 1164 ! IMPLICIT INPUTS:
; 1165 !
; 1166 ! None
; 1167 !
; 1168 ! IMPLICIT OUTPUTS:
; 1169 !
; 1170 ! None
; 1171 !
; 1172 ! ROUTINE VALUE:
; 1173 !
; 1174 ! None
; 1175 !
; 1176 ! SIDE EFFECTS:
; 1177 !
; 1178 ! None
; 1179 !--
; 1180
; 1181 begin
; 1182
; 1183 map
; 1184 CCB : ref NMX_CCB_BLOCK;
; 1185
; 1186 begin
; 1187
; 1188 local
; 1189 NMPAR;
; 1190
; 1191 if (NMPAR = .CCB [C_NM_NMPAR]) neqa 0
; 1192 then
; 1193 $MCB_RETURN_DSR (NMX_NMPAR_ALLOCATION, .NMPAR);
; 1194
; 1195 end;
; 1196 begin
; 1197
; 1198 local
; 1199 AMOUNT,
; 1200 ERROR_CODE,
; 1201 IOP : ref NMX_IOP_BLOCK;
; 1202
; 1203 if (IOP = .CCB [C_NMX_IOP]) neqa 0
; 1204 then
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 44
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (14)
; 1205 begin
; 1206 ERROR_CODE = .CCB [C_STS];
; 1207 AMOUNT = .CCB [C_NMX_CNT];
; 1208 end;
; 1209
; 1210 $MCB_RETURN_CCB (.CCB);
; 1211
; 1212 if .IOP neqa 0
; 1213 then
; 1214 $NMX_RETURN_RSX_IOP (.IOP, .ERROR_CODE, .AMOUNT);
; 1215
; 1216 end;
; 1217 end; ! of NMX$RETURN_NMX_CCB
.GLOBL $DSRRT, $CCBRT
.SBTTL NX.RTC
002612 .PSECT $CODE$, RO
000000 004167 000000G NX.RTC::JSR R1,$SAVE5 ; 1153
000004 016400 000026 MOV 26(R4),R0 ; *(CCB),NMPAR 1191
000010 001404 BEQ 1$
000012 012701 000026 MOV #26,R1 ; 1193
000016 004767 000000G JSR PC,$DSRRT
000022 016403 000034 1$: MOV 34(R4),R3 ; *(CCB),IOP 1203
000026 001404 BEQ 2$
000030 016400 000014 MOV 14(R4),R0 ; *(CCB),ERROR.CODE 1206
000034 016401 000030 MOV 30(R4),R1 ; *(CCB),AMOUNT 1207
000040 004767 000000G 2$: JSR PC,$CCBRT ; 1210
000044 005703 TST R3 ; IOP 1212
000046 001406 BEQ 3$
000050 004767 000000G JSR PC,$RSX ; 1214
000054 004767 000000G JSR PC,$IOFIN
000060 004767 000000G JSR PC,$MCB
000064 000207 3$: RTS PC ; 1153
; Routine Size: 27 words, Routine Base: $CODE$ + 2612
; Maximum stack depth per invocation: 7 words
; 1218
; 1219 end
; 1220
; 1221 eludom
; OTS external references
.GLOBL $SAVE5, $SAVE4, $SAVE2, $STOP
.GLOBL BL$FCH, BL$EQL, BL$MOV
NMX 25-Jan-1983 09:24:31 TOPS-20 Bliss-16 3(552) Page 45
X01270 3-Jan-1983 18:43:06 NETPKG:<NMX>NMX.BLI.4 (14)
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $PLIT$ 49 RO , D , LCL, REL, CON
; ...... 16 RW , D , LCL, REL, CON
; $CODE$ 736 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<MCB>XPORTX.L16.15 599 33 5 0
; NETPKG:<MCB>MCBLIB.L16.15 372 80 21 0
; NETPKG:<NMX>NMXPAR.L16.30 968 266 27 0
; NETPKG:<MCB>NMXLIB.L16.13 200 37 18 0
; 1222 ! Local Modes:
; 1223 ! Comment Column:36
; 1224 ! Comment Start:!
; 1225 ! Mode:BLISS
; 1226 ! Auto Save Mode:2
; 1227 ! End:
; Size: 736 code + 65 data words
; Run Time: 00:19.3
; Elapsed Time: 01:12.4
; Memory Used: 69 pages
; Compilation Complete
ACHKB$ 337
AMOUNT 1198 1206# 1213
BADCCB 193 478 566*
BADREQ 224* 369
BYT$PTR 971 985 1072
CCB 359 374 376 384 392 394 439 469 472 479 522 557
562 566 600 779 781 784# 785# 786# 787# 788# 789 883
890 916# 917# 919# 922# 923# 924# 925# 929# 934# 957 991
997# 998# 999# 1000# 1001 1152 1183 1190 1202 1205 1206 1209
CKTCCP 225 476
CKTREQ 226 367
C_ADDR 785 923
C_BIAS 784 922
C_CNT 786 917 924
C_DLX_EID 124+#
C_DLX_IOP 127+#
C_DLX_LUNBLK 128+#
C_DLX_STATE 126+#
C_FIELDS 384 600 779
C_FNC 999
C_LIX 123+
C_MOD 1000
C_NMX_CNT 997 1206
C_NMX_IOP 919 1202
C_NMX_STATE 998
C_NMX_TYPE 925
C_NM_ENTITY 472 957
C_NM_FIELDS 134+
C_NM_FUNC 991
C_NM_NMPAR 916 1190
C_NM_QUAL 929 934
C_PRM1 125+ 787
C_PRM5 788
C_STS 1205
DISPATCH 363* 376 388* 394
DISPATCH$ 514 559
DLXAST 227 255
DLXCCP 228 560
DLXCON 229 401
DLXCTL 230 257
DLXDSC 231 403
DLXNM 190 439* 561
DLXRCP 232 259
DLXRCV 233 405
DLXXCP 234 258
DLXXMT 235 407
DLX_CCB_BLOCK 133+#
DLX_ENTER_MAINT 140+#
DLX_LUN_ALLOCATION 167+#
DLX_LUN_BLOCK 170+# 639
DLX_LUN_FIELDS 151+# 171+
DLX_LUN_SIZE 166+# 171+
DLX_OVERLAY_CCB_FIELDS 121+# 134+
DLX_RELEASE_ENTITY 142+#
DLX_REQUEST_ENTITY 139+#
DLX_START_OWNER 143+# 147+
DLX_STATE_HIGH 147+#
DLX_STATE_LOW 146+#
DLX_STOP_OWNER 138+#
DLX_STOP_PROTOCOL 141+#
DLX_TRANSMIT 137+# 146+
DSPCCP 192 260 522*
DSPTIM 191 256 481*
ENABLE_VECTOR 705 767# 768# 769# 770
ENTADR 1040 1058# 1060 1071 1072 1073 1075 1077#
ENTBLK 1119 1123# 1124# 1125# 1133 1135 1139 1140# 1141 1144 1147 1149
ENTCNT 1041 1061# 1063 1079#
ENTID_PTR 1003 1074
ENTLEN 1042 1047# 1049# 1051# 1056 1057# 1058 1059# 1061 1062# 1064# 1077
EQLU 1144
ERROR_CODE 1199 1205# 1213
EVENT_QUEUE 789
EVPRLB 236 399
EVPWAT 237 388
EVTDB 776# 789
FCM 481 515 522 559 566
FC_AST 255
FC_CCP 255 260
FC_CTL 257 999
FC_RCP 259
FC_TIM 256
FC_XCP 258
FD_CTL 560
FD_TIM 516
FLD_D 313 314 317 318
FLD_S 313 314 317 318
FM_LTM 518
FM_NM 561 1000
FM_PIN 517
GENERAL_ID 1147
GENERAL_NAME 1072
GENERAL_NAME_LENGTH 1071 1073 1144
GET_PIX 196 716 717 718 719 807*
HDR_FIELDS 216
ID_ADDRESS 950 954 964 966 971 980 985
ID_BIAS 951 954 955
IE$TMO 661
IOP 266 301 318# 328 331# 332# 337 340 344 353 363 374
392 399 401 403 405 407 409 648 653# 658 660 661
663 664# 845 879 893 900 919 922 923 924 925 931
936 945 954 1200 1202# 1211 1213
IOP_CON 400
IOP_CTL 355
IOP_DSC 402
IOP_MOVE 313# 322 323 324 325 326
IOP_RCV 404
IOP_RLB 398
IOP_WAT 380
IOP_XMT 406
I_FCN 353
I_NMX_ADDR 331 344 923
I_NMX_BIAS 332 344 922
I_NMX_CNT 326 924
I_NMX_ENTITY 324 658 663 664 945 954
I_NMX_QUALIFIER 323 931 936
I_NMX_TIME 322
I_NMX_TYPE 325 925
I_NM_ENTITY 363
I_PRM1 337 344
I_PRM2 326 328 337
I_PRM3 325
I_PRM4 324
I_PRM5 323
I_PRM6 322
LEN 747 749# 751 753# 755# 757 758
LINCCP 238 477
LINREQ 239 368
LLC_DISPATCH 255#
LUNBLK 639 642# 644# 651
LUN_CLOSING 175+#
LUN_ENTITY_ADDRESS 154+#
LUN_ENTITY_BIAS 155+#
LUN_ERROR_CODE 161+#
LUN_ID 157+#
LUN_LINK 153+# 644
LUN_OPENED 176+#
LUN_OPENING 174+#
LUN_RCPS 159+#
LUN_RCVS 158+# 651
LUN_RCV_ERROR 162+#
LUN_STATE 156+#
LUN_XMTS 160+#
MAP$ 736 955 1056 1139
MCB$GAW_PROCESS_DATA_BASE 265 1037 1116
MCB$K_VERSION 115+
MCB_DB 194 195 520 606# 672#
MCB_DB_CCB_MOD 192 193 227 230 232 234 522# 566#
MCB_DB_CCB 190 224 225 226 228 237 238 239 240 241 242 243
370 388 439# 472 563
MCB_DB_MOD 191 481#
MODCCP 240 474
MODREQ 241 365
NAME 254# 807 842
NAME_ITSELF 971
NAME_LENGTH 966 968 970
NMLMCB 796# 801
NMPAR 884 897 905 906# 907# 908# 909# 916 937 938 962 978
993# 1188 1190# 1192
NMX 1# 254 711# 716
NMX$ENT_CKT 367 476 1048 1124
NMX$ENT_HI 363 472 1044 1121
NMX$ENT_LIN 368 477 1046 1123
NMX$ENT_LO 363 472 1044 1121
NMX$ENT_MOD 365 474 1050 1125
NMX$ENT_NOD 366 475 957
NMX$FNC_RET 991
NMX$GET_NMX_CCB 197 845*
NMX$LKG_CCB 200 1152#
NMX$LKG_DB_IOP 197 845#
NMX$LKG_NMXID 199 1084#
NMX$LKG_TYP_ENT 198 1003#
NMX$LKG_UCB_IOP 229 231 233 235 236
NMX$MAP_ENTITY_ID_TO_DB 198 1003*
NMX$MAP_NMXID_TO_DB 199 1084*
NMX$RETURN_NMX_CCB 200 1152*
NMX$_ICP 603
NMXDB_BLOCK 360 385 470 512 556 599 636 702 880 1037 1116
NMXDB 360 372 376 378 385 390 394 396 439 470 479 481
512 519 522 556 562 566 599 606 636 641# 642 672
702 716# 717# 718# 719# 740# 757# 758 768 769 772# 776
785 786 845 880 1037# 1047 1049 1051 1116# 1123 1124 1125
NMXID 1084 1121 1135 1141 1147
NMX_BASE 376 378 394 396 479 519 562 769
NMX_CCB_BLOCK 359 469 557 883 1183
NMX_CIRCUITS 1049 1124
NMX_ENTITY_BLOCK 1133
NMX_ENTITY_BLOCK_ADDRESS 1140
NMX_ENTITY_BLOCK_BIAS 1139
NMX_ENTITY_BLOCK_ENTRIES 1135
NMX_ENTITY_BLOCK_LENGTH 1141
NMX_EVENT_BLOCK 776
NMX_EVENT_QUEUE 776
NMX_EXECUTOR_NAME 758
NMX_EXECUTOR_NAME_LENGTH 757
NMX_EXECUTOR_NUMBER 740
NMX_GENERAL_BLOCK 1040 1119
NMX_IOP_BLOCK 301 648 879 1200
NMX_LINES 1047 1123
NMX_LKG_NAM 185# 196 807#
NMX_LUN_QUEUE 642
NMX_MODULES 1051 1125
NMX_NMLINI_ADDR 785
NMX_NMLINI_CNT 786
NMX_NMPAR_ALLOCATION 897 1192
NMX_NMPAR_AX0_ADDR 938
NMX_NMPAR_AX0_BIAS 937
NMX_NMPAR_BLOCK 884
NMX_NMPAR_ENTITY 962 978
NMX_NMPAR_RETURN_CNT 993
NMX_NMX_PIX 716 768
NMX_NSP_PIX 718
NMX_SC_PIX 717
NMX_TIMER_COUNT 641 772
NMX_XPT_PIX 719
NODCCP 242 475
NODE_ADDRESS 964
NODE_ENTITY 962# 964# 966# 968 970 971
NODE_ENTITY_ID 962
NODREQ 243 366
NSP 713# 718
OTHER_ENTITY 978# 980# 982 984 985
OTHER_ENTITY_ID 978
OTHER_ITSELF 985
OTHER_LENGTH 980 982 984
PASSED_NAME 734# 742 749 755 758
PASSED_NUMBER 733# 738 740
PIX 839 841# 842 843
QIODSP 188 208 266*
QIONOP 189 209 210 211 413*
RAD50 711 712 713 714
RCVQ 651# 653 660
RELOC$ 344
RSX_DISPATCH 261#
RSX_UCB 189 413#
RSX_UCB_SCB_IOP 188 266#
SC 712# 717
SCB 266 303
SCB_FIELDS 303
ST$INI 998
TABLE$ 255 516 560
TCB 799 801 803
TIMLTM 194 518 606*
TIMPIN 195 517 672*
TRUE 656
TYPE 1003 1044
UCB 266 302 340 372 390 399 401 403 405 407 409 413
UCB_FIELDS 302
XPO$K_VERSION 114+
XPT 714# 719
$ADDRESS 126+ 127+ 128+ 153+ 154+ 155+
$BYTE 156+ 157+
$CONTINUE 129+
$DISTINCT 137+ 138+ 139+ 140+ 141+ 142+ 143+ 174+ 175+ 176+
$DSPCR 250* 255 516
$FIELD 120+ 150+
$FIELD_SET_SIZE 166+
$FIELD_SET_UNITS 167+
$HEADR 216
$INTEGER 124+ 160+ 161+ 162+
$LITERAL 136+ 173+
$MCB_ENABLE_LONG_TIMER 771
$MCB_EXCEPTION 770
$MCB_GET_CCB 781 890
$MCB_GET_DSR 897
$MCB_GET_PROCESS_HANDLE 842
$MCB_MCB_TO_RSX 378 396
$MCB_PROCESS 253
$MCB_QUEUE_CCB 789
$MCB_RETURN_CCB 1209
$MCB_RETURN_DSR 1192
$MCB_RSX_TO_MCB 372 390
$NM$ERR_MPE 340
$NM$ERR_REE 893 900
$NM$ERR_UFO 409
$NMEVT 708* 767
$NMTBL 207# 261
$NMX_DEQUEUE 660
$NMX_GET_NMX_CCB 374 392
$NMX_RETURN_RSX_IOP 661 893 900 1213
$OVERLAY 123+ 125+
$RSX_CONVERT_TO_BIAS_ADDRESS 935 953
$RSX_FINISH_IOP 340 409
$RSX_GET_TCB 801
$RSX_REQUEST_TASK 803
$SUB_BLOCK 158+ 159+
$SYSIZ 726 728 736
$TTNS 217