TOPS-20 Monitor Table Descriptions Autopatch Number 22 April 1989 This document describes the internal tables of the TOPS-20 operating system. This manual is a revision and replaces TOPS-20 Monitor Table Descriptions, order number AA-V917C-RM. OPERATING SYSTEM: TOPS-20 Version 7.0 SOFTWARE: TOPS-20 Version 7.0
First Printing, October 1980 Revised, May 1984 Revised, April 1986 Revised, April 1989 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may only be used or copied in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. Copyright C 1980, 1984, 1986, 1989, Digital Equipment Corporation. All Rights Reserved. Printed in U.S.A. The following are trademarks of Digital Equipment Corporation: CI DECtape LA50 SITGO-10 DDCMP DECUS LN01 TOPS-10 DEC DECwriter LN03 TOPS-20 DECmail DELNI MASSBUS TOPS-20AN DECnet DELUA PDP UNIBUS DECnet-VAX HSC PDP-11/24 UETP DECserver HSC-50 PrintServer VAX DECserver 100 KA10 PrintServer 40 VAX/VMS DECserver 200 KI Q-bus VT50 DECsystem-10 KL10 ReGIS DECSYSTEM-20 KS10 RSX d i g i t a l
CONTENTS PREFACE AA . . . . . . . . . . . . . . . . . . . . . . . . 1 AC . . . . . . . . . . . . . . . . . . . . . . . . 2 AJ . . . . . . . . . . . . . . . . . . . . . . . . 3 AK . . . . . . . . . . . . . . . . . . . . . . . . 4 ALOC1 . . . . . . . . . . . . . . . . . . . . . . . 5 ALOC2 . . . . . . . . . . . . . . . . . . . . . . . 6 BAT . . . . . . . . . . . . . . . . . . . . . . . . 7 BD . . . . . . . . . . . . . . . . . . . . . . . . 9 BP . . . . . . . . . . . . . . . . . . . . . . . 10 BR . . . . . . . . . . . . . . . . . . . . . . . 11 BTB . . . . . . . . . . . . . . . . . . . . . . . 12 BU . . . . . . . . . . . . . . . . . . . . . . . 14 BUG-HLT/CHK/INF-STORAGE-AREA . . . . . . . . . . . 16 C1 . . . . . . . . . . . . . . . . . . . . . . . 17 CA . . . . . . . . . . . . . . . . . . . . . . . 18 CB-LATSRV . . . . . . . . . . . . . . . . . . . . 19 CB-LLMOP . . . . . . . . . . . . . . . . . . . . 21 CB-SCPAR . . . . . . . . . . . . . . . . . . . . 23 CC-LATSRV . . . . . . . . . . . . . . . . . . . . 24 CC-NIPAR . . . . . . . . . . . . . . . . . . . . 25 CD . . . . . . . . . . . . . . . . . . . . . . . 28 CDB . . . . . . . . . . . . . . . . . . . . . . . 29 CDBCAD . . . . . . . . . . . . . . . . . . . . . . 32 CDR-STORAGE-AREA . . . . . . . . . . . . . . . . . 34 CDS . . . . . . . . . . . . . . . . . . . . . . . 37 CF . . . . . . . . . . . . . . . . . . . . . . . 38 CFHSHT . . . . . . . . . . . . . . . . . . . . . . 39 CFHSTS . . . . . . . . . . . . . . . . . . . . . . 40 CFNNAM . . . . . . . . . . . . . . . . . . . . . . 41 CFSHNM . . . . . . . . . . . . . . . . . . . . . . 42 CFSHST . . . . . . . . . . . . . . . . . . . . . . 43 CFSOFN . . . . . . . . . . . . . . . . . . . . . . 44 CFS RESOURCE BLOCK . . . . . . . . . . . . . . . . 45 CFSSTR . . . . . . . . . . . . . . . . . . . . . . 48 CFS VOTER MESSAGE BUFFER . . . . . . . . . . . . . 49 CH-CTERMD . . . . . . . . . . . . . . . . . . . . 51 CH-D36COM . . . . . . . . . . . . . . . . . . . . 53 CH-LLMOP . . . . . . . . . . . . . . . . . . . . 54 CHNTAB . . . . . . . . . . . . . . . . . . . . . . 55 CICMST . . . . . . . . . . . . . . . . . . . . . . 56 CIDATA . . . . . . . . . . . . . . . . . . . . . . 57 CI RELATED VARIABLES . . . . . . . . . . . . . . . 58 CLASS-SCHEDULER-STORAGE . . . . . . . . . . . . . 61 CLUHST . . . . . . . . . . . . . . . . . . . . . . 63 CLUSTS . . . . . . . . . . . . . . . . . . . . . . 64 CM . . . . . . . . . . . . . . . . . . . . . . . 65 iii
CONNECT ID FORMAT . . . . . . . . . . . . . . . . 66 CSTnX . . . . . . . . . . . . . . . . . . . . . . 67 CST0 . . . . . . . . . . . . . . . . . . . . . . . 68 CST1 . . . . . . . . . . . . . . . . . . . . . . . 70 CST2 . . . . . . . . . . . . . . . . . . . . . . . 71 CST3 . . . . . . . . . . . . . . . . . . . . . . . 73 CST5 . . . . . . . . . . . . . . . . . . . . . . . 75 CT . . . . . . . . . . . . . . . . . . . . . . . . 76 DEV`DTB . . . . . . . . . . . . . . . . . . . . . 77 DEVCH1 . . . . . . . . . . . . . . . . . . . . . . 79 DEVCH2 . . . . . . . . . . . . . . . . . . . . . . 80 DEVCHR . . . . . . . . . . . . . . . . . . . . . . 81 DEVDSP . . . . . . . . . . . . . . . . . . . . . . 82 DEVNAM . . . . . . . . . . . . . . . . . . . . . . 83 DEVUNT . . . . . . . . . . . . . . . . . . . . . . 84 DIRECTORY . . . . . . . . . . . . . . . . . . . . 85 DIRECTORY CACHE . . . . . . . . . . . . . . . . . 94 DL . . . . . . . . . . . . . . . . . . . . . . . 95 DNA PARAMETER AND COUNTER DATA BASE . . . . . . . 96 DRMBBT . . . . . . . . . . . . . . . . . . . . . . 98 DRMCNT . . . . . . . . . . . . . . . . . . . . . . 99 DSKSIZ . . . . . . . . . . . . . . . . . . . . . . 100 DSKSZ`N . . . . . . . . . . . . . . . . . . . . . 101 DSKUTP . . . . . . . . . . . . . . . . . . . . . . 102 DST . . . . . . . . . . . . . . . . . . . . . . . 103 DTE-STORAGE-AREA . . . . . . . . . . . . . . . . . 104 DTEDTV . . . . . . . . . . . . . . . . . . . . . . 115 EC . . . . . . . . . . . . . . . . . . . . . . . 116 EL . . . . . . . . . . . . . . . . . . . . . . . 117 ENQ/DEQ-LOCK-BLOCK . . . . . . . . . . . . . . . . 119 ENQ/DEQ - STORAGE AREA . . . . . . . . . . . . . . 121 EPT . . . . . . . . . . . . . . . . . . . . . . . 123 ES . . . . . . . . . . . . . . . . . . . . . . . 127 ET . . . . . . . . . . . . . . . . . . . . . . . 129 EXEC-PG-MAP-TBL . . . . . . . . . . . . . . . . . 130 FA . . . . . . . . . . . . . . . . . . . . . . . 131 FB . . . . . . . . . . . . . . . . . . . . . . . 132 FDB . . . . . . . . . . . . . . . . . . . . . . . 133 FE-STORAGE-AREA . . . . . . . . . . . . . . . . . 138 FKBSPW . . . . . . . . . . . . . . . . . . . . . . 140 FKCNO . . . . . . . . . . . . . . . . . . . . . . 141 FKINT . . . . . . . . . . . . . . . . . . . . . . 142 FKINTB . . . . . . . . . . . . . . . . . . . . . . 144 FKJOB . . . . . . . . . . . . . . . . . . . . . . 145 FKJTQ . . . . . . . . . . . . . . . . . . . . . . 146 FKNBW . . . . . . . . . . . . . . . . . . . . . . 147 FKNR . . . . . . . . . . . . . . . . . . . . . . . 148 FKPGS . . . . . . . . . . . . . . . . . . . . . . 149 FKPGST . . . . . . . . . . . . . . . . . . . . . . 150 FKPT . . . . . . . . . . . . . . . . . . . . . . . 151 FKQ1 . . . . . . . . . . . . . . . . . . . . . . . 152 iv
FKQ2 . . . . . . . . . . . . . . . . . . . . . . . 153 FKSTA2 . . . . . . . . . . . . . . . . . . . . . . 154 FKSTAT . . . . . . . . . . . . . . . . . . . . . . 155 FKSWP . . . . . . . . . . . . . . . . . . . . . . 156 FKTIME . . . . . . . . . . . . . . . . . . . . . . 157 FKWSP . . . . . . . . . . . . . . . . . . . . . . 158 FL . . . . . . . . . . . . . . . . . . . . . . . 159 FREESPACE BLOCK HEADER/TRAILER . . . . . . . . . . 160 FREESPACE DESCRIPTOR . . . . . . . . . . . . . . . 161 FREESPACE-DESCRIPTOR INDEX TABLE . . . . . . . . . 162 FREESPACE HISTORY RECORD . . . . . . . . . . . . . 163 GB . . . . . . . . . . . . . . . . . . . . . . . 164 GTOKPR . . . . . . . . . . . . . . . . . . . . . . 165 HC . . . . . . . . . . . . . . . . . . . . . . . 167 HN . . . . . . . . . . . . . . . . . . . . . . . 168 HOM . . . . . . . . . . . . . . . . . . . . . . . 170 HOME . . . . . . . . . . . . . . . . . . . . . . . 173 HOMTAB . . . . . . . . . . . . . . . . . . . . . . 174 IA . . . . . . . . . . . . . . . . . . . . . . . 175 IB . . . . . . . . . . . . . . . . . . . . . . . 176 IDXFIL . . . . . . . . . . . . . . . . . . . . . . 177 IM . . . . . . . . . . . . . . . . . . . . . . . 179 INDEX . . . . . . . . . . . . . . . . . . . . . . 180 INIDEV . . . . . . . . . . . . . . . . . . . . . . 181 INIDV1 . . . . . . . . . . . . . . . . . . . . . . 182 INIDVT . . . . . . . . . . . . . . . . . . . . . . 183 IORB . . . . . . . . . . . . . . . . . . . . . . . 186 IPCF-MESSAGE-HEADER . . . . . . . . . . . . . . . 189 IPCF-PID-HEADER . . . . . . . . . . . . . . . . . 190 IPCF-STORAGE-AREA . . . . . . . . . . . . . . . . 191 JOB AREA . . . . . . . . . . . . . . . . . . . . . 192 JOBDIR . . . . . . . . . . . . . . . . . . . . . . 193 JOBNAM . . . . . . . . . . . . . . . . . . . . . . 194 JOBPNM . . . . . . . . . . . . . . . . . . . . . . 195 JOBPT . . . . . . . . . . . . . . . . . . . . . . 196 JOBRT . . . . . . . . . . . . . . . . . . . . . . 197 JOBRTL . . . . . . . . . . . . . . . . . . . . . . 198 JSB . . . . . . . . . . . . . . . . . . . . . . . 199 KB . . . . . . . . . . . . . . . . . . . . . . . 210 KDB . . . . . . . . . . . . . . . . . . . . . . . 211 LB . . . . . . . . . . . . . . . . . . . . . . . 216 LD . . . . . . . . . . . . . . . . . . . . . . . 217 LH . . . . . . . . . . . . . . . . . . . . . . . 218 LI . . . . . . . . . . . . . . . . . . . . . . . 219 LK . . . . . . . . . . . . . . . . . . . . . . . 220 LN . . . . . . . . . . . . . . . . . . . . . . . 221 LOGICAL-NAME-DEFINITION . . . . . . . . . . . . . 222 LOGICAL-NAMES-LIST . . . . . . . . . . . . . . . . 223 LPT-STORAGE-AREA . . . . . . . . . . . . . . . . . 224 LS . . . . . . . . . . . . . . . . . . . . . . . 230 LT . . . . . . . . . . . . . . . . . . . . . . . 231 v
MB . . . . . . . . . . . . . . . . . . . . . . . 232 MD-D36PAR . . . . . . . . . . . . . . . . . . . . 233 MD-NIPAR . . . . . . . . . . . . . . . . . . . . 234 MN . . . . . . . . . . . . . . . . . . . . . . . 235 MONITOR-STATISTICS . . . . . . . . . . . . . . . . 236 MSCCID . . . . . . . . . . . . . . . . . . . . . . 239 MSCINT . . . . . . . . . . . . . . . . . . . . . . 240 MSCOLD . . . . . . . . . . . . . . . . . . . . . . 241 MSCP SERVER COMMAND HEADER . . . . . . . . . . . . 242 MSCP SERVER STORAGE . . . . . . . . . . . . . . . 244 MSCTMO . . . . . . . . . . . . . . . . . . . . . . 246 MT . . . . . . . . . . . . . . . . . . . . . . . 247 MTA-STORAGE-AREA . . . . . . . . . . . . . . . . . 248 MTCUTB . . . . . . . . . . . . . . . . . . . . . . 256 NAMUTP . . . . . . . . . . . . . . . . . . . . . . 257 NE . . . . . . . . . . . . . . . . . . . . . . . 258 NF . . . . . . . . . . . . . . . . . . . . . . . . 259 NM . . . . . . . . . . . . . . . . . . . . . . . 260 NN . . . . . . . . . . . . . . . . . . . . . . . 261 NO-SCLINK . . . . . . . . . . . . . . . . . . . . 263 NO-SCPAR . . . . . . . . . . . . . . . . . . . . 264 NR . . . . . . . . . . . . . . . . . . . . . . . 265 NT . . . . . . . . . . . . . . . . . . . . . . . 266 NTCTAB . . . . . . . . . . . . . . . . . . . . . . 268 NX . . . . . . . . . . . . . . . . . . . . . . . 269 OA . . . . . . . . . . . . . . . . . . . . . . . 271 OFNLEN . . . . . . . . . . . . . . . . . . . . . . 272 PA . . . . . . . . . . . . . . . . . . . . . . . 273 PB-PHYKNI . . . . . . . . . . . . . . . . . . . . 274 PB-SCPAR . . . . . . . . . . . . . . . . . . . . 276 PC . . . . . . . . . . . . . . . . . . . . . . . 277 PCB (PORT CONTROL BLOCK) . . . . . . . . . . . . . 278 PHYCHT . . . . . . . . . . . . . . . . . . . . . . 280 PHYUNT . . . . . . . . . . . . . . . . . . . . . . 281 PI . . . . . . . . . . . . . . . . . . . . . . . 282 PIDCNT . . . . . . . . . . . . . . . . . . . . . . 283 PIDTBL . . . . . . . . . . . . . . . . . . . . . . 284 PL . . . . . . . . . . . . . . . . . . . . . . . 285 PR-NISRV . . . . . . . . . . . . . . . . . . . . 286 PR-NIUSR . . . . . . . . . . . . . . . . . . . . 287 PRMP . . . . . . . . . . . . . . . . . . . . . . . 288 PROCESS STORAGE AREA . . . . . . . . . . . . . . . 289 PS-PHYKNI . . . . . . . . . . . . . . . . . . . . 291 PS-SCPAR . . . . . . . . . . . . . . . . . . . . 294 PSB . . . . . . . . . . . . . . . . . . . . . . . 295 PT-IPCIDV . . . . . . . . . . . . . . . . . . . . 302 PT-PHYKNI . . . . . . . . . . . . . . . . . . . . 303 PT-SCPAR . . . . . . . . . . . . . . . . . . . . 304 PTYSTS . . . . . . . . . . . . . . . . . . . . . . 305 QA . . . . . . . . . . . . . . . . . . . . . . . 306 QB . . . . . . . . . . . . . . . . . . . . . . . 307 vi
Q-BLOCK . . . . . . . . . . . . . . . . . . . . . 308 QE . . . . . . . . . . . . . . . . . . . . . . . 310 QH-D36PAR . . . . . . . . . . . . . . . . . . . . 311 QH-PHYKNI . . . . . . . . . . . . . . . . . . . . 312 QL . . . . . . . . . . . . . . . . . . . . . . . 313 QP . . . . . . . . . . . . . . . . . . . . . . . 314 RB . . . . . . . . . . . . . . . . . . . . . . . 315 RC-D36PAR . . . . . . . . . . . . . . . . . . . . 316 RC-PHYKNI . . . . . . . . . . . . . . . . . . . . 318 RD . . . . . . . . . . . . . . . . . . . . . . . 321 RES-FREE-SPACE . . . . . . . . . . . . . . . . . . 323 RI . . . . . . . . . . . . . . . . . . . . . . . 326 RIDSTS (REQUEST-ID STATUS) . . . . . . . . . . . . 327 RM . . . . . . . . . . . . . . . . . . . . . . . 328 RS . . . . . . . . . . . . . . . . . . . . . . . 329 RT . . . . . . . . . . . . . . . . . . . . . . . 330 SA . . . . . . . . . . . . . . . . . . . . . . . . 331 SB-LATSRV . . . . . . . . . . . . . . . . . . . . 333 SB-PHYKNI . . . . . . . . . . . . . . . . . . . . 335 SB-SCPAR . . . . . . . . . . . . . . . . . . . . 336 SBLIST (SYSTEM BLOCK LIST) . . . . . . . . . . . . 337 SCA CONNECTION BLOCK . . . . . . . . . . . . . . . 338 SCA BUFFER RETURNED TO CLUDGR . . . . . . . . . . 343 SCA RING BUFFER ENTRY . . . . . . . . . . . . . . 345 SCDB . . . . . . . . . . . . . . . . . . . . . . . 350 SCDBTB . . . . . . . . . . . . . . . . . . . . . . 351 SCHED-VARIABLES . . . . . . . . . . . . . . . . . 352 SCOUNT . . . . . . . . . . . . . . . . . . . . . . 357 SDB . . . . . . . . . . . . . . . . . . . . . . . 358 SG-LLINKS . . . . . . . . . . . . . . . . . . . . 361 SJ . . . . . . . . . . . . . . . . . . . . . . . 362 SL . . . . . . . . . . . . . . . . . . . . . . . 363 SN . . . . . . . . . . . . . . . . . . . . . . . 365 SNAMES . . . . . . . . . . . . . . . . . . . . . . 366 SNBLKS . . . . . . . . . . . . . . . . . . . . . . 367 SPFLTS . . . . . . . . . . . . . . . . . . . . . . 368 SPT . . . . . . . . . . . . . . . . . . . . . . . 369 SPTD . . . . . . . . . . . . . . . . . . . . . . . 371 SPTH . . . . . . . . . . . . . . . . . . . . . . . 372 SPTO . . . . . . . . . . . . . . . . . . . . . . . 374 SPTO2 . . . . . . . . . . . . . . . . . . . . . . 375 SPTO3 . . . . . . . . . . . . . . . . . . . . . . 376 SPTO4 . . . . . . . . . . . . . . . . . . . . . . 377 SS . . . . . . . . . . . . . . . . . . . . . . . 378 SSIZE . . . . . . . . . . . . . . . . . . . . . . 379 ST . . . . . . . . . . . . . . . . . . . . . . . 380 STIMES . . . . . . . . . . . . . . . . . . . . . . 381 STRTAB . . . . . . . . . . . . . . . . . . . . . . 382 SV-LLINKS . . . . . . . . . . . . . . . . . . . . 383 SV-LLMOP . . . . . . . . . . . . . . . . . . . . 384 SWAP-FREE-SPACE (NON-EXTENDED) . . . . . . . . . . 386 vii
SYNMTB . . . . . . . . . . . . . . . . . . . . . . 387 SYS-STARTUP-VECTORS . . . . . . . . . . . . . . . 388 SYSERR-STORAGE-AREA . . . . . . . . . . . . . . . 389 SYSTEM BLOCK . . . . . . . . . . . . . . . . . . . 409 TR . . . . . . . . . . . . . . . . . . . . . . . 412 TT-LINE-DYN-DATA-BLK . . . . . . . . . . . . . . . 413 TTACTL . . . . . . . . . . . . . . . . . . . . . . 418 TTBUFS . . . . . . . . . . . . . . . . . . . . . . 419 TTCSAD . . . . . . . . . . . . . . . . . . . . . . 420 TTCSTM . . . . . . . . . . . . . . . . . . . . . 421 TTSPWD . . . . . . . . . . . . . . . . . . . . . . 422 TTSTAT . . . . . . . . . . . . . . . . . . . . . . 423 TTY-STORAGE-AREA . . . . . . . . . . . . . . . . . 425 UD . . . . . . . . . . . . . . . . . . . . . . . 427 UDB . . . . . . . . . . . . . . . . . . . . . . . 428 UDIORB . . . . . . . . . . . . . . . . . . . . . . 435 UDS . . . . . . . . . . . . . . . . . . . . . . . 436 UE . . . . . . . . . . . . . . . . . . . . . . . 437 UN . . . . . . . . . . . . . . . . . . . . . . . 438 UPT . . . . . . . . . . . . . . . . . . . . . . . 440 USER-PG-MAP-TBL . . . . . . . . . . . . . . . . . 443 VANA . . . . . . . . . . . . . . . . . . . . . . . 449 VN . . . . . . . . . . . . . . . . . . . . . . . 451 VRB . . . . . . . . . . . . . . . . . . . . . . . 452 VRPA . . . . . . . . . . . . . . . . . . . . . . . 453 VRQA . . . . . . . . . . . . . . . . . . . . . . . 454 WS . . . . . . . . . . . . . . . . . . . . . . . 456 XR . . . . . . . . . . . . . . . . . . . . . . . 457 APPENDIX A LISTING BY MONITOR MODULES viii
PREFACE This book describes the internal TOPS-20 monitor tables. The sample table on the following page illustrates the information presented in the book. In addition to the tables, this book also contains one appendix which lists in alphabetical order the names of the monitor modules and the tables defined in each. Change bars in the margin identify new tables and/or changes to | existing tables. These changes are the result of software changes for | TOPS-20 V6, V6.1, and V7.0. ix
MONITOR TABLES SAMPLE !This is the title of the table. Text description of the table Defined in: STG !This describes where either the storage is !defined or where the symbols are defined or both Index: Fork number !This field (optional) describes any standard !index that may exist for the table Format +-------------------------------------------------------+ STRG1: | POINT1 | POINT2 | POINT3 | description of POINT1 | description of POINT2 | |_______________________________________________________| / \ SYM1=n | Description of contents of SYM1 | | |_______________________________________________________| | . | LEN | . | | . | | \ . \ \ / STRG2: | flags | * +-------------------------------------------------------+ 0 1 2 35 +-------------------------------------------------------+ STRG2: | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content BTO 0 BT%0 System about to crash BT1 1 BT%1 System crashing BT235 2-35 BT2%35 Location where system crashes notes STRG1 and 2 are actual storage locations contained in the monitor. POINT1, 2, and 3 are pointers to words or parts of words usually defined by a DEFSTR macro. SYML is a symbol with a specific value (n) usually to indicate displacements. LEN is the length of a particular section of the table. Numbers are octal except where they indicate bit positions and where they are indicated by D or a decimal point. "*" indicates further information on the word is found following the table. x
MONITOR TABLES AA This is the ACCEPT call's argument block, which is used by DECnet Session Control and NSP. Defined in: D36PAR Format ACCEPT Argument Block +------------------------------------------------------------------------+ AASCB | SCB ID for new port | |------------------------------------------------------------------------| AAPID | NSP's port identifier | |------------------------------------------------------------------------| AAFLO | Flow control type | |------------------------------------------------------------------------| AAGOL | Data request goal | |------------------------------------------------------------------------| AASIZ | Max bytes allowed in a message segment | |------------------------------------------------------------------------| AASCV | Session control's entry address | +------------------------------------------------------------------------+ 1
MONITOR TABLES AC AC is the LAT Host Access Codes portion of the Host Node (HN) data structure. It is a bit mask that defines what groups have access to the host. Note that the bit mask is made up of PDP-11 style 8-bit bytes. Therefore, group zero is represented by bit 7 -- the low order bit in the first byte. Defined in: LATSRV Format ACCESS CODES +------------------------------------------------------------------------+ ACLNG | Access code string length in bytes | |------------------------------------------------------------------------| /\ ACCOD | Storage for 256 bit bit-mask | ^D32 \ \ \/ +------------------------------------------------------------------------+ 2
MONITOR TABLES AJ This is the DECnet Router adjancency block -- AJ. Defined in: D36PAR Format +------------------------------------------------------------------------+ AJNXT | Pointer to next adjacency block | |------------------------------------------------------------------------| | | AJNTY | | | | | | | AJVER | AJECO | AJCUS | | | | AJFLA | Version of | ECO number of | Customer | | | | | neighbor's | neighbor's | version of | * | | | | router | router | neighbor's | | | | | | | router | |------------------------------------------------------------------------| AJNAH | Adjacency's hi-order address (NI) | |------------------------------------------------------------------------| | AJNAL | | AJNAA [+] | AJNAN [+] | |Low order in string format <a1,a2> | | | Adjacency's node | | | | | number | |------------------------------------------------------------------------| AJRTV | Pointer to this adjacency's routing vector | |------------------------------------------------------------------------| AJCBP | Circuit block for this adjacency | |------------------------------------------------------------------------| AJBSZ | Block size requested by neighbor | |------------------------------------------------------------------------| AJNHT | Neighbor's hello timer | |------------------------------------------------------------------------| AJTLR | Time last message received from adjacency | |------------------------------------------------------------------------| | AJPRI | AJARE | AJMPD | | | Routers | Routers area | MPD (reserved) | | |priority to be | (reserved | | | | designated | field) | | | | router (NI) | | | | +------------------------------------------------------------------------+ Field AJSTA (0-1) Adjacency state For field AJFLA(6-11): AJPH4 6 Phase 4 node AJVRQ 7 Verification requested by remote AJBLO 8 Blocking is requested by this node AJRJF 9 Reject flag AJMTA 10 No multi-cast traffic accepted ---------- [+] AJADR is a concatenation of AJNAA and AJNAN. 3
MONITOR TABLES AK AK is the format of the DECnet logical link ACKNUM field. This structure is expected to be used to pull apart a value held in a register. Defined in: LLINKS Format ACKNUM +------------------------------------------------------------------------+ | | | | AKNUM | | | | | The ACK number, we | | | | | know this is | | | | |rt-justified negative | * | | | |if high bit of byte is | | | | | set -- see LOADE | | | | | macro (E is as in | | | | | HRRE). | +------------------------------------------------------------------------+ Field AKPNT (20-20) Flag set if field is present Field AKQAL (21-23) Qualifier AK$QAK=0 0 is ACK AK$QNK=1 1 is NAK AK$CAK=2 2 is cross-sub channel ACK AK$CNK=3 3 is cross-sub channel NAK 4
MONITOR TABLES ALOC1 Allocation 1 Table. This non-resident table, the size of the OFN area in SPT, is used to help enforce disk quotas for each active directory. Defined in: STG Index: ALOCX portion of an OFN entry in the SPT Format +-------------------------------------------------------+ / \ ALOC1: | ADIRN | ODIRC | | ALCWD | Directory No. | Directory OFN Count | | |-------------------------------------------------------| | | . | | | . | NOFN | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / The right half of each slot in this table contains a count of all OFNs for files from that directory. 5
MONITOR TABLES ALOC2 Allocation 2 Table. This non-resident table, the size of the OFN area in SPT, is used in disk quota enforcement for each active directory. Defined in: STG Index: ALOCX portion of an OFN entry in the SPT Format +-------------------------------------------------------+ / \ | PGLFT* | | ALOC2: | Count of Pages Left for This Directory | | | (may be negative) | | |-------------------------------------------------------| | | . | NOFN | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / An alternate use for this word is PGPTR Pointer to CFS data base entry when CFS is used. 6
MONITOR TABLES BAT Bad Allocation Table. The BAT Block is one sector in length (128 words). It consists of 4 words of header, followed by data; each 2 word data entry indicates the bad spots on the disk. The BAT Block is found on section 2 of a disk pack. Defined in: PROLOG Format +-------------------------------------------------------+ -- BATNAM | SIXBIT/BAT/ | | =0 |-------------------------------------------------------| | BATFRE | BATFR | | | =1 | Free blocks left | | | |-------------------------------------------------------| | | |9 BTHCT 17| | | | # of pairs | | Header | | added by | | | | mapper | | | |-------------------------------------------------------| | | BTMCT | | | # of pairs added by monitor | -- |-------------------------------------------------------| -- | Bad Block information | * | |-------------------------------------------------------| Data | |9 ADD27 35| Pair | | Address of starting sector | * | |-------------------------------------------------------| -- | . | | . | | . | | . | \ . \ |-------------------------------------------------------| -- | | | |-------------------------------------------------------| Data | | Pair |-------------------------------------------------------| -- BATCOD | Unlikely code 606060 | =176 |-------------------------------------------------------| BATBLK | Sector number of the BAT block | =177 +-------------------------------------------------------+ 7
MONITOR TABLES BAT (Cont.) Data Pair 0 8 18 20 21 22 35 +-------------------------------------------------------+ word 1 | BATNB | | BTKNM | | APRNM | |Bad Blks Cnt| |Controller#|Type| Apr Serial # | +-------------------------------------------------------+ Bits Pointer Content 0-8 BATNB Count of Bad Blks in Pair 18-20 BTKNB Massbus Controller # 21 BADT Type field in BAT Pair 23-35 APRNM APR Serial # word 2 Bits 18-35 ADD18 Old style disk address of starting sector 9-35 ADD27 New style address of starting sector 8
MONITOR TABLES BD BD represents the format of the Buffer Segment Descriptor (BSD) used to describe data buffers passed to and from the NI. Defined in: PHYKNI | | Format | +------------------------------------------------------------------------+ | | | | | BDSBA | | | | | | Phys. seg. base addr. | | |------------------------------------------------------------------------| BDNXA | Physical next BSD address | |------------------------------------------------------------------------| BDSLN | Segment length | |------------------------------------------------------------------------| BDRES | Reserved for software | +------------------------------------------------------------------------+ Field BDPAC (6-7) Packing mode 9
MONITOR TABLES BP This table contains the byte pointer and count structure used by DECnet. Routines DNGUBY,DNPUBY, and all related DNGUnB require a pointer to this type of structure. All byte pointers are section local (for the moment). Defined in: D36PAR Format +------------------------------------------------------------------------+ BPBPT | Byte pointer to user string | |------------------------------------------------------------------------| BPBYT | Byte count left | +------------------------------------------------------------------------+ 10
MONITOR TABLES BR This is the NI% jsys internal buffer descriptor block. Defined in: NIUSR Format +------------------------------------------------------------------------+ BRNXT | Pointer to next BR block | |------------------------------------------------------------------------| | BRBSZ | BRPRO | | Buffer size | Protocol type | |------------------------------------------------------------------------| | BRCP1 | BRCP2 | | Locked core page 1 | Locked core page 2 | |------------------------------------------------------------------------| /\ BRBFA | Buffer address (Byte pointer) | 2 \ \ \/ |------------------------------------------------------------------------| BRBID | Buffer ID | |------------------------------------------------------------------------| BRSTA | Return status | |------------------------------------------------------------------------| /\ BRDAD | Destination Ethernet address | 2 \ \ \/ |------------------------------------------------------------------------| /\ BRSAD | Source Ethernet address | 2 \ \ \/ +------------------------------------------------------------------------+ 11
MONITOR TABLES BTB Bit Table for Disk. This table has mapped into it pointers to the file STRNAM:<ROOT-DIRECTORY> DSKBTTBL, when pages are allocated or deallocated from the disk unit(s) belonging to structure, STRNAM. The bit table file as shown below indicates which pages are assigned (bits off) and which are available (bits on). It consists of two parts; the top half contains the number of free pages for each cylinder in the structure and the bottom half contains a bit map (1 bit per page) for all pages of each cylinder in the structure. At initialization time, the following are assigned in the bit table file: o All of this structure's pages that belong to the Home blocks o All of the pages in this structure's swapping space o Those pages pointed to by the BAT blocks Defined in: STG Format +-------------------------------------------------------+ | Free Pages on Cylinder 0 | |-------------------------------------------------------| | Free Pages on Cylinder 1 | |-------------------------------------------------------| | . | | . | \ . \ |-------------------------------------------------------| | Free Pages on Cylinder n | |-------------------------------------------------------| | | \ | | Cylinder 0 \ \ / |-------------------------------------------------------| | | \ | | Cylinder 1 \ \ / |-------------------------------------------------------| | . | | . | \ . \ |-------------------------------------------------------| | | \ | | Cylinder n \ \ / +-------------------------------------------------------+ 12
MONITOR TABLES BTB (Cont.) NOTE In the bit map each cylinder starts on a word boundary and contains as many full words as are needed for all of its pages. For Systems which have sectioning, the BTB table does not hold the maps for the disk bit table file. Rather, the monitor maps the disk bit table file for a structure into section 4 of the monitor's address space when it needs to allocate or deallocate disk pages. That is, the index block of this file is the page table pointed to by the monitor's section pointer for section 4. 13
MONITOR TABLES BU The data structure BU defines a bucket in the DECnet-36 node name/number data base. Defined in: SCLINK Format +------------------------------------------------------------------------+ BUNXT | Pointer to next bucket | |------------------------------------------------------------------------| /\ BUNO1 | | <NO.LEN*NRNOPB> \ \ \/ +------------------------------------------------------------------------+ 14
MONITOR TABLES BUG-HLT/CHK/INF-STORAGE-AREA BUGHLT, BUGCHK, and BUGINF Storage Area. This resident storage is used to hold such information as the push down list, PC, ACs and dispatch address when a BUGHLT/BUGCHK/BUGINF occurs. BUGSEB holds the pointer to the last queued up SYSERR block. (See SYSERR-STORAGE-AREA) Defined in: STG Format +-------------------------------------------------------+ BUGHLT: | 0 (PC Stored here on BUGHLT)| |-------------------------------------------------------| | | JRST BUGH0 | | |-------------------------------------------------------| | XBUGHL: | Indirect Word for BUGHLTs | | |-------------------------------------------------------| | SVVEXM: | Save Valid Examine in BUGTYO | | |-------------------------------------------------------| | BUGLCK: | Lock on BUGxxx Routines | | |-------------------------------------------------------| | BUGCHK: | 0 (PC Stored here on BUGCHK)| | |-------------------------------------------------------| | | JRST BUGC0 | | |-------------------------------------------------------| | XBGCCH: | MSEC1,,BGCCHK | | |-------------------------------------------------------| | BUGINF: | 0 (PC Stored here on BUGINF)| | |-------------------------------------------------------| | | JRST BUGI0 | | |-------------------------------------------------------| | XBGCIN: | MSEC1,,BGCINF | | |-------------------------------------------------------| | BUGACS: | | / \ | \ ACs Saved on a BUGHLT \ # of | \ (Contents of ACs at time of BUGHLT) \ ACs | |-------------------------------------------------------| \ / | BUGACU: | Place to Store Previous | / \ | \ Context ACs \ # of | \ \ ACs | |-------------------------------------------------------| \ / | BUGPDL: | Push Down List | / \ | \ \ BUGPLN | \ \ \ / | |-------------------------------------------------------| | BUGCNT: | Count of BUG Blocks in SYSERR Queue | | | (Maximum of BUGMAX=20) | | |-------------------------------------------------------| | BUGNUM: | Number of BUGCHK/INFs since STARTUP | 15
MONITOR TABLES BUG-HLT/CHK/INF-STORAGE-AREA (Cont.) |-------------------------------------------------------| BUGSEB: | Ptr to last queued up SYSERR Block | | due to a BUGHLT/CHK/INF | |-------------------------------------------------------| BUGP1: | Temp Storage for BUGSTO Routine | |-------------------------------------------------------| BUGP2: | Temp Storage for BUGSTO Routine | |-------------------------------------------------------| BUGP3: | Temp Storage for BUGSTO Routine | |-------------------------------------------------------| BUGTMS: | Time to Store Next BUGTIM | | (Length of Interval Is BUGINT = 5 min) | |-------------------------------------------------------|/ \ | BUGTIM: | ASCII Time & Date Stored for BUGHLT | 4 | |-------------------------------------------------------|\ / PISAV: | CONI PI at time of BUGHLT | |-------------------------------------------------------| PISVI: | Temp Copy of PISAV before | | BUGLCK Acquired | +-------------------------------------------------------+ 16
MONITOR TABLES C1 C1 is the format of the NI Read and Read/Clear Counters command. Defined in: PHYKNI Format +------------------------------------------------------------------------+ C1RID | Request ID | |------------------------------------------------------------------------| C1PID | Process ID | |------------------------------------------------------------------------| C1BFA | Buffer address | |------------------------------------------------------------------------| C1SPI | Secondary portal ID | |------------------------------------------------------------------------| | | | C1FNC | *| | | Function code | +------------------------------------------------------------------------+ Field C1ZRO (0-0) Indicates counters should be zeroed 17
MONITOR TABLES CA This table contains field definitions for the CTERM character attributes portion of the CTERM Characteristics Message. Defined in: CTERMD Format Character attribute structure - right justified +------------------------------------------------------------------------+ | | | | | | | | | | | | | | | | * +------------------------------------------------------------------------+ Field CAXXX (28-28) (Reserved Flag) Field CASCF (29-29) Special Char Function (For O,R,U,V,W,X,DEL) Field CACEC (30-31) Control Char Echo .CACCX=0 No Echo .CACCI=1 Image Echo .CACCS=2 Standard Echo .CACCB=3 Standard, then Image Echo Field CADIS (32-32) Discard output if CLEAR OOB Field CAINC (33-33) Include immed. HELLO OOB in input stream Field CAOOB (34-35) Out of band handling | .CAOOX=0 Not out of band | .CAOOI=1 Immediate clear | .CAOOD=2 Deferred clear | .CAOOH=3 Immediate hello 18
MONITOR TABLES CB-LATSRV CB is the LAT circuit block data structure. There is one circuit block for each LAT virtual circuit created since the last system startup. There can be up to HNMXC connect blocks allocated at one time. If that threshold has been reached when attempting to open a new virtual circuit, the monitor reuses an inactive connect block if any are available. Connect blocks are chained together; HN locations HNQAC and HNQIC contain pointers to the first and last entries on the active circuit (HNQAC) and inactive circuit (HNQIC) queues. Defined in: LATSRV Format CIRCUIT BLOCK +------------------------------------------------------------------------+ /\ CBLNK | Queue Link words (must be first words) | 2 \ \ \/ |------------------------------------------------------------------------| | CBRID | CBLID | | Circuit handle assigned by the | Local circuit index | | remote | | |------------------------------------------------------------------------| * | | | | | CBCSB | | | | Count since balanced | |------------------------------------------------------------------------| | CBSDC | CBTSQ | | Number of slots with data waiting | Next transmit sequence number | |------------------------------------------------------------------------| | CBRSQ | CBLRA | | Next expected receive sequence | Sequence number of last message | | number | ack'd by remote node | |------------------------------------------------------------------------| CBTIM | Current value of circuit timer | |------------------------------------------------------------------------| | | CBRTC | CBKAV | | | Current retransmit count | 2* Server Keep-alive | | |------------------------------------------------------------------------| CBKAT | TODCLK last time message receieved from server | |------------------------------------------------------------------------| | CBQUA | CBERR | | Circuit quality | Reason code for last time circuit | | | stopped | |------------------------------------------------------------------------| | CBDLL | | | Number of transmit buffers in the | | | DLL | | 19
MONITOR TABLES CB-LATSRV (Cont.) |------------------------------------------------------------------------| /\ CBXBQ | Queue of free transmit buffers | 2 \ \ \/ |------------------------------------------------------------------------| /\ CBAKQ | Unacknowledged queue header | 2 \ \ \/ |------------------------------------------------------------------------| /\ CBSBQ | Circuit slot queue | 2 \ \ \/ |------------------------------------------------------------------------| /\ CBDNI | NI address of remote server | 2 \ \ \/ |------------------------------------------------------------------------| | CBMTF | CBRPV | | Maximum transmit frame size for | Remote protocol version and ECO | | circuit | | |------------------------------------------------------------------------| | CBMSL | CBNBF | | Maximum slots allowed by remote | Additional transmit buffers | | | allowed by remote | |------------------------------------------------------------------------| | CBCTI | CBKTI | | Value of remote's circuit timer |Value of remote's keep-alive timer | |------------------------------------------------------------------------| | CBPTC | CBSTA | | Product type code for remote node | Virtual circuit state | |------------------------------------------------------------------------| | CBNUM | CBRSC | | Remote's system number | Remote's system name count | |------------------------------------------------------------------------| | CBRLC | | | Remote's location text count | | |------------------------------------------------------------------------| /\ CBSNM | Remote's system name | <<ML.SNM+4>/5> \ \ \/ |------------------------------------------------------------------------| /\ CBLOC | Remote's location string | <<ML.LOC+4>/5> \ \ \/ +------------------------------------------------------------------------+ For field CBFLG(0-2): CBRRF 0 Reply requested flag CBMRS 1 Must reply soon flag CBMRN 2 Must reply now flag 20
MONITOR TABLES CB-LLMOP DECnet counters block. Defined in: LLMOP Format +------------------------------------------------------------------------+ CBID | Requester ID for this block | |------------------------------------------------------------------------| CBBR | Bytes received | |------------------------------------------------------------------------| CBBX | Bytes transmitted | |------------------------------------------------------------------------| CBFR | Frames received | |------------------------------------------------------------------------| CBFX | Frames transmitted | |------------------------------------------------------------------------| CBMCB | Multicast bytes received | |------------------------------------------------------------------------| CBMCF | Multicast frames received | |------------------------------------------------------------------------| CBFXD | Frames xmitted, initially deferred | |------------------------------------------------------------------------| CBFXS | Frames xmitted, single collision | |------------------------------------------------------------------------| CBFXM | Frames xmitted, multiple collisions | |------------------------------------------------------------------------| CBXF | Transmit failures | |------------------------------------------------------------------------| CBXFM | Transmit failure bit MASK | |------------------------------------------------------------------------| CBCDF | Carrier detect check failed | |------------------------------------------------------------------------| CBRF | Receive failures | |------------------------------------------------------------------------| CBRFM | Receive failure bit mask | |------------------------------------------------------------------------| CBDUN | Discarded unknown | |------------------------------------------------------------------------| CBD01 | Discarded position 1 | |------------------------------------------------------------------------| CBD02 | Discarded position 2 | |------------------------------------------------------------------------| CBD03 | Discarded position 3 | |------------------------------------------------------------------------| CBD04 | Discarded position 4 | |------------------------------------------------------------------------| CBD05 | Discarded position 5 | 21
MONITOR TABLES CB-LLMOP (Cont.) |------------------------------------------------------------------------| CBD06 | Discarded position 6 | |------------------------------------------------------------------------| CBD07 | Discarded position 7 | |------------------------------------------------------------------------| CBD08 | Discarded position 8 | |------------------------------------------------------------------------| CBD09 | Discarded position 9 | |------------------------------------------------------------------------| CBD10 | Discarded position 10 | |------------------------------------------------------------------------| CBD11 | Discarded position 11 | |------------------------------------------------------------------------| CBD12 | Discarded position 12 | |------------------------------------------------------------------------| CBD13 | Discarded position 13 | |------------------------------------------------------------------------| CBD14 | Discarded position 14 | |------------------------------------------------------------------------| CBD15 | Discarded position 15 | |------------------------------------------------------------------------| CBD16 | Discarded position 16 | |------------------------------------------------------------------------| CBFBE | Free buffer list empty | |------------------------------------------------------------------------| CBSBU | System buffer unavailable | |------------------------------------------------------------------------| CBUBU | User buffer unavailable | |------------------------------------------------------------------------| CBUFD | Unrecognized frame dest | |------------------------------------------------------------------------| CBXXX | This word actually reserved for ucode | |------------------------------------------------------------------------| CBUNI | Portal ID | +------------------------------------------------------------------------+ 22
MONITOR TABLES CB-SCPAR The DECnet-36 Connect Block is used to describe the information present in the NSP connect initiate message. Defined in: SCPAR Format The Internal Connect Block +------------------------------------------------------------------------+ CBNUM | Node number | |------------------------------------------------------------------------| CBCIR | Loopback circuit ID | |------------------------------------------------------------------------| /\ CBDST | Destination end user name | PB.LEN \ \ \/ |------------------------------------------------------------------------| /\ CBSRC | Source end user name | PB.LEN \ \ \/ |------------------------------------------------------------------------| /\ CBUID | Source user identification | <<^D39+3>/4> \ \ \/ |------------------------------------------------------------------------| /\ CBPSW | Access verification password | <<^D39+3>/4> \ \ \/ |------------------------------------------------------------------------| /\ CBACC | Account data | <<^D39+3>/4> \ \ \/ |------------------------------------------------------------------------| /\ CBUDA | End user connect data | <<^D16+3>/4> \ \ \/ |------------------------------------------------------------------------| | CBUCT | CBPCT | | User ID byte count | Password byte count | |------------------------------------------------------------------------| | CBACT | CBCCT | | Account data byte count | User connect data count | +------------------------------------------------------------------------+ 23
MONITOR TABLES CC-LATSRV CC is the LAT circuit counters block. This data structure is part of the Circuit Block (CB) data structure. Defined in: LATSRV Format CIRCUIT COUNTERS +------------------------------------------------------------------------+ CCRCV | Messages received | |------------------------------------------------------------------------| CCXMT | Messages transmitted | |------------------------------------------------------------------------| CCRTR | Messages retransmitted | |------------------------------------------------------------------------| CCSEQ | Receive message sequence errors | |------------------------------------------------------------------------| CCIMR | Illegal messages received | |------------------------------------------------------------------------| CCISR | Illegal slots received | |------------------------------------------------------------------------| CCRES | Resource errors | |------------------------------------------------------------------------| CCMSK | Illegal message error mask | +------------------------------------------------------------------------+ 24
MONITOR TABLES CC-NIPAR CC is the read channel counters block. There are two words in the table for each entry. CC is used by NTCTRS for the SHOW COUNTERS and SHOW and ZERO COUNTERS network management functions. Defined in: NIPAR Format +------------------------------------------------------------------------+ | Network management data | | | |------------------------------------------------------------------------| CCSLZ | Seconds since last zeroed | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCBYR | Bytes received | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCBYS | Bytes sent | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCDGR | Datagrams received | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCDGS | Datagrams sent | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCMBR | Multicast bytes received | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCMDR | Multicast datagrams received | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCDSD | Datagrams sent, initially deferred | 25
MONITOR TABLES CC-NIPAR (Cont.) |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCDS1 | Datagrams sent, single collision | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCDSM | Datagrams sent multiple collisions | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCSF | Send failures | |------------------------------------------------------------------------| CCSFM | Send failure bit mask | * |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCRF | Receive failure | |------------------------------------------------------------------------| CCRFM | Receive failure bit mask | * |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCUFD | Unrecognized frame destination | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCDOV | Data overrun | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCSBU | System buffer unavailable | |------------------------------------------------------------------------| | Network management data | | | |------------------------------------------------------------------------| CCUBU | User buffer unavailable | +------------------------------------------------------------------------+ 26
MONITOR TABLES CC-NIPAR (Cont.) 0 23 24 25 26 27 28 29 30 31 32 35 +---------------------------------------------------------------+ CCSFM | | | | | | | | | | | +---------------------------------------------------------------+ Symbol Bit Contents CCLOC 24 Loss of carrier CCXBP 25 Xmit buffer parity error CCRFD 26 Remote failure to defer CCXFL 27 Xmitted frame too long CCOC 28 Open circuit CCSC 29 Short circuit CCCF 30 Collision detect check failed CCEXC 31 Excessive collisions 0 26 27 28 29 30 31 32 35 +---------------------------------------------------------------+ CCRFM | | | | | | | | +---------------------------------------------------------------+ Symbol Bit Contents CCFLE 27 Free list parity error CCNFB 28 No free buffers CCFTL 29 Frame too long CCFER 30 Framing error CCBCE 31 Block check error 27
MONITOR TABLES CD This is the DECnet remote console command data area; the data buffer is supplied by the user. Defined in: LLMOP Format Remote Console Command Data Output MSD +------------------------------------------------------------------------+ /\ CDMSD | | MD.LEN \ \ \/ +------------------------------------------------------------------------+ 28
MONITOR TABLES CDB Channel Data Block. This table, one per channel, contains channel dependent instructions and data, pointers to the units (that is, UDBs) belonging to the channel and information about the currently active unit. When the channel interrupts, control passes (by way of a JSP instruction) to CDBINT. The CDB address is stored in AC, P1, and the principal analysis routine, PHYINT, is called. Defined in: PHYPAR Format +-------------------------------------------------------+ CDBINT | 0(2-word PC stored on interrupt)| |-------------------------------------------------------| -5 | 0 | |-------------------------------------------------------| -4 | (Flags) 0 | |-------------------------------------------------------| -3 | 0,, .+1 | |-------------------------------------------------------| -2 | MOVEM P1, .+2+CDBSVQ | |-------------------------------------------------------| -1 | JSP P1, PHYINT | |-------------------------------------------------------| CDBSTS=0| Status and Configuration Information | * |-------------------------------------------------------| CDBMBW=1| Memory Bandwidth Scheduling Information | |-------------------------------------------------------| CDBODT | Overdue Timer when Data Transfer Active | |-------------------------------------------------------| CDBICP | EXEC Virtual Adrs (EPT Adrs) of | | Interrupt Vector,, Data Logout Area | |-------------------------------------------------------| CDBIUN | Initial AOBJN Pointer to UDB Table | |-------------------------------------------------------| CDBCUN | Current AOBJN Pointer to UDB Table | |-------------------------------------------------------| CDBDSP | Unit Utilities Dispatch | Main Entry Dispatch | | | (Channel Dispatch Table) | * |-------------------------------------------------------| CDBFCT | Fairness Count for Latency | |-------------------------------------------------------| CDBPAR | Channel Memory Parity Errors | |-------------------------------------------------------| CDBNXM | Channel NXMs | |-------------------------------------------------------| CDBXFR | Currently Transferring UDB | |-------------------------------------------------------| CDBCCL \ Channel Command List (3 words) \ 29
MONITOR TABLES CDB (Cont.) |-------------------------------------------------------| | | | | CDBUDB | KDB or UDB Table (16 words) | | \ \ |-------------------------------------------------------| CDBSVQ | P1 Saved Here on Vector Interrupt Entry | |-------------------------------------------------------| CDBJEN | BLT 17, 17 (Interrupt Dismiss) | |-------------------------------------------------------| | DATA0 RH, CDBRST | |-------------------------------------------------------| | XJEN CDBINT | |-------------------------------------------------------| CDBRST | Location Used by CDBJEN | |-------------------------------------------------------| CDBCNI | Channel CONI at Start of Interrupt | |-------------------------------------------------------| CDBONR | Fork Who Has Channel in Maint. Mode | |-------------------------------------------------------| CDBADR | Number of This Channel (CHNTAB index) | |-------------------------------------------------------| CDBCS0 | Channel Status 0 at Error | |-------------------------------------------------------| CDBCS1 | Channel Status 1 | |-------------------------------------------------------| CDBCS2 | Channel Status 2 | |-------------------------------------------------------| CDBCC1 | First CCW | |-------------------------------------------------------| CDBCC2 | Second CCW | |-------------------------------------------------------| CDBOVR | Number of Overruns | |-------------------------------------------------------| CDBICR | Initial STCR When Device Started | |-------------------------------------------------------| CDBCL2 \ Alternate CCW List (3 words) \ |-------------------------------------------------------| CDBIRB | IORB to start transfer for | |-------------------------------------------------------| CDBLUN | Last UDB which did transfer or positioning | |-------------------------------------------------------| CDBCAD | CCW for first command | |-------------------------------------------------------| | CCW for second command | |-------------------------------------------------------| CDBDDP \ CDB Device Dependent Block \ \ \ \ \ | | * | | +-------------------------------------------------------+ 30
MONITOR TABLES CDB (Cont.) | | 0 1 2 3 4 5 6 7 8 9 10 11 12 25 26 28 29 35 | +-------------------------------------------------------+ | CDBSTS | | | | | | | | | | | | | | | PIA | TYPE | | +-------------------------------------------------------+ Symbol Bits Content CS.OFL 0 Offline CS.AC1 1 Primary command active CS.AC2 2 Secondary command active CS.MAI 3 Channel is in maint. mode CS.MRQ 4 Maint. mode requested for a unit CS.ERC 5 Error recovery in progress CS.STK 6 Channel Support, Command Stacking CS.ACL 7 Alternate CCW List is Current CS.CWP 8 Channel write parity error detected on this channel CS.CIP 9 This is a CI port channel CS.DEN 10 (CI port) DIAG TO TAKE CHANNEL is enabled | CS.NIP 12 This is an NI port channel | 26-28 PIA field | 29-35 Channel type field CDBDSP See Tables, UDS and CDS CDBDDP CDB Device Dependent Block for the RH20 Controller | | Defined in: PHYH2 | | CDBDDP= +-------------------------------------------------------+ | RH2CNI | CONI RH2, T1 | | |-------------------------------------------------------| | RH2CNO | CONO RH2, T2 | | |-------------------------------------------------------| | RH2DTI | DATAI RH2, T1 | | |-------------------------------------------------------| | RH2DTO | DATAO RH2, T2 | | +-------------------------------------------------------+ 31
MONITOR TABLES CDBCAD This is the CDB Device Dependent Block for the CI or NI. | Defined in: PHYPAR 0 5 6 17 18 36 CDBCAD= +--------------------------------------------------------+ CDBFG | CFSTA | | CSLDF | CSDMF | +--------------------------------------------------------+ CFSTA States of the Port: Symbol Port States Port-state description CHNUNK 0 Unknown (system startup) CHNSTP 1 Stopped (and needs to be restarted) CHNNRL 2 Needs to have microcode reloaded CHNRIP 3 Microcode reload in progress CHNNDM 4 Needs to have dump taken CHNDIP 5 Dump in progress CHNMAI 6 Maintenance mode (owned by diagnostic) CHNDED 7 Dead (we are not trying to restart it) CHNRUN 10 Running CHNRLC 11 Microcode reload complete CHNDMC 12 Microcode dump complete CSLDF Last fork that loaded the port's microcode CSDMF Last fork that dumped the port's microcode 0 1 14 15 17 18 35 CDBVER= +---------------------------------------------------------+ CDBCAD+1 | | | CDCHN | CDVER | +---------------------------------------------------------+ Symbol Bits Contents CDPRT 0 Port; 0 = CI; 1 = NI CDCHN 15-17 RH20 channel number CDVER 18-35 Microcode version number 32
MONITOR TABLES CDBCAD (Cont.) | +------------------------------------------------------------+ | CDBLGO= | Logout Word 0 | | CDBCC1 | | | |------------------------------------------------------------| | CDBLG1= | Logout Word 2 | | CDBCC2 | | | |------------------------------------------------------------| | CDBLG2= | Logout Word 3 | | CDBICR | | | |------------------------------------------------------------| | CDBQRQ= | Non-0 if had to requeue a request | | CDBRST | | | |------------------------------------------------------------| | CDBCTR= | Monotonic number,,Fork which owns counters | | CDBCL2 | | | |------------------------------------------------------------| | CDBFQE= | Message,,datagram free queue error count | | CDBCL2+1| | | |------------------------------------------------------------| | CDBECW= | CCW from PCB at error | | CDBCL2+2| | | +------------------------------------------------------------+ 33
MONITOR TABLES CDR-STORAGE-AREA Card Readers (Physical) Storage Area. Most entries are CDRN words long where CDRN equals the number of card readers on the system. Defined in: STG Format +-------------------------------------------------------+ /\ CDRCT1: | Buffer Count | CDRN \ \ \/ |-------------------------------------------------------| /\ CDRCKT: | Word for Scheduler Test | CDRN \ \ \/ |-------------------------------------------------------| /\ CDRSTS: | Status Word |*CDRN \ \ \/ |-------------------------------------------------------| /\ CDRST1: | Second Status Word | CDRN \ \ \/ |-------------------------------------------------------| /\ CDRST2: | Third Status Word |*CDRN \ \ \/ |-------------------------------------------------------| /\ CARDCT: | Count of Cards Read | CDRN \ \ \/ |-------------------------------------------------------| /\ CARDER: | Number of "Hardware" Errors | CDRN \ \ \/ |-------------------------------------------------------| CDRLCK: | CDR Lock Word | |-------------------------------------------------------| CDRCNT: | Count of CDRs Opened | |-------------------------------------------------------| /\ --- CDUBAD: | Address of UBA Window | CDRN | \ \ \/ | |-------------------------------------------------------| /\ | CD11A: | Address of UBA-11 Address | CDRN \ \ \/ KS10 |-------------------------------------------------------| /\ only CDERBF: | Error Status for Cardreader | CDRN | | *16 | \ \ \/ | |-------------------------------------------------------| /\ | CDUNIT: | Unit Number of Cardreader | CDRN | \ \ \/ | +-------------------------------------------------------+ --- 34
MONITOR TABLES CDR-STORAGE-AREA (Cont.) The Non-resident area contains: +-------------------------------------------------------+ / \ CDRBUF: | | | | Card Reader Buffer | 1 page \ \ | +-------------------------------------------------------+ \ / 0 17 8 9 20 35 +-------------------------------------------------------+ CDRSTS | CDFRK | | | CDERR | entry | Owning Fork | | | Last Error Condition| +-------------------------------------------------------+ Bits Pointer Content 0-17 CDFRK Owning fork 18 CDOL If one, cards in reader 19 CDBLK Waiting for a card 20-35 CDERR Last error condition 0 1 2 3 4 5 11 2 3 4 5 6 17 18 35 CDRSTS +-------------------------------------------------------+ entry | | | | | | | | | | | | |CDWRD | +-------------------------------------------------------+ Bits Pointer Content 0 CDAII CDR opened in ASCII 1 CDATN CDR needs attention 2 CDMSG Suppress system messages 3 CDOPN CDR is open 4 CDER Error in this CDR 12 CDCNT Count of bytes now in buffer 13 CDEOF EOF button was pushed 14 CDBUF Buffer for process level 15 CDPIR Process needs interrupt 16 CDBFI Buffer for PI level 17 CDDON If one, doing a buffer by process 18-35 CDWRD Current internal storage word 35
MONITOR TABLES CDR-STORAGE-AREA (Cont.) 0 1 2 3 4 5 6 7 11 12 17 8 9 20 35 CDRST2 +-------------------------------------------------------+ entry | | | | | | | | CDPSI | |CDSST | +-------------------------------------------------------+ Symbol Bits Pointer Content CD%SHA 0 CDSHA "Status has arrived" flag 1 CDMWS MTOPR is waiting for status to arrive CD%RLD 2 CDRLD Front end has reloaded 3 CDOFI Offline interrupt is pending 4 CDEFI End of file interrupt already given 5-6 CDRTYP Type of card reader 7 CDEXST Existance of reader 12-17 CDPSI PSI chan. no. for on-line transitions 20-35 CDSST Software status word Symbol Bits Content .DVFFE 28 Device has a fatal, unre- coverable error .DVFLG 29 Error logging info. follows .DVFEF 30 EOF .DVFIP 31 I/O in progress .DVFSE 32 Software cond. .DVFHE 33 Hardware error .DVFOL 34 Offline .DVFNX 35 Nonexistent device 36
MONITOR TABLES CDS Channel Dispatch Service Routine Table. This table contains vectored addresses to channel dependent functions, and is given in its generalized form. The channel dispatch table for the RH20 and RH11 begins at RH2DSP. See PHYPAR for definitions of arguments given and returned on calls to these channel routines. Defined in: PHYPAR Format +-------------------------------------------------------+ CDSINI=0 | Initialize and Build Data Structure | |-------------------------------------------------------| CDSSTK=1 |Stack Second Channel Command, Skip if OK(fails if RH11)| |-------------------------------------------------------| CDSSIO=2 | Start I/O on IORB (skip if started O.K.) | |-------------------------------------------------------| CDSPOS=3 | Do Positioning to Idle Unit (skips if O.K.) | |-------------------------------------------------------| CDSLTM=4 | Return Latency and Best Request (that is, best IORB) | |-------------------------------------------------------| CDSINT=5 | Interrupt Entry | |-------------------------------------------------------| CDSCCW=6 | Generate Single CCW Entry | |-------------------------------------------------------| CDSHNG=7 | Hung Reset | |-------------------------------------------------------| CDSRST=10| On Restart, Reset Channel and All Devices | |-------------------------------------------------------| CDSCHK=11| Periodic Check Entry, PIA, ... | |-------------------------------------------------------| CDSEXT=12| Check legality of a unit (skip if existent) | |-------------------------------------------------------| CDSSCA=13| Extract address from CCW entry | +-------------------------------------------------------+ 37
MONITOR TABLES CF This table defines the structure of the wait check tables. Defined in: SCLINK Format 0 1 11 12 13 +------------------------------------------------------------------------+ | | | | | CFTST | * | | | | | Local address of tester function | +------------------------------------------------------------------------+ Field CFIFI (0-0) The sign bit is reserved for IFIW flg Field CFCHN (12-12) Set if a channel is req'd for this fcn 38
MONITOR TABLES CFHSHT This table is the CFS resource hash table and it contains the addresses of CFS resource blocks. The hash number used to index into the table is a combination of the root and qualifier of the resource. Collisions are linked off of the forward pointer of each resource block. Defined in: STG Index: Hash number calculated from root and qualifier of resource +-------------------------------------------------------+ | Address of CFS resource block | / \ |-------------------------------------------------------| | | | | | | | | | | | | | | | | | HSHLEN | | | | | | | | | | | | | | | | | \ \ | +-------------------------------------------------------+ \ / 39
MONITOR TABLES CFHSTS This table contains the status of each connection that CFS has. This table is parallel to CFSHST. Defined in: STG 0 17 18 35 +------------------------------------------------------+ | Connection state | Node type | * / \ | | | | |------------------------------------------------------| | | | | | | | | | | | | | | | | | HSTSIZ | | | | | | | | | | | | | | | | | \ \ | +------------------------------------------------------+ \ / Connection State: -1 --- When connection is fully open 0 --- When connection is being opened 1B0 -- This bit is turned off when a disconnect happens and the interlock is set. 1B17 - This bit is turned off to indicate a lack of credit. Node Type: -1 --- Full CFS node 0 --- Not full CFS node 40
MONITOR TABLES CFNNAM This table contains the node names of the processors to which CFS on this system is connected. Defined in: STG +------------------------------------------------------+ \ 8-bit ASCII node name of CPU connected through CFS \ / \ \ \ |------------------------------------------------------| | | | | | | | | | | | | | | | | | HSTSIZ*2 | | | | | | | | | | | | | | | | | \ \ | +------------------------------------------------------+ \ / 41
MONITOR TABLES CFSHNM This table contains the serial numbers of the processors to which CFS on this system is connected. This table is parallel to CFSHST (where the connect ID can be found for the connection). Defined in: STG +------------------------------------------------------+ | Processor serial number of CPU connected through CFS | / \ |------------------------------------------------------| | | | | | | | | | | | | | | | | | HSTSIZ | | | | | | | | | | | | | | | | | \ \ | +------------------------------------------------------+ \ / 42
MONITOR TABLES CFSHST This table contains the connection ID for each connection that CFS has. The number of connections that CFS currently has is kept in location CFSHCT. CFSHCM contains the count of full voting hosts. Defined in: STG +------------------------------------------------------+ | CID of connection or -1 if this is a listener | / \ |------------------------------------------------------| | | | | | | | | | | | | | | | | | HSTSIZ | | | | | | | | | | | | | | | | | \ \ | +------------------------------------------------------+ \ / 43
MONITOR TABLES CFSOFN This table, indexed by OFN, contains the address of the CFS resource block which describes this system's access to that OFN. Defined in: STG Index: OFN +------------------------------------------------------+ | Address of CFS resource block describing OFN | / \ |------------------------------------------------------| | | | | | | | | | | | | | | | | | NOFN | | | | | | | | | | | | | | | | | \ \ | +------------------------------------------------------+ \ / 44
MONITOR TABLES CFS RESOURCE BLOCK This is the format of the CFS resource block. This block fully describes a resource known to CFS. The root and qualifier uniquely describe the resource. The base address of the hash table (which contains these resource blocks) is contained in CFHSHT. | Defined in: CFSPAR +-------------------------------------------------------+ HSHLNK=0 | Link to next resource block | |-------------------------------------------------------| HSHROT=1 | Root | |-------------------------------------------------------| HSHQAL=2 | Qualifier | |-------------------------------------------------------| HSHTIM=3 | Time stamp when the resource was granted | |-------------------------------------------------------| HSFLAG=4 | Flags for resource |* |-------------------------------------------------------| HSHCOD=5 | Unique code used for ID | |-------------------------------------------------------| HSHPST=6 |Post address for when resource is released (call-back) | |-------------------------------------------------------| | 11 | 17 | | HSHVWD=7 | HSHLKF |HSHVCT | HSHUNQ | | Lock field |Votes in | Vote code | |-------------------------------------------------------| HSHVRW=10 | | HSHDRC |* | Reserved | Denial reason code | |-------------------------------------------------------| HSHNBT=11 | Node bit table (nodes to contact upon release) | |-------------------------------------------------------| HSHRET=12 | Return address used for removal (SHTADD or LNGADD) | |-------------------------------------------------------| HSHDVD=13 | HSHRHN | HSHVVL | | Dest port number of commit| Vote code | |-------------------------------------------------------| HSHMSK=14 | HSHDLY | HSHFRK | | Delay mask | Owning fork | |-------------------------------------------------------| HSHOPT=15 | Optional data from vote | |-------------------------------------------------------| HSHOP1=16 | Transaction number for optional data | |-------------------------------------------------------| HSHOKV=17 | Call-back routine for when a vote is OKed | |-------------------------------------------------------| HSHCDA=20 | Call-back routine for optional data in vote | |-------------------------------------------------------| HSHFCT=21 | Fairness timer | 45
MONITOR TABLES CFS RESOURCE BLOCK (Cont.) |-------------------------------------------------------| HSHWTM=22 | Vote retry time | |-------------------------------------------------------| HSHBKP=23 | Back pointer | |-------------------------------------------------------| HSHBTT=25 | First word of hash bit table (for directory locks) | |-------------------------------------------------------| \ \ HSHDRI \ Additional words for hash bit table \ \ \ +-------------------------------------------------------+ +-------------------------------------------------------+ HSFLAG=4 | Flags for resource | |-------------------------------------------------------| Contents of HSFLAG Symbol Bits Meaning HSHWVT 0 If on, we are voting HSHYES 1 Yes/No vote (1 if anyone said no) HSHTYP 2-5 Type of entry .HTPLH=0 Place-holder entry .HTOAD=1 Owned for full sharing .HTOSH=2 Owned Read-Only shared .HTOEX=3 Owned exclusively .HTOPM=4 Owned for Promiscous read HSHTWF 6 "Token" wait flag HSHRTY 7 Retry now bit HSHLSG 8 Entry being released HSHVRS 9 Vote restart flag HSHLOS 10 Long/Short flag (1 if block is long) HSHUGD 11 Voting for an upgrade HSHODA 12 Optional data valid HSHKPH 13 Don't purge this entry HSHVTP 14-17 Type we are voting on HSHDWT 18 If here, waiting for delay to be up HSVUC 19 Bit to indicate vote must include HSHCOD HSHLCL 20 Local exclusive HSHRFF 21 For tokens only HSHAVT 22 Vote on all nodes, even reduced CFS nodes HSHBTF 23 If set, this is a bit-table file HSHCNT 24-35 Count of sharers 46
MONITOR TABLES CFS RESOURCE BLOCK (Cont.) |-------------------------------------------------------| HSHVRW=10 | | HSHDRC | | Reserved | Denial reason code | |-------------------------------------------------------| Contents of field HSHDRC Symbol Value Meaning .CDDWT 1 We are in VOTDWT .CDVUC 2 HSHCODs are unequal .CDYUX 3 We are voting, HSHYES set, we have .HTOEX .CDYUN 4 We are voting, HSHYES set, unequal access .CDVDL 5 We are voting, HSHDLY set .CDVLN 6 We are voting, tie, our serial bigger .CDVUX 7 We are voting, tie, HSHUGD set, he wants .HTOEX .CDVUN 10 We are voting, tie, HSHUGD set, unequal access .CDOCT 11 We own resource, conflicting access, HSHCNT set .CDOFC 12 We own resource, conflicting access, HSHFCT valid 47
MONITOR TABLES CFSSTR This table, indexed by structure number, contains the transaction number for the structure free count of each structure. Defined in: STG Index: Structure number +------------------------------------------------------+ | Transaction number for structure free count | / \ |------------------------------------------------------| | | | | | | | | | | | | | | | | | STRN | | | | | | | | | | | | | | | | | \ \ | +------------------------------------------------------+ \ / 48
MONITOR TABLES CFS VOTER MESSAGE BUFFER This is the format of the text area of the message packet sent by CFS upon a vote request or reply. It does not include the SCA header, which appears above the first word of the text area (SCALEN). Defined in: CFSSRV +-------------------------------------------------------+ SCALEN=11 | CFFLG | CFCOD | CFUNQ | | Flags | Opcode | Unique code |* |-------------------------------------------------------| CFROT=12 | Root | |-------------------------------------------------------| CFQAL=13 | Qualifier | |-------------------------------------------------------| CFTYP=14 | Access required or answer | |-------------------------------------------------------| CFDAT=15 | Optional data (OFNLEN or retry time) | |-------------------------------------------------------| CFDT1=16 | Transaction number for optional data | |-------------------------------------------------------| CFDST0=17 | Structure free count in bit table | |-------------------------------------------------------| CFDST1=20 | Transaction number for structure free count | |-------------------------------------------------------| CFVGRD=21 | CFGWD | CFDRC | | Guard word (for debugging)| Denial reason code | +-------------------------------------------------------+ +-------------------------------------------------------+ SCALEN=11 | CFFLG | CFCOD | CFUNQ | | Flags | Opcode | Unique code | +-------------------------------------------------------+ Contents of FLAGS field Symbol Bits Meaning CFODA 0 Optional data present CFVUC 1 Vote to include HSHCOD 49
MONITOR TABLES CFS VOTER MESSAGE BUFFER (Cont.) Contents of OPCODE field Symbol Value Meaning .CFVOT 1 Vote request .CFREP 2 Reply to vote request .CFRFR 3 Resource freed .CFCEZ 4 Seize resource .CFBOW 5 Broadcast of OFN change .CFBEF 6 Broadcast end-of-file info .CFTAD 7 Time and date arrived .CFSHT 10 Shutdown of system is pending | .CFENQ 11 Cluster ENQ message See the description of the HSHDRC field in the CFS Resouce Block table for the possible value of the denial reason code field (CFDRC). 50
MONITOR TABLES CH-CTERMD This is the CTERM Connection Data Block. One CTERM Connection Data Block exists for each active CTERM connection. Defined in: CTERMD Format Per connection CTERM data base - same as CDB +------------------------------------------------------------------------+ CHIMB | Address of CTERM message input buffer | |------------------------------------------------------------------------| CHUID | Unique ID (used for stale detection) | |------------------------------------------------------------------------| CHCO1 | Last CCOC word (1) sent to server | |------------------------------------------------------------------------| CHCO2 | Last CCOC word (2) sent to server | |------------------------------------------------------------------------| CHBR1 | Last break mask (word 1) sent to server | |------------------------------------------------------------------------| CHBR2 | Last break mask (word 2) sent to server | |------------------------------------------------------------------------| CHBR3 | Last break mask (word 3) sent to server | |------------------------------------------------------------------------| CHBR4 | Last break mask (word 4) sent to server | |------------------------------------------------------------------------| CHRFL | START-READ flags | |------------------------------------------------------------------------| | CHLIN | CHCHL | | TOPS-20 TTY # | DECnet36 channel number | |------------------------------------------------------------------------| | CHINC | CHSTS | | Count of bytes in input buffer | Current status of DECnet link | |------------------------------------------------------------------------| | CHSTA | CHSSZ | | Current CTERM state for this TTY | Maximum protocol message size | |------------------------------------------------------------------------| | CHMAX | CHRLN | | Maximum input buffer length | START-READ length | |------------------------------------------------------------------------| | CHRID | CHRBL | | Remote host ID (node address) | ^R Buffer length (0<RBFCNT) | |------------------------------------------------------------------------| | | | | | | | | | | | | | | | | | * | CHFLG | CHFL1 | |------------------------------------------------------------------------| /\ CHRBF | | <<RBFCNT>/5> \ \ \/ | |------------------------------------------------------------------------| /\ | | Remote username string | 10 | +------------------------------------------------------------------------+ \/ 51
MONITOR TABLES CH-CTERMD (Cont.) For field CHFLG(0-17): CHRDA 0 A read request is active in the server. CHMRD 1 There is input data available in the server CHSSD 2 Set "do not discard" in the next write message CHDSO 3 Discard output (control-O is in effect) CHRCX 4 CR-LF forced on in server's break mask CHCLI 5 Clear input buffer CHASR 6 Send another START-READ CHCOC 7 Send CCOC words CHTCI 8 Sending input characters to TTYSRV CHCTM 9 CTERM INITIATE message has been received CHBIN 10 Last message sent to server was Transparent (binary) For field CHFL1(18-35): CHEDT 18 Remote server supports editing CHLWI 19 Remote server supports line width setting CHRTI 20 Remote server supports remote TEXTI% prompts 52
MONITOR TABLES CH-D36COM This table defines the memory-manager data base for DECnet-36 pre-allocated message blocks and buffers. Defined in: D36COM Format Core handler structure +------------------------------------------------------------------------+ CHBOT | Pointer to free pool start | |------------------------------------------------------------------------| CHPTR | pointer to first free block | |------------------------------------------------------------------------| CHAVL | Number of available blocks | |------------------------------------------------------------------------| | CHLWM | CHREQ | | Low water mark | Size requested | |------------------------------------------------------------------------| | | CHNUM | CHSIZ | | | Total blocks, alloc & unalloc | Size of blocks | +------------------------------------------------------------------------+ Field CHCON (0-0) Set if this block type subject to congestion 53
MONITOR TABLES CH-LLMOP This is the DECnet remote console LLMOP header MSD. Defined in: LLMOP Format MSD for header +------------------------------------------------------------------------+ CHIDD | ID word to hack for Transmit Complete | |------------------------------------------------------------------------| /\ CHMSD | | MD.LEN \ \ \/ |------------------------------------------------------------------------| /\ CHDAT | Room for Largest Remote Console header | <<RCH.LN+3>/4> \ \ \/ +------------------------------------------------------------------------+ 54
MONITOR TABLES CHNTAB Channel Table contains channel data block (CDB) pointers. Defined in: STG Index: Channel Number Format +-------------------------------------------------------+ / \ CHNTAB: | CDB Pointer | | |-------------------------------------------------------| | | . | | . | CHNN | . | | . | | \ . \ | +-------------------------------------------------------+ \ / 55
MONITOR TABLES CICMST This table contains the status of the oldest MSCP driver command for each connection. This is the status returned from the server. If the number does not decrease after each GCS command, we assume the remote is dead. Defined in: PHYMSC Index: Server connect id. +-------------------------------------------------------+ CICMST | GCS count | / \ |-------------------------------------------------------| | | | | | | | / / CTABSZ / / | | | | | | | +-------------------------------------------------------+ \ / 56
MONITOR TABLES CIDATA This table contains the state of the MSCP driver connection during initialization and, after initialization, the status of the connection. Defined in: PHYMSC Index: Server connect id. +-------------------------------------------------------+ CIDATA | Status word | * |-------------------------------------------------------| | | / \ | | | / / | / / CTABSZ | | | | | | +-------------------------------------------------------+ \ / Status word: 0 1 2 3 4 5 6 7 8 +-------------------------------------------------------+ | | | | | | | | | | +-------------------------------------------------------+ Symbol Bits Content DT.TAP 0 Controller is a tape drive (must be sign bit) DT.GAW 1 Node has gone away (connection broken) DT.GCS 2 A GCS command is outstanding DT.IDC 3 We have initiated a disconnect DT.IRC 4 We have initiated a reconnect DT.DIS 5 Other side has initiated a disconnect DT.DI1 6 Already tried disconnect once DT.NXU 7 First pass next unit test DT.KL 8 Remote is KL 57
MONITOR TABLES CI RELATED VARIABLES | This is a list of various CI related variables in SCAMPI. They are | not stored in this contiguous format. | | Defined in: SCAMPI +-------------------------------------------------------+ TOPFQ: | Address of top of message free queue | |-------------------------------------------------------| BOTFQ: | Address of bottom of message free queue | |-------------------------------------------------------| FQCNT: | Count of buffers on message free queue | |-------------------------------------------------------| TOPDC: | Address of top of "don't care" queue | |-------------------------------------------------------| BOTDC: | Address of bottom of "don't care" queue | |-------------------------------------------------------| TOPDFQ: | Address of top of datagram free queue | |-------------------------------------------------------| BOTDFQ: | Address of bottom of datagram free queue | |-------------------------------------------------------| DFQCNT: | Count of buffers on datagram free queue | |-------------------------------------------------------| SBCNT: | Number of system blocks | |-------------------------------------------------------| NOTTAB: | Address of notification table | |-------------------------------------------------------| NOTEND: | Address of end of notification table | |-------------------------------------------------------| UNQBTS: | Uniqueness bits to be assigned to next CID | |-------------------------------------------------------| UNQRFL: | Number of times uniqueness bits have been recycled | |-------------------------------------------------------| NXTIDX: | Next free index into table of CID's | |-------------------------------------------------------| CIDRFL: | Number of times CIDTAB has been recycled | |-------------------------------------------------------| CIDTAB: | Base address of the CID address table | |-------------------------------------------------------| UBTTAB: | Base address of the CID uniqueness bits table | |-------------------------------------------------------| SBSTUK: |Bit mask indicating which systems are stuck on buffers | | |-------------------------------------------------------| | RAPTIM: | Timer for SCA | | |-------------------------------------------------------| | RAPINC: | Min. time increment in milliseconds between reap runs | |-------------------------------------------------------| RNGSW: | Indicates which ring buffer events are recorded | 58
MONITOR TABLES CI RELATED VARIABLES (Cont.) | |-------------------------------------------------------| | | |/\ | SNDTAB: | Table of packets sent |.STLST | | |\/ | |-------------------------------------------------------| | | |/\ | RECTAB: | Table of packets received |.STLST | | |\/ |-------------------------------------------------------| LISTEN: | Number of listeners | |-------------------------------------------------------| RCBCNT: | Number of connections deleted by reaper | |-------------------------------------------------------| TMGCNT: | Count of systems timed out by idle chatter | |-------------------------------------------------------| TMGSBI: | Current system under investigation by idle chatter | | |-------------------------------------------------------| | TMGTIM: | Timeout period for idle chatter | |-------------------------------------------------------| MBPS: | Minimum message buffers per system block | |-------------------------------------------------------| MBCR: | Minimum datagram buffers per system block | |-------------------------------------------------------| MINMSG: | Minimum number of message buffers which should exist | |-------------------------------------------------------| MINDG: | Minimum number of datagram buffers which should exist | |-------------------------------------------------------| NMBCNT: | Count of times we ran out of message buffers | |-------------------------------------------------------| NDBCNT: | Count of times we ran out of datagram buffers | |-------------------------------------------------------| TOTMGB: | Total number of message buffers ever created | |-------------------------------------------------------| TOTDGB: | Total number of datagram buffers ever created | | |-------------------------------------------------------| | MBUST: | Number of times a small request was honored | | | Even under message threshold | | |-------------------------------------------------------| | DBVST: | Number of times a small request was honored | | | Even under datagram threshold | |-------------------------------------------------------| DMRCNT: | Number of message buffer requests deferred | |-------------------------------------------------------| DDRCNT: | Number of datagram buffer requests deferred | |-------------------------------------------------------| RMRCNT: | Number of message buffer requests refused | |-------------------------------------------------------| RDRCNT: | Number of datagram buffer requests refused | 59
MONITOR TABLES CI RELATED VARIABLES (Cont.) |-------------------------------------------------------| ASRMR: | Average size of refused message request | |-------------------------------------------------------| ASRDR: | Average size of refused datagram request | | |-------------------------------------------------------| | LRGREQ: | Buffer requests of less than this size are small req. | | |-------------------------------------------------------| | MGTRSH: | MSG Threshold | | | SC.ABF does not allocate a large request * | | |-------------------------------------------------------| | DGTRSH: | DG Threshold | | | SC.ALD does not allocate a large request * | | +-------------------------------------------------------+ | | * A large reuest is any request larger than 2. 60
MONITOR TABLES CLASS-SCHEDULER-STORAGE This storage is used by the class scheduling algorithms. Defined in: STG Index: A number of the sections are indexed by either class (sections of length MAXCLS) or by job number (sections of length NJOBS). Format +-------------------------------------------------------+ MJBUSE: | Highest job in use | +-------------------------------------------------------+ RDRTIM: | Time to do next reorder | +-------------------------------------------------------+ UTLTIM: | Time to compute utilization | +-------------------------------------------------------+ UTLINT: | Interval to compute next utilization | +-------------------------------------------------------+ OLDSLD: | Previous sold time | +-------------------------------------------------------+ OLDIDL: | Previous idle time | +-------------------------------------------------------+ CLASSF: | If non-zero, doing classy scheduling | +-------------------------------------------------------+ CLSCTL: | Class control word | * +-------------------------------------------------------+ CLSUTL: | | /\ | Class utilization | MAXCLS \ . \ \/ +-------------------------------------------------------+ JOBCLS: | | /\ | Class per job | NJOBS \ . \ \/ +-------------------------------------------------------+ JOBUTL: | | /\ | Job utilization | NJOBS \ . \ \/ +-------------------------------------------------------+ JOBIRT: | | /\ | Job incremental runtime | NJOBS \ . \ \/ +-------------------------------------------------------+ JOBDST: | | /\ | Job distance | NJOBS \ \ \/ +-------------------------------------------------------+ CLSSHR: | | /\ | Class share | MAXCLS \ . \ \/ 61
MONITOR TABLES CLASS-SCHEDULER-STORAGE (Cont.) +-------------------------------------------------------+ CLSSWA: | | /\ | Windfall allocation (or -1) | MAXCLS \ . \ \/ +-------------------------------------------------------+ CLSSHI: | | /\ | Share per member | MAXCLS \ . \ \/ +-------------------------------------------------------+ CLSCNT: | CLGLC | | / \ | Count of processes | | MAXCLS | on GOLST per class | | | \ . \ \ / +-------------------------------------------------------+ CLSDST: | | /\ | Class distance | MAXCLS \ . \ \/ +-------------------------------------------------------+ CLSSUM: | | /\ | Integral of NRUN for classes | MAXCLS \ . \ \/ +-------------------------------------------------------+ CLSIRT: | | /\ | Class incremental runtime | MAXCLS \ . \ \/ +-------------------------------------------------------+ 0 1 9 10 18 19 20 25 26 36 +-------------------------------------------------------+ CLSCTL | | CLSDF | CLSBT | | CLSKV | | entry +-------------------------------------------------------+ Bits Pointer Content 0 CLSBD BATCH jobs to dregs queue 1-9 CLSDF Default class 10-18 CLSBT Batch class 19 CLSAC If on, class by accounts 20-25 CLSKV Current knob value 62
MONITOR TABLES | CLUHST | | This table contains information CLUDGR uses when it receives a | connection to its listener. CLUHST is a maximum of HSTSIZ words long. | HSTSIZ is defined in STG. | | Defined in: CLULSN | | +-------------------------------------+ /|\ | CLUHST: | -1 if listening, or connect ID | | | +-------------------------------------+ HSTSIZ | \ \ | | \ \ | | +-------------------------------------+ \|/ 63
MONITOR TABLES | CLUSTS | | This table is kept in parallel with CLUHST. It contains the status | word or it contains a connect ID if this entry is associated with a | listener. CLUSTS is a maximum of HSTSIZ words long. HSTSIZ is | defined in STG. | | Defined in: CLULSN | | +-------------------------------------+ | CLUSTS: | 36 bit status word for each host | /|\ | | or | | | | Connect ID if entry for listener | | | +-------------------------------------+ HSTSIZ | \ \ | | \ \ | | +-------------------------------------+ \|/ | | Name Bit Meaning | | CL%RDY 0 Set when connection is fully opened | CL%OPN 1 Set when connection is being opened | CL%DNY 2 Set when remote system is rejecting | CLUDGR requests | CL%LCL 3 Set when remote system has little credit | left | CL%NOS 4 Set when remote system is refusing SEND | ALLs | 5-17 Reserved for future expansion | CIDBUF 18-35 Contains the count of buffers in use by | this connection. 64
MONITOR TABLES CM CM is the common header used in all NI command blocks. The remainder of a command block for a particular command is appended to the end of the common header. Defined in: PHYKNI Format +------------------------------------------------------------------------+ CMFLI | Forward link | * |------------------------------------------------------------------------| CMBLI | Backward link | |------------------------------------------------------------------------| CMVAD | Virtual address of entry | |------------------------------------------------------------------------| | | CMERR | | | | | | | | | CMOPC | CMTDR | | | |Error code | CMFLG | Opcode | Time domain | | | | including | | |reflectometry value| | | | error bit | | | | | | | at bottom | | | | | +------------------------------------------------------------------------+ Field CMSRI (0-0) Send/receive indicator For field CMFLG(7-14): CMPAC 7 Packing mode for non-BSD CMCRC 8 CRC included CMPAD 9 Unused CMB03 10 Unused CMBSD 11 Buffer segment descriptor format CMB05 12 Unused CMCLR 13 Clear counters CMRSP 14 Response needed +------------------------------------------------------------------------+ CMFLI | CMERC | | NISRV error code during command processing | +------------------------------------------------------------------------+ 65
MONITOR TABLES CONNECT ID FORMAT This is the format of a SCA connect ID. Each SYSAP can specify the SYSAP ID to be of any value. Defined in: SCAPAR 0 5 6 22 23 31 32 35 +--------------------------------------------------------+ | SID | UBITS | INDEX | | |SYSAP ID| Uniqueness bits |CIDTAB index |unused | +--------------------------------------------------------+ 66
MONITOR TABLES CSTnX The CSTnX tables, where n ranges from 0 to 3, are the tables that allow access to the core status tables, now residing in extended sections. Each table holds 16 values, which allow indirect access to each of the CSTs, instead of the indexed access that was used when the CSTs were in section 0/1. The values in the CSTnX tables are never changed and are determined when the monitor is linked. CST5 is still in section 0/1, so there is no need for a CST5X table. Defined in: CSTnX 0 5 6 35 +-----------------------------------------------+ CSTnX: | 0 | Address of CSTn | |-----------------------------------------------| | 1 | Address of CSTn | |-----------------------------------------------| | 2 | Address of CSTn | |-----------------------------------------------| | 3 | Address of CSTn | |-----------------------------------------------| | . | | | . | | | . | | |-----------------------------------------------| | 17 | Address of CSTn | +-----------------------------------------------+ 67
MONITOR TABLES CST0 Core Status Table 0 (sometimes referred to as CST). Each entry in this table is principally defined by the pager. If the page is in use, the entry contains the age stamp for the page; if the page is not in use, the age stamp field is used to show the page's state. Defined in: STG Index: Physical page number Format +-------------------------------------------------------+ | CSTAGE | XGAGE | CFXRD | | | * / \ CST0: | Page State | | Fork # | | | | | or Age | | | | | | |-------------------------------------------------------| | | . | | | . | | . | MAXCOR | . | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 68
MONITOR TABLES CST0 (Cont.) Symbol Bits Pointer Content AGEMSK 0-8 CSTAGE If page in use, contents of pager age register ( >= 100 ) at last age register reload If page not in use, this field indicates (right-justified) the page state as follows: PSRPQ = 0 On replaceable queue PSDEL = 1 To be put on replaceable queue PSRDN = 2 Read completed PSWIP = 4 Write in progress PSRIP = 6 Read in progress PSSPQ = 7 Page on special memory queue PSASN = 10 Page assign to process if age field >=PSASN. (The age field should always be strictly greater than 10 as it is initialized to 100 and increases in value as process runs.) 9-14 XGAGE Age at last XGC (low bits only) 18 CSWRB CST write bit 19-32 CFXRD Number of fork which initiated read if page not in use (that is, age field < 10). PSTFLD 33-34 CSTPST Special page state PSTAVL=.MCPSA=0 Available for RPLQ when freed PSTSPM=.MCPSS=1 Place on SPMQ when freed PSTOFL=.MCPSO=2 Offline-action as PSTSPM PSTERR=.MCPSE=3 Offline due to error action as PSTSPM CORMB 35 This is the "modified" bit which is set by the pager on any write reference. This bit is 1 if the page has been written since the last operation. 69
MONITOR TABLES CST1 Core Status Table 1. This table is referenced only by the software and is parallel to CST0. It contains the lock count which indicates the number of system events requiring the page be locked in core (that is, page table contains other core addresses) and the backup address (next level of storage) for each page in core (1000000 if unassigned). Defined in: STG Index: Physical page number Format 0 11 12 13 14 35 +-------------------------------------------------------+ CST1: | PLKMSK | | | * / \ | Lock count | | Backup Address | | |-------------------------------------------------------| | | . | | | . | | . | MAXCOR | . | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ Symbol Bits Pointer Content 0-11 PLKMSK Lock count field-if non-zero, the page is not considered for swapping PLKV 11 Page lock value in CST1 14-35 Backup address 70
MONITOR TABLES CST2 CST2 Core Status Table 2 (Home Map Location). This table is referenced only by the software and is parallel to CST0. It contains the home map location for the page (that is, the page table which contains the core address pointing to the page). If the left half is 0, the home map is the SPT and the right half contains the SPT index. If the left half is not 0, the home map is a page table or index block, where PTN is the SPT index of that map and PN is the page number within that map. (See the SPT and SPTH table descriptions.) Defined in: STG Index: Physical page number Format +-------------------------------------------------------+ CST2: | PTN | PN | / \ |-------------------------------------------------------| | | or | | |-------------------------------------------------------| | | 0 | SPTN | | |-------------------------------------------------------| | | or | | |-------------------------------------------------------| | zero if page not assigned | MAXCOR |-------------------------------------------------------| | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ NOTE The SPTN/PTN value (both SPT indexes) is used to specify the kind of page represented in the CST2 table. For example, if the SPTN in the second format above is greater than or equal to NOFN (length of the OFN area), the process' page is a file page pointed to by a shared pointer or fork overhead page. Otherwise (that is, SPTN<NOFN), it's an index block page. Likewise, if the PTN value in the first format above is greater than or equal to NOFN, the page is a 71
MONITOR TABLES CST2 private process page (that is, pointed to by a direct pointer from the process' map). Otherwise (that is, PTN<NOFN), it is a process' file page pointed to by an indirect pointer through the file's own page table, the index block. * * In both of these cases when an index block is involved (that is, SPTN/PTN< NOFN), it is common to find in the monitor listings the symbolic notation, OFN, replacing SPTN/PTN. 72
MONITOR TABLES CST3 Core Status Table 3. This table is referenced only by the software and is parallel to CST0. An entry in this table is used for a variety of purposes, generally as a list pointer for groups of pages on various queues. For example, when on the replaceable queue, the left half and right half contain backward and forward list pointers, respectively. When on a swapping device queue, the right half contains a forward list pointer and B0 is 1 if write and 0 if read. Other queues threaded throughout this table are the deletion and special memory queues. When the page is in use (not linked on one of the queues), it contains the local disk address for PHYSIO and the fork assigned to the page. Defined in: STG Index: Physical page number Format +-------------------------------------------------------+ CST3: | Backward List Pointer | Forward List Pointer | / \ |-------------------------------------------------------| | | or | | |-------------------------------------------------------| | | | | Forward List Pointer | | |-------------------------------------------------------| | | or | | |-------------------------------------------------------| | | | CSTOFK | CSTLDA |* | |Flags | Fork # | Local Disk Address | |-------------------------------------------------------| MAXCOR | . | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 73
MONITOR TABLES CST3 (Cont.) 0 1 2 3 14 15 35 +-------------------------------------------------------+ | | | | CSTOFK | CSTLDA | | | | | Fork # | Local Disk Address | +-------------------------------------------------------+ Symbol Bits Pointer Content DWRBIT 0 Set if write in progress. The bit is cleared by the swapper when the write completes. SWPERR 1 Set if an unrecoverable error occurred when this page read in from disk/drum DSKSWB 2 Swap to disk requested by DDMP (periodic routine that trickles file pages to the disk) or by monitor when certain monitor calls are issued, for example, CLOSF 3-14 CSTOFK Process to which this page is assigned (7777 is not assigned). 15-35 CSTLDA Local disk address for PHYSIO 74
MONITOR TABLES CST5 Core Status Table 5. This table is referenced only by the software and is parallel to CST0. It is a table of short IORBs. See the IORB table for a description of the IRBSTS entry which describes the short (1 word) IORB. Defined in: STG Index: Physical page number Format +-------------------------------------------------------+ CST5: | Flags | Next Disk IORB(short/long)| / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | . | MAXCOR | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 75
MONITOR TABLES CT The CT structure is used to keep the information for a DECnet network management counter. It is pointed to by a table, generated with the COUNTER macro. This structure is read by the routine NTCTRS in D36COM. Defined in: D36PAR Format +------------------------------------------------------------------------+ | | CTHDR | | | Counter width, number | |------------------------------------------------------------------------| CTRED | Instruction to execute to read the counter | |------------------------------------------------------------------------| CTCLR | Instruction to execute to clear the counter | |------------------------------------------------------------------------| CTBMC | Instruction to execute to get the bit map | +------------------------------------------------------------------------+ Field CTBMF (0-0) Bit map flag 76
MONITOR TABLES DEV`DTB Device Dispatch Table. Each device has its own dispatch table that conforms to the format described below. An error return dispatch address is placed in those words which have no corresponding device function. The naming convention for these tables is the device name concatenated with DTB (that is, MTADTB, DSKDTB, and TTYDTB) Defined in: PROLOG Format +-------------------------------------------------------+ DTBLH=0 | Length of DTB Block | |-------------------------------------------------------| DLUKD=1 | Directory Setup | |-------------------------------------------------------| NLUKD=2 | Name Lookup | |-------------------------------------------------------| ELUKD=3 | Extension Lookup | |-------------------------------------------------------| VLUKD=4 | Version Lookup | |-------------------------------------------------------| PLUKD=5 | Protection Insertion | |-------------------------------------------------------| ALUKD=6 | Account Insertion | |-------------------------------------------------------| SLUKD=7 | Status Modification | |-------------------------------------------------------| OPEND=10 | Open File | |-------------------------------------------------------| BIND=11 | Sequential Byte Input | |-------------------------------------------------------| BOUTD=12 | Sequential Byte Output | |-------------------------------------------------------| CLOSD=13 | Close File | |-------------------------------------------------------| REND=14 | Rename File | |-------------------------------------------------------| DELD=15 | Delete File | |-------------------------------------------------------| DMPID=16 | Dump Mode Input | |-------------------------------------------------------| DMPOD=17 | Dump Mode Output | |-------------------------------------------------------| MNTD=20 | Mount | |-------------------------------------------------------| DSMD=21 | Dismount | |-------------------------------------------------------| INDD=22 | Initialize a Directory | 77
MONITOR TABLES DEV`DTB (Cont.) |-------------------------------------------------------| MTPD=23 | MTOPR Operations | |-------------------------------------------------------| GDSTD=24 | Get Device Status | |-------------------------------------------------------| SDSTD=25 | Set Device Status | |-------------------------------------------------------| RECOUT=26| Force Record Out (SOUTR) | |-------------------------------------------------------| RFTADD=27| Read File Time and Date | |-------------------------------------------------------| SFTADD=30| Set File Time and Date | |-------------------------------------------------------| JFNID=31 | Set JFN for Input | |-------------------------------------------------------| JFNOD=32 | Set JFN for Output | |-------------------------------------------------------| ATRD=33 | Check Attribute | |-------------------------------------------------------| RLJFD=34 | Release JFN | +-------------------------------------------------------+ 78
MONITOR TABLES DEVCH1 Device Characteristics Table 1. This table contains a word of information about each device unit in the system and is initialized from the INIDVT table at system start up time. Defined in: STG, MONSYM Format +-------------------------------------------------------+ DEVCH1: | Device Characteristics (word 2) | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NDEV | . | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ Symbol Bits Content D1%SPL 0 Device is spooled D1%ALC 1 Device is under control of allocator D1%VVL 2 Volume valid D1%NIU 3 Device slot not is use D1%INI 4 Device is being initialized currently for structures only) D1%MTO 5 Device can do MTOPR without JFN opened. 79
MONITOR TABLES DEVCH2 Device Characteristcs Table 2. This table contains spool directory information and is parallel to the DEVCH1 table. Defined in: STG Format +-------------------------------------------------------+ DEVCH2: | Directory Number of Spool Directory | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NDEV | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 80
MONITOR TABLES DEVCHR Device Characteristics Table. This table contains indexed information about each device unit and is initialized from the INIDVT table at system startup time. See INIDVT table for bit definitions. Defined in: STG Format 0 8 9 17 18 35 +-------------------------------------------------------+ DEVCHR: | CHAR1* | TYPE | MODES | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NDEV | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ *CHAR1 Bit 5 can take on another meaning (that is, DV%OPN=1B5; File Open on Device) than the one described in INIDVT. NOTE A resident word, DEVLCK (Free is -1), is used to lock the data base in the DEVXXX Tables when they are being manipulated. 81
MONITOR TABLES DEVDSP Device Dispatch Table Addresses. This table contains the device dispatch table for each device unit and is initialized from the INIDVT table at system startup time. Defined in: STG Format +-------------------------------------------------------+ DEVDSP: | Device Type Index | Dispatch Table Address | / \ | (Not Referenced) | | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NDEV | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 82
MONITOR TABLES DEVNAM Device Name Table. This table contains the SIXBIT device name for each device unit. The generic device name is obtained from INIDVT, modified to include unit number (if device has units) and stored in this table at system start up time. Defined in: STG Format +-------------------------------------------------------+ DEVNAM: | SIXBIT / Name / | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NDEV | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 83
MONITOR TABLES DEVUNT Device Unit Table. This table contains information about the job associated with a unit, where the unit information in DEVUNT is built at system startup utilizing data from the INIDVT table. Defined in: STG Format +-------------------------------------------------------+ DEVUNT: |Assigner's Job#/Dev Free(-1)|Unit # or No Unit Dev(-1) | / \ | | or being controlled by | | | | the allocator (-2) | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NDEV | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 84
MONITOR TABLES DIRECTORY Directory Format. The following illustrations show the format of a TOPS-20 directory. Defined: PROLOG Overview of a Directory +-------------------------------------------------------+ | | | Page 0 | | | |-------------------------------------------------------| | | | Page 1 | | | |-------------------------------------------------------| | . | | . | | . | | . | | . | | . | | . | | . | | . | |-------------------------------------------------------| | | | Page n | | | |-------------------------------------------------------| | | | | | Symbol Table | | | | | |-------------------------------------------------------| | | | | | Reserved for Directory Expansion | | | | | +-------------------------------------------------------+ 85
MONITOR TABLES DIRECTORY (Cont.) First Page of a Directory 0 17 18 23 24 +-------------------------------------------------------+ | DRTYP | DRVER | DRHLN | | Block Type TYDIR (400300) | Ver. # | Length of Header | |-------------------------------------------------------| | DRRPN | DRNUM | | Relative Page # in DIR | Directory Number | |-------------------------------------------------------| | DRFFB | .DRFFB=2| Pointer to First Free Block | |-------------------------------------------------------| | DRSBT | | Address of start of Symbol Table | |-------------------------------------------------------| | DRSTP | | Address of end of Symbol Table | |-------------------------------------------------------| | DRFTP | | Address of Last Used Word+1 for Strings and FDBs | |-------------------------------------------------------| | DRFBT | | Pointer to Free Bit Table | |-------------------------------------------------------| | DRDPW | | Default File Protection | |-------------------------------------------------------| | DRPRT |* | Default Directory Protection | |-------------------------------------------------------| | DRDBK | | Backup Specification | |-------------------------------------------------------| | DRLIQ | | Logged In Quota | |-------------------------------------------------------| | DRLOQ | | Logged Out Quota | |-------------------------------------------------------| | DRDCA | | Current Directory Allocation | |-------------------------------------------------------| | DRNAM | | Pointer to Directory Name String | |-------------------------------------------------------| | DRPSW | | Pointer to Password String | 86
MONITOR TABLES DIRECTORY (Cont.) |-------------------------------------------------------| | DRPRV | | Privilege Bits | |-------------------------------------------------------| | DRMOD | | Mode Bits | |-------------------------------------------------------| | DRDAT | | | Date and Time of Last Interactive LOGIN | |-------------------------------------------------------| | DRUGP | | Pointer to User Group List | |-------------------------------------------------------| | DRDGP | | Pointer to Directory Group List | |-------------------------------------------------------| | DRUDT | | Date and Time of Last Update to Directory | |-------------------------------------------------------| | DRSDM | DRSDC | | Max # of Subdirectories | Count of Subdirectories | |-------------------------------------------------------| | DRCUG | | CRDIR allowed specifying these User Groups | |-------------------------------------------------------| | DRACT | | Pointer to Dir. Default Account | |-------------------------------------------------------| | DRDNE | | Default online expiration date/interval | |-------------------------------------------------------| | DRDFE | | Default offline expiration date/interval | |-------------------------------------------------------| | | DRRNA | | | Pointer to remote alias list | | |-------------------------------------------------------| | | | DRPEV | | | Reserved | Password encryption ver. | |-------------------------------------------------------| | DRPDT | | Creation date/time of password | |-------------------------------------------------------| | DRPED | | Expiration date/time of password | |-------------------------------------------------------| | DRPUD | * | Password use data | 87
MONITOR TABLES DIRECTORY (Cont.) |-------------------------------------------------------| | DRPPN | | TOPS-10 project-programmer number | | |-------------------------------------------------------| | | DRNIL | | | Last non-interactive LOGIN date-time | | |-------------------------------------------------------| | | DRFIL | DRFNL | | | Failed interactive | Failed non-interactive | | | Login attempts | Login attempts | | |-------------------------------------------------------| | | | Spare Words | | | | | \ \ |-------------------------------------------------------| | | | Free Space for Strings and FDBs | | | \ \ +-------------------------------------------------------+ 18 23 24 29 30 35 +-----------------------------------------------------------+ DRPRT | | DRPOW | DRPGP | DRPWL | +-----------------------------------------------------------+ Bits Pointer Content 18-23 DRPOW Owner field 24-29 DRPGP Group field 30-35 DRPWL World field +-----------------------------------------------------------+ DRPUD | DRPCU | DRPMU | +-----------------------------------------------------------+ 0-17 DRPCU Current password use count 18-36 DRPMU Maximum password use count 88
MONITOR TABLES DIRECTORY (Cont.) General format for all blocks 0 17 18 23 24 35 +----------------------------------------------------------+ | BLKTYP | BLKVER | BLKLEN | | Type code | Ver. # | Length | +----------------------------------------------------------+ Possible type codes are: Code Value Type .TYNAM 400001 Name Block .TYEXT 400002 Extension Block .TYACT 400003 Account Block .TYUNS 400004 User Name Block .TYFDB 400100 File Descriptor Block .TYLAC 400200 Legal Account List .TYDIR 400300 Directory .TYSYM 400400 Symbol Table .TYFRE 400500 Free Block .TYFBT 400600 Free Storage Bittable .TYGDB 400700 Group Descriptor Block Subsequent Directory Pages +-------------------------------------------------------+ | DRTYP | DRVER | DRHLN | | .TYDIR (400300) | Ver. # | Length of Header | |-------------------------------------------------------| | DRRPN | DRNUM | | Relative Page # in DIR | Directory Number | |-------------------------------------------------------| | DRFFB | | Pointer to First Free Block | |-------------------------------------------------------| | | | | | Free Space for Strings and FDBs | | | | | +-------------------------------------------------------+ 89
MONITOR TABLES DIRECTORY (Cont.) Symbol Table |-------------------------------------------------------| | SYMTY | | SYMDN | | .TYSYM (400400) | |Dir. # of Sym.Tbl.| |-------------------------------------------------------| | -1 | |-------------------------------------------------------| |SYMET| SYMAD | * \ |Type | Address of FDB | \ |-------------------------------------------------------| > | SYMVL | / | First 5 Characters of Name, Account or User | / | Name for last writer/author in ASCII | |-------------------------------------------------------| | . | | . | | . | | . | | . | | . | | . | | . | |-------------------------------------------------------| \ | | \ |-------------------------------------------------------| > | | / +-------------------------------------------------------+ / 0 1 2 3 35 +-------------------------------------------------------+ |Type | Address of FDB | +-------------------------------------------------------+ Bits Pointer Content 0-2 SYMET Entry Type 0 = .ETNAM Name 2 = .ETUNS User Name 4 = .ETACT Account 3-35 SYMAD Address of FDB 90
MONITOR TABLES DIRECTORY (Cont.) User Name String +-------------------------------------------------------+ | UNTYP | | UNLEN | | .TYUNS (400004) | Ver. # | Length | |-------------------------------------------------------| | UNSHR | | | Share Count of User Name String | |-------------------------------------------------------| | UNVAL | | ASCIZ User Name String | +-------------------------------------------------------+ Name String +-------------------------------------------------------+ | NMTYP | | NMLEN | | .TYNAM (400001) | Ver. #| Length | |-------------------------------------------------------| | NMVAL | | ASCIZ Name String | | | +-------------------------------------------------------+ Extension String +-------------------------------------------------------+ | EXTYPE | |EXLEN | | .TYEXT (400002) | Ver.# |Length | |-------------------------------------------------------| | | | ASCIZ Extension String | | | +-------------------------------------------------------+ Account String +-------------------------------------------------------+ | ACTYP | |ALLEN | | .TYACT (400003) | Ver. # | Length | |-------------------------------------------------------| | ACSHR | | Share Count | |-------------------------------------------------------| | ACVAL | | ASCIZ Account String | | | +-------------------------------------------------------+ 91
MONITOR TABLES DIRECTORY (Cont.) File Descriptor Block (FDB) +-------------------------------------------------------+ | FBTYP | FBVER | FBLEN | | .TYFDB (400100) | Ver. # | Length | |-------------------------------------------------------| | | | | \ See FDB Table for Details of this Block \ \ \ | | | | +-------------------------------------------------------+ Free Space +-------------------------------------------------------+ | FRTYP | FRVER | FRLEN | | .TYFRE (400500) | Ver. # | Length | |-------------------------------------------------------| | FRNFB | | Pointer to Next Free Block or 0 if at end | |-------------------------------------------------------| | | | | \ Remainder of Free Block \ \ \ | | | | +-------------------------------------------------------+ Free Storage Bit Table +-------------------------------------------------------+ | | | | | .TYFBT (400600) | Ver. #| Length | |-------------------------------------------------------| | | \ Bit Table Containing 1 Bit per Directory Page \ \ \ | 0 = No Room on the Page | | 1 = There is Room on the Page | +-------------------------------------------------------+ 92
MONITOR TABLES DIRECTORY (Cont.) Group List +-------------------------------------------------------+ | | | | | .TYGDB (400700) | Ver. # | Length | |-------------------------------------------------------| | Group # | Group # | |-------------------------------------------------------| | Group # | 0 | +-------------------------------------------------------+ 93
MONITOR TABLES DIRECTORY CACHE This resident table contains the directory cache and a lock for the cache. Every five words (excluding the lock) describes an entry. Defined in: STG, PROLOG Reference by: DIRECT Format +-------------------------------------------------------+ DIRCLK: | Directory cache lock | |-------------------------------------------------------| DIRCSH: | | / \ DCDIRN=0 | Directory number of this entry |--- | |-------------------------------------------------------| | | DCSTRN=1 | Structure information | Structure number | | | | (l.half of SDBFLK in SDB) | | | | |-------------------------------------------------------| | DCSHRC=2 | Share count of the entry |normal| |-------------------------------------------------------|entry | DCSOFN=3 | OFN for this directory | | |-------------------------------------------------------| | | DCSTIM=4 | Time at which this entry was last referenced | | | |-------------------------------------------------------|--- | . | DIRSCZ | . | (^D25) | . | *5 \ \ +-------------------------------------------------------+ \ / 94
MONITOR TABLES DL This is the DECnet data link block -- DL. Defined in: D36PAR Format +------------------------------------------------------------------------+ DLNXT | Link to next data link block | |------------------------------------------------------------------------| DLUID | ID supplied by DNADLL user | |------------------------------------------------------------------------| DLDID | Device ID | |------------------------------------------------------------------------| | | | | | | DLKNO | * | DLFLG | | Kontroller number (DTE only) | |------------------------------------------------------------------------| DLUNB | Pointer to the User-NI block | |------------------------------------------------------------------------| DLPID | Portal ID | |------------------------------------------------------------------------| DLLTP | Line table pointer | |------------------------------------------------------------------------| DLSLZ | (0) Seconds since last zeroed | |------------------------------------------------------------------------| DLBYR | (1000) Total bytes received | |------------------------------------------------------------------------| DLBYS | (1001) Total bytes sent | |------------------------------------------------------------------------| DLDBR | (1010) Total data blocks received | |------------------------------------------------------------------------| DLDBS | (1011) Total data blocks sent | |------------------------------------------------------------------------| DLUBU | (1065) User buffer unavailable | +------------------------------------------------------------------------+ For field DLFLG(0-5): DLRUN 0 Data link is running DLEBU 1 Emergency buffer in use DLLIU 2 Line in use by circuit 95
MONITOR TABLES DNA PARAMETER AND COUNTER DATA BASE This is the DNA parameters and counters data base description. The entity data bases are pointed to by table PRMP. Defined in: NTMAN Each entity type (NODE, LINE) has a data base composed of two word blocks associated with it. The two word blocks have the format: 0 3 4 8 9 14 15 20 21 35 +--------------------------------------------------+ Word 0 | NTTYP | NTLEN | NTROU | NTDEV | NTQUA | +--------------------------------------------------+ Bits Pointer Content 0-3 NTTYP Data type NT.FC=1 - Coded format NT.FCM=2 - Coded multiple NT.FAI=3 - Ascii image (8-bit) NT.FDU=4 - Decimal, unsigned. Cannot be zero NT.FDS=5 - Decimal, signed NT.FH=6 - Hex integer NT.FHI=7 - Hex, image NT.FOC=10 - Octal NT.FDM=11 - Decimal, milliseconds NT.FVN=12 - Version number NT.FNE=13 - Node entity ID NT.FNN=14 - Ascii node name NT.FCN=15 - Ascii circuit name 4-8 NTLEN Length 9-14 NTROU Index to routine to call 15-20 NTDEV Device applicability NTD.R - DMR-11 | NTD.N - Ethernet (NIA20) | NTD.C - Computer Interconnect (CI20) | NTD.P - DDP (DUP11) | NTD.K - KDP (KMC11/DUP11) NTD.D - DTE-20 (UGH) 21-35 NTQUA Qualifier Parameter Number 96
MONITOR TABLES DNA PARAMETER AND COUNTER DATA BASE (Cont.) 0 3 4 9 10 11 12 13 22 23 35 +--------------------------------------------------+ Word 1 | NTAPL | NTINF | NTSET | NTBUF | NTBSZ | NTSEQ | +--------------------------------------------------+ Bits Pointer Contents 0-3 NTAPL Applicability restrictions NTA.E - Executor NTA.L - Loop nodes NTA.R - Remote nodes NTA.H - Home area nodes 4-9 NTINF Information type NTI.C - Characteristics NTI.S - Status NTI.% - Summary NTI.K - Circuit State NTI.Q - This parameter is qualified NTI.N - None. NOOP bit 10-11 NTSET Settability restrictions NTS.=0 - Read and write NTS.R=1 - Read only parameter NTS.W=2 - Write only parameter 12 NTBUF Buffer Field NTB.=0 - Parameter value fits into a word NTB.B=1 - Parameter value too big 13-22 NTBSZ Buffer size needed (if needed) 23-35 SEQ Sequence or type of field 97
MONITOR TABLES DRMBBT Drum Bit Table. This bit table indicates which pages are in use and which pages are available in the swapping area. Defined in: STG Format +-------------------------------------------------------+ / \ DRMBBT: \ \ \ | \ \Cylinder 0 | | | / | |-------------------------------------------------------| | \ \ \ | \ \Cylinder 1 | | | / | |-------------------------------------------------------| | | . | | | . | | . | DRMMXB | . | * | . | DRMBSZ | . | | . | | | . | | | . | | | . | | | . | | | . | | |-------------------------------------------------------| | \ \ \ | \ \Cylinder n | | | / | +-------------------------------------------------------+ \ / NOTE The bit map for each cylinder starts on a word boundary and contains as many full words as are needed for all of its pages. 98
MONITOR TABLES DRMCNT Drum Count Table. This resident table, indexed by cylinder, records the free page count for the drum (logical swapping area). The total free page count for all the cylinders is kept in the storage word, DRMFRE. Defined in: STG Format +-------------------------------------------------------+ / \ DRMCNT: | Drum Free Page Count - Cylinder 0 | | |-------------------------------------------------------| | | . | | | . | | | . | | . |DRMMXB | . | | . | | \ . \ | |-------------------------------------------------------| | | Drum Free Page Count - Cylinder n | | +-------------------------------------------------------+ \ / 99
MONITOR TABLES DSKSIZ Disk Size Pointer Table. This table contains pointers to the disk size data tables. DSKSIZ is parallel to DSKUTP which contains codes for the known disk types. When an entry is added to DSKUPT, a corresponding entry must be added to DSKSIZ to point to the correct size data for that type of disk. Defined in: PHYSIO Format +-------------------------------------------------------+ DSKSIZ: | Pointer to RP04 Table (DSKSZ0) | |-------------------------------------------------------| | Pointer to RP05 Table (DSKSZ0) | |-------------------------------------------------------| | Pointer to RP06 Table (DSKSZ1) | |-------------------------------------------------------| | Pointer to RP07 Table (DSKSZ2) | |-------------------------------------------------------| | Pointer to RM03 Table (DSKSZ3) | |-------------------------------------------------------| | Pointer to RP20 Table (DSKSZ4) | |-------------------------------------------------------| | Pointer to RA80 Table (DSKSZ5) | |-------------------------------------------------------| | Pointer to RA81 Table (DSKSZ6) | |-------------------------------------------------------| | Pointer to RA60 Table (DSKSZ7) | |-------------------------------------------------------| | Pointer to RA82 Table (DSKSZ8)(Future) | |-------------------------------------------------------| | Pointer to RA62 Table (DSKSZ9)(Future) | +-------------------------------------------------------+ 100
MONITOR TABLES DSKSZ`N Disk Size Table (for type n). The resident table contains size data (for disks) based on type. n = 0 for RP04 and RP05 n = 1 for RP06 n = 2 for RP07 n = 3 for RM03 n = 4 for RP20 n = 5 for RA80 n = 6 for RA81 n = 7 for RA60 n = 8 for RA82 (future) n = 9 for RA62 (future) Defined in: STG Format DSKSZ`n: +-------------------------------------------------+ SEGPAG=0 | Sectors per Page | |-------------------------------------------------| SECCYL=1 | Sectors per Cylinder | |-------------------------------------------------| PAGCYL=2 | Pages per Cylinder | |-------------------------------------------------| CYLUNT=3 | Cylinders per Unit | |-------------------------------------------------| SECUNT=4 | Sectors per Unit | |-------------------------------------------------| BTWCYL=5 | No. of Bit Words in Bit Table per Cylinder | |-------------------------------------------------| LPPCYL=6 | Lost Sectors per Surface | |-------------------------------------------------| MINFPG=7 | Minimum Free Pages for Free Choice Allocation | |-------------------------------------------------| MAXFPU=10 | Pages per Unit for DSKASN turning point | |-------------------------------------------------| SECSRF=11 | Sectors per Surface | |-------------------------------------------------| USSECU=12 | Microseconds per LATOPT sector unit | |-------------------------------------------------| | TRECPP=13 | True Section per Page (RAxx disks only) | | +-------------------------------------------------+ 101
MONITOR TABLES DSKUTP Disk Unit Type. This table contains the unit types used by the file system. Defined in: PHYSIO Format +-------------------------------------------------------+ / \ DSKUTP: | RP04 Disk Unit Code (.UTRP4 = 1) | | |-------------------------------------------------------| | | RP05 Disk Unit Code (.UTRP5 = 5) | | |-------------------------------------------------------| | | RP06 Disk Unit Code (.UTRP6 = 6) | | |-------------------------------------------------------| | | RP07 Disk Unit Code (.UTRP7 = 7) | | |-------------------------------------------------------| | | RM03 Disk Unit Code (.UTRM3 = 11) | | |-------------------------------------------------------| | | RP20 Disk Unit Code (.UTP20 = 24) | |-------------------------------------------------------| NDSKUT | RA80 Disk Unit Code (.UTR80 = 27) | | |-------------------------------------------------------| | | RA81 Disk Unit Code (.UTR81 = 30) | | |-------------------------------------------------------| | | RA60 Disk Unit Code (.UTR60 = 31) | | |-------------------------------------------------------| | | RA82 Disk Unit Code (.UTR82 = 32)(Future) | | |-------------------------------------------------------| | | RA62 Disk Unit Code (.UTR62 = 33)(Future) | | +-------------------------------------------------------+ \ / 102
MONITOR TABLES DST Drum Status Table. This table is indexed as a function of the drum (swapping space) address. The DST holds the address of the next lower level of storage (usually disk) for the page stored at that address on the drum. BWRBIT (bit 11) indicates if the page has been changed since being read from the lower level storage. The page is only copied back on to the lower level storage if BWRBIT is set (that is, page modified) when the page is no longer in use. A slot no longer in use contains a -1. The DST table is in an extended section and is pointed to by DSTLOC. Defined in: STG, PROLOG Index: Drum page number Format 11 14 35 +-------------------------------------------------------+ / \ DST: | || | Storage Address | | |-------------------------------------------------------| | | . | | | . | | | . | | . | NDST | . | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 103
MONITOR TABLES DTE-STORAGE-AREA DTE Storage Area. This storage area contains storage for each DTE. It contains the Communication Area for each processor in COMBAS, the linked output packet queues (pointed to by DTEQS), the DTE input buffers, and local storage (that is, ACs, PC, & PDL) for the DTE Protocol Handler, DTESRV. A packet in the COMQ area must be reformatted to RSX20F protocol and stored in PKTADR before being sent over the DTE. The before and after packet formats are described below. Two single packets, SNGPK1 and SNGPK2 (already formatted as direct packets to RSX20F protocol - See below) are set aside for the DTSNGL routine. This routine is responsible for activating lines and sending single characters over the DTE if the output buffer has only one character. Normally output buffer characters are sent by way of indirect packets over the DTE, where the indirect packet (after being reformatted and stored in PKTADR) is sent first followed by the line's output buffer characters. Defined in: STG Format +-------------------------------------------------------+ UPFLAG: | Word to Generate Continued Message | |-------------------------------------------------------| LOAD11: | Says if -11 Needs to Reload | |-------------------------------------------------------| LODFRK: | Handle of Monitor Fork Doing -11 Reboot | |-------------------------------------------------------| DTEDTE: | The Interrupting DTE | |-------------------------------------------------------| CTYUNT: | FE Physical Unit for TS TTY | |-------------------------------------------------------| / \ DTEQS: | Drive Queue Header for DTE 1 | | | (Ptr. to 1st Queued Packet in COMQ) | \ . \ DTEN | . | | Driver Queue Header for DTE n | | |-------------------------------------------------------| \ / COMQ: | |*/ \ | | | | Area for Queue Packets | | | (=Packet Size * ^D20) | \ \ QPKT1 | | | | | | | 104
MONITOR TABLES DTE-STORAGE-AREA (Cont.) |-------------------------------------------------------| \ / COMH: | Queue Header (Points to 1st Free Packet in COMQ) | |-------------------------------------------------------| / \ DTESTS: | DTE 1 Status Word |* | | . | \ . \ DTEN | DTE n Status Word | | |-------------------------------------------------------| \ / DTEST1: | DTE 1 Secondary Status Word |*/ \ | . | | \ . \ DTEN | DTE n Secondary Status Word | | |-------------------------------------------------------| \ / DTETMR: | DTE 1 Timer Variable | / \ | . | | \ . \ DTEN | DTE n Timer Variable | | |-------------------------------------------------------| \ / DTBFWD: | Hdr. Word for DTE 1 Buf | | (Ptr. to 2nd Input Buf,, Ptr. to 1st Input Buf) | \ . \ | . | | Header Word for DTE n Buffer | |-------------------------------------------------------| DTETRA: | Interrupt Return PC for DTE 1 | | . | |-------------------------------------------------------| | . | | Interrupt Return PC for DTE 2 | |-------------------------------------------------------| / \ DTESKP: | | | | | \ Local PDL Stack \ DTESZ | | | | | |-------------------------------------------------------| \ / DTEACB: | | / \ \ Block to Save ACs \ | | | 16 |-------------------------------------------------------| \ / DTEIND: | Storage for Indirect Function for DTE 1 |*/ \ | . | | \ . \ DTEN | Storage for Indirect Function for DTE n | | |-------------------------------------------------------| \ / DTEEND: | DTE 1 Resident free space debugging storage | / \ | . | | \ . \ DTEN | DTE n Resident free space debugging storage | | 105
MONITOR TABLES DTE-STORAGE-AREA (Cont.) |-------------------------------------------------------| \ / DTEOBL: | DTE 1 Pointer to section zero output block | / \ | . | | \ . \ DTEN | DTE n Pointer to section zero output block | | |-------------------------------------------------------| \ / DTEIBL: | DTE 1 Pointer to section zero input block | / \ | . | | \ . \ DTEN | DTE n Pointer to section zero input block | | |-------------------------------------------------------| \ / DTEDID: | DTE 1 Router's circuit ID list | / \ | . | | \ . \ DTEN | DTE n Router's circuit ID list | | |-------------------------------------------------------| \ / DCNCID: | DTE 1 DECnet callback ID list | / \ | . | | \ . \ DTEN | DTE n DECnet callback ID list | | |-------------------------------------------------------| \ / PKTADR: | Storage for Queue Packets |*/ \ | (One 3-Word Packet/RSX20F Protocol DTE) | | \ \ PKTSZ1 | | | |-------------------------------------------------------| \ / COMBUF: | Processor # | Index into COMBAS to get to this | / \-- -- | 4 | Processor's Comm Area | | | | |-------------------------------------------------------| | | | | 3 | '' |DTEN+1 | |-------------------------------------------------------| | | | 2 | '' | |Header| |-------------------------------------------------------| |Area | | 1 | '' | | | | |-------------------------------------------------------| | | | | 0 | '' | | | | |-------------------------------------------------------| \ / -- | COMBAS: | KL10 "Owned" Area |--* | |-------------------------------------------------------| | | | "To" DTE1 Area | | | |-------------------------------------------------------| | | | "To" DTE2 Area | Master | |-------------------------------------------------------| Process | | . | Comm | | . | Area | | . | | 106
MONITOR TABLES DTE-STORAGE-AREA (Cont.) |-------------------------------------------------------| | Communi- | "To" DTEn Area | | cation |-------------------------------------------------------|-- Region | |-- | DTE1 "Owned" Area | DTE1 | | | Comm | |-------------------------------------------------------| Area | | "To" KL10 Area | | | |-------------------------------------------------------| | | | . | | | | . | | | | . | | | |-------------------------------------------------------|-- | | |-- | | DTEn "Owned" Area | | DTEn | | | | Comm | |-------------------------------------------------------| | Area | | "To" KL10 Area |-- -- |-------------------------------------------------------| / \ TAD11: \ Time Packet from -11 \ 3 |-------------------------------------------------------| \ / \ \ / \ TO11TM: \ Time Packet to -11 \ 3 |-------------------------------------------------------| \ / \ \ / \ \ KLINIK Data Base \ KLISIZ |-------------------------------------------------------| \ / RLDFRK: | System wide handle of reload fork | |-------------------------------------------------------| SNGPK1: | Single-Packet-1 Header Word | |-------------------------------------------------------| / \ \ Packet Data (5 Words) \ 5 | | \ / |-------------------------------------------------------| SNGPK2: | Single-Packet-2 Header Word | * |-------------------------------------------------------| / \ \ Packet Data (5 Words) \ 5 | | | +-------------------------------------------------------+ \ / 107
MONITOR TABLES DTE-STORAGE-AREA (Cont.) COMQ area for queue packets where a packet (5 words in length) has the form: 0 17 18 35 +-------------------------------------------------------+ | QINT | QLINK | | Int loc for this function | Link to next packet | |-------------------------------------------------------| QNSPH | QFNC | QDEV | | Function work for | DTE device code | | this request | for this request | |-------------------------------------------------------| |0 QLIN 17| QMODE |19 QCNT 35| | Device unit number | Data | Byte count or | | |must be | byte | | | byte | or 0 | | | mode | | |-------------------------------------------------------| | QPNTR | | Byte pointer for indirect operation or | | Local 8-bit datum if QCNT = 0 | |-------------------------------------------------------| | QCOD | | Unique code returned to interrupt routine, TTYINT | +-------------------------------------------------------+ COMQ area is currently assembled for room of ^D20 packets. 108
MONITOR TABLES DTE-STORAGE-AREA (Cont.) 0 1 2 3 4 5 6 17 18 29 30 35 +-------------------------------------------------------+ DTESTS | | | | | | | DTEB1 | DTEBC | DTEST | entry +-------------------------------------------------------+ Bits Pointer Contents 0 DTERL If set, DTE exists 1 DTEBF Says which buffer is in use for RSX20 protocol 2 DTBLK For MCB, to -10 is blocked on free space 3 DTRLD If set, -11 is being reloaded 4 DTKAC If set, -11 is ill 5 DTSTI Status packet is split 6-17 DTEB1 Byte count of list transfer 18-29 DTEBC Byte count remaining for subsequent transfer 31 DTIPU If set, protocol is running 32-35 DTEST DTE status DTET10=1--KL10 is receiving last fragment of message DTE11=2--11 is receiving bytes DTE11I=4--11 is receiving an indirect queue entry DTE1F=10--KL10 is receiving 1st fragment of a message 109
MONITOR TABLES DTE-STORAGE-AREA (Cont.) DTEST1 is parallel to DTESTS and contains current operation data and special request bits for "To" -11 conditions. 0 15 16 31 32 33 34 35 +-------------------------------------------------------+ DTEST1 |DT1FC |DT1DV | | | | entry +-------------------------------------------------------+ Bits Pointer Contents 0-15 DT1FC Current function code 16-31 DT1DV Current device code 32 DT1TM -11 wants time of day 33 DT1ID Waiting for indirect setup Storage for indirect packets: 0 7 8 15 16 17 35 +--------------------------------------------------------+ DTEIND | INUNT | INCNT | | | entry +--------------------------------------------------------+ Bits Pointer Contents 0-7 INUNT Unit 8-15 INCNT Count 16 INVLD If set, says unit field is invalid PKTADR is storage for currently activated DTE packets for each DTE (packet taken from the linked list of packets on the queue in COMQ and placed here). The packet has the following form: 0 15 16 31 32 35 +-------------------------------------------------------+ | HDCNT | HDFNC | | | Count | Function | | |-------------------------------------------------------| | HDDEV | HDSPR | | | Device code | Spare | | |-------------------------------------------------------| | 7|8 | HDDT1 | | | HDLIN | HDDAT | Datum for a single | | | Line # | Datum * | datum packet | | +-------------------------------------------------------+ Datum could be a character (direct packet case) or Max number of characters to be sent (indirect packet case) 110
MONITOR TABLES DTE-STORAGE-AREA (Cont.) COMBAS "Owned" Area Block Format +-------------------------------------------------------+ | Flags | * |-------------------------------------------------------| | CMLNK | | Pointer to next processor | |-------------------------------------------------------| | | \ \ | | |-------------------------------------------------------| KPALIV | CMKAC | =5 | Processor Keep Alive Count | |-------------------------------------------------------| CMPCW=6 | PC word | |-------------------------------------------------------| CMPIWD | CONI PI, word | =7 |-------------------------------------------------------| CMPGWD | CONI PAG, word | =10 |-------------------------------------------------------| CMPDWD | DATAI PAG, word | =11 |-------------------------------------------------------| CMAPRW | CONI APR, word | =12 |-------------------------------------------------------| CMDAPR | DATAI APR, word | =13 |-------------------------------------------------------| | | \ \ | | +-------------------------------------------------------+ 0 1 3 4 5 6 11 12 16 17 19 20 35 Word 0 +-------------------------------------------------------+ | | | | CPVER | CMNPR | |CMNAM | +-------------------------------------------------------+ Bits Pointer Contents 0 CMTEN Set if area belongs to KL10 1-3 CMVER Communication area version number 6-11 CPVER Protocol version number 12-16 CMNPR Number of processors represented in this area (including owner) 17-19 CMSIZ Size of area in 8-word blocks 20-35 CMNAM Processor name (= serial number) 111
MONITOR TABLES DTE-STORAGE-AREA (Cont.) "To" Area Block Format +-------------------------------------------------------+ | Flags | * |-------------------------------------------------------| | CMPPT | | Pointer to "To" processor's owned communication area | |-------------------------------------------------------| | Flags | * |-------------------------------------------------------| |0 3|4 19|20 35| |CMTMD | CMPCT | CMQCT | | Mode | Piecemeal Ctr. (Bits | Count of words in | | of |0-19 used by prot. ver.| current queue | | xfer | VNMCB only) | | |-------------------------------------------------------| | CMRLF | | Reload parameter for "To" processor | |-------------------------------------------------------| | CMKAK | |Owning processor's copy of "To" processor's Keep Alive | +-------------------------------------------------------+ 0 1 2 3 4 10 11 16 17 19 20 35 +-------------------------------------------------------+ Word 0 | | | | | | | CNPNM | +-------------------------------------------------------+ Bits Pointer Contents 0 CMPRO If set, it implies connected to a KL10 1 CMDTE If set, there is a DTE connecting this processor and owning processor 2-3 CMDTN If CMDTE is set, this is the number of that connecting DTE 11-16 CMVRR Protocol in use by the 2 processors 17-19 CMSIZ Size of "to" area in 8-word blocks 20-35 CMPNM "To" processor number 112
MONITOR TABLES DTE-STORAGE-AREA (Cont.) 0 1 2 3 4 12 13 14 16 17 18 19 20 27 28 35 +-------------------------------------------------------+ Word 2 | | | | | | | | | | | CMOIC | CM1IC | +-------------------------------------------------------+ Symbol Bits Pointer Contents 0 CMPWF Power fail indicator -11 1 CML11 Wants reload (set by -11) 2 CMINI Initialization bit for MCB protocol only 3 CMTST Valid examine if set (should always be set) 13 CMQP Set if using queued protocol 17 CMFWD -11 doing full word transfer (set by -11) CMIP 18 -11 doing indirect transfer CMTOT 19 "Toit" bit. Set to 1 by KL10 in -11's section of -10's Comm area after -11 sets QMode bit or increments Q-count, and after -10 processes the doorbell. Cleared by KL10 after receiving T010DN. Assures -11 that the KL10 has not lost a T010DN interrupt 20-27 CMOIC -11s wrap around count of direct Q transfer 28-35 CM1IC KL10's wrap around count of direct Q transfers. 0 7 8 16 17 24 25 31 32 35 SNGPK1 +-------------------------------------------------------+ /2 | Flags | Link to next packet | | * |-------------------------------------------------------| | Packed byte count | Function | | |-------------------------------------------------------| | Device | Spare | | |-------------------------------------------------------| | Line # | Datum | Line # | Datum | | |-------------------------------------------------------| | Line # | Datum | Line # | Datum | | |-------------------------------------------------------| | Line # | Datum | Line # | Datum | | +-------------------------------------------------------+ 113
MONITOR TABLES DTE-STORAGE-AREA (Cont.) 0 1 2 3 16 17 31 32 35 +-------------------------------------------------------+ Header | | | | | | | Word +-------------------------------------------------------+ Symbol Bits Contents SNGONQ 0 On the DTE packet queue pointed to by DTEQS SNGAVL 1 Packet has space available SNGACT 2 Packet active (that is, DTE processing it) 16-31 Link to next packet 114
MONITOR TABLES DTEDTV DTE Protocol Device Dispatch Table. The entries with the dispatch address TTYDTV are for the CTY, DL11, DH11 and DLS devices. Defined in: STG Format +-------------------------------------------------------+ DTEDTV: | Reserved for Unknown Device | |-------------------------------------------------------| | TTYDTV | |-------------------------------------------------------| | TTYDTV | |-------------------------------------------------------| | TTYDTV | |-------------------------------------------------------| | TTYDTV | |-------------------------------------------------------| | LPTDTV | |-------------------------------------------------------| | CDRDTV | |-------------------------------------------------------| | 0 (Unknown Device) | |-------------------------------------------------------| | FEDTV | +-------------------------------------------------------+ 115
MONITOR TABLES EC This is the DECnet event communication block, a communications area between a layer and NTMAN. Defined in: D36PAR Format +------------------------------------------------------------------------+ | ECLOS | ECCNT | | Count of "events lost" | Count of events on queue | |------------------------------------------------------------------------| | | | | | ECETY | | * | | |ECLAY| | Entity type of DECnet device this | | | | | | EC block belongs to | |------------------------------------------------------------------------| ECEID | Entity ID of DECnet device this EC block belongs to | |------------------------------------------------------------------------| | ECMAX | | | Maximum number of events on queue | | | allowed | | +------------------------------------------------------------------------+ Field ECDEL (0-0) This EC block marked for deallocation Field ECLAY (3-5) DECnet layer this EC block belongs to 116
MONITOR TABLES EL The DECnet EL structure (Link Block) holds all the NSP information about this logical link. Defined in: D36PAR Format +------------------------------------------------------------------------+ /\ ELAPQ | Next in queue of all link blocks | QP.LEN \ \ \/ |------------------------------------------------------------------------| /\ ELHBQ | Next in queue of links in a hash bucket | QP.LEN \ \ \/ |------------------------------------------------------------------------| /\ ELJFQ | Next in queue of links needing jiffy service | QP.LEN \ \ \/ |------------------------------------------------------------------------| | | | | | | | | | ELSTA | | ELSIZ | | ELFLG | NSP state | |Max size of a segment on this link | * | | of this | | | | | link | | | |------------------------------------------------------------------------| | ELLLA | ELRLA | | Local link address | Remote link address | |------------------------------------------------------------------------| /\ ELORQ | Queue header for MBs sent to ROUTER and expected to be returned to | QH.LEN \ LLINKS \ \/ |------------------------------------------------------------------------| ELCLC | Count of retries left, trying to close a port waiting for MBs to be | | returned from ROUTER and children | |------------------------------------------------------------------------| | ELORC | | | ELDSG | | Count of msgs out in ROUTER | | | Msg segment being | | | | | timed for delay calc | | | | | (must be segnum-size | | | | | field for CMODxx) | |------------------------------------------------------------------------| ELDTM | Time msg was first sent | |------------------------------------------------------------------------| | ELNNM | | | The remote's node number | | |------------------------------------------------------------------------| ELNDB | Ptr to NSP node block | |------------------------------------------------------------------------| ELTMA | Inactivity timer | |------------------------------------------------------------------------| ELSCV | Session control call vector base address | |------------------------------------------------------------------------| ELSCB | Session control block ID | |------------------------------------------------------------------------| ELCIM | Ptr to (R)CI message | 117
MONITOR TABLES EL (Cont.) |------------------------------------------------------------------------| ELDIM | Ptr to DI message | |------------------------------------------------------------------------| /\ ELNSL | The normal sublink block | ES.LEN \ \ \/ |------------------------------------------------------------------------| /\ ELOSL | The other sublink block | ES.LEN \ \ \/ |------------------------------------------------------------------------| ELCIR | Output circuit for loopback connection | |------------------------------------------------------------------------| ELCHK | Address of this EL, for addr check | +------------------------------------------------------------------------+ For field ELFLG(0-8): ELOJQ 0 Link is on the jiffy-request queue ELSNC 1 Set if not yet told SC about no conf ELCNF 2 Set if we have confidence in link ELSCM 3 Send connect ACK message next jiffy ELSDM 4 Send disconnect confirm message next jiffy ELABO 5 Aborting this logical link ELDTO 6 Delay timer is for "other" sublink Field ELVER (18-20) Version of remote NSP, see VER3.1,VER3.2 118
MONITOR TABLES ENQ/DEQ-LOCK-BLOCK Enqueue Lock-Block. Each resource is described in a lock-block. The lock-block is created at the time of the first request. Defined in: ENQ Format 0 17 18 35 +-------------------------------------------------------+ 0 | ENQLHC | | Back Pointer to Last | | Lock-Block on Hash Chain | |-------------------------------------------------------| 1 | ENQNHC | | Pointer to Next | | Lock-Block on Hash Chain | |-------------------------------------------------------| 2 | ENQLLQ | | Back Pointer to | | Last Q-Block on Lock Queue | |-------------------------------------------------------| 3 | ENQNLQ | | Forward Pointer to | | First Q-Block on Lock Queue | |-------------------------------------------------------| | ENQFLG | | ENQLVL | 4 | Flags | Reserved | Level Number | * | | | of this Lock | |-------------------------------------------------------| | ENQTR | ENQRR | 5 | Total Number of | Remaining Number of | | Resources in this Pool | Resources in this Pool | |-------------------------------------------------------| | ENQTS | 6 | Time Stamp | | Time of Last Request Locked | |-------------------------------------------------------| 7 | ENQFBP | | Free Block Pointer | | to Free Q-Block | |-------------------------------------------------------| 10 | ENQLT | | Long Term Lock List | | for System | |-------------------------------------------------------| | ENQOFN | ENQLEN | 11 | OFN, or -2, or -3, | Length of this | | or 400000 + Job Number | Lock-Block | 119
MONITOR TABLES ENQ/DEQ-LOCK-BLOCK (Cont.) |-------------------------------------------------------| | | ENQNMS | ENQHSH | | 12 | Number of Words in | Hash value for this | | | the Mask Block | Lock Block | | |-------------------------------------------------------| | | ENQAFP | | 13 | Forward Pointer to Lock Block Action List | | |-------------------------------------------------------| | | ENQABP | | 14 | Backward Pointer to Lock Block Action List | | |-------------------------------------------------------| | | ENQTXT ASCIZ String | | 15 | or | | | 500000,,0 + User Code | | +-------------------------------------------------------+ The flags word must occur in the same position in both the Lock-Block and the Q-Block. The flags word is used to distinguish a Lock-Block from a Q-block. | | Defined in: ENQPAR 0 11 12 17 18 35 +-------------------------------------------------------+ Word 4 | ENQFLG | | ENQLVL | | Flags | Reserved | Level # of this Lock | +-------------------------------------------------------+ Symbol Bits Pointer Meaning | 0-2 Unused | EN.SDO=400 3 Scheduling pass needed on | Lock-Block | EN.CLL=200 4 Cluster-wide queue block or | Cluster-wide lock-block | EN.NOV=100 5 No vote for this lock-block | Set during caching and for -1 | type locks EN.LTL=40 6 Long Term Lock EN.INV=20 7 This Q-Block is invisible EN.LOK=10 8 The Q-Block has the Lock Locked. EN.TXT=4 9 This Block has a Text String Identifier. EN.EXC=2 10 Request is Exclusive EN.LB=1 11 This is the Lock-Block 12-17 Reserved 18-35 ENQLVL Level # of this lock. 120
MONITOR TABLES ENQ/DEQ - STORAGE AREA Enqueue/Dequeue Storage Area. The non-resident local area for the ENQ/DEQ Facilty is illustrated first followed by the resident bit table, ENFKTB. A bit is set in the ENFKTB bit table if the fork should be woken up or interrupted because it owns a lock. (The Scheduler's wake-up test routine address is ENQTST.) Defined in: STG Format +-------------------------------------------------------+ / \ HSHTBL: | |* | | Hash table for | | ENQ locks | HSHLEN* 2 | Two words per logical slot | \ \ | |-------------------------------------------------------| \ / ENQLOK: | Data base lock for ENQ and DEQ | | (-1 if free) | |-------------------------------------------------------| ENQLTL: | List of long term locks | |-------------------------------------------------------| ENQLTS: | Time of next garbage collection | +-------------------------------------------------------+ Each logical slot in HSHTBL is two words long: +-------------------------------------------------------+ HSHTBL: | Back Pointer | |-------------------------------------------------------| | Forward Pointer | |-------------------------------------------------------| | Back Pointer | |-------------------------------------------------------| | Forward Pointer | +-------------------------------------------------------+ . . . +-------------------------------------------------------+ | Back Pointer | |-------------------------------------------------------| | Forward Pointer | +-------------------------------------------------------+ 121
MONITOR TABLES ENQ/DEQ - STORAGE AREA (Cont.) | Resident storage | | +-------------------------------------------------------+ | ELBCSH: | Lock-Block Caching Flag (-1 if caching) | | |-------------------------------------------------------| ENFKTB: | Wake-up table (one bit per fork) | | . | \ . \ |-------------------------------------------------------| LCKDBT: | Bit table for DIR lock ENQ/DEQ (one bit per fork) | | . | \ . \ +-------------------------------------------------------+ * The name (or identifying number) of a lock block is hashed to provide a number. This number, module HSHLEN, then doubled, is used as an index into HSHTBL. If the hashing algorithm yields the same index for more than one lock block name, the lock blocks are linked together; the HSHTBL entry is the linked list header. 122
MONITOR TABLES EPT Executive Process Table. This memory resident table pointed to by the Executive Base Register (EBR), contains the vectored dispatch addresses for system events. All device interrupts pass control to a specific offset position in this table. This table also includes the executive section map table, the time of day clock and arithmetic trap instructions which are executed when arithmetic conditions occur in executive mode. Defined in: STG Format +-------------------------------------+ KIEPT: | Eight Channel Logout Areas | | | |Each: 0 Initial Channel Command | | 1 Gets Channel Status Word | | 2 Gets Last Updated Command | | 3 Reserved for Channel's | | Vectored Interrupt Location | KIEPT+37\ \ |-------------------------------------| 40| | | | |Standard Priority Interrupt Instruc. | 57\ \ |-------------------------------------| 60| | | Four Channel Block Fill Words | 63| | |-------------------------------------| 64| | | Reserved | .| | 77\ \ |-------------------------------------| SMTEPT=KIEPT+100| (if 2020 System) | |-------------------------------------| 101| | | | | Reserved | 137\ \ 123
MONITOR TABLES EPT (Cont.) |-------------------------------------| | Four 8-word DTE20 Control Blocks | DTEEBP=KIEPT+140| Each: 0 To -11 Byte Pointer | DTETBP=KIEPT+141| 1 To -10 Byte Pointer | DTEINT=KIEPT+142| 2 Interrupt Location | 143| 3 Reserved | DTEEPW=KIEPT+144| 4 Examine Protection Word | DTEERW=KIEPT+145| 5 Examine Relocation Word | DTEDPW=KIEPT+146| 6 Deposit Protection Word | DTEDRW=KIEPT+147| 7 Deposit Relocation Word | |-------------------------------------| | | | DTE1 Control Block | | | |-------------------------------------| | | | DTE2 Control Block | \ \ |-------------------------------------| | | | DTE3 Control Block | 177\ \ |-------------------------------------| EPTMHI=KIEPT+200| | | | | Available to Software | | | 417\ \ |-------------------------------------| EPTTPI=KIEPT+420| LUUO from Executive Mode | | (.LUTRP)* | |-------------------------------------| 421| Executive Arithmetic Overflow Trap | | Instruction (JFCL)* | |-------------------------------------| 422| Executive Stack Overflow trap | | Instruction (.PDOVT)* | |-------------------------------------| 423| Executive Trap 3 Trap Instruction | | (JFCL)* | |-------------------------------------| 424| | | Reserved | 437\ \ |-------------------------------------| 440| | | Reserved for Software | 443\ \ 124
MONITOR TABLES EPT (Cont.) |-------------------------------------| DTEFLG=KIEPT+444| Operation Complete Flag | |-------------------------------------| DTECFK=KIEPT+445| Clock Interrupt Flag | |-------------------------------------| DTECKI=KIEPT+446| Clock Interrupt Instruction | |-------------------------------------| DTET11=KIEPT+447| "To" 11 Argument | |-------------------------------------| DTEF11=KIEPT+450| "From" 11 Argument | |-------------------------------------| DTECMD=KIEPT+451| Command Word | |-------------------------------------| DTESEQ=KIEPT+452| DTE20 Operation Sequence Number | |-------------------------------------| DTEOPR=KIEPT+453| Operation in Progress Flag | |-------------------------------------| DTECHR=KIEPT+454| Last Typed Character | |-------------------------------------| DTETMD=KIEPT+455| Monitor TTY Output Complete Flag | |-------------------------------------| DTEMTI=KIEPT+456| Monitor TTY Input Flag | |-------------------------------------| DTESWR=KIEPT+457| Console Switch Register | |-------------------------------------| 460| | | Reserved for Software | 477\ \ |-------------------------------------| 500| | | Reserved | 507\ \ |-------------------------------------| TIMBAS=KIEPT+510| | | Time Base | 511| | |-------------------------------------| 512| | | Performance Analysis Count | 513| | |-------------------------------------| TIMVIL=KIEPT+514| Internal Counter Interrupt Instruc. | |-------------------------------------| MSECTB=KIEPT+540| EXEC SECTION 0 | | | | | | | 577\ EXEC SECTION 37 \ 125
MONITOR TABLES EPT (Cont.) |-------------------------------------| EPTMLO=KIEPT+600| | | | EPTLBP=KIEPT+700|-------------------------------------| | OWGBP Microcode Table Storage | 722|-------------------------------------| | | | | | | 777\ Available to Software \ +-------------------------------------+ * These values are placed into the table when the EPT is initialized at system startup. 126
MONITOR TABLES ES The DECnet Sublink Block is part of the link block. It holds the information about the "normal" and the "other" sublinks. The structure name ES is used instead of the more obvious NS (NSP Sublink) to avoid a conflict with the other NS structure defined in this universal file. The "E" stands for the new name for the NSP layer: "End-to-end" layer. Defined in: D36PAR Format +------------------------------------------------------------------------+ | | | | | | | | | | | | | | ESGOL | ESCGL | | ESFLG | | | | | Data request |After-congestion | * | | | | | | goal (9 for DDT | recovery goal | | | | | | | ease) | | |------------------------------------------------------------------------| | ESXLD | ESXRD | ESXSD | | | Xmit DRQS | Xmit DRQS |Xmit DRQS need | | |outstanding to |outstanding to | to send to SC | | | local SC | remote NSP | | | |------------------------------------------------------------------------| | ESRLD | ESRRD | ESRSD | | | Receive DRQS | Receive DRQS | Receive DRQS | | |outstanding to |outstanding to | need to send | | | local SC | remote NSP | to SC | | |------------------------------------------------------------------------| | ESLMA | ESLAR | ESLMR | | Last message number |Last ACK received (and | Last message received | | assigned | processed) | | |------------------------------------------------------------------------| /\ ESAKQ | Queue header for the to-be-acked Q | QH.LEN \ \ \/ |------------------------------------------------------------------------| /\ ESRCQ | Queue header for the receive Q | QH.LEN \ \ \/ |------------------------------------------------------------------------| /\ ESXMQ | Queue header for the xmit Q | QH.LEN \ \ \/ |------------------------------------------------------------------------| | ESCWS | ESCDA | ESDLT | | Current window size | # of ACKs since last | ACK delay timer | | | window change | | +------------------------------------------------------------------------+ 127
MONITOR TABLES ES (Cont.) For field ESFLG(0-11): ESOTH 0 Set if this is other sublink ESACK 1 Send ACK for this sublink next jiffy ESNAK 2 Send NAK to PH2 NSP (turn ACK on too) ESROF 3 Receive is off ESROC 4 Receive off has changed ESXOF 5 Xmit is off ESBFR 6 Remote is "buffer-rich" on this link ESDLY 7 ACK delaying allowed Field ESRFL (13-14) Receive flow control type Field ESXFL (16-17) Xmit flow control type 128
MONITOR TABLES ET For test and debug purposes, there is an extra function of the NTMAN JSYS. This function logs an event or signal. The function code is -5 (.NTTEV) The entity ID and type for the event are taken from the standard words in the NTMAN argument block. Word .NTSEL points to a secondary argument block of the following layout. Defined in: D36PAR Format +------------------------------------------------------------------------+ | | | ETCNT | * | | | Replication count | |------------------------------------------------------------------------| | ETCCL | ETCTY | ETDLN | | Event class | Event | Data length in bytes | | | type | | |------------------------------------------------------------------------| /\ ETDAT | Space for data | <44/4> \ \ \/ +------------------------------------------------------------------------+ Field ETSIG (0-0) Set if this is a signal 129
MONITOR TABLES EXEC-PG-MAP-TBL Executive Page Map Table. This 512-word memory resident table holds or points to other tables that hold all of the mapping information needed by the firmware to translate executive (monitor) virtual addresses in a given section into physical memory addresses. It is pointed to by an entry in the monitor's section table in the Executive Process Table (EPT). The four possible formats for an entry in this table (that is, Immediate, shared, indirect or null pointers) are illustrated below. The details of these four possible pointer words as well as the mechanics of the virtual to physical translation process for a monitor page is identical to that described for the User-Page Map Table (See User-Pg-Map-Tbl) Defined in: STG Format +-------------------------------------------------------+ MMAP: * | Immediate Pointer | / \ |-------------------------------------------------------| | |0 2|3 8| |12 35| | | Op |Access | | STGADR | | |Code 1| Bits | | Storage Address | | |-------------------------------------------------------| | | or Shared Pointer | | |-------------------------------------------------------| | |0 2|3 8| |18 35| | | Op |Access | | SPTX | | | Code | Bits | | SPT. index | | | 2 | | | (Holds Pg's Stor Adr.) | |-------------------------------------------------------| Virtual | or Indirect Pointer | Pg # |-------------------------------------------------------| 0-777 |0 2|3 8|9 17|18 35 | | Op |Access | IPPGN | SPTX | | | Code | Bits | PN | SPT index | | | 3 | | | (Holds Pg Tb's Stor. Adr) | | |-------------------------------------------------------| | | or Null Pointer | | |-------------------------------------------------------| | |0 2|3 8| | | | Op |Access | 0 (Nonexistent Pg) | | |Code 0| Bits | | | |-------------------------------------------------------| | \ . \ \ / +-------------------------------------------------------+ * Currently MMAP is the monitor's page map table for section 0 and section 1. The layout of the monitor's virtual address space for section 0 is described in Appendix B of the Monitor Structures Book. 130
MONITOR TABLES FA This is the DECnet Filter argument block which is used to pass arguments to the EV.FIL function of NMXEVT. Defined in: D36PAR Format Filter argument block +------------------------------------------------------------------------+ | FACCL | FACTY | | Event class | Event type | +------------------------------------------------------------------------+ 131
MONITOR TABLES FB This is the Free Block pointer used by DECnet for maintaining a list of free storage. Defined in: D36COM Format +------------------------------------------------------------------------+ FBNXT | Forward pointer in a free block | +------------------------------------------------------------------------+ 132
MONITOR TABLES FDB File Description Block. All attributes of a file are stored in its description block (FDB) maintained in the file's directory. An FDB is built in the directory's free space area when a file is created. This table is referenced by the DIR table. Defined in: PROLOG, MONSYM Format +-------------------------------------------------------+ .FBHDR |0 17|18 23|24 35| =0 | FBTYP | FBVER | FBLEN | | .TYFDB (400100) | Ver. # | Length | |-------------------------------------------------------| .FBCTL |0 35| =1 | FBFLG | * | Flags | |-------------------------------------------------------| .FBEXL | 2|3 FBEXL | =2 | | Link to FDB of Next Extension | |-------------------------------------------------------| .FBADR | FBADR | =3 | Disk Address of File's Index Block | |-------------------------------------------------------| .FBPRT | FBPRT | =4 | Protection of the file | | 500000 | File Access Bits | |-------------------------------------------------------| .FBCRE | FBCRE | =5 | Date and Time of Last Write to File | |-------------------------------------------------------| .FBAUT | FBAUT | =6 | Pointer to Author String | |-------------------------------------------------------| .FBGEN | FBGEN |FBDRN | * =7 | Generation Number | Dir.# (if it's a Dir File)| |-------------------------------------------------------| .FBACT | FBACT | =10 | 500000,,0 + Account Number | | or | | Pointer to Account String | |-------------------------------------------------------| .FBBYV |0 5|6 11| |14 17|18 35| * =11 | FBGNR | FBBSZ | |FBMOD | FBNPG | |# Gens. |Byte Sz | | Mode | # of Pages in File | |-------------------------------------------------------| .FBSIZ | FBSIZ | =12 | # of Bytes in File | 133
MONITOR TABLES FDB (Cont.) |-------------------------------------------------------| .FBCRV | FBCRV | =13 | Date and Time of Creation | |-------------------------------------------------------| .FBWRT | FBWRT | =14 | Date and Time of Last User Write | |-------------------------------------------------------| .FBREF | FBREF | =15 | Date and Time of Last Nonwrite Access | |-------------------------------------------------------| .FBCNT | FBNWR | FBNRF | =16 | # of Writes | # of References | |-------------------------------------------------------| .FBBK0 | FBBK0 | * =17 | Backup Word #1 | |-------------------------------------------------------| .FBBK1 | FBBK1 | =20 | Backup Word #2 | |-------------------------------------------------------| .FBBK2 | FBBK2 | =21 | Backup Word #3 | |-------------------------------------------------------| .FBBBT | FBBBT | * =22 | Tape system flag bits | |-------------------------------------------------------| .FBNET | FBNET | =23 | Date and time of online expiration | |-------------------------------------------------------| .FBUSW | FBUSW | =24 | User Settable Word | |-------------------------------------------------------| .FBGNL | 2|3 FBGNL | =25 | | Link to FDB of Next Generation | |-------------------------------------------------------| .FBNAM | FBNAM | =26 | Pointer to File Name Block | |-------------------------------------------------------| .FBEXT | FBEXT | =27 | Pointer to Extension Block | |-------------------------------------------------------| .FBLWR | | =30 | Pointer to Last Writer String | |-------------------------------------------------------| .FBTDT | FBTDT | =31 | Date and time of archive/collection tape write | |-------------------------------------------------------| .FBFET | FBFET | =32 | Date and time of off-line expiration | 134
MONITOR TABLES FDB (Cont.) |-------------------------------------------------------| .FBTP1 | ARTP1 | =33 | Tape ID for first archive/collection run | |-------------------------------------------------------| .FBSS1 | TSN1 | TFN1 | =34 | Saveset # for 1st tape | Tape file # in saveset | |-------------------------------------------------------| .FBTP2 | ARTP2 | =35 | Tape ID for second archive/collection run | |-------------------------------------------------------| .FBSS2 | TSN2 | TFN2 | =36 | Saveset # for 2nd tape | Tape file # in saveset | +-------------------------------------------------------+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 14 17 18 19 20 35 +-------------------------------------------------------+ .FBCTL | | | | | | | | | | | | | | | | | | | | +-------------------------------------------------------+ Symbol Bits DEFSTR Content FB%TMP 0 FBTMP File is temporary FB%PRM 1 FBPRM File is permanent FB%NEX 2 FBNEX No extension for this file yet; file doesn't really exist. FB%DEL 3 FBDEL File is deleted FB%NXF 4 FBNXF File doesn't exist (first write not complete) FB%LNG 5 FBLNG Long file FB%SHT 6 FBSHT Reserved for DEC FB%DIR 7 FBDIR File is a directory FB%NOD 8 FBNOD File is not saved by backup system FB%BAT 9 File may have bad pages FB%SDR 10 FBSDR This directory has subdirectories FB%ARC 11 FBARC File has archive status FB%INV 12 FBINV File is invisible FB%OFF 13 FBOFF File is off-line FB%FCF 14-17 File class field 0 = .FBNRM Not an RMS file 1 = .FBRMS RMS file FB%NDL 18 File is not delete table FB%WNC 19 Last write not closed FB%FOR 20 FORTRAN data file | FB%SEC 21 File is secure | (ACJ consulted on each access) 135
MONITOR TABLES FDB (Cont.) 0 17 18 35 +-------------------------------------------------------+ .FBGEN | FBGEN | FBDRN | +-------------------------------------------------------+ Symbol Bits DEFSTR Content FB%GEN 0-17 FBGEN Generation number FB%DRN 18-35 FBDRN Directory number 0 5 6 11 2 3 14 17 18 35 +-------------------------------------------------------+ .FBBYV | | | | | | +-------------------------------------------------------+ Symbol Bits DEFSTR Content FB%RET 0-5 FBGNR Generation retention count FB%BSZ 6-11 FBBSZ Byte size FB%MOD 14-17 FBMOD Last OPENF mode FB%PGC 18-38 FBNPG Page count 0 1 2 3 4 5 6 7 8 15 17 18 35 +------------------------------------------------------+ .FBBBT | | | | | | | | | | | | | +------------------------------------------------------+ Symbol Bits DEFSTR Content AR%RAR 1 K0RAR Request for file to be archived AR%RIV 2 K0RIV System request for migration AR%NDL 3 K0NDL Do not delete disk contents after archiving AR%NAR 4 K0NAR Resist migration AR%EXM 5 K0EXM File is exempt from migration AR%1ST 6 K01ST First pass is in progress AR%RFL 7 K0RFL Restore failed AR%WRN 8 User warned of file expiration AR%RSN 15-17 K0RSN Reason file pushed off-line: 1 = .AREXP File expired 2 = .ARARR Archive requested 3 = .ARRIR Migration requested AR%PSZ 18-35 ARPSZ Number of pages in file when removed from disk 136
MONITOR TABLES FDB (Cont.) FBBK0 is used by DUMPER as follows: 0 1 17 18 35 +-------------------------------------------------------+ .FBBK0 | | | | +-------------------------------------------------------+ Bits Contents 0 Indicator for interrupted incremental save 1-17 Count of incremental saves since last time write count changed 18-35 Write count at last incremental save NOTE For additional information on the FDB see the Monitor Call's Reference Manual. 137
MONITOR TABLES FE-STORAGE-AREA Front End Storage Area. Each entry is FEN words long (except the lock--FELOCK), where FEN equals the number of front end devices. Defined in: STG Format +-------------------------------------------------------+ / \ FEUDB0: | | FEFEM | FEFRK | * | \ Flags | FE Alloc | Fork # Owning Device \ FEN +-------------------------------------------------------+ \ / FEUDB1: | FEICT | | FEFEI | / \ | Current Input | unused | Bytes Now in FE | FEN \ Byte Count | | \ \ / |-------------------------------------------------------| / \ FEUDB5: | | * | \ Byte information \ FEN |-------------------------------------------------------| \ / FEUDB6: | | / \ \ Output output pointer \ FEN |-------------------------------------------------------| \ / FEUDB7: |0 11|12 23|24 35| / \ | FEIE1 | FEOEB | FEIEB | FEN |Bytes remain. for|Bytes remain. for |Bytes remain. for | | \ input level |output int. level | input int. level \ \ / |-------------------------------------------------------| |0 17|18 23|24 35| / \ | FEIBF | FEBSZ | FEOCT | | Buffer Address | Byte Size | Output | FEN \ | of Opening | Count \ \ / |-------------------------------------------------------| / \ FEUDB4: | | FEN \ Input Input Pointer \ \ / |-------------------------------------------------------| FELOCK: | Front end storage area lock | +-------------------------------------------------------+ 138
MONITOR TABLES FE-STORAGE-AREA (Cont.) 0 1 2 3 4 5 6 17 18 35 +-------------------------------------------------------+ FEUDB0 | | | | | | FEFEM | FEFRK | entry +-------------------------------------------------------+ Bit(s) Pointer Content 0 FEACT Output active bit 1-2 FEDTE DTE owning this device 3 FEBLK Unit is blocked 4 FEEOF Input EOF declared by FE 5 FEVDT FE assignment is valid 6-17 FEFEM FE Allocation 18-35 FEFRK Fork owning device 0 1 11 12 23 24 35 +-------------------------------------------------------+ FEUDB5 | | FEPRO | FEIBC | FEOE1 | entry +-------------------------------------------------------+ Bit(s) Pointer Content 0 FEHNG Hung bit 1-11 FEPRO Count of input since last ack 12-23 FEIBC Count of bytes in interrupt buffer 24-35 FEOE1 Bytes remaining for output level 139
MONITOR TABLES FKBSPW This resident table contains pointers that comprise a linked list of the current balance set members. The initial pointer to this list is BSLST. The list is used by AJBALS to determine the status of the current members of the balance set. Note that an entry may contain a non-zero value without being a balance set member. Only entries found by following the BSLST link are considered. If a fork is placed on the balance set without hold time, it does not appear on this list. Defined in: STG Index: Fork number Format +------------------------------------------------------------+ FKBSPW: | FKGOLN | FKBLP Balance set list pointer | / \ +------------------------------------------------------------+ | | . | | | . | NFKS \ . \ | | . | | | . | \ / +------------------------------------------------------------+ When the fork is blocked, FKGOLN contains the block priority, which may be one of the following: FHV1 = 1 . . . FHV7 = 7 When the fork is runnable, FKGOLN contains the GOLST position. 140
MONITOR TABLES FKCNO Fork Core Number Table. The left half of this table is used to hold the SPT index for the second page of each fork's PSB table. (see FKPGS table for SPT index for first page of each fork's PSB). Defined in: STG, PROLOG Index: Fork number Format +-------------------------------------------------------+ | FKCNO: | FKPS2 | FKJPT | / \ | | SPTn for 2nd pg of PSB | Page table for extended | | | | | JSB (currently unused) | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 141
MONITOR TABLES FKINT Fork Interrupt Table. This table contains the pseudo-interrupt communication register for each fork. The left half of each entry contains bits recording the type of request. The symbols for these requests have right half bit assignments (that is, bits 20-35) but are tested against the left half of the table. Defined in: STG Index: Fork number Format 0 18 19 26 27 35 +-------------------------------------------------------+ FKINT: | Bits | Unused | TRMCOD |* / \ |-------------------------------------------------------| | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ Symbol Bits Pointer Content FKPSI0 0 Interrupt Request(s) pending FKPSI1 1 Fork not interruptable NEWFK% 2 Initiate new fork NEWJB% 3 Initiate new job PSIIF% 4 Channel interrupt requested in FKINTB PSIT1% 5 Terminal code Interrupt, Phase 1 PSIT2% 6 Terminal code Interrupt, Phase 2 SUSFK% 7 Suspend fork request PSIWT% 8 Job was in wait state PSILO% 9 Logout job request FRZB1% 10 Direct freeze has been done FRZB2% 11 Indirect freeze has been done FRZBB%==FRZB1%+FRZB2% Both bits for external references JTFRZ% 12 JSYS trap freeze ABFRZ% 13 Address break freeze FRZBA%==ABFRZ%+JTFRZ%+FRZBB% All types of freezes PSICO% 14 Carrier off action request 142
MONITOR TABLES FKINT (Cont.) PSITL% 15 Time limit exceeded interrupt PSIJT% 16 JSYS trap request ADRBK% 17 Address break request PSIPRI 18 Priority word set PSIDP% 19 DAP% JSYS Attention PSISC% 20 SCS% JSYS work queue entries for this fork UNUSED 21-26 Unused 27-35 TRMCOD Field for terminal 143
MONITOR TABLES FKINTB Fork Interrupt Table. This table contains the pseudo-interrupt channel requests pending for each fork since the fork's last PSI interrupt. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ FKINTB: | Interrupt Channel Request(s) Pending | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 144
MONITOR TABLES FKJOB Fork Job Table. This table holds each fork's job number and JSB address (SPT index). Defined in: STG Index: Fork number Format +-------------------------------------------------------+ | FKJBN | FKJSB | / \ FKJOB: | Job Number | JSB (SPT Index) | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 145
MONITOR TABLES FKJTQ Fork JSYS Trap Queue. This doubly linked list is a JSYS Traps Queue of forks waiting to program software interrupt (PSI) the monitor. JTLST points to the top fork on the linked JSYS traps queue in FKJTQ. When a fork tries JTLOCK (in the JSB) and some other fork has the lock, the fork is added to FKJTQ and blocked. When the lock is cleared, the queue is scanned for the first fork (if any) waiting on the lock. That fork is removed from the queue and allowed to run. Defined in: STG Format +-------------------------------------------------------+ | FKJTP | FKJTN | FKJTQ: | Ptr. to Previous Entry | Ptr. to Next Entry | / \ |-------------------------------------------------------| | | | | | | | | | | | NFKS | | | | | \ \ \ / +-------------------------------------------------------+ 146
MONITOR TABLES FKNBW This resident table saves the time of start of a balance set wait of a fork. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ FKNBW: | Time of start of BALSET wait | / \ +-------------------------------------------------------+ | | . | | | . | NFKS | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 147
MONITOR TABLES FKNR Fork Number of Reserve Pages Table. This table contains in the right half the current reserve working set size for each fork. Also, it contains the age stamp value at the last time local garbage collection (removal of less frequently used pages) took place for the fork. Defined in: STG Index: Fork number Format 0 8 9 17 18 35 +-------------------------------------------------------+ | FKXAGE | FKAGE * | FKWSS | / \ FKNR: |Age -Last XGC| Current Age | Reserve Working Set Size | | |-------------------------------------------------------| | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ * FKAGE was used prior to Release 4. It is currently set to 100 (octal) and not changed. 148
MONITOR TABLES FKPGS Fork Page and Process Storage Table. This table contains the page table and PSB locations (SPT indexes) for each fork. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ | FKUPT | FKPSB | / \ FKPGS: | Page Table (SPT Index) | PSB (SPT Index) * | | | | for 1st page of PSB | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ * See FKCNO table description for SPT index for second page of PSB. 149
MONITOR TABLES FKPGST Fork BALSET Wait Satisfied Test Table. This table holds test routine information for forks in a balance set wait state. The test routine checks if wait satisfied has occurred. For forks on a wait list (and therefore not in the balance set), this table contains the time of day the fork entered the list. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ / \ | FKPTD | FKPTR | | | | Test Routine for | | FKPGST: | Test Data | BALSET Wait Satisfied | | |-------------------------------------------------------| | | or | | |-------------------------------------------------------| | | Time of Day Entered a Wait List | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 150
MONITOR TABLES FKPT Fork List Pointer Table. This table gives the chain of forks for each list of forks in the system. That is, it holds the linked list of forks on TTILST, CLKLST, GOLST. A fork is either on one of the wait-lists or the go-list. The right half contains the list pointer to the next fork on the same list. The left half contains the runtime at which the process associated with the particular fork runs out of balance set hold time. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ | FKBET | | / \ FKPT: | Time balance set hold | List Pointer | | | elapses | | | |-------------------------------------------------------| | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ Unused slots in this table are linked in a free list. Location FREFK contains a pointer to the first slot in the free list. 151
MONITOR TABLES FKQ1 Fork Run Queue Table 1. This table contains each fork's remaining run quantum. When this quantum expires, the process is requeued to a lower run position and given the the quantum associated with that run queue. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ FKQ1: | FKQTM | / \ | Fork's Remaining Run Quantum | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 152
MONITOR TABLES FKQ2 Fork Run Queue Table 2. This table contains the queue level number and fork location (that is, the list address such as TTILST or GOLST) for each fork. Defined in: STG Index: Fork number Format 0 1 2 5 6 11 12 17 18 35 +-------------------------------------------------------+ / \ FKQ2: | | | | | | | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ Bits Pointer Content 0 FKNTC Network topology change interrupt enabled 1 PIBMP PI boost flag 2-5 FKFLG Fork flags 6-11 FKMNQ Max Q for fork 12-17 FKQN Queue level number 18-35 FKWTL Wait list address for blocked fork 153
MONITOR TABLES FKSTA2 This table, indexed by fork number, contains the test data for a given fork. It is similar to FKSTAT except that this table can contain a full 36-bit test data word. Defined in: STG Index: Fork number +-------------------------------------------------------+ | FKST2 | | Test Data | / \ |-------------------------------------------------------| | | | | | | | | | | | | | | | | | NFKS | | | | | | | | | | | | | | | | | \ \ | +-------------------------------------------------------+ \ / 154
MONITOR TABLES FKSTAT Fork Status Table. This table has useful information when a fork blocks and leaves the GOLST (that is, LH (FKPT) contains the list address, WTLST). The blocked fork's entry in this table contains the address of the test routine which, when called, determines if wait satisfied has occurred for the fork. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ / \ | FKSTR | FKSTO | | FKSTAT: | Test Data | Test Routine Address | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 155
MONITOR TABLES FKSWP This resident table contains fork information that is used primarily by the working set manager in its decisions. Defined in: STG, PROLOG Index: Fork number Format +-------------------------------------------------------+ FKSWP: | flags | FKHST |* / \ +-------------------------------------------------------+ | | . | | | . | | . | NFKS | . | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 0 1 2 3 4 5 6 7 8 17 18 35 +-------------------------------------------------------+ | | | | | | | | | FKGOLN | FKHST | +-------------------------------------------------------+ Bits Pointer Content 0 FKWSL Working set loaded 1 FKBLK Fork blocked off if on GOLST 2 FKIBS Fork in balance set 3 BSWTB Fork in balance set wait 4 BSNSK NOSKED--on if fork is NOSKED and not running 5 BSCRSK CRSKED--on if fork is CRSKED and not running 6 FKIBH In balance set hold--on if fork entered balance set since last update to history 7 FKBSHF In balance set hold in AJBALS algorithm 8 BSSPQ Special queue (system fork) 9 BSOVRD Override high priority 10 BSNST Last block was long 11 SCWAK% SCJSYS is waking 12 SCBLK% SCJSYS is blocked 13 FKSPL Inferior fork has been spliced 14 FKKIL Fork is being killed 15 FKOGL Fork is on GOLST 16-17 Unused 18-35 FKHST Fork history 156
MONITOR TABLES FKTIME Fork Time Table. This table gives the time of day (TODCLK) at which each fork was put on its current run queue. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ FKTIME: | Time When Fork Put on Run Queue | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 157
MONITOR TABLES FKWSP Fork Working Set (In-Memory Size) Table. This table contains in the right half the number of physical pages currently assigned to each fork. The left half is used to hold the preload size as determined by LDJOB when a fork enters the balance set. Defined in: STG Index: Fork number Format +-------------------------------------------------------+ | FKNWCE | FKCSIZ | / \ FKWSP: | # of pages to be loaded | Current Size | | | (either # of pages of the | | | | working set currently not | | | | loaded or # of overhead | | | | pages if not preloading | | | | (NFKSPP=4) | | | |-------------------------------------------------------| | | . | | . | NFKS | . | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 158
MONITOR TABLES FL FL is the format of the NI Flush Command Queue command. Defined in: PHYKNI Format +------------------------------------------------------------------------+ FLCHK | Check word | |------------------------------------------------------------------------| FLPID | Portal ID | +------------------------------------------------------------------------+ 159
MONITOR TABLES FREESPACE BLOCK HEADER/TRAILER At a minimum, a header of length 3 is required (no trailer is ever required). The header is infinitely expandable, as is any trailer. While in the pool, blocks are manipulated by pointers that address the first word past the header (thus the negative offsets for the header definitions). Before a block is assigned to the user, the pointer is SOS'd and the user area of the block overlays the header by one word. (Specifically, the user area of the block begins with header word FSPNXT.) Unless the monitor has been assembled with the debug conditional, the block header is three words long and no trailer is used. Defined in: FREE Format +-------------------------------------------------------------+ FSPAPC= -7 | PC of block assigner | |-------------------------------------------------------------| FSPAJF= -6 | Job #,,fork # of block assigner | |-------------------------------------------------------------| FSPDPC= -5 | PC of block deassigner | |-------------------------------------------------------------| FSPDJF= -4 | Job #,,fork # of block deassigner | |-------------------------------------------------------------| FSPFLG= -3 | Flags,,unique code | |-------------------------------------------------------------| FSPSIZ= -2 | Size of block (including header/trailer) | |-------------------------------------------------------------| FSPNXT= -1 | Pointer to next block | +-------------------------------------------------------------+ 160
MONITOR TABLES FREESPACE DESCRIPTOR The free space descriptor is a block that contains information about the individual free space pools and pointers to them. The address of each descriptor is contained in the FSPTAB table. Defined in: FREE Format +-------------------------------------------------------------+ FSPPFL=0 | Flags | |-------------------------------------------------------------| FSPLOK=1 | Pool lock | |-------------------------------------------------------------| FSPORG=2 | Origin address of freespace pool | |-------------------------------------------------------------| FSPEND=3 | Ending address of freespace pool | |-------------------------------------------------------------| FSPCNT=4 | Count of space remaining in pool | |-------------------------------------------------------------| FSPSML=5 | Smallest balance of free space achieved | |-------------------------------------------------------------| FSPBAP=6 | Pointer to block-accounting area | |-------------------------------------------------------------| FSPMTB=7 | Minimum total block size | |-------------------------------------------------------------| FSPFFB=10 | Pointer to first free block | |-------------------------------------------------------------| FSPRFB=11 | Randomized pointer to first free block | |-------------------------------------------------------------| FSPHDS=12 | Block header size | |-------------------------------------------------------------| FSPTRS=13 | Block trailer size | |-------------------------------------------------------------| FSPHTS=14 | Combined header and trailer size | |-------------------------------------------------------------| FSPBCS=15 | Smaller of header or trailer size | |-------------------------------------------------------------| FSPHBP=16 | History buffer address | |-------------------------------------------------------------| FSPHBX=17 | Max History transactions | Index to current hist rec | +-------------------------------------------------------------+ FSPDSS = descriptor size in words 161
MONITOR TABLES FREESPACE-DESCRIPTOR INDEX TABLE This is the table that points to the swappable and JSB freespace structures. Defined in: FREE Format FSPTAB: +-------------------------------------------------------------+ | Pointer to freespace descriptor | |-------------------------------------------------------------| | Pointer to freespace descriptor | |-------------------------------------------------------------| | . | | . | | . | |-------------------------------------------------------------| | Pointer to freespace descriptor | +-------------------------------------------------------------+ FSPTBL = Freespace-descriptor index-table size in words 162
MONITOR TABLES FREESPACE HISTORY RECORD The free space history record is a ring buffer that is used to record free space transactions. There is one ring buffer for each free space pool. Word FSPHBO in the free space descriptor contains the base address of this buffer. The right half of word FSPHBX in the free space descriptor contains the index to the current history record. Defined in: FREE Format +-------------------------------------------------------------+ FSPHST=0 | Transaction Type (-1 = assign; 0 = deassign) | |-------------------------------------------------------------| FSPHPC=1 | PC of Caller | |-------------------------------------------------------------| FSPHJF=2 | Job,, Fork of Caller | |-------------------------------------------------------------| FSPHBA=3 | Block Address | |-------------------------------------------------------------| FSPHBS=4 | Block Size | +-------------------------------------------------------------+ FSPHRC (200 decimal) is the number of history records in the history buffer. 163
MONITOR TABLES GB The format of the LAT Service Block is shown below. There is one service block for each service provided by the host. A host must provide at least one service if it is to function as a LAT host. If no services have been defined by the LCP interface at the time LAT operations are started, a default service is defined with the same name as the host node name. Defined in: LATSRV Format SERVICE BLOCK +------------------------------------------------------------------------+ GBRAT | Service Rating | |------------------------------------------------------------------------| | GBNC | GBLC | | Count of bytes in service name | Count of bytes in service | | | description | |------------------------------------------------------------------------| /\ GBNAM | Storage for up to 16 bytes of service name | <<ML.SNM+4>/5> \ \ \/ |------------------------------------------------------------------------| /\ GBHID | Storage for up to 64 bytes of service id | <<ML.SID+4>/5> \ \ \/ +------------------------------------------------------------------------+ 164
MONITOR TABLES GTOKPR This table is used by the access control code. It contains one entry for each legal GETOK/GIVOK function. Defined in: STG Format +-------------------------------------------------------+ GTOKPR: | DGOUSR -- User requests | / \ |-------------------------------------------------------| | | DGOASD -- Assign device | | |-------------------------------------------------------| | | DGOCAP -- Enable/disable capabilities | | |-------------------------------------------------------| | | DGOCJB -- Create job | | |-------------------------------------------------------| | | DGOLOG -- Login | | |-------------------------------------------------------| | | DGOCFK -- Create fork | | |-------------------------------------------------------| | | DGOTBR -- Set terminal baud rate | | |-------------------------------------------------------| | | DGOLGO -- Logout | | |-------------------------------------------------------| | DGOENQ -- ENQ quota setting | MXGOKF |-------------------------------------------------------| | DGOCRD -- Create/modify directory | | |-------------------------------------------------------| | | DGOSMT -- Structure mount | | |-------------------------------------------------------| | | DGOMDD -- Enter MDDT | | |-------------------------------------------------------| | | DGOCLS -- Set class for job | | |-------------------------------------------------------| | | DGOCL0 -- Set class at login | | |-------------------------------------------------------| | | DGOMTA -- MT access | | |-------------------------------------------------------| | | DGOACC -- ACESS JSYS | | |-------------------------------------------------------| | | DGOOAD -- Assign device via OPENF | | |-------------------------------------------------------| | | DGODNA -- DECnet access | | |-------------------------------------------------------| | | DGOANA -- ARPAnet access | | 165
MONITOR TABLES GTOKPR (Cont.) |-------------------------------------------------------| | | DGOATJ -- Attach job | | | |-------------------------------------------------------| | | | DGOINF -- INFO% monitor call | | | |-------------------------------------------------------| | | | DGOLAT -- LATOP% monitor call | | | |-------------------------------------------------------| | | | DGOCTM -- Incoming CTERM connections | | | |-------------------------------------------------------| | | | DGOTTM -- Allow TTMSG% | | | |-------------------------------------------------------| | | | DGOSMN -- Allow SMON% | | | |-------------------------------------------------------| | | | DGOMSY -- Allow HSYS% | | | |-------------------------------------------------------| | | | DGOSGT -- Allow SYSGT% | | | |-------------------------------------------------------| | | | DGOGTB -- Allow GETAB% | | | |-------------------------------------------------------| | | | DGOOPN -- OPENF% of secure file | | | |-------------------------------------------------------| | | | DGORNF -- RNAMF% of secure file | | | |-------------------------------------------------------| | | | DGODLF -- DELF%/DELNF% of secure file | | | |-------------------------------------------------------| | | | DGOTLK -- Allow TLINK% | | | |-------------------------------------------------------| | | | DGOCRL -- Allow CRLNM% (only some functions) | | | |-------------------------------------------------------| | | | DGODTC -- Allow DTACH% | | | |-------------------------------------------------------| | | DGOCFD -- Allow CHFDB% to set file secure | \ / +-------------------------------------------------------+ 166
MONITOR TABLES HC Data structure HC is the LAT circuit counters portion of the Host Node (HN) data structure. Defined in: LATSRV Format +------------------------------------------------------------------------+ HCRCV | Messages received | |------------------------------------------------------------------------| HCXMT | Messages transmitted | |------------------------------------------------------------------------| HCRTR | Messages retransmitted | |------------------------------------------------------------------------| HCSEQ | Receive message sequence errors | |------------------------------------------------------------------------| HCIMR | Illegal messages received | |------------------------------------------------------------------------| HCISR | Illegal slots received | |------------------------------------------------------------------------| HCRES | Resource errors | |------------------------------------------------------------------------| HCMSK | Illegal message error mask | +------------------------------------------------------------------------+ 167
MONITOR TABLES HN The HN (Host Node) data structure is used by LAT service to store status and configuration information describing the local host. TOPS-20 stores the address of this block in location LAHNDB. Defined in: LATSRV Format HOST NODE Data Base +------------------------------------------------------------------------+ | | | | | | | | | | | | | | | HNFLG | | HNCFL | * |------------------------------------------------------------------------| | HNMXC | HNNCC | |Maximum allocatable circuit blocks | Number of currently allocated | | | circuit blocks | |------------------------------------------------------------------------| | HNMAC | HNNAC | | Maximum number of active circuits |Number of currently active circuits | |------------------------------------------------------------------------| | HNMCO | HNCON | | Maximum number of simultaneous | Current number of active connects | | connects | | |------------------------------------------------------------------------| | HNNUM | HNLAS | | Host number | LAT access state | |------------------------------------------------------------------------| | HNRLI | HNTIM | |Virtual circuit message retransmit | Virtual circuit timer initial | | limit | value (ms) | |------------------------------------------------------------------------| | HNMTI | HNRAT | |Multicast timer initial value (sec)| Host node dynamic rating | |------------------------------------------------------------------------| | HNPRG | HNNRB | | Host progress timer |Number of receive buffers allocated | | |------------------------------------------------------------------------| | | HNCMT | HNCMX | | | Command message retry timer | Command message retry limit | |------------------------------------------------------------------------| HNHST| Address of state table | |------------------------------------------------------------------------| /\ HNQAC| Queue header for active circuit blocks | 2 \ \ \/ |------------------------------------------------------------------------| /\ HNQIC| Queue header for inactive circuit blocks | 2 \ \ \/ 168
MONITOR TABLES HN (Cont.) |------------------------------------------------------------------------| /\ HNNIQ| Interrupt level message queue | 2 \ \ \/ |------------------------------------------------------------------------| /\ HNSCQ| Scheduler level message queue | 2 \ \ \/ |------------------------------------------------------------------------| HNPID| NI Portal ID | |------------------------------------------------------------------------| | HNNXI | HNNSV | |Next circuit block index to assign | Number of offered services | |------------------------------------------------------------------------| HNLOK| Lock for HN data base | |------------------------------------------------------------------------| | HNNMC | HNIDC | | Host node name count | Host identification string count | |------------------------------------------------------------------------| /\ HNNAM| Host node name string | 2 \ \ \/ |------------------------------------------------------------------------| /\ HNID | Host identification string | <<ML.DSC+4>/5> \ \ \/ |------------------------------------------------------------------------| /\ HNSMT| Start message template | <<<ML.HSM+3>/4> | | +SBF.OF> \ \ \/ |------------------------------------------------------------------------| /\ HNMCM| Copy of the multicast message | <<ML.HMC+3>/4> \ \ \/ |------------------------------------------------------------------------| /\ HNSRV| Storage for service blocks | <GB.LEN*MXHSRV> \ \ \/ +------------------------------------------------------------------------+ For field HNFLG(0-17): HNRUN 0 NI run state HNANY 1 Reconstruct of START message necessary HNCIP 2 Virtual circuit connect in progress For field HNCFL(28-35): HNOTH 28 Something other than above changed HNFIL 29 HNCLS 30 A host service class changed HNSVD 31 A host service description changed HNSVR 32 A host service rating changed HNSVN 33 A host service name changed HNNDD 34 Host Node Description changed HNACS 35 Access Codes changed 169
MONITOR TABLES HOM Home Block. Block on each disk unit which contains vital statistics that cannot be built in when a monitor is generated. These are primarily parameters of the unit and the STR to which it belongs. Defined in: DSKALC Format +-------------------------------------------------------+ HOMNAM=0 | SIXBIT/HOM/ | |-------------------------------------------------------| HOMID=1 | SIXBIT/Unit ID/ | |-------------------------------------------------------| | Physical Disk Address | Physical Disk Address | HOMPHY=2 | of This Home Block | of Other Home Block | |-------------------------------------------------------| HOMSNM=3 | SIXBIT/Structure Name/ | |-------------------------------------------------------| HOMLUN=4 | # of Packs in STR | Logical Pack # Within STR | |-------------------------------------------------------| | Block # of | Block # of | HOMHOM=5 | This Home Block | Other Home Block | |-------------------------------------------------------| HOMP4S=6 | # of Pages for Swapping on This Structure | |-------------------------------------------------------| HOMFST=7 | First Swapping Track on Unit | |-------------------------------------------------------| HOMRXB=10 | Address of Index Block of ROOT-DIRECTORY | |-------------------------------------------------------| | Address of Index Block of | HOMBXB=11 | BACKUP-COPY-OF-ROOT-DIRECTORY | |-------------------------------------------------------| HOMFLG=12 | Flags | |-------------------------------------------------------| HOMSIZ=13 | Number of Sectors in This Unit | |-------------------------------------------------------| HOMBTB=14 | Number of Tracks in Structure | |-------------------------------------------------------| HOMMID=15 | Pack Unique Code | |-------------------------------------------------------| | | \ Reserved for Expansion \ | | | | |-------------------------------------------------------| HOMFE0=61 | Front End File System (sector #) | |-------------------------------------------------------| HOMFE1=62 | Front End File System (# of sectors) | 170
MONITOR TABLES HOM (Cont.) |-------------------------------------------------------| | | | | \ Reserved for the Front End \ | | | | |-------------------------------------------------------| HOMFE2=101| BOOTSTRAP.BIN Word One (Sector #) | |-------------------------------------------------------| HOMFE3=102| BOOTSTRAP.BIN Word Two (# of Sectors) | |-------------------------------------------------------| | | \ Reserved for Expansion \ | | | | | |-------------------------------------------------------| | HOMLS1=160| CPU Serial Number | CPU Serial Number | | |-------------------------------------------------------| | HOMLS2=161| CPU Serial Number | CPU Serial Number | | |-------------------------------------------------------| | HOMLS3=162| CPU Serial Number | CPU Serial Number | | |-------------------------------------------------------| | HOMLS4=163| CPU Serial Number | CPU Serial Number | | |-------------------------------------------------------| HOMSER=164| APR Serial # of CPU booked from this structure | |-------------------------------------------------------| HOMUID=165\ 12 Character Unit I.D. (PDP-11 Format) (3 words) \ |-------------------------------------------------------| HOMOID=170\ 12 Character Owner I.D. (PDP-11 Format) (3 words) \ |-------------------------------------------------------| HOMFSN=173\ 12 Character File System Name (PDP-11 Format)(3 words)\ |-------------------------------------------------------| HOMCOD=176| 0 | CODHOM (707070) | |-------------------------------------------------------| HOMSLF=177| 0 | This Block # | +-------------------------------------------------------+ 171
MONITOR TABLES HOM (Cont.) PDB Format +-------------------------------------------------------+ | High Serial Number | |-------------------------------------------------------| | Low Serial Number | |-------------------------------------------------------| | Non CI Processor Serial Number | |-------------------------------------------------------| 0 | CI Processor Serial # | CI State | |-------------------------------------------------------| | | | | | | | | | | | | 17 | | | +-------------------------------------------------------+ 172
MONITOR TABLES HOME Home Table. This table contains the disk pages for the HOME and BAT blocks and the 11 Bootstrap program. Defined in: STG Format +-------------------------------------------------------+ / \ HOME: | 0 (11 Bootstrap) | | |-------------------------------------------------------| | | 1 (Home Block ) | | |-------------------------------------------------------| | | 2 ( BAT Block ) | | |-------------------------------------------------------| | | 3 (PDB Block) | | |-------------------------------------------------------| | | 4 . | | |-------------------------------------------------------| | | 5 . | |-------------------------------------------------------| NHOME | 6 . | |-------------------------------------------------------| | | 7 . | | |-------------------------------------------------------| | | 10 . | | |-------------------------------------------------------| | | 11 . | | |-------------------------------------------------------| | | 12 (Secondary Home Block) | | |-------------------------------------------------------| | | 13 (Secondary Bat Block) | | +-------------------------------------------------------+ \ / 173
MONITOR TABLES HOMTAB This table contains the logical to physical mapping (channel and unit) per logical unit, and its length equals the maximum number of packs in a structure. Defined in: STG Format +--------------------------------------------------------+ HOMTAB: | Physical Channel | Physical Unit | / \ |--------------------------------------------------------| | | . | | | . | | | . | | | . | | . | HOMTBL | . | | . | | | . | | | . | | | . | | \ . \ | +--------------------------------------------------------+ \ / 174
MONITOR TABLES IA This structure is used by DECnet. The Connect Initiate and Connect Confirm calls' argument format for T2. T1 holds the NSPpid for the new logical link. Defined in: D36PAR Format +------------------------------------------------------------------------+ | IAFLO | IASIZ | | Flow control type | Max bytes allowed in a message | | | segment | +------------------------------------------------------------------------+ 175
MONITOR TABLES IB The initialization block is the argument to all DECnet-36 initialization routines. It is set with NODE% jsys functions, and read by the various DECnet layers during and after initialization. Defined in: D36PAR Format Initialization Block +------------------------------------------------------------------------+ * | | | IBRTR | | | | | | | | | |------------------------------------------------------------------------| IBNAM | Executor node name (in sixbit) | |------------------------------------------------------------------------| IBADR | Executor node address (16-bit address) | |------------------------------------------------------------------------| IBMXA | Maximum address | |------------------------------------------------------------------------| IBMXB | Maximum buffers | |------------------------------------------------------------------------| IBDGL | Default goal | |------------------------------------------------------------------------| IBDBL | Default # of buffers per link | |------------------------------------------------------------------------| IBBIP | Buffer input percentage | |------------------------------------------------------------------------| IBBSZ | Buffer size | +------------------------------------------------------------------------+ Field IBPH2 (0-0) Set if Phase II desired Field IBRTR (2-5) Routing type .RNT.L1 Level-1 router .RNT.NR End node Field IBFCM (6-7) Default flow control 176
MONITOR TABLES IDXFIL The Index Table File of the structure currently mapped for a process. Each structure has an index table file. The file is indexed by 2* directory number as each entry is two words long. For each directory on the structure, an entry contains the address of the FDB for the directory and the disk address of the index block for the directory. The table, IDXFIL, in the PSB, is mapped from the index block of the file, STRNAM:<ROOT-DIRECTORY>INDEX-TABLE.BIN. The file pointed to by the IDXFIL map has the format shown below. When a structure is mounted (physically) the system gets an OFN for this file and stores it in entry, STRIDX, in the SDB table for that structure. The table entries are created at this time (mount-time). Defined in: PROLOG Format +-------------------------------------------------------+ | | / \ |-------------------------------------------------------| | | . | | | . | | \ . \ |-------------------------------------------------------| Dir. # |IDXSD |IDXFDB | *2 | Superior directory | Address of FDB for | | | this directory | | |-------------------------------------------------------| | | IDXFG | IDXIB | | | flags | Disk address of index block of directory | | |-------------------------------------------------------| | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 177
MONITOR TABLES IDXFIL (Cont.) 0 4 5 6 35 Word 2 +-------------------------------------------------------+ of pair | | | IDXIB | +-------------------------------------------------------+ Symbol Bits Pointer Meaning IDX%IV 5 If set, indicates that this IDX entry is invalid. (IDX%IV is set equal to 1, but is positioned at bit 5) 6-35 IDXIB Disk address of index block of directory. 178
MONITOR TABLES IM This is the DECnet LLMOP identify-self message block. Defined in: LLMOP Format +------------------------------------------------------------------------+ IMIDD | Special ID word | |------------------------------------------------------------------------| /\ IMMSD | MSD for System ID message | MD.LEN \ \ \/ |------------------------------------------------------------------------| /\ IMDAT | Buffer for message | <<SID.SZ+3>/4> \ \ \/ +------------------------------------------------------------------------+ 179
MONITOR TABLES INDEX The Index Block (1 page) exists for each disk file and contains pointers to where each of the file's pages resides on disk. If more than one index block is needed for non-directory files, a super index block (1 page) is created which points to the home disk address of each index block. (Note that the maximum file size is 512*512 pages.) When the file is referenced, an in-core copy of the index block is maintained which keeps track of the file's active pages in the system. (That is, whether the pages are in-core, on the swapping area, or on disk.) Format +-------------------------------------------------------+ |0 8| | | C | Storage address | | H | | |-------------------------------------------------------| |0 E 8| | | C | Storage address | | K | | |-------------------------------------------------------| |0 8| | | S | Storage address | | U | | |-------------------------------------------------------| |0 M 8| | | | Storage address | | | | |-------------------------------------------------------| | | | | | Storage address | | | | |-------------------------------------------------------| | . | | . | | . | \ . \ +-------------------------------------------------------+ 180
MONITOR TABLES INIDEV Initialization Device Routines. This table contains calls to initialize devices after loading the swappable monitor. Defined in: STG Format +-------------------------------------------------------+ INIDEV: | CALL MTAINI | |-------------------------------------------------------| | CALL LPTINI (2020 only) | |-------------------------------------------------------| | CALL CDPINI (KL only) | |-------------------------------------------------------| | RET | +-------------------------------------------------------+ 181
MONITOR TABLES INIDV1 Front End Initialization Device Routines. Defined in: STG Format +-------------------------------------------------------+ INIDV1: | CALL FEINI (KL only) | |-------------------------------------------------------| | CALL CDRINI | |-------------------------------------------------------| | CALL LPTINI (KL only) | |-------------------------------------------------------| | RET | +-------------------------------------------------------+ 182
MONITOR TABLES INIDVT Device Initialization Table. This static table generated at assembly time, contains a four word block for each type of device on the system. It is used at system startup time to generate unit number of entries per device type in the device tables, DEVCHR, DEVCH1, DEVNAM, and DEVUNT. Thus, each unit of each device type has an entry in the device tables. Defined in: STG, MONSYM Format +-------------------------------------------------------+ / \ INIDVT: | SIXBIT/Name/ | | |-------------------------------------------------------| | | Device Type Index Number | Dispatch Adr. | |-------------------------------------------------------| 4 | Char1| <TYPE>B17 | Modes |* |-------------------------------------------------------| | | CHAR2 + CHAR3 + Number of Units | | |-------------------------------------------------------| \ / | . | | . | | . | | . | | . | | . | \ . \ +-------------------------------------------------------+ CHAR1 can be a combination of the following: Symbol Bit Meaning DV%OUT 0 Can do output DV%IN 1 Can do input DV%DIR 2 Has a directory DV%AS 3 Is assignable DV%MDD 4 Is a multiple directory device DV%AV * 5 Is available to this job DV%ASN * 6 Is assigned by ASND DV%MDV 7 Is a mountable device DV%MNT * 8 Is mounted 183
MONITOR TABLES INIDVT (Cont.) TYPE is one of the following: Symbol Value Meaning .DVDSK 0 Disk .DVMTA 2 Magtape .DVPTP 5 Spooled PTP .DVLPT 7 Spooled & physical line printer .DVCDR 10 Spooled & physical card reader .DVFE 11 Front End Device .DVTTY 12 Terminal .DVPTY 13 Pseudo TTY .DVNUL 15 Null Device .DVNET 16 ARPA network .DVPLT 17 Spooled Plotter .DVCDP 21 Spooled Card Punch .DVTCP 25 TCP Device MODES can be a combination of the following: Symbol Bit Meaning DV%M0 35 Can be opened in mode 0 DV%M1 34 " 1 DV%M2 33 " 2 DV%M3 32 " 3 DV%M4 31 " 4 DV%M5 30 " 5 DV%M6 29 " 6 DV%M7 28 " 7 DV%M10 27 " 10 DV%M11 26 " 11 DV%M12 25 " 12 DV%M13 24 " 13 DV%M14 23 " 14 DV%M15 22 " 15 DV%M16 21 " 16 DV%M17 20 " 17 184
MONITOR TABLES INIDVT (Cont.) CHAR2 can be a combination of the following: Symbol Bit Meaning D1%SPL 0 Is spooled D1%ALC * 1 Is under control of allocator D1%VVL * 2 Volume valid D1%NIU * 3 Device slot not in use D1%INI * 4 Device is being initialized (currently for structures only) D1%MTU 5 Device can do MTOPR without JFN opened * These bits are zero at assembly time and are set by the monitor when appropriate in their corres- ponding device tables. (DEVCHR or DEVCH1) CHAR3 is either zero or DV%PSD (bit 18) which indicates pseudo-device. 185
MONITOR TABLES IORB I/O Request Block. Whenever a request for massbus I/O (that is, DSK or MTA) occurs, an IORB is built for that request. It is of the long form described below for magtape requests and special disk I/O. However, the most common IORB format for disk I/O is a one word IORB, consisting of just the status word, IRBSTS, and stored in the CST5 table. Defined in: PHYPAR Format +-------------------------------------------------------| | |IRLNK |* IRBSTS=0| Status | Next IORB |0=IRBLNK |-------------------------------------------------------| IRBMOD=1| Mode, Priority, Density, Parity |* |-------------------------------------------------------| IRBCNT=2| Count of Hardware Bytes Transfered | |-------------------------------------------------------| | IRBTL |IRBHD | IRBXFL=3| Transfer List Tail | Transfer List Head | |-------------------------------------------------------| IRBIVA=4| Address of Termination Routine | |-------------------------------------------------------| IRBADR=5| Physical Device Address (if needed) | |-------------------------------------------------------| IRBLEN=6| Device Dependent Data |* | \ +-------------------------------------------------------+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 17 18 35 +-------------------------------------------------------+ IRBSTS | | | | | | | | | | | | | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content IS.SHT 0 Short form (PAGEM)) request IS.DON 1 Done with this job IS.ERR 2 ISERR Error on this operation IS.NRT 3 No more retries IS.WGU 4 Wrong unit interrupted IS.TPM 5 ISTPM Hit tape mark IS.EOT 6 On write only, hit physical EOT IS.WLK 7 Write locked IS.IER 8 Inhibit error recovery IS.DTE 9 Data error IS.DVE 10 Hardware error on device IS.BOT 11 Hit BOT 186
MONITOR TABLES IORB (Cont.) IS.RTL 12 Record too long (buffer too small) IS.IEL 13 Inhibit error logging 14-17 ISFCN Function code 18-35 IRLNK When referring to link Function Codes for ISFCN Symbol Code Function IRFRED 1 Read data IRFRDF 2 Read data and format (count, key, header) IRFWRT 3 Write data IRFWTF 4 Write format IRFSEK 5 Seek IRFFSB 6 Forward space block IRFBSB 7 Backspace block IRFWTM 10 Write tape mark IRFERG 11 Erase gap IRFREW 12 Rewind IRFRUN 13 Rewind and unload IRFRDR 14 Read reverse IRFRCR 15 Recovery read IRFWVC 16 Write with validity check IRFRVC 17 Read with validity check 0 14 15 17 18 26 27 30 1 32 35 +-------------------------------------------------------+ IRBMOD | | | | | | | +-------------------------------------------------------+ Bits Pointer Content 15-17 IRBDM Data Mode 27-30 IRBPRI Priority 31 IRBPAR Parity 32-35 IRBDN Density Data Modes for IRBDM Symbol Code Meaning IRMWRD 1 Word mode IRM6BT 2 Six bit IRM7BT 3 Seven bit IRM8BT 4 Eight bit IRMHID 5 High density mode 187
MONITOR TABLES IORB (Cont.) If device is DSK, IRBLEN becomes: +-------------------------------------------------------+ IRBLEN | Transfer List | |-------------------------------------------------------| | 0 | +-------------------------------------------------------+ If device is MTA, IRBLEN=MTIRSD becomes: 0 8 9 17 18 35 +-------------------------------------------------------+ | IRFLG *| IRBUN |IRBPB | MTIRSD | Flags | Unit No. |Ptr to Buffer of Page Ptrs | |-------------------------------------------------------| | | IRBOC | | | Original Count | | | (Copy of IRBCNT) | |-------------------------------------------------------| MTIRBL | Transfer List | |_______________________________________________________| | . | \ . \ | . | | . | +-------------------------------------------------------+ Value of flags in IRFLG: Bits Pointer Content 0 IRBFR Buffer ready for use 1 IRBFQ Current buffer flag 2 IRBFA Active flag, IORB being filled or emptied by service routine 3 IRBAB IORB aborted due to an error 4 IRBFF IORB free 188
MONITOR TABLES IPCF-MESSAGE-HEADER IPCF Message header. This table describes the format of the message header for message sent by the Inter-Process Communications Facility. Defined in: IPCF Format 0 17 18 35 +-------------------------------------------------------+ | MESLNK | 0 | Link to Next Message | |-------------------------------------------------------| | Reserved | MESLEN | 1 | | Length of This Block | |-------------------------------------------------------| 2 | MESSJN | MESFLG | | Sender's Job Number | Flags | |-------------------------------------------------------| 3 | MESSPD | | Sender's PID | |-------------------------------------------------------| 4 | MESLDN | | Logged in Directory # of Sender | |-------------------------------------------------------| 5 | MESENB | | Enabled Capabilities of Sender | |-------------------------------------------------------| 6 | MESCDN | | Connected Directory # of Sender | |-------------------------------------------------------| MESACT=7 | MESACT | | Account String Block | \ (length of MESALN = 10) \ |-------------------------------------------------------| 17| MESSLO: | | Logical Location String | | Block of MESLLN (2) | |-------------------------------------------------------| MESWDI=21| MESWDO | \ Message \ | (PTN.PN in Page Mode) | |-------------------------------------------------------| MESWDI+1 | MSFTM | | Mask into Fork Page Bit Table | | (PAGE Mode only) | |-------------------------------------------------------| MESWDI+2 | MESPAC | MSFTI | | Access Bits | Index into | | of Page | Fork Bit Table | +-------------------------------------------------------+ 189
MONITOR TABLES IPCF-PID-HEADER IPCF Process ID Header. This contains overhead information for each PID in use. Defined in: IPCF 0 8 9 11 12 17 18 35 +-------------------------------------------------------+ | PIDUN | | | Unique | Length of this block | | (LH of PID) | | |-------------------------------------------------------| | PIDFLG* | PIDCHN | PIDFW | | Flags | Chn | Fork Number of | | | | Waiting Fork | |-------------------------------------------------------| | PIDRQ | PIDRC | PIDFO | | Receive | Receive | Fork Number of | | Quota | Count | Owner of this PID | |-------------------------------------------------------| | PIDKMP | | PID to receive a message if this PID gets deleted | |-------------------------------------------------------| | PIDNL | | Link to Newest Message | |-------------------------------------------------------| | PIDOL | | Link to Oldest Message | +-------------------------------------------------------+ 0 18 35 +-------------------------------------------------------+ | |||| | PIDCHN | PIDFW | | |||| | CHN | Fork Number of | | |||| | | Waiting Fork | +-------------------------------------------------------+ Symbol Value Content PD%JWP 10 PID is a Job-wide PID PD%DIS 4 PID is disabled PD%CHN 2 Channel is set up to get interrupts PD%NOA 1 No access by other forks 190
MONITOR TABLES IPCF-STORAGE-AREA Inter-Process Communication Facility Storage Area. This non-resident storage is described followed by the resident wake-up bit table (PDFKTB). THe PID headers and messages are contained in the Swap-free-space pool which immediately follows this table in non-resident storage. See also the tables, PIDCNT and PIDTBL. Defined in: STG Format +-------------------------------------------------------+ / \ SPIDTB: | | | | Table of Commonly Used PIDS | SPDTBL=8 \ \ | |-------------------------------------------------------| \ / PIDLOK: | Lock on PID Free Pool and Data Structure | |-------------------------------------------------------| NXTPID: | Next Unique # to be used as LH of PID | |-------------------------------------------------------| INFOPD: | PID of SYSTEM INFO | |-------------------------------------------------------| INFOPV: | Public Value of SYSTEM INFO PID | |-------------------------------------------------------| PIDLST: | Number of First Free PID, 0 if none | |-------------------------------------------------------| PIDMXP: | Highest Page in Pages-In-Transit File | |-------------------------------------------------------| / \ PIDPBT: | | | | Bit Table of Pages-In-Transit File | PIDPBL \ \ | |-------------------------------------------------------| \ / PIDFTB: | | / \ | TBL of PTN's of forks for pages in transit | | | | PIDFTL \ \ | +-------------------------------------------------------+ \ / +-------------------------------------------------------+ PDFKTB | | | | | . . | |-------------------------------------------------------| \ Bit Wakeup Table (1/Fork) \ +-------------------------------------------------------+ 191
MONITOR TABLES JOB AREA This area contains the job specific information. It is the entire JSVAR psect. The JOBMAP in the JSB points to all of the job area storage. For this area, the monitor has indirect pointers in its page table (MMAP) for its pages beginning at JSBPGA: (which is on a page boundary) for the length of the job area. All of these pointers are to a single location in the SPT (specifically SPT+NOFN). With this arrangement, the job area for the current process can be changed to the job area for another process by only changing the one location in the SPT. JBCOR contains a bit table which keeps track of which pages in the Job Storage Area are in use (bit(s) = 0) and which are free (bit(s) = 1). The first several pages of this Job Common Area is always allocated for the JSB page plus expansion pages for the JFN blocks and for the JSYS trap header word and trap blocks (See FKJTQ table). The first non-reserved page begins at FREJPA (=626000). Pages are assigned from the bit table, JBCOR, by the routine, ASGPAG, and are used for temporary job pages such as file window pages, magtape buffer pages, mapping a super index block, getting more space for the free block storage linked in JSBFRE, and mapping EXE file directory pages. Defined in: STG Format +-------------------------------------------------------+ JSBPGA: | | / \ | JSB area | 1 | (see JSB) | page \ \ \ / |-------------------------------------------------------| / \ JFNPGA: | | 3 | Pages continuing JFNs from the JSB | pages \ \ \ / JSJFNA: |-------------------------------------------------------| JTBPG: | | / \ | JSYS trap blocks | 2 | First work used by NEWJTB | pages \ \ \ / |-------------------------------------------------------| FREJPA: | | / \ | Job free storage | NJSBPG | | (^D50) | | pages \ \ \ / +-------------------------------------------------------+ 192
MONITOR TABLES JOBDIR Job Directory Table. This table contains the number of the login directory for each job. Defined in: STG Format +-------------------------------------------------------+ / \ JOBDIR: | Reserved | Login Directory # | | |-------------------------------------------------------| | | . | | | . | | . | NJOBS | . | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 193
MONITOR TABLES JOBNAM Job Name Table. This table contains an index into the subsystem name tables (SNAMES, STIMES) indicating what subsystem, if any, each job is running. The name index is for statistics only and is not used by the monitor. Defined in: STG Index: Job number Format 0 1 2 +-------------------------------------------------------+ / \ JOBNAM: | | | | | Name Index |* | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NJOBS | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / Symbol Bit Pointer Content JWAKEF 0 HIBFL Flag used by HIBER JSYS. If set, implies a wakeup signal to THIBR 1 DIAFL Job has DIAG resources 1-2 SKPCT Skip count for NEWUTL 18-35 Name index 194
MONITOR TABLES JOBPNM Job Program Name. This non-resident table contains each job's program name. Defined in: STG Index: Job number Format +-------------------------------------------------------+ / \ JOBPNM: | Job Program Name | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NJOBS | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 195
MONITOR TABLES JOBPT Job Process Table. This table contains the number of the controlling terminal, or -1 for a detached job, and the index of the top fork of the job. Defined in: STG Format +-------------------------------------------------------+ / \ JOBPT: | Controlling Terminal | Top Fork Index | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NJOBS | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / Unused slots in this table are linked in a free list. Location FREJOB contains a pointer to the first slot in the free list. 196
MONITOR TABLES JOBRT Job Runtime Table. This table contains the total runtime of each job (sum of all forks) in milliseconds. If a word contains a -1, the job does not exist. Defined in: STG Index: Job number Format +-------------------------------------------------------+ / \ JOBRT: | Runtime | | |-------------------------------------------------------| | | . | | | . | | . | NJOBS | . | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 197
MONITOR TABLES JOBRTL Job Runtime Limit. This table contains the number of clocks (by way of TIMER JSYS) in use by each job and a pointer to the runtime limit TIMER block. A description of the TIMER block is described below. (See RES-FREE-SPACE). Defined in: STG, PROLOG Index: Job number Format 0 12 13 +-------------------------------------------------------+ | TIMCNT | JOBRTP | / \ JOBRTL: | # of Clks. in | Ptr to Runtime Limit Block | | | Use | | | |-------------------------------------------------------| | | . | | | . | | | . | | . | NJOBS | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / TIMER Run Timer Limit Block +-------------------------------------------------------+ | TIMLNK | | Link to next block | |-------------------------------------------------------| | TIMTIM | | Time word (when clock should go off) | |-------------------------------------------------------| |0 5|6 17|18 35| |TIMCHN | TIMJOB | TIMFRK | | Channel|Job that set clock|Sys fork handle to be PSI'd| |-------------------------------------------------------| | TIMKNL | | Back link to previous clock | +-------------------------------------------------------+ 198
MONITOR TABLES JSB Job Storage Block. Each job has a Job Storage Block which holds per-job information such as the job's fork structure, line number of controlling TTY, terminal interrupts enabled and accounting and logical name information. JSBFRE is the free block header. If a block of words (that is, <512 words) is required, it is allocated from the JSFREE area in the JSB. Blocks in the JSFREE area are linked and when a block of words is required, the free list is searched looking for a large enough block. If the free list area in JSFREE is depleted, a new page (space outside the JSB in the Job Storage Area) is allocated and its space added to the free list for block usage. Blocks of words are assigned from the free list, headed by JSBFRE by the routine, ASGFRE, and are used to hold temporary storage such as name strings for JFN blocks, the job-wide Logical Names List, and the Logical Name Definition Blocks. JBCOR contains a bit table which keeps track of which pages in the job area are in use. For further information see JOB AREA. Defined in: STG Format +-------------------------------------------------------+ JSBPGA: | | JOBMAP: | Object Map for Job-Common Area | \ \ |-------------------------------------------------------|*/ \ SYSFK: | Job Fork Index to System Fork Index Table | | | (1 Entry /Job Fork) | NUFKS \ \ | |-------------------------------------------------------| \ / CTTAB: | Not Used | Controlling TTY | / \ | | #, or -1 | | | | NUFKS |-------------------------------------------------------| \ / FKJTB: | Adr of JSYS Trap Block | / \ | (1 Entry /Job Fork) | | | . | NUFKS \ . \ | |-------------------------------------------------------| \ / FKPTRS: | Fork Pointers (Structure) Table | / \ | (1 Entry /Job Fork) | NUFKS \ \ | |-------------------------------------------------------| \ / FKPSIE: | Terminal Interrupt Enabled Word Table | / \ | (1 Entry /Job Fork) | NUFKS \ \ | |-------------------------------------------------------| \ / 199
MONITOR TABLES JSB (Cont.) FKDPSI: | Deferred Terminal Interrupts Mask Table | / \ | (1 Entry /Job Fork) | NUFKS \ \ | |-------------------------------------------------------| \ / FREJFK: | Free Job Fork Slot List | |-------------------------------------------------------| FKLOCK: | Lock for Fork Structure Modification | |-------------------------------------------------------| FLKCNT: | Nest Count for Fork Lock | |-------------------------------------------------------| FLKOWN: | Fork That Locked Fork Lock | |-------------------------------------------------------| FKTIMW: | TIMER word for lock timeout | |-------------------------------------------------------| FKCNT: | Count of Active Forks in This Job | |-------------------------------------------------------| | LSTLGN: | Last Interactive LOGIN Date and Time | | |-------------------------------------------------------| | NLDLGN: | Last Non-interactive LOGIN Date and Time | |-------------------------------------------------------| SRTTIM: | Data & Time Job Was Initialized | |-------------------------------------------------------| ARDFRT: | Job Default for Retrievals | |-------------------------------------------------------| CTRLTT: | Line Number of Controlling TTY | |-------------------------------------------------------| | GBLJNO: | Global Job Number | | |-------------------------------------------------------| TTSPSI: | Code Enabled Anywhere in This Job | |-------------------------------------------------------| TTSDPS: | Terminal Interrupt Code Deferred | |-------------------------------------------------------| TTJTIW: | Terminal Interrupt Enable Mask | |-------------------------------------------------------| | JBFLTM: | Time of Last Password Failure | | |-------------------------------------------------------| | JBFLCT: | Count of Password Failures in Interval | | |-------------------------------------------------------| CONSTO: | Console Time On (TODCLK units) | |-------------------------------------------------------| CTIMON: | Connect Time On (GTAD units) | |-------------------------------------------------------| CONCON: | Console Connect Time (for usage) | |-------------------------------------------------------| JBRUNT: | Job Run Time (for usage) | |-------------------------------------------------------| JBNODE: | Node Name (SIXBIT) | |-------------------------------------------------------| JBBNAM: | Batch Job Name (SIXBIT) | 200
MONITOR TABLES JSB (Cont.) |-------------------------------------------------------| JBBSEQ: | Batch Sequence Number | |-------------------------------------------------------| ACCTSL: | Length of ACCTSR | |-------------------------------------------------------| / \ ACCTSR: \ Account String \ MAXLW |-------------------------------------------------------| \ / ACCTSX: | Expiration Data of ACCTSR | |-------------------------------------------------------| / \ CSHACT: \ Most recently Validated Account \ MAXLW |-------------------------------------------------------| \ / CSHUSR: | User for Whom Cached Account was Validated | |-------------------------------------------------------| CSHACX: | CSHACT Expiration Date | |-------------------------------------------------------| CSHCLS: | Class of Cached Account | / \ |-------------------------------------------------------| WPN LLSR: | Logical Location | \ / |-------------------------------------------------------| / \ JSSRM: \ Session Remark \ MAXLW+1 |-------------------------------------------------------| \ / | | / \ USRNAM: \ User Name String \ MAXLW+1 |-------------------------------------------------------| \ / JFNLCK: | Lock to Prevent Tampering with JFNs | |-------------------------------------------------------| | MAXJFN: | Maximum Number of JFNs for Job | |-------------------------------------------------------| ENQLST: | Forward Pointer to Q-Block | |-------------------------------------------------------| | Backward Pointer to Q-Block | |-------------------------------------------------------| ENQQOT: | ENQ Quotas & Counts | Reserved | |-------------------------------------------------------| TIMALC: | TIMER Clocks Limit | |-------------------------------------------------------| LNTABP: | Pointer to Logical Name Table (Tbl is in JSB Space) | |-------------------------------------------------------| LNMLCK: | Lock for Logical Name Data Base | |-------------------------------------------------------| NPRIVP: | Number of private pages in job | |-------------------------------------------------------| JOBUNT: | Connected Disk Unit | |-------------------------------------------------------| JBCLCK: | Lock for ASGPAG | |-------------------------------------------------------| / \ JBCOR: | Page Allocation Bit Table for Job Storage Area | 4 \ \ \ / 201
MONITOR TABLES JSB (Cont.) |-------------------------------------------------------| -- JSBFRE: | Ptr. to 1st Free Block | 0 | | |-------------------------------------------------------| | | Lock | | |-------------------------------------------------------| | Space Counter |Job area |-------------------------------------------------------| free | Most Common Block Size | storage |-------------------------------------------------------| header | Max Top of Free Stor. | Min. Bottom of Free Stor.| |-------------------------------------------------------| | | Temp | | |-------------------------------------------------------| | | Temp | | |-------------------------------------------------------| -- JSFREE: | Free Storage Area in Job Block (^D64 words) | / \ | | | | [Free Blocks have Hdr. Wd of: | | | Ptr. to Next Blk,, Length] | IJSFRE \ \ | |-------------------------------------------------------| \ / JSSTRT: | | JSSTN |*/ \ JSSTRF=0| Flags | Structure Unique Code | | |-------------------------------------------------------| | | JSGRP | | JSGRPS=1| AOBJN Pointer to List of Groups | | |-------------------------------------------------------| | | JSADN | JSSTMX | JSADIR=2| **Unused** |Accessed DIR # for This STR| *STRN |-------------------------------------------------------| | JSFKMT=3| JSFMT | | | Fork-mount bit word | | |-------------------------------------------------------| | | | | | (4 Words per Structure) | | \ \ | |-------------------------------------------------------| \ / JSSTLK: | Lock on the JSSTRT Block | |-------------------------------------------------------| | JSUC | JSDIR | JSBSDN: | Connected STR Unique Code | Connected Directory # | |-------------------------------------------------------| |0 | |18 35| JSBCDS: | JSCDF | |JSCDS | |String Ptr. | |Ptr. to Connected | |Valid if set| |Dir. Name String | 202
MONITOR TABLES JSB (Cont.) |-------------------------------------------------------| MODES: | DDBMOD Word from LOGIN | |-------------------------------------------------------| GROUPS: | Groups to Which LOGIN User Belongs | |-------------------------------------------------------| RSCNPT: | RESCAN Pointer | |-------------------------------------------------------| RSCNBP: | Ptr. to RESCAN Buffer (max. buf. size is 777) | |-------------------------------------------------------| JBINFO: | PID of Private <SYSTEM>INFO for JOB | |-------------------------------------------------------| JSCDR: | Next Version # (or -1) | Adr. of Spool Set String | | | for CDR | |-------------------------------------------------------| JSMTA1: | MTA Parity, Density, Mode, and Default Record Size |* |-------------------------------------------------------| JBFLAG: | Spooler Flags | |* | (Sent on CLOSE/LOGOUT | General Job-wide Flags | |-------------------------------------------------------| JSLOPD: | PID to get LOGOUT message from CRJOB | |-------------------------------------------------------| JSLOJB: | Job # of Who Logged Out this Job | |-------------------------------------------------------| JSFSTK: | Stack of Things to be Done on Fork Cleanup | |-------------------------------------------------------| JSFLCK: | Lock for This JSFSTK Structure | |-------------------------------------------------------| CRJFLG: |Flag that this is CRJOB Startup.(Used by MEXEC & LOGIN)| |-------------------------------------------------------| | DCMAX | DCCUR | DCNCNT: | Job's Network Link Quota| Current Count of Open Links| |-------------------------------------------------------| JSSRTM: | Runtime at Start of this Accounting Session | |-------------------------------------------------------| JSSCTM: | Console Time at Start of this Session | |-------------------------------------------------------| | JSSCTI: | Universal Date and Time at Start of Session | | |-------------------------------------------------------| JSATCT: | ATS HTN Quota,,Count | |-------------------------------------------------------| JOBSKD: | Special Job Scheduling Parameter | |-------------------------------------------------------| BATSTF: | Batch Stream Number and Flags Word | | |-------------------------------------------------------| | BATRID: | Batch Request ID | +-------------------------------------------------------+ 203
MONITOR TABLES JSB (Cont.) JFN0: +-------------------------------------------------------+ -- FILBYT: | Byte Pointer to Current Window | | |New I/O = FILBFI - byte pointer to current input buffer| | |-------------------------------------------------------| | FILBFO: | Byte Pointer to Current Buffer | | | New I/O = byte pointer to current output buffer | | |-------------------------------------------------------| | FILBYN: | Byte # of Current Byte | | | New I/O = FILBNI - input byte number of current byte | | |-------------------------------------------------------| | FILBNO: | New I/O - Output Byte Number of Current Byte | | |-------------------------------------------------------| | FILACT: | Ptr to Account String or Account # | | |-------------------------------------------------------| | FILLEN: | Total File Length in Bytes | | |-------------------------------------------------------| | FILCNT: | Bytes Remaining in Current Buffer | | | New I/O = FILBCI = Bytes remaining in | | | Current Input Buffer | | |-------------------------------------------------------| | FILBCO: | Bytes Remaining | | |-------------------------------------------------------| | FILLCK: | File Lock Word | | |-------------------------------------------------------| | | | FLPGN | FLWPG | | | FILWND: | Current Page # |Location of Current Window | | | |-------------------------------------------------------| | | FILSTS: | File Status Bits | Status | Mode |* | | |-------------------------------------------------------| | | FILST1: | Status |* | | |-------------------------------------------------------| | | | STR | FLDTB | | | FILDEV: | Structure Number |DEV`DTB (i.e.Dev Disp. Tbl)| | | |-------------------------------------------------------| | | | FLFCO | FLSCS | | | FILNLP: | Flow Control Option | Segment Size | | | |-------------------------------------------------------| | | | FLPTN | FLPTT | | | FILOFN: | OFN for This File | OFN of Long File PT Table | | |-------------------------------------------------------| JFN | | FLMPC | FLTTW | | FILLFW: | Count of Pages Mapped | Loc. of Page Table Table | BLOCK | |-------------------------------------------------------| | | FLDSB | FLDNO | | FILDDN: |Ptr. to Device String Block| Directory # | | | |-------------------------------------------------------| | | | FLDIR | FLATL | | | FILDNM: | Directory Name String | Ptr to Attribute List | | | |-------------------------------------------------------| | | | FLNSB | FLESB | | | FILNEN: |File Name String Blk. Ptr. | Ext. String Blk. Ptr. | | 204
MONITOR TABLES JSB (Cont.) | |-------------------------------------------------------| | | | ORG | FLVNO | | | FILVER: | Fork # of JFN Originator | Version # | | | |-------------------------------------------------------| | | | FLDMS | FLNMS | | | FILMS1: | Directory Wild Mask | Name Wild Mask | | | |-------------------------------------------------------| | | | FLEMS | | | | FILMS2: | Extension Wild Mask | | | | |-------------------------------------------------------| | | FILFDB: | Address of FDB in the Directory | | | |-------------------------------------------------------| | | | FLUC | FLP0 | | | FILCOD: | STR Unique Code | PTO OFN for Long File | | | |-------------------------------------------------------| | | | FLLNK | FLLND | | FILNND: | DECnet Port # | Ptr to node name string | | |-------------------------------------------------------| -- | Additional JFN Blocks | \ . \ +-------------------------------------------------------+ Each JFN uses a block of 19 (MLJFN) words. (Since JFNs can grow beyond the end of the JSB into successive pages, the JFN blocks must be the last storage defined in the JSB.) MJFN is the maximum number of JFNs. These definitions are used in the above positions only during the GTJFN procedure: (1) FILTMP / Ptr. to temp string block for default ,, Ptr. to temp string block (2) FILPRT / Ptr. to protection string or protection number (3) FILSKT / Arpanet connection no.,, Unused FILOPT / Byte Ptr. to Store String in GTJFN (4) FILLIB / For DECNET, Ptr to LL Block (5) FILLNM / Ptr. to RDTEXT buffer ,, Ptr. to logical name chain ** (6) FILBFO / For DECNET, Output Buffer Ptr. (7) FILIDX / 0 ,, Index into device tables for original devices GTJFNed {(doesn't change during spooling)} FILBFI / For DECNET, Ptr. to Input Buffer (8) FILBCT / For DECNET, Ptr. to Counts 205
MONITOR TABLES JSB (Cont.) Logical Name Header Format +-------------------------------------------------------+ | LNMCNT || LNMSTP | | Depth Count || Step Counter | |-------------------------------------------------------| | LNMLNK | LNMPNT | | Link to Next BLK | Logical Name String Ptr | +-------------------------------------------------------+ Bits Pointer Content 0-17 LNMCNT Depth count for logical names 18 LMMIDX Index into logical name tables 19-35 LNMSTP Step counter at time of chaining 0-17 LNMLNK Link to next chain block 18-35 LNMPNT Pointer to logical name string +-------------------------------------------------------+ FILSTS | flags | mode | +-------------------------------------------------------+ Symbol Bits Pointer Contents OPNF 0 File is open READF 1 File is OK to read WRTF 2 File is OK to write XCTF 3 File is OK to execute RNDF 4 File is OK to reset ptr. (that is, not append) NONXF 5 Non-existent File, delete FDB on RLJFN NWTF 6 No wait on DUMP I/O LONGF 7 File is a long file EOFF 8 End of file if read attempted ERRF 9 Bytes read may be wrong NAMEF 10 Name is associated with this JFN ASTF 11 An * was typed in ASGF/BLKF 12 JFN is being assigned or service routine wants to block; shares a bit position with ASGF HLTF 13 Halt if I/O error WNDF 14 Window page has been set up 206
MONITOR TABLES JSB (Cont.) ENDF/TRNSL 15 File is past end of maximum length. Bit timeshared with ENDF to say the JFN is in a trans- itional state and may not be accessed. SIZE 16 Illegal to change size of byte FRKF 17 File is restricted to fork in LH(FILVER) PASLSN 18 Set to skip line number checking on ASCII files SKIPBY 19 Set by BYTINA to remember that it has to discard. XQTAF 20 Quota exceeded Flag FILDUD 21 Suppress DDMP action if set FILINP 22 Direction of I/O is input FILOUP 23 Direction of I/O is output HLDF 24 Hold in balance set RECF 25 End of record seen ACRLFF 26 Add CRLF's after records on input CRNXT 27 Return CR next LFNXT 28 Return LF next FROSTF 29 Record has been frosted 18-35 IOMODE Mode File is opened in | |-------------------------------------------------------| | FILST1 | | | +-------------------------------------------------------+ | | | Symbol Bits Pointer Contents | | FILNO 0 New output | ASGF2 1 Shadow bit for ASGF 207
MONITOR TABLES JSB (Cont.) 0 1 2 3 4 5 8 9 17 18 35 +-------------------------------------------------------+ SYSFK: | | | | | | | | | +-------------------------------------------------------+ Bits Pointer Content 0 JRFN not in use 1 SFEXO Fork is Execute-Only if set 2 SFNVG Fork is not "virgin" if set 3 SFGXO Fork can PMAP into execute-only forks 4 SFSRT Fork has been started 9-17 FKHCNT Count of handles on a given fork 18-35 System fork number Work 0 of 4-word structure block (starts at JSSTRT) 0 1 2 3 17 18 35 +-------------------------------------------------------+ | | | | | JSSTN | +-------------------------------------------------------+ Symbol Bits Pointer Content 0 JSSDM Structure is dismounted 1 JSMCI Mount count has been incremented by structure 2 JSXCL Structure is mounted exclusively by the structure JSFRST 18-35 JSSTN Structure unique code 0 9 10 11 14 15 17 18 35 +-------------------------------------------------------+ JSMTA1 | | | JSMTD |JSMTM | JSMTR | +-------------------------------------------------------+ Bits Pointer Content 10 JSMTP Default Parity 11-14 JSMTD Default Density 15-17 JSMTM Default Mode for transfers 18-35 JSMTR Default record size (hardware bytes) 208
MONITOR TABLES JSB (Cont.) 0 1 2 3 4 17 18 19 20 35 +-------------------------------------------------------+ JBFLAG | | | | | | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content SP%BAT 0 JSBAT Job is being controlled by BATCH SP%DFS 1 JSDFS Spooling is deferred SP%ELO 2 JSELO Job executed LOGOUT JSYS SP%FLO 3 JSFLO Job forced to LOGOUT by top Fork error SP%OLO 4 JSOLO Job logged out by other job 18 JBMX Job has been in the mini-exec 19 JBT20 Job is at TOPS-20 command level 209
MONITOR TABLES KB KB contains the DECnet Counter Block Sub-fields. Defined in: D36PAR Format +------------------------------------------------------------------------+ | | KBWID | KBTYP | | | Counter width in bits | Counter Type (Number) | |------------------------------------------------------------------------| KBVAL | Counter Value | |------------------------------------------------------------------------| KBMSK | Bit Mask | +------------------------------------------------------------------------+ Field KBBMF (0-0) Bit Map Flag 210
MONITOR TABLES KDB Kontroller Data Block (TM02/3, DX20, and CI nodes) Defined in: PHYPAR, PHYM2, PHYP2, SCAPAR Format +-------------------------------------------------------+ KDBSTS=0 | Flags | Unit Type | * |-------------------------------------------------------| KDBIUN=1 | Initial AOBJN Word to UDB Table | |-------------------------------------------------------| KDBCUN=2 | Current AOBJN Word to UDB Table | |-------------------------------------------------------| KDBDSP=3 | Dispatch for Service Routine | |-------------------------------------------------------| KDBDDP=4 | | * =KDBUDB | UDB Pointer Table | \ \ |-------------------------------------------------------| | | | Device Dependent Code | \ \ +-------------------------------------------------------+ 0 1 2 3 4 17 18 35 +-------------------------------------------------------+ KDBSTS | | | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content KS.ACT 1 Controller Active if set KS.HLT 2 Microcode is halted KS.DSK 3 Controller for disks 18-35 Unit type (see unit types in UDBSTS in UDB) 211
MONITOR TABLES KDB (Cont.) Device dependent sector for TM02/3 +-------------------------------------------------------+ / \ KDBUDB= | | | KDBDDP | UDB Pointer Table | 8 \ \ \ / |-------------------------------------------------------| TM2ADR: | Massbus Address of TM02/3 | |-------------------------------------------------------| SAVUDB: | Current UDB (0 if none) | | 2020 Only | |-------------------------------------------------------| TM.CNI: | CONI of RH goes here | |-------------------------------------------------------| TM.CS1: | DATAI RH control Register | |-------------------------------------------------------| TM.DBF: | DATAI RH Data Register | |-------------------------------------------------------| / \ TM2REG: | Drive Registers go here | | | | | | | 12 | | | | | | \ \ \ / +-------------------------------------------------------+ LK.TM2 = Length of TM02 KDB Device Dependent Sector for TM78 +-------------------------------------------------------+ KDBUDB= | UDB Pointer Table | KDBDDP | | |-------------------------------------------------------| TM8ADR | MASSBUS Address of TM78 | |-------------------------------------------------------| SAVUDB | Current UDB (0 if none) | |-------------------------------------------------------| SAVLSI | Last Interrupt Code | |-------------------------------------------------------| TM8XCW | CCW for Reading Extended Sense Info | |-------------------------------------------------------| TM8SCW | Saved CCW While Reading Extended Sense | |-------------------------------------------------------| TM8ACT | Count of Asynchronous Interrupts | |-------------------------------------------------------| TM8CNI | CONI of RH Goes Here | |-------------------------------------------------------| TM8CS1 | DATA1 RH Control Register | 212
MONITOR TABLES KDB (Cont.) |-------------------------------------------------------| TM8DBF | DATA1 RH Data Register | |-------------------------------------------------------| TM8REG | Drive Registers Start Here: | | | DR.CR=0 | Drive Control Register | |-------------------------------------------------------| DR.ICD=1 | Interrupt code (Data XFER) Register | |-------------------------------------------------------| DR.FMT=2 | Record Count/Format Register | |-------------------------------------------------------| DR.ER=3 | Error Register | |-------------------------------------------------------| DR.AS=4 | Attention Summary Register | |-------------------------------------------------------| DR.BC=5 | Byte Count Register | |-------------------------------------------------------| DR.DT=6 | Drive Type Register | |-------------------------------------------------------| DR.SR=7 | Status Register | |-------------------------------------------------------| DR.SN=10 | Serial Number Register | |-------------------------------------------------------| DR.DG=11 | Diagnostic Register | |-------------------------------------------------------| DR.DG2=12 | Diagnostic Register | |-------------------------------------------------------| DR.ICN=13 | Interrupt Code (Non Data-XFER) Register | |-------------------------------------------------------| DR.ND0=14 | Non Data-XFER Command, Unit 0 Register | |-------------------------------------------------------| DR.ND1=15 | Command, Unit 1 Register | |-------------------------------------------------------| DR.ND2=16 | Command, Unit 2 Register | |-------------------------------------------------------| DR.ND3=17 | Command, Unit 3 Register | |-------------------------------------------------------| DR.IA=20 | Internal Address Register | |-------------------------------------------------------| DR.TMS=21 | TM Status Register | |-------------------------------------------------------| / \ TM8REV | ROM Rev Levels | 2 \-------------------------------------------------------\ \ / TM8XSN | Extended Sense Information | / \ \ \ 17 +-------------------------------------------------------+ \ / 213
MONITOR TABLES KDB (Cont.) Device dependent sector for DX20 +------------------------------------------------------+ / \ K.DUDB= | | | KDBDDP | UDB Pointer Table | NUMDRV \ \ | |------------------------------------------------------| \ / K.DXAD: | Massbus Address of DX20 | |------------------------------------------------------| K.STCT: | Number of Time Microcode Restarted | |------------------------------------------------------| K.STCL: | Clock Timer for Restarts on Overdues | |------------------------------------------------------| K.DNUM: | Number of Drives in Existence | |------------------------------------------------------| D.SAVQ: | Storage for Q1 on ATTN Interrupts | |------------------------------------------------------| K.DVER: | Microcode Version | |------------------------------------------------------| K.DREG: | | / \ | Drive Registers go here | | | | REGNUM \ \ | |------------------------------------------------------| \ / K.DEXS: | | / \ | Extended Status Table | | | | (SNSNUM+3)/4 \ \ | +------------------------------------------------------+ \ / K.DCNI: | CONI of RH on Error | |------------------------------------------------------| K.DCS1: | DATAI of RH Control Register | |------------------------------------------------------| K.DDBF: | DATAI of RH Data Register | |------------------------------------------------------| 214
MONITOR TABLES KDB (Cont.) LK.DX2 = Length of DX20 KDB Device dependent sector for CI node |-------------------------------------------------------| /|\ KDBUDB= | UDB Pointer Table | | KDBDDP \ \ PRTMXU |-------------------------------------------------------| | KDBCID: | Controller ID | \|/ |-------------------------------------------------------| / \ | 8 8-bit Bytes | 2 |-------------------------------------------------------| \ / KDBIAC: | Saved ACs for Initialization of a Node | /|\ | | | | | 10 | | | \ \ \|/ |-------------------------------------------------------| | System Block | | (See description elsewhere in this manual) | | | \ \ |-------------------------------------------------------| 215
MONITOR TABLES LB This is the loopback portion of a DECnet Request Block. Defined in: LLMOP Format Message Block for Loopback +------------------------------------------------------------------------+ LBAAD | Assistant Address | |------------------------------------------------------------------------| LBALV | Assistance Level | +------------------------------------------------------------------------+ 216
MONITOR TABLES LD This is the DECnet loopback data area; the data buffer is supplied by the user. Defined in: LLMOP Format Loopback Data Output MSD +------------------------------------------------------------------------+ /\ LDMSD | | MD.LEN \ \ \/ +------------------------------------------------------------------------+ 217
MONITOR TABLES LH This is the DECnet Loopback LLMOP Header MSD. Defined in: LLMOP Format MSD for header +------------------------------------------------------------------------+ LHIDD | ID word to hack for Transmit Complete | |------------------------------------------------------------------------| /\ LHMSD | | MD.LEN \ \ \/ |------------------------------------------------------------------------| /\ LHDAT | Room for Largest Loopback header (Full Assist) | <<LHH.LN+3>/4> \ \ \/ +------------------------------------------------------------------------+ 218
MONITOR TABLES LI The following is the definition of the Line-ID (LI) that the DECnet router maps into a line block address. This is used: o On an initial open from the DLL to ROUTER; o By router to determine any Kontroller specific peculiarities; o By network management to communicate with ROUTER. Defined in: D36PAR Format Line-ID +------------------------------------------------------------------------+ | | | LIDEV | LIKON | LIUNI | LIDRP | | | |Device type| Controller | Unit number | Drop number | | | | |number (CPU# for | | (port for CI's) | * | | | | DTE's and CI's) | | | +------------------------------------------------------------------------+ Field LILXC (0-0) Bit indicating line ID (1) or circuit ID (0). 219
MONITOR TABLES LK LK represents the format of DECnet storage location NSPLKF, which is a bit map of pending NSPLCF requests. Defined in: LLINKS Format BITS IN NSPLKF +------------------------------------------------------------------------+ | | | | | | | LKFLG | | * +------------------------------------------------------------------------+ For field LKFLG(0-5): LKJIF 0 Jiffy service, must be sign bit for NSPJIF LKCGT 1 Congestion-detected service LKRLV 2 Congestion-relieved service 220
MONITOR TABLES LN LN is the definition of the DECnet-36 Loopback Node block. A block is created every time a loopback node is defined for a circuit. The blocks are chained together, and the first block on the chain is pointed to by monitor location SCTLNL. Defined in: SCLINK Format +------------------------------------------------------------------------+ LNNXT | Ptr to next loopback node block | |------------------------------------------------------------------------| LNNAM | Loopback node name | |------------------------------------------------------------------------| LNCIR | Loopback circuit | +------------------------------------------------------------------------+ 221
MONITOR TABLES LOGICAL-NAME-DEFINITION Logical Name Definition Block. The block format given below is used for system and job-wide logical name definitions. The first definition block for a logical name is pointed to by its Logical Name List and is stored in the swappable free space if a system logical name or in the JSB space if a job-wide logical name. Defined in: LOGNAM Reference by: LOGNAM Format +-------------------------------------------------------+ LNBLK=0 | PTR TO NEXT DEFINITION | SIZE OF THIS BLOCK | | (OR ZERO IF NONE) | (USUALLY 12) | |-------------------------------------------------------| LNDEV=1 | ASCII BYTE PTR TO DEVICE BLOCK (IF ANY) | |-------------------------------------------------------| LNDIR=2 | ASCII BYTE PTR TO DIRECTORY BLOCK (IF ANY) | | (-3 MEANS STAR WAS TYPED) | |-------------------------------------------------------| LNNAM=3 | ASCII BYTE POINTER TO NAME BLOCK (IF ANY) | |-------------------------------------------------------| LNEXT=4 | ASCII BYTE POINTER TO FILE TYPE (IF ANY) | | (-2 MEANS A NULL FIELD WAS SPECIFIED) | |-------------------------------------------------------| LNVER=5 | 500000,,0 + GENERATION NUMBER (IF ANY) | |-------------------------------------------------------| LNACT=6 | 500000,,0 + ACCOUNT NUMBER -OR- | | ASCII BYTE POINTER TO ACCOUNT STRING (IF ANY) | |-------------------------------------------------------| LNPRT=7 | 500000,,0 + FILE PROTECTION (IF ANY) | |-------------------------------------------------------| LNTMP=10| 0 IF PERMANENT OR -1 IF TEMPORARY (IF ANY) | |-------------------------------------------------------| LNATR=11| PREFIX VALUE OF CURRENT | PTR TO ATTRIBUTE CHAIN | | PREFIX | | +-------------------------------------------------------+ 222
MONITOR TABLES LOGICAL-NAMES-LIST Logical Names List. The list described below is the format used for the system logical names list (pointed to by SYLNTB) and the job wide logical names list (pointed to by the JSB entry, LNTABP.) The system logical names list is built in the swappable free space from the entries in SYNMTB at system initialization time. (See SWAP-FREE-SPACE and SYNMTB tables). A job's logical names list is built in the JSB space the first time a logical name is created. An entry in a logical names list has a pointer to the logical name string (in ASCIZ) in the left half and a link to the first definition block in the right half (See LOGICAL-NAME-DEFINITION description). Defined in: STG Format +-------------------------------------------------------+ | # OF DEFINED LOG NAMES | SPACE ALLOCATED IN TABLE | |-------------------------------------------------------| | LOGICAL NAME BLK ADDR | LINK TO FIRST DEFINITION | |-------------------------------------------------------| | LOGICAL NAME BLK ADDR | LINK TO FIRST DEFINITION | |-------------------------------------------------------| | . | | . | \ . \ +-------------------------------------------------------+ 223
MONITOR TABLES LPT-STORAGE-AREA Line Printer Storage Area. Each entry in the resident area is LPTN words long, where LPTN equals the number of line printers on the system. Defined in: STG Format +-------------------------------------------------------+ / \ LPTTYP: \ Type of LPT Vector for Dev. Independence \ LPTN |-------------------------------------------------------| \ / | |*/ \ LPTSTS: \ Status Word \ LPTN |-------------------------------------------------------| \ / | |*/ \ LPTST1: \ Second Status Word \ LPTN |-------------------------------------------------------| \ / | |*/ \ LPTST2: \ Third Status Word \ LPTN |-------------------------------------------------------| \ / | |*/ \ LPTST3: \ Fourth Status Word \ LPTN |-------------------------------------------------------| \ / | |*/ \ LPTERR: \ Last Error Word \ LPTN |-------------------------------------------------------| \ / | | / \ LPTCNT: \ Buffer Counter \ LPTN |-------------------------------------------------------| \ / | |*/ \ LPTCLS: \ LPTCHK Clock Switch \ LPTN |-------------------------------------------------------| \ / | | / \ LPTCCW: \ BLKI/O Pointer \ LPTN |-------------------------------------------------------| \ / | | / \ LPTICT: \ Interrupt Byte Count \ LPTN |-------------------------------------------------------| \ / | | / \ LPTCKT: \ Interval for LPTTIM \ LPTN |-------------------------------------------------------| \ / | | / \ LPTLCK: \ Lock on Opening LPT \ LPTN |-------------------------------------------------------| \ / | |*/ \ PGDATA: \ Page Counter to be Sent to -11 \ LPTN +-------------------------------------------------------+ \ / 224
MONITOR TABLES LPT-STORAGE-AREA (Cont.) The following LPT: storage items are in the nonresident area of the monitor. +-------------------------------------------------------+ / \ LPTBUF: | | LPTN * 2 \ 2 Buffers (each NLPBF=400 words) for each LPT: \ * NLPBF |-------------------------------------------------------| \ / | VFUOFN | RAMOFN | / \ LPTOFN: | VFU | RAM | | \ OFN's to Prevent Opens for Write (1 entry/DTE) \ LPTN |-------------------------------------------------------| \ / | | / \ VFUFIL: | Swappable Storage Area for VFU File Names | LPFLSZ* \ \ LPTN |-------------------------------------------------------| \ / | | / \ RAMFIL: | Swappable Storage Area for RAM File Names | LPFLSZ* \ \ LPTN +-------------------------------------------------------+ \ / If the assembly flag, SMFLG, is set, indicating a 2020 monitor, then the following additional storage is assembled in the resident area of the monitor: +-------------------------------------------------------+ L11A: | Holds Fake -11 Adr of Buf | | (1 entry / LPT ) | |-------------------------------------------------------| LPWINA: | Address of Unibus Window | |-------------------------------------------------------| / \ LPACS: | AC Storage During LPT Interrupt | | | | 16 |-------------------------------------------------------| \ / LPSTAK: | | / \ | PDL During LPT Interrupt | LPSLEN \ \ | |-------------------------------------------------------| \ / LPXJEN: | XJEN Instr. for Dismissing LPT Interrupt | |-------------------------------------------------------| / \ LPXPTB: | LPT Interrupt Instr. is XPCW to this 4-word Blk | LPTN(1)*4 +-------------------------------------------------------+ \ / 225
MONITOR TABLES LPT-STORAGE-AREA (Cont.) 0 11 12 23 4 5 6 7 8 9 0 1 2 3 4 5 +-------------------------------------------------------+ LPTSTS: | LPTFE | LPTMX | | | | | | | | | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content LP%FE 0-11 LPTFE Bytes now in front end LP%MX 12-23 LPTMX Max. bytes allowed in front end LP%LHC 24 LPLHC Loading has completed flag for RAM/VFU load LP%HE 25 LPTHE Hard error on this LPT: LP%OBF 26 LPOBF Output is being flushed LP%MWS 27 LPMWS MTOPR is waiting for a status to arrive LP%ER 28 LPTER LPT had an error LP%OL 29 LPTOL LPT on-line LP%TBL 30 LPTBL LPT is over allocation LP%TWT 31 LPTWT Request on Q. LP%THN 32 LPTHN Line printer control failed LP%OPN 33 LPOPN LPT is opened LP%ALI 34 ALTI Interrupt buffer pointer LP%ALP 35 ALTP Buffer Pointer 226
MONITOR TABLES LPT-STORAGE-AREA (Cont.) 0 5 6 17 18 19 20 35 +-------------------------------------------------------+ LPTST1: | LPPSI | LPPAG | | | LPSST | +-------------------------------------------------------+ Symbol Bits Pointer Content LP%PSI 0-5 LPPSI Channel number on which PSI's are desired LP%PAG 6-17 LPPAG Page Counter LP%LCP 18 LPLCP Lower case printer LP%SHA 19 LPSHA Status has arrived LP%SST 20-35 LPSST Software status word Entry as follows: Symbol Bits Content .DVFFE 28 Device has a fatal, unrecoverable error .DVFLG 29 Error logging information follows .DVFEF 30 EOF .DVFIP 31 I/O in progress .DVFSE 32 Software condition .DVFHE 33 Hardware error .DVFOL 34 Offline .DVFNX 35 Nonexistent device 0 1 12 13 28 29 30 35 +-------------------------------------------------------+ LPTST2: | | SAVBCT | SAVBUS | | | +-------------------------------------------------------+ Bits Pointer Content 0 ARROWF Convert control to arrow character 1-12 SAVBCT Saved byte counter during arrow 13-28 SAVBUS Saved bus address register 29 LPTLOR On when loading ram 227
MONITOR TABLES LPT-STORAGE-AREA (Cont.) 2020 only: 0 1 8 9 23 24 35 +-------------------------------------------------------+ LPTST3: | | SAVCHR | LPTCC | | +-------------------------------------------------------+ Bits Pointer Content 0 LPXBIT On if printer exists 1-8 SAVCHR Saved LP buffer character 24-35 LPTCC Count of characters sent to printer 0 17 18 19 20 35 +-------------------------------------------------------+ LPTERR: | LPFRK | | | LPERR | +-------------------------------------------------------+ Symbol Bits Pointer Content LP%FRK 0-17 LPFRK Fork ID of owning PSI process LP%MSG 18 LPMSG If on, suppress standard messages LP%PCI 19 LPPCI Page counter has interrupted LP%ERR 20-35 LPERR Last error indication 0 5 6 15 16 17 18 35 +-------------------------------------------------------+ LPTCLS: | LPBSZ | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content LP%BSZ 0-5 LPBSZ Byte size of OPENF LP%RLD 16 LPRLD Front end was reloaded LP%NOE 17 LPNOE Note occurrence of EOF 228
MONITOR TABLES LPT-STORAGE-AREA (Cont.) 0 15 16 17 31 32 33 34 35 +-------------------------------------------------------+ PGDATA: | PGFNC | | PGCTR | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content 0-15 PGFNC Function code: load page counter 16 PGENB Enable interrupts 17-31 PGCTR Page counter value LP%IRP 32 LPIRP Interrupt request pending LP%RBR 33 LPRBR RAM or VFU being reloaded LP%LTR 34 LPLTR Translation RAM requires reloading LP%LVF 35 LPLVF VFU requires reloading 229
MONITOR TABLES LS LS is used to extract DECnet link service flags from a register. Defined in: LLINKS Format The LSFLAGS field of a link service message +------------------------------------------------------------------------+ | | LSZRO | | | | | Must | | | * | |be zero| | | +------------------------------------------------------------------------+ Field LSINT (32-33) Interpretation LS.INR=0 Normal data request LS.IOT=1 Other data request (2 & 3 reserved) Field LSMOD (34-35) The on/off indicator LS.MNC=0 No change, code uses JUMPE LS.MOF=1 Turn sublink off (ignored on "other") LS.MON=2 Turn sublink on (ignored on "other") LS.MRS=3 Reserved 230
MONITOR TABLES LT This is the DECnet Line table structure. Defined in: DNADLL Format +------------------------------------------------------------------------+ LTLID | Line ID | |------------------------------------------------------------------------| | | | | | LTPRO | LTCTY | LTDBF | LTBSZ | | | | | | Protocol | Circuit | Default |Maximum receive buffer | * | | | | | type | type | number of | size on this line | | | | | | | | buffers | | |------------------------------------------------------------------------| | LTBNO | LTNBP | | Number of buffers to post | Number of buffers posted | +------------------------------------------------------------------------+ For field LTFLG(0-1): LTDVE 0 Driver believes device is present LTCAD 1 Channel address is DECnet (Ethernet only) Field LTSTA (2-3) State of line Field LTCON (4-5) Controller (normal/loopback) 231
MONITOR TABLES MB The following is the definition of the DECnet-36 Message Block. This is the fundamental data structure used to represent an individual message. The Message Block is divided up into a public section and several private sections which belong to each of the layers of the DECnet architecture. Defined in: D36PAR Format The Public Section +------------------------------------------------------------------------+ MBNXT | Ptr to next message. Must be full word for NSP, see BEGSTR QP in | | LLINKS.MAC | |------------------------------------------------------------------------| MBFMS | Pointer to first MSD (DLLs expect this field to be right here) | |------------------------------------------------------------------------| MBMSN | DDCMP message number (DLLs expect this field to be right here) | |------------------------------------------------------------------------| | MBDST | MBSRC | | Destination node | Source node | |------------------------------------------------------------------------| MBDS1 | First 32 bits of destination | |------------------------------------------------------------------------| MBSR1 | First 32 bits of source | |------------------------------------------------------------------------| | | | | | | | | | | MBVST | MBABS | * | MBFLG | Visits count | Adjacency's block size | |------------------------------------------------------------------------| MBCHN | Loopback channel (Circuit ID) | |------------------------------------------------------------------------| MBPRC | Procedure processor (NSP & SC) | |------------------------------------------------------------------------| MBAR1 | Argument storage #1 (NSP & SC) | |------------------------------------------------------------------------| MBAR2 | Argument storage #2 (NSP & SC) | |------------------------------------------------------------------------| MBAR3 | Argument storage #3 (NSP & SC) | +------------------------------------------------------------------------+ For field MBFLG(0-8): MBOTH 0 On the "other" sublink MBBOM 1 Beginning of message MBEOM 2 End of message MBEBF 3 Message block has been allocated from emergency buffer free list MBPH2 4 Phase II message MBDON 5 "Synchronous" interlock done bit (NSP & SC) MBLCL 6 Bound for the local NSP MBUNR 7 Unreachable 232
MONITOR TABLES MD-D36PAR This is the DECnet-36 Message Segment Descriptor. Every Segment of the message is described by this small block. In the typical case, this descriptor resides in the owner's (the owner being a level of DECnet) portion of the Message Block. Defined in: D36PAR Format Input Meaning Output Meaning +------------------------------------------------------------------------+ /\ MDNXT | Must be zero Ptr to next MSD | QP.LEN \ \ \/ |------------------------------------------------------------------------| MDPTR | ILDB ptr into msg IDPB ptr into msg | |------------------------------------------------------------------------| MDAUX | Not used ILDB ptr to beg of msg | |------------------------------------------------------------------------| MDBYT | Bytes left to read Bytes written so far | |------------------------------------------------------------------------| | MDVMC | | MDALL | * | | | Allocated length in bytes | |------------------------------------------------------------------------| MDALA | Allocated address of segment's data | +------------------------------------------------------------------------+ Field MDVMC (0-2) Virtual map context VMC.XC=0 EXEC Context (Map through EPT) VMC.US=1 USER Context (Map through UPT) VMC.NO=2 DO NOT Map (Physical Address) 233
MONITOR TABLES MD-NIPAR MD is the Network Interconnect (NI) Message Segment Descriptor block. Defined in: NIPAR Format Input Meaning Output Meaning +------------------------------------------------------------------------+ /\ MDNXT | Must be zero Ptr to next MSD | 1 \ \ \/ |------------------------------------------------------------------------| MDPTR | ILDB ptr into msg IDPB ptr into msg | |------------------------------------------------------------------------| MDAUX | Not used ILDB ptr to beg of msg | |------------------------------------------------------------------------| MDBYT | Bytes left to read Bytes written so far | |------------------------------------------------------------------------| | MDVMC | | MDALL | * | | | Allocated length in bytes | |------------------------------------------------------------------------| MDALA | Allocated address of segment's data | +------------------------------------------------------------------------+ Field MDVMC (0-2) Virtual map context VMC.XC=0 EXEC Context (Map through EPT) VMC.US=1 USER Context (Map through UPT) VMC.NO=2 DO NOT Map (Physical Address) 234
MONITOR TABLES MN MN represents the format of the DECnet-36 MENUVER field of the connect data. This field specifies what other connect data follows and what version of Session Control is running on the other node. Defined in: SCPAR Format MENUVER +------------------------------------------------------------------------+ | | | | | | * | | | | | | +------------------------------------------------------------------------+ Field MNRPA (0-0) RQSTRID, PASSWRD, account fields are included Field MNUSR (1-1) USRDATA included Field MNRSV (2-4) Reserved field Field MNVER (5-6) Version of session control 235
MONITOR TABLES MONITOR-STATISTICS This table is available through GTTAB and is used by WATCH and EXEC. Defined in: STG Format +-------------------------------------------------------+ SKDTM0: | Time spent in SKDNUL with balance set empty | |-------------------------------------------------------| SKDTM1: | Time spent in SKDNUL with balance set non-empty | |-------------------------------------------------------| SKDTM2: | Time spent running scheduler | |-------------------------------------------------------| SPTTIM: | Time spend in pager trap code | |-------------------------------------------------------| DRMRD: | Number of drum reads | |-------------------------------------------------------| DRMWR: | Number of drum writes | |-------------------------------------------------------| DSKRD: | Number of disk reads | |-------------------------------------------------------| DSKWR: | Number of disk writes | |-------------------------------------------------------| TTYBKS: | Number of tty wakeups | |-------------------------------------------------------| TTINTS: | Number of terminal interrupts | |-------------------------------------------------------| BSTSUM: | Integral of NBPROC DT | |-------------------------------------------------------| RJTSUM: | Integral of NBPROC|NGOJOB DT | |-------------------------------------------------------| RJAV: | Exponential average of number runnable forks | / \ | | NRJAVS | | =3 \ \ \ / |-------------------------------------------------------| DSKWT: | Sum of process disk wait times | |-------------------------------------------------------| DRMWT: | Sum of process drum wait times | |-------------------------------------------------------| NTTYIN: | Total number terminal input characters | |-------------------------------------------------------| NTTYOT: | Total number terminal output characters | |-------------------------------------------------------| NGCCOR: | Count of GCCORs | |-------------------------------------------------------| GCCTIM: | Integral of GCCOR time | |-------------------------------------------------------| NREMR: | Count of WS removals while runnable | 236
MONITOR TABLES MONITOR-STATISTICS (Cont.) |-------------------------------------------------------| BSWT: | Sum of process wait times | |-------------------------------------------------------| SKDOVH: | Accumulated SCHED overhead time in HP units | |-------------------------------------------------------| SKDIDL: | Accumulated idle time in HP units | |-------------------------------------------------------| SKDSWP: | Accumulated swap-wait time in HP units | |-------------------------------------------------------| USRTIM: | Accumulated user time in milliseconds | |-------------------------------------------------------| HQFSUM: | Integral of NGQFK DT | |-------------------------------------------------------| LQFSUM: | Integral of NLQFK DT | |-------------------------------------------------------| DWRWT: | Sum of process disk write wait | |-------------------------------------------------------| NAJBAL: | Number of forced AJBALS calls | |-------------------------------------------------------| SNRSUM: | Integral of SUMNRN | |-------------------------------------------------------| RPQSUM: | Integral of NRPLQ | |-------------------------------------------------------| HSPTIM: | HP pager trap time | |-------------------------------------------------------| NCSWCH: | Number of context switches | |-------------------------------------------------------| BGNDTM: | Time doing background stuff (TTCH7, ....) | |-------------------------------------------------------| STRPCT: | System total page traps | |-------------------------------------------------------| SRPQSC: | System total "saves" from RPLQ | |-------------------------------------------------------| SGCCWR: | Number writes from GCCOR | |-------------------------------------------------------| NWSSUM: | Integral of number WS in memory | |-------------------------------------------------------| SKDFIL: | Integral of wait time with out swap waits | |-------------------------------------------------------| NWSLOD: | Count of WS loads | |-------------------------------------------------------| NREMJ: | Count of balance set removals while runnable | |-------------------------------------------------------| SXGCWR: | Number writes from XGC | |-------------------------------------------------------| TTWAKN: | Terminal input wakeup count | |-------------------------------------------------------| DSKRVC: | Skip reads count | |-------------------------------------------------------| CIPKSN | CI Packets Sent | 237
MONITOR TABLES MONITOR-STATISTICS (Cont.) |-------------------------------------------------------| CIPKRC | CI Packets Received | |-------------------------------------------------------| SCAOSN | SCA Overhead messages sent | |-------------------------------------------------------| SCAORC | SCA Overhead messages received | |-------------------------------------------------------| MSCSNT | MSCP Driver messages sent | |-------------------------------------------------------| MSCRCV | MSCP Driver messages received | |-------------------------------------------------------| SVSEND | MSCP Server messages sent | |-------------------------------------------------------| SVRECV | MSCP Server messages received | |-------------------------------------------------------| CFSSND | CFS messages sent | |-------------------------------------------------------| CFSRCV | CFS messages received | |-------------------------------------------------------| SCSJSN | SCS% messages sent | |-------------------------------------------------------| SCSJRC | SCS% messages received | |-------------------------------------------------------| CMDQS | CI Command Q usage Q0 | |-------------------------------------------------------| | CI Command Q usage Q1 | |-------------------------------------------------------| | CI Command Q usage Q2 | |-------------------------------------------------------| | CI Command Q usage Q3 | |-------------------------------------------------------| IPSND | IP Datagrams sent | |-------------------------------------------------------| IPRCV | IP Datagrams received | |-------------------------------------------------------| DNASND | DECnet Datagrams sent | |-------------------------------------------------------| DNARCV | DECnet Datagrams received | |-------------------------------------------------------| SCSJDS | SCS% Datagrams sent | |-------------------------------------------------------| SCSJDR | SCS% Datagrams received | |-------------------------------------------------------| MSCDRC | MSCP Driver datagrams received | |-------------------------------------------------------| HSCELP | HSCP Error-log datagrams received (PPD byte 5) | +-------------------------------------------------------+ 238
MONITOR TABLES MSCCID This table keeps track of the current SCA connect id of each MSCP driver connection. Defined in: PHYMSC Index: MSCP driver connect id Format +-------------------------------------------------------+ /|\ MSCCID | SCA connect-id | | |-------------------------------------------------------| | | . | | | . | CTABSZ | . | | / . / | / . / | | . | | |-------------------------------------------------------| \|/ Notes: Zero indicates unused. -1,,-1 indicates an entry that is no longer connected. Anything else is a valid connect id. 239
MONITOR TABLES MSCINT This table describes the time-out interval to wait for an MSCP driver connect id. Defined in: PHYMSC Index: MSCP driver connect id +-------------------------------------------------------+ MSCINT | Time-out interval | / \ |-------------------------------------------------------| | | | | | | | / / CTABSZ / / | | | | | | | |-------------------------------------------------------| \ / 240
MONITOR TABLES MSCOLD This table contains old connect id values for driver MSCP and is mainly for recovery purposes. Defined in: PHYMSC Index: MSCP driver connect-id +-------------------------------------------------------+ MSCOLD | SCA connect-id | / \ |-------------------------------------------------------| | | | | | | | / / CTABSZ / / | | | | | | | |-------------------------------------------------------| \ / Notes: See MSCCID. 241
MONITOR TABLES MSCP SERVER COMMAND HEADER This header resides within the invisible SYSAP area of an SCA message and contains command-specific information for the MSCP server. Defined in: PHYMVR +-------------------------------------------------------+ .QCRTN=-13 | Return address for this command | |-------------------------------------------------------| .QCNXT=-12 | Pointer to next queued command | |-------------------------------------------------------| .QCLST . | Pointer to previous queued command | |-------------------------------------------------------| .QCPID . | Virtual page for I/O | |-------------------------------------------------------| .QCSTS . | Status | * |-------------------------------------------------------| .QCIOR | IORB address | |-------------------------------------------------------| .QCDBD | Buffer name | |-------------------------------------------------------| .QCTMO | Time-out time | |-------------------------------------------------------| .QCDBG | Unused | |-------------------------------------------------------| .QCRT2 | Return address for returning packet to SCA | | if the command is queued | +-------------------------------------------------------+ 0 1 2 3 8 9 17 18 35 +-------------------------------------------------------+ .QCSTS | | | | | | | +-------------------------------------------------------+ Symbol Bits Meaning MS.COQ 0 Command is queued MS.ABT 1 Command is aborted MS.CTO 2 Command is timed out 242
MONITOR TABLES MSCP SERVER COMMAND HEADER (Cont.) QCSTS 3-8 Command state, which can be: STCMD==0 Treat as incoming command STWAE==1 Waiting to allocate end STWSR==2 Waiting to send data (retryable) STWRR==3 Waiting to request data (retryable) STWSE==4 Waiting to send end packet (IO only) state STWSD==5 Wait for send data state STWRD==6 Wait for receive data state STIAC==7 IORB active (IO only) state STWSB==10 Waiting to send buffer (IO only) state STWRB==11 Waiting to request buffer (IO only) state QCCNT 18-35 Timed retry counter 243
MONITOR TABLES MSCP SERVER STORAGE This storage contains variables used by the MSCP server module (PHYMVR). Defined in: STG, PHYMVR +-------------------------------------------------------+ SVSTSW: | Status Word | * |-------------------------------------------------------| SVSLSX: | Index into SCDBTB for listener | |-------------------------------------------------------| SRVCHK: | Flags for periodic check | |-------------------------------------------------------| SRVCKT: | Next time to check | |-------------------------------------------------------| SVIRBH: | First free IORB | |-------------------------------------------------------| SVBDKN: | # of disks to broadcast Online | |-------------------------------------------------------| SVILCM: | # of illegal commands | |-------------------------------------------------------| SVLCMO: | Last server command routine address | |-------------------------------------------------------| SVPKIU: | # of packets in use | |-------------------------------------------------------| SVMKIU: | Max # of packets in use | |-------------------------------------------------------| SVCMIU: | # of commands in use | |-------------------------------------------------------| SVMCIU: | Max # of commands in use | |-------------------------------------------------------| SVIPIU: | I/O pages in use | |-------------------------------------------------------| SVMPIU: | Max I/O pages in use | |-------------------------------------------------------| SVBKNS: | Times requed because of nsked events | |-------------------------------------------------------| SVCMDL: | Table of command counts | /|\ | (parallel to MSSDSP) | | | | NMSFCN | | | \ \ \|/ |-------------------------------------------------------| SVCMRT: | Table of retried command counts | | (parallel to MSSDSP) | | | | | \ \ +-------------------------------------------------------+ 244
MONITOR TABLES MSCP SERVER STORAGE (Cont.) 0 1 2 35 +-------------------------------------------------------+ SVSTSW: | | | | | +-------------------------------------------------------+ Symbol Bits Meaning SVSINF 0 Server has been initialized SVSILB 1 Do not issue more MSSCGL BUGINFs SVSLIS 2 OK to open a listener 245
MONITOR TABLES MSCTMO This is the time left to wait for a remote MSCP driver connection. Defined in: PHYMSC Index: MSCP driver connect-id +-------------------------------------------------------+ / \ MSCTMO | Time left | | |-------------------------------------------------------| | | | | | | | / / CTABSZ / / | | | | | | | +-------------------------------------------------------+ \ / 246
MONITOR TABLES MT NI Multi-cast address block. There is a block for each Multi-cast address that has been enabled for the NI port. Multi-cast address blocks are allocated at location MCTADR. There are NMTT (16) blocks in the table. The word MTUSE contains the number of NI multi-cast address blocks currently in use. The beginning of the table is pointed to by channel block word PSMTT, that is, PSMTT points to MCTADR. Defined in: PHYKNI Format +------------------------------------------------------------------------+ MTHAD | High order address | |------------------------------------------------------------------------| | MTLAD | * | Low order address | +------------------------------------------------------------------------+ 0 34 35 +------------------------------------------------------------------------+ MTLAD | | | +------------------------------------------------------------------------+ Bit Symbol Contents 35 MTENA Enable bit 247
MONITOR TABLES MTA-STORAGE-AREA Magtape storage area; each entry (unless otherwise noted) is MTAN words long where MTAN equals the number of magtape units on the system. Defined in: STG Format +-------------------------------------------------------+ / \ MTALCK: \ Lock Word \ MTAN |-------------------------------------------------------| \ / | |*/ \ MTASTS: \ Status of Unit \ MTAN |-------------------------------------------------------| \ / MTANR1: | Nonresident Storage for Magtape | / \ | | MTAN \-------------------------------------------------------\ \ / MTANR2: | Nonresident Storage for Magtape | / \ | | MTAN \-------------------------------------------------------\ \ / MTANR3: | Nonresident Storage for Magtape | / \ | | MTAN \-------------------------------------------------------\ \ / MTANR4: | Nonresident Storage for Magtape | / \ | | MTAN \-------------------------------------------------------\ \ / MTANR5: | Nonresident Storage for Magtape | / \ | | MTAN \-------------------------------------------------------\ \ / MTANR6: | Nonresident Storage for Magtape | / \ | | MTAN \ \ \ / |-------------------------------------------------------|*/ \ MTARS1: \ Resident Storage for Magtape \ MTAN |-------------------------------------------------------| / \ MTPSFK: \ PSI | Fork # \ MTAN |-------------------------------------------------------| \ / MTCUTB: | CDB Table | UDB Table | / \ \ | (1 Entry/UDB) \ MTAN |-------------------------------------------------------| \ / | | / \ MTAPBF: | Space for Buffer Page Pointers | MTPBFL= | |MTBUFN*MAXPPB \ \ +MTAN |-------------------------------------------------------| \ / | | / \ MTIRBF: | Space for IORBs | MTABFL= | | MTAN*MTBUFN* \ \ MTIRBL 248
MONITOR TABLES MTA-STORAGE-AREA (Cont.) |-------------------------------------------------------| \ / | | / \ MTIOWD: \ IOWD for Next Transfer \ MTAN |-------------------------------------------------------| \ / | | / \ MTBIOW: \ Backup IOWD for Next Transfer \ MTAN |-------------------------------------------------------| \ / | | / \ MTAOLS: \ Length of last Xfer | \ MTAN |-------------------------------------------------------| \ / | | / \ MTARCE: \ Total Error Count \ MTAN |-------------------------------------------------------| \ / REWCNT: | Number of Rewinding Units | |-------------------------------------------------------| MTERAS: | Rewrite Erase Counter | |-------------------------------------------------------| MTPNTR: | IOWD During Transfer | |-------------------------------------------------------| MTAUNT: | Unit Currently Attached to Controller | |-------------------------------------------------------| MTERRC: | Retry Counter | |-------------------------------------------------------| MTERFL: | State of Retry | |-------------------------------------------------------| MTACOM: | CONO Word of Current Operation | |-------------------------------------------------------| MTDINR: | Return Address for Data Interrupt | |-------------------------------------------------------| MTACLS: | Clock Routine Switch, 0 for No Clock Wanted | |-------------------------------------------------------| / \ TLABBP: \ PNTR to Locked Buffer Page \ 2*MTAN |-------------------------------------------------------| \ / TLABR0: | | RCNT | / \ \ Resident flags | Record count info \ MTAN |-------------------------------------------------------| \ / MTAJB0: | JOB 0 flag for MTA unit came on line | +-------------------------------------------------------+ 249
MONITOR TABLES MTA-STORAGE-AREA (Cont.) The following MTA storage items are in the nonresident area of the monitor and each item is MTAN words long. 0 17 18 35 +-------------------------------------------------------+*/ \ | | MTRS | MTAN MTANR1: \ Flags, Density, Mode | Rec size in Hdw. Bytes \ \ / |-------------------------------------------------------| / \ | MTBYT | MTBUF | MTAN MTANR2: \ Initial LH of FILBYT | Ptr. to Buffer Pages List \ \ / |-------------------------------------------------------| / \ | 0 5|6 11|12 17|18 23| | | | MTHBW | MTUBW | MTCSB | MTCUB | | | MTANR3: |Hdw.Byts|UserByts|Current | Current| | MTAN | Per Wd | Per Wd |Service | User | | | | | |Routine | Buffer | | | | | |Buffer | | | \ / |-------------------------------------------------------| / \ | MTCIRB | MTCUP | | MTANR4: \ Current IORB in Use | Current User Page \ MTAN |-------------------------------------------------------| \ / | MTUBB | MTUBP | / \ MTANR5: \ User Bytes per Buffer | User Bytes per Page \ MTAN |-------------------------------------------------------| \ / | MTALTC | MTLIRB | / \ MTANR6: \ Last Transfer Count | Last Dump Mode IORB Adr. \ MTAN |-------------------------------------------------------| \ / | |*/ \ TLABL0: \ Flags \ MTAN |-------------------------------------------------------| \ / | TPERM | TPFRK | / \ TLABL1: \ Error codeset by MTCON | Tape fork for PSI \ MTAN |-------------------------------------------------------| \ / | TPJFN | TPLBLS | / \ TLABL2: \ Saved JFN | Tape label buffers in SWAP\ MTAN |-------------------------------------------------------| \ / | FSSAV | / \ TLABL3: \ Place to save file status \ MTAN |-------------------------------------------------------| \ / | flags, section # | TPMTRS |*/ \ TLABL4: \ | Place to save Rec Size \ MTAN 250
MONITOR TABLES MTA-STORAGE-AREA (Cont.) |-------------------------------------------------------| \ / | |*/ \ TLABL5: \ Tape position info \ MTAN |-------------------------------------------------------| \ / | TPBSZ | TPRSZ | / \ TLABL6: \ File blocksize | File record size \ MTAN |-------------------------------------------------------| \ / | TPSCUP | TPIOB | / \ TLABL7: | Saves Cur. pg. PTR for | I/O buffer address | MTAN \ TPSBYT | \ \ / |-------------------------------------------------------| / \ | SVIOS | | TLABL8: \ Place to save IOS \ MTAN |-------------------------------------------------------| \ / | SVBLK | / \ TLABL9: \ Place to save black address \ MTAN |-------------------------------------------------------| \ / | TPLRC | TPPRO |*/ \ TLAB10: \ Local Status | Protection \ MTAN |-------------------------------------------------------| \ / | TPOCT | TPOBY | / \ TLAB11: \ old TPFCNT | old TPFBYN \ MTAN |-------------------------------------------------------| \ / | TPFSN | / \ TLAB12: \ Sixbit volume set name \ MTAN |-------------------------------------------------------| \ / | TPEXPD | / \ TLAB13: \ Expiration date \ MTAN |-------------------------------------------------------| \ / | | / \ TLAB14: \ Sequence Numbers \ MTAN |-------------------------------------------------------| \ / TPFCNT: | MT filcnt | / \ \ \ MTAN |-------------------------------------------------------| \ / TPFBYN: | MT filbyn | / \ \ \ MTAN |-------------------------------------------------------| \ / TPFLEN: | MT fillen | / \ \ \ MTAN |-------------------------------------------------------| \ / TPFLNX: | Count of Bytes Expected in next Record | / \ \ \ MTAN |-------------------------------------------------------| \ / TPSBYT: | Pointer to where JCW should go when record is complete| / \ \ \ MTAN +-------------------------------------------------------+ \ / 251
MONITOR TABLES MTA-STORAGE-AREA (Cont.) 0 1 2 3 4 5 6 7 8 9 17 8 9 0 1 2 3 4 5 6 7 8 29 1 2 35 +-------------------------------------------------------+ MTASTS | | | | | | | | | | | | | | | | | | | | | | | | | entry +-------------------------------------------------------+ Symbol Bits Content OPN 0 Unit has been opened OPND 2 Unit has been opened for dum mode DMPWT 3 Waiting for a dump mode operation to finish LTERR 4 Error Occurred on last dump mode operation BUFA 5 Buffers have been assigned CLOF 6 CLOSF in progress MTOWT 7 MTOPR in progress MTIELW 8 Inhibit error logging MTNOWT 9 Do not set MTOWT MT%ILW 18 Write lock MT%DVE 19 Hardware device error MT%DAE 20 Data error MT%SER 21 No error retry MT%EOF 22 EOF MT%IRL 23 Illegal record length MT%BOT 24 Beginning of tape MT%EOT 25 Physical end of tape MT%EVP 26 Even Parity MT%DEN 27-28 Density (0 is normal) .MTLOD=1 Low Density (200 BPI) .MTMED=2 Medium Density (556 BPI) .MTHID=3 High Density (800 BPI) MT%CCT 29-31 Character Counter MT%NSH 32 Mode or density not supported by hardware 252
MONITOR TABLES MTA-STORAGE-AREA (Cont.) 0 19 20 21 29 30 35 +-------------------------------------------------------+ MTARS1 | | | MTPPB |MTNIR/ | entry | | | | MTANIR| +-------------------------------------------------------+ Bits Pointer Content 20 ABORTF An error occurred and IORBs aborted 21-29 MTPPB Number of pages per buffer 30-35 MTNIR Number of IORBs queued 30-35 MTANIR Absolute version of MTNIR 0 1 2 8 9 10 11 12 14 15 17 18 35 +-------------------------------------------------------+ TLABR0 | | | | | | | | | | entry +-------------------------------------------------------+ Bits Pointer Content 0 TPVV Volume valid flag 1 TPNVV Tape not valid 2-8 TPUNIT Actual mta unit 9 SNEOT EOT seen while writing labels 11 TPEDB EBCDIC Volume 12-14 TPMTDM Place to save data mode 15-17 TPMHBW Place to save bytes/wd 18-35 RCNT Record count info 0 1 2 5 6 7 8 10 11 14 15 17 18 35 +-------------------------------------------------------+ MTANR1 | |MTFCN | | |MTSTC| MTDN |MTDM | MTRS | entry +-------------------------------------------------------+ Bits Pointer Content 0-1 MTNTM Count of EOFs written 2-5 MTFCN Last function performed 6 MTPAR Parity 7 MTRBF Reading backwards flag 8-10 MTSTC CLOSF function counter 11-14 MTDN Density 15-17 MTDM Data mode 18-35 MTRS Record size in hardware bytes 253
MONITOR TABLES MTA-STORAGE-AREA (Cont.) 0 5 6 12 3 4 5 6 7 8 9 0 1 2 3 4 25 27 28 31 32 35 +-------------------------------------------------------+ TLABL0 | | | | | | | | | | | | | | | | | | entry +-------------------------------------------------------+ Bits Pointer Content 0-5 TPSTAT State code 6-12 TPLPCS Label processing code 13 TPBEGF Set if beginning of spanned record 14 TPNBL New block read 15 TPUED Use EBCDIC data if set 16 TPFVM If set, first volume is mounted 17 TPLCT User label count 18 HDR1 HDR1 data valid 19 HDR2 HDR2 data valid 20 RCCHK Record count check error (TLRCHK) 21 TPEOF EOF 1/2 seen in TLRCHK (also EOV) 22 TPT20 TOPS-20 volume 23 UVLD UVLD data valid 24 TPLBD Unlabeled/labeled operation 25-27 TPDNS MTA density - declared by MTCON 28-31 TPNUL # of user labels written 0 1 2 3 8 9 17 18 35 +-------------------------------------------------------+ TLABL4 | | | | TPPSI | TPFSEC | TPMTRS | entry +-------------------------------------------------------+ Bits Pointer Content 0 TPEUT End of user labels encountered 1 TPAPP Open for append 2 TPDPN MT opened 3-8 TPPSI Tape PSI for EOV 9-17 TPFSEC File section number 18-35 TPMTRS Place to save record size 254
MONITOR TABLES MTA-STORAGE-AREA (Cont.) 0 4 5 6 11 12 13 14 17 18 26 27 35 +-------------------------------------------------------+ TLABL5 | | | | | | | | entry +-------------------------------------------------------+ Bits Pointer Content 5 TPDVS Defer volume switch if set 6-11 TPFRMT Record format type code 12-13 TPMOD Tape mode 14-17 TPRVN Relative volume number 18-26 FSEQ Tape file position (seq. #) 27-35 USRSEQ User requested seq. # 0 1 2 17 18 35 +-------------------------------------------------------+ TLABL10 | | TPLRC | TPPRO | entry +-------------------------------------------------------+ Bits Pointer Content 0-1 TPXLB Extra label count 2-17 TPLRC Count of last read record 0-17 TPGDS Local status 18-35 TPPRO Save protection here 255
MONITOR TABLES MTCUTB This table contains the address of the CDB and the UDB for each tape drive on the system or the entry contains a zero if the drive does not exist. Defined in: STG Index: Tape drive number Format +-------------------------------------------------------+ MTCUTB: | CDB | UDB | / \ +-------------------------------------------------------+ | | . | | | . | MTAN | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 256
MONITOR TABLES NAMUTP Name Unit Type Pointers. This table contains pointers to unit type names for disks (RP06, RM03, ...) and magtapes (TU45, TU77, ...). Defined in: PHYSIO Format +-------------------------------------------------------+ NAMUTP: | POINT 7,[ASCIZ/ (Illegal Type: 0) /] | |-------------------------------------------------------| | POINT 7,[ASCIZ/RP04/] | |-------------------------------------------------------| | . | | . | | . | \ . \ +-------------------------------------------------------+ 257
MONITOR TABLES NE This is the DECnet network event block. An NE block contains all information about an event. Defined in: D36PAR Format +------------------------------------------------------------------------+ NENXT | Pointer to next NE block on queue | |------------------------------------------------------------------------| NETIM | Time of event | |------------------------------------------------------------------------| NECBK | Address of callback routine | |------------------------------------------------------------------------| NEECP | Pointer to event communications block | |------------------------------------------------------------------------| | NECCL | NECTY | NEDLN | | Event class | Event | Data length in bytes | | | type | | |------------------------------------------------------------------------| | NEETP | | | Entity type | | |------------------------------------------------------------------------| NEEID | Entity ID | |------------------------------------------------------------------------| NEDAT | Fullword pointer to data string | +------------------------------------------------------------------------+ 258
MONITOR TABLES NF This is the DECnet NMX Interface Function Argument Block, whose purpose is to implement a standard calling interface between Network Management (NTMAN) and the DECnet Layers. Defined in: D36PAR Format +------------------------------------------------------------------------+ NFEID | Entity ID | |------------------------------------------------------------------------| | NFBYT | NFPRM | | Byte count | Parameter Number | |------------------------------------------------------------------------| | | | | NFETY | NFSEL | NFBLN | * | | | |Entity Type| Selector | Buffer Length | |------------------------------------------------------------------------| NFQUA | Qualifier | |------------------------------------------------------------------------| NFBUF | Buffer Address or Parameter value | |------------------------------------------------------------------------| NFBPT | Byte pointer to data | +------------------------------------------------------------------------+ Field NFBFF (0-0) Buffer Flag Field NFUBF (1-1) User Buffer passed (for return KNOWN NODES) Field NFQUF (2-2) Qualifier Flag 259
MONITOR TABLES NM This is the Network Services Section of a DECnet message. Defined in: D36PAR Format +------------------------------------------------------------------------+ * | | | | | NMSGN | NMMGF | NMCNT | | NMFLG |Message segment number |The MSGFLG field | Number of times | | | |of the NSP header| we've sent | | | | | message | |------------------------------------------------------------------------| NMTIM | Time stamp | |------------------------------------------------------------------------| NMPRT | Pointer to port block | |------------------------------------------------------------------------| | NMLLA | NMRLA | | Local link address | Remote link address | |------------------------------------------------------------------------| /\ NMMSD | Space for MSD | MD.LEN \ \ \/ |------------------------------------------------------------------------| /\ NMORQ | ORQ queue link | QP.LEN \ \ \/ |------------------------------------------------------------------------| NMMAG | Magic word for DTESRV | |------------------------------------------------------------------------| /\ NMHDR | NSP header room | <<NMH.LN+3>/4> \ \ \/ |------------------------------------------------------------------------| NMMK1 | First mark | |------------------------------------------------------------------------| NMMK2 | Second mark | +------------------------------------------------------------------------+ For field NMFLG(0-5): NMACK 0 Needs to be ACKed NMRET 1 Return msg to SC NMDLY 2 ACK delay allowed 260
MONITOR TABLES NN The DECnet node block contains all the information LLINKS has to know about a node. There is a node block for all nodes that we have active links to. The node block is created when someone tries to connect to a node that does not yet have a node block associated with it. When the number of active links goes to zero, the node block is subject to possible deletion. If the number of node blocks is larger than NNDMAX, then the now unused node block is deleted after its counters are logged with a 3.2 (database reused) event. The list of node blocks is pointed to by the queue header NMXNDQ. Note that many counters are full words, even though they only have to be 16 bits wide. This is so the OPSTR logic generates a single read-modify-write instruction when updating them and spares us the worry of interlocking this data base. Defined in: LLINKS Format NETWORK NODE BLOCK +------------------------------------------------------------------------+ /\ NNNXT | Ptr to next node block | QP.LEN \ \ \/ |------------------------------------------------------------------------| NNTLZ | Time (from DNGTIM) when last zeroed | |------------------------------------------------------------------------| | | | | | NNNOD | | | | | Network node ID (2 bytes) (HWORD | * | | | | for speed) | |------------------------------------------------------------------------| NNTMC | Message timeouts to node | |------------------------------------------------------------------------| NNRBC | User bytes received from node | |------------------------------------------------------------------------| NNXBC | User bytes transmitted to node | |------------------------------------------------------------------------| NNRMC | User msgs received from node | |------------------------------------------------------------------------| NNXMC | User msgs transmitted to node | |------------------------------------------------------------------------| NNTBR | Total # of bytes received from node | |------------------------------------------------------------------------| NNTBX | Total # of bytes transmitted to node | |------------------------------------------------------------------------| NNTMR | Total # of messages received from node | |------------------------------------------------------------------------| NNTMX | Total # of messages received from node | 261
MONITOR TABLES NN (Cont.) |------------------------------------------------------------------------| NNRCC | Connect inits received from node | |------------------------------------------------------------------------| NNXCC | Connect inits transmitted to node | |------------------------------------------------------------------------| NNRRC | Rejects received from node | |------------------------------------------------------------------------| NNXRC | Rejects transmitted to node | |------------------------------------------------------------------------| NNLKC | Current active links to node | |------------------------------------------------------------------------| NNLKM | Max active links to node | |------------------------------------------------------------------------| NNCRC | Connect resource errors received | |------------------------------------------------------------------------| NNDLY | Estimated round-trip delay (msecs) | |------------------------------------------------------------------------| NNSLZ | Seconds since last zeroed (time stamp) | |------------------------------------------------------------------------| NNPSZ | Pipe size (= 3 * last message's visit count) | +------------------------------------------------------------------------+ For field NNFLG(0-1): NNGDL 0 Set if we've "got delay", see UPDELAY Field NNMSG (2-2) Set if we've sent a 'link broken' message for this node 262
MONITOR TABLES NO-SCLINK The NO defines a single node in a bucket in the DECnet-36 node name/number data base. Defined in: SCLINK Format Represents a single node +------------------------------------------------------------------------+ NONAM | Node name | |------------------------------------------------------------------------| NOADR | Node address | +------------------------------------------------------------------------+ 263
MONITOR TABLES NO-SCPAR There is one node name block for each node. Node name blocks are kept on doubly linked lists, with the head of each list in a vector MAX-NODES long. Defined in: SCPAR Format Node name +------------------------------------------------------------------------+ NONXT | POINTER TO NEXT NODE | |------------------------------------------------------------------------| NOLST | POINTER TO LAST NODE | |------------------------------------------------------------------------| NOCID | CIRCUIT ID USED ONLY FOR LOOPBACK | |------------------------------------------------------------------------| NOCNT | COUNT OF BYTES IN NODE NAME (DOESN'T NEED FULL WORD, REST IS FREE) | |------------------------------------------------------------------------| /\ NONAM | NODE NAME TEXT | <<^D6+3>/4> \ \ \/ +------------------------------------------------------------------------+ 264
MONITOR TABLES NR The NR is the NRT (Network Remote Terminal) Data Block (also referred to as the NRB). One block is allocated for each active link to hold data associating the DECnet link with a terminal data block (TDB). Defined in: NRTSRV Format +------------------------------------------------------------------------+ NRTDB | Dynamic ptr to associated TDB | |------------------------------------------------------------------------| | | | | | | | NRCHN | NRSTS | * | NRFLG | DECnet channel number | Current status of DECnet link | |------------------------------------------------------------------------| NRSJB | Pointer to this link's SJB | |------------------------------------------------------------------------| | NRSIZ | NRPSI | |Max chars in a segment on this link| SCJSYS's original PSI mask for | | | NETUSER link | |------------------------------------------------------------------------| | NRRID | NRINA | | Remotes node ID | Inactivity timer for NETHOST link | +------------------------------------------------------------------------+ For field NRFLG(0-5): NRCFG 0 Set if config msg has been sent NRREL 1 This NRB is being released NRUSR 2 0=Nethost link, 1=User netlink NRTRN 3 This NRB is in transition NRDEA 4 Deallocate TDB 265
MONITOR TABLES NT The NT structure defines the format of the data blocks that are used to store the characteristics, counters, and states associated with the network management entities; these entities are nodes, circuits, lines, and modules. The blocks are also passed between the various layers of DECnet for the purpose of setting and reading parameters, and reading counters. Defined in: NTMAN Format +------------------------------------------------------------------------+ | NTTYP | NTLEN | NTROU | | | | | | | NTQUA | | Data | Length | Index to | NTDEV | Qualifier Parameter Number | * | type | |routine to | | | | | | call | | | |------------------------------------------------------------------------| | | | | | | | | | | | | | NTBSZ | NTSEQ | | NTAPL | NTINF | | |Buffer size needed |Sequence or type of field | * | | | | | (if needed) | | +------------------------------------------------------------------------+ For field NTTYP(0-4): NT.FC 1 Coded format NT.FCM 2 Coded multiple (this means special casing) NT.FAI 3 ASCII image (8-bit) NT.FDU 4 Decimal, unsigned. Cannot be zero. NT.FDS 5 Decimal, signed NT.FH 6 Hex integer NT.FHI 7 Hex image NT.FOC 8 Octal NT.FDM 9 Internal data type only. Decimal, milliseconds. NT.FVN 10 Internal data type only. Version number. NT.FNE 11 Internal data type only. Node entity ID. NT.FNN 12 Internal data type only. ASCII node name NT.FCN 13 Internal data type only. ASCII circuit name For field NTDEV(15-20): NTD.R 15 DMR-11 NTD.N 16 Ethernet (KLNI) NTD.C 17 Computer Interconnect (KLPI) NTD.P 18 DDP NTD.K 19 KDP NTD.D 20 DTE-20 (UGH) 266
MONITOR TABLES NT (Cont.) For field NTAPL(0-3): NTA.E 0 Executor NTA.L 1 Loop nodes NTA.R 2 Remote nodes NTA.H 3 Home area nodes only For field NTINF(4-9): NTI.C 4 Characteristics (listed in spec as 'C') NTI.S 5 Status (listed in spec as 'S') NTI.% 6 Summary (listed in spec as '*') NTI.K 7 Circuit State NTI.Q 8 This parameter is qualified NTI.N 9 None. noop bit, not necessary Field NTSET (10-11) Settability restrictions NTS. 0 0 means read and write NTS.R 1 Read only parameter NTS.W 2 Write only parameter Field NTBUF (12-12) Buffer Field 267
MONITOR TABLES NTCTAB Network topology change fork table. This is the table used to notify user processes of topology changes on the network. Defined in: STG Format +-------------------------------------------------------+ NTCTAB: | Fork number | Interrupt channel | / \ +-------------------------------------------------------+ | | . | | | . | NTCMAX | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 268
MONITOR TABLES NX NX is block of "globals" used by DECnet NMX. Defined in: D36PAR Format +------------------------------------------------------------------------+ | | | | | | | | | | | | NXPRM | | NXFLG | | | | | Parameter/counter identifier | * |------------------------------------------------------------------------| NXNUM | Entity sequence number. (Node addr of line ID) | |------------------------------------------------------------------------| /\ NXVAL | Maximum string size (32 bytes) | 8 \ \ \/ |------------------------------------------------------------------------| NXMBY | Maximum number of bytes | |------------------------------------------------------------------------| NXADR | User virtual address of argument block | |------------------------------------------------------------------------| NXUUO | Saved calling UUO (need for STOTAC) | |------------------------------------------------------------------------| /\ NXEID | String pointer to entity ID | BP.LEN \ \ \/ |------------------------------------------------------------------------| NXFNC | Function code | |------------------------------------------------------------------------| NXSEL | Selection criteria for function | |------------------------------------------------------------------------| /\ NXDAT | String pointer field to data string | BP.LEN \ \ \/ |------------------------------------------------------------------------| NXERR | Error code | +------------------------------------------------------------------------+ For field NXFLG(0-6): NXWRM 0 Writing monitor's data base. 1=writing NXWUS 1 Writing user's data string. 1=writing NXZMC 2 Zeroing or clearing monitor core NXCXP 3 Counter=1 or parameter=0 NXNIL 4 Not in layer. (I didn't bit) NXECV 5 Do entity conversion NXMCX 6 Buffer is in monitor context Field NXNTY (9-11) Node type, if node XP NX.EXN 1 Executor node XP NX.REN 2 Remote node XP NX.LPN 3 Loopback node 269
MONITOR TABLES NX (Cont.) Field NXLTY (12-14) Line type XP NX.TST 0 Test bed driver (obsolete) XP NX.DTE 1 DTE XP NX.KDP 2 KDP XP NX.DDP 3 DDP XP NX.CIP 4 CI PORT XP NX.NI 5 ETHERNET XP NX.DMR 6 DMR Field NXENT (15-17) Entity type 270
MONITOR TABLES OA Argument block used by DECnet Session Control and NSP. The OPEN call's argument block. Defined in: D36PAR Format OPEN Argument Block +------------------------------------------------------------------------+ OASCB | SCB ID for new port | |------------------------------------------------------------------------| OANOD | Destination node | |------------------------------------------------------------------------| OAFLO | Flow control type | |------------------------------------------------------------------------| OAGOL | Data request goal | |------------------------------------------------------------------------| OASIZ | Max bytes allowed in a message segment | |------------------------------------------------------------------------| OASCV | Session control's entry address | |------------------------------------------------------------------------| OACIR | Loopback circuit | +------------------------------------------------------------------------+ 271
MONITOR TABLES OFNLEN Open File Length Table. This resident table contains the current file byte size and file byte count for each open file. It is parallel to the OFN areas of the SPT and SPTH tables. Defined in: STG Index: OFN number Format 0 5 6 35 +-------------------------------------------------------+ | OFNBSZ | OFNBC | / \ OFNLEN: | Byte Size| File Byte Count | | |-------------------------------------------------------| | | | NOFN | | | | | | \ \ \ / +-------------------------------------------------------+ 272
MONITOR TABLES PA The PA structure is used to keep the information for a DECnet network management parameter. It is pointed to by a table, generated with the PARAMETER macro. This structure is read by the routine NTPARM in D36COM. Defined in: D36PAR Format +------------------------------------------------------------------------+ PAPNR | Parameter Number | |------------------------------------------------------------------------| | | | | | | | PADEF | | PAFLA | | Default value for parameter | |------------------------------------------------------------------------| | PAMAX | PAMIN | | Maximum value that can be set | Minimum value that be set | |------------------------------------------------------------------------| PASET | Instruction to execute to set the parameter | |------------------------------------------------------------------------| PARED | Instruction to execute to read the parameter | |------------------------------------------------------------------------| PACLR | Instruction to execute to clear the parameter | +------------------------------------------------------------------------+ For field PAFLA(0-4): PANST 0 Cannot set this parameter PANCL 1 Cannot clear this parameter PANRD 2 Cannot read this parameter (Write only memory) PABEX 3 Buffer from NTMAN expected PADRC 4 Don't range check "set" value 273
MONITOR TABLES PB-PHYKNI This is the NI Port Block data structure. The port block is used by both the monitor and the NI microcode to transfer and store control and status information. Defined in: PHYKNI Format +------------------------------------------------------------------------+ PBCQI | Command queue interlock | |------------------------------------------------------------------------| PBCQF | Command queue flink | |------------------------------------------------------------------------| PBCQB | Command queue blink | |------------------------------------------------------------------------| PBRS0 | Reserved for software | |------------------------------------------------------------------------| PBRQI | Response queue interlock | |------------------------------------------------------------------------| PBRQF | Response queue flink | |------------------------------------------------------------------------| PBRQB | Response queue blink | |------------------------------------------------------------------------| PBRS1 | Reserved | |------------------------------------------------------------------------| PBUQI | Unknown protocol type queue interlock | |------------------------------------------------------------------------| PBUQF | Unknown protocol type queue flink | |------------------------------------------------------------------------| PBUQB | Unknown protocol type queue blink | |------------------------------------------------------------------------| PBUQL | Unknown protocol type queue length | |------------------------------------------------------------------------| PBRS2 | Reserved | |------------------------------------------------------------------------| PBPTT | Protocol type table starting address | |------------------------------------------------------------------------| PBMTT | Multicast address table starting address | |------------------------------------------------------------------------| PBRS3 | Reserved | |------------------------------------------------------------------------| PBER0 | KLNI error logout 0 | |------------------------------------------------------------------------| PBER1 | KLNI error logout 1 | |------------------------------------------------------------------------| PBLAD | Address of channel logout word 1 | |------------------------------------------------------------------------| PBCLO | Contents of channel logout word 1 | 274
MONITOR TABLES PB-PHYKNI (Cont.) |------------------------------------------------------------------------| PBPBA | Port control block base address | |------------------------------------------------------------------------| PBPIA | PI level assignment | |------------------------------------------------------------------------| PBIVA | Interrupt vector assignment | |------------------------------------------------------------------------| PBCCW | Channel command word | |------------------------------------------------------------------------| PBRCB | Pointer to read counters buffer | +------------------------------------------------------------------------+ 275
MONITOR TABLES PB-SCPAR DECnet-36 Process Descriptor Block. A "process block" is used to name local and remote processes. There are two of these contained in the Connect Block, one for the destination name and one for the source name. Defined in: SCPAR Format Process Descriptor Block +------------------------------------------------------------------------+ | PBSIZ | PBFOR | PBOBJ | | The length field | Format | Object type | |------------------------------------------------------------------------| | PBNCT | | | Name byte count | | |------------------------------------------------------------------------| /\ PBNAM | End user name | <<^D16+3>/4> \ \ \/ |------------------------------------------------------------------------| | PBGRP | PBUSR | | GRPCODE | USRCODE (GRPCODE + USRCODE = PPN) | +------------------------------------------------------------------------+ 276
MONITOR TABLES PC PC is the read port counters block. There are two words in the table for each entry. PC is used by NTCTRS for the SHOW COUNTERS and SHOW and ZERO COUNTERS network management functions. Defined in: NIPAR Format +------------------------------------------------------------------------+ | | | | |------------------------------------------------------------------------| PCSLZ | Seconds since last zeroed | |------------------------------------------------------------------------| | | | | |------------------------------------------------------------------------| PCBYR | Bytes received | |------------------------------------------------------------------------| | | | | |------------------------------------------------------------------------| PCDGR | Datagrams received | |------------------------------------------------------------------------| | | | | |------------------------------------------------------------------------| PCBYS | Bytes sent | |------------------------------------------------------------------------| | | | | |------------------------------------------------------------------------| PCDGS | Datagrams sent | |------------------------------------------------------------------------| | | | | |------------------------------------------------------------------------| PCUBU | User buffer unavailable | +------------------------------------------------------------------------+ 277
MONITOR TABLES PCB (PORT CONTROL BLOCK) The mechanism where the KL10 and the CI20 share the queue structures is controlled by the Port Control Block. The Port Control Block is a data structure that exists in the physical memory space of the KL10. Both the KL10 and the CI20 read and write the data in the PCB. The PCB contains the link words for the queues and other control information. | | Defined in: SCAPAR +------------------------------------------------------+ .PBBDT | Buffer Descriptor Table Starting Address | +------------------------------------------------------+ .PBMQE | Message Free Queue Entry Length | +------------------------------------------------------+ .PBDQE | Datagram Free Queue Entry Length | +------------------------------------------------------+ | Reserved | +------------------------------------------------------+ .PBQ3I | Command Queue 3 Interlock | +------------------------------------------------------+ .PBQ3F | Command Queue 3 FLINK | +------------------------------------------------------+ .PBQ3B | Command Queue 3 BLINK | +------------------------------------------------------+ .PBQ2I | Command Queue 2 Interlock | +------------------------------------------------------+ .PBQ2F | Command Queue 2 FLINK | +------------------------------------------------------+ .PBQ2B | Command Queue 2 BLINK | +------------------------------------------------------+ .PBQ1I | Command Queue 1 Interlock | +------------------------------------------------------+ .PBQ1F | Command Queue 1 FLINK | +------------------------------------------------------+ .PBQ1B | Command Queue 1 BLINK | +------------------------------------------------------+ .PBQ0I | Command Queue 0 Interlock | +------------------------------------------------------+ .PBQ0F | Command Queue 0 FLINK | +------------------------------------------------------+ .PBQ0B | Command Queue 0 BLINK | +------------------------------------------------------+ .PBRQI | Response Queue Interlock | +------------------------------------------------------+ .PBRQF | Response Queue FLINK | +------------------------------------------------------+ .PBRQB | Response Queue BLINK | 278
MONITOR TABLES PCB (PORT CONTROL BLOCK) (Cont.) +------------------------------------------------------+ .PBMFI | Message Free Queue Interlock | +------------------------------------------------------+ .PBMFF | Message Free Queue FLINK | +------------------------------------------------------+ .PBMFB | Message Free Queue BLINK | +------------------------------------------------------+ .PBDFI | Datagram Free Queue Interlock | +------------------------------------------------------+ .PBDFF | Datagram Free Queue FLINK | +------------------------------------------------------+ .PBDFB | Datagram Free Queue BLINK | +------------------------------------------------------+ | Reserved | +------------------------------------------------------+ | Reserved | +------------------------------------------------------+ | Reserved | +------------------------------------------------------+ | Reserved | +------------------------------------------------------+ .PBER0 | Port Error Word 0 | +------------------------------------------------------+ .PBER1 | Port Error Word 1 | +------------------------------------------------------+ .PBER2 | Port Error Word 2 | +------------------------------------------------------+ .PBER3 | Port Error Word 3 | +------------------------------------------------------+ .PBER4 | Port Error Word 4 | +------------------------------------------------------+ .PBPBA | PCB Base Address | +------------------------------------------------------+ .PBPIA | PI Level | +------------------------------------------------------+ | Reserved to Port | +------------------------------------------------------+ .PBCCW | Channel Command Word | +------------------------------------------------------+ | Reserved to Port | +------------------------------------------------------+ 279
MONITOR TABLES PHYCHT PHYSIO Channel Dispatch Tables. This table contains the names of function dispatch tables for all supported channel types. Defined in: STG Format +-------------------------------------------------------+ / \ PHYCHT: | .CTRH2 | RH2DSP | | |-------------------------------------------------------| | | .CTCI | KLPDSP | | |-------------------------------------------------------| -PHYCHL | .CTNI | KNIDSP | | |-------------------------------------------------------| | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 280
MONITOR TABLES PHYUNT PHYSIO Unit Dispatch Tables. Table of known unit dispatch routines. Defined in: STG Format +-------------------------------------------------------+ PHYUNT: | Type (DSK)=.UTRP4 | DSK Unit Dispatch Adr. | / \ | | = RP4DSP | | |-------------------------------------------------------| | | Type (MTA)=.UTTM2 | MTA Unit Dispatch Adr. | | | | = TM2DSP | | |-------------------------------------------------------| | | Type (DX20A)=.UTDXA | DX20 Dispatch Adr. | -PHYUNL | | = DXADSP | | |-------------------------------------------------------| | | Type (DX20B)=.UTDXB | DX20 Dispatch Adr. | | | | = DXBDSP | | |-------------------------------------------------------| | | Type (TU78) =.UTTM7 | TU78 Dispatch Adr. | | | | = TM8DSP | \ / +-------------------------------------------------------+ 281
MONITOR TABLES PI This is the format of the NI% JSYS global portal ID. Defined in: NIUSR Format Structure for global portal IDs +------------------------------------------------------------------------+ | | PIFRK | PIPID | | | Job wide fork | Job wide portal | | | number | ID | +------------------------------------------------------------------------+ 282
MONITOR TABLES PIDCNT Process ID Count Table. This non-resident table holds the send quota and count and the PID quota and count for each job. Defined in: STG Index: Job number Format 0 8 9 17 18 26 27 35 +-------------------------------------------------------+ PIDCNT: | PIDSQ | PIDSC | PIDPQ | PIDPC | / \ | Send quota | Send count | PID quota | PID count | | |-------------------------------------------------------| | | . | | | . | NJOBS | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 283
MONITOR TABLES PIDTBL Process ID Table. This non-resident table is a table of halfword entries, one entry per PID; the number of entries in the table is two times the number of jobs. (The monitor is assuming an average of 2 PIDs per job.) If a PID is in use, the table entry contains the address of the PID header. PID's not in use are linked together; PIDLST is the free PID header. Defined in: STG +-------------------------------------------------------+ PIDTBL: | ADR of PID Header 1 or | ADR of PID Header 2 or | / \ | Link to Next Free PID | Link to Next Free PID | | |-------------------------------------------------------| | | . | | | . | | | . | | . | PIDTBS | . | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 284
MONITOR TABLES PL This is the NI portal list structure. This structure contains a table of pointers to all Ethernet portal blocks defined by NI% jsys users. Defined in: NIUSR Format +------------------------------------------------------------------------+ | PLMAX | PLNUM | | Highest portal defined so far |Total number of portals defined so | | | far | |------------------------------------------------------------------------| /\ PLLIS | The actual portal list | MAXPOR \ \ \/ +------------------------------------------------------------------------+ 285
MONITOR TABLES PR-NISRV This is the NI Portal Table block. Defined in: NISRV Format +------------------------------------------------------------------------+ PRNXT | Pointer to next block (must be first) | |------------------------------------------------------------------------| | | | | PREXI | PRBSZ | | PRFLG | External portal | Receive buffer size | | | ID | | |------------------------------------------------------------------------| PRUID | What user wants on callback | |------------------------------------------------------------------------| | PRPMD | PRPRO | | Packing mode | Protocol type (bytes swapped) | |------------------------------------------------------------------------| PRCHN | Ethernet channel block address | |------------------------------------------------------------------------| PRMUL | Bit vector of enabled multicasts | |------------------------------------------------------------------------| PRPOS | Callback address | |------------------------------------------------------------------------| PRCHK | Check word (address of this block) | |------------------------------------------------------------------------| PRFQA | Free queue header address | |------------------------------------------------------------------------| PROXM | Outstanding transmits | |------------------------------------------------------------------------| PRORC | Outstanding receives | |------------------------------------------------------------------------| PRTLZ | Time at which counters were zeroed | |------------------------------------------------------------------------| PRBYR | Bytes received | |------------------------------------------------------------------------| PRDGR | Datagrams received | |------------------------------------------------------------------------| PRBYS | Bytes sent | |------------------------------------------------------------------------| PRDGS | Datagrams sent | |------------------------------------------------------------------------| PRUBU | User buffer unavailable | +------------------------------------------------------------------------+ For field PRFLG(0-8): PRCLO 0 Portal is closing PRPAD 1 Pad flag 286
MONITOR TABLES PR-NIUSR This is the NI Portal block. One exists for each Ethernet portal defined by the NI% JSYS. Defined in: NIUSR Format +------------------------------------------------------------------------+ PRNXT | Pointer to next portal | |------------------------------------------------------------------------| | PRUPD | | | | | | PRLFK | PRFRK | | User's | PRFLG | Job wide | Fork number of owning fork | | portal ID | | fork # | | |------------------------------------------------------------------------| PRCHK | Check word | |------------------------------------------------------------------------| | PRTCH | PRRCH | PRSCH | | Transmit completion | Receive completion | Status change | | interrupt channel | interrupt channel | interrupt channel | |------------------------------------------------------------------------| PRUNB | UN block pointer | |------------------------------------------------------------------------| PRPID | Monitor's portal ID | |------------------------------------------------------------------------| /\ PRXQH | Transmitted queue header | XR.LEN \ \ \/ |------------------------------------------------------------------------| /\ PRRQH | Receive queue header | XR.LEN \ \ \/ |------------------------------------------------------------------------| PRTRQ | Transmit quota | |------------------------------------------------------------------------| PRRCQ | Receive quota | |------------------------------------------------------------------------| PRTIP | Number of transmit buffers queued up to NISRV | |------------------------------------------------------------------------| PRRIP | Number of receive buffers queued up to NISRV | +------------------------------------------------------------------------+ For field PRFLG(6-11): PRCCP 6 Close complete PRRPS 7 Receive PSI requested PRTPS 8 Transmit PSI requested PRSPS 9 Status change PSI requested 287
MONITOR TABLES PRMP This table contains pointers to the DNA parameter and counter data bases. The format for the data bases is described in the DNA Parameter and Counter Data Base table. Defined in: NTMAN Format +-------------------------------------------------------+ PRMP: | NODE pointer | +-------------------------------------------------------+ | LINE pointer | +-------------------------------------------------------+ | LOGGING pointer | +-------------------------------------------------------+ | CIRCUIT pointer | +-------------------------------------------------------+ | MODULE pointer | +-------------------------------------------------------+ | EVENT pointer | +-------------------------------------------------------+ Each pointer has the format: +-------------------------------------------------------+ | COUNT | ADDRESS | +-------------------------------------------------------+ The COUNT is the negative of the number of parameters in the data base, and ADDRESS is the address of the first block in the data base. 288
MONITOR TABLES PROCESS STORAGE AREA This area contains process specific information. It is the entire PSVAR psect. The PSBMAP in the PSB points to all of this area. For this area, the monitor has indirect pointers in its page table (MMAP) for its pages beginning at PSSPSA: (which is on a page boundary) for the length of the process storage area. All of these pointers are to a single location in the SPT (specifically SPT+NOFN+1). With this arrangement, the process storage area for the current process can be changed to the process storage area for another process by only changing the one location in the SPT. Defined in: STG Format PSSPSA: +-------------------------------------------------------+ CXBPGA: | | / \ | Start of process special pages | 1 | Swapper, Map temporary page | page \ \ \ / |-------------------------------------------------------| CPTPGA: | | / \ | Swapper, Map temporary page | 1 \ \ page |-------------------------------------------------------| \ / CPYPGA: | | / \ | Swapper, Map temporary page | 1 | End of process special pages | page \ \ \ / PSSPEA: |-------------------------------------------------------| FPG0A: | | / \ | Fork utility page | 1 \ \ page |-------------------------------------------------------| \ / FPG1A: | | / \ | Fork utility page | 1 \ \ page |-------------------------------------------------------| \ / FPG2A: | | / \ | Fork utility page | 1 \ \ page |-------------------------------------------------------| \ / FPG3A: | | / \ | Fork utility page | 1 \ \ page |-------------------------------------------------------| \ / PSIPGA: | | / \ | PSI in progress storage | NPSIPG (2) \ \ pages 289
MONITOR TABLES PROCESS STORAGE AREA (Cont.) |-------------------------------------------------------| \ / IDXPGA: | | / \ | Index table is mapped here | NIDXPG | (zero length if sections) | pages \ \ \ / |-------------------------------------------------------| DIRPGA: | | / \ | Directory window |DRMASZ | (zero length if sections) | pages \ \ \ / |-------------------------------------------------------| / \ DDTPXA: | |NDDTPG | MDDT private segment | pages \ \ \ / |-------------------------------------------------------| UPTPGA: | | / \ | User section 0 page table | 1 | (see USER-PG-MAP-TBL) | page \ \ \ / |-------------------------------------------------------| HWPTA: | Hardware variables | / \ | (see UPT) | 1 PSBPGA: | overlaid with | page | First page of PSB | | \ (see PSB) \ \ / |-------------------------------------------------------| / \ PS2PGA: | | 1 | Second page of PSB | page \ \ \ / +-------------------------------------------------------+ 290
MONITOR TABLES PS-PHYKNI PS is the NI Port Storage block (channel block). There is one channel block for each NI on the system. The first block is pointed to by CHNBAS. At this time, only one channel block is allocated, and it is allocated at location PRTSTG (CHNBAS points to PRTSTG). Defined in: PHYKNI Format +------------------------------------------------------------------------+ PSNXT | Pointer to next channel block | |------------------------------------------------------------------------| PSPCB | Port control block base address (virtual) | |------------------------------------------------------------------------| PSPBA | Port control block physical base address | |------------------------------------------------------------------------| PSPTT | Virtual address of protocol type table | |------------------------------------------------------------------------| PSMTT | Virtual address of multicast address table | |------------------------------------------------------------------------| PSINT | Interrupt level control buffer | |------------------------------------------------------------------------| PSNON | Non-interrupt level control buffer | |------------------------------------------------------------------------| PSLPT | Load PTT table buffer address | |------------------------------------------------------------------------| PSLMT | Load multicast address table buffer address | |------------------------------------------------------------------------| PSWSI | Write station info buffer address | |------------------------------------------------------------------------| PSRSI | Read station info buffer address | |------------------------------------------------------------------------| /\ PSUNK | Pseudo PTT for unknown protocol type queue | PT.LEN \ \ \/ |------------------------------------------------------------------------| | | | | | | | | | | | | PSFLG | | |------------------------------------------------------------------------| PSSTA | Line state | |------------------------------------------------------------------------| PSHAD | Stored high order station address | |------------------------------------------------------------------------| PSLAD | Stored low order station address | |------------------------------------------------------------------------| /\ PSSAD | Shadowed address | 2 \ \ \/ |------------------------------------------------------------------------| PSHRA | Stored high order ROM address | |------------------------------------------------------------------------| PSLRA | Stored low order ROM address | 291
MONITOR TABLES PS-PHYKNI (Cont.) |------------------------------------------------------------------------| | | | | | PSSVA | | | | | PSRSP | PSCHN | | | | PSVAR | | PSVBT |Maximum number | | | | | | | | of entries on | | | | | | | | the response | | | | | | | | que | | | | |------------------------------------------------------------------------| PSCHK | Check word, contains magic value | |------------------------------------------------------------------------| PSTLR | Time of last response | |------------------------------------------------------------------------| PSCNO | CONO KNI,(T1) | |------------------------------------------------------------------------| PSCNI | CONI KNI,T1 | |------------------------------------------------------------------------| PSDTO | DATAO KNI,T1 | |------------------------------------------------------------------------| PSDTI | DATAI KNI,T1 | |------------------------------------------------------------------------| PSCQA | CONO KNI,CO.BTS+CO.CQA or NOP | |------------------------------------------------------------------------| PSMXT | Number of multicasts transmitted | |------------------------------------------------------------------------| | PSUMA | PSUMI | | Major version number | Minor version number | |------------------------------------------------------------------------| PSUED | Edit number | |------------------------------------------------------------------------| PSTPC | UDT of port crash | |------------------------------------------------------------------------| PSLAR | LAR at time of uCode crash | |------------------------------------------------------------------------| PSCRL | Left hand CRAM bits at time of crash | |------------------------------------------------------------------------| PSCRR | Right hand CRAM bits at time of crash | |------------------------------------------------------------------------| PSTLZ | Time at which port counters were zeroed | |------------------------------------------------------------------------| PSSHC | Address of shadow counters block | +------------------------------------------------------------------------+ For field PSFLG(0-17): PSSLS 0 1=Line state needs reported PSWUL 1 1=Waiting for uCode to be loaded PSSTP 2 1=Waiting for port restart PSBIG 3 1=KNISTP BUGINF reported PSLSI 4 1=Need to write station information PSLMC 5 1=Need to do load multicast table command PSLPP 6 1=Need to do load protocol table command PSVAD 7 1=PSHAD/LAD is valid 292
MONITOR TABLES PS-PHYKNI (Cont.) For field PSVAR(0-3): PSCRC 0 Allow receipt of frames with CRC errors PSPMC 1 Station is in Promiscuous multicast mode PSH40 2 H4000 mode if 1 PSPRM 3 Promiscious mode if 1 For field PSVBT(8-11): PSVCR 8 PSCRC is valid PSVPM 9 PSPMC is valid PSVH4 10 PSH40 is valid PSVPR 11 PSPRM is valid Field PSCBA (24-26) CBUS address 0 1 17 18 26 27 35 +------------------------------------------------------------------------+ PSSTA | | | PSSST | PSEXS | +------------------------------------------------------------------------+ Symbol Bits Meaning PSRUN 1 Channel is running; should be 1b0 PSSST 18-26 Channel substate PSEXS 27-35 Channel external state 293
MONITOR TABLES PS-SCPAR This is DECnet-36 PSI data passed back from SCLINK on a call to SCTPSQ, the "Read PSI Queue" routine. The data is passed in T1 and T2. Defined in: SCPAR Format +------------------------------------------------------------------------+ | | | PSPSM | | PSFLG | The PSI mask for this link | * |------------------------------------------------------------------------| | PSSTS | PSCHN | | The status half-word | The channel number | +------------------------------------------------------------------------+ For field PSFLG(0-17): PSMOR 0 Set if more PSIs queued 294
MONITOR TABLES PSB Process Storage Block. Each process has a PSB which holds information such as: the PC and ACs when not running; forks known to this process, and accounting, PSI, paging and directory information. It also holds trapping information and the hardware cells for the User Process Table (See UPT Table). Page 2 of the PSB houses the push down list used by the monitor when executing JSYSs (that is, in process context). The PSBMAP map in the PSB points to all of the per-process storage area (including the PSB itself). For further information, see also the Process Storage Area. Defined in: STG Format +-------------------------------------------------------+ / \ UACB: | AC block 1 saved here when JSYS starts | | | (ACBAS points at last block saved) | NUACB | | | \ \ | |-------------------------------------------------------| \ / JOBNO: | Job # to Which Fork Belongs | |-------------------------------------------------------| JOBBIT: | SCHED Control Bits | |-------------------------------------------------------| FNPMAX: | Maximum Number of Pages in Working Set for This Fork | |-------------------------------------------------------| JOBCK0: | Variables for Scheduler Time Guarantee | |-------------------------------------------------------| JOBCK1: | Variables for Scheduler Time Guarantee | |-------------------------------------------------------| RUNT2: | Run Time Fractional Parts of a Millisecond | |-------------------------------------------------------| / \ FKTAB: | Local Fork Handle to Job Handle Table | NLFKS/2 \ \ | |-------------------------------------------------------| \ / FORKN: | Job Fork # at Top Fork | This Fork | |-------------------------------------------------------| FKRT: | Fork Run Time | |-------------------------------------------------------| PRARGP: | Pointer to Process Arguments | |-------------------------------------------------------| MPP: | Monitor Saved Stack Pointer at Last JSYS | |-------------------------------------------------------| PRIMRY: | Primary I/O Indirection Pointers | |-------------------------------------------------------| SLOWF: | Slow MON Routine Flag | |-------------------------------------------------------| INTDF: | Defer Interrupts IF .GE. 0 | 295
MONITOR TABLES PSB (Cont.) |-------------------------------------------------------| INTDFF: | SOS INTDF or JSYS PSISV1 | |-------------------------------------------------------| MJRSTF: | XJRSTF FFL or JSYS PSISV0 | |-------------------------------------------------------| ACBAS: | Current AC Stack Pointer | |-------------------------------------------------------| ITFFL: | Flags on Interrupt to MEXEC | | (Must be contiguous with ITFPC) | |-------------------------------------------------------| ITFPC: | PC on Interrupt to MEXEC | |-------------------------------------------------------| TRPID: | IDENT of Page Causing Trap | |-------------------------------------------------------| TRPPTR: | Storage Address or Pointer Causing Trap | |-------------------------------------------------------| / \ UAC: | User ACs (from AC block 1) | 20 \ Saved here when process not running \ \ / |-------------------------------------------------------| / \ PAC: | Process ACs | | \ EXEC AC's are saved here when process not running \ 20 |-------------------------------------------------------| \ / PFL: | Process Flags (Must be contiguous with PPC) | |-------------------------------------------------------| PPC: | Process PC | |-------------------------------------------------------| NSKED: | No-Schedule Word | |-------------------------------------------------------| RSKED: | No-Schedule Trap JFCL/JSR RSKCHK | |-------------------------------------------------------| / \ | | | TRAPSK: | Stack Used During Pager Traps | NTSK= \ \ 133 |-------------------------------------------------------| \ / TRAPAP: | Page Trap Saved P | |-------------------------------------------------------| TRAPC: | Pager Trap Recursion Count | |-------------------------------------------------------| UTRSW: | Saved Page Fail Word for User | |-------------------------------------------------------| UTRPCT: | Count of Pager Traps for This Process | |-------------------------------------------------------| USWPCT: | Count of SWPINW Calls for This Process | |-------------------------------------------------------| PTTIM: | Time Spent in Pager Traps | |-------------------------------------------------------| LSTXGR: | Time (FKRT) of Last XGC | |-------------------------------------------------------| FKTLST: | Lost Time While Clock Turned Off | 296
MONITOR TABLES PSB (Cont.) |-------------------------------------------------------| CRSKED: | In Critical Section if Non-0 | |-------------------------------------------------------| SKDFL: | Scheduler Temp (Return Flags) | |-------------------------------------------------------| SKDPC: | Scheduler Temp (Return) Must Stay With SKDFL | |-------------------------------------------------------| MONBK: | Interrupt to Monitor if non-zero | |-------------------------------------------------------| LSTIPC: | PC of Last JSP T2, ITRAP1 | |-------------------------------------------------------| PSIPT: | PSI Storage List Pointer | |-------------------------------------------------------| PIOLDS: | FKSTAT Prior To PSI if was Waiting | |-------------------------------------------------------| LEVCHN: | Level Table | Channel Table Addresses | |-------------------------------------------------------| PSISYS: | Non-0 if PSI System Off | |-------------------------------------------------------| MONCHN: | Channels Reserved by Monitor | |-------------------------------------------------------| PSICHA: | Channel Assigned to TERM Code | / \ \ \ NTERMI/6 |-------------------------------------------------------| \ / PIMSK: | PSI Request Word Being Passed to PSI Service | |-------------------------------------------------------| PSIBW: | Break Waiting Word | |-------------------------------------------------------| FORCTC: | Channel Which Caused Forced Fork Termination | |-------------------------------------------------------| PSICHM: | Channel Enabled Word | |-------------------------------------------------------| SUPCHN: | Channels Reserved by Superior | |-------------------------------------------------------| ENSKR: | Scheduler Temp (Return) | / \ \ XPCW block \ 4 |-------------------------------------------------------| \ / | Hardware Storage (UPT cells) | UPTTPI=| | HWPTA+ | (see UPT Table Description) | 420 | | \ \ |-------------------------------------------------------| PIOLD2: | FKSTA2 prior to PSI if was waiting | | | |-------------------------------------------------------| PSIBIP: | Break in Progress Word (Levels) | |-------------------------------------------------------| ADRBRK: | Address Break Information | 297
MONITOR TABLES PSB (Cont.) |-------------------------------------------------------| ADRBK1: | Address of Instruction Causing Address Break | |-------------------------------------------------------| ADRBAD: | Last Break Referenced this Address | |-------------------------------------------------------| FRKNOP: | NOP or MDDT breakpoint | |-------------------------------------------------------| PIFL: | Saved Flags (Must be with PIPC) | |-------------------------------------------------------| / \ PIPC: | Saved PC during Initial PI Service | 3 \ (called with XPCW) \ | |-------------------------------------------------------| \ / FKTOFF: | Time at Which CPU Clock Turned Off | |-------------------------------------------------------| NWSCE: | Number of Entries in WS Cache | |-------------------------------------------------------| LSTXGT: | Time (TODCLK) of Last XGC | |-------------------------------------------------------| / \ UMUUOW: \ Save MUUO Word for User \ 2 |-------------------------------------------------------| \ / KIMUU1: \ Last UUO Word from User \ / \ |-------------------------------------------------------| 2 PSLEVT: | Address of User's Level Table | \ / |-------------------------------------------------------| PSCHNT: | Address of User's Channel Table | |-------------------------------------------------------| PSBITS: | Miscellaneous Per Process Bits | |-------------------------------------------------------| TRPDSP: | Dispatch for MON ILLEG MEM REF | |-------------------------------------------------------| HPSWRN: | Time to flag excessive high priority scheduling | |-------------------------------------------------------| DDPFRK: | 1 => this is DDMP fork | |-------------------------------------------------------| PSBSAB: | Address of DECnet SAB indirect table | |-------------------------------------------------------| SCSTMQ: | Head pointer for SCS% message queue | |-------------------------------------------------------| SCSBMQ: | Tail pointer for SCS% message queue | |-------------------------------------------------------| SCSTDQ: | Head pointer for SCS% datagram queue | |-------------------------------------------------------| SCSBDQ: | Tail pointer for SCS% datagram queue | |-------------------------------------------------------| SCSTXQ: | Head pointer for SCS% DMA xfer queue | |-------------------------------------------------------| SCSBXQ: | Tail pointer for SCS% DMA xfer queue | |-------------------------------------------------------| SCSTEQ: | Head pointer for SCS% event queue | 298
MONITOR TABLES PSB (Cont.) |-------------------------------------------------------| SCSBEQ: | Tail pointer for SCS% event queue | |-------------------------------------------------------| SCSPS0: | PSI channels for msg avail,,dg available | |-------------------------------------------------------| SCSPS1: | PSI channels for DMA avail,,events | |-------------------------------------------------------| SCSTCQ: | Head pointer for CB queue | |-------------------------------------------------------| SCSBCQ: | Tail pointer for CB queue | |-------------------------------------------------------| SCSTXN: | Head pointer for list of DMA buffer names | |-------------------------------------------------------| SCSBXN: | Tail pointer for list of DMA buffer names | |-------------------------------------------------------| EVLNTH: | Entry Vector Length | |-------------------------------------------------------| EVADDR: | Entry Vector Address | |-------------------------------------------------------| PATLEV: | PA1050 Entry Vector Length | |-------------------------------------------------------| PATADR: | PA1050 Compatability Entry Vector Address | |-------------------------------------------------------| PATU40: | Where to Store C(40), Setup as UMOVEM 1,XX | |-------------------------------------------------------| PATUPC: | Where to Store PC, Setup as UMOVEM 1, XX | |-------------------------------------------------------| DMSLEV: | RMS Entry Vector Length | |-------------------------------------------------------| DMSADR: | RMS Entry Vector Address | |-------------------------------------------------------| DMSU40: | Where to Store C(40) on DMS Call | |-------------------------------------------------------| DMSUPC: | Where to Store PC of DMS Call | |-------------------------------------------------------| | ENQWRD: | Used for Cluster ENQ/DEQ | | | (0=Not doing Cluster ENQ) | | |-------------------------------------------------------| CABMSK: | Capability Mask | |-------------------------------------------------------| CAPENB: | Capabilities Enabled | |-------------------------------------------------------| SNPPGS: | Count | Page # of First Page Locked| |-------------------------------------------------------| SNPLST: | Flags | Link to 1st BP for Fork | |-------------------------------------------------------| LSTERR: | Last Error Number | |-------------------------------------------------------| PDVS: | Pointer to PDV block | 299
MONITOR TABLES PSB (Cont.) |-------------------------------------------------------| / \ ERRSAV: \ Block of Error Parameters \ NERRSV |-------------------------------------------------------| \ / | | / \ PSBMAP: | Map for Process Area | | | | PSBMSZ | | | \ \ | |-------------------------------------------------------| \ / JTBLK: | FKJTB + forkn for this fork | |-------------------------------------------------------| JTLCK: | Lock on JSYS Trap to Monitor (this) fork | | Lock Protects JTTRW and Allows Only one | | JSYS Trap Interrupt at a Time to This Monitor | |-------------------------------------------------------| JTTRW: | JSYS Trap Word (Set by interrupting fork) | | Contains trapping instruction | |-------------------------------------------------------| JTTFK: | |JTFRK | | | Forkn of Trapping Fork | |-------------------------------------------------------| | |12 17| | JTMNW: | | JTMCN | JTNMI | | | Monitor's| Forkn of Mon Interrupted | | | PSI Chan | (PSI'd) | |-------------------------------------------------------| PNSKDC: | NOSKED's Done by DIAG & other Resource Managers | |-------------------------------------------------------| ARTHTR: | User-Specified Arithmetic Trap | |-------------------------------------------------------| PDOVTR: | Address of user's block for PDL overflow | |-------------------------------------------------------| CRTRGN: | Indicates Critical Region | |-------------------------------------------------------| STRWRD: | STRFLG | NOSTR | | Flag for STR Info | # Mount Count Increments | | | (for KSELF) | |-------------------------------------------------------| FKXORA: | Fork IDXORA During Creation of Structure | |-------------------------------------------------------| LOKH1: | Index of Highest Lock Held At This Time | |-------------------------------------------------------| DRLOC: | Location in Directory During Searches | |-------------------------------------------------------| DRINP: | Pointer to Input Name During Lookup | |-------------------------------------------------------| DRINL: | Length of Input String | 300
MONITOR TABLES PSB (Cont.) |-------------------------------------------------------| DRMSK: | Mask of 0 Bits in Last Word of String | |-------------------------------------------------------| DRSCN: | Pointer to FDB Link During Lookup | |-------------------------------------------------------| | DRREC: | Count of Recognized Characters | | | (Partial File Recognition) | | |-------------------------------------------------------| |0 17|18 |19 35| DROFN: |DRLFDB |DRROF |DIROFN | | Last FDB Checked by |Release|OFN of Current Mapped | | FDBCHK | OFN | Directory | |-------------------------------------------------------| DRMAP: | Adr of Map Page when SEC2 | |-------------------------------------------------------| DIRCAD: | Cache Address of Last MAPDIR | |-------------------------------------------------------| IDXMAP: | Adr of IDX Tbl. Pg Map When Extended Addressing | |-------------------------------------------------------| |0 17|18 |19 35| STRINF: |CURUC |IDXFLG |CURSTR | | Unique Code of |XB File| Str. No. of Cur. | | Currently Mapped Index| Mapped| Mapped Index File | | File | | | |-------------------------------------------------------| | UPLIST: | Pointer to Portal List for NI% JSYS | | |-------------------------------------------------------| \ / / / / / / / / / / / / / / / / / / / / / / / / / / / \ |-------------------------------------------------------| / \ WSCSH: | (Begins at Top of Second PSB Page) | | | Working Set Cache | WSCHCW \ \ | |-------------------------------------------------------| \ / PIPDB: | PSI Routines stack | / \ | | | | | NPIPDL | | | | | \ / |-------------------------------------------------------| / \ | | | PIAC: | Saved user ACs during | 20 | break start | | |-------------------------------------------------------| \ / \ / / / / / / / / / / / / / / / / / / / / / / / / / / / \ |-------------------------------------------------------| / \ UPDL: | User PDL for Monitor Calls | | | UPDL is Defined as the End of this Page NUPDL | NUPDL \ \ | +-------------------------------------------------------+ \ / 301
MONITOR TABLES PT-IPCIDV The PT structure contains information about each TCP port. Defined in: IPCIDV Format +------------------------------------------------------------------------+ | | | | | PTSTA | | | | | | Port state | | | | | | (DOWN,CONNECT,LISTEN,ACCEPT,RUN) | * +------------------------------------------------------------------------+ Field PTOWN (0-0) Set if this is local port Field PTHOS (1-1) Set if this port is hostile, that is, not TOPS-20 302
MONITOR TABLES PT-PHYKNI This is the NI Protocol type table. There is a PT block for each protocol enabled for the NI port -- up to NPTT (16) blocks. A table of PT blocks is allocated by the monitor at location PTTADR. Channel block word PSPTT points to the first PT block; that is, it points to PTTADR. Defined in: PHYKNI Format +------------------------------------------------------------------------+ | | | PTTYP | | | | | | Protocol type | | | * |------------------------------------------------------------------------| PTFRQ | Free queue header address | |------------------------------------------------------------------------| PTVIR | Virtual address of free queue header | +------------------------------------------------------------------------+ Field PTENA (0-0) Protocol is enabled Field PTFRE (32-32) 1 means entry is free 303
MONITOR TABLES PT-SCPAR This is the DECnet-36 Port Table. The port table contains information describing the state of a user's DECnet connection. Defined in: SCPAR Format +------------------------------------------------------------------------+ | PTCON | PTINT | PTDAT | | | | | | | | | |User's PSI |User's PSI |User's PSI | | | | | | | | | | channel | channel | channel | | | | | | | | | | for | for | for Data/ | | | | | | | | | * | incoming | interrupt |Disconnect | | | | | | | | | | CI or CC | messages | | | | | | | | | | |------------------------------------------------------------------------| | PTJFN | PTFRK | | JFN associated with channel | Fork number | |------------------------------------------------------------------------| | PTSTS | | | Link status | | |------------------------------------------------------------------------| PTDEV | Storage for DEV during a block | +------------------------------------------------------------------------+ Field PTTYP (18-18) Open type: 0=Passive 1=Active Field PTEMI (19-19) EOM has arrived Field PTPSI (20-20) User has been "PSI"ed for data available Field PTLWC (21-21) Link was connected indicator Field PTBLK (22-22) This link is blocked (blocking I/O) Field PTWAK (23-23) Wake the next process that tries to block Field PTNRR (24-24) Null record received 304
MONITOR TABLES PTYSTS Pseudo Terminal Status Table. This table contains the PTY's status word. Defined in: STG Index: PTY Number Format +-------------------------------------------------------+ / \ PTYSTS: | PTY Status Bits | | |-------------------------------------------------------| | | . | | | . | | | . | NTTPTY | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 305
MONITOR TABLES QA This structure contains the data request count (in T2), an inter-layer parameter passed by Session Control to NSP. Defined in: D36PAR Format | 0 5 | +------------------------------------------------------------------------+ | | QAFLG | | QACNT | | | | | THE DATA REQUEST COUNT BEING | | | | | REQUESTED | | +------------------------------------------------------------------------+ | QAOFF -- Set if the sublink is to be turned off 306
MONITOR TABLES QB This is the DECnet queue block. Defined in: DNADLL Format +------------------------------------------------------------------------+ QBNXT | Pointer to next request in queue | |------------------------------------------------------------------------| | QBFCN | | | Function requested | | |------------------------------------------------------------------------| QBDA1 | Function specific data | |------------------------------------------------------------------------| QBDA2 | Additional data | |------------------------------------------------------------------------| QBDLB | Associated data link block address | +------------------------------------------------------------------------+ 307
MONITOR TABLES Q-BLOCK | The information for each ENQ request is stored in a Q-BLOCK. Q-BLOCKs | are doubly linked for each job; the list header is in ENQLST in the | JSB. Also, Q-BLOCKs are doubly linked on a system wide list for each | lock block; the list header is in the lock block. | | Defined in: ENQPAR Format 0 17 18 35 +-------------------------------------------------------+ 0 | ENQLJQ | | Back Pointer to Last Q-BLOCK for job | |-------------------------------------------------------| 1 | ENQNJQ | | Forward Pointer to Next Q-BLOCK for job | |-------------------------------------------------------| 2 | ENQLLQ | | Back Pointer to Last Q-BLOCK | |-------------------------------------------------------| 3 | ENQNLQ | | Forward Pointer to Next Q-BLOCK | |-------------------------------------------------------| 4 | ENQFLG |ENQCHN: |ENQFRK: | | Flags | PSI | Fork to Interrupt | * | | Channel | When Request Is Locked | |-------------------------------------------------------| 5 | ENQNR |ENQID: | | Number of Resources | Request ID Code | | Requested from Pool | | |-------------------------------------------------------| 6 | ENQLRQ | | Back Pointer to Last Q-BLOCK of Request | |-------------------------------------------------------| 7 | ENQFQ | | Forward Pointer to Next Q-BLOCK of Request | |-------------------------------------------------------| 10 | ENQLBP | | Pointer to LOCK-BLOCK | |-------------------------------------------------------| 11 | |ENQGRP | | | Group Number of | | Reserved | Sharable Request | |-------------------------------------------------------| 12 | ENQNST |ENQJFN: | | Nest Count | JFN of Request | | | or -1, -2, or -3 | |-------------------------------------------------------| 13 | ENQMSK | | Pointer to MASK BLOCK | +-------------------------------------------------------+ 308
MONITOR TABLES Q-BLOCK (Cont.) The flags word must occur in the same position in both the Lock-Block and the Q-Block. The flags word is used to distinguish a Lock-block from a Q-block. 0 11 12 17 18 35 Word 4 +-------------------------------------------------------+ | ENQFLG Flags | ENQCHN | ENQFRK | +-------------------------------------------------------+ Symbol Bits Pointer Contents | EN.SDO=400 3 Scheduling pass needed on | Lock-Block | EN.CLL=200 4 Cluster-wide queue block or | Cluster-wide lock-block | EN.NOV=100 5 No vote for this lock-block | Set during caching and for -1 | type locks EN.LTL=40 6 Long Term Lock EN.INV=20 7 This Q-Block is invisible EN.LOK=10 8 The Q-Block has the Lock Locked. EN.TXT=4 9 This Block has a Text String Identifier. EN.EXC=2 10 Request is Exclusive EN.LB=1 11 This is the Lock-Block 12-17 Reserved 18-35 ENQLVL Level number of this lock. 309
MONITOR TABLES QE QE describes the format of the header for all command, response, and unknown protocal queue entries. The NI uCode expects this format. Defined in: PHYKNI Format Queue entry +------------------------------------------------------------------------+ QEFLI | Forward link | |------------------------------------------------------------------------| QEBLI | Backward link | |------------------------------------------------------------------------| QEVIR | Virtual address of entry | |------------------------------------------------------------------------| QEOPC | Queue entry operation code | +------------------------------------------------------------------------+ 310
MONITOR TABLES QH-D36PAR Structure QH, queue header, is used by the ENDQUE, DEQUE and RMVQUE macros for manipulation of DECnet queues. Defined in: D36PAR Format Queue Header +------------------------------------------------------------------------+ QHBEG | Pointer to first entry in queue | |------------------------------------------------------------------------| QHEND | Pointer to last entry in queue | |------------------------------------------------------------------------| | QHMAX | QHCNT | | Max length queue ever got | Current length of queue | +------------------------------------------------------------------------+ 311
MONITOR TABLES QH-PHYKNI QH defines the queue header format for the command, response, and unknown protocol queues. The NI uCode expects the queue header to have this format. Defined in: PHYKNI Format Queue header definition +------------------------------------------------------------------------+ QHIWD | Interlock word | |------------------------------------------------------------------------| QHFLI | Forward link | |------------------------------------------------------------------------| QHBLI | Backward link | |------------------------------------------------------------------------| QHLEN | Length of queue entries | +------------------------------------------------------------------------+ 312
MONITOR TABLES QL QL is the Queue Link definition used by LAT. All LAT queue entries are linked together using this structure. Defined in: LATSRV Format Halfword Queue Link Word +------------------------------------------------------------------------+ QLFWD | Next forward queue element | |------------------------------------------------------------------------| QLBWD | Previous backward queue element | +------------------------------------------------------------------------+ 313
MONITOR TABLES QP Structure QP, queue pointer, is included to emphasize the fact that the ENDQUE and DEQUE macros used by DECnet expect the forward pointer in a block to be a full word - and to simplify the addition of backward pointers should that become desirable. Defined in: D36PAR Format +------------------------------------------------------------------------+ QPNXT | Pointer to next block on queue | +------------------------------------------------------------------------+ 314
MONITOR TABLES RB This is the DECnet low level MOP request block. Defined in: LLMOP Format Common header portion of RB +------------------------------------------------------------------------+ RBFWD | List chain pointer to next RB | |------------------------------------------------------------------------| RBSTT | Request State | |------------------------------------------------------------------------| | | | | | | | | | | RBICH | | | RBFLG | | | Interrupt | | | | | | Channel | | * | | | | Number (0 | | | | | | to 35) | | |------------------------------------------------------------------------| RBRNO | Receipt Number | |------------------------------------------------------------------------| RBCID | Channel Id | |------------------------------------------------------------------------| /\ RBDST | Destination Address | 2 \ \ \/ |------------------------------------------------------------------------| RBMSO | MSD Address for Output | |------------------------------------------------------------------------| RBMSI | MSD Address for Input | |------------------------------------------------------------------------| RBFRK | Fork Number | |------------------------------------------------------------------------| RBJOB | Job Number | +------------------------------------------------------------------------+ For field RBFLG(0-17): RBFTI 0 Transmit Request Initiated RBFTC 1 Transmit Request Complete RBFTF 2 Transmit Request Failed RBFRC 3 Receive Response Complete RBFRF 4 Receive Response Failed RBABT 5 Abort this request | Field RBAIC (18-18) Assign Interrupt Channel | Field RBICH (29-34) Interrupt Channel 315
MONITOR TABLES RC-D36PAR This is the DECnet router circuit block, which contains all the "per-circuit" data for Router-36. Defined in: D36PAR Format +------------------------------------------------------------------------+ RCNXT | Pointer to next circuit block | |------------------------------------------------------------------------| RCLID | Circuit ID | |------------------------------------------------------------------------| RCDLB | Data link block address | |------------------------------------------------------------------------| /\ RCAJQ | Queue of adjacencies belonging to this circuit | QH.LEN \ \ \/ |------------------------------------------------------------------------| | | | | | | | | | RCCST | RCDRT | | | | RCFLG |RCSTA| Circuit cost | Timer before we | | * | | | | assume DSR role | | |------------------------------------------------------------------------| RCTLS | Time last message of any type was sent | |------------------------------------------------------------------------| RCTLR | Time last routing message was sent | |------------------------------------------------------------------------| RCTLH | Time we sent the last hello (NI only) | |------------------------------------------------------------------------| RCTIN | Time we got protocol up from controller | |------------------------------------------------------------------------| RCTM3 | Hello message timer | |------------------------------------------------------------------------| | RCBSZ | RCRBS | |Minimum of adjacencies' block sizes|Receive block size for this circuit | |------------------------------------------------------------------------| | RCMXR | RCNRO | | Maximum routers allowed on this | Number of routers online | | circuit | | |------------------------------------------------------------------------| RCDSH | ID of current designated router (NI only) | |------------------------------------------------------------------------| | RCDSL | RCPRI | | ID of current designated router | Priority to be designated router | | (NI only) | (NI only) | |------------------------------------------------------------------------| /\ RCJSQ | Queue header for jiffy resend queue | QH.LEN \ \ \/ |------------------------------------------------------------------------| RCCMQ | Messages queued | 316
MONITOR TABLES RC-D36PAR (Cont.) |------------------------------------------------------------------------| RCCLC | Local messages | |------------------------------------------------------------------------| RCSLZ | (0) Time stamp of when last zeroed. | |------------------------------------------------------------------------| RCCAP | (800) Arriving packets received (to NSP) | |------------------------------------------------------------------------| RCCDP | (801) Departing packets sent (from NSP) | |------------------------------------------------------------------------| RCCAL | (802) Arriving congestion loss (to NSP) | |------------------------------------------------------------------------| RCCTR | (810) Transit packets received | |------------------------------------------------------------------------| RCCTS | (811) Transit packets sent | |------------------------------------------------------------------------| RCCTL | (812) Transit congestion loss | |------------------------------------------------------------------------| RCCCD | (820) Circuit down events | |------------------------------------------------------------------------| RCAJD | Adjacency down | |------------------------------------------------------------------------| RCCIF | (821) Initialization failures | |------------------------------------------------------------------------| RCBSX | (xxxx) Adjacency block size exceeded /output | +------------------------------------------------------------------------+ For field RCFLG(0-5): RCBCT 0 Broadcast circuit (should be bit 0) RCSRM 1 Send routing message flag RCEBU 2 Emergency buffer is in use RCSHM 3 Send hello message RCDSR 4 We are the designated router Field RCSTA (6-8) Circuit state | Field RCCST (9-20) Circuit Cost | Field RCDRT (21-29) Time before we assume DSR role 317
MONITOR TABLES RC-PHYKNI RC is the structure for the NI read counters block. Defined in: PHYKNI Format +------------------------------------------------------------------------+ RCBR | Bytes received | |------------------------------------------------------------------------| RCBX | Bytes transmitted | |------------------------------------------------------------------------| RCFR | Frames received | |------------------------------------------------------------------------| RCFX | Frames transmitted | |------------------------------------------------------------------------| RCMCB | Multicast bytes received | |------------------------------------------------------------------------| RCMCF | Multicast frames received | |------------------------------------------------------------------------| RCFXD | Frames xmitted, initially deferred | |------------------------------------------------------------------------| RCFXS | Frames xmitted, single collision | |------------------------------------------------------------------------| RCFXM | Frames xmitted, multiple collisions | |------------------------------------------------------------------------| RCXF | Transmit failures | |------------------------------------------------------------------------| RCXFM | Transmit failure bit mask | * |------------------------------------------------------------------------| RCCDF | Carrier detect check failed | |------------------------------------------------------------------------| RCRF | Receive failures | |------------------------------------------------------------------------| RCRFM | Receive failure bit mask | * |------------------------------------------------------------------------| RCDUN | Discarded unknown | |------------------------------------------------------------------------| RCD01 | Discarded position 1 | |------------------------------------------------------------------------| RCD02 | Discarded position 2 | |------------------------------------------------------------------------| RCD03 | Discarded position 3 | |------------------------------------------------------------------------| RCD04 | Discarded position 4 | |------------------------------------------------------------------------| RCD05 | Discarded position 5 | |------------------------------------------------------------------------| RCD06 | Discarded position 6 | 318
MONITOR TABLES RC-PHYKNI (Cont.) |------------------------------------------------------------------------| RCD07 | Discarded position 7 | |------------------------------------------------------------------------| RCD08 | Discarded position 8 | |------------------------------------------------------------------------| RCD09 | Discarded position 9 | |------------------------------------------------------------------------| RCD10 | Discarded position 10 | |------------------------------------------------------------------------| RCD11 | Discarded position 11 | |------------------------------------------------------------------------| RCD12 | Discarded position 12 | |------------------------------------------------------------------------| RCD13 | Discarded position 13 | |------------------------------------------------------------------------| RCD14 | Discarded position 14 | |------------------------------------------------------------------------| RCD15 | Discarded position 15 | |------------------------------------------------------------------------| RCD16 | Discarded position 16 | |------------------------------------------------------------------------| RCUFD | Unrecognized frame destination | |------------------------------------------------------------------------| RCDOV | Data overrun | |------------------------------------------------------------------------| RCSBU | System buffer unavailable | |------------------------------------------------------------------------| RCUBU | User buffer unavailable | |------------------------------------------------------------------------| RCRS0 | PLI reg rd par error,,PLI parity error | |------------------------------------------------------------------------| RCRS1 | MOVER parity error,,CBUS parity error | |------------------------------------------------------------------------| RCRS2 | EBUS parity error,,EBUS queue parity error | |------------------------------------------------------------------------| RCRS3 | Channel error,,Spur channel error | |------------------------------------------------------------------------| RCRS4 | Spur xmit attn error,,CBUS req timout error | |------------------------------------------------------------------------| RCRS5 | EBUS req timeout error,,CSR grnt timeout error | |------------------------------------------------------------------------| RCRS6 | Used buff parity error,,xmit buff parity error | |------------------------------------------------------------------------| RCRS7 | Reserved for uCode | |------------------------------------------------------------------------| RCRS8 | Reserved for uCode | +------------------------------------------------------------------------+ 319
MONITOR TABLES RC-PHYKNI (Cont.) 0 23 24 25 26 27 28 29 30 31 32 35 +------------------------------------------------------------------------+ RCXFM | | | | | | | | | | | +------------------------------------------------------------------------+ Symbol Bits Contents RCLOC 24 Loss of carrier RCXBP 25 Xmit buffer parity error RCRFD 26 Remote failure to defer RCXFL 27 Xmitted frame too long RCOC 28 Open circuit RCSC 29 Short circuit RCCCF 30 Collision detect check failed RCEXC 31 Excessive collisions 0 26 27 28 29 30 31 35 +------------------------------------------------------------------------+ RCRFM | | | | | | | +------------------------------------------------------------------------+ Symbol Bits Contents RCFLE 27 Free list parity error RCNFB 28 No free buffers RCFTL 29 Frame too long RCFER 30 Framing error RCBCE 31 Block check error 320
MONITOR TABLES RD RD represents the format of the NI Receive Datagram command. Defined in: PHYKNI Format 20 35 +------------------------------------------------------------------------+ | | RDSIZ | | | Text length + CRC (bytes) | |------------------------------------------------------------------------| /\ RDDA1 | Let program align the bytes | 2 \ \ \/ |------------------------------------------------------------------------| /\ RDSA1 | | 2 \ \ \/ | |------------------------------------------------------------------------| | | |16 RDPTY |31 | | | | Protocol type | | | |------------------------------------------------------------------------| | | |14 RDPBA 35| | | | Physical address of receive buffer | |------------------------------------------------------------------------| /\ RDVBA | Virtual address of receive buffer | 2 \ \ \/ |------------------------------------------------------------------------| RDPID | Portal ID | |------------------------------------------------------------------------| RDRID | Request ID | +------------------------------------------------------------------------+ 0 3 4 35 +------------------------------------------------------------------------+ RDDA1 | | High-order destination address | +------------------------------------------------------------------------+ 321
MONITOR TABLES RD (Cont.) | | 0 15 16 31 35 | +------------------------------------------------------------------------+ | RDDA1+1| | Low-order destination address | | | +------------------------------------------------------------------------+ | | 0 3 4 35 | +------------------------------------------------------------------------+ | RDSA1 | | High-order source address | +------------------------------------------------------------------------+ 0 15 16 31 35 +------------------------------------------------------------------------+ RDSA1+1| | Low-order source address | | +------------------------------------------------------------------------+ 322
MONITOR TABLES RES-FREE-SPACE Resident Free Space Storage. The resident free space pool is used by TOPS-20 for allocating free space for data structures such as UDBs, CDBs, KDBs, and SDBs; for terminal messages and line dynamic data blocks; and for the TIMER JSYS when it builds a job's run-time limit block. (See JOBRTL table). Defined in: STG There are 2 resident free spaces - one in section 0/1 and one in an extended section. The following data structure describes each of the free spaces. The locations RES0TB and RESNTB contain the addresses of the data structures for section 0/1 space and extended space, respectively. +-------------------------------------------------------+ .REBAS | Starting address of free space | |-------------------------------------------------------| .REEND | Address of last word of free space | |-------------------------------------------------------| .RETOT | Total size of free space in blocks | |-------------------------------------------------------| .REPR1 | If space left is less than this, allocate P1 only | |-------------------------------------------------------| .REGRO | If space left is less than this, grow free space | |-------------------------------------------------------| .REBTB | Address of start of bit table | |-------------------------------------------------------| .REBTL | Length of bit table (words) | |-------------------------------------------------------| .RETFR | Total remaining unallocated blocks | |-------------------------------------------------------| .REFFB | Number of block just past end of free space | |-------------------------------------------------------| .REPMX | Number pools | |-------------------------------------------------------| .REQTA | Address of block containing quota for each pool | |-------------------------------------------------------| .REPFR |Address of block containing count of unallocated blocks| +-------------------------------------------------------+ Offset .REBTB points to a bit table, each bit representing a 4-word block of free space - bit on means block in use. 323
MONITOR TABLES RES-FREE-SPACE (Cont.) Data structure pointed to by offset .REQTA, indexed by pool number. | +-------------------------------------------------------+ | | Quota for pool (Offset 0 unused) | / \ | |-------------------------------------------------------| | | " | | |-------------------------------------------------------| | | " | | |-------------------------------------------------------| RESQTL | " | | |-------------------------------------------------------| | | " | | |-------------------------------------------------------| | | " | \ / +-------------------------------------------------------+ Data structure pointed to by offset .REPFR, indexed by pool number. | +-------------------------------------------------------+ | | Number of free blocks (Offset 0 unused) | / \ | |-------------------------------------------------------| | | " | | |-------------------------------------------------------| | | " | | |-------------------------------------------------------| RESQTL | " | | |-------------------------------------------------------| | | " | | |-------------------------------------------------------| | | " | \ / +-------------------------------------------------------+ Requests for Resident Free Space are given priority levels where: .RESP1=0 Highest priority and monitor always tries to assign space. Page faults are not allowed. .RESP2=1 Second level priority where monitor does not assign space if free storage would go below minimum (RESMIN). Page faults are not allowed. .RESP3=2 Lowest priority and requests for this level are made in process context. Page faults are allowed. 324
MONITOR TABLES RES-FREE-SPACE (Cont.) Pool types and numbers as indicated by RESUTP are: .RESGP=1 General resident free space pool .RESTP=2 Terminal pool .RESNP=3 Network pool .RSTMP=4 TIMER pool .RESUP=5 UNITS pool - used by PHYSIO and DSKALC 325
MONITOR TABLES RI This is the DECnet LLMOP request block, which is used to make the Job 0 (CHKR) fork generate a System ID message on the NI. Defined in: LLMOP Format +------------------------------------------------------------------------+ RIQUE | Pointer to next item (Must be first!) | |------------------------------------------------------------------------| | RIREC | RICHN | | Receipt number | Ethernet channel number | |------------------------------------------------------------------------| /\ RISAD | Source Ethernet address | 2 \ \ \/ +------------------------------------------------------------------------+ 326
MONITOR TABLES RIDSTS (REQUEST-ID STATUS) RIDSTS, indexed by CI node number, contains information regarding the status of CI request-id polling. Also, if the remote node is an HSC, RIDSTS contains information about our attempts to reset/start it. | | Defined in: PHYKLP | | | +-------------------------------------------------------+ / \ | RIDSTS |||||||| ||| | IDNOR | IDSAD | * Node 0 | | |-------------------------------------------------------| | | \ \ | | | \ \ | | | \ \ | MAXNDS+1 | \ \ | | | \ \ | | | |-------------------------------------------------------| | | | | Node 15 | | +-------------------------------------------------------+ \ / Bit Name Description 0 IDSNT Last Request-ID sent - 0 = path A, 1 = path B 1 IDPAO Path A Open - 0 = closed, 1 = open 2 IDPBO Path B Open - 0 = closed, 1 = open 3 IDNRA No-Response on Path A - 0 = response, 1 = no-response 4 IDNRB No-Response on Path B - 0 = response, 1 = no-response 5 IDTRY Last Try Status - 0 = first, 1 = second 6 IDWFR Waiting for a response (from our port) to sent request-id 8 IDRST Reset-remote command has been sent 9 IDSTA Start-remote command to be sent | 10 IDMAI Remote port is in maintenance mode 12-17 IDNOR Count of consecutive no-responses when we know the other port is receiving our request-ids | 20-35 IDSAD Starting address for remote node 327
MONITOR TABLES RM This is structure RM, the DECnet router message. Defined in: D36PAR Format +------------------------------------------------------------------------+ RMOCP | Output circuit blk ptr | |------------------------------------------------------------------------| RMICP | Input circuit blk ptr | |------------------------------------------------------------------------| RMOAP | Output adjacency pointer | |------------------------------------------------------------------------| RMIAP | Input adjacency pointer | |------------------------------------------------------------------------| | | | | | | | | | | | | | | | | | | | RMFST | | RMFLG | | * |------------------------------------------------------------------------| /\ RMMSD | Room for RTR message descriptor | MD.LEN \ \ \/ |------------------------------------------------------------------------| /\ RMHDR | RTR header room (** output only **) | <<RMH.LN+3>/4> \ \ \/ |------------------------------------------------------------------------| RMMK1 | First mark | |------------------------------------------------------------------------| RMMK2 | Second mark | +------------------------------------------------------------------------+ For field RMFST(1-8): RMMZ1 1 Reserved (must be zero) RMEVL 2 Evolution bit (reserved) RMMZ2 3 Reserved (must be zero) RMRTS 4 Being returned to sender RMRQR 5 Return requested RMMZ3 6 Reserved (must be zero) RMMB1 7 Reserved (must be one) RMCTL 8 Control message (not data) Field RMCTY (9-11) Control message type For field RMFLG(12-16): RMODN 12 Local NSP doesn't want this local message "ODN"ed RMPH2 13 Message seems to be PHASE II RMTRY 14 NSP wants Router to "TRYHARD" on the NI RMTST 15 This is a test message RMDRM 16 This message should be resent to multicast "All-Endnodes" 328
MONITOR TABLES RS RS defines the format of the NI Read Station command. Defined in: PHYKNI Format +------------------------------------------------------------------------+ RSHAD | High order ethernet address | |------------------------------------------------------------------------| RSLAD | Low order ethernet address | |------------------------------------------------------------------------| | | | | | | | | RSVAR | * | | 16 23 24 29 30 35 |------------------------------------------------------------------------| | | RSUCV | RSNMC | RSNPT | | | uCode version | Number of | Number of | | | | multicast | protocol | | | | addresses | types | | | | allowed | allowed | +------------------------------------------------------------------------+ For field RSVAR(32-35): RSNOP 32 Receive MOP mode (unused) RSPMC 33 Unrelated multicast mode RSH40 34 H4000 mode RSPRM 35 Unrelated mode 329
MONITOR TABLES RT RT is the DECnet Receive Table Definition, which is used by the receive message routines for determining how to process incoming messages. There is an RT entry in MSGTBL for every type of message that DECnet-36 expects to receive. Defined in: LLINKS Format +------------------------------------------------------------------------+ | | | | | | | | RTRTN | | | | | Local addr of routine to process | * | | | | msg | +------------------------------------------------------------------------+ For field RTFLG(0-5): RTFLO 0 Msg type flow controlled, for CHKRSN RTOTH 1 Set if this is "other" sublink RTACK 2 Set if msg must include ACKNUM field RTRSP 3 Set if sender expects a response Field RTUPT (6-8) The "upto" field, mod 3 bits for DDT 330
MONITOR TABLES SA SA is the Session Control Argument Block (SAB) portion of a DECnet message. Defined in: D36PAR Format Start right after public portion of MB +------------------------------------------------------------------------+ | | | | | | | | | | | SAERR | * | SAFLG | SAMFG | | Place to store error return | |------------------------------------------------------------------------| | SANAG | SAAFN | | Number of user arguments supplied | Function code | |------------------------------------------------------------------------| | SAAST | SAACH | | Status variable | Channel or job number | |------------------------------------------------------------------------| SAAA1 | Argument one | |------------------------------------------------------------------------| SAAA2 | Argument two | |------------------------------------------------------------------------| SAAA3 | Argument three | |------------------------------------------------------------------------| SASBP | Pointer to string block | |------------------------------------------------------------------------| SACBP | Pointer to connect block | |------------------------------------------------------------------------| SABCT | Buffer byte count | |------------------------------------------------------------------------| /\ SABPT | Buffer byte pointer (possibly extended) | 2 \ \ \/ |------------------------------------------------------------------------| SASJB | Pointer to session control job block | |------------------------------------------------------------------------| SASLB | Pointer to session control link block | |------------------------------------------------------------------------| SASLT | Indirect table entry this SAB belongs in | |------------------------------------------------------------------------| SAHBA | Address of routine to perform HIBER | |------------------------------------------------------------------------| SAWKA | Address of routine to perform WAKE | |------------------------------------------------------------------------| SAUID | SLB's serial number - for stale detection | +------------------------------------------------------------------------+ 331
MONITOR TABLES SA (Cont.) For field SAFLG(0-5): Symbol Bit Contents SAWAI 0 Wait if user wants (check NS.WAI) SAEOM 1 End of message flag SABOM 2 Beginning of message flag SAKCB 3 Keep connect block for life of link SABLK 4 HIBER routine has blocked. Room for future MONUSR flags For field SAMFG(6-11): Symbol Bit Contents SAEVA 6 User buffer in exec virtual addr space SASAT 7 Data read satisfied Room for future monitor flags 332
MONITOR TABLES SB-LATSRV This is the LAT slot block data structure. There is one slot block for each active slot (terminal) session. Slot blocks are created when a slot session is started and released when the slot session is terminated. Slot blocks are pointed to by the Connect Block queue pointer CBSBQ. Defined in: LATSRV | Format | | SLOT BLOCK | +------------------------------------------------------------------------+ /\ | SBLNK | Queue link word (must be first) | 2 | \ \ \/ | |------------------------------------------------------------------------| | | | | | | | | | | | SBATS | * | | SBFLG | Maximum attention slot size | | |------------------------------------------------------------------------| | | SBMDS | SBSTA | | | Maximum slot data size | Slot state | | |------------------------------------------------------------------------| | | SBRID | SBLID | | | Remote slot id | Local slot id | | |------------------------------------------------------------------------| | | SBXCR | SBRCR | | | Transmit credits available to us | Receive credits still outstanding | | |------------------------------------------------------------------------| | | SBREA | SBSRC | | | Reason code for stop or reject | Source slot name count | | |------------------------------------------------------------------------| | | SBPRC | SBSVC | | | Port name count | Service name count | | |------------------------------------------------------------------------| | SBSRN | Server Name | <<ML.SLN+4>/5> | |------------------------------------------------------------------------| | SBPRN | Port Name | <<ML.SLN+4>/5> | |------------------------------------------------------------------------| | SBSVN | Service Name | <<ML.SLN+4>/5> | |------------------------------------------------------------------------| | SBTDB | Terminal data block | | |------------------------------------------------------------------------| | SBCBA | Circuit block address for this slot | | |------------------------------------------------------------------------| | SBPRA | Pending request block address | | +------------------------------------------------------------------------+ 333
MONITOR TABLES | SB-LATSRV (Cont.) | For field SBFLG(0-17): | Symbol Bit Contents | SBSDP 0 Slot data present (must be sign bit) | SBREJ 1 Send REJECT Slot | SBSTR 2 Send START Slot | SBFOU 3 Flush output | SBOUT 4 Output data available | SBFCC 5 Flow control change | SBSTO 6 Send STOP Slot(Must be last) | SBDLP 7 This slot is a dialup line 334
MONITOR TABLES SB-PHYKNI This block exists in all NI Send Datagram commands; it starts after the SN block. If the datagram is BSD style, SBBBA contains the physical address of the first BSD. The other fields in this block may be used by both BSD and non-BSD style sends. Defined in: PHYKNI Format +------------------------------------------------------------------------+ SBBBA | Physical BSD base address | |------------------------------------------------------------------------| SBPID | Portal ID | |------------------------------------------------------------------------| SBMSD | MSD pointer | |------------------------------------------------------------------------| SBRID | Request ID | |------------------------------------------------------------------------| /\ SBBFA | Buffer address | 2 \ \ \/ |------------------------------------------------------------------------| /\ SBRES | Pad out to 4 word boundary | 2 \ \ \/ +------------------------------------------------------------------------+ 335
MONITOR TABLES SB-SCPAR The String Block is used by DECnet-36 to store the user's string-block argument. Defined in: SCPAR Format The Internal String Block +------------------------------------------------------------------------+ | SBCNT | SBWDS | | Count of bytes in block |The length in words of string block | |------------------------------------------------------------------------| /\ SBDAT | SB.MAX 8-bit bytes of data | <<SB.MAX+3>/4> \ \ \/ +------------------------------------------------------------------------+ 336
MONITOR TABLES SBLIST (SYSTEM BLOCK LIST) The system block list, indexed by CI node number, contains the addresses of the system blocks for nodes on the CI. These addresses point to the device-dependent portion of the KDB for that CI node. Defined in: SCAMPI | +-------------------------------------------------------+ / \ | SBLIST | Address of system block for node 0 | | | |-------------------------------------------------------| | | | Address of system block for node 1 | | | |-------------------------------------------------------| | | | | | | | . | | | | . | C%SBLL | | . | | | | | | | | | | | |-------------------------------------------------------| | | | Address of system block for node 15 | | | +-------------------------------------------------------+ \ / 337
MONITOR TABLES SCA CONNECTION BLOCK This is the format of the connection block used by SCA to keep the state of each connection which it is maintaining. Defined in: SCAPAR +=======================================================+ /|\ .CBANB=0 | Address of next connect block | | |-------------------------------------------------------| | .CBAPB=1 | Address of previous connect block | | |-------------------------------------------------------| | .CBSBA=2 | System block address | .CBLEN |-------------------------------------------------------| | .CBSBI=3 | CBDNOD | CBEXPR |* | | Destination node number | Expected response | | |-------------------------------------------------------| | .CBSTS=4 | CBBKST | CBCNST |* | | Connect block state | Connection state | | |-------------------------------------------------------| | .CBFLG=5 | Flags |* | |-------------------------------------------------------| | .CBSCI=6 | CBSCID | | | Source connect ID | | |-------------------------------------------------------| | .CBDCI=7 | CBDCID | | | Destination connect ID | | |-------------------------------------------------------| | .CBADR=10| SYSAP callback address | | |-------------------------------------------------------| | .CBBUF=11| CBIMB | CBIDB | | | Message buffers to queue | Datagram buffers to queue | | |-------------------------------------------------------| | .CBNWQ=12| Next entry on work queue | | |-------------------------------------------------------| | .CBSPN=13\ \ | \ Source process name \ | \ \ | |-------------------------------------------------------| | .CBDPN=17\ \ | \ Destination process name \ | \ \ | |-------------------------------------------------------| | .CBDTA=23\ \ | \ User supplied connect data \ | \ \ | |-------------------------------------------------------| | .CBREA=27| CBDDRE | CBSDRE | | | Dest. disconnect reason | Source disconnect reason | | 338
MONITOR TABLES SCA CONNECTION BLOCK (Cont.) |-------------------------------------------------------| | .CBMCD=30| CBMNSC | CBMNRC | | | Minimum send credit | Minimum receive credit | | |-------------------------------------------------------| | .CBSCD=31| Send credit | | |-------------------------------------------------------| | .CBRCD=32| Receive credit | | |-------------------------------------------------------| | .CBPRC=33| Pending receive credit | | |-------------------------------------------------------| | .CBRQC=34| Requeue credit | | |-------------------------------------------------------| | .CBRTC=35| Return credit | | |-------------------------------------------------------| | .CBNPO=36| CBNPO | CBRCNT | | | Packets on port command Q | Reaping postponed count | | |-------------------------------------------------------| | .CBDGR=37| Number of datagram buffers on hardware queue | | |-------------------------------------------------------| | .CBCDD=40| CBCDD | | | Number of dropped datagrams | | |-------------------------------------------------------| | .CBLCK=41| Interlock word for connect state | | |-------------------------------------------------------| | .CBPND=42| Interlock word for credit_request in progress | | |-------------------------------------------------------| | .CBJNB=43| CPJNB | | | Address of next connection block for this fork | | |-------------------------------------------------------| | .CBJPB=44| CPJPB | | | Address of previous connection block for this fork | | |-------------------------------------------------------| | .CBMGJ=45| CBMGJ | | | Number of SCS% message receive buffers queued | | |-------------------------------------------------------| | .CBDGJ=46| CBDGJ | | | Number of SCS% DG buffers queued | | |-------------------------------------------------------| | .CBFRK=47| CBFORK | CBJOB | | | Job number of owner job | Fork number of owner fork | | |-------------------------------------------------------| | .CBTMQ=50| Pointer to top of message available queue (for SCS%) | | |-------------------------------------------------------| | .CBBMQ=51| CBBMQ | | | Pointer to bot of message available queue (for SCS%) | | |-------------------------------------------------------| | .CBTDQ=52| CBTDQ | | | Pointer to top of datagram available queue (for SCS%) | | 339
MONITOR TABLES SCA CONNECTION BLOCK (Cont.) |-------------------------------------------------------| | .CBBDQ=53| CBBDQ | | | Pointer to bot of datagram available queue (for SCS%) | | |-------------------------------------------------------| | .CBTXQ=54| CBTXQ | | | Pointer to top of the DMA xfer complete queue | | |-------------------------------------------------------| | .CBBXQ=55| CBBXQ | | | Pointer to bot of the DMA xfer complete queue | | |-------------------------------------------------------| | .CBTEQ=56| CBTEQ | | | Pointer to top of the event queue | | |-------------------------------------------------------| | .CBBEQ=57| CBBEQ | | | Pointer to bot of the event queue | | |-------------------------------------------------------| | .CBTBQ=60| CBTBQ | | | Pointer to first buffer descriptor block | | |-------------------------------------------------------| | .CBBBQ=61| CBBBQ | | | Pointer to last buffer descriptor block | | |-------------------------------------------------------| | .CBPS0=62| CBPMG | CBPDG | | | PSI channel for messages | PSI channel for datagrams | | |-------------------------------------------------------| | .CBPS1=63| CBPDA | CBPEV | | | PSI channel for DMA | PSI channel for events | | +=======================================================+ \|/ +-------------------------------------------------------+ .CBSBI=3 | CBDNOD | CBEXPR | | Destination node number | Expected response | +-------------------------------------------------------| Contents of field CBEXPR Symbol Value Meaning .STORS 1 Connect response .STARS 3 Accept response .STRRS 5 Reject response .STDRS 7 Disconnect response .STCRS 11 Credit response 340
MONITOR TABLES SCA CONNECTION BLOCK (Cont.) +-------------------------------------------------------+ .CBSTS=4 | CBBKST | CBCNST | | Connect block state | Connection state | +-------------------------------------------------------+ Contents of field CBBKST Symbol Value Meaning .BSFRE 1 Free .BSALL 2 Allocate .BSCNP 3 Connect pending .BSACP 4 Accept pending .BSRPN 5 Reject pending .BSCRP 6 Credit pending .BSDPN 7 Disconnect pending Contents of field CBCNST Symbol Value Meaning .CSCLO 1 Closed (CLOSED) .CSLIS 2 Listening (LISTENING) .CSCSE 3 Connect request was sent (CONNECTSENT) .CSCRE 4 Connect request was received (CONNECTREC) .CSCAK 5 Connect response was received (CONNECTACK) .CSACS 6 Accept request was sent (ACCEPTSENT) .CSRJS 7 Reject request was sent (REJECTSENT) .CSOPN 10 Connection is open (OPEN) .CSDSE 11 Disconnect request was sent (DISCONNECTSENT) .CSDRE 12 Disconnect request received (DISCONNECTREC) .CSDAK 13 Disconnect response received (DISCONNECTACK) .CSDMC 14 Waiting for disconnect response (DISCONNECTMATCH) 341
MONITOR TABLES SCA CONNECTION BLOCK (Cont.) 0 13 14 35 +-------------------------------------------------------+ .CBFLG=5 | Flags | Reserved | +-------------------------------------------------------+ Symbol Bits Contents CBFNNC 0 Needs credit notify CBFJSY 1 CB is for SCS% conn CBFABT 2 CB has been aborted CBFRAP 3 CB is to be reaped CBFDCL 4 This was DC listener CBFKIL 5 Fork has been killed CBFMDC 6 Maint data CB CBFCVC 7 Virtual circuit was closed CBFSOB 8 Stuck on buffers CBFPTC 9 Protocol completed CBFERR 10 SC.ERR deferred CBFDIS 11 SC.DIS deferred CBFDRQ 12 SC.DRQ deferred CBFSNM 13 SC.SNM deferred 342
MONITOR TABLES | SCA BUFFER RETURNED TO CLUDGR | | This SCA message buffer gives CLUDGR the flexibility to be used for | other functions, that can be added as they are needed. The buffer has | the following setup for CLUDGR: | | Defined in: CLUPAR | | | SCA buffer returned to CLUDGR (.SSMGR) | | +---------------------------------------------------+ | | | | | Invisible SYSAP header | | \ \ | +---------------------------------------------------+ | .CLFLI -1 | Word used by CLUDGR to link SCA buffer together | | +---------------------------------------------------+ .PKFLI +>| | 0 ------+ | SCA and port header area | \ \ +---------------------------------------------------+ .MHPKL | Packet length | +---------------------------------------------------+ .MHUDA 0 | Packet # in group | # of packets total | | (.CLPKT) | (.CLTPK) | +---------------------------------------------------+ CLDFLG 1 | Flags (described below)| Remote request number | | (.CLFLG) | (.CLREQ) | +---------------------------------------------------+ CLDFUN 2 | Function code | Pointer to CLDATA | | (.CLFUN) | (.CLPTR) | +---------------------------------------------------+ CLDFRK 3 | Fork number | CI node to reply | | (.CLFRK) | (.CLNOD) | +---------------------------------------------------+ CLDUSR 4 | User number who requested this function | | (.CLUSR) | +---------------------------------------------------+ | Number of words needed to reassemble SCA buffers | CLDLEN 5 | (.CLLEN) | +---------------------------------------------------+ CLDATA 6 \ Function specific data \ \ \ +---------------------------------------------------+ 343
MONITOR TABLES SCA BUFFER RETURNED TO CLUDGR (Cont.) CLDFLG Flags (Word 1) Symbol Bits Description CL%REQ 0 1=local CLUDGR to perform requested function 0=remote request CL%PRV 1 1=remote user has WHEEL or OPERATOR privileges enabled CL%GAL 2 1=remote process is a GALAXY component CL%ERR 3 1=remote system error for the given function 4-17 Unused 344
MONITOR TABLES SCA RING BUFFER ENTRY The SCA ring buffer is present in the monitor only if the monitor has been built with the flags DEBUG and SCARNG non-zero. These flags are found in PROLOG.MAC. Also, the bits that are set in the location RNGSW ultimately controls which events get recorded in the ring buffer. The following is the format of an SCA ring buffer entry. The symbols given are not offsets into the entire ring buffer. They are offsets into a particular ring buffer entry. The pointer to the current ring buffer position is stored in RNGADR and the address of the most recent ring buffer entry is stored in RNGCUR. The top of the ring buffer is stored in RNGTOP and the bottom address is in RNGBOT. The total number of entries written is in RNGNUM and the total size of the ring buffer is in RNGSIZ. Defined in: SCAPAR +=======================================================+ .REHED=0 | RNGHED | | Entry header (-77,,-77) | |-------------------------------------------------------| .REECL=1 | RNGEVC | RNGLEN |* | Event code | Length of entry | |-------------------------------------------------------| .REJRL=2 | Jacket routine label | |-------------------------------------------------------| .REFRL=3 | Feature routine label | |-------------------------------------------------------| .REPCC=4 | PC of caller to feature routine | |-------------------------------------------------------| .RETOD=5 | TODCLK | |-------------------------------------------------------| .REFEA=6 \ \ \ Feature specific data \ \ \ |-------------------------------------------------------| | Address of start of this entry | +=======================================================+ 345
MONITOR TABLES SCA RING BUFFER ENTRY (Cont.) +-------------------------------------------------------+ .REECL=1 | RNGEVC | RNGLEN | | Event code | Length of entry | +-------------------------------------------------------+ Contents of field RNGEVC Symbol Value Meaning SYSSCA 1 SYSAP to SCA events SCASYS 2 SCA to SYSAP BUFMAN 3 Buffer manipulation PKTEVT 4 Packet transaction PITRAN 5 PI transition PORTQU 6 Port queue manipulation INTLOK 7 Interlocks Contents of RNGSW - the flag word which controls event recording Symbol Bit Meaning RSYSCA 0 Record SYSAP to SCA events RSCASY 1 Record SCA to SYSAP events (callbacks) RBUFMG 2 Record buffer management events RPACKT 3 Record packet events (outgoing and incoming) RPITRN 4 Record PI transitions RPRTQU 5 Record port queue events RINTLK 6 Record interlocks SCA ring buffer entry--Feature data (SYSSCA) Below is the format of the feature specific data for the SYSAP to SCA ring buffer entry. +=======================================================+ .RESNN=6 | Node number | |-------------------------------------------------------| .RESCB=7 | Connect block address | |-------------------------------------------------------| .RESST=10 | .CBSTS (Block state,,Connect state) | |-------------------------------------------------------| .RESFL=11 | .CBFLG | |-------------------------------------------------------| .RESSI=12 | .CBSCI (Source connect ID) | |-------------------------------------------------------| .RESDI=13 | .CBDCI (Destination connect ID) | +=======================================================+ 346
MONITOR TABLES SCA RING BUFFER ENTRY (Cont.) SCA ring buffer entry--Feature data (SCASYS) Below is the format of the feature specific data for the SCA to SYSAP (callback) ring buffer entry. +=======================================================+ .RECNN=6 | Node number | |-------------------------------------------------------| .RECCB=7 | Connect block address | |-------------------------------------------------------| .RECCR=10 | Callback reason code | +=======================================================+ SCA ring buffer entry--Feature data (BUFMAN) Below is the format of the feature specific data for the buffer manipulation ring buffer entry. The .REBCT word can contain one of three values. If the buffer is being returned, .REBCT contains a -1. If the buffer is being created or allocated and it has been obtained successfully, .REBCT contains the number of buffers. If the allocation was not successful, .REBCT contains the number of refused requests (RMRCNT for messages, RDRCNT for datagrams). Also, on an unsuccessfull allocation attempt, the .REBAD word contains -1 since no buffer was allocated. Otherwise, this word always contains a buffer address, which is either the address of a newly created/allocated buffer chain or the address of a buffer just returned. +=======================================================+ .REBCT=6 | # of Buffers, or refused count, or -1 if returned | |-------------------------------------------------------| .REBAD=7 | Address of 1st buffer or -1 if can't allocate | |-------------------------------------------------------| .REBMC=10 | FQCNT (number of buffers on message free queue) | |-------------------------------------------------------| .REBMT=11 | TOPFQ (pointer to top of message free queue) | |-------------------------------------------------------| .REBMB=12 | BOTFQ (pointer to bottom of message free queue) | |-------------------------------------------------------| .REBDC=13 | DFQCNT (number of buffers on datagram free queue) | |-------------------------------------------------------| .REBDT=14 | TOPDFQ (pointer to top of datagram free queue) | |-------------------------------------------------------| .REBDB=15 | BOTDFQ (pointer to bottom of datagram free queue) | +=======================================================+ 347
MONITOR TABLES SCA RING BUFFER ENTRY (Cont.) SCA ring buffer entry--Feature data (PKTEVT) Below is the format of the feature-specific data for the packet transaction ring buffer entry. The flags word contains the PPD flag bits (F.RTB, F.SPM, F.RSP). F.RSP tells you whether the packet was locally or remotely generated (F.RSP) and indicates which connect ID is the one from the local system. The mode of the packet is indicated by F.SPM. The message priority is the priority of the packet and ranges from a high priority of 0 to a low of 3. +=======================================================+ .REPNN=6 | Node number | |-------------------------------------------------------| .REPCB=7 | Connect block address | |-------------------------------------------------------| .REPAD=10 | Packet address | |-------------------------------------------------------| .REPFL=11 | Flags | |-------------------------------------------------------| .REPMP=12 | Message priority | Packet length | |-------------------------------------------------------| .REPTY=13 | MH$TYP (credit,,message type) | |-------------------------------------------------------| .REPSI=14 | MH$SCI (Source connect ID) | |-------------------------------------------------------| .REPDI=15 | MH$DCI (Destination connect ID) | +=======================================================+ SCA ring buffer entry--Feature data (PITRAN) Below is the format of the feature specific data for the PI transition ring buffer entry. +=======================================================+ .REPIC=6 | CHNCTL | |-------------------------------------------------------| .REPIF=7 | PIFLAG | +=======================================================+ 348
MONITOR TABLES SCA RING BUFFER ENTRY (Cont.) SCA ring buffer entry--Feature data (PORTQU) | Below is the format of the feature specific data for the port queue | manipulation ring buffer entry. +=======================================================+ .REPQN=6 | Node number | |-------------------------------------------------------| .REPQF=7 | Flags | Buffer count |* |-------------------------------------------------------| .REPQB=10 | Buffer address | +=======================================================+ +-------------------------------------------------------+ .REPQF=7 | Flags | Buffer count | +-------------------------------------------------------+ Contents of flags field Symbol Bit Meaning RPQFLK 0 Link to port queue RPQFMG 1 Message free queue used SCA ring buffer entry--Feature data (INTLOK) Below is the format of the feature specific data for the interlock ring buffer entry. +=======================================================+ .REICB=6 | Connect block address | |-------------------------------------------------------| .REICL=7 | Connect block lock value (.CBLCK) | |-------------------------------------------------------| .REIFL=10 | Connect block flags (.CBFLG) | |-------------------------------------------------------| .REISL=11 | Count of locked connect blocks on system block | +=======================================================+ 349
MONITOR TABLES SCDB The MSCP Server Connection Data Block, which SCDBTB points to. Defined in: PHYMVR +-------------------------------------------------------+ .SVCIS=0 | Status of connection | * |-------------------------------------------------------| .SVCID=1 | Connect ID | . |-------------------------------------------------------| .SVTMO . | Time of last message | . |-------------------------------------------------------| .SVTV | Time-out interval set by driver | |-------------------------------------------------------| .SVCMD | Head of command queue | |-------------------------------------------------------| .SVSCL | Last SCA error location | |-------------------------------------------------------| .SVSCE | Last SCA error code | |-------------------------------------------------------| .SVCME | Tail of command queue | +-------------------------------------------------------+ 0 5 6 35 +-------------------------------------------------------+ .SVCIS | | | +-------------------------------------------------------+ Symbol Bits Meaning SVSTA 0-5 State of the connection, which can be: SCLIS==0 Null or listening. NOTE: Must be state 0 SCWOK==1 Waiting for OK to send SCOKS==2 OK to send SCDIS==3 Shutdown - Disconnect (SCA function .SSRID) SCNOF==4 Shutdown - Node offline (SCA function .SSNWO) SCPBC==5 Shutdown - Port error (SCA function .SSPBC) SCFSD==6 Shutdown - Due to internal error or protocol MCATN 6 Attention messages enabled 350
MONITOR TABLES SCDBTB Table of pointers to MSCP server connection data blocks. Defined in: STG +-------------------------------------------------------+ SCDBTB: | Address of server connection data block | /|\ | | | | | | | | CFSNUM | | | | | | \ \ \|/ +-------------------------------------------------------+ 351
MONITOR TABLES SCHED-VARIABLES This storage contains the variables used in the SCHED module. It contains pointers to the GOLST and to the wait lists. Clock and other parameters needed are also contained. Defined in: STG, SCHED, APRSRV Format +-------------------------------------------------------+ SKDPDL: | Scheduler local PDL | / \ | | NSKDP | | | =700 \ \ \ / +-------------------------------------------------------+ SCKATM: | Alarm time - min. of all SCHED clocks | +-------------------------------------------------------+ OLDTCK: | Alarm time - old time - used to calculate interval | +-------------------------------------------------------+ PISC7R: | | / \ | | 4 | | | \ \ \ / +-------------------------------------------------------+ PI7AC1: | Temps at PISC7 | / \ | | 2 | | \ / +-------------------------------------------------------+ ALARMT: | Min. time of forks on clklst | +-------------------------------------------------------+ SKDTHS: | Time in SCHED so far this pass | +-------------------------------------------------------+ SKDLST: | Last reading of HP clock | +-------------------------------------------------------+ SKDLRT: | Runtime of last trip thru scheduling cycle | | +-------------------------------------------------------+ | NULJBF: | Non-zero if running null job | +-------------------------------------------------------+ SNPSV1: | Place to save AC while ck'ing PC for SNOOP break pt. | +-------------------------------------------------------+ LSTPFK: | Last Fork Scheduled | +-------------------------------------------------------+ LFORKX: | Last Fork Before Background Tasks | +-------------------------------------------------------+ FORKX: | Index of currently running fork | +-------------------------------------------------------+ FREJOB: | Pointer to list of free jobs | +-------------------------------------------------------+ WTLST: | Pointer to waiting fork list | 352
MONITOR TABLES SCHED-VARIABLES (Cont.) +-------------------------------------------------------+ WT2LST: | Pointer to waiting forks to be waked by UNBLK1 | +-------------------------------------------------------+ TTILST: | Pointer to list of forks waiting for TTY input | +-------------------------------------------------------+ TTOLST: | Pointer to list of TTY output events | +-------------------------------------------------------+ FRZLST: | Pointer to list waiting for unfreezing | +-------------------------------------------------------+ TRMLST: | Pointer to list waiting for inferior fork termination | +-------------------------------------------------------+ CLKLST: | Pointer to list waiting for Clock | +-------------------------------------------------------+ JTLST: | JSYS traps queue | +-------------------------------------------------------+ JTLSTL: |Linked list of forks wait on JTLCK to PSI some mon fork| +-------------------------------------------------------+ GOLST: | Pointer to runnable fork list | +-------------------------------------------------------+ JB0FLG: | Run JOB 0 request | +-------------------------------------------------------+ FRECB: | Free core number bits | +-------------------------------------------------------+ FREFK: | List of free forks | +-------------------------------------------------------+ SYSIFG: | System has been initialized if not 0 | +-------------------------------------------------------+ PWRDWN: | Power failure detected if .g. 0, done if .l. 0 | | +-------------------------------------------------------+ | SPWFFL: | Spurious power fail if -1, restart if 0 | +-------------------------------------------------------+ RLODPC: | PCs for keep alive reload | / \ | | 4 | | | \ \ \ / +-------------------------------------------------------+ FPTABL: | PAGEM dispatch for section numbers | / \ | | | HGHSEC | | +1 \ \ \ / +-------------------------------------------------------+ NBPROC: | Number of processes in balance set | +-------------------------------------------------------+ NBWT: | Number waiting processes in balance set | +-------------------------------------------------------+ NBSWP: | Number of forks in swap wait | | +-------------------------------------------------------+ | NHOLDF: | Number of forks in balance set mold | +-------------------------------------------------------+ MAXBP: | Max number of jobs in balance set | 353
MONITOR TABLES SCHED-VARIABLES (Cont.) +-------------------------------------------------------+ BSQNT0: | Value of BSQNT at start of last running | +-------------------------------------------------------+ SUMNR: | Sum of reserve pages, all processes in memory | +-------------------------------------------------------+ SUMBNR: | Sum of working sets in balance set | +-------------------------------------------------------+ NWSEPG: | Number pages WSETs entering memory | +-------------------------------------------------------+ BALSHC: | Count of pages in balance set because of sharing | +-------------------------------------------------------+ NXTCNF: | Next fork to check - GCNO | +-------------------------------------------------------+ RELCB: | Mask of core numbers released but not cleared | +-------------------------------------------------------+ MAXNR: | Max value of SUMNR | +-------------------------------------------------------+ MAXHNR: | Max NR of balance set holding forks | +-------------------------------------------------------+ BSLST: | Pointer to list of balance set holding forks | +-------------------------------------------------------+ NBSL: | Number of balance set holding forks | +-------------------------------------------------------+ NEBAL: | Number of processes now entering balance set | +-------------------------------------------------------+ REMFGS: | Flags set on REMBSJ/REMBSF | +-------------------------------------------------------+ NPMAX: | Max number of pages in core for one proces | +-------------------------------------------------------+ SNPMAX: | Small NPMAX for loaded conditions | +-------------------------------------------------------+ IRJAV: | Nearest integer to RJAV | +-------------------------------------------------------+ WSMTIM: | Time for next WSMGT | +-------------------------------------------------------+ RWSOKF: | Flag - OK to do REMWS | +-------------------------------------------------------+ NWSMEM: | Number WS in mem | +-------------------------------------------------------+ NHQFK: | Number forks on non-maxq | +-------------------------------------------------------+ NLQFK: | Number forks on maxq | +-------------------------------------------------------+ SCHFLG: | Permanent scheduling flags | +-------------------------------------------------------+ SKEDF1: | Start process by way of CH7 break in 1 | +-------------------------------------------------------+ SKEDF3: | Process clock counted to 0 | +-------------------------------------------------------+ SKEDFC: | Force clear of balance set and memory | 354
MONITOR TABLES SCHED-VARIABLES (Cont.) +-------------------------------------------------------+ INSKED: | In scheduler if non-zero | +-------------------------------------------------------+ SSKED: | Last job running was NOSKED | +-------------------------------------------------------+ SETPAG: | Temp for setting pager at SCDR | +-------------------------------------------------------+ RSKCHK: | XPCW destination | / \ | | 4 | | | \ \ \ / +-------------------------------------------------------+ PSKED: | Page transfer completed and dismiss job | | +-------------------------------------------------------+ QSKED: | Blocked fork now unblocked if .g. 0 | +-------------------------------------------------------+ TSKED: | TTU output event if non-zero | +-------------------------------------------------------+ BSKED: | Fork voluntarily left balance set if .g. 0 | +-------------------------------------------------------+ NGOJOB: | Number of runnable jobs | +-------------------------------------------------------+ RJTTIM: | Time at last update to RJTSUM | +-------------------------------------------------------+ RJATIM: | Time of next RJAV update | +-------------------------------------------------------+ RJAVS1: | RJTSUM at last RJAV update | +-------------------------------------------------------+ SKDFST: | Minimize processing for fork scheduling | +-------------------------------------------------------+ BKIDLF: | Flags in Background, | | Charging IDLE | |-------------------------------------------------------| IDLFUG: | IDLE time (ms) for | | Any Overflow of SKDIDL | |-------------------------------------------------------| GOLPWC: | Number of wait credit boosts after BSWT | +-------------------------------------------------------+ SKDSHS: | Number of BKGND1 cycles | | +-------------------------------------------------------+ | SKDSHQ: | Number of bad background decisions | +-------------------------------------------------------+ SKDBRM: | Number of DISMT removals | +-------------------------------------------------------+ SKDBSK: | Number of DISMT successes | +-------------------------------------------------------+ MXQNB0: | Number of forks on MAXQ after NEWST3 | +-------------------------------------------------------+ MXQGB0: | Subset of MXQNB0 that got special boost | 355
MONITOR TABLES SCHED-VARIABLES (Cont.) | +-------------------------------------------------------+ / \ | SKDSHN: | Count of times routine in SKDSHK | | | | changes NGOJOB | NSHAKL | \ \ \|/ +-------------------------------------------------------+ RJAVS2: | HQFSUM at last RJAV update | +-------------------------------------------------------+ RJAVS3: | LQFSUM at last RJAV update | +-------------------------------------------------------+ BSQNT: | Running job remaining quantum | +-------------------------------------------------------+ TIM1: | SCHED fast clock | +-------------------------------------------------------+ TIM2: | Second clock | +-------------------------------------------------------+ FKT0: | Clock at start of running | +-------------------------------------------------------+ FKT1: | Time used since SETRT | +-------------------------------------------------------+ TIM0: | TODCLK atlast C1STAT | +-------------------------------------------------------+ TODCLK: | Millisecond clock, monotonically increasing | +-------------------------------------------------------+ TODPWL: | Time of day (in seconds) by power line clock | +-------------------------------------------------------+ CHKTIM: | Time at which JOB 0 considered overdue | +-------------------------------------------------------+ CHKDUE: | Count of consecutive overdues for JOB 0 | +-------------------------------------------------------+ DDPTIM: | Time at which DDMP considered overdue | +-------------------------------------------------------+ DDPDUE: | Count of consecutive overdues for DDMP | +-------------------------------------------------------+ SCDRN1: | Run only job N if n .g. -1 | +-------------------------------------------------------+ 356
MONITOR TABLES SCOUNT Subsystem Counts. Each entry contains a count of times each subsystem is invoked. This table is parallel to SNAMES. Defined in: STG Format +-------------------------------------------------------+ / \ SCOUNT: | Count | | |-------------------------------------------------------| | | | | | | | | | | | | | | | NNAMES | | | | | | | | | | | | +-------------------------------------------------------+ \ / 357
MONITOR TABLES SDB Structure Data Block. This block, one per structure, contains information about the structure's units, master directory (that is, Root-Directory), bit map for disk page allocation/deallocation, and assigned swapping area. It also contains mount and open-file information. SDBBLO is the name of the storage area reserved for handling the SDB for the Public Structure (PS). Individual Structure Data Blocks are pointed to by slots in STRTAB. Defined in: STG Format +-------------------------------------------------------+ | STRNAM | SDBNAM=0| Structure Name (in SIXBIT) | |-------------------------------------------------------| | STRNUM | SDBNUM=1| Number of Units in Structure | .|-------------------------------------------------------| .| STRSIZ | SDBSIZ .| Size (in sectors) of Each Unit in Structure | |-------------------------------------------------------| | STRSTS | STRJB |* SDBSTS | Status Flags | Initing Fork Number | |-------------------------------------------------------| | STRRXB | SDBRXB | Address of Root Directory Index Block | |-------------------------------------------------------| | STRBXB | SDBBXB | Address of Backup Copy of Root Directory Index Block | |-------------------------------------------------------| | STRNSS | SDBNSS | Number of Swapping Sectors per Unit | |-------------------------------------------------------| | STRFSS | SDBFSS | First Swapping Sector per Unit | |-------------------------------------------------------| | STRBTB | SDBBTB | OFN of Bit Table | |-------------------------------------------------------| | STRFC | SDBFRC | Count of Free Pages on Structure | |-------------------------------------------------------| | STRRDO | STRIDX | SDBIDX | OFN of Root Directory | Handle of Index Table | |-------------------------------------------------------| | STRLDN | SDBLDN | Last Directory Number on This Structure | 358
MONITOR TABLES SDB (Cont.) |-------------------------------------------------------| | STRLCA | SDBLCA | Last Cylinder Assigned by DSKASN | |-------------------------------------------------------| | STRCYL | SDBCYL | Total Cylinders in Structure | |-------------------------------------------------------| | STRB0 | SDBBT0 | Length of Top Half of Bit Table | |-------------------------------------------------------| | STRB1 | SDBBT1 | Length of Bottom Half of Bit Table | |-------------------------------------------------------| | STRTYP | SDBTYP | Address of DSKSIZ Table for This Type of Disk | |-------------------------------------------------------| | STRUC |STRUS| STRLK | SDBFLK | Unique Code in SDB |Str #| File Lock Count | |-------------------------------------------------------| | STRMC | STROF | SDBCNT | Mount Count | Open File Count | |-------------------------------------------------------| | STRMI | SDBPUC | Pack Unique Code for Media Identification | |-------------------------------------------------------| SDBOMF | | | Original Minimum Free Page Limit | |-------------------------------------------------------| SDBMXF | | | Boundary Above Which SDBMFP=SDBOMF | |-------------------------------------------------------| SDBMFP | | | Min. Free Pgs. below which DSKASA Changes | | Assignment Algorithm | |-------------------------------------------------------| SDBALS | Alias name | |-------------------------------------------------------| SDBTMR | STRTMR | | Structure Offline Timer | |-------------------------------------------------------| / \ | STRUDB | | SDBUDB | Flags Pointer to UDB | | | . | . | MXSTRU | . | . | | \ . | . \ | +-------------------------------------------------------+ \ / 359
MONITOR TABLES SDB (Cont.) 0 27 35 +-------------------------------------------------------+ SDBSTS | STRSTS | STRJB | | Structure Status Flags | Initializing Job # | +-------------------------------------------------------+ Symbol Bits Pointer Content MS%PS 0 STPS Structure is login structure MS%DIS 1 STDIS Structure is being dismounted MS%DOM 2 STDOM Structure is domestic MS%PPS 3 Protected Permanent Structure MS%INI 4 Structure is being initialized MS%LIM 5 Structure is limited MS%NRS 6 STNRS Structure is not regulated MS%RWS 7 Read after write for swapping MS%RWD 8 Read after write for data MS%ASG 9 Disk assignments are prohibited (Bit table is bad) MS%MXB 10 Bit table too large for monitor address space MS%CRY 11 Enable password encryption MS%IDT 12 Enable password invalidation by date MS%IUS 13 Enable password invalidation by use | MS%DMP 14 Structure is dumpable | MS%EXC 15 STEXL Exclude structure from multi-system access MS%IDX 16 STIDX Index table file OFN has been set up MS%CRD 17 STCRD Creating Root Directory on this Structure MS%OFS 18 STOFS Structure is offline MS%BS 19 STBS Structure is boot structure 20-26 Reserved for future expansion 27-35 STRJB Initializing job (only legal user while structure is being initialized) 360
MONITOR TABLES SG-LLINKS The SG structure is used by DECnet for extracting the SEGNUM field from an NSP header. Defined in: LLINKS Format The SEGNUM field in an NSP header | 24 35 +------------------------------------------------------------------------+ | | | | | SGNUM | | | | | | Segment number | * +------------------------------------------------------------------------+ Field SGDLY (21-21) ACK DELAY allowed Field SGMBZ (22-23) Must be zero 361
MONITOR TABLES SJ SJ is the DECnet Session Control Job Block -- SJ. There is one Session Control Job Block for every job with an open logical link on the system. Defined in: D36PAR Format Session Control Job Block +------------------------------------------------------------------------+ SJNXT | Next job block in system | |------------------------------------------------------------------------| SJCHT | Ptr to SLB table (indexed by channel) | |------------------------------------------------------------------------| SJCHC | Count of spaces allocated in SLB table | |------------------------------------------------------------------------| SJPSJ | Pointer to system's pointer to the SJB | |------------------------------------------------------------------------| | | | | SJFRK | SJCTA | * | SJFLG |(T20)Fork number |Number of CI timers active for job | |------------------------------------------------------------------------| /\ SJSLT | Initial SLB table | SLT.LN \ \ \/ |------------------------------------------------------------------------| /\ SJTXQ | Transaction queue of LLINKS calls | QH.LEN \ \ \/ |------------------------------------------------------------------------| /\ SJPSQ | Queue of SLBs with PSIs outstanding | QH.LEN \ \ \/ |------------------------------------------------------------------------| | SJGOL | SJINQ | | Input data request goal | Job input quota | |------------------------------------------------------------------------| | SJOTQ | SJINU | | Job output quota |Buffers used toward input quota by | | | job | |------------------------------------------------------------------------| | SJOTU | | | Buffers used toward output quota | | | by job | | |------------------------------------------------------------------------| SJSAB | SA block pointer | |------------------------------------------------------------------------| SJPRT | (T20)Pointer to the port indirect table | |------------------------------------------------------------------------| SJMXP | (T20)Number of slots in port table | +------------------------------------------------------------------------+ For field SJFLG(0-8): SJBLK 0 (T20)This fork is blocked SJRST 1 Reset in progress 362
MONITOR TABLES SL This is the DECnet Session Control Link Block. It contains all the per-logical link data. Defined in: D36PAR Format Session control link block +------------------------------------------------------------------------+ SLASQ | Next SLB on all SLBs queue | |------------------------------------------------------------------------| SLNXP | Next SLB with active PSI | |------------------------------------------------------------------------| SLJFQ | Next SLB with active jiffy request | |------------------------------------------------------------------------| SLSLB | Check pointer to this SLB | |------------------------------------------------------------------------| SLSJB | Pointer to job block (SJB) | |------------------------------------------------------------------------| SLCHN | Channel number (starts at 1) | |------------------------------------------------------------------------| | SLDOB | SLSOB | | Destination object type | Source object type | |------------------------------------------------------------------------| | | | | | | | | | | | | | SLSTA | | | | | | SLFLG | Session |SLXFL|SLRFL| | * | | control | | | | | | state | | | | |------------------------------------------------------------------------| | SLGOL | SLINQ | | Receive data request goal | Input quota for link | |------------------------------------------------------------------------| | SLOTQ | SLINU | | Output quota for link | Input buffers in use | |------------------------------------------------------------------------| | SLOTU | SLSST | | Output buffers in use | Link status word | |------------------------------------------------------------------------| | SLPSM | | | The PSI mask | | |------------------------------------------------------------------------| /\ SLNSL | "Normal" sublink | SS.LEN \ \ \/ |------------------------------------------------------------------------| /\ SLOSL | "Other" sublink | SS.LEN \ \ \/ 363
MONITOR TABLES SL (Cont.) |------------------------------------------------------------------------| | SLDRR | SLRSN | | Normal data requests to resend at | Reason code of disconnect or | | clock level | reject (16 bits) | |------------------------------------------------------------------------| SLPID | NSPpid of port | |------------------------------------------------------------------------| | SLDNA | SLSIZ | | Destination node address | Segment size in bytes | |------------------------------------------------------------------------| SLCTM | Connect initiate timer | |------------------------------------------------------------------------| SLWKA | Address of wakeup routine | |------------------------------------------------------------------------| SLCDM | Ptr to connect/disconnect message | |------------------------------------------------------------------------| SLCBP | Pointer to connect block for passive task | |------------------------------------------------------------------------| SLOTM | Ptr to partially filled output message | |------------------------------------------------------------------------| SLUID | Serial number - for stale detection | |------------------------------------------------------------------------| | SLBYS | SLBYR | | User bytes sent | User bytes received | |------------------------------------------------------------------------| | SLPKS | SLPKR | | Packets sent out | Packets recieved | +------------------------------------------------------------------------+ For field SLFLG(0-17): SLCCB 0 Check connect block SLKCB 1 Keep connect block for life of link SLPSI 2 PSI pending flag SLPH2 3 Phase II has no resend capability SLABO 4 Trying to close after abort & release SLFSL 5 Free the SLB when done with all processing SLBSY 6 SLB is busy (cannot be freed) SLLBC 7 Link is being closed by NSP SLJFR 8 Jiffy request outstanding SLEOM 9 Last segment output was end of message SLPAS 10 Set if this SLB belongs to a passive task Field SLXFL (24-26) Transmit flow control option Field SLRFL (27-29) Receive flow control option 364
MONITOR TABLES SN SN is the common portion of the NI Send Datagram command block for both BSD and non-BSD style sends. Defined in: PHYKNI Format | +------------------------------------------------------------------------+ | | |20 SNTXL 35| | | | Text Length (bytes) | | |------------------------------------------------------------------------| | | |16 SNPTY 31| | | | | Protocol Type | | | |------------------------------------------------------------------------| SNFRQ | Free queue header address | |------------------------------------------------------------------------| SNHAD | High order address | |------------------------------------------------------------------------| SNLAD | Low order | +------------------------------------------------------------------------+ 365
MONITOR TABLES SNAMES Subsystem Names. Each entry contains a subsystem program name. Defined in: STG Format +-------------------------------------------------------+ / \ SNAMES: | SIXBIT/Name/ | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NNAMES | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 366
MONITOR TABLES SNBLKS Subsystem Blocks. Each entry contains the number of blocks for a subsystem program. This table is parallel to SNAMES. Defined in: STG Format +-------------------------------------------------------+ / \ SNBLKS: | Number of Blocks | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NNAMES | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 367
MONITOR TABLES SPFLTS Subsystem Page Faults. Each entry contains the accumulated number of page faults of a subsystem program. This is a parallel table to SNAMES. Defined in: STG Format +-------------------------------------------------------+ / \ SPFLTS: | Accumulated Page Faults | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NNAMES | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 368
MONITOR TABLES SPT Special Pages Table. This table is pointed to by the firmware's SPT Base Register (an AC in an AC Block reserved for hardware/firmware registers) which is setup by the monitor at system initialization time. It is referenced directly by the paging firmware (bits 12-35 only) when virtual to physical address translation takes place and shared and indirect pointers are involved. The first part of the table (of length NOFN) is used to point to index blocks in memory (or swapping area) for open files and an index into this part is often referred to as an OFN (Open File Number). The remainder of the table is used to point to PSBs, JSBs, UPTs, UPTAs, (User Page Map Tables), and shared file pages. The ALOCX value in the OFN area is used as an index into the allocation tables (ALOC1 & ALOC2) to obtain information about the directory of the open file, (that is, pages left in quota). The share count in the non - OFN area is indexed for each sharing of the page. Unused SPT slots are kept in a free list. Location FRESPT contains a pointer to the head of the free list. Defined in: STG, PROLOG Format +-------------------------------------------------------+ SPT: |0 ALOCX 11|12 STGADR 35| / \ / \ | Index into | Storage Address | | | | Allocation TBL | (Index Block Page) | | | |-------------------------------------------------------| | | . | OFN # | | . | | | . | | | | . | | | \ \ \ / | |-------------------------------------------------------| | SPTSHC 11|12 STGADR 35| SSPT | Shared Count | Storage Address | (2560) | | (Shared File Pg/Ovhd Pg/Page of | * | | another Pg Tbl | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | \ \ | +-------------------------------------------------------+ \ / 369
MONITOR TABLES SPT (Cont.) Storage Address Symbol Bits Pointer Contents 12-35 STGADR Storage address (Interpretation follows) NCORTM 12-17 Non-Core Test Mask yielding type of storage. Bits <12-17>=0 => Bits <18-35>=Memory Pg Adr. Bits <12-17> 0 => Bits <18-35>=Drum/DSK Adr. DSKAB 14 Storage address is a disk address DSKNB 15 Temporary bit used with DSKAB to say that disk address is newly assigned. DRMAB 16-17 Storage address is a drum address DRMOB 17 Used with DRMAB to indicate that the swapping area has overflowed to the disk file system. (Since TOPS-20 cur- rently uses only the disk file system for swapping, a drum storage address always has bits 16 17 set.) UAABC 17&35 Temporary bit used by the monitor's page trap handler when a copy-on-write page trap has occurred. If the page to be copied is a drum address, it is faulted in before these bits are used, avoiding conflict over bit 17. These bits signify to a lower level routine, SWPIN, that the page just gotten from the free list has no backup address and that it is to get a copy of another page. 370
MONITOR TABLES SPTD This table is parallel to the OFN area of the SPT table and contains the count and address of preallocated pages for an OFN. The system may preallocate pages for an OFN to reduce assignment overhead. | Defined in: STG, PROLOG Index: OFN Number +--------------------------------------------------------+ / \ |0 SPTCT 11|12 Storage Address 35| | | Preallocation count | of next preallocated page | | |--------------------------------------------------------| | | . | NOFN |---------------------------.----------------------------| | | . | | |---------------------------.----------------------------| | | . | \ / +--------------------------------------------------------+ 371
MONITOR TABLES SPTH Special Pages Table Home Information. This table, parallel to the SPT table is referenced only by the software and is divided into two parts. The first part, indexed by OFN, is used to point to the home address of each open file (that is, to its index block) and to hold status information about each OFN. The second part is used mainly to show the page's origin. For a shared file, this is indicated by OFN ,, Page Number , where page number is within open file, OFN. For PSBs, JSBs, and UPTs, the SPTH word contains 0 ,, Fork Index. The free slots in this part are on a list chained through the SPT where the free list pointer resides in FRESPT. | Defined in: STG, PROLOG Format +-------------------------------------------------------+ SPTH: | Flags |Home (DSK)Address of Index Block |* / \ / \ |-------------------------------------------------------| | | | . | | | | . | OFN # | | . | | | | . | | | \ . \ \ / | |-------------------------------------------------------| | | OFN | Page Number | SSPT |-------------------------------------------------------| | | or | | |-------------------------------------------------------| | | 0 | Fork Index | | |-------------------------------------------------------| | | . | | \ . \ | +-------------------------------------------------------+ \ / 0 1 2 3 4 5 6 7 8 9 0 1 2 3 14 35 SPTH +-------------------------------------------------------+ OFN | | | | | | | | | | | | | | Address of Index Block | entry +-------------------------------------------------------+ 372
MONITOR TABLES SPTH (Cont.) Symbol Bits Content | FILUB 0 Unrestricted bit FILWB 1 File write bit in SPTH and ASOFN argument THAWB 2 Thawed bit FILNB 3 "File new" bit | SPTLKB 4 OFN is locked against modification OFNWRB 5 OFN has been modified OFNBAT 6 Index block contains a bad block OFNERR 7 Error in file (that is, MPE) OFNDMO 8 OFN is on a dismounted structure OFNDUD 9 Suppress DDMP OFN2XB 10 Second level XB | OFNLAC 11 Lost access to this cached OFN If a file is OPENed with thawed access (OF%THW), then both FILWB and THAWB is set to 1. If OPENed with restricted access, then the THAWB bit is on and the FILWB is off. NOTE A file is opened by searching the OFN part of SPTH for the index block address. If the address is found and the write and thawed bits are legal, it is a shared opening and the same index is used. If the address is not found, a new entry is made from one of the free (-1) slots in SPTH. 373
MONITOR TABLES SPTO Special Pages Table O. This table is parallel to the OFN area of the SPT table and contains the structure number and open file share count for each open file. The OFN share count is indexed for each opening of the file and for each shared page within the open file. | Defined in: STG, PROLOG Index: OFN Number Format +-------------------------------------------------------+ / \ | OFNSHC | STRX |* | SPTO: | OFN Share Count | Structure # | | |-------------------------------------------------------| | | . | | | . | | . | NOFN | . | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / Symbol Bits Pointer Content OFNSCH 0-17 Share count for an OFN 17 OFSHR One unit of OFN share entry STRX 18-35 STX Structure index (number) 374
MONITOR TABLES SPTO2 Special Pages Table O2. This table is parallel to the OFN area of the SPT table and contains various state information about the OFN. It is used by CFS to maintain the page state. | Defined in: STG, PROLOG Index: OFN number +--------------------------------------------------+ / \ | | OFOPC | | | SPT02: | Count of normal opens | CFS flags |* | |--------------------------------------------------| | | | | |------------------------.-------------------------| NOFN | . | |--------------------------------------------------| | | | | | |--------------------------------------------------| \ / +--------------------------------------------------+ | Count of normal opens | CFS flags | +--------------------------------------------------+ Contents of CFS flags Symbol Bits Meaning SPTFO 18 Force out in progress SPTCDO 19 XB checksum already verifed SPTSFD 20 XB needs checksum done on next swap in SPTDSF 21 Need DDMP to verify the XB SPTFR 22-23 Signal from CFS to do force-out SPTSR 22 Sub-field of above (set = memory flush) SPTNA 24 If set, don't preallocate pages for OFN SPTMR 25 Preallocation meter bit | OFNCSH 26 OFN is cached | OFNMGB 27 Garbage collection pass 1 done SPTST 34-35 OFN state (for CFS) .SPSRD==:1 ;Read-only .SPSWR==:2 ;Read/write 375
MONITOR TABLES SPTO3 Special Pages Table 3. This table is parallel to the OFN area of the SPT table and is available only under the DEBUG conditional. It contains the number and the PC the system fork who last locked the OFN. Defined in: STG Index: OFN number Format +-------------------------------------------------------+ / \ | SPTO3: | System Fork # | PC of fork | | |-------------------------------------------------------| | | . | | | . | NOFN | . | | | . | | | . | | +-------------------------------------------------------+ \ / 376
MONITOR TABLES SPTO4 This table contains information about OFNs. It is primarily used to speed access to long files. Defined in: STG | +-----------------------------------------------------------------------+ / \ | | OFN which "own" this OFN,,file section number (for a second level OFN)| | | | or | NOFN | | 0 (for a short file or "super" OFN of a long file) | | | | or | | | | -1 (if the OFN is unassigned) | | | +-----------------------------------------------------------------------+ | | | . | | | | . | | | | . | | | | . | | | | . | | | | . | | | | . | | | +-----------------------------------------------------------------------+ \ / 377
MONITOR TABLES SS This is the DECnet Session Control sublink block. There are two of these in the SL block, one for the normal sublink and one for the other sublink. Defined in: D36PAR Format +------------------------------------------------------------------------+ | | | SSXDO | SSRDO | | SSFLG |Sublink transmit | Sublink receive | * | |DRQS outstanding |DRQS outstanding | |------------------------------------------------------------------------| /\ SSINQ | Sublink input queue | QH.LEN \ \ \/ +------------------------------------------------------------------------+ For field SSFLG(0-17): SSOTH 0 Indicates this is the "other" sub-link 378
MONITOR TABLES SSIZE Subsystem Working Set Size. Each entry contains the working set size integral for a subsystem program. This is a parallel table to SNAMES. Defined in: STG Format +-------------------------------------------------------+ / \ SSIZE: | Working Set Size Integral | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NNAMES | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 379
MONITOR TABLES ST This is the SAB indirect table pointed to by PSBSAB. Defined in: SCPAR Format +------------------------------------------------------------------------+ STNP | Normal priority | |------------------------------------------------------------------------| STP1 | PSI level 1 | |------------------------------------------------------------------------| STP2 | | |------------------------------------------------------------------------| STP3 | | +------------------------------------------------------------------------+ 380
MONITOR TABLES STIMES Subsystem Runtimes. Each entry contains the accumulated runtime of a subsystem program. This is a parallel table to SNAMES. Defined in: STG Format +-------------------------------------------------------+ / \ STIMES: | Accumulated Runtime | | |-------------------------------------------------------| | | . | | | . | | | . | | | . | | . | NNAMES | . | | . | | | . | | | . | | | . | | \ . \ | +-------------------------------------------------------+ \ / 381
MONITOR TABLES STRTAB Structure Data Block Table. This table contains pointers to each structure data block in the system. Defined in: STG Index: Structure Number Format +-------------------------------------------------------+ STRTAB: | Pointer to SDB | / \ |-------------------------------------------------------| | | . | | | . | | | . | | | . | | | . | | . | STRN = | | . | 64 | . | | . | | | . | | | . | | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 382
MONITOR TABLES SV-LLINKS The SV structure is expected to be used by DECnet code to pull apart the services field from a CI or CC message held in a register. Defined in: LLINKS Format The Services Field of a CI or CC msg | 0 31 +------------------------------------------------------------------------+ | SVFL1 | | | | Filler 1, check for all zeroes | | | * +------------------------------------------------------------------------+ Field SVOPT (32-33) The flow control option, see FCM.xx Field SVFL2 (34-35) Filler 2, check for being "01" SV$FL2=1 Number that SVFL2 must be 383
MONITOR TABLES SV-LLMOP This is the DECnet LLMOP generic server variable block. The definition, structure and use of this block are shared between the Loopback Protocol Server and the Remote Console Server. Defined in: LLMOP Format Server Variable Block +------------------------------------------------------------------------+ SVIFG | Initialization Flag | |------------------------------------------------------------------------| SVDLS | Data Link State | |------------------------------------------------------------------------| SVSTT | Server State | |------------------------------------------------------------------------| SVAST | Server Assistant State | |------------------------------------------------------------------------| | | | 13 17 19 35| | |S| | SVICH | | SVNXR | | |V| | Interrupt | | Next Receipt Number | | |A| | Channel | | | * | |I| | Number (0 | | | | |C| | to 35) | | | |------------------------------------------------------------------------| SVQLK | Queue Lock | |------------------------------------------------------------------------| SVRQH | Request Queue Head | |------------------------------------------------------------------------| SVRQT | Request Queue Tail | |------------------------------------------------------------------------| SVRCT | Total Receive Count | |------------------------------------------------------------------------| SVTIC | Total Invalid Receive Count | |------------------------------------------------------------------------| SVUSF | Total of unsupported functions received | |------------------------------------------------------------------------| SVSRC | Server Receive Count | |------------------------------------------------------------------------| SVSIC | Server Invalid Receive Count | |------------------------------------------------------------------------| SVRRC | Requestor Receive Count | |------------------------------------------------------------------------| SVRIC | Requestor Invalid Receive Count | |------------------------------------------------------------------------| SVTTI | Total Transmit Initiated Count | |------------------------------------------------------------------------| SVTCT | Total Transmit Complete Count | 384
MONITOR TABLES SV-LLMOP (Cont.) |------------------------------------------------------------------------| SVTTF | Total Transmit Failure Count | |------------------------------------------------------------------------| SVSTC | Server Transmit Count | |------------------------------------------------------------------------| SVRTC | Requestor Transmit Count | |------------------------------------------------------------------------| SVBPC | Buffer Post Count | |------------------------------------------------------------------------| SVLBC | Lost Buffer Count | |------------------------------------------------------------------------| SVIBN | Initial Buffer Number | |------------------------------------------------------------------------| /\ SVMCA | Multicast Address | 2 \ \ \/ |------------------------------------------------------------------------| SVCJN | Configurator Job Number | |------------------------------------------------------------------------| SVCFN | Configurator Fork Number | |------------------------------------------------------------------------| /\ SVIXB | DLL Interface Block | UN.LEN \ \ \/ |------------------------------------------------------------------------| /\ SVCCB | Start of Channel Counters Block | CC.LEN \ \ \/ +------------------------------------------------------------------------+ Field SVAIC (0-0) Assign Interrupt Channel Field SVICH (13-17) Interrupt Channel Number Field SVNXR (19-35) Next Receipt Number 385
MONITOR TABLES SWAP-FREE-SPACE (NON-EXTENDED) Swappable Free Space Pool Format. This table describes the header area that is used in the assignment and deassignment of swappable free space (by ASGFRE) and the usage of this space when assigned. Defined in: STG Format +-------------------------------------------------------+ SWPFRE: | Adr of 1st Free Block | Unused | / \ |-------------------------------------------------------| | | Lock on Free Space | | |-------------------------------------------------------| | | Space Counter | | |-------------------------------------------------------| | Most Common Block Size | 7 |-------------------------------------------------------| | Max Top of Free Area | Bottom of Free Area | | |-------------------------------------------------------| | | Temporary Work Space | | |-------------------------------------------------------| | | Temporary Work Space | \ / |-------------------------------------------------------| SWFREE: | Free Space Pool | / \ | | | | Space for the Assignment of: | | | System Wide Logical Name List and | SWFREL | Definitions Blocks | | USAGE JSYS Blocks | | | Checkpoint Records | | \ \ \ / +-------------------------------------------------------+ 386
MONITOR TABLES SYNMTB System Logical Name Table: This table contains pointers to the initial ASCIZ strings for the system logical names. Defined in: STG Format +-------------------------------------------------------------+ SYNMTB:| XWD[ASCIZ/SYS/],[ASCIZ/ <SUBSYS>/] | |-------------------------------------------------------------| | XWD[ASCIZ/HLP/],[ASCIZ/SYS:/] | |-------------------------------------------------------------| | XWD[ASCIZ/SYSTEM/],[ASCIZ/ <NEW-SYSTEM, <SYSTEM>/]| |-------------------------------------------------------------| | XWD[ASCIZ/EDITOR/],[ASCIZ/SYS:EDIT.EXE/] | |-------------------------------------------------------------| | XWD[ASCIZ/ACCOUNT],[ASCIZ/ /ACCOUNTS/] | |-------------------------------------------------------------| | XWD[ASCIZ/DEFAULT-EXEC/],[ASCIZ/SYSTEM:EXEC.EXE/] | |-------------------------------------------------------------| | XWD[ASCIZ/PS/],[ASCIZ/ :/] | |-------------------------------------------------------------| | XWD[ASCIZ/POBOX/],[ASCIZ/ :/] | | |-------------------------------------------------------------| | | XWD[ASCIZ/BS/],[ASCIZ/ :/] | | |-------------------------------------------------------------| | | XWD[ASCIZ/SPOOL/],[ASCIZ/ :<SPOOL>/] | | |-------------------------------------------------------------| | | XWD[ASCIZ/SERR/],[ASCIZ/ :<SYSTEM-ERROR>/] | | |-------------------------------------------------------------| | | XWD[ASCIZ/TGHA-DATA/],[ASCIZ/ :<SYSTEM>/] | +-------------------------------------------------------------+ When six spaces precede the colon, SLNINI inserts the name of the primary structure into that location. 387
MONITOR TABLES SYS-STARTUP-VECTORS System Startup Transfer Vectors. This table, in resident locations 140-147, contains the startup vectors for the monitor as well as vectors to enter EDDT. Defined in: STG Format SVECT=140 +-------------------------------------------------------+ EVDDT: | JRST DDTZ (EDDT) | |-------------------------------------------------------| | JRST SYSDDT (Reset and go to EDDT) | |-------------------------------------------------------| EVDDT2: | JRST DDTZ (Copy of EDDT in case | | other clobbered) | |-------------------------------------------------------| EVSLOD: | JRST SYSLOD (Initialize disk file | | system) | |-------------------------------------------------------| EVVSM: | JRST SYSVSM (Verify swappable | | monitor on startup) | |-------------------------------------------------------| EVRST: | JRST SYSRST (Restart) | |-------------------------------------------------------| EVLDGO: | JRST SYSGO (Reload and start) | |-------------------------------------------------------| EVGO: | JRST SYSGO1 (Start) | +-------------------------------------------------------+ 388
MONITOR TABLES SYSERR-STORAGE-AREA SYSERR STORAGE AREA. In and out pointers into the buffer area are maintained for JOB0 as well as pointers to the free and released SYSERR blocks. Defined in: STG, SERCOD +-------------------------------------------------------+ SEBQIN: | Job 0 queue In-pointer | |-------------------------------------------------------| SEBJFN: | JFN for SYSERR.LOG File | |-------------------------------------------------------| SECHKF: | Flag to wake Job 0 SYSERR FORK | |-------------------------------------------------------| SEIETM: | Time after which failing to OPEN | | SYSERR LOG File can try again | |-------------------------------------------------------| SERCNT: | Count of queued SYSERR blocks | |-------------------------------------------------------| SPRFLG: | -1 if SERCNT needs initializing | +-------------------------------------------------------+ Although the In-pointer is in this storage area the corresponding Out-pointer in SEBQUO is in a fixed place in lower core (that is, location 24), so JOB 0 can queue up a BUGHLT block after a crash. One can examine the last SYSERR block by adding to the right half of the contents of SEBQUO, SEBDAT plus offset into SYSERR block. | +-------------------------------------------------------+ | ALCLST: | Count of lost section 0 all locations | | |-------------------------------------------------------| | BUGLST: | Count of lost bug entries | | |-------------------------------------------------------| | SYELST | Count of lost syserr entries | | +-------------------------------------------------------+ 389
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) SYSERR BUFFER BLOCKS SYSERR BLOCK FORMAT +-------------------------------------------------------+ | SEBCDR | 0 | Pointer to Next Block | |-------------------------------------------------------| | SEBFN | 1 | Function to Call in Job 0 | |-------------------------------------------------------| | |SEBCOD|6 SEBSOF 17| |24 SEBSIZ |* | | Code | Offset to Free | | Blk Size with | | | String Space | | Header | |-------------------------------------------------------| SEBHED=3 | SEHCOD | | SEHLEN |* | Event Code | |Block Length | |-------------------------------------------------------| | SEHTAD | 4 | Date and Time | |-------------------------------------------------------| | SEHUTM | 5 | Uptime | |-------------------------------------------------------| | SEHSER | 6 | APRID Word | * | (Processor Serial Number) | |-------------------------------------------------------| 7 | SEHCNT | | Crash Spanning Counter | |-------------------------------------------------------| SEBDAT=10 | | | Body of Error Block | \ (Dependent on Event Type \ \ See Below) \ | | | | | | | | +-------------------------------------------------------+ 390
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) 0 2 3 4 5 6 17 18 23 24 35 Word +-------------------------------------------------------+ | |SEBCOD|6 SEBSOF 17| | SEBSIZ | 2 | | Code | Offset to Free | | Blk Size with | | | | String Space | | Header | +-------------------------------------------------------+ Bits Pointer Meaning 3-5 SEBCOD State Code SBCFRE=0 on Free List SBCREL=1 Released SBCACT=2 Active 6-17 SEBSOF Offset to Free String Space 24-35 SEBSIZ Block Size Including Header 391
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) 0 8 27 35 Word +-------------------------------------------------------+ 2 | SEHCOD | | SEHLEN | | Event Code | |Block Length | +-------------------------------------------------------+ Bits Pointer Meaning 0-8 SEHCOD Event Code (that is, Block Type) SEC%RL=101 System Reload SEC%BG=102 BUGHLT/BUGCHK/BUGINF SEC%MB=111 Massbus Device Error SEC%CS=115 Configuration Status Change (MTCON) SEC%FE=130 Front End Error SEC%11=131 F.E. Reload Entry (Gives -11 Reboot Info.) SEC%HS=133 Halt for KS10 SEC%PT=160 Processor Parity Trap SEC%PI=161 Processor Parity Intrp. SEC%P1=162 Parity for Extensible Controllers SB%BLK=163 Status Block SEC%6S=232 DN64 event SEC%KS=241 KLIPA Statistics Event SEC%CI=242 CI Disk/Tape Endpacket SEC%EL=243 MSCP Error Log Event SEC%KP=244 KLIPA Error Event SEC%KE=246 KLIPA Error-Log Packet 27-35 SEHLEN Block Length (Including Header) RL%LEN - System Reload Block Length BG%LEN - BUGHLT/CHK/INF Block Length MB%LEN - Massbus Dev. Err Blk Length CS%SIZ - Change Blk Length FE%LEN - F.E. Errors Blk Length R1%LEN - F.E. Reload Entry Blk Length HS%LEN - KS10 Block Length PT%LEN - Proc. Parity Trap Blk Length PI%LEN - Proc. Parity Interrupt Blk Lgh PI%LN2 - Extensible Controllers Blk Lgh SB%MAX - Maximum Status Block Length CI%LEN - CI Endpacket Blk Length EL%LEN - MSCP Error Log Block Length KP%LEN - KLIPA Error Block Length KS%LEN - KLIPA Statistics Block Length KE%LEN - KLIPA Error Log Block Length Word 6 to End (Body of Error Block - Dependent on Event Type) 392
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 101 System Reloaded Error Block Data +-----------------------------------------------------+ RL%SVN=0 | ASCII Byte Pointer to System Name | |-----------------------------------------------------| RL%STD=1 | Time of System Build (Univ. Format) | |-----------------------------------------------------| RL%VER=2 | System Version Number | |-----------------------------------------------------| RL%SER=3 | APR Serial Number | |-----------------------------------------------------| RL%OPR=4 | ASCII Byte Pointer to "Why Reload" | |-----------------------------------------------------| RL%HLT=5 | BUGHLT Address (if Auto-Reloaded) | |-----------------------------------------------------| RL%FLG=6 | Flags | |-----------------------------------------------------| / \ RL%SIZ=7 | Monitor Name (Text) | | | | NSVNT= | | 26. | | | |-----------------------------------------------------| \ / | | / \ | "Why Reload" Answer String (Text) | | | | RLBSZ= | | 16. +-----------------------------------------------------+ \ / RL%LEN=61 393
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event type 102 BUGHLT/CHK/INF Error Block Data +-----------------------------------------------------+ BG%SVN=0 | System Name (ASCIZ) | |-----------------------------------------------------| BG%SER=1 | APR Serial Number | |-----------------------------------------------------| BG%VER=2 | Monitor Version | |-----------------------------------------------------| BG%SDT=3 | TAD of Monitor Build | |-----------------------------------------------------| | Type (1,2 or 3) of BUG Call: | BG%FLG=4 | (BG%CHK=1;BG%INF=2;BG%HLT=3) | |-----------------------------------------------------| BG%ADR=5 | Address of HLT/CHK | |-----------------------------------------------------| BG%JOB=6 | FORKX | Job Number | |-----------------------------------------------------| BG%USR=7 | User Number | |-----------------------------------------------------| BG%PNM=10 | Program Name (SIXBIT) | |-----------------------------------------------------| BG%MSG=11 | Message (ASCIZ) | |-----------------------------------------------------| / \ BG%ACS=12 | ACS | | \ \ 16. |-----------------------------------------------------| \ / BG%PIS=32 | PI Status | |-----------------------------------------------------| BG%RCT=33 | Register Count | |-----------------------------------------------------| BG%REG=34 | Registers (Maximum of 4) | |-----------------------------------------------------| BG%NAM=40 | SIXBIT Name of Check | |-----------------------------------------------------| BG%DAT=41 | Time and Date of BUGHLT/BUGCHK | |-----------------------------------------------------| BG%CNT=42 | Number of BUG Checks Since Startup | |-----------------------------------------------------| BG%APS=43 | APR Flags (CONI APR,) | |-----------------------------------------------------| BG%PGS=44 | Pager Flags (CONI PAG,) | |-----------------------------------------------------| BG%PGD=45 | Pager Data (DATAI PAG,) | 394
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) |-----------------------------------------------------| BG%ERG=46 | Error Register | |-----------------------------------------------------| / \ BG%SIZ=47 | | | | String Area | | | | 34. | | | \ \ | BG%LEN=111+-----------------------------------------------------+ \ / Event Type 111 MASS BUS DEV Error Data Block +-------------------------------------------------------+ MB%NAM=0 | Device Name (if available) | |-------------------------------------------------------| MB%VID=1 | Volume ID (SIXBIT) | |-------------------------------------------------------| MB%TYP=2 | Channel,,Device Type - See PHYPAR | |-------------------------------------------------------| MB%LOC=3 | Location of Error - Sector or File,,Record | |-------------------------------------------------------| MB%FES=4 | Final Error State - Device Dependant | |-------------------------------------------------------| MB%CNI=5 | CONI Initial | |-------------------------------------------------------| MB%CIF=6 | CONI Final | |-------------------------------------------------------| MB%SEK=7 | Number of Seeks | |-------------------------------------------------------| MB%RED=10 | Number of Blocks/Frames Read | |-------------------------------------------------------| MB%WRT=11 | Number of Blocks/Frames Written | |-------------------------------------------------------| MB%FIL=12 | Filename (Pointer) | |-------------------------------------------------------| MB%USR=13 | User Making Request (directory number) | |-------------------------------------------------------| MB%PGM=14 | Program Running | |-------------------------------------------------------| MB%D1I=15 | DATAI PTCR Initial | |-------------------------------------------------------| MB%D1F=16 | DATAI PTCR Final | |-------------------------------------------------------| MB%D2I=17 | DATAI PBAR Initial | |-------------------------------------------------------| MB%D2F=20 | DATAI PBAR Final | |-------------------------------------------------------| MB%UDB=21 | Unit Data Block for JOB 0 BAT Blocks | 395
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) |-------------------------------------------------------| MB%IRS=22 | IORB Status Word, IS.ERR if Hard (See PHYPAR) | |-------------------------------------------------------| MB%SRE=23 | Soft Read Errors | |-------------------------------------------------------| MB%SWE=24 | Soft Write Errors | |-------------------------------------------------------| MB%HRE=25 | Hard Read Errors | |-------------------------------------------------------| MB%HWE=26 | Hard Write Errors | |-------------------------------------------------------| MB%PS1=27 | Position, CYL if Disk, File if Tape | |-------------------------------------------------------| MB%PS2=30 | SURF/SEC or Record | |-------------------------------------------------------| MB%CS0=31 | Channel Logout 0 | |-------------------------------------------------------| MB%CS1=32 | Channel Logout 1 | |-------------------------------------------------------| MB%CS2=33 | Channel Logout 2 | |-------------------------------------------------------| MB%CC1=34 | First CCW | |-------------------------------------------------------| MB%CC2=35 | Second CCW | |-------------------------------------------------------| MB%MPE=36 | Count of MPE | |-------------------------------------------------------| MB%NXM=37 | Count of NXM | |-------------------------------------------------------| MB%FEC=40 | Final Error Count | |-------------------------------------------------------| MB%CAD=41 | Channel Address | |-------------------------------------------------------| MB%UAD=42 | Unit Address | |-------------------------------------------------------| MB%SPE=43 | Soft Positioning Errors | |-------------------------------------------------------| MB%HPE=44 | Hard Positioning Errors | |-------------------------------------------------------| MB%OVR=45 | Overruns | |-------------------------------------------------------| MB%ICR=46 | Initial TCR | |-------------------------------------------------------| MB%REG=47 | Units Massbus Registers in order with their: | \ Final Contents,, Initial Error Contents \ | | +-------------------------------------------------------+ MB%LEN=124 396
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 115 Configuration Status Change (logged by MTCON) +--------------------------------------------------------+ CS%OPW=0 | Operation Code | | Codefield is CS%OPR=77B17 | | Codes are: CS%ADV=0; Attach Device | | CS%DDV=1; Detach Device | |--------------------------------------------------------| CS%HTP=1 | Hardware Type | | Channel Type | Unit Type | |--------------------------------------------------------| CS%DNM=2 | Logical Device Name (SIXBIT) | |--------------------------------------------------------| CS%APS=3 | Device Address and Serial Number | |--------------------------------------------------------| CS%RSW=4 | Offset to Reason String | +--------------------------------------------------------+ Event Type 130 Front End Errors Data Block +--------------------------------------------------------+ FE%FJB=0 | Fork Number,,Job Number | |--------------------------------------------------------| FE%DIR=1 | Directory Numbers | |--------------------------------------------------------| FE%ID=2 | Front End Software Version | |--------------------------------------------------------| FE%NAM=3 | SIXBIT Name of Program | |--------------------------------------------------------| FE%DEV=4 | Protocol Device Code (1B0=Unknown) | |--------------------------------------------------------| FE%PTR=5 | -Length of Data,,Start of Data | |--------------------------------------------------------| FE%DTE=6 | DTE Number | |--------------------------------------------------------| FE%BYT=7 | Number of -11 Bytes in the Message | +--------------------------------------------------------+ FE%LEN=10 397
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 131 Front End Reload ERROR BLOCK DATA +--------------------------------------------------------+ R1%NUM=0 | -11 Number | |--------------------------------------------------------| R1%STS=1 | Reload Status Bits | |--------------------------------------------------------| R1%FNM=2 | File Name Pointer | |--------------------------------------------------------| R1%ERW=3 | -11 Error Word | |--------------------------------------------------------| / \ | | | \ String Area \ 20 | | | +--------------------------------------------------------+ \ / R1%LEN=30 0 1 2 3 4 5 6 7 8 9 0 1 12 32 33 35 Word +--------------------------------------------------------+ R1%STS=1| | | | | | | | | | | | | | | +--------------------------------------------------------+ Symbol Bits Contents .R1GTF 0 GTJFN failed for Dump File .R1OPF 1 OPENF failed for Dump File .R1DPF 2 Dump failed .R110E 3 To -10 Error on Dump .R111E 4 To -11 Error on Dump .R1ASF 5 ASGPAG failed on Dump .R1RLF 6 Reload failed .R1PDF 7 -11 didn't Power Down .R1PUF 8 -11 didn't Power Up .R1RMF 9 ROM did not ACKnowledge the -10 .R1BSF 10 -11 Boot Program didn't make it to the -11 .R1NRL 11 -11 took more than 1 Min. to Reload. .R1RTC 33-35 Retry Count 398
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) 0 1 2 17 18 19 20 35 Word +-------------------------------------------------------+ R1%ERW=3| | Fault Code | | Parity Register | +-------------------------------------------------------+ Bits Contents 2-17 Fault code as 3 RAD50 characters 20-35 Parity Register Valid Only if it is Nonzero Event Type 133 Halt for KS10 +--------------------------------------------------------+ HS%COD=0 | Halt Status Code (Phy. Loc. 0) | |--------------------------------------------------------| HS%PC=1 | Program Counter (Phy. Loc. 1) | |--------------------------------------------------------| HS%PTR=2 | Halt Status Block Offset Pointer | |--------------------------------------------------------| CS%PTR=3 | Clock Stop Blk Offset Pty. (Unused) | |--------------------------------------------------------| / \ HS%HDZ=4 | | | \ Halt Status Block \ HS%HSZ | | =22 | | | +--------------------------------------------------------+ \ / HS%LEN=26 399
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Halt Status Block +--------------------------------------------------------+ HS%NUL=0 | Magnitude | |--------------------------------------------------------| HS%PC=1 | PC | |--------------------------------------------------------| HS%HR=2 | Current Instruction | |--------------------------------------------------------| HS%AR=3 | AR | |--------------------------------------------------------| HS%ARX=4 | ARX | |--------------------------------------------------------| HS%BR=5 | Base Register | |--------------------------------------------------------| HS%BRX=6 | Base Register Extension | |--------------------------------------------------------| HS%ONE=7 | Constant One | |--------------------------------------------------------| HS%EBR=10 | Exec Base Register | |--------------------------------------------------------| HS%UBR=11 | User Base Register | |--------------------------------------------------------| HS%MSK=12 | Mask | |--------------------------------------------------------| HS%FLG=13 | Microcode Status Flags | |--------------------------------------------------------| HS%PI=14 | PI Status | |--------------------------------------------------------| HS%X1=15 | 1 | 1 | |--------------------------------------------------------| HS%T0=16 | T0 | |--------------------------------------------------------| HS%T1=17 | T1 | |--------------------------------------------------------| HS%VMA=20 | VMA Flags VMA | |--------------------------------------------------------| HS%FE=21 | FE | SC | +--------------------------------------------------------+ 400
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 160 Processor Parity Trap Error Block Data +--------------------------------------------------------+ PT%PFW=0 | Page Fail Word | |--------------------------------------------------------| PT%BDW=1 | Bad Data Word | |--------------------------------------------------------| PT%GDW=2 | Good Data Word | |--------------------------------------------------------| PT%USR=3 | User Number | |--------------------------------------------------------| PT%JOB=4 | FORKX | JOBN | |--------------------------------------------------------| PT%PGM=5 | Program Name (SIXBIT) | |--------------------------------------------------------| PT%PMA=6 | Physical Memory Address | |--------------------------------------------------------| PT%TRY=7 | Flags | Retry Count | |--------------------------------------------------------| PT%EPA=10 | EPT Offset Physical Address | |--------------------------------------------------------| PT%EPD=11 | EPT Offset Data | |--------------------------------------------------------| PT%UPA=12 | UPT Offset Physical Address | |--------------------------------------------------------| PT%UPD=13 | UPT Offset Data | +--------------------------------------------------------+ PT%LEN=14 0 1 2 3 4 17 18 35 Word +-------------------------------------------------------+ PT%TRY=7 | | | | | | | Retry Count | +-------------------------------------------------------+ Symbol Bits Contents PT%HRO 1 Hard Error PT%CCP 2 Cache Failure PT%CCH 3 Cache in Use PT%ESW 4 Error on Sweep to Core 18-35 Retry Count 401
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 161 Processor Parity Interrupt Error Data Block +-------------------------------------------------------+ PI%CNI=0 | CONI APR | |-------------------------------------------------------| PI%ERA=1 | ERA | |-------------------------------------------------------| PI%FPC=2 | PC | |-------------------------------------------------------| PI%SWP=3 | Number of Errors This Sweep | |-------------------------------------------------------| PI%AAD=4 | Logical "AND" of Bad Addresses | |-------------------------------------------------------| PI%OAD=5 | Logical "OR" of Bad Addresses | |-------------------------------------------------------| PI%ADA=6 | Logical "AND" of Bad Data | |-------------------------------------------------------| PI%ODA=7 | Logical "OR" of Bad Data | |-------------------------------------------------------| / \ PI%SBD=10 | SBUS DIAG Function Data | | \ \ 10. |-------------------------------------------------------| \ / PI%ADD=22 | First 10. Bad Addresses | / \ \ \ 10. |-------------------------------------------------------| \ / PI%DAT=34 | First 10. Bad Data Words | / \ \ \ 10. |-------------------------------------------------------| \ / PI%CDA=46 | Core Ref of First 10. Bad Addresses | / \ \ \ 10. |-------------------------------------------------------| \ / PI%FFL=60 | Flags | +-------------------------------------------------------+ PI%LEN=61 402
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 162 Parity Format for Extensible Controllers +-------------------------------------------------------+ PI%CN2=0 | CONI APR | +-------------------------------------------------------+ PI%ER2=1 | ERA | +-------------------------------------------------------+ PI%FL2=2 | flags | +-------------------------------------------------------+ PI%PC2=3 | PC | +-------------------------------------------------------+ PI%ERC=4 | Error count | +-------------------------------------------------------+ PI%AA2=5 | logical "AND" of bad addresses | +-------------------------------------------------------+ PI%OR2=6 | logical "OR" of bad addresses | +-------------------------------------------------------+ PI%AD2=7 | Logical "AND" of bad data | +-------------------------------------------------------+ PI%OD2=10 | Logical "OR" of bad data | +-------------------------------------------------------+ PI%SB2=11 | -Count of controllers | first offset | +-------------------------------------------------------+ PI%BAD=12 | | /\ \ First ten bad addresses \ 10. | | \/ +-------------------------------------------------------+ PI%DA2=24 | | /\ \ First ten bad words \ 10. | | \/ +-------------------------------------------------------+ PI%MDA=36 | | /\ \ Memory references of first ten words \ 10. | | \/ +-------------------------------------------------------+ PI%SBA=50 | | /\ \ SBDIAG data \ PI%MXS | | =100 | | \/ +-------------------------------------------------------+ 403
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 163 Status Block Entry +-------------------------------------------------------+ SB%API=0 | APRID | +-------------------------------------------------------+ SB%APR=1 | CONI APR | +-------------------------------------------------------+ SB%PIC=2 | CONI PI | +-------------------------------------------------------+ SB%PGD=3 | DATAI PAG | +-------------------------------------------------------+ SB%PGC=4 | CONI PAG | +-------------------------------------------------------+ / \ SB%UP0=5 | | 4 \ UPT locations 424-427 \ | +-------------------------------------------------------+ \ / SB%ERA=11 | RDERA | +-------------------------------------------------------+ SB%RHC=12 | | /\ | CONI RH20 -- for all 8 possible | SB%RHL \ \ =8 +-------------------------------------------------------+ \/ SB%DTC=22 | | /\ | CONI DTEN -- for all 4 possible | SB%DTL \ \ =4 +-------------------------------------------------------+ \/ SB%EP0=26 | | / \ | EPT locations 0-37 | 40 \ \ | +-------------------------------------------------------+ \ / SB%EP1=66 | | / \ | EPT locations 140-177 | 40 \ \ | +-------------------------------------------------------+ \ / SB%UP1=126| | /\ | UPT locations 500-503 | 4 \ \ \/ +-------------------------------------------------------+ SB%6=132 | | /\ | AC block 6 REGS 0-3 and 12 | 5 \ \ \/ +-------------------------------------------------------+ SB%7=137 | | /\ | AC block 7 REGS 0-2 | 3 \ \ \/ +-------------------------------------------------------+ SB%SBD=142| | / \ | SBDIAG data | SB%SBL \ \ =50 +-------------------------------------------------------+ \ / SB%MAX=213 404
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 241 KLIPA Statistics Entry +-------------------------------------------------------+ KS%OFF=0 | Offset to Counters | |-------------------------------------------------------| KS%VER=1 | Microcode Version Word |* |-------------------------------------------------------| KS%AAK=2 | Path A Acks | |-------------------------------------------------------| KS%ANK=3 | Path A Nacks | |-------------------------------------------------------| KS%ANR=4 | Path A No-Responses | |-------------------------------------------------------| KS%BAK=5 | Path B Acks | |-------------------------------------------------------| KS%BNK=6 | Path B Nacks | |-------------------------------------------------------| KS%BNR=7 | Path B No-Responses | |-------------------------------------------------------| KS%DGD=10 | Datagrams Discarded | |-------------------------------------------------------| KS%PXM=11 | Packets Transmitted | |-------------------------------------------------------| KS%PRC=12 | Packets Received | |-------------------------------------------------------| KS%DPT=13 | Designated Port Word | | |28 KS%PRT | | | Designated Port | |-------------------------------------------------------| KS%CRC=14 | Packets Received With Crc Errors | |-------------------------------------------------------| KS%EW1=15 | KS%MPE | KS%CPE | | Mover PAR Pre Errors | CBUS Parity Errors | |-------------------------------------------------------| KS%EW2=16 | KS%RPE | KS%DPE | | Register PLIPE Errors | Data PLIPE Errors | |-------------------------------------------------------| KS%EW3=17 | KS%CHE | KS%EPE | | Channels Errors | EBUS Parity Errors | |-------------------------------------------------------| KS%EW4=20 | KS%SCE | KS%CAT | | Spurious Channel Errors | CBUS Available Timeouts | |-------------------------------------------------------| KS%EW5=21 | KS%SRA | KS%STA | | Spurious Receive Atten. | Spurious Transmit Atten. | |-------------------------------------------------------| KS%EW6=22 | KS%TBP | KS%TTM | | Xmit Buffer Parity Errors| Transmitter Timeouts | +-------------------------------------------------------+ KS%LEN=23 405
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) 0 11 14 15 17 18 Word +-------------------------------------------------------+ KS%VER=1 | | | | | | |-------------------------------------------------------| Symbol Bits Contents KS%NI 0 O=CI, 1=NI KS%RSN 11-14 Reason for Doing Read-Counters 0, Illegal KS%CPE=1, CRAM Parity Error KS%AGB=2, Wire A Went From Good to Bad KS%ABG=3, Wire A Went From Bad to Good KS%BGB=4, Wire B Went From Good to Bad KS%BBG=5, Wire B Went From Bad to Good KS%PER=6, Periodic Reading of Counters KS%GUC=7, Get Microcode Version KS%DIA=10, DIAG% Did It KS%CHN 15-17 KLIPA Channel Number KS%VSN 18-35 Microcode Version Event Type 242 CI Disk/Tape Endpacket +-------------------------------------------------------+ CI%NOD=0 | Port Number | Node Number | |-------------------------------------------------------| CI%VID=1 | Volume ID | |-------------------------------------------------------| CI%RED=2 | Blocks/Frames Read | |-------------------------------------------------------| CI%WRT=3 | Blocks/Frames Written | |-------------------------------------------------------| CI%PS1=4 | Position 1 | |-------------------------------------------------------| CI%PS2=5 | Position 2 | |-------------------------------------------------------| CI%UDB=6 | Required For Bat Block Logic | |-------------------------------------------------------| CI%LOC=7 | Linear Address From Error Block | |-------------------------------------------------------| / \ CI%PAK=10 | | | | Packet With Error Bit On | 9. | | | |-------------------------------------------------------| \ / CI%LEN=21 406
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) Event Type 243 MSCP Error Log +-------------------------------------------------------+ EL%NOD=0 | Port | Node | |-------------------------------------------------------| / \ EL%PAK=1 | | | | Data Packet | 96. | | | +-------------------------------------------------------+ \ / EL%LEN=141 Event Type 244 KLIPA Error Event +-------------------------------------------------------+ KP%CSR=0 | CONI Status | |-------------------------------------------------------| KP%VER=1 | Microcode Version |* |-------------------------------------------------------| KP%DSP=2 | Error Disposition | |-------------------------------------------------------| KP%CRA=3 | CRAM Address | |-------------------------------------------------------| KP%CRD=4 | CRAM Data (2 Words) | |-------------------------------------------------------| KP%LG0=6 | Logout Word 0 | |-------------------------------------------------------| KP%LG1=7 | Logout Word 1 | |-------------------------------------------------------| KP%LG2=10 | Logout Word 2 | |-------------------------------------------------------| KP%ECW=11 | Port's Error Word | |-------------------------------------------------------| KP%PE0=12 | Port's Error Logout Word 0 | |-------------------------------------------------------| KP%PE1=13 | Port's Error Logout Word 1 | |-------------------------------------------------------| KP%LEN=14 407
MONITOR TABLES SYSERR-STORAGE-AREA (Cont.) 0 15 17 Word +-------------------------------------------------------+ KP%VER=1 | | | | | +-------------------------------------------------------+ Symbol Bits Contents KP%NI 0 Set if this is a KLNI KP%CHN 15-17 Port's RH20 Channel 202 Event Type 246 KLIPA Error-Log Packet +-------------------------------------------------------+ KE%SRC=0 | Source Word |* +-------------------------------------------------------+ KE%LEN=1 15 17 18 35 Word +-------------------------------------------------------+ KE%SRC=0 | | | | +-------------------------------------------------------+ Symbol Bits Contents KE%CHN 15-17 KLIPA Channel Number KE%NOD 18-35 HSC50 Node Number 408
MONITOR TABLES SYSTEM BLOCK There is a system block for each node on the CI that TOPS-20 has detected. System block addresses are found in the table SBLIST. The system block is the device-dependent portion of the KDB representing the CI node. | | Defined in: SCAPAR +-------------------------------------------------------+ | | | | | Device-independent portion of KDB | | | | | | | +-------------------------------------------------------+ .SBANB | Address of next system block | |-------------------------------------------------------| .SBAPB | Address of associated port control block | |-------------------------------------------------------| .SBACD | Address of associated channel data block | |-------------------------------------------------------| | | | SBVCST | | .SBVCS | Closing/opening bits | Dest vir cir state * | | |-------------------------------------------------------| | Symbol Bit Contents Symbol Value Meaning | SBNTC 0 Need to close VC.CLO 0 Closed | VC | SBOKO 1 OK to open VC VC.STS 1 Start sent | SBWFI 2 Waiting for VC.STR 2 Start received | new IDREC | VC.OPN 3 Open 409
MONITOR TABLES | SYSTEM BLOCK (Cont.) | |-------------------------------------------------------| | | SBCHN | SBDPA | | .SBDSP | Channel number | Destination port | | |-------------------------------------------------------| | | SBDRQH | | .SBDRQ | Datagram return queue header | | |-------------------------------------------------------| | | SBLMBH | | .SBLMB | Local message buffer header | | |-------------------------------------------------------| .SBFCB | Pointer to first connection block | |-------------------------------------------------------| .SBLCB | Pointer to last connection block | |-------------------------------------------------------| .SBTWQ | FLINK for SCA work queue | |-------------------------------------------------------| .SQBWQ | BLINK for SCA work queue | |-------------------------------------------------------| .SBCLC | Count of locked connections | |-------------------------------------------------------| .SBQOR | Pointer to queue of outstanding requests | |-------------------------------------------------------| .SBDSS \ \ \ Destination system \ |-------------------------------------------------------| | | SBMXMG | SBMXDG | | .SBMMS | Max mess size (bytes) | Max DG size (Bytes) | | |-------------------------------------------------------| | | SBDTSW | | .SBDST | Destination software type | | |-------------------------------------------------------| | | SBDVSW | | .SBDSV | Destination software version | | |-------------------------------------------------------| | .SBDSE | Destination software edit level | | |-------------------------------------------------------| | | SBDTHW | | .SBDHT | Destination hardware type | | |-------------------------------------------------------| | \ SBDVHW \ .SBDHV \ Destination hardware version \ \ \ \ \ |-------------------------------------------------------| .SBNNM \ Destination port name \ \ \ |-------------------------------------------------------| .SBDPC | Destination port characteristics | |-------------------------------------------------------| .SBDCR | Destination Port Code Revision Level | 410
MONITOR TABLES | SYSTEM BLOCK (Cont.) |-------------------------------------------------------| .SBDPF | Destination Port Functionality | |-------------------------------------------------------| .SBDPS | Destination Port State | |-------------------------------------------------------| .SBTIM | TODCLK at last message from this remote | |-------------------------------------------------------| | .SBFLG | | | | Flags |* | |-------------------------------------------------------| | | Symbol Bit Contents | SBFTMG 0 Timed message | SBFOVC 1 VC needs open | SBFOFL 3 Node offline | | |-------------------------------------------------------| | | SBSST | | .SBSST | Start Sequence Timer | | |-------------------------------------------------------| | | SBOBB | | .SBOBB | Out bound buffer for system block | | +-------------------------------------------------------+ 411
MONITOR TABLES TR DECnet Router test message data block. Defined in: D36PAR Format +------------------------------------------------------------------------+ TRTND | Node to test with | |------------------------------------------------------------------------| TRTSN | Serial number of message | |------------------------------------------------------------------------| TRTAF | Time when message reaches RTRFWD | |------------------------------------------------------------------------| TRTIC | Time at input complete | |------------------------------------------------------------------------| TRTOC | Time when output complete is received | |------------------------------------------------------------------------| TRTTD | Time given to DLL | |------------------------------------------------------------------------| TRTTA | Total time to turn around (TIC-TAF) | |------------------------------------------------------------------------| TRTED | Time to get from FWD to DLL (TTD-TAF) | |------------------------------------------------------------------------| TRTFD | Time from forward to output done (TTF-TOC) | +------------------------------------------------------------------------+ 412
MONITOR TABLES TT-LINE-DYN-DATA-BLK Teletype Line Dynamic Data Block. This block pointed to by the line's entry in TTACTL, holds line specific data and is built when the line becomes active. It is deallocated when the line becomes inactive. There are two shortened forms of the dynamic data block, one used for a SENDALL type of message and the other for sending a "ding" when any character but CTRL/C is typed on an inactive line. | Defined in: TTYDEF Format +-------------------------------------------------------+ TTFLG1=0 | Flags |* |-------------------------------------------------------| TTDAT1=1 | | TINTL |* | Buffer Info & Term. Type | Internal Line Number | |-------------------------------------------------------| TTSAL1=2 | TLTYP | TSALT | TSALC | | Line Type | Send All | Send All |* | | Timeout Count | Character Count | |-------------------------------------------------------| TTSAL2=3 | | | Send All Byte Pointer | |-------------------------------------------------------| TTDEV=4 | Device dependent word | | (See Device modules for definitions) | |-------------------------------------------------------| TTBFRC=5 |0 7|8 11|12 15|16 25|26 35| | TOWRN | TTNIN | TTNOU | TIMAX | TOMAX | | Wake Up |# of |# of | Max bytes | Max bytes | | Count | Input |Output |In Input Buf| In Output Buf | | | Bufs | Bufs | | | |-------------------------------------------------------| TTOCT=6 | Number of Characters in Output Buffer | |-------------------------------------------------------| TTOOUT=7 | Pointer for Removing Char from Output Buffer | |-------------------------------------------------------| TTOIN=10 | Pointer for Entering Char into Output Buffer | |-------------------------------------------------------| TTDAT2=11 | Input Info. & Page Width |* |-------------------------------------------------------| TTICT=12 | Number Characters in Input Buffer | |-------------------------------------------------------| TTIOUT=13 | Pointer for Removing Char from Input Buffer | |-------------------------------------------------------| TTIIN=14 | Pointer for Entering Char into Input Buffer | 413
MONITOR TABLES TT-LINE-DYN-DATA-BLK (Cont.) |-------------------------------------------------------| FCMOD1=15 | Control Character Output Control Words | |--------- ---------| FCMOD2=16 | Possible Values for each Char. (2 Bits/Char) | | CCNONE = 0 Send nothing | | CCIND = 1 Indicate via ^ | | CCSEND = 2 Send Actual Code | | CCSIM = 3 Simulate Format Action | |-------------------------------------------------------| TTDPSI=17 | Bit for Terminal Code Set if Deferred Interrupt | |-------------------------------------------------------| TTPSI=20 | Bit for Terminal Code Set if Interrupt | |-------------------------------------------------------| TTLINK=21 | Lines linked to (9 bits per line) | |-------------------------------------------------------| TTLPOS=22 | TPGPS | TLNPS | | Cur Line Position in Page| Current Charcter Position | | | within Line | |-------------------------------------------------------| | TTFLGS=23 |0 | |10 17| |32 35| | |TOFLG | |TPLEN | | TTDUM | | |^O was| | page length | |duplex | | | typed| | | | mode | |-------------------------------------------------------| TTFORK=24 | TCJOB | TWFRK | | Controlling Job Number | Fork Number in Input Wait | | | on this Line | |-------------------------------------------------------| TTFRK1=25 | TTPSFK | TTPFK | | PSI Fork # for | Fork which is Top Fork of | | Non-controlling TTY | a SCTTY Tree (-1 if None)| |-------------------------------------------------------| TTCHR1=26 | Wake Up Character Mask (ASCII Codes 0-31.) | |-------------------------------------------------------| TTCHR2=27 | Wake Up Character Mask (ASCII Codes 32.-63.) | |-------------------------------------------------------| TTCHR3=30 | Wake Up Character Mask (ASCII Codes 64.-95.) | |-------------------------------------------------------| TTCHR4=31 | Wake Up Character Mask (ASCII Codes 96.-127.) | 414
MONITOR TABLES TT-LINE-DYN-DATA-BLK (Cont.) |-------------------------------------------------------| TTFWTH=32 | | TTFCNT |* | PSI Level Info | Byte Count | |-------------------------------------------------------| TTLINE=33 | Line Counter | |-------------------------------------------------------| TTLMAX=34 | Maximum of TTLINE | |-------------------------------------------------------| TTFLG2=35 |0 | 1 |2 4|5 11|12 18| | |TTFLA | |TTETP |TTCH1 |TTCH2 | | |First char | |Type |First |Second | | |seen flag | | |char |char | | |-------------------------------------------------------| TTSVPD=36 | Saved Line Speed | +-------------------------------------------------------+ TTDDLN=37 0 1 2 3 4 5 6 7 8 9 10 11 30 35 +-------------------------------------------------------+ TTFLG1 | | | | | | | | | | | | | | TTLCK | +-------------------------------------------------------+ Symbol Bits Pointer Contents TT%SAL 0 TTSAL Sendall being done to this line TT%SHT 1 TTSHT This is a short block TT%MES 2 TTMES This is a system message block TT%OTP 3 TTOTP Output is enroute to the line TT%FWK 4 TTFWK Forced wakeup TT%SFG 5 TTSFG CTRL/S was typed TT%RFG 6 TTRFG Repeat last character (BKJFN) TT%WFG 7 TTWFG Blocked on input TT%PRM 8 TTPRM Don't deallocate dynamic data TT%BAC 9 TTBAC Permanent and becoming active TT%NXO 10 TTNXO Is 0, no page output stop TT%BKO 11 TTBKO Fork blocked for output event TT%NUS 12 TTNUS Net user state TT%DD1 13 TTDD1 Device dependent bit TT%NPM 14 TTNPM MCB NVT old page mode TT%RXF 15 TTRXF Received XDN on line TT%FLO 16 TTFLO Flushing output at TTSND 415
MONITOR TABLES TT-LINE-DYN-DATA-BLK (Cont.) TT%HPO 17 TTHPO High priority output queued TT%DAL 18 TTDAL Deallocate of block requested | TT%XFF 19 TTXFF Force XOFF/XON status | to front-end | TT%SEC 20 TTSEC Server should echo | TT%WKC 21 TTWKC Wake-up set has changed | TT%SPG 22 TTSPG Page stop is turned on | in the server | TT%BIN 23 TTBIN Current data mode is | binary (0=ASCII) | TT%NUL 24 TTNUL ASCII mode nul pass | through TT%LCK 30-35 TTLCK Count of locks on this block 0 4 5 7 8 9 17 18 35 +-------------------------------------------------------+ TTDAT1 | | | | | TTINTL | +-------------------------------------------------------+ Bit Pointer Contents 4-5 TYLMD Terminal data mode for last input character 5-7 TTOCN Count of extra buffers 8 TTOMX Extra buffers in use 9-17 TTTYP Terminal type 18-35 TINTL Internal line number (index into static data) 0 17 23 35 TTSAL1 +------------------------------------------------+ | TLTYP | TSALT | TSALC | +------------------------------------------------+ Bit Pointer Contents 0-17 TLTYP Line type 18-23 TSALT Sendall timeout count 24-35 TSALC Sendall character count 416
MONITOR TABLES TT-LINE-DYN-DATA-BLK (Cont.) 0 6 7 8 9 17 18 26 27 35 +-------------------------------------------------------+ TTDAT2 | | | | TYLCH | TPWID | | +-------------------------------------------------------+ Bit Pointer Contents 0-8 TTUPC Unpause on page character 9-17 TYLCH Last char removed from input buffer 18-26 TPWID Page width 27-35 TTPPC Pause/unpause on page character 0 5 6 11 12 17 18 35 +-------------------------------------------------------+ TTFWTH | | TTIPSI | TTOPSI | TTFCNT | +-------------------------------------------------------+ Bit Pointer Contents 6-11 TTIPSI Input PSI level 12-17 TTOPSI Output PSI level 18-35 TTFCNT Byte count for wakeup (0=> disabled for wakeup) 417
MONITOR TABLES TTACTL Teletype Active Line Table. This resident table contains a pointer to each active line's dynamic data block. Defined in: STG Index: Line Number Format +-------------------------------------------------------+ TTACTL: | Address of dynamic data block if active | / \ | or -1 if becoming active | | | or 0 if inactive | | |-------------------------------------------------------| | | . | | . | NLINES | . | | . | | | . | | | . | | \ \ \ / +-------------------------------------------------------+ NOTE Bit 0 can be on if the entry is an address. This indicates the address is to a short message block. 418
MONITOR TABLES TTBUFS Teletype Buffers. This storage area contains the input and output buffers for each line (TTY and PTY) on the system. Input and output pointers to each buffer are kept in the line's dynamic data block. These buffers are fixed length and are assigned on demand. When there is no character activity, the buffers are deassigned. Defined in: STG Format +-----------------------------------------------------+ TTBUFS: | Pointer to Next Buffer | |-----------------------------------------------------| | | / \ | | | | | | |Buffer | | | | \ / |-----------------------------------------------------| | . | \ . \ |-----------------------------------------------------| | Pointer to Next Buffer | |-----------------------------------------------------| | | / \ | | | | | | |Buffer | | | | \ / |-----------------------------------------------------| | . | \ . \ +-----------------------------------------------------+ NOTE The free buffers are linked and are pointed to by TTFREB. 419
MONITOR TABLES TTCSAD Terminal Call Special Request Address Table. This resident table is used to dispatch to a scheduler routine for a special line request. Special line requests are made when the DTEQ routine is unable to obtain space for a packet and cannot block to wait for the space. (i.e. process is NOSKED, or request made at interrupt or scheduler level). A special line request is made so that a packet will be queued later by SCHED. (See Table, TTCSTM). Defined in: STG Index: Line Number Format 0 6 +-------------------------------------------------------+ TTCSAD: | | |* / \ |-------------------------------------------------------| | | . | | | . | | | . | | . | NLINES | . | | | | | | | \ \ \ / +-------------------------------------------------------+ Bit Routine Meaning 0 TTTOBL Turn on line 1 TTSMIO TTMSG action 2 TTCOF Carrier off check | 3 TTCON1 Carrier on action 4 DZHV2 Hang up DZ line 5 NTYCOF Carrier off action 6 CKSALL Unhang stuck TTMSG line 7 CKNOIS Noisy line check 8-35 Reserved for future use 420
MONITOR TABLES TTCSTM Terminal Call Special Request Time Table. This resident table parallels the TTCSAD table and holds the time the Scheduler is to call the special request routine in TTCSAD. Defined in: STG Index: Line Number Format +-------------------------------------------------------+ TTCSTM: | Time for scheduler to call routine in TTCSAD | / \ |-------------------------------------------------------| | | . | | | . | | | . | | . | NLINES | . | | | | | | | | | | \ \ \ / +-------------------------------------------------------+ 421
MONITOR TABLES TTSPWD Terminal Speed Word Table. This resident table contains the terminal speeds for each terminal. Defined in: STG Index: Line number Format +-------------------------------------------------------+ TTSPWD: | TTISP Input Speed | TTOSP Output Speed | / \ |-------------------------------------------------------| | | . | | | . | | . | NLINES | . | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 422
MONITOR TABLES TTSTAT Teletype Status Table. This resident table contains the terminal characteristic flags. Defined in: STG Index: Line Number Format +-------------------------------------------------------+ TTSTAT: | Terminal Characteristics Flags |* / \ |-------------------------------------------------------| | | . | | | . | | . | NLINES | . | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ 0 1 2 3 4 5 6 7 8 10 13 15 17 8 9 20 27 28 35 +-------------------------------------------------------+ | | | | | | | | | | | | | TSFMC | TTFBB | +-------------------------------------------------------+ Symbol Bits Pointer Contents TT%FEM 0 TTFEM Line is remote TT%NTS 1 TTNTS Don't send system mesg. TT%FXO 2 TTFXO Line needs XON TT%CON 3 TTCON Carrier is on TT%FSP 4 TTFSP Line needs speed set TT%FXF 5 TTFXF Line needs XOF TT%IGI 6 TTIGI Ignore input when line is inactive TT%AUT 7 TTAUT Line is auto-speed TT%XOC 8 TTXOC Line needs XON/XOFF character (KS) TT%FPK 8 TTFPK Waiting for FE post (KL) TT%SHU 9 TTSHU Line is shut off TT%WSO 10 TTWSO Line was shut off TT%NTM 11 TTNTM Line does not want miscellaneous terminal messages 423
MONITOR TABLES TTSTAT (Cont.) TT%NUM 12 TTNUM Line does not want nonprivileged TTMSG's 14-17 TTYSTY Line type which yields the offset into the TTLINV table 18-19 TTNOI Count of noise characters on inactive line 20-27 TSFMC Max count for front-end buffer 28-35 TTFBB Entry count in Big Buf 424
MONITOR TABLES TTY-STORAGE-AREA Teletype Storage Area. This resident area contains hung and special line information, the Big Buffer, and information about the Big Buffer. (See TT-LINE-DYN-DATA-BLK, TTACTL, TTBUFS, TTCSAD, TTCSTM, TTLINV, TTSPWD, TTSTAT, and TTXXVT Tables). Defined in: STG Format +-------------------------------------------------------+ CTYINT: | Unit No. on the .FEDLS Device by which the | | Front End Knows the CTY | |-------------------------------------------------------| TCOERR: | TCOUT Sets this if Fails in Scheduler Context | |-------------------------------------------------------| JORLDF: | Interlock FE Reload Because CTY Hung | |-------------------------------------------------------| SALLCK: | SENDALL lock | |-------------------------------------------------------| SALCNT: | Count of Lines Doing SENDALL | |-------------------------------------------------------| SALBFR: | SENDALL Buffer Address | |-------------------------------------------------------| TTFREC: | Count of Free Buffers | |-------------------------------------------------------| TTFREB: | List of Free Buffers | |-------------------------------------------------------| / \ TTSOQ: | Start Output Queue | | | One Bit Per Line |NTSQWD | | | |-------------------------------------------------------| \ / | | | /|\ | CHSOQ: | CTERM Start Output Queue |CHSQWD | | 1 bit per line | | | |-------------------------------------------------------| \ / PTYSTM: | PTY Start Time | |-------------------------------------------------------| / \ TNETRQ: | Bit Mask for Active Net | | | User Lines |NTSQWD | | | | | \ / |-------------------------------------------------------| / \ TQLNQ: | Bit Matrix for Line | | | Function Queue |NTSQWD | | | 425
MONITOR TABLES TTY-STORAGE-AREA (Cont.) |-------------------------------------------------------| \ / | | | /|\ | SBBITS: | SBVECT Bit Mask |SBBWDS | | 1 bit per line | | | |-------------------------------------------------------| \ / TTBIGI: | Input Index into Big Buffer | |-------------------------------------------------------| TTBIGO: | Output Index into Big Buffer | |-------------------------------------------------------| TTBIGC: | Char Count in Big Buffer | |-------------------------------------------------------| / \ TTBBUF: | Big Buffer | | | | | | Storage for all TTY Input Chars. Before Being Placed | TTBSIZ | Into Individual Input Line Buffers in TTBUFS Area | = 200 | | | \ \ | |-------------------------------------------------------| \ / TTQCNT: | Count of Special Line Items | |-------------------------------------------------------| TTCQLN: | Control of Current Line Number | |-------------------------------------------------------| TTHNGL: | Line Being Examined for Hung | |-------------------------------------------------------| TTHNGT: | Time at Which Line Will be Defined as Hung | |-------------------------------------------------------| TTHNGN: | Last Hung Line | No. of Unhangs Done | |-------------------------------------------------------| LINKF: | Linked Output Character if not 0 | |-------------------------------------------------------| IMECHF: | Immediate Echo Output Char if not 0 | |-------------------------------------------------------| TTCHIC: | Input Character in TTCHI | |-------------------------------------------------------| 426
MONITOR TABLES UD This is structure UD, the user data area of a DECnet message. Defined in: D36PAR Format +------------------------------------------------------------------------+ /\ UDMSD | Space for MSD | MD.LEN \ \ \/ |------------------------------------------------------------------------| /\ UDDAT | Room for 16 bytes always available | <<UDH.LN+3>/4> \ \ \/ +------------------------------------------------------------------------+ 427
MONITOR TABLES UDB Unit Data Block. This block, one per unit, contains information about the current activity on the unit. Defined in: PHYPAR Format +-------------------------------------------------------+ UDBSTS | Status and Configuration Information | * |-------------------------------------------------------| UDBST1 | Secondary Status Word | * |-------------------------------------------------------| UDBMBW | Memory Bandwidth Scheduling Information | |-------------------------------------------------------| UDBODT | Overdue Timer for Seeks and the Like | |-------------------------------------------------------| UDBERR | Error Recovery Status Word | |-------------------------------------------------------| UDBERP | Error Reporting Work Area if Nonzero | |-------------------------------------------------------| UDBDSP | Unit Routine Main Entry Dispatch | |-------------------------------------------------------| UDBCDB | Secondary CDB | Primary CDB | |-------------------------------------------------------| UDBADR | Secondary Unit Address | Primary Unit Address | |-------------------------------------------------------| UDBAKA | Current CDB | Current Chain Address | |-------------------------------------------------------| UDBVID | Volume ID | |-------------------------------------------------------| UDBSTR | Unit Within Structure | Structure Number | |-------------------------------------------------------| UDBKDB | Pointer to KDB, if any | |-------------------------------------------------------| UDBDSH | High Order Drive Serial Number | |-------------------------------------------------------| UDBDSN | Drive Serial Number | |-------------------------------------------------------| UDBSEK | Seeks | |-------------------------------------------------------| UDBRED | Reads (Sectors if Disk, Frames if Tape) | |-------------------------------------------------------| UDBWRT | Writes (Sectors if Disk, Frames if Tape) | |-------------------------------------------------------| UDBRCT | Actual read count | |-------------------------------------------------------| UDBWCT | Actual write count | |-------------------------------------------------------| UDBRVC | Actual Skip Read (Read Verify) Count | 428
MONITOR TABLES UDB (Cont.) |-------------------------------------------------------| UDBSRE | Soft Read Errors | |-------------------------------------------------------| UDBSWE | Soft Write Errors | |-------------------------------------------------------| UDBHRE | Hard Read Errors | |-------------------------------------------------------| UDBHWE | Hard Write Errors | |-------------------------------------------------------| UDBPS1 | Current Cylinder (if Disk), File (if Tape) | |-------------------------------------------------------| UDBSP2 | Current Sector (if Disk), Record (if Tape) | |-------------------------------------------------------| UDBPWQ | Position Wait Queue Tail | Position Wait Queue Head | |-------------------------------------------------------| UDBTWQ | Transfer Wait Queue Tail | Transfer Wait Queue Head | |-------------------------------------------------------| UDBONR | Fork Which Owns This Unit (Maint. Mode) | |-------------------------------------------------------| UDBERC | Current Retry Count | |-------------------------------------------------------| UDBSPE | Soft Positioning Error | |-------------------------------------------------------| UDBHPE | Hard Positioning Error | |-------------------------------------------------------| UDBPNM | Program Name to Log on Error | |-------------------------------------------------------| UDBUDR | User Directory Number to Log on Error | |-------------------------------------------------------| UDBSIZ | Unit Size (Number of Cylinders) | |-------------------------------------------------------| UDBFCT | Seek Fairness Count | |-------------------------------------------------------| UDBCHB | IORB Used by Home Block Check | |-------------------------------------------------------| UDBFCR | Fairness Cnt. for Read Seek Preference | |-------------------------------------------------------| UDBSLV | Slave number if tape | |-------------------------------------------------------| UDBCHR | Characteristics word | |-------------------------------------------------------| UDB2ND | Pointer to UDB for Dynamic Alternate Port | |-------------------------------------------------------| UDBALT | Pointer to UDB for Static Alternate Port | |-------------------------------------------------------| UDBDDP | Device Dependent Parts for MTA or for DSK | | | | | | | \ \ +-------------------------------------------------------+ 429
MONITOR TABLES UDB (Cont.) Device Dependent Parts for disks: +-------------------------------------------------------+ UDBDDP= | HOMNAM SIXBIT/HOM/ | UDBNAM | | |-------------------------------------------------------| UDBHID: | HOMID SIXBIT/Unit ID/ | |-------------------------------------------------------| UDBHM2: | Unused | |-------------------------------------------------------| UDBSNM: | HOMSNM SIXBIT/Structure Name/ | |-------------------------------------------------------| UDBLUN: | # of Parks in STR | Logical Park # in STR | |-------------------------------------------------------| UDBMID: | HOMMID Pack Unique Code | |-------------------------------------------------------| UDBDCF: | Don't care Flags word | |-------------------------------------------------------| UDBCOD: | HOMCOD 0 | CODHOM (707070) | |-------------------------------------------------------| UDBPDB= | Two-word Serial Number | UDBSER | | |-------------------------------------------------------| UDBNPR: | Non-CI Processor Info | | |-------------------------------------------------------| / \ | UDBP00: | Node 0 Info | | | |-------------------------------------------------------| | UDBP01: | Node 1 Info |* | |-------------------------------------------------------|* | . | . |* | . | . |* | . | . |* | . | . |* | |-------------------------------------------------------| | UDBP15: | Node 15 Info |* | |-------------------------------------------------------| UDBDDD= | | RP.CNI | CONI of RH | |-------------------------------------------------------| RP.CRC | DATAI of RH Control Register | |-------------------------------------------------------| RP.DBF | DATAI of RH Data Register | |-------------------------------------------------------| RP.CYL | Number of Cylinders per unit | |-------------------------------------------------------| RP.SCL | Number of Sectors per Cylinder | |-------------------------------------------------------| RP.SSF | Number of Sectors per Surface | |-------------------------------------------------------| RP.USU | Number of USEC per LA REG Unit | 430
MONITOR TABLES UDB (Cont.) |-------------------------------------------------------| RP.USF | SSF * 64 (LA REG Unit) | |-------------------------------------------------------| RP.LST | Start of Last Page on a Cylinder | |-------------------------------------------------------| / \ RP.REG | Drive Registers | | | | | | | | | | 20 | | | / \ | | | | +-------------------------------------------------------+ \ / L.RP4 = Length of RP04/5/6/7 UDB | Words UDBP00 through UDBP15 have the following format: | | 0 33 34 35 | +------------------------------------------------------+ | | Node Server Number,, | | | | | +------------------------------------------------------+ | | Symbol Bit Meaning | | UDB%MA 33 Node in maintenance mode | UDB%WA 34 Wire A is good | UDB%WB 35 Wire B is good 431
MONITOR TABLES UDB (Cont.) Device Dependent Parts for Tapes: +-------------------------------------------------------+ UDBDDP= | Frames Read in NRZJ (Magtape) | UDBRNR | | |-------------------------------------------------------| UDBRPE | Frames Read in PE | |-------------------------------------------------------| UDBRGC | Frames Read in GCR | |-------------------------------------------------------| UDBRNR | Frames Written in NRZI | |-------------------------------------------------------| UDBWPE | Frames Written in PE | |-------------------------------------------------------| UDBWGC | Frames Written in GCR | |-------------------------------------------------------| UDBDDM= | Hardware-Determined Density | TU6HDN | | |-------------------------------------------------------| TU6EPS | Error Position | |-------------------------------------------------------| TU6EBP | Error Byte Pointer | |-------------------------------------------------------| TU6EBC | Error Byte Counter | |-------------------------------------------------------| TU6ECL | Tape Cleaner Flag | +-------------------------------------------------------+ LU.TM2 = Length of TM02 UDB UDBPDB through UDBP15 is a copy of the PDB (processor data block) which resides on sector 3 of a disk. It has the same format. 432
MONITOR TABLES UDB (Cont.) 24 26 31 35 +-------------------------------------------------------+ UDBSTS | | | | | +-------------------------------------------------------+ Symbol Bits Pointer Content US.OFS 0 USOFL Offline or unsafe US.CHB 1 Check home blocks before any | normal I/O US.POS 2 Positioning in progress US.ACT 3 Active US.BAT 4 Off if bad BAT blocks on this unit US.BLK 5 Lock bit for this units BAT blocks US.PGM 6 Dual port switch in (A or B) (RP04,5,6) US.MAI 7 Unit is in MAINT mode US.MRQ 8 MAINT mode is requested on this unit US.BOT 9 Unit is at BOT US.REW 10 Unit is rewinding US.WLK 11 Unit is write locked US.CIP 12 Unit is on a CI port US.OIR 13 Operator intervention required. Set at interrupt level, checked at SCHED. US.OMS 14 Once a minute message to operator. Used in conjunction with US.OIR US.PRQ 15 Positioning required on this unit US.TAP 16 Tape type device US.PSI 17 PSI online/offline/rewind done transition occurred US.DSK 18 Disk type device US.OR1 19 1st overdue rewind timer bit US.OR2 20 2nd overdue rewind timer bit US.2PT 21 Drive may be dual-ported between systems US.TPD 22 Disk is offline to prevent three ports US.BDK 23 CI broadcast needed US.RTY 24-26 Retry count field US.CIA 27 CI available US.UNA 28 Device unavailable (like 16 bit disk) 31-35 USTYP Unit Type 433
MONITOR TABLES UDB (Cont.) Type Code for USTYP Symbol Code Unit Symbol Code Unit .UTRP4 1 RP04 .UTT70 17 TU70 .UTRS4 2 RS04 .UTT71 20 TU71 .UTT45 3 TU45 .UTT72 21 TU72 .UTTM2 4 TM02 (as unit) .UTT73 22 TU7X .UTRP5 5 RP05 .UTDXB 23 DX20B for RP20 disks .UTRP6 6 RP06 .UTP20 24 RP20 .UTRP7 7 RP07 .UTNOD 25 CI node w/o MSCP server .UTRP8 10 RP08 .UTHSC 26 HSC50 .UTRM3 11 RM03 .UTR80 27 RA80 .UTTM3 12 TM03 .UTR81 30 RA81 .UTT77 13 TU77 .UTR60 31 RA60 .UTTM7 14 TM78 .UTR82 32 RA82 (future) .UTT78 15 TU78 .UTR62 33 RA62 (future) .UTDXA 16 DX20A for tapes .UTTA7 34 TA78 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 +-------------------------------------------------------+ UDBST1 | | | | | | | | | | | | | | | | | +-------------------------------------------------------+ Symbol Bits Content U1.OFS 0 Forced offline dual ported disk U1.FED 1 UDB ported to front-end U1.DCD 2 Disk with don't care set U1.DCU 3 UDB don't care set U1.HBR 4 Home block read in progress U1.PDW 5 PDW write in progress U1.STC 6 Status change while reading home blocks therefore we must do it again U1.DCR 7 Don't care about this dual ported disk (U1.DCD!U1.DCU composite) U1.PHB 8 Primary Home block bad U1.SHB 9 Secondary home block bad U1.PDR 10 PDV read in progress U1.VV 11 Volume valid U1.ODT 12 Overdue IORB Indicator U1.SOF 13 Structure timer is triggered | U1.NOL 14 Unit not online; wait while | searching for login structure 434
MONITOR TABLES UDIORB UDSKIO IORB Pool. The free IORBS are linked together in UDIORB and this list is pointed to by UIOLST. Used for disk IORBs (long). Defined in: STG Format +-------------------------------------------------------+ / \ UDIORB: | | | | | | \ \ | |-------------------------------------------------------| | | | | | . | | | . | NUIORB | . | * | | UIOLEN \ \ | |-------------------------------------------------------| | | | | | | | \ | | +-------------------------------------------------------+ \ / 435
MONITOR TABLES UDS Unit Dispatch Service Routine Table. This table, one per unit type, contains vectored addresses to unit dependent functions, and is given in its generalized form. The specific unit dispatch tables are RP4DSP (in PHYP4) for the disk device, and TM2DSP (in PHYM2) for the magtape device. See PHYPAR for definitions of arguments given and returned on calls to these unit routines. Defined in: PHYPAR Format +-------------------------------------------------------+ UDSINI=0 | Initialize | |-------------------------------------------------------| UDSSIO=1 | Start I/O on an IORB, skips if O.K. | |-------------------------------------------------------| UDSINT=2 |Interrupt Routine (called on interrupts for XFER done) | |-------------------------------------------------------| UDSERR=3 | Initiate Error Retry (skips if no more retrys) | |-------------------------------------------------------| UDSHNG=4 | Hung Reset (called from TIMER to reset hung devices) | |-------------------------------------------------------| UDSCNV=5 | Convert Unit Linear Address to CYL, SURF, SEC | |-------------------------------------------------------| UDSLTM=6 | Return Latency or Best Request | |-------------------------------------------------------| UDSPOS=7 | Start Positioning on IORB (skips if O.K.) | |-------------------------------------------------------| UDSATN=10| Attention Interrupt | |-------------------------------------------------------| UDSPRQ=11| Skip if Positioning Required | |-------------------------------------------------------| UDSSTK=12| Stack Second Command, Skip if OK | |-------------------------------------------------------| UDSEXT=13| Check Legality of Unit, Skip if Existant | |-------------------------------------------------------| UDSCCK=14| Check for Halted Microcode in Controllers | |-------------------------------------------------------| UDSPRL=15| Release Port | +-------------------------------------------------------+ 436
MONITOR TABLES UE This is an NI% user argument block (UN) extension, used for linking message buffers on and off the LAT message queues. Defined in: LATSRV Format +------------------------------------------------------------------------+ UELW0 | Queue Link Word for linking buffers to CB Qs | |------------------------------------------------------------------------| UELW1 | Queue Link Word for linking buffers to NI Qs | +------------------------------------------------------------------------+ 437
MONITOR TABLES UN UN is the common argument block passed by all users of NISRV, the Network Interconnect Server. Defined in: NIPAR Format | 0 2 3 4 5 6 7 8 | +------------------------------------------------------------------------+ | | | | | | | | | UNPRO |* | | | | | | | | Protocol type | |------------------------------------------------------------------------| | UNTDR | UNPMS | | Time Domain Reflectometry value | PI level mask | |------------------------------------------------------------------------| UNPID | Portal ID | |------------------------------------------------------------------------| UNUID | User's ID for this portal | |------------------------------------------------------------------------| UNRID | Request ID | |------------------------------------------------------------------------| UNSTA | Channel status |* |------------------------------------------------------------------------| UNCBA | Call back address (NU.OPN only) | |------------------------------------------------------------------------| /\ UNBFA | Buffer address | 2 \ \ \/ |------------------------------------------------------------------------| UNBSZ | Buffer size | |------------------------------------------------------------------------| /\ UNSAD | Source Ethernet address | 2 \ \ \/ |------------------------------------------------------------------------| /\ UNDAD | Destination Ethernet address | 2 \ \ \/ |------------------------------------------------------------------------| UNSPI | Secondary portal ID |* |------------------------------------------------------------------------| /\ UNCAR | Current Ethernet address | 2 \ \ \/ |------------------------------------------------------------------------| /\ UNHAD | Hardware address | 2 \ \ \/ |------------------------------------------------------------------------| | UNOXM | UNORC | | # Outstanding transmits | # Outstanding receives | +------------------------------------------------------------------------+ 438
MONITOR TABLES UN (Cont.) | Field Bit Meaning | | UNCHN 0-2 Storage for the NI channel number | | UNPAD #3 Use padding for this portal (NU.OPN only) | | UNZRO #4 Zero counters after reading | | UNADS 5-6 Address space of xmit or rcv buffer | UNA.EV=0 Exec virtual | UNA.UV=1 User virtual | UNA.PH=2 Physical | | UNPTR #7 UNDAD contains a byte pointer | | UNRSP #8 Response desired 0 1 17 18 26 27 35 +------------------------------------------------------------------------+ UNSTA | | | UNSST | UNEXS | +------------------------------------------------------------------------+ Symbol Bit Contents UNRUN 0-1 Channel is running; should be 1b0 UNSST 18-26 Channel substate UNEXS 27-35 Channel external state 0 8 9 35 +------------------------------------------------------------------------+ UNSPI | UNEXI | | +------------------------------------------------------------------------+ Symbol Bit Contents UNEXI 0-8 External portal ID 439
MONITOR TABLES UPT User Process Table. A one page User Process Table is associated with the process controller and with each fork in the system. (Those associated with forks may be swapped out with the fork.) However, there is only one UPT known to the hardware/firmware at any one time. The UPT known is the one whose address is pointed to by the hardware User Base Register (UBR), which is set-up when a process is chosen to run. UPT contains the dispatch address for process events (i.e., traps) and the user's section map table. Defined in: STG Format HWPTA: +-------------------------------------+ | | | Available to Software | | | \ \ |-------------------------------------| / \ UPTPPM= | | | HWPTA+400\ Reserved \ 20 | | | |-------------------------------------| \ / UPTTPI= | Address of LUUO Block | KLLUUO=HWPTA+420| | |-------------------------------------| UPTOVI= |User Arith. Overflow Trap Instruction| HWPTA+421| | |-------------------------------------| |User Stack Overflow Trap Instruction | |-------------------------------------| | User Trap 3 Trap Instruction | |-------------------------------------| KIMUFL= | MUUO flags | MUUO OP-AC | FFL= HWPTA+424| | | |-------------------------------------| KIMUPC= | MUUO Old PC | FPC= HWPTA+425| | |-------------------------------------| KIMUEF= | E of MUUO | HWPTA+426| | |-------------------------------------| KIMPCW= | MUUO Process Context | UPTPCW=HWPTA+427| | 440
MONITOR TABLES UPT (Cont.) |-------------------------------------| UPTDSP= | Kernel No Trap MUUO New PC (word) | HWPTA+430| | |-------------------------------------| | Kernel Trap MUUO New PC (word) | |-------------------------------------| |Supervisor No Trap MUUO New PC (word)| |-------------------------------------| | Supervisor Trap MUUO New PC (word) | |-------------------------------------| |Concealed No Trap MUUO New PC (word) | |-------------------------------------| | Concealed Trap MUUO New PC (word) | |-------------------------------------| | Public No Trap MUUO New PC (word) | |-------------------------------------| | Public Trap MUUO New PC (word) | |-------------------------------------| HWPTA+440| Reserved for software | | | \ \ |-------------------------------------| UPTPFW= | Page Fail Word | TRAPS0=HWPTA+500| | |-------------------------------------| UPTPFL= | Page Fail Flags | TRAPFL=HWPTA+501| | |-------------------------------------| UPTPFO= | Page Fail Old PC | TRAPPC=HWPTA+502| | |-------------------------------------| UPTPFN= | Page Fail New PC | HWPTA+503| | |-------------------------------------| HWPTA+504| | HWPTA+505| User Process Execution Time | |-------------------------------------| HWPTA+506| | HWPTA+507| User Memory Reference Count | |-------------------------------------| HWPTA+510| | | | 441
MONITOR TABLES UPT (Cont.) |-------------------------------------| USSPTB= | User Super Section Table | HWPTA+520| | |-------------------------------------| USECTB= | User Section 0 Pointer | HWPTA+540| User Section 1 Pointer | | . | | . | | . | HWPTA+577\ User Section 37 Pointer \ |-------------------------------------| HWPTA+600| | | Available to software | HWPTA+777\ \ +-------------------------------------+ Note: Approximately 1/4 of the UPT is used for hardware cells, leaving the rest available to software. The monitor currently uses this area to house the first page of the PSB table. (See PSB table description.) 442
MONITOR TABLES USER-PG-MAP-TBL User Page Map Table. This 512-word swappable table, holds or points to other tables that hold all of the mapping information needed by the firmware to translate user mode virtual addresses in a given section into physical memory addresses. It is pointed to by an entry in the forks' section table in its User Process Table (UPT). (See UPT table description.) The User Page Map, indexed by a 9 bit virtual page number (1), contains either the storage address for the virtual page if the page exists (immediate pointer) or a pointer to where the storage address resides in another table (shared or indirect pointer). The storage address can be a memory, swapping area, or disk page address. If the Storage address for the virtual page referenced by the process contains a memory page address (i.e., Storage Address Bits <12-17>=0), then the microcode, after copying this translation information along with the page's access bits into the CPU's Hardware Page Table (2), concatenates this memory page number with the index into the page to compose the complete physical address. If the storage address for the virtual page referenced does not contain a memory address (i.e., Storage Address Bits <12-17> not equal to 0), or the page is non-existant (i.e., Null Pointer word) or the page is being illegally accessed, the microcode will cause a page trap to the User Process Table (UPT). The monitor is then invoked to perform the analysis and resolution of the trap condition. Defined in: PROLOG 443
MONITOR TABLES USER-PG-MAP-TBL (Cont.) Format UPTPGA: +-------------------------------------------------------+ / \ 0| | | | Immediate Pointer | | |-------------------------------------------------------| | |0 2| 3 8| | 12 35| | | Op |Access Bits | | STGADR | | | Code | | | Storage Address | | | 1 | | | | | |-------------------------------------------------------| | | or | | | | | | Shared Pointer | | |-------------------------------------------------------| | |0 2 |3 8| |18 35| | | Op | Access | | SPTX | | | Code| Bits | | SPT. index | | 2 | | | (Holds Pg's Stor Adr.) |Virtual |-------------------------------------------------------| Pg# | or |(0-777 | | octal) | Indirect Pointer | |-------------------------------------------------------| | |0 2 |3 8 |9 17 |18 35 | | | Op | Access | IPPGN | SPTX | | | Code| Bits | PN | SPT index | | | 3 | | | (Holds Pg Tbl's Stor. Adr)| | |-------------------------------------------------------| | | or | | | | | | Null Pointer | | |-------------------------------------------------------| | |0 2 |3 8| | | |Op |Access Bits| 0 (Nonexistent Pg) | | |Code | | | | | 0 | 0 | | | |-------------------------------------------------------| | | . | | | . | | \ . \ \ / +-------------------------------------------------------+ * UPTPGA is the monitor's symbol used when it wishes to reference the current user's page map table for section 0. (1) A fork's virtual 18-bit address within a section is viewed as an address within a 512-word page, (i.e., virtual page number - 9 bits), Index into page 9-bits. 444
MONITOR TABLES USER-PG-MAP-TBL (Cont.) (2) This 512-word table is examined first by the microcode for the virtual page translation information. If not there, it then goes to the fork's UPTA in memory. 0 2 3 4 5 6 7 8 9 35 +-------------------------------------------------------+ Page Pointer | | | | | | | |Dependent on Pointer Type in Bits <0-2>| Word +-------------------------------------------------------+ Symbol Bits Meaning PTRCOD 0-2 Operation Code for the page pointer type IMMCOD = 1 Immediate Pointer SHRCOD = 2 Share Pointer INDCOD = 3 Indirect | PTPUB 3 Public Bit PTWR 4 Write Access PTKEEP 5 'Keep' Bit* PTCACH 6 Cache Bit PTCPY 7 Copy-on-Write (Software Only) PTSECM 8 Section is mapped PTLOK 9 Page is Locked (Immediate Pointer only) * Once the Keep bit is set in the hardware page table, the entry is kept until one of the following conditions occurs: 1. DATAO PAG is executed with bit 3 reset in E 2. CONO PAG is executed 3. A reference to another section causes a refill that overwrites the entry. 445
MONITOR TABLES USER-PG-MAP-TBL (Cont.) Pointer Types: 0 2 3 8 9 11 2 3 4 5 6 7 18 35 +-------------------------------------------------+ Immediate Pointer | 1 |Access Bits| | | | | | | | | +-------------------------------------------------+ Symbol Bits Pointer Meaning 0-8 See above STORAGE ADDRESS 12-35 STGADR Storage address (Interpretation follows) NCORTM 12-17 Non-Core Test Mask yielding type of storage. Bits <12-17>=0 => Bits <18-35>=Memory Pg Adr. Bits <12-17> not equal 0 => Bits <18-35>=Drum/DSK Adr. DSKAB 14 Storage address is a disk address DSKNB 15 Temporary bit used with DSKAB to say that disk address is newly assigned. DRMAB 16 Storage address is a drum address DRMOB 17 Used with DRMAB to indicate that the swapping area has overflowed to the disk file system. (Since TOPS-20 currently uses only the disk file system for swapping, a drum storage address will always have bits 16 17 set.) UAABC 17&35 Temporary bit used by the monitor's page trap handler when a copy-on-write page trap has occurred. If the page to be copied is a drum address, it will be faulted in before these bits are used, avoiding conflict over bit 17. These bits will signify to a lower level routine, SWPIN, that the page just gotten from the free list has no backup address and that it is to get a copy of another page. 446
MONITOR TABLES USER-PG-MAP-TBL (Cont.) 0 2 3 8 9 11 2 3 4 5 6 7 18 35 +-------------------------------------------------+ Null Pointer | 0 |Access Bits| | | | | | | | | +-------------------------------------------------+ Symbol Bits Meaning 0-8 These bits will have a value of 0 for the Null Pointer case. UAAB 17 Temporary bit used by the monitor's page trap handler to say that the page has no assigned backup address on disk/drum. 0 1 2 3 8 18 35 +---------------------------------------------------+ Shared Pointer | 2 |Access| | SPTX | | | Bits| | SPT index | +---------------------------------------------------+ Bits Pointer Meaning 0-8 See Above 18-35 SPTX The SPT index is used to obtain from the SPT, the page's storage address. 447
MONITOR TABLES USER-PG-MAP-TBL (Cont.) 0 1 2 3 8 9 17 18 35 +---------------------------------------------------+ Indirect Pointer | 3 |Access| IPPGN | SPTX | | | Bits| Page # | SPT index | +---------------------------------------------------+ Bits Pointer Meaning 0-8 See Above 9-17 IPPGN Page # whose value is used as an offset into the Page Table (pointed to by the SPT table address plus the SPT index in bits <18-35>) to obtain the page's trans- lation information. 18-35 SPTX The SPT index is used to obtain from the SPT the page table's storage address. The table's address plus the offset specified in bits <9-17> holds the virtual page's translation information. 448
MONITOR TABLES | VANA | | Vote Answer Area. The VANA is used by routines which compose the | reply to an incoming vote (Request Message Set). VANA has the same | format as VRQA with the exception that "Assorted Reserved Locations" | is not used. | | Defined in: ENQSRV | | | VANA: +-------------------------------------------------------+ | \ \ | \ \ | \ Header Area (Not Used) \ | \ \ | \ \ | |-------------------------------------------------------| | | EBDOFF | EBPKTN | EBPNUM | | .MHUDA |.MHUDA offset to data start| Total # msg | This msg # | | |-------------------------------------------------------| | | EBFLAG | EBCFSC | EBUNIQ | | .EBFFW | Flags |Function |Unique code for message set| | |-------------------------------------------------------| | | EBNODE | EBFTYP | EBTOTT | | .EBEOH | CI node number | Opcode |User words for this packet | | |-------------------------------------------------------| | | EBQFLG | | EBTYPE | | .EBSOD | ENQFLG |Reserved | OFN or -2 or -3 | | |-------------------------------------------------------| | | EBSTRN | | .EBFL1 | Structure name in Sixbit | | |-------------------------------------------------------| | | EBADDR | | .EBFL2 | Storage Address (from SPTH) | | |-------------------------------------------------------| | | EBGRP | EBHASH | | .EBGHV | Group number | Hash value for Lock-Block | | |-------------------------------------------------------| | | EBMBWS | EBTSWS | | .EBWCT | # of words in Mask Block | # of words in Text String | | |-------------------------------------------------------| /|\ | .EBSMB \ \ 15 | \ Mask Block \ Words | \ \ \|/ | |-------------------------------------------------------| / \ | \ \ | | \ ASCIZ String \ 50 | \ or \ Words | \ 500000,,0 + User Code \ | | \ \ \ / 449
MONITOR TABLES | VANA (Cont.) | |-------------------------------------------------------| /|\ | \ \ 3 | \ Additional Data Area \ Words | \ \ \|/ | +-------------------------------------------------------+ | 450
MONITOR TABLES VN VN contains the DECnet NSP and Routing Version number words. Defined in: D36PAR Format | 0 7 8 15 16 23 +------------------------------------------------------------------------+ | VNVER | VNECO | VNUCO | | |Version number | ECO number |User ECO number| | +------------------------------------------------------------------------+ 451
MONITOR TABLES | VRB | | Vote Request Buffer. VRB is used to send the reply back to the node | which issued the vote request. All replies only require a single SCA | message buffer. | | Defined in: ENQSRV | | +-------------------------------------------------------+ | \ \ | \ Port Header \ | \ and \ | \ SCA Header \ | \ \ | |-------------------------------------------------------| | | EBDOFF | EBPKTN | EBPNUM | | .MHUDA |.MHUDA offset to data start| Total # msg | This msg # | | |-------------------------------------------------------| | | EBFLAG | EBCFSC | EBUNIQ | | .EBFFW | Flags |Function |Unique code for message set| | |-------------------------------------------------------| | | EBNODE | EBFTYP | EBTOTT | | .EBEOH | CI node number | Opcode |User words for this packet | | |-------------------------------------------------------| | | EBQFLG | | EBTYPE | | .EBSOD | ENQFLG |Reserved | OFN or -2 or -3 | | |-------------------------------------------------------| | | EBSTRN | | .EBFL1 | Structure name in Sixbit | | |-------------------------------------------------------| | | EBADDR | | .EBFL2 | Storage Address (from SPTH) | | |-------------------------------------------------------| | | EBGRP | EBHASH | | .EBGHV | Group number | Hash value for Lock-Block | | |-------------------------------------------------------| | | EBMBWS | EBTSWS | | .EBWCT | # of words in Mask Block | # of words in Text String | | |-------------------------------------------------------| | .EBAD1 | Additional Data word 1 | | |-------------------------------------------------------| | .EBAD2 | Additional Data word 2 | | |-------------------------------------------------------| | .EBAD3 | Additional Data word 3 | | +-------------------------------------------------------+ | 452
MONITOR TABLES | VRPA | | Vote Reply Area. VRPA is used to collect the replies to the vote | request. | | Defined in: ENQSRV | | VRPA: +-------------------------------------------------------+ | | VPFLAG | | VPUNIQ | | .VPWD0 | Flags |Reserved |Unique code for message set| | |-------------------------------------------------------| | .VPAD1 | Additional Data word 1 | | |-------------------------------------------------------| | .VPAD2 | Additional Data word 2 | | |-------------------------------------------------------| | .VPAD3 | Additional Data word 3 | | +-------------------------------------------------------+ | | | +-------------------------------------------------------+ | | VPFLAG | | VPUNIQ | | .VPWD0 | Flags |Reserved |Unique code for message set| | +-------------------------------------------------------+ | | | | Contents of VPFLAG: | | Symbol Bits Meaning | | VPNOV 0 No vote required for this lock | VPNO 1 A "NO" reply was received from another node | VPRTY 2 A cluster state change occurred | | 453
MONITOR TABLES | VRQA | | Vote Request Area. VRQA is used by Interface Routines to compose the | Request Message Set. The ten words of header exist so that the | offsets exactly match the SCA message buffer in the Request Message | Set. | | Defined in: ENQSRV | | VRQA: +-------------------------------------------------------+ | \ \ | \ \ | \ Assorted Reserved Locations \ | \ \ | \ \ | |-------------------------------------------------------| | | EBDOFF | EBPKTN | EBPNUM | | .MHUDA |.MHUDA offset to data start| Total # msg | This msg # | | |-------------------------------------------------------| | | EBFLAG | EBCFSC | EBUNIQ | | .EBFFW | Flags |Function |Unique code for message set| | |-------------------------------------------------------| | | EBNODE | EBFTYP | EBTOTT | | .EBEOH | CI node number | Opcode |User words for this packet | | |-------------------------------------------------------| | | EBQFLG | | EBTYPE | | .EBSOD | ENQFLG |Reserved | OFN or -2 or -3 | | |-------------------------------------------------------| | | EBSTRN | | .EBFL1 | Structure name in Sixbit | | |-------------------------------------------------------| | | EBADDR | | .EBFL2 | Storage Address (from SPTH) | | |-------------------------------------------------------| | | EBGRP | EBHASH | | .EBGHV | Group number | Hash value for Lock-Block | | |-------------------------------------------------------| | | EBMBWS | EBTSWS | | .EBWCT | # of words in Mask Block | # of words in Text String | | |-------------------------------------------------------| | .EBSMB \ \ /|\ | \ Mask Block \ 15 | \ \ Words | |-------------------------------------------------------| \|/ | \ \ /|\ | \ ASCIZ String \ 50 | \ or \ Words | \ 500000,,0 + User Code \ | | \ \ \|/ 454
MONITOR TABLES | VRQA (Cont.) | |-------------------------------------------------------| /|\ | \ \ 3 | \ Additional Data Area \ Words | \ \ \|/ | +-------------------------------------------------------+ | | | |-------------------------------------------------------| | | EBFLAG | EBCFSC | EBUNIQ | | .EBFFW | Flags |Function |Unique code for message set| | |-------------------------------------------------------| | | Contents of EBFLAG: | | Symbol Bits Meaning | | EQNOV 0 No vote required for this lock | EQNO 1 A "NO" reply was received from another node | EQANS 2 This is a reply to a vote request | EQBLN 3 Ignore level numbers for this vote | EQTXT 4 The lock is described by a text string | | | +-------------------------------------------------------+ | \ \ | \ \ | \ Assorted Reserved Locations \ | \ \ | \ \ | |-------------------------------------------------------| | | | Contents of Port and SCA Header Section of VRQA: | | Symbol Location Meaning | | VOTUNI VRQA+0 Vote Unique Code | VOTVCT VRQA+1 The count of outstanding replies | VRBADR VRQA+2 The address of the vote reply buffer | ASMPTR VRQA+3 Offset into VRQA used by EQMSG | RPLYND VRQA+4 CFS host index to send reply to | EQLBLT VRQA+5 Lock-Block Action List | EQLBCT VRQA+6 Count of blocks on action list | EQCSTF VRQA+7 Cluster state change flag 455
MONITOR TABLES WS WS defines the format for the NI Write Station Info command. Defined in: PHYKNI Format +------------------------------------------------------------------------+ WSHAD | High order ethernet address | |------------------------------------------------------------------------| WSLAD | Low order ethernet address | |------------------------------------------------------------------------| | | | | | | | | WSVAR |* |------------------------------------------------------------------------| | | WSRTY | | | Error retry value | |------------------------------------------------------------------------| | WSFNC | | |Function which invoked this command| | +------------------------------------------------------------------------+ For field WSVAR(32-35): WSCRC 32 Allow receipt of frames with CRC errors WSPMC 33 Promiscious multicast mode WSH40 34 H4000 mode WSPRM 35 Promiscious mode 456
MONITOR TABLES XR The XR structure defines the format of the queue header for NI portal block transmit and receive queues (see NI Portal Block -- PR). Defined in: NIUSR Format Queue headers +------------------------------------------------------------------------+ XRQUH | Pointer to first item | |------------------------------------------------------------------------| XRQUE | Pointer to last item | +------------------------------------------------------------------------+ 457
APPENDIX A LISTING BY MONITOR MODULES This appendix lists the TOPS-20 modules and the monitor tables defined in each. Defined in Table Title | APRSRV SCHED-Variables | | CFSPAR CFS Resource Block | | CFSSRV CFS Voter Message Buffer | | CLULSN CLUHST | CLUSTS | | CLUPAR CLUDGR Message Buffer | | CSTnX CSTnX | | CTERMD CA | CH-CTERMD | | D36COM CH-D36COM | FB | | D36PAR AA | AJ | BP | CT | DL | EC | EL 458
LISTING BY MONITOR MODULES | ES | ET | FA | IA | IB | KB | LI | MB | MD-D36PAR | NE | NF | NM | NX | OA | PA | QA | QH-D36PAR | QP | RC-D36PAR | RM | SA | SJ | SL | SS | TR | UD | VN | | DNADLL LT | QB | | DSKALC HOM | | ENQPAR ENQ/DEQ-LOCK-BLOCK | Q-BLOCK | | ENQSRV VANA | VRB | VRPA | VRQA | | FREE FREESPACE BLOCK HEADER/TRAILER | FREESPACE DESCRIPTOR | FREESPACE-DESCRIPTOR INDEX TABLE | FREESPACE HISTORY RECORD | | IPCF IPCF-MESSAGE-HEADER | IPCF-PID-HEADER | | IPCIDV PT-IPCIDV 459
LISTING BY MONITOR MODULES | LATSRV AC | CB-LATSRV | CC-LATSRV | GB | HC | HN | QL | SB-LATSRV | UE | | LLINKS AK | LK | LS | NN | RT | SG-LLINKS | SV-LLINKS | | LLMOP CB-LLMOP | CD | CH-LLMOP | IM | LB | LD | LH | RB | RI | SV-LLMOP | | LOGNAM LOGICAL-NAME-DEFINITION | | MONSYM DEVCH1 | FDB | INIDVT | | NIPAR CC-NIPAR | MD-NIPAR | PC | UN | | NISRV PR-NISRV | | NIUSR BR | PI | PL | PR-NIUSR | XR | | NRTSRV NR 460
LISTING BY MONITOR MODULES | NTMAN DNA Parameter and Counter Data Base | NT | PRMP | | PHYKLP RIDSTS (Request-ID Status) | | PHYKNI BD | C1 | CM | FL | MT | PB-PHYKNI | PS-PHYKNI | PT-PHYKNI | QE | QH-PHYKNI | RC-PHYKNI | RD | RS | SB-PHYKNI | SN | WS | | PHYM2 KDB | | PHYMSC CICMST | CIDATA | MSCCID | MSCINT | MSCOLD | MSCTMO | | PHYMVR MSCP Server Command Header | MSCP SERVER STORAGE | SCDB | | PHYP2 KDB | | PHYPAR CDB | CDBCAD | CDS | IORB | KDB | UDB | UDS | | PHYSIO DSKSIZ | DSKUTP | NAMUTP 461
LISTING BY MONITOR MODULES | PROLOG BAT | DEV`DTB | DIRECTORY | DIRECTORY CACHE | DST | FDB | FKCNO | FKSWP | IDXFIL | JOBRTL | SPT | SPTD | SPTH | SPTO | SPTO2 | USER-PG-MAP-TBL | | SCAMPI CI Related Variables | SBLIST (System Block List) | | SCAPAR Connect ID Format | KDB | PCB (Port Control Block) | SCA Connection Block | SCA Ring Buffer Entry | System Block | | SCHED SCHED-VARIABLES | | SCLINK BU | CF | LN | NO-SCLINK | | SCPAR CB-SCPAR | MN | NO-SCPAR | PB-SCPAR | PS-SCPAR | PT-SCPAR | SB-SCPAR | ST | | SERCOD SYSERR-STORAGE-AREA | | STG ALOC1 | ALOC2 | BTB | BUG-HLT/CHK/INF-STORAGE-AREA | CDBCAD 462
LISTING BY MONITOR MODULES | CDR-STORAGE-AREA | CFHSHT | CFHSTS | CFNNAM | CFSHNM | CFSHST | CFSOFN | CFS Resource Block | CFSSTR | CHNTAB | CLASS-SCHEDULER-STORAGE | CST0 | CST1 | CST2 | CST3 | CST5 | DEVCH1 | DEVCH2 | DEVCHR | DEVDSP | DEVNAM | DEVUNT | DIRECTORY CACHE | DRMBBT | DRMCNT | DSKSZ`n | DST | DTE-STORAGE-AREA | DTEDTV | ENQ/DEQ - STORAGE AREA | EPT | EXEC-PG-MAP-TBL | FE-STORAGE-AREA | FKBSPW | FKCNO | FKINT | FKINTB | FKJOB | FKJTQ | FKNBW | FKNR | FKPGS | FKPGST | FKPT | FKQ1 | FKQ2 | FKSTA2 | FKSTAT | FKSWP | FKTIME 463
LISTING BY MONITOR MODULES | FKWSP | GTOKPR | HOME | HOMTAB | INIDEV | INIDV1 | INIDVT | IPCF-STORAGE-AREA | JOB AREA | JOBDIR | JOBNAM | JOBPNM | JOBPT | JOBRT | JOBRTL | JSB | LOGICAL-NAMES-LIST | LPT-STORAGE-AREA | MONITOR-STATISTICS | MSCP SERVER STORAGE | MTA-STORAGE-AREA | MTCUTB | NTCTAB | OFNLEN | PHYUNT | PIDCNT | PIDTBL | PROCESS STORAGE AREA | PSB | PTYSTS | RES-FREE-SPACE | SCDBTB | SCHED-VARIABLES | SCOUNT | SDB | SNAMES | SNBLKS | SPFLTS | SPT | SPTD | SPTH | SPTO | SPTO2 | SPTO3 | SPTO4 | SSIZE | STIMES | STRTAB | SWAP-FREE-SPACE (NON-EXTENDED) | SYNMTB 464
LISTING BY MONITOR MODULES | SYS-STARTUP-VECTORS | SYSERR-STORAGE-AREA | TTACTL | TTBUFS | TTCSAD | TTCSTM | TTSPWD | TTSTAT | TTY-STORAGE-AREA | UDIORB | UPT | | TTYDEF TT-LINE-DYN-DATA-BLK 465