Trailing-Edge
-
PDP-10 Archives
-
BB-R595B-SM_11-9-85
-
mcb/nmx/nmxpar.lst
There is 1 other file named nmxpar.lst in the archive. Click here to see a list.
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 1
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (1)
; 0001 ! COPYRIGHT (c) 1980, 1981, 1982
; 0002 ! DIGITAL EQUIPMENT CORPORATION
; 0003 ! Maynard, Massachusetts
; 0004 !
; 0005 ! This software is furnished under a license and may be used
; 0006 ! and copied only in accordance with the terms of such license
; 0007 ! and with the inclusion of the above copyright notice. This
; 0008 ! software or any other copies thereof may not be provided or
; 0009 ! otherwise made available to any other person. No title to
; 0010 ! and ownership of the software is hereby transferred.
; 0011 !
; 0012 ! The information in this software is subject to change
; 0013 ! without notice and should not be construed as a commitment
; 0014 ! by DIGITAL EQUIPMENT CORPORATION.
; 0015 !
; 0016 ! DIGITAL assumes no responsibility for the use or reliability
; 0017 ! of its software on equipment which is not supplied by
; 0018 ! DIGITAL.
; 0019
; 0020 !+
; 0021 ! NMX Specific Parameters
; 0022 !-
; 0023 %if not %declared (XPO$K_VERSION) %then library 'XPORTX' %fi;
; 0024 %if not %declared (MCB$K_VERSION) %then library 'MCBLIB' %fi;
; 0025 library 'NMXLIB';
; 0026 require 'RSXLIB';
; 0478 require 'BLI:RSXEFC';
; 1003
; 1004 $show(all)
; 1005
; 1006 !+
; 1007 ! NMX linkages
; 1008 !-
; 1009
; 1010 linkage
; 1011 NMX$LKG_CCB = jsr (register = 4),
; 1012 NMX$LKG_DB_IOP = jsr (register = 5, register = 1),
; 1013 NMX$LKG_NMXID = jsr (register = 1),
; 1014 NMX$LKG_TYP_ENT = jsr (register = 0, register = 1),
; 1015 NMX$LKG_UCB_IOP = jsr (register = 5, register = 1);
; 1016
; 1017 !+
; 1018 ! NMX Global Routine Name Synonyms
; 1019 !-
; 1020
; 1021 macro
; 1022 NMX$GET_NMX_CCB = NX_ITC %, ! Convert IOP to CCB for NMX
; 1023 NMX$MAP_ENTITY_ID_TO_DB = NM_ENT %, ! Map entity-id into DB
; 1024 NMX$MAP_NMXID_TO_DB = NM_NMX %, ! Map NMXID into DB
; 1025 NMX$RETURN_NMX_CCB = NX_RTC %; ! Return NMX CCB
; 1026
; 1027 !+
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 2
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (1)
; 1028 ! Macros for global routines
; 1029 !-
; 1030
; 1031 macro
; M 1032 $NMX_GET_NMX_CCB (IOP, CCB) =
; M 1033 begin
; M 1034 %if not %declared (NMXDB)
; M 1035 %then
; M 1036 %if not %declared (MCB$GAW_PROCESS_DATA_BASE)
; M 1037 %then
; M 1038 external MCB$GAW_PROCESS_DATA_BASE : vector [2];
; M 1039 %fi
; M 1040 bind NMXDB = MCB$GAW_PROCESS_DATA_BASE [1] : ref NMXDB_BLOCK;
; M 1041 %fi
; M 1042
; M 1043 external routine
; M 1044 NMX$GET_NMX_CCB : NMX$LKG_DB_IOP;
; M 1045
; M 1046 (CCB = NMX$GET_NMX_CCB (NMXDB [NMX_BASE], IOP)) neqa 0
; 1047 end %,
; M 1048 $NMX_MAP_ENTITY_ID (TYPE, ENTITY_PTR) =
; M 1049 begin
; M 1050
; M 1051 external routine
; M 1052 NMX$MAP_ENTITY_ID_TO_DB : NMX$LKG_TYP_ENT;
; M 1053
; M 1054 NMX$MAP_ENTITY_ID_TO_DB (TYPE, ENTITY_PTR)
; 1055 end %,
; M 1056 $NMX_MAP_NMXID (NMXID) =
; M 1057 begin
; M 1058
; M 1059 external routine
; M 1060 NMX$MAP_NMXID_TO_DB : NMX$LKG_NMXID;
; M 1061
; M 1062 NMX$MAP_NMXID_TO_DB (NMXID)
; 1063 end %,
; M 1064 $NMX_RETURN_NMX_CCB (CCB) =
; M 1065 begin
; M 1066
; M 1067 external routine
; M 1068 NMX$RETURN_NMX_CCB : NMX$LKG_CCB novalue;
; M 1069
; M 1070 NMX$RETURN_NMX_CCB (CCB);
; 1071 end %,
; M 1072 $NMX_RETURN_RSX_IOP (IOP, STS, CNT) =
; M 1073 begin
; M 1074 %if not %declared (NMXDB)
; M 1075 %then
; M 1076 %if not %declared (MCB$GAW_PROCESS_DATA_BASE)
; M 1077 %then
; M 1078 external MCB$GAW_PROCESS_DATA_BASE : vector [2];
; M 1079 %fi
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 3
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (1)
; M 1080 bind NMXDB = MCB$GAW_PROCESS_DATA_BASE [1] : ref NMXDB_BLOCK;
; M 1081 %fi
; M 1082
; M 1083 local
; M 1084 $NMX$UCB : ref block field (UCB_FIELDS);
; M 1085
; M 1086 $MCB_MCB_TO_RSX (NMXDB [NMX_BASE], $NMX$UCB);
; M 1087 $RSX_FINISH_IOP (.$NMX$UCB, IOP, STS, CNT);
; M 1088 $MCB_RSX_TO_MCB (.$NMX$UCB);
; 1089 end %;
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 4
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (2)
; 1090 !+
; 1091 ! NMX Signal Definitions
; 1092 !-
; 1093 DECLARE_SEVERITY (NMX, ERROR, SEVERE);
; 1094
; 1095 $NMX_SEVERE (NMX$_ILE, 'Internal Logic Error')
; 1096 $NMX_SEVERE (NMX$_NNX, 'No NMX Process')
; 1097 $NMX_SEVERE (NMX$_IFM, 'Invalid Function Modifier')
; 1098 $NMX_SEVERE (NMX$_ICP, 'Invalid CCB Parameters')
; 1099 $NMX_ERROR (NMX$_IEC, 'Invalid Event Class')
; 1100 $NMX_SEVERE (NMX$_IID, 'Invalid NMXID')
; 1101
; 1102
; 1103 !
; 1104 literal
; 1105 true = (1 eql 1),
; 1106 false = (1 eql 0);
; 1107
; 1108 macro
; M 1109 RAD50 =
; M 1110 %if %bliss(bliss36)
; M 1111 %then %rad50_10
; M 1112 %else %rad50_11
; 1113 %fi %;
; 1114
; 1115 structure
; 1116 BYTE_VECTOR [I; N] =
; 1117 %bliss16([N] (BYTE_VECTOR + I)<0, 8>)
; 1118 %bliss36([N/4] (BYTE_VECTOR + I/4)<(I mod 4)*8, 8>)
; 1119 ;
; 1120
; 1121 !
; 1122 ! Macro - PUTB
; 1123 !
; 1124 ! Function - To write a 8 bit value to the next position in
; 1125 ! a DECnet byte string. The pointer to the byte
; 1126 ! string is updated to point to the next free position.
; 1127 !
; 1128 ! Parameters -
; 1129 !
; 1130 ! VAL 8 Bit value to write
; 1131 ! PTR_ADR Address of byte string pointer
; 1132 !
; 1133
; 1134 macro
; M 1135 PUTB (VAL,PTR_ADR) =
; 1136 ch$wchar_a(VAL,PTR_ADR) % ;
; 1137
; 1138 !
; 1139 ! Macro - PUTW
; 1140 !
; 1141 ! Function - To write a 16 bit value as the next two bytes in
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 5
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (2)
; 1142 ! a DECnet byte string. The pointer to the byte
; 1143 ! string is updated to point to the next free position.
; 1144 !
; 1145 ! Parameters -
; 1146 !
; 1147 ! VAL_PTR Address of 16 bit value to write
; 1148 ! PTR_ADR Address of byte string pointer
; 1149
; 1150 macro
; M 1151 PUTV (VAL,PTR_ADR) =
; M 1152 begin
; M 1153 ch$wchar_a((VAL and %o'377'),PTR_ADR);
; M 1154 ch$wchar_a((VAL^-8 and %o'377'),PTR_ADR);
; 1155 end %,
; M 1156 PUTW (VAL_PTR,PTR_ADR) =
; M 1157 begin
; M 1158 bind VAL_ADR = VAL_PTR;
; M 1159 ch$wchar_a(.VAL_ADR<0,8,0>,PTR_ADR);
; M 1160 ch$wchar_a(.VAL_ADR<8,8,0>,PTR_ADR);
; 1161 end % ;
; 1162
; 1163 !
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 6
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (3)
; 1164 !+
; 1165 ! Additional field definitions for IOP used by NMX
; 1166 !-
; 1167
; 1168 $field ! This block is based at I_PRM in IOPs
; 1169 NMX_OVERLAY_IOP_FIELDS =
; 1170 set
; 1171 $overlay (I_PRM)
; L 1172 I_NMX_BIAS = [$address], ! Buffer Descriptor Bias
; %PRINT: [10,0,16,0] (+%O'24')
; L 1173 I_NMX_ADDR = [$address], ! Buffer Descriptor Offset
; %PRINT: [11,0,16,0] (+%O'26')
; L 1174 I_NMX_CNT = [$integer], ! Buffer length
; %PRINT: [12,0,16,1] (+%O'30')
; L 1175 I_NMX_TYPE = [$integer], ! NMX_TYPE_FIELD in IOP
; %PRINT: [13,0,16,1] (+%O'32')
; L 1176 I_NMX_ENTITY = [$address], ! Address in user space of entity
; %PRINT: [14,0,16,0] (+%O'34')
; L 1177 I_NMX_QUALIFIER= [$address], ! Address in user space of qualifier
; %PRINT: [15,0,16,0] (+%O'36')
; L 1178 I_NMX_TIME = [$address], ! Address in user space of time block
; %PRINT: [16,0,16,0] (+%O'40')
; 1179 $continue
; 1180 $overlay (I_NMX_TYPE)
; 1181 I_NM_QUAL = [$sub_field (I_NMX_TYPE, N$QUAL)],
; 1182 I_NM_FUNC = [$sub_field (I_NMX_TYPE, N$FFNC)],
; 1183 I_NM_ENTITY = [$sub_field (I_NMX_TYPE, N$IENT)],
; 1184 I_NM_SELECT = [$sub_field (I_NMX_TYPE, N$SELE)]
; 1185 $continue
; 1186 tes;
; 1187
; 1188 macro
; M 1189 NMX_IOP_BLOCK =
; 1190 block field(IOP_FIELDS, NMX_OVERLAY_IOP_FIELDS) %;
; 1191
; 1192 !
; 1193 ! RSX I/O Function Codes
; 1194 !
; 1195
; 1196 literal
; 1197 IOP_KIL = 0, ! Cancel I/O
; 1198 IOP_WLB = 1, ! Write Logical Block
; 1199 IOP_RLB = 2, ! Read Logical Block
; 1200 IOP_ATT = 3, ! Attach Device
; 1201 IOP_DET = 4, ! Detach Device
; 1202 IOP_MOU = 5, ! Mount Volume
; 1203 IOP_DMO = 6, ! Dismount Volume
; 1204 IOP_CLO = 7, ! Network close, from RSX
; 1205 IOP_FNA = 10, ! Find File in Directory
; 1206 IOP_RNA = 11, ! Remove File in Directory
; 1207 IOP_ENA = 12, ! Enter File in Directory
; 1208 IOP_ACR = 13, ! Access File for Read
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 7
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (3)
; 1209 IOP_ACW = 14, ! Access File for Write
; 1210 IOP_ACE = 15, ! Access File for Extend
; 1211 IOP_DAC = 16, ! Deaccess File
; 1212 IOP_RVB = 17, ! Read Virtual Block
; 1213 IOP_WVB = 18, ! Write Virtual Block
; 1214 IOP_EXT = 19, ! Extend File
; 1215 IOP_CRE = 20, ! Create File
; 1216 IOP_DEL = 21, ! Delete File
; 1217 IOP_RAT = 22, ! Read File Attributes
; 1218 IOP_WAT = 23, ! Write File Attributes
; 1219 IOP_XMT = 25, ! Transmit data
; 1220 IOP_RCV = 26, ! Receive data
; 1221 IOP_CON = 27, ! Connect processing
; 1222 IOP_DSC = 28, ! Disconnect processing
; 1223 IOP_CTL = 29; ! Control
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 8
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (4)
; 1224 !+
; 1225 ! Additional field definitions for CCB used by NMX
; 1226 !-
; 1227
; 1228 $field
; 1229 NMX_OVERLAY_CCB_FIELDS =
; 1230 set
; 1231 $overlay(C_LIX)
; L 1232 C_NMX_EID = [$integer], ! Full EID specification
; %PRINT: [4,0,16,1] (+%O'10')
; 1233 $continue
; 1234 $overlay (C_PRM1)
; L 1235 C_NMX_TYPE = [$address], ! NMX_TYPE_FIELD in CCB
; %PRINT: [10,0,16,0] (+%O'24')
; 1236 $continue
; 1237 $overlay (C_PRM3)
; L 1238 C_NMX_CNT = [$address], ! Amount left in buffer
; %PRINT: [12,0,16,0] (+%O'30')
; L 1239 C_NMX_STATE = [$address], ! Current processing State for function
; %PRINT: [13,0,16,0] (+%O'32')
; L 1240 C_NMX_IOP = [$address] ! Address of IOP for this CCB
; %PRINT: [14,0,16,0] (+%O'34')
; 1241 $continue
; 1242 tes;
; 1243
; 1244 macro
; M 1245 NMX_CCB_BLOCK =
; 1246 block field(C_NM_FIELDS, NMX_OVERLAY_CCB_FIELDS) %;
; 1247
; 1248 literal
; 1249 NMX_NMPAR_SIZE = NMX_NMPAR_LEN,
; 1250 NMX_NMPAR_ALLOCATION = NMX_NMPAR_LENGTH;
; 1251
; 1252 macro
; M 1253 NMX_NMPAR_BLOCK =
; 1254 block[NMX_NMPAR_SIZE] field(NMX_NMPAR_FIELDS) %;
; 1255
; 1256 !++
; 1257 ! Entity state machine descriptions
; 1258 !--
; 1259 $literal
; L 1260 ST$INI = $distinct, ! (not sent yet)
; %PRINT: 1
; L 1261 ST$SC = $distinct, ! Session Control
; %PRINT: 2
; L 1262 ST$NSP = $distinct, ! Network Services
; %PRINT: 3
; L 1263 ST$XPT = $distinct, ! Transport
; %PRINT: 4
; L 1264 ST$OWN = $distinct, ! Line/circuit Owner
; %PRINT: 5
; L 1265 ST$PRO = $distinct, ! Line/circuit Provider
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 9
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (4)
; %PRINT: 6
; 1266 ST$DON = 0, ! Done
; 1267 ST$LO = min (ST$INI, ST$SC, ST$NSP, ST$XPT, ST$OWN, ST$PRO, ST$DON),
; 1268 ST$HI = max (ST$INI, ST$SC, ST$NSP, ST$XPT, ST$OWN, ST$PRO, ST$DON);
; 1269
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 10
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; 1270 !
; 1271 ! Entity data base entry.
; 1272 ! This field set describes an entry in the NMX data base
; 1273 ! which contains the information to find an entity block
; 1274 ! for the supported entities (LINE, CIRCUIT, and MODULE).
; 1275 !
; 1276
; 1277 $field
; 1278 NMX_ENTITY_BLOCK_FIELDS =
; 1279 set
; L 1280 NMX_ENTITY_BLOCK_BIAS = [$integer],
; %PRINT: [0,0,16,1] (+%O'0')
; L 1281 NMX_ENTITY_BLOCK_ADDRESS = [$address],
; %PRINT: [1,0,16,0] (+%O'2')
; L 1282 NMX_ENTITY_BLOCK_ENTRIES = [$integer],
; %PRINT: [2,0,16,1] (+%O'4')
; L 1283 NMX_ENTITY_BLOCK_LENGTH = [$address]
; %PRINT: [3,0,16,0] (+%O'6')
; 1284 tes;
; 1285
; 1286 literal
; L 1287 NMX_ENTITY_BLOCK_SIZE = $field_set_size,
; %PRINT: 4 fullwords
; L 1288 NMX_ENTITY_BLOCK_ALLOCATION = $field_set_units;
; %PRINT: 8 addressable units
; 1289
; 1290 macro
; M 1291 NMX_ENTITY_BLOCK =
; 1292 block[NMX_ENTITY_BLOCK_SIZE] field (NMX_ENTITY_BLOCK_FIELDS) %;
; 1293
; 1294 !
; 1295 ! Event queue block
; 1296 !
; 1297 $field
; 1298 NMX_EVENT_FIELDS =
; 1299 set
; L 1300 EVENT_QUEUE = [$sub_block(2)], ! Queue of Processed Events
; %PRINT: [0,0,0,0] (+%O'0')
; L 1301 EVENT_QUEUE_COUNT = [$tiny_integer], ! Number of Outstanding Events
; %PRINT: [2,0,8,1] (+%O'4')
; L 1302 EVENT_QUEUE_LENGTH = [$tiny_integer], ! Maximum event queue depth
; %PRINT: [2,8,8,1] (+%O'5')
; L 1303 EVENTS_PROCESSED = [$integer], ! Events processed
; %PRINT: [3,0,16,1] (+%O'6')
; L 1304 EVENTS_LOST = [$integer] ! Events lost
; %PRINT: [4,0,16,1] (+%O'10')
; 1305 tes;
; 1306
; 1307 literal
; L 1308 NMX_EVENT_SIZE = $field_set_size,
; %PRINT: 5 fullwords
; L 1309 NMX_EVENT_ALLOCATION = $field_set_units;
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 11
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; %PRINT: 10 addressable units
; 1310
; 1311 macro
; M 1312 NMX_EVENT_BLOCK =
; 1313 block[NMX_EVENT_SIZE] field (NMX_EVENT_FIELDS) %;
; 1314 !
; 1315 ! Event filter mask block
; 1316 !
; 1317 $field
; 1318 NMX_FILTER_FIELDS =
; 1319 set
; L 1320 FILTER_MASK = [$BITS (32)] ! 32 bit mask
; INFO#158 ................................1 L1:1320
; %INFORM: space reserved for field but null field defined
; Error occurred expanding macro $XPO$FIELD, called from macro $BITS, called from source
; %PRINT: [0,0,0,0] (+%O'0')
; 1321 tes;
; 1322
; 1323 literal
; L 1324 NMX_FILTER_SIZE = $field_set_size,
; %PRINT: 2 fullwords
; L 1325 NMX_FILTER_ALLOCATION = $field_set_units;
; %PRINT: 4 addressable units
; 1326 !
; 1327 ! NMX Resident Data Base format
; 1328 !
; 1329 $field
; 1330 NMXDB_FIELDS =
; 1331 set
; L 1332 NMX_BASE = [$sub_block (0)], ! Field for base of NMXDB
; %PRINT: [0,0,0,0] (+%O'0')
; L 1333 NMX_TIMER_COUNT = [$byte], ! MCB LLC Timer Service Byte
; %PRINT: [0,0,8,0] (+%O'0')
; L 1334 NMX_TIMER_BYTE = [$byte], ! Reserved Byte
; %PRINT: [0,8,8,0] (+%O'1')
; L 1335 NMX_NMX_EID = [$integer],
; %PRINT: [1,0,16,1] (+%O'2')
; 1336 $overlay (NMX_NMX_EID)
; L 1337 NMX_NMX_LIN = [$byte],
; %PRINT: [1,0,8,0] (+%O'2')
; L 1338 NMX_NMX_PIX = [$byte], ! PIX of NMX process
; %PRINT: [1,8,8,0] (+%O'3')
; 1339 $continue
; L 1340 NMX_SC_EID = [$integer],
; %PRINT: [2,0,16,1] (+%O'4')
; 1341 $overlay (NMX_SC_EID)
; L 1342 NMX_SC_LIN = [$byte],
; %PRINT: [2,0,8,0] (+%O'4')
; L 1343 NMX_SC_PIX = [$byte], ! PIX of SC process
; %PRINT: [2,8,8,0] (+%O'5')
; 1344 $continue
; L 1345 NMX_NSP_EID = [$integer],
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 12
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; %PRINT: [3,0,16,1] (+%O'6')
; 1346 $overlay (NMX_NSP_EID)
; L 1347 NMX_NSP_LIN = [$byte],
; %PRINT: [3,0,8,0] (+%O'6')
; L 1348 NMX_NSP_PIX = [$byte], ! PIX of NSP process
; %PRINT: [3,8,8,0] (+%O'7')
; 1349 $continue
; L 1350 NMX_XPT_EID = [$integer],
; %PRINT: [4,0,16,1] (+%O'10')
; 1351 $overlay (NMX_XPT_EID)
; L 1352 NMX_XPT_LIN = [$byte],
; %PRINT: [4,0,8,0] (+%O'10')
; L 1353 NMX_XPT_PIX = [$byte], ! PIX of XPT process
; %PRINT: [4,8,8,0] (+%O'11')
; 1354 $continue
; L 1355 NMX_LINES = [$sub_block(NMX_ENTITY_BLOCK_SIZE)],
; %PRINT: [5,0,0,0] (+%O'12')
; L 1356 NMX_CIRCUITS = [$sub_block(NMX_ENTITY_BLOCK_SIZE)],
; %PRINT: [9,0,0,0] (+%O'22')
; L 1357 NMX_MODULES = [$sub_block(NMX_ENTITY_BLOCK_SIZE)],
; %PRINT: [13,0,0,0] (+%O'32')
; L 1358 NMX_EXECUTOR_NUMBER = [$integer], ! Executor node-id
; %PRINT: [17,0,16,1] (+%O'42')
; L 1359 NMX_EXECUTOR_NAME = [$byte_string (7)],
; %PRINT: [18,0,0,0] (+%O'44')
; 1360 $overlay (NMX_EXECUTOR_NAME)
; L 1361 NMX_EXECUTOR_NAME_LENGTH = [$tiny_integer],
; %PRINT: [18,0,8,1] (+%O'44')
; 1362 $continue
; L 1363 NMX_NEXT_LUN_ID = [$tiny_integer],
; %PRINT: [21,8,8,1] (+%O'53')
; 1364 $align (fullword)
; L 1365 NMX_LUN_QUEUE = [$sub_block(2)], ! Queue of Open LUN Blocks
; %PRINT: [22,0,0,0] (+%O'54')
; 1366 ! Event Filter Masks for classes
; L 1367 NMX_EVENT_FILTERS = [$sub_block(7*NMX_FILTER_SIZE)], ! [0 to 6]
; %PRINT: [24,0,0,0] (+%O'60')
; L 1368 NMX_SYSTEM_FILTERS = [$sub_block(NMX_FILTER_SIZE)], ! [96 to 127]
; %PRINT: [38,0,0,0] (+%O'114')
; L 1369 NMX_EVENT_QUEUE = [$sub_block (NMX_EVENT_SIZE)],
; %PRINT: [40,0,0,0] (+%O'120')
; L 1370 NMX_EVENT_IOPS = [$sub_block(2)], ! Queue of IOPs awaiting Events
; %PRINT: [45,0,0,0] (+%O'132')
; L 1371 NMX_EVENTS_SIGNALED = [$integer], ! Number of Events Signaled
; %PRINT: [47,0,16,1] (+%O'136')
; L 1372 NMX_EVENTS_LOGGED = [$integer], ! Number of Events Logged
; %PRINT: [48,0,16,1] (+%O'140')
; L 1373 NMX_NMLINI_ADDR = [$address], ! NML initialization buffer address
; %PRINT: [49,0,16,0] (+%O'142')
; L 1374 NMX_NMLINI_CNT = [$short_integer] ! NML initialization buffer length
; %PRINT: [50,0,16,1] (+%O'144')
; 1375 tes;
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 13
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; 1376
; 1377 literal
; L 1378 NMXDB_SIZE = $field_set_size,
; %PRINT: 51 fullwords
; L 1379 NMXDB_ALLOCATION = $field_set_units,
; %PRINT: 102 addressable units
; 1380 MAX_EVENT_QUEUE_DEPTH = 3; !added here 01OCT81 used in LOG_EVENT
; 1381
; 1382 macro
; M 1383 NMXDB_BLOCK =
; 1384 block[NMXDB_SIZE] field(NMXDB_FIELDS) %;
; 1385 !
; 1386 $field
; 1387 NMX_GENERAL_FIELDS = ! These define common fields in entity blocks
; 1388 set
; L 1389 GENERAL_NAME = [$byte_string (17)], ! The Name of this Entity in I-16 format
; %PRINT: [0,0,0,0] (+%O'0')
; 1390 $overlay (GENERAL_NAME)
; L 1391 GENERAL_NAME_LENGTH = [$tiny_integer],
; %PRINT: [0,0,8,1] (+%O'0')
; 1392 $continue
; L 1393 GENERAL_SYSTEM_FLAGS = [$byte], ! Specified at Create Time
; %PRINT: [8,8,8,0] (+%O'21')
; 1394 $align(word)
; L 1395 GENERAL_ID = [$integer], ! The Logging ID for this Entity
; %PRINT: [9,0,16,1] (+%O'22')
; 1396 $overlay (GENERAL_ID)
; L 1397 GENERAL_ID_INDEX = [$byte], ! The Table Index
; %PRINT: [9,0,8,0] (+%O'22')
; L 1398 GENERAL_ID_TYPE = [$byte], ! The Entity Type
; %PRINT: [9,8,8,0] (+%O'23')
; 1399 $continue
; L 1400 GENERAL_PROVIDER_ID = [$integer], ! The Provider's CCB Id
; %PRINT: [10,0,16,1] (+%O'24')
; 1401 $overlay (GENERAL_PROVIDER_ID)
; L 1402 GENERAL_PROVIDER_LIX = [$byte], ! Line Index (Well,... Almost)
; %PRINT: [10,0,8,0] (+%O'24')
; L 1403 GENERAL_PROVIDER_PIX = [$byte], ! Process Index
; %PRINT: [10,8,8,0] (+%O'25')
; 1404 $continue
; L 1405 GENERAL_OWNER_ID = [$integer], ! The Owner's CCB Id
; %PRINT: [11,0,16,1] (+%O'26')
; 1406 $overlay (GENERAL_OWNER_ID)
; L 1407 GENERAL_OWNER_LIX = [$byte], ! Line Index (Well,... Almost)
; %PRINT: [11,0,8,0] (+%O'26')
; L 1408 GENERAL_OWNER_PIX = [$byte] ! Process Index
; %PRINT: [11,8,8,0] (+%O'27')
; 1409 $continue
; 1410 tes;
; 1411
; 1412 literal
; L 1413 NMX_GENERAL_SIZE = $field_set_size,
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 14
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; %PRINT: 12 fullwords
; L 1414 NMX_GENERAL_ALLOCATION = $field_set_units;
; %PRINT: 24 addressable units
; 1415
; 1416 macro
; M 1417 NMX_GENERAL_BLOCK =
; 1418 block[NMX_GENERAL_SIZE] field(NMX_GENERAL_FIELDS) %;
; 1419
; 1420 !+
; 1421 ! Link service block
; 1422 !-
; 1423
; 1424 $field
; 1425 NMX_LINK_FIELDS =
; 1426 set
; L 1427 LINK_GENERAL = [$sub_block(NMX_GENERAL_SIZE)],
; %PRINT: [0,0,0,0] (+%O'0')
; L 1428 LINK_USER_ID = [$integer],
; %PRINT: [12,0,16,1] (+%O'30')
; L 1429 LINK_LUN_BLOCK = [$address], ! Address of assigned LUN block
; %PRINT: [13,0,16,0] (+%O'32')
; L 1430 LINK_STATE = [$tiny_integer],
; %PRINT: [14,0,8,1] (+%O'34')
; L 1431 LINK_SUBSTATE = [$tiny_integer],
; %PRINT: [14,8,8,1] (+%O'35')
; L 1432 LINK_SERVICE_STATE = [$tiny_integer],
; %PRINT: [15,0,8,1] (+%O'36')
; L 1433 LINK_SERVICE_SUBSTATE = [$tiny_integer]
; %PRINT: [15,8,8,1] (+%O'37')
; 1434 tes;
; 1435
; 1436 literal
; L 1437 NMX_LINK_SIZE = $field_set_size,
; %PRINT: 16 fullwords
; L 1438 NMX_LINK_ALLOCATION = $field_set_units;
; %PRINT: 32 addressable units
; 1439
; 1440 macro
; M 1441 NMX_LINK_BLOCK =
; 1442 block[NMX_LINK_SIZE] field (NMX_GENERAL_FIELDS, NMX_LINK_FIELDS) %;
; 1443
; 1444 $literal
; L 1445 SS$OFF = $DISTINCT,
; %PRINT: 1
; 1446 SS$PASSIVE = 0, ! Link service states
; L 1447 SS$PASSIVE_OPEN = $DISTINCT,
; %PRINT: 2
; L 1448 SS$REFLECTING = $DISTINCT,
; %PRINT: 3
; L 1449 SS$CLOSED = $DISTINCT,
; %PRINT: 4
; L 1450 SS$OPEN = $DISTINCT,
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 15
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; %PRINT: 5
; L 1451 SS$CLOSED_REFLECTING = $DISTINCT,
; %PRINT: 6
; 1452 SS$HIGH = max (SS$OFF, SS$PASSIVE, SS$PASSIVE_OPEN, SS$REFLECTING, SS$CLOSED, SS$OPEN, SS$CLOSED_REFLECTING);
; 1453
; 1454 $literal
; 1455 SB$IDLE = 0, ! Line service substates
; L 1456 SB$REFLECTING = $DISTINCT,
; %PRINT: 1
; L 1457 SB$LOADING = $DISTINCT,
; %PRINT: 2
; L 1458 SB$DUMPING = $DISTINCT,
; %PRINT: 3
; L 1459 SB$TRIGGERING = $DISTINCT,
; %PRINT: 4
; L 1460 SB$LOOPING = $DISTINCT;
; %PRINT: 5
; 1461
; 1462 $field
; 1463 NMX_CIRCUIT_FIELDS = ! These define the CIRCUIT_BLOCK
; 1464 set
; L 1465 CIRCUIT_LINK = [$sub_block(NMX_LINK_SIZE)],
; %PRINT: [0,0,0,0] (+%O'0')
; 1466 $align(word)
; L 1467 CIRCUIT_SERVICE_TIMER = [$integer]
; %PRINT: [16,0,16,1] (+%O'40')
; 1468 tes;
; 1469
; 1470 literal
; L 1471 NMX_CIRCUIT_BLOCK_SIZE = $field_set_size,
; %PRINT: 17 fullwords
; L 1472 NMX_CIRCUIT_BLOCK_ALLOCATION = $field_set_units;
; %PRINT: 34 addressable units
; 1473
; 1474 macro
; M 1475 NMX_CIRCUIT_BLOCK =
; 1476 block [NMX_CIRCUIT_BLOCK_SIZE] field(NMX_CIRCUIT_FIELDS, NMX_LINK_FIELDS, NMX_GENERAL_FIELDS) %;
; 1477 !
; 1478 $field
; 1479 NMX_LINE_FIELDS = ! These define the LINE_BLOCK
; 1480 set
; L 1481 LINE_LINK = [$sub_block(NMX_LINK_SIZE)]
; %PRINT: [0,0,0,0] (+%O'0')
; 1482 $align(word)
; 1483 tes;
; 1484
; 1485 literal
; L 1486 NMX_LINE_BLOCK_SIZE = $field_set_size,
; %PRINT: 16 fullwords
; L 1487 NMX_LINE_BLOCK_ALLOCATION = $field_set_units;
; %PRINT: 32 addressable units
; 1488
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 16
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (5)
; 1489 macro
; M 1490 NMX_LINE_BLOCK =
; 1491 block [NMX_LINE_BLOCK_SIZE] field(NMX_LINE_FIELDS, NMX_LINK_FIELDS, NMX_GENERAL_FIELDS) %;
; 1492 !
; 1493 $field
; 1494 NMX_MODULE_FIELDS = ! These define the MODULE_BLOCK
; 1495 set
; L 1496 MODULE_GENERAL = [$sub_block(NMX_GENERAL_SIZE)]
; %PRINT: [0,0,0,0] (+%O'0')
; 1497 tes;
; 1498
; 1499 literal
; L 1500 NMX_MODULE_BLOCK_SIZE = $field_set_size,
; %PRINT: 12 fullwords
; L 1501 NMX_MODULE_BLOCK_ALLOCATION = $field_set_units;
; %PRINT: 24 addressable units
; 1502
; 1503 macro
; M 1504 NMX_MODULE_BLOCK =
; 1505 block [NMX_MODULE_BLOCK_SIZE] field(NMX_MODULE_FIELDS, NMX_GENERAL_FIELDS) %;
; 1506 !
; 1507 !
; M 1508 macro $NM$_SUC =
; M 1509 NM$SUC
; 1510 %print('Function Completed Successfuly') %;
; 1511 !
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 17
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (6)
; 1512 !+
; 1513 ! NMX Queue Management Definitions
; 1514 !-
; 1515
; 1516 ! Field mapping for queue header
; 1517 $field QHD_FIELDS =
; 1518 set
; L 1519 Q_HEAD = [$address],
; %PRINT: [0,0,16,0] (+%O'0')
; L 1520 Q_TAIL = [$address]
; %PRINT: [1,0,16,0] (+%O'2')
; 1521 tes;
; 1522
; 1523 macro
; M 1524 $NMX_QUEUE_INITIALIZE (QUE) =
; M 1525 begin
; M 1526 bind
; M 1527 $NMX$QUE = QUE: block field (QHD_FIELDS);
; M 1528
; M 1529 $NMX$QUE [Q_HEAD] = 0;
; M 1530 $NMX$QUE [Q_TAIL] = $NMX$QUE [Q_HEAD]
; 1531 end %,
; 1532
; M 1533 $NMX_ENQUEUE (QUE, STR) = ! Queue STR to tail of QUE
; M 1534 begin
; M 1535 bind
; M 1536 $NMX$QUE = QUE: block field (QHD_FIELDS),
; M 1537 $NMX$STR = STR: block field (QHD_FIELDS);
; M 1538
; M 1539 $NMX$STR [Q_HEAD] = 0;
; M 1540 .$NMX$QUE [Q_TAIL] = $NMX$STR [Q_HEAD];
; M 1541 $NMX$QUE [Q_TAIL] = $NMX$STR [Q_HEAD]
; 1542 end %,
; 1543
; M 1544 $NMX_DEQUEUE (QUE, STR) = ! Dequeue from QUE to STR
; M 1545 begin
; M 1546
; M 1547 linkage
; M 1548 $NMX$LKG_QUE = jsr (register = 0; register = 1) :
; M 1549 nopreserve (1, 2, 3) preserve (0, 4, 5) clearstack valuecbit;
; M 1550
; M 1551 external routine
; M 1552 $QRMVF : $NMX$LKG_QUE;
; M 1553
; M 1554 ! not C-bit = true
; M 1555
; M 1556 not $QRMVF (QUE; STR)
; 1557 end %;
; 1558 !
; 1559 $show(none)
; 1560 !
; 1561 ! *** End of NMXPAR ***
25-Jan-1983 09:23:40 TOPS-20 Bliss-16 3(552) Page 18
4-Jan-1983 09:29:02 NETPKG:<NMX>NMXPAR.REQ.7 (6)
; 1562 !
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<MCB>XPORTX.L16.15 599 42 7 0
; NETPKG:<MCB>MCBLIB.L16.15 372 11 2 0
; NETPKG:<MCB>NMXLIB.L16.13 200 18 9 0
; Information: 1
; Warnings: 0
; Errors: 0
; Run Time: 00:17.8
; Elapsed Time: 00:47.3
; Memory Used: 49 pages
; Library Precompilation Complete