Google
 

Trailing-Edge - PDP-10 Archives - bb-ee87a-sb - 10,7/doc/montab.rno
There is 1 other file named montab.rno in the archive. Click here to see a list.
.LM0;.RM70;.PS58,70;.SP1;.F;.J
.FG12;.C
TOPS-10 Monitor Tables
.FG5;.C
March 1984
.Fg5.NOTE ABSTRACT
This document contains illustrated descriptions of the tables used by the
TOPS-10 monitor to allocate memory, to control jobs and resources, and to
provide information.
.en.B.right
Operating System:	TOPS-10 Version 7.02
.PG;.RIGHT
Printed: July 1984
.B3
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.
.B
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.
.B
No responsibility is assumed for the use or reliability of
software on equipment that is not supplied by DIGITAL or
its affiliated companies.
.FG5;.C
Copyright##C#, 1980, 1984, Digital Equipment Corporation.
.C
All Rights Reserved.
.FG5
The postage-prepaid READER'S COMMENTS form on the last page of
this document requests the user's critical evaluation to assist us
in preparing future documentation.
.B
The following are trademarks of Digital Equipment Corporation:
.B;.LM5;.TS25,45;.NF;.NJ
DEC	DECnet	IAS
DECUS	DECsystem-10	MASSBUS
Digital Logo	DECSYSTEM-20	PDT
PDP	DECwriter	RSTS
UNIBUS	DIBOL	RSX
VAX	EduSystem	VMS
		VT
.b.f.j.pg.FG4.c;FOREWORD
.FG7
TOPS-10 Monitor Tables Descriptions are the result of the effort to
document and illustrate information that system analysts and programmers
might need to repair or modify TOPS-10 monitor source code. This document
is provided by the Software Publications department for LCG Software
Engineering without guarantee of technical accuracy.
.b
The tables are simply an extension and summary of the monitor source code.
To the inexperienced user, they may seem bewilderingly complex.  However,
to the user with experience in TOPS-10 monitor internals, and in the
TOPS-10 data structures, this document can be a useful reference for a
conceptual view of the monitor.
.b
The monitor source code itself is complex and lengthy, since it supports
many types of hardware and many software applications.  The code does not
regard the support status of any product, and this document follows suit.
For complete information about product support, refer to the current
TOPS-10 Software Product Description.
.b
This document is only a summary of the information written and processed by
the monitor.  It is an effort to record the information critical in
developing and maintaining TOPS-10.  Do not assume this document is correct
in all cases.  Please refer to source code listings of the appropriate
modules whenever using the information in these tables.
.b
The data structures for the ANF-10 network software are listed at the end
of this document, in Appendix A.
.b
The monitor tables are listed to reflect a TOPS-10 operating system based
on one or more KL processors.  The information will be different for any
other type of system.
.pg.LM5.TS25.nf
                       List of Monitor Tables
.b
AABTAB	Access Allowed Bit Table
ACC	Access Table
AVALTB	Available Resource Table
BAF	Bad Allocation File
User I/O Buffer
Buffer Ring Header
CDB	CPU Data Block
CDT	Connected Device Table
CHKTAB	UUO Check Bit Table
CHKTBC	CALL and CALLI UUO Check Bit Table
CHTABL	Special Character Table
CHN	Channel Data Block
CIPWT	Clock Request Queue
COMTAB	Command Table
COMTB2	SET Command Table
Disk Cache Data Structure
DDB	Device Data Block
DEVDSP	Device Dispatch Table
DISP	Command Dispatch Table
DSCTAB	Dataset Control Table
EPT	Exec Process Table
EXE Format Save Files
FETTBL	Table of Bits for Monitor Features
Fragment Table
HOM	Home Block
JBTADR	Job Address Table
JBTAD2	Second Job Address Table
JBTCHK	Segment Checksum Table
JBTCQ	Job Queues Table
JBTCSQ	Subqueues Table
JBTDEV	High Segment Device Table
JBTJIL	Just-Swapped-In List
JBTJRQ	Requeue List
JBTLIM	Job Time Limit Table
JBTLOC	Job Location Table
JBTNAM	Job Name Table
JBTOLS	Job Output List
JBTPC	User Mode PC
JBTPDB	Process Data Block Table
JBTPIA	Software Program Interrupt Table
JBTPPN	Project Programmer Number Table
JBTPRV	Job Privilege Bits
JBTRQT	Job Run-Queue Time Table
JBTRSP	Response Time Table
JBTRTD	Real Time Devices
JBTSCD	Subqueue (Class) Table
JBTSFD	Sub-File Directory Table
JBTSGN	Segment Table
JBTSPL	Spool Control Table
JBTSPS	Second Processor Status
JBTSTS	Status Table
JBTST2	Job Status Table 2
JBTSWP	Job Segment Swap Area
.pg
              List of Monitor Tables (Cont.)
.b
JBTUPM	UPT Address Table
JBTVRT	Paging Rate Table
JBTWCH	Watch Table
JDA	Device Assignment Table
JOBDAT	Data Area
Job Queues and Wait State Codes
KON	Kontroller Data Block
KONTAB	UDB Address Table Within KON
LDB	Line Data Block
LINTAB	Line Table
LOGTAB	LOGIN JBTTAB Pointer Table
LVDTBL	Level D Disk Parameter Table
Magtape Controller Data Block
Magtape Unit Data Block
MEMTAB	Virtual Memory Page Table
MFD	Master File Directory
NMB	File Name Block
NUMTAB	Table of GETTAB Tables
PAGTAB	Page Table
PDB	Process Data Block
PPB	Project Programmer Number Data Block
PTYTAB	Pseudo-Terminal DDB Table
QBITS	Wait State Code Requeue Table
Queue Transfer Table
Queue Table	Job Scanning (ISCAN, OSCAN, SSCAN, SSCAN1)
QQSTAB	Quantum Time Queue Table
QTTAB	Queue Progression Queue Table
REQTAB	Sharable Device Request Table
RIB	Retrieval Information Block
SAB	Storage Allocation Block
SAT.SYS
Scheduler Scan Tables
SPT	Storage Allocation Pointer Table
STR	File Structure Data Block
SWPLST	Swapping List Table
SW2LST	Secondary SWPLST
SW3LST	Third SWPLST
SWPTAB	Swapping Table
TABSTR	Structure Table
Transfer Tables
TTFCOM	Forced Commands Table
Terminal Chunks
TTUUOT	TTCALL Dispatch Table
TTYTAB	TTY Table
TYPTAB	Device Types Table
UCLJMP	CALL and CALLI UUO Dispatch Table
UCLTAB	CALL UUO Names Table
UDB	Unit Data Block
UFB	UFD Data Block
UFD	User File Directory
UPT	User Process Table
UUOTAB	UUO Dispatch Address Table
WSBTAB	Working Set Bit Table
.pg .f .j .ts 15 
.lm 15.i-15 ;Name:	AABTAB -- Access Allowed Bit Table
.b.i-15 ;Description:	Table of bits, located in UPT from
locations 457 to 475, which reflects whether access is allowed to a user
page or not.  IPCF and the PAGE. UUO handler routines reference this table.
.b.i-15 ;Defined in:	S.MAC
.b.i-15 ;Used by:	VMSER
.lm 0 .b2 ;Format:             UPT
.b.NF
            +--------------------------+
            |            .             |
            |            .             |
            |            .             |
            |                          |
            |--------------------------|
        457 | | | |                    |
            |--------------------------|
            |--------------------------|
            |           .              | AABTAB
            |           .              |
            |           .              |
            |--------------------------|
        475 |                          |
            |--------------------------|
            |           .              |
            |           .              |
            |           .              |
            |                          |
.pg .f .j
.lm 15.i-15 ;Name:	ACC -- Access Table
.b2.i-15 ;Description:	Contains information needed in order to
gain access to a specific version of a specific file.
.b
One table for each existing version of each open file.
.b
The access table for the current and possibly a superseding version
of the file are linked to the corresponding NMB.  Also, each disk
device data block contains a pointer to the access table for the
file currently being accessed.
.b.i-15 ;Defined in:	COMMOD
.b.i-15 ;Used by:	FILFND, FILIO, FILUUO, IPCSER, SEGCON, SYSINI, UUOCON
.b2.i-15 ;See also:	NMB, PPB
.lm 0 .nf .b2 ;Format:
.lm
.LITERAL
           +-------------------------------------------------------+
ACCALC(0)  |        Highest relative block number allocated        |
           |-------------------------------------------------------|
ACCNMB(1)* |     NMB or next ACC      |   See following page       |
           |-------------------------------------------------------|
ACCPT1(2)  |           First retrieval pointer to file             |
           |-------------------------------------------------------|
ACCDOR(3)  |     Next dormant ACC     |   Previous dormant ACC     |
           |-------------------------------------------------------|
ACCPPB(4)* |   See following pages    |           PPB              |
           |-------------------------------------------------------|
ACCADT(5)* |                 See following pages                   |
           |-------------------------------------------------------|
ACCWRT(6)  |           Highest relative block number written       |
           |-------------------------------------------------------|
ACCPRV(7)* | Privileges  |Mode|  Creation time   |Low creation date|
           +-------------------------------------------------------+
.EL
.b2
* Details on following pages.
.b
Notes:
.f;.ls
.le;When all users have closed a file, its access table is considered dormant.
Dormant access tables are linked into a doubly linked list through
ACCDOR, and are not deleted until their core space is needed.  If
a table is not dormant, ACCDOR contains zero.
.le;ACCWRT and ACCALC do not include the second RIB.
.els
.PG
ACCNMB (1) Byte Definitions
.b2
.LITERAL
+-----------------------------------------------------------+
|  NMB or Next ACC   | X|     LBS     | X|  UN1 | X| X| X| X|
+-----------------------------------------------------------+
 0                 17 18 19         26 27 28  31 32 33 34 35


Word              Bit Label or
Label     Bits    Byte Pointer   Content

ACCNMB    0-17                  Address of next ACC for same
                                name and PPN if there is one.

ACCABC      18     ACPABC       This file always has bad
                                checksum.

ACCLBS   19-26     ACYLBS       Number of words in last
                   ACZLBS       data block of file.

ACC1PT      27     ACP1PT       File has only one retrieval
                                pointer.

ACCUN1   28-31     COYUN1       Logical unit number, within 
                                structure, where file begins.

ACCDIR      32     ACPDIR       This file is a directory.

ACCNDL      33     ACPNDL       This file cannot be deleted.

ACCSBC      34     ACPSBC       Sometimes bad checksum.

ACCGRB      35     ACPGRB       Don't grab access table.
.EL
.b
Notes:
.f;.ls;.le;Normally there is only one ACC linked to an NMB.  But
while  a  file  is  being  superseded,  both the old and the new
versions of the file have ACCs linked to the NMB.
.le;The low order two bits of a pointer to another ACC will be zero.
The pointer back to the NMB points to Word 2 of the NMB, NMBACC.  Hence,
its low order bits will not be zero.
.le;There may be an arbitrary number of ACCs for older versions of
a file, which are still being read.  However, these ACCs are not
linked to the NMB.  The only pointers to them are in the DDBs of the
readers.
.els
.pg
.nf
ACCPPB (4)   Byte Definitions
.b
+-----------------------------------------------------+
|   FSN    |    Sim. updates |       |       PPB      |
+-----------------------------------------------------+
 0        5 6              13         18             35
.b2
Word                Bit Label or
Label     Bits      Byte Pointer        Content
.b;.lit
ACCFSN     0-5        ACYFSN           File structure number 
                      ACZFSN           of structure to which this 
                                         file belongs.

ACCWCT     6-13       ACYWCT           Write count for 
                      ACZWCT           simultaneous updates

ACCZRB       14       ACPZRB           If SFD, the SFD has empty
                                       data blocks.

ACCPPB    18-35                        Core address of project-
                                       programmer data block.
.el
.pg
ACCADT (5)  Byte Definitions
.b2;.literal
+----------------------------------------------------------------+
|  X  |   Last Access Date   |X|  CNT/USE  |X|X|        |X|X|    |
+----------------------------------------------------------------+
 0   2 3                  17 18 19      27 28 29 30  32 33 34

Word                  Bit Label or
Label       Bits      Byte Pointer        Content

ACCADT      0-2                          High-order 3 bits of
                                         creation date.  Low-order
                                         part is in ACCCDT.
ACCADT      3-17                         Date this file was last
                                         accessed for more than
                                         just LOOKUP.

ACCNIU        18      ACPNIU             File not in UFD.

ACCCNT     19-27      ACYCNT             Count of user channels
                      ACZCNT             with LOOKUP in force for
                                         this version of this file
                                         or SFD use count.

ACCREN        28      ACPREN             Rename in progress.

ACCDEL        29      ACPDEL             File to be deleted when
                                         all readers finished.

ACCSTS     30-32      ACYSTS             Access table status code:
              30      ACPCRE             File being created.
              31      ACPSUP             File being superseded.
              32      ACPUPD             File being updated.

ACCSMU        33      ACPSMU             This file being simultan-
                                         eously updated.

ACCPAL        34      ACPPAL             Pre-allocated file.

ACPSTS        35      ACPNDR             QUESER "don't delete on
                                         reset" bit.
.el
.fill.b
Notes:
.nf.ls.le;Access Table state codes are:
ACRCRE     4     File being created. ACPCRE (40)
ACRSUP     2     File superseding another ACPSUP (20)
ACRUPD     1     File being updated ACPUPD (10)
.f.le;The ACCADT table is called ACCUSE when the file is stored
in an SFD.
.els
.PG
ACCPRV (7)  Byte Definitions
.b;.literal
+-------------------------------------------------------+
|Privilege| Mode  |  Creation time   |  Creation date   |
+-------------------------------------------------------+
 0       8 9    12 13              23 24              35

  Word           Bit Label or
  Label    Bits  Byte Pointer   Content

ACCPRV     0-8    ACYPRV        Privileges.
ACCMOD     9-12                 Data mode of file.
ACCCTM    13-23                 File creation time.
ACCCDT    24-35                 Low-order 12 bits of file
                                creation date. Upper 3 bits
                                in ACCADT.
.el
Notes:
.b
Privilege codes:
.b;.nf
   Bit 0     FILDAE called on protection failure
   Bits 1-2  Owner's protection (4-7 not used)
   Bits 3-5  Apply to any job with matching project number.
   Bits 6-8  Apply to all other jobs.
.b
  A job is considered the owner of a file if:  
.b
    a)  INDPPN set to 0 at MONGEN (default) and programmer
        number matches or
    b)  INDPPN set to -1 at MONGEN and both project and
        programmer number match.
.b;Privilege codes for user files:
.b
    Code                Highest Privileges
.b
     7                  None
     6                  Execute
     5                  Read
     4                  Append (allocate, deallocate)
     3                  Update
     2                  Write (supersede, truncate)
     1                  Rename (change attributes)
     0                  Change privileges
.b;Privilege codes for directories:
.b
    Code                Privilege Given by Bit Being Set
.b
     4                  Allows lookups in this directory
     2                  Allows creates
     1                  Allow directory to be read as a
                        data file
.b
Any combination of these bits may be set.
.pg .f .ts 15 
.lm 15 .i-15 ;Name:	AVALTB -- Available Resource Table
.b2.i-15 ;Description:	Contains flags to indicate that a
sharable device has become available.  Each entry referenced by its
own label.
.b
Entry is -1 if the corresponding sharable resource
has become available since the last scheduling and some job is
waiting for it.
.b.i-15 ;Defined in:	COMMON
.b.i-15 ;Used by:	CLOCK1, COMMON, CPNSER, SCHED1, SYSINI
.lm0.b
Format:
.b2;.literal
        +-------------------------------------------------+
AUAVAL  |                                                 |
        |-------------------------------------------------|
DAAVAL  |                                                 |
        |-------------------------------------------------|
CBAVAL  |                                                 |
        |-------------------------------------------------|
D1AVAL  |                                                 |
        |-------------------------------------------------|
D2AVAL  |                                                 |
        |-------------------------------------------------|
D3AVAL  |                                                 |
        |-------------------------------------------------|
D4AVAL  |                                                 |
        |-------------------------------------------------|
D5AVAL  |                                                 |
        |-------------------------------------------------|
D6AVAL  |                                                 |
        |-------------------------------------------------|
D7AVAL  |                                                 |
        |-------------------------------------------------|
D8AVAL  |                                                 |
        |-------------------------------------------------|
DCAVAL  |                                                 |
        |-------------------------------------------------|
CAAVAL  |                                                 |
        |-------------------------------------------------|
MMAVAL  |                                                 |
        |-------------------------------------------------|
EVAVAL  |                                                 |
        |-------------------------------------------------|
EQAVAL  |                                                 |
        |-------------------------------------------------|
MCAVAL  |                                                 |
        +-------------------------------------------------+
.el
.pg
Special Notes:
.ls;.f;.le;Table REQTAB has entries corresponding to the AVALTB entries.
.le;The AVALTB entries are built by the conditionally assembled RWAITS
macro in S.MAC; therefore, some of the above listed entries may
not be present in all systems.
.le;This table is initialized to zero.
.els
.pg .f .ts 15
.lm 15.i-15 ;Name:  BAF -- Bad Allocation File
.b2.i-15 ;Description:	Disk block in which all known bad
regions in a structure are recorded.
.b
The BAF is always the next block after the home block in HOME.SYS, with a
copy in Block 11 (decimal) and belongs to BADBLK.SYS.
.b.i-15 ;Defined in:	COMMOD
.b.i-15 ;Used by:	FILIO, FILUUO, ONCMOD, REFSTR
.lm0.b
Format:
.b2;.literal
Symbol   Map                                                     Offset
        +-------------------------------------------------------+
BAFNAM  |        SIXBIT        / BAT  /                         | (0)
        |-------------------------------------------------------|
BAFFIR  |   No. of words in    |        Rel adr of first        | (1)
        |   in BAFREG area     |        bad region pair         |
        |-------------------------------------------------------|
BAFNBS* |   NBS   |    NBR     |  KDC   |                       | (2)
        |-------------------------------------------------------|
BAFCNT  |           No. pairs added to BAF by monitor           | (3)
        |-------------------------------------------------------|
BAFREG  |                   Bad region pair*                    |
        |-------------------------------------------------------|
        |                   Bad region pair*                    |
        |-------------------------------------------------------|
        /                           .                           /
        /                           .                           /
        /                           .                           /
        |-------------------------------------------------------|
BAFCOD  |          0           |     Unlikely code (606060)     | (176)
        |-------------------------------------------------------| 
BAFSLF  |          0           |     This block # in unit       | (177)
        +-------------------------------------------------------+
.el.b
Notes:
.ls;.le;The label BAFREG should not be used by programs that look
at this block.  They should use the right half of BAFFIR to determine
location of the first bad region pair.
.le;The Map Program is a stand alone program that checks all
disk blocks and writes an initial BAF.  As the monitor finds bad
blocks, it makes additional entries in the BAF.
.le;Both halves of BAFFIR are written by the mapping program and are
never changed by the monitor.  The left half is always an even number.
.els
.PG
.nf
BAFNBS Byte Definitions
.b2
+-------------------------------------------------------+
|   NBS   |    NBR    |   KDC   |                       |
+-------------------------------------------------------+
 0      8  9       17  18     24                     35
.b
Word                Byte
Label      Bits    Pointer    Content
.b
BAFNBS     0-8                Number of bad blocks found by
                              the map program.
.b
BAFNBR     9-17    BAYNBR     Number of bad regions found 
                              by the map program.  (Number
                              of entries in BAFREG table.)
.b
BAFKDC    18-24    BAYKDC     Controller device code used 
                              by map program.
.b2
First Word of Each Bad Region Pair - Byte Definitions
.b
+-------------------------------------------------------+
|    NBB    | 0 |     PUB     | KNM | |       APN       |
+-------------------------------------------------------+
 0        8   9  10         17 18 20   22             35
.b
Word              Byte Pointer    
Label      Bits   or Bit Label    Content
.b;.literal
BAFNBB     0-8     BAYNBB     Number of bad blocks -1 in
                              this bad region (not clusters).

BAFOTH       9     BAPOTH     Non-zero if this bad region is
                              detected on another controller
                              or processor than the one that
                              originally added the entry.

BAFPUB   10-17     BAPPUB     Physical unit within controller.
                              Bit 17-n represents unit n,
                              where n = 0-7.

BAFKNM   18-20     BAYKNM     Logical controller number, of 
                              this type.  From UNIKNM.

            21     BAPNTP     Non-zero if new style BAT block 
                              entry.

BAFAPN   22-35     BAYAPN     Serial number of APR running
                              when error was detected.
.end literal
.page
.literal
Second Word of Bad Region Pair

+-------------------------------------------------------+
| Ver |OTR|DTR|HDR|     | LBN of 1st bad block in region|
+-------------------------------------------------------+
0    2  3   4   5  6   8 9                            35

.el
Word              Byte Pointer    
Label      Bits   or Bit Label    Content
.b;.literal
BAFVER     0-2                    Version number of entry
                                  (presently 0)

BAFERR       3    BAPOTR           Other error (not data 
                                   or search error)

             4    BAPDTR           Data error (parity or
                                   ECC hard)

             5    BAPHDR           Search error or header
                                   compare error

BAFELB    9-35                     LBN of first bad block
                                   in region

.el
.lm0.fill
Notes:
.b
Values of the word labels are relative to the
beginning of the bad region pair, that is, 0 and 1.
.pg .f .ts 15 
.lm0
Name:  User I/O Buffer
.b.lm15.i-15
Description:	Contains pointers and storage area for
I/O data.  Set up by user programs as needed.
.b.i-15
Defined in:	Status bits defined in S.MAC
.lm0.b.nf
Format:
.b
Map                                                      Offset
+-------------------------------------------------------+
|                           |     File status bits      | (-1)
|-------------------------------------------------------|
| U |     Buf size          |       Next buf adr        | (0)
|-------------------------------------------------------|
|        Bookkeeping        |       Word count, n       | (1)
|-------------------------------------------------------|
|                     n data words                      | (2-n)
|-------------------------------------------------------|
|                      Unused area                      |
|                     (S-n)-1 words                     |
+-------------------------------------------------------+
.b
First Word (I/O status bits):
.b
Bit                 Meaning
.b
18           Improper mode.
19           Device detected error.
20           Data error, for example, checksum failure.
21           Block too large.
22           End of file.
23           Device is actively transmitting or receiving
             data.
24-29        Device-dependent parameters.
30           Synchronous input.  Stop device after each 
             buffer is filled.
31           Word count supplied by user for output.
             (Monitor normally computes word count.)
32-35        Data mode.
.pg
Second Word:
.b
Bit  Symbol        Meaning
.b
0    IOUSE         "Use" bit is set as follows:
.b
                   I/O       In Progress            Finished
.b
                   Input           0                   1
                   Output          1                   0
.B
                   Note that 0 means the buffer is available to 
                   filler; 1 means buffer is available to emptier.
.b
1    IOIBC         Inhibit zeroing output buffers at completion
                   of output
.b
2-17 IOSIZ         Size of buffer, not counting first two words
.b
18-35              Address of second word of next buffer of ring.
.b2
Third Word:
.b
Bit     Meaning
.b
0-17    Depends on type of device and mode
.b
18-35   Word count.  (Normally computed by monitor 
        for the device being used.)
.pg .f .ts 15 
.lm0
Name:  Buffer Ring Header
.lm15.b.i-15
Description:	Contains information by which user
programs access their I/O buffers.
.b.i-15
Defined in:	S.MAC
.lm 0 .b .nf ;Format:
.lit

Symbol  Map                                                      Offset
        +-------------------------------------------------------+
JBFADR  | V |              |       Current buffer address       | (0)
        |-------------------------------------------------------|
JBFPTR  |                     Byte pointer                      | (1)
        |-------------------------------------------------------|
JBFCTR  |                      Byte count                       | (2)
        |-------------------------------------------------------|
JBFUDX  |                 Univ. Dev. Index (UDX)                | (3)
        +-------------------------------------------------------+
.el.fill.b
Label values are relative to the beginning of the buffer ring header.
.b.nf
Word       
Label      Bits    Content
.b
JBFADR         0    Virgin buffer ring bit (will be 1 if buffer 
                    ring has been set up but not referenced.
           18-35    Address of second word of the buffer
                    currently available to the user program.
.b
JBFPTR      0-35    Byte pointer for user to access next
                    byte of buffer with ILDB or IDPB.
.b
JBFCTR      0-35    Number of remaining bytes available
                    to user.
.b
JBFUDX      0-35    UDX for MSGSER (MPX-controlled
                    devices only)
.b.F
Notes:
.ls;.le;Ring header must be set up within user program.
.le;Values are initialized by each INPUT or OUTPUT UUO, for
the buffer made available to the user.
.le;User program must keep JBFPTR and JBFCTR up to date as it
uses the buffer.
.els
.ps58,70.pg .lm 0.fill
Name:  CDB -- CPU Data Block
.b.lm15.ts15.i-15
Description:	There is one CPU data block for each CPU in the system.
The block contains both a constant and a variable data area, in contiguous
address space.  Routine addresses, pointers, bit masks, and
processor-dependent instructions are representative of the data found in
the CPU Constants Area.  The CPU Variables Area is cleared at initialiation and
on 403 restarts.  This area contains current status words for the CPU,
including current job information, protected job data locations, scheduler
and swapper parameters, and so forth.
.b
References can be made to a CDB location without indexing.  The symbols
used in this case will be in thr form of .Cnxxx, where n is the CPU number
(such as .C0xxx, .C1xxx, .C2xxx, and so on).  
.b
A "C" macro is used to generate labels and data for the Constants Area.
A "V" macro is used to define symbols and allocate space for the Variables
Area.  No data is generated by a "V" macro call.  The "C" and "V" macro
calls are contained in the CDB macro, which is expanded once for each CPU.
.B.I-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, CP1SER, ERRCON, KLSER, KSSER, PSISER, SCHED1,
SYSINI, UUOCON
.b.lm0
GETTAB Table Numbers:
.b.lm5.nf
55 (.GTC0C), 56 (.GTC0V)
57 (.GTC1C), 60 (.GTC1V)
61 (.GTC2C), 62 (.GTC2V)
63 (.GTC3C), 64 (.GTC3V)
65 (.GTC4C), 66 (.GTC4V)
.b.lm0.f.nt
All CDB symbols in the following tables require a prefix of .CP or .Cn,
where n is the CPU number.  The Variables Area contains "Old CDB Symbols"
that were used to refer to locations in pre-5.04 versions of the monitor.
.b
The following tables represent a KL-SMP (multiprocessor) system, assembled
with KL-paging enabled.  Entries will vary for other types of systems.
.en
.pg
.c;CPU Data Block Constants Area
.b
CDB Symbol                  Map                                 Offset
.b
.lit
                            +----------------------------------+
  CDB                       |Address of next CDB,,0            | (0)
                            |----------------------------------|
  ASN                       |APR serial number                 | (1)
                            |----------------------------------|
  OK                        |This CPU running OK.  If greater  | (2)
                            |than 0, this CPU has stopped      |
                            |running correctly.  Contents are  | 
                            |no. of jiffies CPU has been       |
                            |stopped.                          |
                            |----------------------------------|
  EPT                       |Physical address of EPTs for      | (3)
                            | KI, KL                           |
                            |----------------------------------|
  LOG                       |Logical CPU name SIXBIT/CPUn/     | (4)
                            |(n=0,1,...)                       |
                            |----------------------------------|
  PHY                       |Physical CPU name SIXBIT/CPxn/    | (5)
                            |(x=6,A,I,L) (n=0,1,...)           |
                            |----------------------------------|
  TYP                       |CPU type (1=PDP-6, 2=KA10, 3=KI10,| (6)
                            |4=KL10, 5=KS10)                   |
                            |----------------------------------|
  MPT                       |Pointer to bad address subtable   | (7)
                            |bits. Bits 0-8=length,            |
                            |RH=rel. addr in CDB               |
                            |----------------------------------|
  RTC                       |Real time clock (DK10) DDB adr    | (10)
                            |----------------------------------|
  RTD                       |DK10 DDB adr if high prec. time,  | (11)
                            |0 if low (APR clock)              |
                            |----------------------------------|
  PAR                       |Pointer to parity subtable        | (12)
                            |Bits 0-8=length, RH=rel adr in CDB|
                            |----------------------------------|
  RSP                       |Pointer to response subtable      | (13)
                            |Bits 0-8=length, RH=rel adr in CDB|
                            |----------------------------------|
  DKX                       |Number of DK10s on this CPU       | (14)
                            |----------------------------------|
  EBS                       |EBOX ticks per second             | (15)
                            |----------------------------------|
  MBS                       |MBOX ticks per second             | (16)
                            |----------------------------------|
  NMT                       |Pointer to NXM subtable           | (17)
                            |Bits 0-8=length, RH=rel adr in CDB|
                            |----------------------------------|
  CSB                       |Pointer to CPU status block       | (20)
                            |Bits 0-8=length, RH=rel adr in CDB|
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  DSB                       |Pointer to device status block    | (21)
                            |Bits 0-8=length, RH=rel adr in CDB|
                            |----------------------------------|
  SDP                       |Pointer to SBDIAG subtable        | (22)
                            |Bits 0-8=length, RH=rel adr in CDB|
                            |----------------------------------|
  BPA                       |Performance analysis subtable ptr | (23)
                            |bits 0-8 length, RH=rel adr in CDB|
                            |----------------------------------|
  MAP                       |Addr of CPU's exec map            | (24)
                            |----------------------------------|
  SPT                       |Special pages table               | (25)
                            |----------------------------------|
  XPT                       |Temporary storage for SPT         | (26)
                            |----------------------------------|
  CPN                       |CPU number                        | (27)
                            |----------------------------------|
  SK0                       |Generate SKPCPU(0)                | (30)
                            |(Instruction skips on CPU0,       |
                            | non-skip on others)
                            |----------------------------------|
  SK1                       |Generate SKPCPU(1)                | (31)
                            |(Instruction skips if not CPU0,   |
                            | non-skip for CPU0)               |
                            |----------------------------------|
  OK1                       |Address of policy CPU's OK word   | (32)
                            |----------------------------------|
  SLF                       |Pointer to start of CDB           | (33)
                            |----------------------------------|
  SCN                       |Scheduler run queue scan list adr | (34)
                            |(SSCAN or SSCAN1)                 |
                            |----------------------------------|
  SST                       |Address of subqueue scanning table| (35)
                            |----------------------------------|
  NPD                       |Null PDL pointer                  | (36)
                            |----------------------------------|
  EPD                       |Error PDL pointer                 | (37)
                            |----------------------------------|
  NJD                       |Address of null job data area     | (40)
                            |(offset by 20)                    |
                            |----------------------------------|
  STO                       |Scanner once-a-tick routine adr   | (41)
                            |----------------------------------|
  ISR                       |Scanner once-a-second routine adr | (42)
                            |----------------------------------|
  DLK                       |Used to call DSKLOK ownership flag| (43)
                            |   0 = currently owns DSKLOK      |
                            |   1 = doesn't own DSKLOK         |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  SCD                       |Scheduler interlock flag          | (44)
                            | -1 = doesn't own sched. interlock|
                            |  0 = owns scheduler interlock    |
                            |n>0 = owned scheduler interlock   |
                            |----------------------------------|
  RES                       |Address of power fail restart rtn.| (45)
                            |----------------------------------|
  NBI                       |Number interrupts broken by BRKLOK| (46)
                            |----------------------------------|
  ABK                       |Return address for CPNBPT         | (47)
                            |----------------------------------|
  KAF                       |Keep-alive-failure dispatch addr  | (50)
                            |----------------------------------|
  NAP                       |CONSO, CONI PI bits for all PIs   | (51)
                            |except APR PI in progress         |
                            |----------------------------------|
  APP                       |CONSO, CONI PI bits for APR PI in | (52)
                            |progress                          |
                            |----------------------------------|
  API                       |APR PI channel for this CPU       | (53)
                            |----------------------------------|
  ACO                       |CONSO PI bit for APR PI on        | (54)
                            |----------------------------------|
  CHL                       |Address of interrupt PC for       | (55)
                            |interrupt level (APnCHL)          |
                            |----------------------------------|
  CKL                       |Adr of interrupt PC for clock lev.| (56)
                            |(CKnCHL)                          |
                            |----------------------------------|
  CON                       |APR CONSO mask for currently      | (57)
                            |enabled condition                 |
                            |----------------------------------|
  EEB                       |Standard EXEC enabled CONSO bits  | (60)
                            |----------------------------------|
  IEF                       |Mask to clear all interrupting    | (61)
                            |APR error flags except memory     |
                            |parity and clock (and sweep done) |
                            |----------------------------------|
  CCF                       |Clear clock flag instruction      | (62)
                            |----------------------------------|
  HCT                       |Instruction that skips if clock   | (63)
                            |has ticked.                       |
                            |----------------------------------|
  MPI                       |Address of parity sweep           | (64)
                            |instruction (CPIMPI, CPLMPI, or   |
                            |CPSMPI)                           |
                            |----------------------------------|
  MPS                       |Bits to request parity sweep,,    | (65)
                            |Address of parity sweep subroutine|
                            |----------------------------------|
  NXM                       |Mask to test/clear APR NXM bit    | (66)
                            |----------------------------------|
  MPE                       |Mask to test/clear APR parity err | (67)
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  SCS                       |Scheduler doorbell bits for all   | (70)
                            |CPUs except this CPU              |
                            |----------------------------------|
  SCC                       |Scheduler doorbell bit for        | (71)
                            |this CPU                          |
                            |----------------------------------|
  QPS                       |Queued protocol doorbell bits for | (72)
                            |all CPUs except this CPU          |
                            |----------------------------------|
  QPC                       |Queued protocol doorbell bit for  | (73)
                            |this CPU                          |
                            |----------------------------------|
  DBM                       |Mask of all doorbell bits for     | (74)
                            |this CPU                          |
                            |----------------------------------|
  EBR                       |Exec base register on this CPU    | (75)
                            |----------------------------------|
  CTN                       | RH = CTY number for this CPU     | (76)
                            | LH = DLS line number on DTE      |
                            |----------------------------------|
  DTN                       |Number of DTEs on this CPU        | (77)
                            |----------------------------------|
  CAC                       |Saved AC set 0 at start of        | (100)
                            |stopcode processing               |
                            |----------------------------------|
  STT                       |K?SER temp for trap processing    | (120)
                            |----------------------------------|
  ST1                       |Saved T1 on page traps            | (121)
                            |----------------------------------|
  ST2                       |Saved T2 on page traps            | (122)
                            |----------------------------------|
  EJ1                       |K?SER temp for IME processing     | (123)
                            |----------------------------------|
  EJ2                       |K?SER temp for IME processing     | (124)
                            |----------------------------------|
  EJ3                       |K?SER temp for IME processing     | (125)
                            |----------------------------------|
  EJ4                       |K?SER temp for IME processing     | (126)
                            |----------------------------------|
  RCT                       |Real time PI channel table        | (127)
                            |        (6 words)                 |
                            |----------------------------------|
  RDT                       |Real time dismiss table           | (135)
                            |        (6 words)                 |
                            |----------------------------------|
  CPI                       |CONI PI at start of stopcode      | (143)
                            |processing                        |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  SVA                       |Stopcode processing JSRs here to  | (144)
                            |save all AC sets                  |
                            |----------------------------------|
  SVB                       |Instruction that jumps to routine | (145)
                            |to save all AC sets (JRST SVSETS) |
                            |----------------------------------|
  TRP                       |Current MUUO saved at start of    | (146)
                            |stopcode processing               |
                            |----------------------------------|
  RTS                       |Temporarily used during RTTRP     | (147)
                            | error procedure                  |
                            |----------------------------------|
  RTT                       |RTTRP in progress flag            | (150)
                            |----------------------------------|
  TML                       |Value of time at last clock tick  | (151)
                            |----------------------------------|
  OCB                       |0 if this CDB isn't owned by a CPU| (152)
                            |----------------------------------|
  AID                       |-1 if restart(vs. initial startup)| (153)
                            |----------------------------------|
  DWD                       |Recursion interlock for DIE       | (154)
                            |----------------------------------|
  SAV                       |PI save routines                  | (155)
                            |LH = "Tape PI save" routine adr.  |
                            |RH = "Disk PI save" routine adr.  |
                            |----------------------------------|
  ACD                       |Zero if AUTCON has run on this CPU| (156)
                            |----------------------------------|
  TIL                       |AUTCON tape interlock word        | (157)
                            |----------------------------------|
  NUM                       |AUTCON starting controller info.: | (160)
                            | RP, RN, MT letter (0=A,1=B,...)  |
                            |----------------------------------|
  CML                       |Address of start of tape channel's| (161)
                            |interrupt routine                 |
                            |----------------------------------|
  TCH                       |Used for vectored tape interrupts | (162)
                            |----------------------------------|
  SPR                       |Instruction to cause parity error | (163)
                            |interrupt                         |
                            |----------------------------------|
  CPR                       |Instruction to clear parity       | (164)
                            |error flag                        |
                            |----------------------------------|
  SB0                       |SBDIAG function 0 argument        | (165)
                            |----------------------------------|
  S0A                       |SBDIAG function 0 answer          | (166)
                            |----------------------------------|
  SB1                       |SBDIAG function 1 argument        | (167)
                            |----------------------------------|
  S1A                       |SBDIAG function 1 answer          | (170)
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  TOA                       |Addr of character typeout routine | (171)
                            |----------------------------------|
  TIV                       |Addr of vector with input routines| (172)
                            |----------------------------------|
  NLD                       |DX20 auto-reload flag:            | (173)
                            | 0 = enable, non-zero = disabled  |
                            |----------------------------------|
  DDT                       |Instruction for this CPU to enter | (174)
                            | EDDT                             |
                            |----------------------------------|
  EDV                       |Code "EDV",,length of EXEC data   | (175)
                            |vector                            |
                            |----------------------------------|
  ED1                       |Adr of address swapping block     | (176)
                            |----------------------------------|
  ED2                       |Relocated contents of .JBSYM      | (177)
                            |----------------------------------|
  ED3                       |Relocated contents of .JBUSY      | (200)
                            |----------------------------------|
  ED4                       |Address of word for DDT to use    | (201)
                            |----------------------------------|
  ED5                       |CPU/paging hardware data          | (202)
                            |----------------------------------|
  ED6                       |Physical address of this CPU's EPT| (203)
                            |----------------------------------|
  ED7                       |Physical address of this CPU's SPT| (204)
                            |----------------------------------|
  ED0                       |Physical address of this CPU's CST| (205)
                            | (not used by TOPS-10)            |
                            |----------------------------------|
  HSF                       |Word for DDT to use               | (206)
                            |----------------------------------|
  SYB                       |Length of address swapping block  | (207)
                            |----------------------------------|
  SY1                       |Number of words to swap           | (210)
                            |----------------------------------|
  SY2                       |Address of first word to swap     | (211)
                            |----------------------------------|
  SY3                       |Place where new map may be found  | (212)
                            |----------------------------------|
  SY4                       |Place to save old contents        | (213)
                            +----------------------------------+
.el
.pg
.c;CPU Data Block Variables Area
.b2
CDB Symbol  Old Symbol      Map                                 Offset
.B;.lit
                            +----------------------------------+
  VBG         CORMAX        |Size of largest user program      | (214)
                            |(in words)                        |
                            |----------------------------------|
              CORLST        |Pointer to last free block        | (215)
                            |possible                          |
                            |----------------------------------|
              CORTAL        |Free + dormant + idle core blocks | (216)
                            |----------------------------------|
              SHFWAT        |Obsolete                          | (217)
                            |----------------------------------|
              HOLEF         |Absolute address of lowest hole   | (220)
                            |in core                           |
                            |----------------------------------|
  UPT                       |Uptime for this CPU in clock ticks| (221)
                            |----------------------------------|
              SHFWRD        |Obsolete                          | (222)
                            |----------------------------------|
              STUSER        |Obsolete                          | (223)
                            |----------------------------------|
              HIGHJB        |Highest job number currently      | (224)
                            |assigned                          |
                            |----------------------------------|
              CLRWRD        |Number of words cleared by        | (225)
                            |CLRCOR                            |
                            |----------------------------------|
  LST         LSTWRD        |Lost time on this CPU in jiffies  | (226)
                            |----------------------------------|
              MEMSIZ        |Size of physical memory in words  | (227)
                            |----------------------------------|
  TPE                       |Total parity errors detected      | (230)
                            |on this CPU                       |
                            |----------------------------------|
  SPE                       |Total spurious parity errors (did | (231)
                            |not recur) on this CPU            |
                            |----------------------------------|
  MPC                       |Total numberof times this CPU     | (232)
                            |continued after a parity error    |
                            |----------------------------------|
  MPA                       |Memory parity address of first    | (233)
                            |bad address                       |
                            |----------------------------------|
  MPW                       |Contents of first bad word found. | (234)
                            |----------------------------------|
  MPP                       |Memory parity PC exclusive of     | (235)
                            |parity sweep.                     |
                            |----------------------------------|
              EPOCNT        |Number of PDL OVF's at UUO level  | (236)
                            |not recovered                     |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
              EPOREC        |Obsolete                          | (237)
                            |----------------------------------|
              MAXMAX        |Highest legal value of CORMAX     | (240)
                            |----------------------------------|
              SYSKTM        |Count-down timer for SET KSYS     | (241)
                            |command                           |
                            |----------------------------------|
              CORMIN        |Lower bound on CORMAX             | (242)
                            |----------------------------------|
  ABC                       |Address break count on this CPU   | (243)
                            |----------------------------------|
  ABA                       |Address break address on this CPU | (244)
                            |----------------------------------|
  LJR                       |Last job run on this CPU          | (245)
                            |----------------------------------|
  ODA                       |Obsolete (3 words)                | (246)
                            |----------------------------------|
  STS                       |Stop timesharing on this CPU.     | (251)
                            |Contains job no. that did TRPSET  |
                            |or RECON. UUO.                    |
                            |----------------------------------|
  RUN                       |Operator-controlled scheduling    | (252)
                            |for this CPU.                     |
                            |Bit 0 = Run jobs                  |
                            |Bit 1 = Don't run jobs            |
                            |----------------------------------|
  NUL                       |Null time for this CPU in jiffies | (253)
                            |----------------------------------|
  EDI                       |No. of exec don't care interrupts | (254)
                            |----------------------------------|
  JOB                       |Current job on this CPU           | (255)
                            |----------------------------------|
  OHT                       |Overhead time for this CPU in     | (256)
                            |jiffies                           |
                            |----------------------------------|
  EVM                       |Max amount of exec space for jobs | (257)
                            |mapped in exec mode by LOCK UUO.  |
                            |----------------------------------|     
  EVU                       |Total exec virt addr. space       | (260)
                            |currently being used to map user  |  
                            |segments                          |
                            |----------------------------------|
  LLC                       |Number of times this CPU has      | (261)
                            |looped waiting for other CPU      |
                            |----------------------------------|
  TUC                       |Total number of UUOs on this CPU  | (262)
                            |----------------------------------|
  TJC                       |Total job context-switches        | (263)
                            |----------------------------------|
  TNE                       |Total NXM's                       | (264)
                            |----------------------------------|
  SNE                       |Total non-reproducible NXM's      | (265)
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  NJA                       |Total jobs crashed this NXM       | (266)
                            |----------------------------------|
  MNA                       |First address found with NXM      | (267)
                            |----------------------------------|
  EBJ                       |EBOX ticks/jiffy                  | (270)
                            |----------------------------------|
  MBJ                       |MBOX ticks/jiffy                  | (271)
                            |----------------------------------|
  PBA                       |Physical address with bad parity  | (272)
                            |on last parity trap               |
                            |----------------------------------|      
  TBD                       |Contents of bad word on last      | (273)
                            |AR/ARX parity trap                |
                            |----------------------------------|
  TGD                       |Good contents of word after we    | (274)
                            |recovered from AR/ARX parity trap |
                            |----------------------------------|
  NPT                       |Total no. of AR/ARX parity traps  | (275)
                            |----------------------------------|
  AER                       |Results of RDERA on last          | (276)
                            |parity/NXM interrupt              |
                            |----------------------------------|
  PEF                       |Results of CONI APR, on parity int| (277)
                            |----------------------------------|
  PSB                       |Obsolete (4 words)                | (300)
                            |----------------------------------|
  PPC                       |PC on last AR/ARX parity trap     | (304)
                            |----------------------------------|
  PFW                       |Page fail word on last AR/ARX     | (305)
                            |parity trap                       |
                            |----------------------------------|
  HPT                       |No. hard AR/ARX parity traps      | (306)
                            |----------------------------------|
  SAR                       |No. soft AR/ARX parity traps      | (307)
                            |----------------------------------|
  PTP                       |No. page table parity traps       | (310)
                            |----------------------------------|
  CSN                       |No. cache sweeps started          | (311)
                            |----------------------------------|
  CLN                       |No. of times scheduler skipped    | (312)
                            |a job because the job needed a    |
                            |cache sweep on another CPU        |
                            |----------------------------------|
  CLT                       |Time in jiffies the CPU ran the   | (313)
                            |null job because of cache state   |
                            |----------------------------------|
  CSD                       |No. of times swapper couldn't swap| (314)
                            |a job out because it needed its   |
                            |cache swept                       |
                            |----------------------------------|
  CRN                       |Cache sweep request sweep count   | (315)
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  CEC                       |No. non-recoverable AR/ARX parity | (316)
                            |errors involving cache            |
                            |----------------------------------|
  PTR                       |Retry word for AR/ARX parity trap | (317)
                            |----------------------------------|
  TSD                       |Obsolete                          | (320)
                            |----------------------------------|
  REP                       |Parity error/NXM reporting flag   | (321)
                            | 0 = report NXM error             |
                            |-1 = report parity error          |
                            |----------------------------------|
  NDB                       |Number of times this CPU's        | (322)
                            |doorbell was rung                 |
                            |----------------------------------|
  SBR                       |LH = unused; RH = bits telling    | (323)
                            |which status blocks have been read|
                            |on this CPU (see SR.xxx in S.MAC) |
                            |----------------------------------|
  BPF                       |Background performance analysis   | (324)
                            |timer. If meter is running,       |
                            |contains negative of the number   |
                            |of clock ticks to next performance|
                            |analysis update.                  |
                            |----------------------------------|
  FBI                       |File blocks input (read)          | (325)
                            |----------------------------------|
  FBO                       |File blocks output (written)      | (326)
                            |----------------------------------|
  SBI                       |Swapping blocks input (read)      | (327)
                            |----------------------------------|
  SBO                       |Swapping blocks output (written)  | (330)
                            |----------------------------------|
  SNC                       |Number of CPU stopcodes           | (331)
                            |----------------------------------|
  SND                       |Number of DEBUG stopcodes         | (332)
                            |----------------------------------|
  SNJ                       |Number of JOB stopcodes           | (333)
                            |----------------------------------|
  SJN                       |Job number as last stopcode       | (334)
                            |----------------------------------|
  SNM                       |LH = Name of last stopcode        | (335)
                            |RH = PC+1 of last stopcode        |
                            |----------------------------------|
  SPN                       |Program running at last stopcode  | (336)
                            |----------------------------------|
  SPP                       |PPN of user at last stopcode      | (337)
                            |----------------------------------|
  STN                       |TTY name at last stopcode         | (340)
                            |----------------------------------|
  SUP                       |User PC at time of last stopcode  | (341)
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  SUU                       |UUO at time of last stopcode      | (342)
                            |----------------------------------|
  EJN                       |Job number at last parity/NXM err | (343)
                            |----------------------------------|
  EPN                       |Program at last parity/NXM error  | (344)
                            |----------------------------------|
  PPI                       |Results of CONI PI, on parity/NXM | (345)
                            |interrupt                         |
                            |----------------------------------|
  TPI                       |Results of CONI PI, on page fail  | (346)
                            |trap                              |
                            |----------------------------------|
  RSI                       |Number of times scheduler         | (347)
                            | interlock was requested when     |
                            | not owned.                       |
                            |----------------------------------|
  TFI                       |Number of tape frames read on     | (350)
                            | this CPU                         |
                            |----------------------------------|
  TFO                       |Number of tape frames written on  | (351)
                            | this CPU                         |
                            |----------------------------------|
                            |Response subtable                 | (352)
                            |----------------------------------|
                            / Memory parity subtable           /      
                            /----------------------------------/
                            / Memory NXM subtable              /
                            /----------------------------------/
                            / CPU status block subtable        /
                            /----------------------------------/
                            / SBDIAG status block subtable     /
                            /----------------------------------/
                            / Device status block subtable     /
                            /----------------------------------/
                            / KL background performance        /
                            / analysis subtable                /
                            |----------------------------------|
  ADR      JOBADR           |Same as JBTADR (J) for current job| (1055)
                            |----------------------------------|
  REL                       |Highest rel addr for current user | (1056)
                            |----------------------------------|
  PC                        |Job PC when scheduler is called   | (1057)
                            | (2 words)                        |
                            |----------------------------------|
  XTM                       |Time of last switch from monitor  | (1061)
                            |cycle to user job or vice versa   |
                            |----------------------------------|
  LS2                       |Additional lost time (fractional  | (1062)
                            |jiffy)                            |
                            |----------------------------------|
  NL2                       |Additional null time (fractional  | (1063)
                            |jiffy)                            |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  OH2                       |Additional overhead time          | (1064)
                            |(fractional jiffy)                |
                            |----------------------------------|
  TNT                       |Time interval since last at       | (1065)
                            |clock level                       |
                            |----------------------------------|
  HTM                       |Hung device time check            | (1066)
                            |----------------------------------|
  SEC                       |Seconds left before doing         | (1067)
                            |once-a-minute code                |
                            |----------------------------------|
  RCU                       |Count of realtime CONSOs of       | (1070)
                            |skip chain (6 words)              |
                            |----------------------------------|
  RIT                       |Real time initialization table    | (1076)
                            |(6 words)                         |
                            |----------------------------------|
  DMI                       |Real time dismiss instruction     | (1104)
                            |----------------------------------|
  CKF      CLKFLG           |Non-zero when CLK interrupt (PI 7)| (1105)
                            |requested                         |
                            |----------------------------------|
  TMF      TIMEF            |Non-zero when APR clock ticked    | (1106)
                            |----------------------------------|  
  SCF                       |Force scheduling from exec mode   | (1107)
                            |----------------------------------|
  CHT                       |Flag to remember clock has ticked.| (1110)
                            |Used to call queued I/O protocol  |
                            |routines.                         |
                            |----------------------------------|
  RTF      SCDRTF           |Non-zero when realtime reschedule | (1111)
                            |required                          |
                            |----------------------------------|
  ISF                       |In scheduler flag                 | (1112)
                            |----------------------------------|
  SUD                       |Address of scan table used during | (1113)
                            |last scheduler scan               |
                            |----------------------------------|
  HQU                       |Non-zero if current job needs to  | (1114)
                            |be rescheduled due to an HPQ UUO  |
                            |----------------------------------|
  PLT                       |Flag set if current clock tick    | (1115)
                            |is potentially lost time.         |
                            |----------------------------------|
  CLF                       |Flag set if current clock tick    | (1116)
                            |is potentially lost time due to   |
                            |the state of the stack.           |
                            |----------------------------------|
  CL2                       |Low order cache lost time         | (1117)
                            |----------------------------------|
  SDA                       |Number cache sweeps for core      | (1120)
                            |deallocation                      |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  CSR                       |Cache sweep request flag for this | (1121)
                            |CPU                               |
                            |----------------------------------|
  AEF                       |APR error flag                    | (1122)
                            |----------------------------------|
  SAC                       |Saved copy of .CPAEF              | (1123)
                            |----------------------------------|
  APC                       |Current PC on detecting APR error | (1124)
                            |(2 words)                         |
                            |----------------------------------|
  MDP                       |Memory parity error,              | (1126)
                            | double-word PC                   |
                            |----------------------------------|
  PPD                       |AR/ARX double-word PC             | (1130)
                            |----------------------------------|
  NJE                       |Error in null job if non-zero     | (1132)
                            |----------------------------------|
  SFC                       |Scheduler fairness count          | (1133)
                            |----------------------------------|
  SQF                       |Non-zero if current job from      | (1134)
                            |subqueues                         |
                            |----------------------------------|
  APR                       |Current user address break cond's.| (1135)
                            |----------------------------------|
  IPI                       |Interval timer PI assignment      | (1136)
                            |----------------------------------|
  CN1                       |CONSO mask for APR interrupts user| (1137)
                            |wants to handle.                  |
                            |----------------------------------|
  DTO                       |Last DATAO PAG done               | (1140)
                            |----------------------------------|
  SP                        |Place to save P on APR interrupt  | (1141)
                            |(2 words)                         |
                            |----------------------------------|
  S17                       |Place to save AC17 on CLK         | (1143)
                            |interrupt (2 words)               |
                            |----------------------------------|
  A00                       |17 (octal) words to store ACs on  | (1145)
                            |parity trap                       |
                            |----------------------------------|
  A17                       |20th (octal) word for storing ACs | (1164)
                            |on parity trap                    |
                            |----------------------------------|
  LPP                       |Last mem par PC                   | (1165)
                            |----------------------------------|
  LSB                       |Obsolete                          | (1166)
                            |----------------------------------|
  LCI                       |Time of last parity/NXM interrupt | (1167)
                            |caused by channel reference       |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  PIP                       |Pointer to real interrupt PC      | (1170)
                            |----------------------------------|
  PSP                       |Parity/NXM sweep in progress on   | (1171)
                            |this CPU                          |
                            |----------------------------------|
  CHE                       |Channel error reporting in        | (1172)
                            |progress on this CPU              |
                            |----------------------------------|
  TCX                       |Results of DATAI PAG, on error trp| (1173)
                            |----------------------------------|
  TCT                       |Triad counter for 60Hz leap       | (1174)
                            |jiffies                           |
                            |----------------------------------|
  PJB                       |Owner of performance meter (job#) | (1175)
                            |----------------------------------|
  MJB                       |Measured job of PERF.  UUO.       | (1176)
                            |----------------------------------|
  MJ1                       |Job enable condition              | (1177)
                            |----------------------------------|
  PMR                       |Non-zero means PERF. meter is     | (1200)
                            |running                           |
                            |----------------------------------|
  PAE                       |Used to store PERF. analysis      | (1201)
                            |enables                           |
                            |----------------------------------|
  PRQ                       |Semaphore used in testing and     | (1202)
                            |giving PERF meter away            |
                            |----------------------------------| 
  APS                       |Non-zero means ACCT and PERF      | (1203)
                            |meters should be kept in sync.    |
                            |----------------------------------|
  MM0                       |"Virtual PERF meter's" high order | (1204)
                            |mem ref count                     |
                            |----------------------------------|
  MM1                       |Low order mem ref count           | (1205)
                            |----------------------------------|
  BPC                       |Background performance analysis   | (1206)
                            |(B.P.A.) sample interval (ticks)  |
                            |----------------------------------|
  BPI                       |B.P.A. saved PACTAB index         | (1207)
                            |----------------------------------|
  BPT                       |B.P.A. saved RDTIME at start of   | (1210)
                            |current interval (2 words)        |
                            |----------------------------------|
  TIM                       |Clock interrupt flag for KL10s    | (1212)
                            |----------------------------------|
  ETM                       |SOSN done on this location every  | (1213)
                            |minute to make sure KL error      |
                            |chunks don't remain allocated     |
                            |----------------------------------|
  EAD                       |LH = addr of last KL error chunk  | (1214)
                            |RH = addr of first KL error chunk |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  KPB                       |KLINIK parameter buffer (6 words) | (1215)
                            |----------------------------------|
  20F                       |LH = flags about RSX20F front end | (1223)
                            |RH = count of characters currently|
                            |     being output                 |
                            |----------------------------------|
  20S                       |Space for incoming line speeds    | (1224)
                            |(2 words)                         |
                            |----------------------------------|
  20B                       |Buffer for 16-bit data to RSX20F  | (1226)
                            |(30 words)                        |
                            |----------------------------------|
  PTH                       |Parity/NXM trap occurred during   | (1256)
                            |sweep                             |
                            |----------------------------------|
  STE                       |RDERA contents on sweep trap      | (1257)
                            |----------------------------------|
  PTF                       |Count of page table parity traps  | (1260)
                            |allowed between clock ticks; used |
                            |to crash system if too many.      |
                            |----------------------------------|
  CA1                       |Power fail AC block 1 save area   | (1261)
                            |----------------------------------|
  CA2                       |Power fail AC block 2 save area   | (1301)
                            |----------------------------------|
  CA3                       |Power fail AC block 3 save area   | (1321)
                            |----------------------------------|
  CA4                       |Power fail AC block 4 save area   | (1341)
                            |----------------------------------|
  CTQ                       |SCNSER output queue header for CTY| (1361)
                            |on this CPU; for KL10, is header  |
                            |for all RSX20F lines              |
                            |----------------------------------|
  QUE                       |Queue of DDBs for I/O requests on | (1362)
                            |other CPUs.  Emptied into CPUDSQ  |
                            |once per tick                     |
                            |----------------------------------|
  SWP                       |Non-zero if swap request from     | (1363)
                            |another CPU                       |
                            |----------------------------------|
  QND                       |Address of last DDB in .CPQUE     | (1364)
                            |----------------------------------|
  SWD                       |Flag for FILIO cache sweeps       | (1365)
                            |----------------------------------|
  DRQ                       |Disks on this CPU need requeuing. | (1366)
                            |-1 if disk requests for this CPU  |
                            |need to be requeued to another CPU|
                            |because this one is dead.         |
                            |----------------------------------|
.END LITERAL
.PG
.LITERAL
                            |----------------------------------|
  TAP                       |0 if no tape waiting for sweep    | (1367)
                            |-1 if tape I/O waiting for sweep  |
                            |0,,-1 if tape waiting, DSKTIC did |
                            | sweep                            |
                            |----------------------------------|
  CHX                       |This CPU's bit in TKBSTS word of  | (1370)
                            |MTA KDB, indicating a sweep needs |
                            |to be done.                       |
                            |----------------------------------|
  PIB                       |Save PI state for NBFOFF          | (1371)
                            |----------------------------------|
  PIS                       |Save PI state for SYSPIN          | (1372)
                            |----------------------------------|
  DPI                       |Save PI state for DEVPIN          | (1373)
                            |----------------------------------|
  BTI                       |Save PI state for BTSOFF          | (1374)
                            |----------------------------------|
  IUT                       |Uptime a second ago               | (1375)
                            |----------------------------------|
  NTF                       |NETSER software interrupt flag    | (1376)
                            |----------------------------------|
  QTS                       |QUESER variables (23 words)       | (1377)
                            |----------------------------------|
  CPG                       |Result of DATAI PAG, done by      | (1422)
                            |SVSETS with bits set so that DATAO|
                            |will restore current AC set       |
                            |----------------------------------|
  ACA                       |Address of 20 word block in which | (1423)
                            |SVSETS saved the current AC set   |
                            |----------------------------------|
  SPC                       |Stopcode PC stored here           | (1424)
                            |(2 words)                         |
                            |----------------------------------|
  PAT                       |Patch space (here to next page    | (1426)
                            |boundary)                         |
                            +----------------------------------+
.el
.b2 .f
Notes:
.ls.le;CKF-CLKFLG (1105) This location takes the place of a hardware
interrupt flag.
.le;TMF-TIMFF (1106) Set so clock interrupt routines will know another
jiffy has passed.
.le;SCF#-#(1107) Normally clock interrupts are dismissed when they
interrupt exec mode.  This flag is set after monitor detects an error and
desires to force rescheduling.
.els
.pg .f .ts 15 
.lm 15.i-15 ;Name:    CDT --  Connected Device Table
.b2.i-15 ;Description:	Used to point to DDBs of devices
connected to the Multiplexed I/O Facility (MPX).  This table contains the
connected device's UDX number and DDB address and is sorted by UDX number.
.b
The left half of the DEVXTR word of the MPX DDB points to the CDT table.
.b2.i-15 ;Defined in:	MSGSER
.b2.i-15 ;Used by:	MSGSER
.lm 0 .b2 .nf ;Format:
.b2
.lm 8
+-------------------------------------+
| Size of table    | No. of free slots|
|-------------------------------------|
|     UDX 1        |    DDB addr.     |
|-------------------------------------|
|     UDX 2        |    DDB addr.     |
|-------------------------------------|
|     UDX 2        |    DDB addr.     |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
|        "         |        "         |
+-------------------------------------+
                .  .   .
.pg .f .ts 15 
.lm 15.i-15 ;Name:	CHKTAB -- UUO Check Bit Table
.b2.i-15 ;Description:	Contains bits for checking UUOs that
can be executed on any CPU (UU.CP1), for checking effective address (UU.EA)
and for flagging LOOKUP, ENTER, and RENAME UUOs (UU.LER).
.b
The table is in the same order as UUOTAB so the UUOTAB index in
AC T2 serves to get the CHKTAB entry.
.b
If a check bit is specified for the requested UUO, UUOCON goes
to the UUOCHK routine in VMSER.
.b.i-15 ;Defined in:	UUOCON
.lm 0 .b .nf ;Format:
.b.lm5
+-------------------------------------+
| Check bit for 40 | Check bit for 41 |
|-------------------------------------|
|        0         |        0         |
|-------------------------------------|
|        0         |        0         |
|-------------------------------------|
|        0         | Check bit for 47 |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
              .    .   .
.b.lm0
Bit Definitions:
.b.lm5
+-----------------------------------------------------+
|#0|#1|#2|#3|#4|#5|#6|#7|#8|#9|10|11|12|13|14|15|16|17|
|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
|-----------------------------------------------------|
|#U|  |  |  |  |  |  |#U|  |  |  |#U|                 |
|#U|  |  |  |  |  |  |#U|  |  |  |#U| Number of       |
|#.|  |  |  |  |  |  |#.|  |  |  |#.| Arguments       |
|#C|  |  |  |  |  |  |#L|  |  |  |#E|                 |
|#P|  |  |  |  |  |  |#E|  |  |  |#A|                 |
|#1|  |  |  |  |  |  |#R|  |  |  |  |                 |
+-----------------------------------------------------+
.b.lm0.nf
Bit    Name     Description
.b
18    UU.CP1    UUO can be executed on any CPU
.br
25    UU.LER    Argument list is a LOOKUP/ENTER/RENAME block.
.br
29    UU.EA     Check effective address
.pg .f 
Name:  CHKTBC --  CALL and CALLI UUO Check Bit Table
.B
.F.LM15.ts15.I-15
Description:	Contains validity check bits for CALL and CALLI UUOs.  This
table is in the same order as UCLJMP, so the UCLJMP index in AC T2 serves
to get the CHKTBC entry.  If a check bit is specified for the requested
UUO, UUOCON goes to the UUOCHK routine in VMSER.
.b.i-15
Defined in:	UUOCON
.b.i-15
Used by:	UUOCON, CPNSER
.b.lm0
Format:
.lm5.nf.b
+-------------------------------------------------------+
|  Check bits for CALLI 0   |   Check bits for CALLI 1  |
|-------------------------------------------------------|
|  Check bits for CALLI 2   |   Check bits for CALLI 3  |
|-------------------------------------------------------|
|  Check bits for CALLI 4   |   Check bits for CALLI 5  |
|-------------------------------------------------------|
                        .   .   .
.b.lm0
Bit Definitions:
.b.lm5
+-----------------------------------------------------+
|#0|#1|#2|#3|#4|#5|#6|#7|#8|#9|10|11|12|13|14|15|16|17|
|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
|-----------------------------------------------------|
|#U|  |  |#U|#U|#U|#U|#U|#U|#U|#U|#U|                 |
|#U|  |  |#U|#U|#U|#U|#U|#U|#U|#U|#U|                 |
|#.|  |  |#.|#.|#.|#.|#.|#.|#.|#.|#.| Length of user's|
|#C|  |  |#N|#W|#N|#L|#L|#M|#C|#C|#E| argument list   |
|#P|  |  |#C|#C|#A|#F|#E|#N|#E|#A|#A|                 |
|#1|  |  |#L|#C|#L|#T|#R|#S|#A|#C|  |                 |
+-----------------------------------------------------+
.B.fill.lm15.ts6,15.i-15
Bit	Name	Description
.b.i-15
18	UU.CP1	UUO can be executed on any CPU
.i-15
21	UU.NCL	Negative argument (repeat) count is legal
.i-15
22	UU.WCC	Working set can change
.i-15
23	UU.NAL	Not allowed if locked
.i-15
24	UU.LFT	Use left half of UUO for argument count
.i-15
25	UU.LER	Argument list is a LOOKUP/ENTER/RENAME block
.i-15 
26	UU.MNS	User-supplied argument list length is a negative value.
.i-15
27	UU.CEA	Use contents of effective address as list length
.i-15
28	UU.CAC	Use contents of UUO ac as list length (modifiable using
UU.LFT). 
.i-15
29	UU.EA	Check effective address
.b.lm0
If neither UUO.CEA nor UU.CAC is set, the list length is taken from the
CHKTBC table.
.pg
Name:     CHTABL -- Special Character Table
.b2.f
.ts15.lm15.i-15
Description:	One table entry for each ASCII character,
specifying characteristics and, in some cases, address of a
special action routine for processing the received character.
.b
Indexed by the ASCII value of the character.
.b.i-15
Defined in:	SCNSER
.b.i-15
Used by:	SCNSER, PTYSER
.b.lm0
Format:
.b.literal
  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17          
+-------------------------------------------------------------------------+
| C|  |  |  | C| C| C| C| C| C| C| C| C| C| C| C| C| C|                   |
| H|  |  |  | H| H| H| H| H| H| H| H| H| H| H| H| H| H|                   |
| S|  |  |  | P| D| E| V| C| F| D| C| C| R| A| F| U| B| Addr of routine to|
| P|  |  |  | U| E| P| P| R| I| E| N| R| I| L| I| A| R| process character |
| O|  |  |  | N| L| A| O| E| L| L| C| E| A| T| L| E| K| upon receipt      |
|  |  |  |  | C| W| R| S|  | O|  |  | T|  |  |  |  |  |                   |
+-------------------------------------------------------------------------+
.end literal
.b.lm0.NF
Bit     Label   Meaning
.b
 0      CHSPO   Requires special checking on output
1-3             Undefined
 4      CHPUNC  Punctuation character
 5      CHDELW  Character is <CTRL/W>
 6      CHEPAR  Character is even parity (1)
 7      CHVPOS  Vertical positioning simulated with line feeds
 8      CHCRE   Gets CRLF after its <CTRL/x> echo
 9      CHFILO  Bit for output filler routine (not in table)
10      CHDEL   This is delete
11      CHCNC   This is <CTRL/C>
12      CHCRET  This is carriage return
13      CHRIA   RCV interrupt level action required (2)
14      CHALT   This is an altmode
15      CHFIL   Requires fillers at some speeds
16      CHUAE   Echoes as <CTRL/x>
17      CHBRK   This is a break character
.pg.LM5.LIT
    +---------------------------------------------------------+
    | C|    | C| C| C| C| C| C| C| C| C| C| C| C| C| C| Disp  |
    | H|    | H| H| H| H| H| H| H| H| H| H| H| H| H| H| addr  |
    | S|    | P| D| E| V| C| F| D| C| C| R| A| F| U| B|  on   |
    | P|    | U| E| P| P| R| I| E| N| R| I| L| I| A| R| RCVINT|
    | O|    | N| L| A| O| E| L| L| C| E| A| T| L| E| K|       |
    |  |    | C| W| R| S|  | O|  |  | T|  |  |  |  |  |       |
    +---------------------------------------------------------+
 000| 1|    | 1|  | 1|  |  |  |  |  |  | 1|  |  |  |  | RINUL | (NUL)
    |---------------------------------------------------------|
 001| 1|    | 1|  |  |  |  |  |  |  |  | 1|  |  | 1|  | RICA  | ^A (SOA)
    |---------------------------------------------------------|
 002| 1|    | 1|  |  |  |  |  |  |  |  | 1|  |  | 1|  | RICB  | ^B (STX)
    |---------------------------------------------------------|
 003| 1|    | 1|  | 1|  | 1|  |  | 1|  | 1|  |  | 1| 1| RICC  | ^C (ETX)
    |---------------------------------------------------------|
 004| 1|    | 1|  |  |  |  |  |  |  |  | 1|  |  | 1|  | RICD  | ^D (EOT)
    |---------------------------------------------------------|
 005| 1|    | 1|  | 1|  |  |  |  |  |  |  |  |  | 1|  |       | ^E (ENQ)
    |---------------------------------------------------------|
 006| 1|    | 1|  | 1|  |  |  |  |  |  |  |  |  | 1|  |       | ^F (ACK)
    |---------------------------------------------------------|
 007| 1|    | 1|  |  |  |  |  |  |  |  |  |  |  |  | 1|       | ^G (BEL)
    |---------------------------------------------------------|
 010| 1|    | 1|  |  |  |  |  |  |  |  | 1|  |  |  | 1| RIBSP | ^H (BS)
    |---------------------------------------------------------|
 011| 1|    |  |  | 1|  |  |  |  |  |  |  |  | 1|  |  |       | ^I (HT) 
    |---------------------------------------------------------|
 012| 1|    | 1|  | 1|  |  |  |  |  |  |  |  | 1|  | 1|       | ^J (LF)
    |---------------------------------------------------------|
 013| 1|    | 1|  |  | 1|  |  |  |  |  |  |  | 1|  | 1|       | ^K (VT)
    |---------------------------------------------------------|
 014| 1|    | 1|  | 1| 1|  |  |  |  |  |  |  | 1|  | 1|       | ^L (FF)
    |---------------------------------------------------------|
 015| 1|    | 1|  |  |  |  |  |  |  | 1| 1|  | 1|  |  | RICM  | ^M (CR)
    |---------------------------------------------------------|
 016| 1|    | 1|  |  |  |  |  |  |  |  |  |  |  | 1|  |       | ^N (SO)
    |---------------------------------------------------------|
 017| 1|    | 1|  | 1|  | 1|  |  |  |  | 1|  |  | 1|  | RICO  | ^O (SI)
    |---------------------------------------------------------|
 020| 1|    | 1|  |  |  |  |  |  |  |  | 1|  |  | 1|  | RICP  | ^P (DLE)
    |---------------------------------------------------------|
 021| 1|    | 1|  | 1|  |  |  |  |  |  | 1|  | 1| 1|  | RICQ  | ^Q (DC1)
    |---------------------------------------------------------|
 022| 1|    | 1|  | 1|  |  |  |  |  |  | 1|  | 1| 1| 1| RICR  | ^R (DC2) 
    |---------------------------------------------------------|
 023| 1|    | 1|  |  |  |  |  |  |  |  | 1|  | 1| 1|  | RICS  | ^S (DC3) 
    |---------------------------------------------------------|
 024| 1|    | 1|  | 1|  |  |  |  |  |  | 1|  | 1| 1| 1| RICT  | ^T (DC4)  
    |---------------------------------------------------------|
 025| 1|    | 1|  |  |  | 1|  |  |  |  | 1|  |  | 1| 1| RICU  | ^U (NAK)
    |---------------------------------------------------------|
 026| 1|    | 1|  |  |  |  |  |  |  |  |  |  |  | 1|  |       | ^V (SYN)
    |---------------------------------------------------------|
.end literal
.pg
.literal
    |---------------------------------------------------------|
 027| 1|    | 1| 1| 1|  |  |  | 1|  |  | 1|  |  | 1| 1| RIDEL | ^W (ETB)
    |---------------------------------------------------------|
 030| 1|    | 1|  | 1|  |  |  |  |  |  |  |  |  | 1|  |       | ^X (CAN)
    |---------------------------------------------------------|
 031| 1|    | 1|  |  |  |  |  |  |  |  |  |  |  | 1|  |       | ^Y (EM)
    |---------------------------------------------------------|
 032| 1|    | 1|  |  |  | 1|  |  |  |  |  |  |  | 1| 1|       | ^Z (SUB)
    |---------------------------------------------------------|
 033| 1|    | 1|  | 1|  |  |  |  |  |  | 1| 1|  |  | 1| RIALT | $  (ESC)   
    |---------------------------------------------------------|
 034| 1|    | 1|  |  |  |  |  |  |  |  |  |  |  | 1|  |       | ^\ (FS)
    |---------------------------------------------------------|
 035| 1|    | 1|  | 1|  |  |  |  |  |  |  |  |  | 1|  |       | ^] (GS)
    |---------------------------------------------------------|
 036| 1|    | 1|  | 1|  |  |  |  |  |  |  |  |  | 1|  |       | ^^ (RS)
    |---------------------------------------------------------|
 037| 1|    | 1|  |  |  |  |  |  |  |  |  |  |  | 1|  |       | ^_ (US)
    |---------------------------------------------------------|
 040|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       |    (Space)
    |---------------------------------------------------------|
 041|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | |
    |---------------------------------------------------------|
 042|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | "
    |---------------------------------------------------------|
 043|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | #
    |---------------------------------------------------------|
 044|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | $
    |---------------------------------------------------------|
 045|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | %
    |---------------------------------------------------------|
 046|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | &
    |---------------------------------------------------------|
 047|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | '
    |---------------------------------------------------------|
 050|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | (
    |---------------------------------------------------------|
 051|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | )
    |---------------------------------------------------------|
 052|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | *
    |---------------------------------------------------------|
 053|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | +
    |---------------------------------------------------------|
 054|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | ,
    |---------------------------------------------------------|
 055|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | -
    |---------------------------------------------------------|
 056|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | .
    |---------------------------------------------------------|
 057|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | /
    |---------------------------------------------------------|
 060|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | 0
    |---------------------------------------------------------|
.END LITERAL
.PG
.LITERAL
    |---------------------------------------------------------|
 061|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | 1
    |---------------------------------------------------------|
 062|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | 2
    |---------------------------------------------------------|
 063|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | 3
    |---------------------------------------------------------|
 064|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | 4
    |---------------------------------------------------------|
 065|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | 5
    |---------------------------------------------------------|
 066|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | 6
    |---------------------------------------------------------|
 067|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | 7
    |---------------------------------------------------------|
 070|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | 8
    |---------------------------------------------------------|
 071|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | 9
    |---------------------------------------------------------|
 072|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | :
    |---------------------------------------------------------|
 073|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | ;
    |---------------------------------------------------------|
 074|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | <
    |---------------------------------------------------------|
 075|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | =
    |---------------------------------------------------------|
 076|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | >
    |---------------------------------------------------------| 
 077|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | ?
    |---------------------------------------------------------|
 100|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | @
    |---------------------------------------------------------|
 101|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | A
    |---------------------------------------------------------|
 102|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | B
    |---------------------------------------------------------|
 103|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | C
    |---------------------------------------------------------|
 104|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | D
    |---------------------------------------------------------|
 105|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | E
    |---------------------------------------------------------|
 106|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | F
    |---------------------------------------------------------|
 107|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | G
    |---------------------------------------------------------|
 110|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | H
    |---------------------------------------------------------|
 111|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | I
    |---------------------------------------------------------|
 112|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | J
    |---------------------------------------------------------|
.end literal
.pg
.literal
    |---------------------------------------------------------|
 113|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | K
    |---------------------------------------------------------|
 114|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | L
    |---------------------------------------------------------|
 115|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | M
    |---------------------------------------------------------|
 116|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | N
    |---------------------------------------------------------|
 117|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | O
    |---------------------------------------------------------|
 120|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | P
    |---------------------------------------------------------|
 121|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | Q
    |---------------------------------------------------------|
 122|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | R
    |---------------------------------------------------------|
 123|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | S
    |---------------------------------------------------------|
 124|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | T
    |---------------------------------------------------------|
 125|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | U
    |---------------------------------------------------------|
 126|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | V
    |---------------------------------------------------------|
 127|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | W
    |---------------------------------------------------------|
 130|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | X
    |---------------------------------------------------------|
 131|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | Y
    |---------------------------------------------------------|
 132|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | Z
    |---------------------------------------------------------|
 133|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | [
    |---------------------------------------------------------|
 134|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | \
    |---------------------------------------------------------|
 135|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | ]
    |---------------------------------------------------------|
 136|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | ^
    |---------------------------------------------------------|
 137|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | _
    |---------------------------------------------------------|
 140|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | `
    |---------------------------------------------------------|
 141|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | a
    |---------------------------------------------------------|
 142|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | b
    |---------------------------------------------------------|
 143|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | c
    |---------------------------------------------------------|
 144|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | d
    |---------------------------------------------------------|
.end literal
.pg
.literal
    |---------------------------------------------------------|
 145|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | e
    |---------------------------------------------------------|
 146|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | f
    |---------------------------------------------------------|
 147|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | g
    |---------------------------------------------------------|
 150|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | h
    |---------------------------------------------------------|
 151|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | i
    |---------------------------------------------------------|
 152|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | j
    |---------------------------------------------------------|
 153|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | k
    |---------------------------------------------------------|
 154|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | l
    |---------------------------------------------------------|
 155|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | m
    |---------------------------------------------------------|
 156|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | n
    |---------------------------------------------------------|
 157|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | o
    |---------------------------------------------------------|
 160|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | p
    |---------------------------------------------------------|
 161|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | q
    |---------------------------------------------------------|
 162|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | r
    |---------------------------------------------------------|
 163|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | s 
    |---------------------------------------------------------|
 164|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | t
    |---------------------------------------------------------|
 165|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | u
    |---------------------------------------------------------|
 166|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | v
    |---------------------------------------------------------|
 167|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | w
    |---------------------------------------------------------|
 170|  |    |  |  | 1|  |  |  |  |  |  |  |  |  |  |  |       | x
    |---------------------------------------------------------|
 171|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | y
    |---------------------------------------------------------|
 172|  |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |       | z
    |---------------------------------------------------------|
 173|  |    | 1|  | 1|  |  |  |  |  |  |  |  |  |  |  |       | {
    |---------------------------------------------------------|
 174|  |    | 1|  |  |  |  |  |  |  |  |  |  |  |  |  |       | |
    |---------------------------------------------------------|
 175| 1|    | 1|  | 1|  |  |  |  |  |  | 1| 1|  |  |  | RIALT | }     
    |---------------------------------------------------------|
 176| 1|    | 1|  | 1|  |  |  |  |  |  | 1| 1|  |  |  | RIALT | ~
    |---------------------------------------------------------|
 177| 1|    | 1|  |  |  |  |  | 1|  |  | 1|  |  |  | 1| RIDEL | (DEL)
    +---------------------------------------------------------+
.el
.PG.F
Notes:
.LS.le;CHEPAR is set for entries whose ASCII character code contains an
even number of 1 bits.
.le;Entries 2 and 20 will have CHRIA and the dispatch address set only if
FTMIC is non-zero. 
.le;Character codes 175 (}) and 176 (~) are converted to ASCII code 33
(ESC) only if SET TTY ALTMODE is in effect.
.els
.pg.LM0.TS15
Name: CHN -- Channel Data Block
.B;.F;.LM15;.I-15
Description:	Contains information pertaining to all devices on
one data channel.
.b
One Channel Data Block is generated dynamically by AUTCON for each channel
when the system is started and when a new channel comes on-line.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	AUTCON, ERRCON, FILFND, FILIO, KLSER, RNXKON, RPXKON, SYSINI,
T78KON, TAPUUO, TDZKON, TMXKON, TMZKON, TX1KON
.b2.lm0
.nf
Format:
.b.lm 0 .lit
  LH                                                                RH

        +-------------------------------------------------------+
.CHNBSY | Number pending requests on this channel ( -1 is idle) |
        |-------------------------------------------------------|
.CHSYS  |      ADR of next CHN      |    Last UDB with error    | .CHLUE
        |         0 if last         |                           |
        |-------------------------------------------------------|
.CHICW  |            Initial control word on last error         |
        |-------------------------------------------------------|
.CHFCW  |             Final control word after last error       |
        |-------------------------------------------------------|
.CHCW2  |             Command word -2 on last error             |
        |-------------------------------------------------------|
.CHCW1  |             Command word -1 on last error             |
        |-------------------------------------------------------|
.CHCW0  |              Command word on last error               |
        |-------------------------------------------------------|
.CHDWZ  |              Data word -2 on last error               |
        |-------------------------------------------------------|
.CHDW1  |              Data word -1 on last error               |
        |-------------------------------------------------------|
.CHDW0  |                Data word on last error                |
        |-------------------------------------------------------|
.CHMPE  |            Number of memory parity errors             |
        |-------------------------------------------------------|
.CHDPE  |      Number of data parity errors (from device)       |
        |-------------------------------------------------------|
.CHNXM  |     Number of non-existent memory errors or data      |
        |     late errors (overrun)                             |
        |-------------------------------------------------------|
.end literal
.pg
.literal
        |-------------------------------------------------------|
.CHCSR  |  Bits to request CPU to   |     Last DDB Address      | .CHLDE
        |        sweep core         |                           |
        |-------------------------------------------------------|
.CHTCW  |    Expected termination control word of last error    |
        |-------------------------------------------------------|

(The remaining words apply only to disk channels.)

        |-------------------------------------------------------|
CHNECT  |         Error count on current data transfer          |
        |        -1 means unit is recalibrating                 |
        |-------------------------------------------------------|
CHNRCT  |               Current recalibrate count               |
        |-------------------------------------------------------|
CHNQUE  |     First DDB in TWQ      |     Job number of DDB     |
        |-------------------------------------------------------|
CHNIFP* |        Initial fairness count for positioning         |
        |-------------------------------------------------------|
CHNCFP  |        Current fairness count for positioning         |
        |-------------------------------------------------------|
CHNIFT  |         Initial fairness count for transfers          |
        |-------------------------------------------------------|
CHNCFT  |         Current fairness count for transfers          |
        |-------------------------------------------------------|
CHNIFS  |            Initial swapping fairness count            |
        |-------------------------------------------------------|
CHNCFS  |            Current swapping fairness count            |
        |-------------------------------------------------------|
CHNNUM  |     Number of blocks currently being transferred      |
        |-------------------------------------------------------|
CHNQUL  |            Length of XFER wait queue (TWQ)            |
        |-------------------------------------------------------|
CHNTCW  |     Expected termination control word                 |
        |-------------------------------------------------------|
CHNCUA  |            Current unit active on channel             |
        |-------------------------------------------------------|
CHNRSC  | Number of time DX20 on this channel was restarted     |
        +-------------------------------------------------------+
.el
.b2.f
Notes:
.ls;.le;The errors referred to in the Channel Data Block are
both soft and hard errors.
.le;TWQ = Transfer Wait Queue
.els
.PG.nf
* Description of CHNIFP Bytes
.b.lit
        +------------------------------------------------------+
CHNIFP  |C|D|R|1|L|2|         |S|  Initial fairness count      |
        +------------------------------------------------------+
         0 1 2 3 4 5          17 18                          35


      Word              Byte
     Label    Bits     Label           Meaning

    CHB22B     0      CP.22B     This is a 22-bit channel
               1      CP.DX1     This is a DX10 channel
               2      CP.RH2     This is an RH20 channel
               3      CP.R11     This is a RH11
               4      CP.LP2     This is a LP20
               5      CP.CD2     This is a CD20
              17      CP.SWF     Cache sweep must be done before
                                 interrupt exit in FILIO
    CHNIFP   18-35               Initial fairness count for 
                                 positioning
.el
.f
.pg
.LM0
Name:  CIPWT -- Clock Request Queue
.ts15;.b.lm15
.i-15
Description:	Allow a monitor routine to be run after a specific time
interval.  One entry for each job number plus three more.
.b
Position of entry in table is of no importance.  Each entry occupies 2
words.
.b
Each count is decremented by clock-level service in the monitor.  When any
ountdown reaches 0, (or goes negative), the contents of the
second word of the entry are put into T1 and a PUSHJ is done to
the address in the left half of the first word.
.b
CLOCK is a 36 bit byte pointer to the highest in-use entry.  Routines which
make requests to be stored in this table will reference CLOCK.  When
an entry is eliminated from the table, the last entry is copied
into its place, and CLOCK is decremented.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, DISSER, DLSINT, ERRCON, FILIO, PSISER, RPXKON, SCNSER,
SYSINI, UUOCON, VBCSER
.lm0
.b
Format:
.nf
.lm10
+------------------------------------------+
|  Routine address   | Count down timer    |
|------------------------------------------|
|R|C|S|            Data                    |
|------------------------------------------|
|                    |                     |
|------------------------------------------|
|                                          |
|------------------------------------------|
|                    .                     |
|                    .                     |
|                    .                     |
|------------------------------------------|
|                    |                     |
|------------------------------------------|
|                                          |
+------------------------------------------+
.LM0
.b2
The bits in the second word are defined as follows:
.b
Bit	Meaning
.b
  0	Request is CPU-specific
1-3	CPU number
  4	Scanned by CLOCK1
5-35	Data
.pg
Name:	COMTAB --  Command Table
.b
.lm15
.f
.ts15.i-15
Description:	Specifies legal command names.  There are corresponding
entries in DISP that give routine address and legality conditions for each
command.
.b
There is one entry for each monitor command.
.b
Position in the table is of no significance, but COMTAB and DISP
entries must be in corresponding positions.
.b.i-15
Defined in:	COMMON
.B.i-15
Used by:	UUOCON, COMCON
.B.i-15
GETTAB Table No.: .GTCOM (30)
.b.lm0
Format:
.nf
.lm10
+-----------------------------------+
|    SIXBIT   /   CMD1     /        |
|-----------------------------------|
|    SIXBIT   /   CMD2     /        |
|-----------------------------------|
|    SIXBIT   /   CMD3     /        |
|-----------------------------------|
|             .                     |
|             .                     |
|             .                     |
.pg;.lm0
Name:	COMTB2 --  SET Command Table
.f
.ts15.B
.lm15
.i-15
Description:	When the command interpreter has determined that a SET
command is to be executed it does a table lookup on the SET command
argument to determine the dispatch address.  The SET command argument table
is named COMTB2 and is in the same format as COMTAB.  The dispatch table
for the SET commands is named DISP2.  COMTB2 and DISP2 entries must be in
corresponding positions.
.b
.i-15
Defined in:	COMMON
.B.i-15
Used by:	UUOCON,COMCON
.b.i-15
GETTAB Table No.: .GTCM2 (43)
.b.lm0
Format:
.lm10.b2.nf
+-----------------------------------+
|    SIXBIT   /   CMD1     /        |
|-----------------------------------|
|    SIXBIT   /   CMD2     /        |
|-----------------------------------|
|    SIXBIT   /   CMD3     /        |
|-----------------------------------|
|               .                   |
|               .                   |
|               .                   |
.pg
.lm0.fill
Name:	Disk Cache Data Structure
.b.lm15.i-15
Description:	The data structures described in this section are used by
the monitor to implement a software disk cache.
.b
The basic data structure consists of two doubly-linked lists, a list header,
and a hash table.  Each node in the list contains forward and backward
pointers for each of the two lists to which it is linked (the pointers are
_.CBNHB, .CBPHB, .CBNAB, and .CBPAB), a UDB address (.CBUDB), a block
number (.CBBLK), and a pointer to the address in FRECOR (.CBDAT) where the
block is stored.  For statistics purposes, the node also contains a count
of the number of times this block has been hit since it was in the cache,
named (.CBHIT).
.b
The list header points to the two linked lists.  The first linked list is
the access list.  The most recently accessed block is at the head of the
list; the least recently accessed block is at the bottom of the list.  This
list is linked through the .CBNAB/.CBPAB words.  The second linked list is
the free list.  It contains a list of all blocks that are not currently in
use, and as such do not appear in the hash list described below.  This list
is linked through the .CBNHB/.CBPHB words.
.b
The hash table consists of pointers into the .CBNHB/.CBPHB list for the
corresponding list for blocks that hash to the same position.  Thus, the
hash table is really a number of separate list headers for the lists of
blocks that hash to that position in the hash table.
.b
At initialization time (CSHINI), all the blocks are allocated and linked
into the free list.  They are also linked into the access list.  The hash
table entries are linked to themselves because the table is empty.
.b
To find an entry, given its UDB and block number, hash the block into the
hash table, and, using that entry as a list head, follow the list until you
find a match or return to the header.  This is done with the routine
CSHFND.  In general, these lists are one or two blocks in length.
.b
The main cache handling routine is CSHIO, which simulates I/O from the
cache, doing the necessary physical I/O to fill and write the cache.  Note
that this is write-through cache, so no sweeps are required and the data in
the cache always reflects the blocks on disk.
.pg
.lm0.literal
Format of CBHEAD List Header:

                  +----------------------------------+
  .CBNHB          |Pointer to first block            |
                  | in free list                     |
                  |----------------------------------|
  .CBPHB          |Pointer to last block in free list|
                  |----------------------------------|
  .CBNAB          |Pointer to first block            |
                  | in access list                   |
                  |----------------------------------|
  .CBPAB          |Pointer to last block             |
                  | in access list                   |
                  +----------------------------------+

Format of Two-Word CBHSHT Hash Table Entry:

                  +----------------------------------+
  .CBNHB          |Pointer to first hash block       |
                  | in this chain                    |
                  |----------------------------------|
  .CBPHB          |Pointer to last hash block        |
                  | in this chain                    |
                  +----------------------------------+

Format of Each List Entry:

                  +----------------------------------+
  .CBNHB          |Pointer to next hash block in     |
                  | this chain                       |
                  |----------------------------------|
  .CBPHB          |Pointer to previous hash block    |
                  | in this chain                    |
                  |----------------------------------|
  .CBNAB          |Pointer to next accessed block    |
                  |----------------------------------|
  .CBPAB          |Pointer to previous accessed block|
                  |----------------------------------|
  .CBUDB          |UDB of unit containing this block |
                  |----------------------------------|
  .CBBLK          |          Block number            |
                  |----------------------------------|
  .CBDAT          |Pointer to 128(8) words for       |
                  | this disk block                  |
                  |----------------------------------|
  .CBHIT          |Count of hits for this disk block |
                  +----------------------------------+
.end literal
.PG.PS58,70.lm0.f
Name:	DDB --  Device Data Block
.TS15.b.lm15.i-15
Description:	Contains information needed to perform I/O
operations.  One such block exists for each device or, in the case of
disk, one for each INIT or ASSIGN.
.b
Number of entries in the DDB varies with the device.
.b
The label of a DDB entry is defined as the location of that
entry relative to the beginning of the block.  Such labels 
must be indexed by an AC containing the address of the beginning
of the DDB.  AC F is normally used for this purpose in the monitor.
.b
The start of the DDB chain is accessible as GETTAB item %CNDEV from a
user program, or in location DEVLST in the monitor.  DDBs for some
peripherals have their own tags in the monitor and some sub-chains
are also tagged:
.nf .b
TTYLST - Start of TTY sub-chain
PTYLST - Start of PTY sub-chain
LPxDDB - Tag for LPTx on I/O bus
CRxDDB - Tag for CDRx on I/O bus
FLxDDB - Tag for LPTx off console front end
FCxDDB - Tag for CDRx off console front end
.fill.b.ts15.lm15.i-15
Defined in:	Device service routines and in S.MAC
.b.i-15
Used by:	Device service routines
.b.lm0
Format:
.B;.lit
         +----------------------------------------------------+
DEVNAM   |               SIXBIT device name                   |
         |----------------------------------------------------|
DEVCHR   |                See bit definitions                 |
         |----------------------------------------------------|
DEVIOS   |                See bit definitions                 |
         |----------------------------------------------------|
DEVSER   |Adr of next DDB           |Dispatch table address   |
         |----------------------------------------------------|
DEVMOD   |                See bit definitions                 |
         |----------------------------------------------------|
DEVLOG   |               SIXBIT logical device name           |
         |----------------------------------------------------|
DEVBUF   | Address of user's 3-word | Address of user's 3-word|
         |  output buffer header    |   input buffer header   |
         |----------------------------------------------------|
DEVIAD   |                See bit definitions                 |
         |----------------------------------------------------|
DEVOAD   |                See bit definitions                 |
         |----------------------------------------------------|
.end literal
.pg
.literal
         |----------------------------------------------------|
DEVSTS   |             Word for device CONI                   |
         |----------------------------------------------------|
DEVSTA   |              See bit definitions                   |
         |----------------------------------------------------|
DEVXTR   |              See bit definitions                   |
         |----------------------------------------------------|
DEVEVM   |              See bit definitions                   |
         |----------------------------------------------------|
DEVPSI   | Enabled PSI conditions  |   Pending PSI interrupts |
         |----------------------------------------------------|
DEVESE   |              See bit definitions                   |
         |----------------------------------------------------|
DEVHCW   |              See bit definitions                   |
         |----------------------------------------------------|
DEVCPU   |              See bit definitions                   |
         |----------------------------------------------------|
DEVJOB   |              See bit definitions                   |
         |----------------------------------------------------|

.end literal
The remainder of the DDB is different for different types of devices.  The
TTY DDB is continued after the following description of the magtape and
disk DDBs.  The disk and magtape DDB contain the following words, after
DEVJOB:
.b.literal
         |-------------------------------------------------------|
DEVFIL   | File name on last LOOKUP/ENTER (arg to FNDFIL)        |
         |-------------------------------------------------------|
DEVEXT   | File extension on         | Number blocks left in     | DEVLFT
         | last LOOKUP/ENTER         | current group             |
         |-------------------------------------------------------|
DEVPPN   |              PPN on last LOOKUP/ENTER                 |
         |-------------------------------------------------------|
DEVNBF   |Number buffers swept for   |Buffers not swept for      |
         |-------------------------------------------------------|
DEVSBF   |               Saved value of DEVNBF                   |
         |-------------------------------------------------------|
DEVCSN   |              Cache sweep serial number                |
         |-------------------------------------------------------|
DEVISN   |                           |   Section no. for I/O     |
         |-------------------------------------------------------|

.end literal
The disk DDB follows.  The magtape DDB is continued after the remainder of
the disk DDB.
.pg.literal

          |-------------------------------------------------------|
DEVDMP    | Current IOWD for dump mode                            |
          |-------------------------------------------------------|
DEVRET    |             0             | Addr of current retrieval |
          |                           | pointer in DDB            |
          |-------------------------------------------------------|
DEVREL    | Relative block number in file to read or write next   | DEVDIA
          |-------------------------------------------------------|
DEVUNI    | Addr of original UDB      | Addr of current UDB       |
          |-------------------------------------------------------|
DEVUFB    |                           | Addr of UFD data block    |
          |-------------------------------------------------------|
DEVSFD    |                           | Addr of NMB for father SFD|
          |-------------------------------------------------------|
DEVBLK    | Logical block number in unit to read or write next    |
          |-------------------------------------------------------|
DEVRSU    | -Num of unused pointer    | Addr of access table entry| DEVACC
          |  positions in RIB         | for user channel          |
          |-------------------------------------------------------|
DEVFLR    | Block number of file which first in-core ptr points to|
          |-------------------------------------------------------|
DEVFUN    |                  See bit definitions                  |
          |-------------------------------------------------------|
DEVQUE    | Addr of next DDB in queue | Job number of DDB in LH   | 
          |-------------------------------------------------------|
DEVELB    |                  See bit definitions                  |
          |-------------------------------------------------------|
DEVLRL    | Last DEVREL               | Disk priority             | DEVPRI
          |-------------------------------------------------------|
DEVSPN    |              SIXBIT spooled file name                 |
          |-------------------------------------------------------|
DEVSPM    |         Pointer to spooling parameter block           |
          |-------------------------------------------------------|
DEVRIB    |                  See bit definitions                  |
          |-------------------------------------------------------|
DEVUPP    |               "In-your-behalf" PPN                    |
          |-------------------------------------------------------|
DEVCUR    |                  See bit definitions                  |
          |-------------------------------------------------------|
DEVGEN    |Generation number of UDB|Addr of core copy of RIBs     |
          |-------------------------------------------------------|
DEVLNM    |Current SFD looking for   |Logical name spec being used|
          |-------------------------------------------------------|
DEVCFS    |                  See bit definitions                  |
          |-------------------------------------------------------|
DEVRB1    |     First retrieval pointer (Same format as RIB)      |
          |-------------------------------------------------------|
DEVRB2    |     Second retrieval pointer                          |
          |-------------------------------------------------------|
          / Retrieval pointers (Default total number is 6)        /
          |-------------------------------------------------------|
DEVRBN    | Last retrieval pointer in core                        |
          +-------------------------------------------------------+

.end literal.pg
The magtape DDB has different words following DEVISN.  The magtape DDB
follows from DEVISN as follows:
.b.literal
        |---------------------------------------------------|
TDVUDB  | UDB pointer             | KDB pointer (prime)     | TDVKDB
        |---------------------------------------------------|
TDVSTS  |                See bit definitions                |
        |---------------------------------------------------|
TDVIOR  |                IORB to wait for                   |
        |---------------------------------------------------|
TDVSUL  |             Saved user upper limit                |
        |---------------------------------------------------|
TDVSLL  |             Saved user lower limit                |
        |---------------------------------------------------|
TDVSVM  |              Saved M for dump mode                |
        |---------------------------------------------------|
TDVREM  |              Remainder for mode 16                |
        +---------------------------------------------------+

.end literal
The terminal DDB differs from the disk and magtape DDBs in that it contains
the following information after the DEVJOB word:
.b.literal
        |---------------------------------------------------|
DDBLDB  |      Unused          |   Address of attached LDB  |
        +---------------------------------------------------+
.end literal
.b.lm0.fill
Notes:
.ls.le;Labels for DDBs are defined in S.MAC.  Each device service routine 
contains a DDB for that device.  For devices with more than one DDB, the
DDBs are set dynamically as needed or at system initialization time.  The
new DDBs are modeled after the one contained in the device service routine.
.le;Each DDB in use by a job is linked to that job.  The job number	
is in bits 27-35 of DEVJOB, accessed in the monitor by the byte pointer
PJOBN.  Also the DDB address is in the job device assignment table in the
job data area for that job.
.le ;The unit number is in bits 18-26 of DEVJOB, accessed in the monitor
by the byte pointer PUNIT.
.els
.b.lm0
.pg;.literal
                             DEVCHR
                   Device Characteristics Word

+--------------------------------------------------------------+
|D|D|D|D|D|D|D| P |          | U   |                           |
|V|V|V|V|V|V|V| D |          | n   |                           |
|L|C|D|D|C|O|C| V |  PDVCNT  | u   |      PBUFSZ               |
|P|M|A|I|N|F|2| T |          | s   |                           |
|T|D|T|B|E|L|I| I |          | e   |                           |
|L|A|J|P|T|N|O| M |          | d   |                           |
|--------------------------------------------------------------|
|0|1|2|3|4|5|6|7-9|10------16|17-18|19-----------------------35|
+--------------------------------------------------------------+

Bits in             Bit Label or
DEVCHR    Value     Byte Pointer   Description

  0       400000    DVLPTL         Lower case LPT
  1       200000    DVCMDA         Device controlled by mountable
                                   device allocator
  2       100000    DVDATJ         Device allocated to job in DEVJOB
  3        40000    DVDIBP         Device is a batch PTY
  4        20000    DVCNET         Device controlled by NETSER
  5        10000    DVOFLN         Device off-line last time service
                                   routine polled
  6         4000    PDV2IO         Device can do simultaneous input
                                   and output
 7-9        3400    PDVTIM         Code for hung device timeout
                                   0 means device cannot be hung
                                   n means hung time is 2**n-1 seconds
10-16        376    PDVCNT         Countdown timer for the hung device*
17-18                              Unused
19-35     377777    PBUFSZ         Buffer size

*   PDVCNT contains the number of seconds to go before considering device
    hung.  Initialized every time the device is serviced, using the hung
    constant to determine the value.
.el
.pg
.lit
                                      DEVIOS
                          Device Input/Output Status Word

+----------------------------------------------------------------------------+
| Device-  | I| I| I| I| I| I| I| I| I| I| I| I|   Device-       | I| I|  P  |
|dependent | O| /| O| O| O| O| O| O| O| O| O| O|  dependent      | O| O|  I  |
|          | E| O| S| F| B| W| I| D| D| B| D| A|                 | C| W|  O  |
|          | N|  | T| S| E|  | M| E| T| K| E| C|                 | O| C|  M  |
|          | D|  | B| T| G|  | P| R| E| T| N| T|                 | N|  |  O  |
|          |  |  | L|  |  |  | M| R| R| L| D|  |                 |  |  |  D  |
|----------------------------------------------------------------------------|
|--------11|12|13|14|15|16|17|18|19|20|21|22|23|24-------------29|30|31|32-35|
+----------------------------------------------------------------------------+

Bit in          Bit Label or
DEVIOS   Value  Byte Pointer   Description

0-11                           Device-dependent bits (listed below)
 12         40    IOEND        Service routine has transmitted 
                               last data
 13         20    I/O          Out = 1; in = 0
 14         10    IOSTBL       Device error flag
 15          4    IOFST        Next item will be the first item of 
                               a buffer
 16          2    IOBEG        Virgin device
 17          1    IOW          Input/output wait
 18     400000    IOIMPM       Improper mode
 19     200000    IODERR       Device error
 20     100000    IODTER       Data error
 21      40000    IOBKTL       Block too large
 22      20000    IODEND       Data end encountered
 23      10000    IOACT        Device active
 24-29                         Device-dependent bits (listed below)  
 30               IOCON        Continuous
 31               IOWC         Don't compute word count
32-35             PIOMOD       Data mode codes:
             0    A            ASCII
             1    AL           ASCII line mode
             2    PIMMOD       Packed image mode
             3    BYTMOD       Byte mode
            10    I            Image mode
            13    IB           Image binary mode
            14    B            Binary mode
            15    SD           Scope dump mode
            16    DR           Dump by records mode
            17    D            Dump across records mode

.el
.pg.lm0.f
Notes:
.b
Bits 0-11 and 24-29 of the DEVIOS word are defined differently for the type
of device DDB.  Those bits are defined in the following lists:
.ls,"o".le;For the disk DDB, the device-dependent bits are:
.b.nf
Bits   Value   Symbol    Meaning
.b
 0    400000   IOSMON    Monitor I/O request (such as reading 
                         RIB)
 1    200000   IOSAU     File has AU resource
 2    100000   IOSUPR    Super-USETI/USETO being used
 3     40000   IOSDA     File has DA resource
 4     20000   IOSRIB    RIB is in monitor buffer
 5     10000   IOSRDC    File has read count up
 6      4000   IOSWLK    File structure is software 
                         write-locked
 7      2000   IOSPBF    Partial buffer done
 8      1000   IOSFIR    First block of group being accessed
                         (Compute or check retrieval pointer 
                         checksum)
 9       400   IOSSCE    Software checksum error encountered
10       200   IOSHWE    Hardware write error encountered
11       100   IOSHRE    Hardware read error encountered
.b
16         2   IOSHMS    Hung message already typed
17         1   IOSRST    RESET or RELEAS done on spooled 
                         device
.b
28       200   UDSX      Super-USETO is formatting disk
.f.le;The following device-dependent bits are defined for magtape:
.b.nf
Bits   Value   Symbol    Meaning
.B
 1    200000   OFFLIN    Unit is off-line
 2    100000   OFLUNH    Off-line unit is not ready
 3     40000   FINP      First input operation
 4     20000   LBLNED    Labelling action needed
 5     10000   LBLWAT    Waiting for labelling process
 6      4000   LBLSTP    Stop I/O because of error
 7      2000   FOUT      First output operation
 8      1000   LBLEOF    EOF encountered
.b
24      4000   IOBOT     Beginning of tape
25      2000   IOTEND    End of tape
26      1000   IOPAR     Write even parity if 1 on magtape
27-28    600   PDENS     Density of magtape:
          00             Installation default
          01             200 BPI
          10             556 BPI
          11             800 BPI
29       100   IONRCK    Read with no reread check
.fill.le;For terminal DDBs, the following lists the device-dependent
bits:
.b.nf
Bits   Value   Symbol    Meaning
.b
 0    400000   TTYOUW    I/O wait is for output
 1    200000   FRCEND    Force EOF due to image mode timeout
 2    100000   IOLBKA    Saved value of IOSBKA when 
                         <CTRL/C>ed
.b
25      2000   IOSABS    Break on characters in break mask 
                         table
26      1000   IOSBKA    Break on all characters
27       400   IOSTEC    "Truth in echoing" mode
28       200   IOSNEC    "No echo" mode
29       100   IOSFCS    User wants all characters
.f.le;The TSK DDB contains the following device-dependent bits:
.b.nf
Bits   Value   Symbol    Meaning
.b
 4     20000   IOSUSO    UUOCON stopped output
                         (no output buffers available)
 5     10000   IOSUSI    UUOCON stopped input
                        (no input buffers available)
 6      4000   IOSERR   I/O can't continue due to an error
 7      2000   IOSZAP   Device no longer owned by job
 8      1000   IOSCON   Device is connected
 9       400   IOSREL   Device has been released
11       100   IOSDMR   Disable message reassembly
.els.f
.pg
.literal
                                   DEVMOD
                              Device Modes Word

+------------------------------------------------------------------------+
|D|D|D|D|T|T|T|D|D|D| D| D| D| D| D| D| D| D| A| A|   I/O mode           |
|V|V|V|V|T|T|T|V|V|V| V| V| V| V| V| V| V| V| S| S|                      |
|D|D|C|L|Y|Y|Y|D|L|P| P| D| A| M| T| D| I| O| S| S|                      |
|I|S|D|P|A|U|B|I|N|T| T| T| V| T| T| I| N| U| C| P|                      |
|R|K|R|T|T|S|I|S|G|P| R| A| A| A| Y| R|  | T| O| R|                      |
|I| | | |C|E|U| | | |  |  | L|  |  |  |  |  | N| G|                      |
|------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20------------------35|
+------------------------------------------------------------------------+

Bits in          Bit Label or
DEVMOD   Value   Byte Pointer   Description

  0      400000    DVDIRI       DECtape directory is in core 
  1      200000    DVDSK        Disk
  2      100000    DVCDR        Card reader
  3       40000    DVLPT        Line printer
  4       20000    TTYATC       TTY attached to job if 1
  5       10000    TTYUSE       TTYDDB in use flag
  6        4000    TTYBIU       TTYDDB in use
  7        2000    DVDIS        Display (DIS) device
  8        1000    DVLNG        Device has long dispatch table
  9         400    DVPTP        Paper tape punch
 10         200    DVPTR        Paper tape reader
 11         100    DVDTA        DECtape
 12          40    DVAVAL       1 if device available to this job
 13          20    DVMTA        Magnetic tape (rewind)
 14          10    DVTTY        Terminal
 15           4    DVDIR        Directory-oriented device
 16           2    DVIN         Device can do input
 17           1    DVOUT        Device can do output
 18      400000    ASSCON       Device assigned by ASSIGN command
 19      200000    ASSPRG       Device assigned by monitor call
20-35    177777                 If data mode n is legal, bit (35-n) 
                                is set
.EL
.PG
.LITER
                                  DEVIAD
                             Input Buffer Word

+---------------------------------------------------------------------------+
|      Device-dependent bits  |      Current input buffer address           |
|---------------------------------------------------------------------------|
|0--------------------------13|14-----------------------------------------35|
+---------------------------------------------------------------------------+

.el.nf
Bits   Value   Symbol    Meaning
.b
0-13  777760             Device-dependent bits (listed below)
14-35          PDVIAD    Address of current user's input buffer.
                         (Exec virtual address if EVM, user
                         virtual address if not in EVM)
.b.f
Notes:
.ls,"o".le;For disk DDBs, the following device dependent bits are defined in
the DEVIAD word:
.b.nf
Bits   Value   Symbol    Meaning
.b
0-2   700000   DEYCOD    File status code (from UNISTS):
           0   ICOD      Idle
           3   PWCOD     Position wait
           4   PCOD      Positioning
           5   TWCOD     Transfer wait
           6   TCOD      Transferring 
 3    400000   DEYSCN    SFD scanning (/SCAN) in effect
 4    200000   DEPLPC    Last RIB pointer is in core
5-8    17000   DEYFNC    Highest allowed function with file:
           1   FNCEXC    Execute only
           2   FNCRED    Read
           3   FNCALL    Allocate
           4   FNCDLL    Deallocate
           5   FNCAPP    Append
           6   FNCUDP    Update
           7   FNCCRE    Create
          10   FNCSUP    Supersede
          11   FNCTRN    Truncate
          12   FNCCAT    Change attributes except name, 
                         directory, and privileges
          13   FNCDEL    Delete
          14   FNCCNM    Change name
          15   FNCCPR    Change privileges
9-12     740   DEYEUN    Logical unit, within structure,
                         of error
.f.le;The DECtape DDB contains the following device-dependent bits:
.b.nf
Bits   Value   Symbol    Meaning
.b
1-2   300000   IADPTR    Number of channels on which the
                         device is initiated.
.f.le;For magtape DDBs, the following device-dependent bits are defined
in DEVIAD:
.b.nf
Bits   Value   Symbol    Meaning
.B
 0    400000   OFLHNG    Hung device
 9       400   MTSNAR    Set if user disabled RETRY
10       200   IOSRTY    No retry on error
11       100   IOSCPZ    I/O being started on a queued I/O 
                         request
.els.f.pg
.literal
                                  DEVOAD
                            Output Buffer Word

+---------------------------------------------------------------------------+
|      Device-dependant bits   |          Current output buffer address     |
|---------------------------------------------------------------------------|
|0--------------------------13 |14---------------------------------------35 |
+---------------------------------------------------------------------------+

.end literal
.nf
Bits   Value   Symbol    Meaning
.b
0-13  777760             Device-dependent bits (listed below)
14-35          PDVOAD    Address of current user's output buffer
                         (Exec virtual address if in EVM, user
                         virtual address if not in EVM)
.b.f
Notes:
.ls,"o".le;For disk DDBs, the following device-dependent bits are defined in
the DEVOAD word:
.b.nf
Bits   Value   Symbol    Meaning
.B
 0    400000   DEPSWP    SWPSER DDB
 1    200000   DEPLIB    LOOKUP from LIB/SYS
2-8   177000   DEYRLC    Offset into RIB of first retrieval
                         pointer stored in DEVRB1
 9       400   DEPUWZ    USETO writing zeros to extend file
10       200   DEPPP0    Zero PPN was specified in UUO
11       100   DEPFDA    FILDAE should be called on CLOSE
.f.le;For magtape DDBs, the following device-dependent bits are defined in
the DEVOAD word:
.b.nf
Bits   Value   Symbol    Contents
.b
0-13  777760   PBUFRM    Maximum frame count from TAPOP. UUO
                         function
.f.le;For TTY DDBs, the following device-dependent bits are defined in
the DEVOAD word:
.b.nf
Bits   Value   Symbol    Contents
.b
1-12  377740   BYTCNT    Remaining byte count for asynch. 
                         output
.f.le;For DECtape DDBs, the following device-dependent bits are defined
in the DEVOAD word:
.b.nf
Bits   Value   Symbol    Contents
.b
0-6  774000    SLPNTR    Dead-reckoning sleep time, 
                         in seconds
.f.els
.pg
.lit
                                 DEVSTA     
                           Device Station Word

+---------------------------------------------------------------------------+
|D|D|D|D|Device  | D|  Spooled        | D| D| D| D| D| D| D| D|  D   | Node |
|E|E|E|E| type   | E|  devices        | E| E| E| E| E| E| E| E|  E   |number|
|P|P|P|P|        | P|                 | P| P| P| P| P| P| P| P|  V   |      |
|S|A|L|R|        | I|                 | A| I| O| E| M| E| D| D|  D   |      |
|P|D|E|A|        | B|                 | I| N| N| C| S| V| E| E|  P   |      |
|L|V|N|S|        | C|                 | O| D| D| S| G| M| R| L|  R   |      |
|---------------------------------------------------------------------------|
|0|1|2|3|4------9|10|11-------------17|18|19|20|21|22|23|24|25|26--29|30--35|
+---------------------------------------------------------------------------+

Bits in         Bit Label or
DEVSTA   Value  Byte Pointer   Description

  0     400000  DEPSPL         DDB is for a spooled device
  1     200000  DEPADY         Disk in 10/11 compatibility mode
  2     100000  DEPLEN         Variable length buffers
  3      40000  DEPRAS         Device has restricted assignment
 4-9     37400  PDVTYP         Device type (see UUOSYM .TYxxx)
 10        200  DEPIBC         Inhibit clearing output buffers
11-17      177                 Spool bits:
            37  .SPALL         Bit mask for defined spool bits
            20  .SPCDR         Card reader spool bit
            10  .SPCDP         Card punch spool bit
             4  .SPPTP         Paper tape punch spool bit
             2  .SPPLT         Plotter spool bit
             1  .SPLPT         Line printer spool bit
 18     400000  DEPAIO         Doing asynchronous input/output
 19     200000  DEPIND         Input not yet done (asynch I/O)
 20     100000  DEPOND         Output not yet done (asynch I/O)
 21      40000  DEPECS         On if a non-supercede enter
 22      20000  DEPMSG         This device controlled by MSGSER
 23      10000  DEPEVM         Device doesn't need EVM
 24       4000  DEPDER         Disable error recovery on this device
 25       2000  DEPDEL         Disable error logging on this device
26-29     1700                 Unused
30-35       77  PDVSTA         Station number (node) of device
.el
.pg
.literal
                                  DEVXTR
                                Extra Word

+------------------------------------------------------------+
|                       See bit definitions                  |
+------------------------------------------------------------+

.end literal
.f
Notes:
.b
The DEVXTR contains different information for different types of DDBs.  The
DDB-dependent bit definitions are:
.b.ls,"o".le;For the MPX: device DDB, DEVXTR contains the following:
.b.nf
Bits     Value     Contents
.B
0-17    777777     Address of connected device table
18-35   777777     Number of connected devices
.b.f.le;For an MPX-controlled device's DDB, DEVXTR contains the following:
.b.nf
Bits     Value    Contents
.b
0-17    777777    I/O flags (same as left half of USRJDA
18-35   777777    Address of MPX: DDB to which device is 
                  connected
.b.f.le;For a magtape DDB, DEVXTR contains the following device-dependent
bits:
.b.nf
Bits   Value   Symbol    Contents
.b
0-2   700000   TDYHNI    Initial value of queued/asynch I/O 
                         hung timer
3-5    70000   TDYHNG    Current value of queued/asynch I/O 
                         hung timer
6-35                     Unused
.b.f
The value of TDYHNG is the number of times a queued I/O or asynchronous I/O
request can get hung device errors if it has not been actually started,
before a hung device condition actually occurs.
.els
.PG.LIT
                                  DEVEVM
                         Exec Virtual Memory Word

+-------------------------------------------------------------------------+
|      PIEVM        |    PIEVMS     |     POEVM       |   POEVMS          |
|-------------------------------------------------------------------------|
|0----------------8 |9-----------17 |18------------26 |27---------------35|
+-------------------------------------------------------------------------+

 Bits    Value    Symbol     Contents

 0-8    777000    PIEVM      Page number of this device's
                             EVM for buffered input
 9-17      777    PIEVMS     Number of pages of EVM allocated for 
                             buffered input
18-26   777000    POEVM      Page number of this device's
                             EVM for buffered output
27-35      777    POEVMS     Number of pages of EVM allocated for
                             buffered output


                                  DEVESE
                   Device Extended Software Error Word

+-----------------------------------------------------------------------------+
|                                    |P  L|               |                   |
|  Next DDB in pending PSI chain     |I  e|  CNDSIZ       |  PDVESE           |
|                                    |   v|               |                   |
|                                    |   e|               |                   |
|                                    |   l|               |                   |
|                                    |    |               |                   |
|-----------------------------------------------------------------------------|
|0---------------------------------17|18  |20-----------26|27---------------35|
+-----------------------------------------------------------------------------+

Bit in          Bit Label or
DEVESE   Value  Byte Pointer   Description

 0-17   777777                 Address of next DDB in pending PSI chain 
18-19   600000                 PSI interrupt level
20-26   177000                 PSI vector offset      
27-35      777   PDVESE        Extended software error status
.end literal
.pg
.literal
                                  DEVJOB
                              Device Job Word

+--------------------------------------------------------------------------+
|     Device-dependent bits         |        PUNIT        |     PJOBN      |
|--------------------------------------------------------------------------|
|0-------------------------------17 |18----------------26 |27------------35|
+--------------------------------------------------------------------------+

 Bits    Value    Symbol    Contents

 0-17    777777             Device-dependent bits
18-26    777000   PUNIT     Unit number of device
27-35       777   PJOBN     Job number of device owner
.end literal
.nf.b
Notes:
.b
The following device-dependent bits are defined in DEVJOB for disk DDBs:
.b.nf
Bits   Value   Symbol    Contents
.b
 0     400000   DEPFOP    FILOP. in progress
 1     200000   DEPFFA    Inhibit Full File Access
 2     100000   DEPSIM    Simultaneous update enabled
 3      40000   DEPSIE    Synchronize on I/O error
 4      20000   DEPALW    Allocation is in words
 5      10000   DEPNLB    No load balancing on ENTER
 6       4000   DEPFCU    FILDAE has read count up
 7       2000   DEPAUL    Allow update on LIB
 8       1000   DEPDSL    Don't search LIB
9-17      777   DEYFSN    Old file structure number
                          (used for CLOSE when superseding)
.b.f
.pg
.literal
                                  DEVCPU
                              Device/CPU Word

+-------------------------------------------------------------------+
| D | D | D | D  |              | Addr of interrupt interlock       |
| E | E | E | E  |              |                                   |
| Y | Y | Y | Y  |              |                                   |
| C | C | P | C  |              |                                   |
| P | P | C | P  |              |                                   |
| F | S | L | U  |              |                                   |
|-------------------------------------------------------------------|
|0-2|3-5|6-8|9-11|              |18-------------------------------35|
+-------------------------------------------------------------------+

Bits   Value    Symbol   Contents

0-2    700000   DEYCPF   CPU number of primary CPU owning device
3-5     70000   DEYCPS   CPU number of secondary CPU owning device
6-8      7000   DEYPCL   CPU number of CPU doing I/O to device
9-11      700   DEYCPU   CPU number of CPU that did last IN or OUT UUO
18-35                    Address of UUO/interrupt level interlock word

.end literal
Note:
.b.lm5
DEYCPF=7 when any CPU can do I/O to the device.  In this case, DEYPCL will
always contain 0.
.lm0.pg
.literal
                                  DEVFUN
                                UDB Pointer
                              (Disk DDB only)

+-------------------------------------------------------------------+
| S | L |                      |  UDB address to which first        |
|   |   |                      |  retrieval pointer points          |
|-------------------------------------------------------------------|
| 0 | 1 | 2-----------------17 | 18------------------------------35 |
+-------------------------------------------------------------------+

Bits    Value    Symbol      Contents

 0     400000    DEPFFS      File found by scanning (/SCAN)
 1     200000    DEPFFL      File found in LIB or SYS
2-17   177777                Unused
18-35  777777                Address of UDB for unit, to which
                             first retrieval pointer in DDB points (DEVRB1)


                                  DEVELB
                             Error Information
                             (Disk DDBs only)

+-------------------------------------------------------------------+
| Error bits |        First logical block number of bad region      |
|-------------------------------------------------------------------|
|0---------8 |9--------------------------------------------------35 |
+-------------------------------------------------------------------+

Bits    Value    Symbol      Contents

 3     400000    BAPOTR      Other error (neither BAPDTR nor BAPHDR)
 4     200000    BAPDTR      Data error
 5     100000    BAPHDR      Search or header compare error
9-35                         Logical block number, within structure,
                             of start of bad region


                                  DEVRIB
                          Current RIB Information
                             (Disk DDBs only)

+-------------------------------------------------------------------+
| E |   Count   |   Unit |           Cluster address                |
|-------------------------------------------------------------------|
| 0 | 1--------8|9-----12|13--------------------------------------35|
+-------------------------------------------------------------------+

Bits    Value    Symbol      Contents

 0     400000                Extended RIB
1-8    377000    DEYRBC      Count of RIBs
9-12      740    DEYRBU      Unit within structure
13-35            DEYRBA      Cluster address within unit
.end literal
.pg
.literal
                                  DEVCUR
                         Current Unit Information
                             (Disk DDBs only)

+---------------------------------------------------------------------+
|D|D|D|D|D|D| DEYNB1 |  DEYNBB   |   Address of current UDB           |
|E|E|E|E|E|E|        |           |                                    |
|P|P|P|P|P|P|        |           |                                    |
|R|P|R|R|P|L|        |           |                                    |
|A|R|R|H|H|B|        |           |                                    |
|D|V|C|C|O|F:        |           |                                    |
|---------------------------------------------------------------------|
|0|1|2|3|4|5|6----11 |12------17 |18-------------------------------35 |
+---------------------------------------------------------------------+

Bits    Value    Symbol      Contents

 0     400000    DEPRAD      Rename in progress
 1     200000    DEPPRV      Don't check privileges on LOOKUP
 2     100000    DEPRRC      Auto-rewrite of RIB on change
 3      40000    DEPRHC      RIB had changed
 4      20000    DEPPHO      Physical-only set in INIT
 5      10000    DEPLBF      Use large buffers
6-11     7700    DEYNB1      Number of blocks in first buffer
12-17      77    DEYNBB      Number of blocks per buffer
18-35  777777                Address of current UDB doing I/O


                                  DEVFCS
                             CFP-Supplied Word
                             (Disk DDBs only)

+-------------------------------------------------------------------+
|                               |P |  CFP-supplied on LOOKUP        |
|-------------------------------------------------------------------|
|0---------------------------16 |17|18---------------------------35 |
+-------------------------------------------------------------------+

Bits    Value    Symbol      Contents

17          1    DEPCFS      CFP can be supplied by program
18-35  777777                CFP from LOOKUP UUO

.end literal
.pg
.literal
                                  DEVRBn
                             Retrieval Pointer
                             (Disk DDBs only)

+-------------------------------------------------------+
|  Cluster count  |     Checksum     |   Cluster adr    |
+-------------------------------------------------------+

Widths of these fields are defined symbolically, and may be different
for each file structure.  Byte pointer is in structure data block.

        Field                Byte Pointer

    Cluster count              STYCNP
    Checksum                   STYCKP
    Cluster address            STYCLP (23 bits maximum)
.end literal
.b.f.lm0
If cluster count = 0, the word actually is one of the following:
.f;.ls;.le;Pointer to new unit, if bit 18 = 1.  Bits 19-35
specify logical unit number within file structure.
.le;EOF flag, if whole word is zero.
.els
.page
.literal
                                  TDVSTS
                          Status Information Word
                            (Magtape DDBs only)

+---------------------------------------------------------------------+
|D|D| |D| TDYDEN | TDYMOD |                         | TDYMD1 | TDYDN1 |
|.|.| |.|        |        |                         |        |        |
|R|N| |E|        |        |                         |        |        |
|D|R| |P|        |        |                         |        |        |
|B|L| |A|        |        |                         |        |        |
|K|T| |R|        |        |                         |        |        |
|---------------------------------------------------------------------|
|0|1|2|3|4-----7 |8----10 |11--------------------28 |29---31 |32---35 |
+---------------------------------------------------------------------+

Bits    Value    Symbol      Contents

 0     400000    D.RDBK      Read backwards
 1     200000    D.NRLT      Read next record at low threshold
 2                           Unused
 3      40000    D.EPAR      Even parity
4-7     36000    TDYDEN      Tape density used
8-10     1600    TDYMOD      Tape data format from TAPOP. UUO
                             function .TFMOD
11-28                        Unused
29-31     160    TDYMD1      Tape data format from SET FORMAT command
32-35      17    TDYDN1      Tape density from TAPOP. UUO
                             function .TFDEN

.end literal

.pg;.lm0;.f
Name:	DEVDSP -- Device Dispatch Table
.b;.lm15;.i-15
Description:	Table of JRSTs to routines that perform various 
device dependent functions.  For each device, corresponding table entries 
go to routines to perform a specific function.
.b
The first nine entries are present in each device service routine.
Tables that contain the additional entries are referred to as
long dispatch tables.
.b.i-15
Defined in:	Device Service Routines
.b.i-15
Used by:	COMMON, COMNET, MSGSER, SYSINI, UUOCON
.b.lm0
Format:  
.b
JRST x, where x will perform one of the following functions:
.b;.literal
+----------------------------------------------------------+
| Label of entry       | Relative |                        |
| (Relative to DEVDSP) |   Adr    |       Function         |
|----------------------------------------------------------|
| DOFL                 |    -5    | Is device off line ?   |
|----------------------------------------------------------|
| DDVO                 |    -4    | DEVOP. UUO             |
|----------------------------------------------------------|
| DSZ                  |    -3    | Return buffer size     |
|----------------------------------------------------------|
| DINI                 |    -2    | Device and service     |
|                      |          | routine initialization |
|----------------------------------------------------------|
| DHNG                 |    -1    | "Hung device" action   |
|----------------------------------------------------------|
| DRL                  |     0    | Release (table base    |
|                      |          | adr - DEVDSP)          |
|----------------------------------------------------------|
| DCL                  |     1    | CLOSE, CLOSE output    |
|----------------------------------------------------------|
| DOU                  |     2    | OUTPUT operation       |
|----------------------------------------------------------|
| DIN                  |     3    | INPUT operation        |
|----------------------------------------------------------|
| DEN (1)              |     4    | ENTER operation        |
|----------------------------------------------------------|
.end literal
.pg
.literal
|----------------------------------------------------------|
| DLK                  |     5    | LOOKUP operation       |
|----------------------------------------------------------|
| DDO                  |     6    | DUMP mode output       |
|----------------------------------------------------------|
| DDI                  |     7    | DUMP mode input        |
|----------------------------------------------------------|
| DSO                  |    10    | USETO operation        |
|----------------------------------------------------------|
| DSI                  |    11    | USETI operation        |
|----------------------------------------------------------|
| DGF                  |    12    | UGETF operation        |
|----------------------------------------------------------|
| DRN                  |    13    | RENAME operation       |
|----------------------------------------------------------|
| DCLI                 |    14    | CLOSE input - dump mode|
|----------------------------------------------------------|
| DCLR                 |    15    | UTPCLR UUO             |
|----------------------------------------------------------|
| DMT (1)              |    16    | MTAPE operation        |
+----------------------------------------------------------+
.end literal
.b2;.lm0;.f
Labels for table entries, relative to the base address, are
defined in S.MAC.
.b
Notes:
.ls
.le;Only a "long dispatch table" contains entries DEN and DMT.  The long
dispatch table is used for directory-oriented devices (DECtape, disk, and
labelled magtape).
.le;The actual tables are defined in the device service routines.
The base address of the device dispatch table is contained in the
corresponding Device Data Block, in the right half of DEVSER.
.le;The device dispatch table labels are normally indexed by
AC T4, which must contain the base address of the appropriate table.  The
dispatch is usually performed by a PUSHJ P, Dxxx(T4) where Dxxx represents
the label of the appropriate table entry.
.le;Before attempting to dispatch to any of the long dispatch
table entries, the monitor checks the DVLNG bit of DEVMOD in the
Device Data Block for that device.
.le;The actual names of the tables are xyzDSP where xyz is the three-letter
name of the device (for example, PTRDSP for the paper tape reader).
.els
.pg
.nf
Name:  DISP -- Command Dispatch Table
.B;.LM15;.F
.ts15.I-15
Description:	Specifies routine address and legality bits for
each monitor command.  Entries correspond to command names in COMTAB.
.b
There is one entry for each command.
.b
Position in table is of no significance, but DISP entry and COMTAB
entry must be in same relative position.
.b
.lm0
Defined in:	COMMON
.b
Used by:	COMCON
.b
Format:
.nf;.b;.lit
+------------------------------------------------------------------+
|N |N |N |N |C |T |T |T |N |N |N |C |N |N |I |N |N |N |            |
|O |O |O |O |M |T |T |T |O |O |O |U |B |X |N |O |O |O |            |
|C |J |L |M |W |Y |Y |Y |P |C |I |S |A |O |C |R |A |L |            |
|O |O |O |E |R |R |R |R |E |R |N |T |T |N |O |U |C |O |            |
|R |B |G |S |Q |N |N |N |R |L |C |M |C |L |R |N |T |G |            |
|E |N |C |S |  |W |C |U |  |F |K |R |H |Y |  |  |  |I |            |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |N |            |
|------------------------------------------------------------------|
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |Adr for cmd1|
|------------------------------------------------------------------|
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |Adr for cmd2|
|------------------------------------------------------------------|
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |Adr for cmd3|
|------------------------------------------------------------------|
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |      -     |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |      -     |
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |            |
+------------------------------------------------------------------+
 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18    -    35
.el
.pg
Bit   Label    Meaning
.b.lit
 0    NOCORE   No core needed for command.
 1    NOJOBN   No job number needed for command.
 2    NOLOGC   No logical name can be substituted (before call).
 3    NOMESS   No command response ever.
 4    CMWRQ    Requeue job after command wait.
 5    TTYRNW   Set terminal to user level and restore I/O status.
 6    TTYRNC   Keep terminal in monitor mode and start job.
 7    TTYRNU   Set terminal to user and start job.
 8    NOPER    No printing of period.
 9    NOCRLF   No printing of CR-LF.
 10   NOINCK   No check for job initialization (JNA=0).
 11   CUSTMR   Reserved for customer definition.
 12   NBATCH   Not legal for batch job.
 13   NXONLY   Not legal if execute-only program.
 14   INCORE   Job must be in core if it has core.
 15   NORUN    Job must not be running - <CTRL/C> required.
 16   NOACT    Command must wait until job devices not active.
 17   NOLOGIN  Job need not be logged in.
.el
.b1.fill
Bits 0, 1, 2, and 12-17 are checked before dispatching to command.
Bits 2-11 are checked after return from command.
.pg
Name: DSCTAB -- Dataset Control Table
.ts15.b.LM15.I-15
Description:	Contains information required for timing function on datasets.
One entry for each data set that needs timing.  Index is
contained in Line Data Block, LDBBY2 word.
.b.i-15
Defined in:	COMDEV, COMMON, SCNSER
.b2.lm0
.nf
+------------------------------------------------------+
|D |D |D |D |D |D |D |D |D  |         |                |
|S |S |S |S |S |S |S |S |S  |         |                |
|C |C |C |C |C |C |C |C |C  |         |                |
|H |S |F |N |B |D |D |D |E  |         |                |
|W |W |A |C |L |L |L |L |O  |         |                |
|C |C |I |R |I |W |F |C |N  |  Time   |LINTAB index    |
|------------------------------------------------------|
|  |  |  |  |  |  |  |  |   |         |                |
|------------------------------------------------------|
|  |  |  |  |  |  |  |  |   |         |                |
+------------------------------------------------------+
 0  1  2  3  4  5  6  7   8   12    17   18           35
.b2
Bits      Label           Meaning
.b2;.lit
  0       DSCHWC     When last heard from, the hardware carrier was on
  1       DSCSWC     Software considers carrier to be on
  2       DSCFAI     Carrier went off, but may be brief failure
  3       DSCNCR     New carrier flag; on briefly for clock sync
  4       DSCBLI     Blind flag; ignore everything for 1 second
  5       DSCDLW     Dialler wait; waiting for results from dialler
  6       DSCDLF     Dialler fail; unsuccessful dialler attempt
  7       DSCDLC     Dialler complete; successful dialler action
  8       DSCEON     End of number; sent all digits to dialler
12-17     DSTIMP     Time field for functions that require timing
18-35                Line number for this dataset (LINTAB index)
.el
.PG.LM0.PS58,70
Name: EPT -- Exec Process Table
.fill.b.lm15.ts15.i-15
Description:	Contains information about the executive process and points
to important addresses, like page maps.  This table has been called the
Exec Page Map Page (EPMP) in the past.  However, the EPT is not a page map.
It points to the appropriate page maps and other hardware-related
instructions.
.b
Each CPU constants GETTAB table (.GTCnC) contains a word (%CCTOS) that
points to that CPU's EPT.
.b.i-15
Defined in:	COMMON.MAC
.b.lm0
Format:
.b.literal
Offset      Map
           +-----------------------------------------------------+
  0        /        Eight channel logout areas (4 words each)    /
           |-----------------------------------------------------|
 40        |              I/O Page fail trap                     |
           |-----------------------------------------------------|
 41        |                     Unused                          |
           |-----------------------------------------------------|
 42        /              Priority interrupt instructions        /
           /              (16 words)                             /
           |-----------------------------------------------------|
 60        /            Channel fill words                       /
           /                (4 words)                            /
           |-----------------------------------------------------|
           /                   Unused                            /
           |-----------------------------------------------------|
 140       /           4  DTE control blocks                     /
           /               (10 words each)                       /
           |-----------------------------------------------------|
 200       /                  Unused                             /
           |-----------------------------------------------------|
 421       |         Arithmetic overflow trap instruction        |
           |-----------------------------------------------------|
 422       |       Push down list overflow trap instruction      |
           |-----------------------------------------------------|
 423       |          Trap 3 trap instruction                    |
           |-----------------------------------------------------|
           /                   Unused                            /
           |-----------------------------------------------------|
 510       |      Time base for high-precision runtime           |
           |                  (2 words)                          |
           |-----------------------------------------------------|
 512       |          Performance analysis counter               |
           |                  (2 words)                          |
           |-----------------------------------------------------|
.END LITERAL
.PG
.LITERAL
           |-----------------------------------------------------|
 514       |    Interval timer interrupt instruction             |
           |-----------------------------------------------------|
           /                   Unused                            /
           |-----------------------------------------------------|
 540       |        Address of Section 0 exec page map           |
           |-----------------------------------------------------|
 541       /        Address of Sections 1-37 exec page maps      /
           /           One word for each section                 /
           |-----------------------------------------------------|
 600       /                   Unused                            /
           /                   .  .  .                           /
           /                                                     /
           +-----------------------------------------------------+

.end literal
.pg
Name: EXE Format Save Files
.b.f.LM15.I-15
Defined in:	S.MAC
.b.i-15
Used by:	COMCON, SEGCON
.B.i-15
Description:	The old .SAV, .LOW, .SHR, .HGH and .XPN files have been
replaced by the .EXE type in order to provide a unified format
for saved core image files.
This type of file consists of two distinct but related portions:
.b.ls.le;Information about the structure of the file
.le;The data in the file
.els.b
The file information is organized into a variable number of chunks.
Each chunk begins with a word containing an identifier code in the left
half and the length of the chunk in the right half.  At this time, the
defined codes are:
.ls
.le;Directory:  1776
.le;End: 1777
.els
Other chunks may be added later as they become necessary.  The save file
starts with a directory followed by one or more pages of data.  All
pages of data are stored on page boundaries in exactly the form they
will be loaded into the virtual address space.  There is no zero
compression within pages;  only entire pages will be compressed.
.b
The format of the directory is:
.lm0.b2 .nf
   +---------------------------------------------------+
0  |         1776           |     Size of directory    |
   |---------------------------------------------------|
1  |    Flags    |       File page number              |
   |---------------------------------------------------|
2  |    Repeat   |      Process page number            |
   |---------------------------------------------------|
   /    Enough data to describe all pages              /
   /                                                   /
   +---------------------------------------------------+
.pg.f
Word 0 has 1776 in the left half and the size of the directory
in words in the right half.
.b;Word 1 has flag bits in the leftmost nine bits and a file page
number in the right 27 bits.  If the file page number is zero then the
page is allocated but zero.  The flag bits are:
.b.nf
Bit  Symbol   Meaning
.b
 0   SV%HIS   Set if this is part of the hiseg
 1   SV%SHR   Set if this page is sharable
 2   SV%WRT   Set if the page may be written
 3   SV%CON   Page is concealed (access by PORTAL only)
.f.b
Word 2 has a repeat count in its leftmost nine bits for one
less than the number of consecutive file and memory pages described
by this pointer.  The rightmost nine bits describe the process address
into which this page should be loaded.  Descriptors in the same format
as words 1 and 2 are provided for every contiguous piece of the process
space with identical access bits.
.b;A typical save file directory for a program with a 2K lowseg and a
10K hiseg would contain:
.b.lm 10 .nf .nj
001776,,000005
100000,,000001
003000,,000000
600000,,000005
023000,,000400
001777,,000001
.lm 0 .f .j .b
followed by 506 words of zeroes.
.b;_.EXE files were implemented to provide an extendable description of
a core image not limited to 256K.  This is especially useful in taking
crash dumps of systems greater than 256K.  Aside from this, the basic
advantages include only 1 LOOKUP to get a program as opposed to as many
as 3 previously, and the elimination of the overhead associated with
expanding zero-compressed core images and compressing them on a SAVE.
The disadvantages are that .EXE files require more disk space because
of the directory and the elimination of zero compression within pages,
and that an additional page, the directory, must be read when the core
image is fetched.
.pg.lm0
Name:  FETTBL -- Table of Bits for Monitor Features
.B.lm15.ts15.i-15
Description:	Contains bits for feature test switches.
.b.i-15
Defined in:	UUOCON (local symbol)
.b.i-15
Used by:	UUOCON
.b.i-15
GETTAB Table No.:  .GTFET (71)
.b.lm0
Format:
.b .nf
+-----------------------------------------------------+
|              Miscellaneous UUO features             |
|-----------------------------------------------------|
|           Real time and scheduling features         |
|-----------------------------------------------------|
|                  Command features                   |
|-----------------------------------------------------|
|                Accounting features                  |
|-----------------------------------------------------|
|             Error control and options               |
|-----------------------------------------------------|
|            Non-I/O debugging features               |
|-----------------------------------------------------|
|                File system features                 |
|-----------------------------------------------------|
|               Internal disk features                |
|-----------------------------------------------------|
|                  Scanner features                   |
|-----------------------------------------------------|
|            Miscellaneous I/O features               |
|-----------------------------------------------------|
|      Miscellaneous I/O features (second word)       |
|-----------------------------------------------------|
|       Internal disk features (second word)          |
|-----------------------------------------------------|
|         File system features (second word)          |
|-----------------------------------------------------|
|      Miscellaneous UUO features (second word)       |
+-----------------------------------------------------+
.pg.lm0.fill
Name: Fragment Table
.b.lm15.i-15
Description:	Contains data needed in order to swap in a fragmented core
image.  Set up as required when segments are swapped out.  JBTSWP points to
first fragment table for a given segment.
.b.i-15
Used by:	SCHED1, SEGCON, SWPSER, VMSER
.lm0.b2 .nf
+-------------------------------------------------------+
|      Size       |         |   U    |     Address      |
|-------------------------------------------------------|
|                 |         |        |                  |
|-------------------------------------------------------|
|                 |         |        |                  |
|-------------------------------------------------------|
|                 |         |        |                  |
+-------------------------------------------------------+
0               17         21       24                 35
.b2
     Bits                    Content
.b
     0-17         Number of pages in fragment
    20-22         Unit index into SWPTAB
    23-35         Logical page within unit where fragment
                  starts 
.b;.f
Notes:
.ls;.le;A zero word indicates end of table.
.le;Fragment tables are built from four-word blocks.  If more than one
block is required, and they are not contiguous, the last word of the
preceding block contains -1 in the left half and the address of the
next table in the right half.
.els
.pg
.nf
Name:   HOM -- Home Block
.B;.LM15;.F;.I-15
Description:	Block on each disk unit or pack that contains
vital statistics that cannot be "built in" when a monitor is
generated.  These are primarily parameters of the unit or pack
and the structure to which it belongs.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	MONBTS, ONCMOD, REFSTR
.b.lm0
Format:
.b;.lit
 Symbol  Map                                                     Offset
         +------------------------------------------------------+
 HOMNAM  | SIXBIT      /HOM/        Written by MAP program.     | (0)
         |------------------------------------------------------|
 HOMHID  | SIXBIT unit ID           Written by MAP program.     | (1)
         |------------------------------------------------------|
 HOMPHY  |Physical disk adr this blk | Physical disk adr other  | (2)
         |       on this unit        |  Home blk on this unit   |
         |------------------------------------------------------|
 HOMSRC  | Position of this structure in System Search List     | (3)
         | -1 means not in System Search List                   |
         |------------------------------------------------------|
 HOMSNM  | SIXBIT structure name     0 = not in file structure  | (4)
         |------------------------------------------------------|
 HOMNXT  |Unit ID for next unit in STR    0 = last or only unit | (5)
         |------------------------------------------------------|
 HOMPRV  |Unit ID for previous unit in STR  0=last or only unit | (6)
         |------------------------------------------------------|
 HOMLOG  | SIXBIT logical unit name within structure            | (7)
         |------------------------------------------------------|
 HOMLUN  | Logical unit # within structure                      |(10)
         |------------------------------------------------------|
 HOMPPN  | PPN that refreshed structure under timesharing or 0  |(11)
         |------------------------------------------------------|
 HOMHOM  | Logical blk # for HOME   | Logical blk # within unit |(12)
         |    block within unit     |   for extra HOME block    |
         |------------------------------------------------------|
 HOMGRP  |No blocks per group to try for on output(not clusters)|(13)
         |------------------------------------------------------|
 HOMBSC  | No blocks per supercluster on this unit              |(14)
         |------------------------------------------------------|
 HOMSCU  | No superclusters per unit                            |(15)
         |------------------------------------------------------|
 HOMCNP  |  Byte ptr for cluster count in retrieval pointers    |(16)
         |------------------------------------------------------|
 HOMCKP  |  Byte ptr for checksum in retrieval pointers         |(17)
         |------------------------------------------------------|
 HOMCLP  | Byte ptr for cluster adr in retrieval pointers       |(20)
         |------------------------------------------------------|
 HOMBPC  | No. blocks per cluster for this structure            |(21)
         |------------------------------------------------------|
.end literal
.pg
.literal
         |------------------------------------------------------|
 HOMK4S  | No. K words for swapping on this unit                |(22)
         | 0 means no swapping                                  |
         |------------------------------------------------------|
 HOMREF  | Non-zero if file structure must be refreshed         |(23)
         |------------------------------------------------------|
 HOMSIC  | No. SAT blocks in core                               |(24)
         |------------------------------------------------------|
 HOMSID  | Unit ID of next unit in active swapping list         |(25)
         | 0 if last or not in active swapping list             |
         |------------------------------------------------------|
 HOMSUN  | Logical unit # in active swapping list               |(26)
         | -1 if not in swapping list
         |------------------------------------------------------|
 HOMSLB  | First logical block # for swapping on this unit      |(27)
         |------------------------------------------------------|
 HOMCFS  | Swapping class for unit                              |(30)
         |------------------------------------------------------|
 HOMSPU  | No. SAT blocks per unit                              |(31)
         |------------------------------------------------------|
 HOMOVR  | Overdraw limit per user on this structure            |(32)
         |------------------------------------------------------|
 HOMGAR  | Upper bound on total reserved blocks guaranteed      |(33)
         | to users                                             |
         |------------------------------------------------------|
 HOMSAT  |                    SAT.SYS*                          |(34)
         |------------------------------------------------------|
 HOMHMS  |                    HOME.SYS*                         |(35)
         |------------------------------------------------------|
 HOMSWP  |                    SWAP.SYS*                         |(36)
         |------------------------------------------------------|
 HOMMNT  |                    MAINT.SYS*                        |(37)
         |------------------------------------------------------|
 HOMBAD  |                    BADBLK.SYS*                       |(40)
         |------------------------------------------------------|
 HOMCRS  |                    CRASH.EXE*                        |(41)
         |------------------------------------------------------|
 HOMSNP  |                    SNAP.SYS*                         |(42)
         |------------------------------------------------------|
 HOMRCV  |                    RECOV.SYS*                        |(43)
         |------------------------------------------------------|
 HOMSUF  |                    SYS [1,4].UFD*                    |(44)
         |------------------------------------------------------|
 HOMPUF  |                    PRINTR [3,3].UFD*                 |(45)
         |------------------------------------------------------|
 HOMMFD  |                    MFD [1,1].UFD*                    |(46)
         |------------------------------------------------------|
 HOMPT1  | First retrieval ptr for MFD for structure this       |(47)
         | unit is in                                           |
         |------------------------------------------------------|
 HOMUN1  | Logical unit # where MFD starts                      |(50)
         |------------------------------------------------------|
 HOMLEN  |Table of lengths of files created by refresh (6 words)|(51)
         | Needed by CRS, SNP, RCV, and UFDs (in that order)    |
         |------------------------------------------------------|
.end literal
.pg
.literal
         |------------------------------------------------------|
 HOMUTP  | Unit type on which HOME block was written            |(57)
         | (see UNYUTP)                                         |
         |------------------------------------------------------|
 HOMRIP  | Reserved for use by RIPOFF                           |(60)
         |------------------------------------------------------|
 HOMKLB  | 20 words used by console front end in KL10 systems   |(61)
         |------------------------------------------------------|
 HOMFEA  | FE-file address for KS10                             |(101)
         |------------------------------------------------------|
 HOMFES  | FE-file size for KS10                                |(102)
         |------------------------------------------------------|
 HOMTCS  | Tracks/cylinder/sector for KS10                      |(103)
         |------------------------------------------------------|
 HOMKLE  | Used to find files for bootstrap/dump                |(104)
         |------------------------------------------------------|
 HOMK4C  | K for CRASH.EXE                                      |(105)
         |------------------------------------------------------|
 HOMPVS  | Word containing bit which says private structure     |(106)
         |------------------------------------------------------|
 HOMSDL  | Position of structure in system dump list            |(107)
         |------------------------------------------------------|
 HOMOPP  | PPN of structure owner                               |(110)
         |------------------------------------------------------|
 HOMMSU  | Reserved for use by DIGITAL                          |(111)
         |------------------------------------------------------|
 HOMCUS  | Reserved for customer definition (4 words)           |(112)
         |------------------------------------------------------|
 HOMVID  | Volume-ID (12 PDP-11 bytes, or 3 words)              |(165)
         |------------------------------------------------------|
 HOMOWN  | Owner name                                           |(170)
         |------------------------------------------------------|
 HOMVSY  | System type (TOPS-10)                                |(173)
         |------------------------------------------------------|
 HOMCOD  |          0             |  (Unlikely code) 707070     |(176)
         |------------------------------------------------------|
 HOMSLF  |          0             |  This blk # in unit         |(177)
         |                        |  (not cluster)              |
         +------------------------------------------------------+
.el.B2.LM0
* Logical block number within structure of first RIB
.pg.b2 ;HOMPHY Byte Definitions
.b.lit
+-----------------------------------------------------------------+
|          C       |  S   |  A   |          C       |  S   |  A   |
+-----------------------------------------------------------------+
 0               7  8   12 13  17 18              25 26  30 31  35

    Byte	Meaning

     C          Cylinder address
     S          Surface
     A          Sector address

Notes:
.END LITERAL
.f
.b
.ls
.LE;HOMSNM (structure name) is ignored by the monitor when the structure is
mounted.
.le;HOMSNM, HOMNXT, HOMPRV, and HOMLUN are checked by the monitor at system
startup; and by PULSAR when the unit comes on line, to determine whether a
complete structure is available that can be mounted.
.le;An extra copy of the home block is maintained on each unit in case
the original becomes unreadable.  These two home blocks which must be at
specific places known to the software.  Currently, they are blocks 1 and
10 (decimal) of each unit.
.le;Each file structure has one home file HOME.SYS.  It is a
"Sparse File" with retrieval information in first block of each
group.  However, only the second block of each group (1 cluster)
has data, the remaining blocks (if any) are 0.  The home file is
constructed so that each group is on a separate unit.
.le;Note the restriction that home blocks limited to the first
262,000 blocks on a unit.  Knowing logical block address of home
blocks is useful only to recovery programs when file structure has
been clobbered.  Most programs will read home blocks using HOME.SYS.
.le;HOMREF is set when some parameter for this unit has been changed.  Set
by ONCE-Only code, checked when system is started and by PULSAR when
pack is mounted.
.els
.pg
.lm0
.nf
Name  INTTAB -- Interrupt Routine Table
.ts15.B;.F;.LM15;.I-15
Description:	Contains descriptive information about each interrupt
routine.  One entry, of two words, for each interrupt routine.
.b
Position of an entry in the table is of no significance.  
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	COMMON, ONCE
.b.lm0.nf
Format:
.b
+-------------------------------------+
|            Dev 1  entry             |
|-------------------------------------|
|                                     |
|-------------------------------------|
|            Dev 2  entry             |
|-------------------------------------|
|                  .                  |
|                  .                  |
|                  .                  |
|-------------------------------------|
|            Dev n  entry             |
+-------------------------------------+
.b
Format of each entry:
.b
Word 0
.b
+-------------------------------------------------------+
| |DDB count | CPU# | PI channel | Interrupt routine adr|
+-------------------------------------------------------+
 0 1       11 12  14 15        17 18                   35
.b
   Bit 0 = 1 for any type of DECtape routine.
.b2
Word 1
.b
+-------------------------------------------------------+
|   | Station # |  DDB Length    | Prototype DDB address|
+-------------------------------------------------------+
0  2 3        8   9            17 18                   35
.pg
Notes:
.f.ls
.le;INTTAB entries are set up by the ASGINT and ASGSV1 macros in
COMMON according to parameters specified in HDWCNF.MAC.
.le;Table is used by INTLOP in ONCE to build the interrupt routine
chain for each channel.
.le;Used by ONCE-only code in COMMON to set up multiple Device Data
Blocks.
.le;The interrupt routine address is the address of the CONSO in the
skip chain.
.els
.pg
.lm0
Name:	JBTADR -- Job Address Table
.b
.ts15.lm15
.f
.i-15
Description:	Tells core address and length for each segment in
core.  One entry for each job number and each high segment
number.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CDPSER, CLOCK1, COMCON, CORE1, CPNSER, DISSER, DTASRN,
ERRCON, FILIO, KLSER, LOKCON, METCON, REFSTR, SCHED1, SEGCON, SWPSER,
SYSINI, UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTADR (1)
.b.literal
Format:
             +-------------------------------------+
    Job 0    |                  |                  |
             |-------------------------------------|
        1    |    Length -1     |   Core address   |
             |-------------------------------------|
        2    |        "         |    "       "     |
             |-------------------------------------|
                              . . .
             |-------------------------------------|
        n    |                  |                  |
             |-------------------------------------|
High seg n+1 |        "         |   "         "    |
             |-------------------------------------|
        n+2  |                  |                  |
             |-------------------------------------|
                              . . .
             +-------------------------------------+
.end literal
.b.lm0
Notes:
.ls;.le;The entry for a job that is swapped out is zero.
.le;JBTDAT is the same table.
.le;For low segments, the right half of JBTADR contains 371000 (the exec's
way of seeing user virtual page 0), unless the segment is locked. JBTADR
then contains the core address of the first user page.  For high segments,
this field contains 372000, unless the segment is locked.
.els
.page
Name: JBTAD2 -- Second Job Address Table
.b.lm15.ts15.i-15
Description:	This table contains the first physical page number for each
job's low segment. This table is kept so that the monitor can obtain the
page number when the job is not currently mapped or the UPT is in error.
There is one entry per job.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CORE1, ERRCON, KLSER, LOKCON, VMSER
.b2.lm0
Format:
.b.no fill
       +-------------------------------------------+
Job 0  |         |  JBYLSS   | First phys. page    |
       +-------------------------------------------+
Job 1  |         |           |                     |
       |-------------------------------------------|
       |                     |                     |
       |                     |                     |
       |                     |                     |
       |-------------------------------------------|
Job n  |         |           |                     |
       +-------------------------------------------+
        0      8  9        17 18                 35
.fill
.B
Notes:
.b
Bits 9-17 (JBYLSS) contain the number of pages in the low segment, less one,
the last time the map was set up.
.pg
.f
Name:	JBTCHK -- Segment Checksum Table
.b
.lm15
.i-15
Description:	Used to assure correct read-in of swapped segments.  One entry
for each job number and high seg number.  Indexed by job number
or high segment number.
.b
Each entry contains the first word of the corresponding segment 
when that segment is swapped out.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SWPSER
.lm0
.nf.b
Format:
               +-------------------------------------+
    Job 0      |                                     |
               |-------------------------------------|
    Job 1      |             Checksum 1              |
               |-------------------------------------|
    Job 2      |             Checksum 2              |
               |-------------------------------------|
               |                                     |
               |                                     |
               |-------------------------------------|
    Job n      |             Checksum n              |
               |-------------------------------------|
High seg n+1   |            Checksum n+1             |
               |-------------------------------------|
High seg n+2   |            Checksum n+2             |
               |-------------------------------------|
               |                                     |
               |                  "                  |
               |                                     |
               +-------------------------------------+
.pg
.lm0
Name:	JBTCQ -- Job Queues Table
.f;.b
.lm15
.i-15
Description:	Contains the master job queues. Each queue is an
ordered list of job numbers corresponding to all the jobs
in some particular status. There are two sets of queues, one
for jobs that are in core and one set for jobs that are swapped out.
.b
The index in the positive direction relative to JBTCQ is by job
number. The index in the negative direction is the queue number
for the in-core master queues and the queue number offset by the
maximum number of queues for the out-of-core master queues.
.b
Each queue is an ordered list of job numbers.  In JBTCQ, each queue is
represented by a forward and backward linked ring of table entries.  Each
ring begins and ends with a "queue header" entry at the position equal to
the negative queue number.  A job number in the queue is represented by the
entry at the position equal to the job number.  This entry contains
pointers to the preceding entry and the following entry, thus establishing
a unique position for that job number within the queue.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1, SYSINI
.lm0.pg.lit
Format:
               +-------------------------------------------------------+
      -MAXQ -3 |                           |                           |
               |-------------------------------------------------------|
      -MAXQ -2 |                           |                           |
               |-------------------------------------------------------|
      -MAXQ -1 |                           |                           |
               |-------------------------------------------------------|
      -MAXQ                             .  .  .
               |-------------------------------------------------------|
            -3 |     Last job in queue     |    First job in queue     |
               |-------------------------------------------------------|
   Queue    -2 |             "             |             "             |
               |-------------------------------------------------------|
   Number   -1 |             "             |             "             |
               |-------------------------------------------------------|
      JBTCQ  0 |                           |                           |
               |-------------------------------------------------------|
             1 |       # of prev job       |       # of next job       |
               |-------------------------------------------------------|
   Job       2 |             "             |             "             |
               |-------------------------------------------------------|
   Number    3 |             "             |             "             |
               |-------------------------------------------------------|
             4 |             "             |             "             |
               |-------------------------------------------------------|
             5 |             "             |             "             |
               +-------------------------------------------------------+
.el
.B2
Notes:
.b
.ls;.le;Every job number will be in one and only one queue.
.le;It is possible for a queue to contain no job numbers.  In this case,
the queue header entry contains a pointer to itself, the negative queue
number, in both halves.
.els
.pg
Name:  JBTCSQ --  Subqueues Table
.f.b
.lm15
.i-15
Description:	Contains the PQ2 subqueues that partition PQ2 into a
number of ordered classes.  Each subqueue (or subclass) is an ordered
subset of PQ2 job numbers, all of the same class.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1, SYSINI
.lm0.b;.lit
               +-------------------------------------------------------+
Format:   -SQN |   Last job in subqueue    |   First job in subqueue   |
               |-------------------------------------------------------|
               |                           |                           |
               |                           |                           |
               |-------------------------------------------------------|
          -SQ1 |                           |                           |
Subqueue       |-------------------------------------------------------|
Number    -SQ0 |                           |                           |
               |-------------------------------------------------------|
     JBTCSQ    |                                                       |
               |-------------------------------------------------------|
         1     |       # of prev. job      |       # of next job       |
               |-------------------------------------------------------|
Job      2     |                                                       |
Number         |-------------------------------------------------------|
         3     |                                                       |
               |                                                       |
               +-------------------------------------------------------+

.el.lm0
Notes:
.ls.le;Every job number in PQ2 will be in one and only one subqueue.
.le;It is possible for a subqueue to contain no job numbers.  In this case,
the subqueue header entry contains a pointer to itself, the negative
subqueue number, in both halves.
.le;The number of classes partitioning PQ2 is specified at MONGEN time.
.le;When the scheduler scans these subqueues, it does so in order, starting
with SQ0 (class 0).
.els.pg
Name:	JBTDEV --  High Segment Device Table
.b;.f
.lm15
.i-15
Description:	One entry for each high segment.
.b
The entry is the high segment's physical device name or file 
structure name.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SEGCON, UUOCON
.b.i-15
GETTAB Table No.: .GTDEV (24)
.lm0.nf;.b;.lit
Format:

              +-------------------------------------------------------+
     Job 0    |                                                       |
              |-------------------------------------------------------|
              |           (Job number entries are not used,           |
              |            and overlap the high end of the            |
              |                    JBTPPN table.)                     |
              |                                                       |
              |-------------------------------------------------------|
     Job n    |                                                       |
              |-------------------------------------------------------|
High seg n+1  |                 Physical device name                  |
              |-------------------------------------------------------|
       n+2    |                    "       "     "                    |
              |-------------------------------------------------------|
              |                                                       |
              |                                                       |
              +-------------------------------------------------------+
.el
.pg;.lm0;.f
Name:	JBTJIL --  Just-Swapped-In List
.b;.lm15;.i-15
Description:	Special queue containing jobs in PQ2 that  have just
been swapped in and have not expired their time slice.  The format
of the queue table is similar to JBTCQ, that is indexed in the positive
direction by job number and the negative direction by queue number.
The two queue headers are regular (timesharing) and background batch.
.b;.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1, SYSINI
.b.lm0
Format:
.b;.literal
            +----------------------------------------------+
   JBTBBQ   |                       |                      |
            |----------------------------------------------|
   JBTJIQ   |  Last job in queue    |  First job in queue  |
            |----------------------------------------------|
   JBTJIL   |                       |                      |
            |----------------------------------------------|
     1      |                       |                      |
            |----------------------------------------------|
     2      |                       |                      |
            |----------------------------------------------|
     3      | No. of previous job   |  No. of next job     |
            |----------------------------------------------|
     n      |                       |                      |
            +----------------------------------------------+
.end literal
.b2
Notes:
.b
The scheduler will search the timesharing queue for job 
selection ahead of PQ2 a certain percentage of the time.  This
percentage is called the response fairness factor and may
be modified from the default value of 10% by the SCHED.#UUO.
.pg
Name:	JBTJRQ --  Requeue List
.b;.lm15;.i-15
Description:	A singly linked first in last out list of jobs waiting
to be requeued.  The right half of JBTJRQ points to the first entry in
the queue.  The remainder of the table is indexed by job number with
each entry containing the job number of the next job in the queue.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, SCHED1
.b.lm0
Format:
.b.literal
            +-----------------------------------+
   JBTJRQ   |      No. of 1st job in the list   |
            |-----------------------------------|
     1      |                                   |
            |-----------------------------------|
     2      |                                   |
            |-----------------------------------|
     3      |                                   |
            |-----------------------------------|
            |                                   |
            |-----------------------------------|
            |                                   |
            |-----------------------------------|
   Jobn     |                                   |
            +-----------------------------------+
.end literal
.pg
Name:	JBTLIM --  Job Time Limit Table
.b
.lm15
.i-15
Description:	One entry per job, indexed by job number.
Bit definitions are found in S.MAC.
JBTLIM is assembled only if FTTLIM is non-zero.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, COMCON, CORE1, FILFND, IPCSER, SCNSER, UUOCON
.b.i-15
GETTAB Table No.: .GTLIM (40)
.lm0;.b;.lit
Format:
+-------------------------------------------------------+
|  |           |  |  |                                  | Job 0
|-------------------------------------------------------|
|  |           |  |  |                                  | Job 2
|-------------------------------------------------------|
|  |           |  |  |                                  | Job 3
|-------------------------------------------------------|
|  |           |  |  |                                  |
|  |           |  |  |                                  |
|  |           |  |  |                                  | Job n
+-------------------------------------------------------+
 0  1         9 10 11  12                             35
.el
.b2;.nf
  Bit   Mask      Pointer     Content
.b
   0    JB.LTL                Set if time limit set by
                              forced DETACH.
 1-9    JB.LCR    JBYLCR      User core limit (in pages).
  10    JB.LBT                Batch job.
  11    JB.LSY                Set when program came from
                              SYS.
12-35   JB.LTM    JBLTM       Time limit in jiffies.
                              (0 = infinite)
.pg
Name:	JBTLOC --  Job Location Table
.f;.b
.lm15
.i-15
Description:	One entry per job number; indexed by job number.
.b
The first entry in the table is the central station number.
.b
The table is used by the LOCATE command and by the
NEWJOB routine in COMMON to locate a job at the station number
of its controlling terminal.
.b
JBTLOC is assembled only if FTNET is non-zero.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	AUTCON, COMCON, COMDEV, IPCSER, NETSER, PTYSER, SYSINI,
UUOCON
.b.i-15
GETTAB Table No.: .GTLOC (26)
.b.lm0.nf
Format:
.b;.lm10
+-------------------------------------+
|     Central site station number     |
|-------------------------------------|
|            Job location             | Job 1
|-------------------------------------|
|            Job location             | Job 2
|-------------------------------------|
|            Job location             | Job 3
|-------------------------------------|
|                                     |
|                                     |
|-------------------------------------|
|            Job location             | Job n
+-------------------------------------+
.f;.lm0
.pg
Name:	JBTNAM
 --  Job Name Table
.b
.lm15
.i-15
Description:	Tells SIXBIT name of each segment; typically, this is the
file it came from.  One entry for each job number or high segment number.
Indexed by job number or high segment number.  JBTPRG is the same table.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, COMCON, ERRCON, FILFND, IPCSER, KLSER, LPTSER,
NETSER, PTYSER, SCNSER, SEGCON, TAPUUO, TSKSER, UUOCON
.b.lm0
GETTAB Table No.: .GTPRG (3)
.nf.b
Format:
               +-------------------------------------+
     Job 0     |                                     |
               |-------------------------------------|
     Job 1     |          Segment name 1             |
               |-------------------------------------|
     Job 2     |          Segment name 2             |
               |-------------------------------------|
     Job 3     |          Segment name 3             |
               |-------------------------------------|
               |                  -                  |
               |                  -                  |
               |-------------------------------------|
     Job n     |          Segment name n             |
               |-------------------------------------|
High seg n+1   |         Segment name n+1            |
               |-------------------------------------|
High seg n+2   |         Segment name n+2            |
               |-------------------------------------|
       .       |                  .                  |
               +-------------------------------------+
.b
.pg;.lm0;.f
Name:	JBTOLS --  Job Output List
.b;.lm15;.i-15
Description:	Special queues containing jobs in PQ2 which have exceeded
their time slice and consequently have become eligible for swap out.  The
format of the queue table is similar to that of JBTCQ, in that the table is
indexed in the positive direction by job number, and the negative direction
by queue number.  The two queue headers are regular output (timesharing)
and background batch.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1, SYSINI
.lm0.b
Format:
.b.literal
            +----------------------------------------------+
   JBTOBQ   |                      |                       |
            |----------------------------------------------|
   JBTOLQ   | Last job in queue    | First job in queue    |
            |----------------------------------------------|
   JBTOLS   |                      |                       |
            |----------------------------------------------|
            | Previous job #       | Next job #            |
            |----------------------------------------------|
     2      |                      |                       |
            |----------------------------------------------|
     3      |                      |                       |
            |----------------------------------------------|
     4      |                      |                       |
            +----------------------------------------------+
.END LITERAL
.b2;.lm0
Notes:
.b
Once a job enters JBTOLS it has a higher priority for swap out.
.pg
Name:	JBTPC --  User Mode PC
.b;.f
.lm15
.i-15
Description:	Contains user program counter for each job in the system.
.b.i-15
Defined in:	COMMON
.b
Used by:	CLOCK1, COMCON, ERRCON, UUOCON
.b.i-15
GETTAB Table No.: .GTPC (152)
.lm0.b;.nf
Format:
.b;.lm10
+-------------------------------------+
|                  |                  | Job 0
|-------------------------------------|
|Addr of DDB that  |        PC        |  
| job is in I/O    |                  | Job 1
| wait for         |                  |
|-------------------------------------|  
|                  |                  | Job 2
|-------------------------------------| . . .
|                  |                  | Job n
+-------------------------------------+
.pg
.lm0
Name:	JBTPDB --  Process Data Block Table
.b
.f;.lm15
.i-15
Description:	One entry per job, indexed by job number.  The right half
contains the address of this job's Process Data Block.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, COMCON, DATMAN, ERRCON, IPCSER, KLSER, MOSSER,
NETSER, SCHED1, SCMUUO, UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTPDB (162)
.nf.b
Format:
.b
+--------------------------------------------+
|       |        |        |                  |  Job 0
|--------------------------------------------|
|Unused | IFYPGS | NFYPGS |   PDB Address    |  Job 1
|--------------------------------------------|
|       |        |        |                  |  Job 2
|--------------------------------------------|  . . .
|       |        |        |                  |  Job n
+--------------------------------------------+
 0    5  6     11 12    17 18              35 
.b.fill
Notes:
.ls.le;NFYPGS is the byte pointer to the number of funny pages allotted to the
user.
.le;IFYPGS is the byte pointer to the number of funny pages to allocate on
swap-in. 
.els.pg
.lm0
Name:	JBTPIA --  Software Program Interrupt Table
.b
.lm15
.i-15
Description:	Contains flags and pointers to program interrupt table for each
job that  is using the programmed software interrupt facility.
.b.I-15
Defined in:	COMMON
.b.I-15
Used by:	IPCSER, PSISER, UUOCON
.b.lm0
Format:
.b;.nf
.lit
 0  1  2     17  18                                     35
+-------------------------------------------------------+
|  |  |        |                                        | Job 0
|-------------------------------------------------------|
|  |  |        |    Adr. of program interrupt table     | Job 1
|-------------------------------------------------------|
|  |  |        |                                        | Job 2
|-------------------------------------------------------|
                                                           . . .
|-------------------------------------------------------|
|  |  |        |                                        | Job n-1
|-------------------------------------------------------|
|  |  |        |                                        | Job n
+-------------------------------------------------------+
.el
.b
Notes:
.ls.le;If bit 0 is set, the PI system is turned on.
.le;If bit 1 is set, the PI system is turned off until a 
DEBRK by the current job.
.els.pg.lm0
Name:	JBTPPN --  Project Programmer Number Table
.b
.lm15
.i-15
Description:	Contains the project programmer number for each logged in
job. if the high segment came from disk, this table contains the PPN for
path pointer of the directory from which the high segment came.
.b.I-15
Defined in:	COMMON
.b.I-15
Used by:	CLOCK1, COMCON, ERRCON, FILFND, FILIO, FILUUO, IPCSER,
KLSER, LPTSER, NETSER, SCLINK, SCNSER, SEGCON, TAPUUO, TSKSER, UUOCON,
.b.I-15
GETTAB Table No.:  .GTPPN (2)
.b.NF.LM0
Format:
          +-------------------------------------+
   Job 0  |                  |                  |
          |-------------------------------------|
   Job 1  |   Project no.    |  Programmer no.  |
          |-------------------------------------|
          |                  |                  |
          |-------------------------------------|
          |                  |                  |
          |-------------------------------------|
   Job n  |                  |                  |
          |-------------------------------------|
Hi seg 0  |   Project no.    |  Programmer no.  |
          |-------------------------------------|
          |            0 or path pointer        |
          |-------------------------------------|
                          .  .  .                
          |-------------------------------------|
Hi seg m  |                  |                  |
          |-------------------------------------|
.pg
Name:	JBTPRV --  Job Privilege Bits
.ts15.b;.f.lm15.i-15
Description:	Tells privileges allowed each job.  One entry for
each job number, indexed by job number.  Bits are set by LOGIN
from ACCT.SYS File as modified by customer for his particular
installation.
.b.I-15
Defined in:	COMMON.  Bits defined in S.UNV.
.b.I-15
Used by:	CLOCK1, COMCON, COMMOD, CPNSER, FILFND, IPCSER, RTTRP,
UUOCON
.b.lm0
GETTAB Table No.:  .GTPRV (6)
.b.nf
Format:
.LM7
+----------------------------------------------+
|J|J|J|J|J|P  |P|J| |P|P|P|P|P|                |
|P|P|P|P|P|V  |V|P| |V|V|V|V|V|                |
|.|.|.|.|.|H  |N|.| |R|L|T|S|S|                |
|I|D|M|P|C|P  |S|E| |T|O|R|P|P|                |
|P|P|E|O|C|Q  |P|N| |T|C|P|Y|Y|                |
|C|R|T|K|C|   |L|Q| | |K|S|A|M|                |
| | | | | |   | | | | | | | | |                |
|----------------------------------------------|
.i-7
Job 0  | | | | | |   | | | | | | | | |                |
|----------------------------------------------|
.i-7
Job 1  | | | | | |   | | | | | | | | |                |
|----------------------------------------------|
.i-7
Job 2  | | | | | |   | | | | | | | | |                |
|----------------------------------------------|
| | | | | |   | | | | | | | | |                |
| | | | | |   | | | | | | | | |                |
.i-7
Job N  | | | | | |   | | | | | | | | |                |
+----------------------------------------------+
 0   3 4 5 6-9   11  13 15   17 18           35 
.lm0.b;.lit
Bits  Symbol    Meaning

0     JP.IPC    Job allowed to use IPCF priv. functions
1-2   JP.DPR    Highest disk priority allowed to the job
3     JP.MET    Job allowed to use METER UUO
4     JP.POK    Job allowed to use POKE UUO
5     JP.CCC    Job allowed to change CPU specifications
6-9   PVHPQ     Largest HPQ run queue for this job
10    PVNSPL    Job allowed to unspool devices
11    JP.ENQ    Job allowed to use ENQ/DEQ
12              Unused
13    PVRTT     Job allowed to use RTTRP UUO
14    PVLOCK    Job allowed to use LOCK UUO
15    PVTRPS    Job allowed to use TRPSET UUO
16    PVSPYA    Job allowed to spy at all of core using 
                SPY/PEEK UUOs
17    PVSPYM    Job allowed to spy at monitor using SPY/PEEK UUOs
18-35           Reserved for customer-defined privileges
.el
.pg
.lm0
Name:  JBTRQT -- Job Run-Queue Time Table
.B
.LM15;.I-15
Description:	One entry per job number.  Contains a count of the number
of ticks a job was in PQ1 or PQ2.
.b.I-15
Defined in:	COMMON
.b.I-15
Used by:	CLOCK1, SCHED1, UUOCON
.B.lm0
GETTAB Table No.: .GTTRQ (53)
.b
Format:
.nf
+-------------------------------------+
|         "Want to run" time          | Job 0
|-------------------------------------|
|                                     | Job 1
|-------------------------------------|
|                                     | Job 2
|-------------------------------------|
|                                     | Job 3
|-------------------------------------|
|                  .                  |
|                  .                  |
|                  .                  |
|-------------------------------------|
|                                     | Job n
+-------------------------------------+
.b;.f
.lm0
Notes:
.b
JBTRQT is assembled only if FTRSP is non-zero, and is also updated
only if the monitor is patched at location RQTPAT to enable it.
.pg
Name:  JBTRSP --  Response Time Table
.b.lm15.i-15
Description:	This table contains one entry per job number, including the
null job.  The null job entry is not referenced.
.B.I-15
Defined in:	COMMON.  Bits are defined in S.UNV.
.b.I-15
Used by:	CLOCK1, UUOCON
.b.lm0
GETTAB Table No.: .GTRSP (50)
.b
Format:
.b.nf
 0 1 2 3 4                                     35
+------------------------------------------------+
|J|J|J|J|J|                                      |
|R|R|R|R|R|                                      |
|.|.|.|.|.|                                      |
|R|R|R|R|R|                                      |
|C|O|I|R|X|                                      |
|R|R|R|R|R|                                      |
|------------------------------------------------|
| | | | | |                                      | Job 0
|------------------------------------------------|
| | | | | |  Time job started waiting            | Job 1
|------------------------------------------------|
| | | | | |                                      |  .
|------------------------------------------------|
| | | | | |                                      |  .
| | | | | |                                      | Job N
+------------------------------------------------+
.b
Bit       Name               Description
.b
0       JR.RCR          Recorded first CPU use
1       JR.ROR          Recorded TTY output UUO
2       JR.RIR          Recorded TTY input UUO
3       JR.RRR          Recorded CPU quantum exceeded requeue
4       JR.RXR          Recorded first of above 3 responses
                        (JR.ROR, JR.RIR, or JR.RRR)
.b.f
Bits set to 1 when type of response is recorded, to 0 when user types in.
.pg
Notes:
.b.ls.le;The entries in the right half of this table are
the up times at which the user began to wait for system response.  If zero,
the user is not waiting.  Entries are made in the table when the user's job
comes out of TTY Input Wait or types a command that  runs a job.  The
entries are used by the scheduler to calculate entries in each CPU's
response subtable.
.le;JBTRSP is assembled only if FTRSP is non-zero.
.els
.pg.lm0
Name:  JBTRTD -- Real Time Devices
.b
.lm15
.i-15
Description:	Contains real time status bits in the left half for HPQs and
hibernate-wake.  The right half contains a count of the real time
devices owned by the job.
.b.I-15
Defined in:	COMMON
.b.I-15
Used by:	CLOCK1, IPCSER, PTYSER, RTTRP, SCMUUO, SCNSER, SYSINI,
UUOCON
.b.lm0
GETTAB Table No.: .GTRTD (37)
.b.nf
Format:
.b
 0              26   27             35
+-------------------------------------+
|                  |                  | Job 0
|-------------------------------------|
|                  |                  | Job 1
|-------------------------------------|
|   Status bits    |      Count       | Job 2
|-------------------------------------|
|                  |                  |  .
|                  |                  |  .
|-------------------------------------|
|                  |                  | Job n
+-------------------------------------+
.b
   Bit   Symbol    Meaning
.b
    0    MONHBR    Only an exec process can wake job
    1    IPCACE    IPCF event enable
   2-5   HPQSPT    Console command setting of HPQ for job
   6-9   HPQPNT    Current HPQ position of job
   10    WAKEB     Wake bit - set if wake job by HIBER
   11    IOACE     I/O activity enable
   12    PTYWUE    PTY activity enable
   13    TTIALE    TTY activity enable - line mode
   14    TTIACE    TTY activity enable - character mode
  15-17  HIBPRT    Hibernate protection code for job
  27-35            Count of number of realtime devices 
                   owned by job
.pg.lm0
.nf
Name:  JBTSCD --  Subqueue (Class) Table
.b;.f
.lm15
.i-15
Description:	Contains each job's class type, indexed by job number; one
entry for each job.
.b.I-15
Defined in:	COMMON
.b.I-15
Used by:	CLOCK1, SCHED1, UUOCON
.b.lm0
GETTAB Table No.: .GTJTC (120)
.b
Format:
.b;.lit
         0 1            13        17                           35
        +-------------------------------------------------------+
  Job 0 |X|            |  Class #   |       JS.TYP              |
        |-------------------------------------------------------|
  Job 1 | |            |            |                           |
        |-------------------------------------------------------|
                              .    .    .                        
        |-------------------------------------------------------|
  Job n | |            |            |                           |
        +-------------------------------------------------------+
.el
.b.lm15.ts7,15.i-15
Bit	Symbol	Meaning
.b.i-15
0	JS.PQ2	Job is in PQ2
.i-15
13-17	JS.CLS	Job's scheduler class
	JBYCLS
.I-15
27-35	JS.TYP	Job's scheduler type
.pg.lm0 
Name: JBTSFD -- Sub-File Directory Table
.LM15.TS15.b2.I-15
Description:	One entry per job holding search list and 
SFD information.
.b.I-15
Defined in:	COMMOD
.b.i-15
Used by:	COMMON, FILFND, FILUUO
.LM0.b
Format:
.b.lit
       +-------------------------------------------------------+
 Job 0 |          | | |                           |     |      |
       |-------------------------------------------------------|
 Job 1 |          | | |      Default SFD NMB      |     |      |
       |-------------------------------------------------------|
 Job 2 |          | | |                           |     |      |
       |-------------------------------------------------------|
       |          | | |                           |     |      |
       |          | | |                           |     |      |
       |          | | |                           |     |      |
       |-------------------------------------------------------|
 Job n |          | | |                           |     |      |
       +-------------------------------------------------------+
        0       15     18                       33  34     35
.el
.b2;.nf
  Bits     Label       Meaning
.b
  0-15                 Address of library PPN PPB
    16    JBPXSY       Search NEW before SYS
    17    JBPSYS       Search SYS after DSK
 18-33                 High-order 16 bits of address
                       of default SFD NMB or 0.
                       The NMB must be on a 
                       four-word boundary; 
                       therefore, bits 34-35 of
                       the address must be zero.
   34     JBPUFB       Bits 18-33 point to a PPB.
   35     JBPSCN       Scanning is on.
.pg
Name:  JBTSGN --  Segment Table
.fill.b
.lm15
.i-15
Description:	Tells which high segment, if any, each job is using, or
which job that high segment was last or is being swapped in for.  One entry
for each segment number.  Indexed by job number or segment number.
.b.I-15
Defined in:	COMMON
.b.I-15
Used by:	CLOCK1, COMCON, CORE1, CPNSER, ERRCON, IPCSER, KLSER,
LOKCON, METCON, SCHED1, SEGCON, UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTSGN (14)
.b
Format:
.b.literal
                0 1 2 3 4 5      17  18                       35
               +------------------------------------------------+
               |S|S|U|M|C|L|        |                           |
               |P|H|W|E|O|O|        |                           |
               |Y|R|P|D|R|K|        |                           |
               |S|S|O|D|C|S|        |                           |
               |E|E|F|L|N|E|        |                           |
               |G|G|F|E|T|G|        |                           |
               |------------------------------------------------|
        Job 0  | | | | | | |        |High seg _# for this job   |
               |------------------------------------------------|
        Job 1  | | | | | | |        |                           |
               |------------------------------------------------|
        Job 2  | | | | | | |        |                           |
               |------------------------------------------------|
                                .   .   .
               |------------------------------------------------|
        Job n  | | | | | | |        |                           |
               |------------------------------------------------|
High seg n+1   |         0          |Last low seg for which this|
               |                    |segment was swapped in     |
               |------------------------------------------------|	
High seg n+2   |                    |                           |
               |------------------------------------------------|
                                 .   .   .                       
               +------------------------------------------------+
.end literal
.PG.F.lm15.TS7,15.I-15
Bit	Label	Meaning
.b.i-15
 0	SPYSEG	High segment is physical core (see SPY UUO).
.I-15
 1	SHRSEG	High segment is sharable.  The SHRSEG bit is also kept in
the JBTSTS entry for that high segment.
.I-15
 2	UWPOFF	User mode write protect is off.
.I-15
 3	MEDDLE	User has meddled with sharable program.
.I-15
 4	CORCNT	High segment's in-core count has been incremented
.I-15
 5	LOKSEG	The high segment this job is sharing is locked in core.
.I-15
 6	NCSH	High segment is not cached.
.I-15
 7	SEGMB	UPT needs updating because the high segment locked by
another job.
.i-15
 8	NOCSH	High segment is not cached because it is not writeable.
.i-15
 9	REDOMP	High segment is part of UPT needs to be rewritten
.i-15
10	GTSSEG	High segment was obtained with a GETSEG UUO.
.i-15
13-17		Zero, so can read "@JBTSGN" to compare right half.
.i-15
18-35		If SPYSEG set, highest physical address user may see.  If
no high segment, zero.  Otherwise, high segment number associated with this
job.
.b.lm0
For high segment entries, the left half is 0 and bits 18-35 contain the low
segment for which the high segment was/is being swapped in.
.b
.pg
.lm0
Name:  JBTSPL -- Spool Control Table
.b
.ts15.lm15
.i-15
Description:	Contains input file name counter, devices being spooled,
and disk priority for the job.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, COMCON, COMMOD, FILUUO, IPCSER, UUOCON
.b.LM0
GETTAB Table No.: .GTSPL (36)
.lm0.nf;.b
Format:
.b;.lm3
+-----------------------------------------------+
|                         |         |           | Job 0
|-----------------------------------------------|
| Input file name counter | DSK pri | Spool dev | Job 1
|-----------------------------------------------|
|                         |         |           | Job 2
|-----------------------------------------------| .  .  .
|                         |         |           | Job n
+-----------------------------------------------+
.b.fill.lm15.ts7,15.i-15
Bits	Symbol	Meaning
.b.i-15
0-17	JB.SIN	Spooled input name counter.
.B.i-15
24-26	JS.DPR	Current disk priority
.i-15
	JBYPRI
.B.i-15
27-35	JB.SPL	Spooling bits:
.B.i-15
   27	JB.DFR	Deferred spooling
.B.i-15
   31	JB.CDR	Card reader spooling
.B.i-15
   32	JB.CDP	Card punch spooling
.B.i-15
   33	JB.PTP	Papertape punch spooling
.B.i-15
   34	JB.PLT	Plotter spooling
.B.i-15
   35	JB.LPT	Line printer spooling
.pg.ts15
.LM0
Name:  JBTSPS -- Second Processor Status
.b.lm15.i-15
Description:	Assembled in multiprocessor systems to indicate second
processor status.  One entry per job number.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	COMDEV, CPNSER, UUOCON
.b.LM0
GETTAB Table No.: .GTSPS (54)
.b
Format:
.b;.lit
+-------------------------------------------------------+
|    Bits set by monitor    |  GETTAB bits for 6 CPUs   | Job 0
|-------------------------------------------------------|
|                           |                           | Job 1
|-------------------------------------------------------|
|                           |                           | Job 2
|-------------------------------------------------------|
/                       .   .   .                       /
+-------------------------------------------------------+
.el.b
Bits are defined on the following page.
.pg.nf
Bit     Label     Meaning
.b.lit
 0                Not runnable on CPU5
 1                Not runnable on CPU4
 2                Not runnable on CPU3
 3                Not runnable on CPU2
 4      SP.NR1    Not runnable on CPU1
 5      SP.NR0    Not runnable on CPU0
 6                Current job on CPU5
 7                Current job on CPU4
 8                Current job on CPU3
 9                Current job on CPU2
10      SP.CJ1    Current job on CPU1
11      SP.CJ0    Current job on CPU0
12      SP.ROP    Job forced to policy CPU when policy
                  CPU dies
14      SP.CC1    Set if <CTRL/C> was typed or if
                  <CTRL/D> breakpoints are enabled, and 
                  job is running on another CPU to
                  force context switch to policy CPU
24                SET CPU command bit for CPU5
25                SET CPU command bit for CPU4
26                SET CPU command bit for CPU3
27                SET CPU command bit for CPU2
28      SP.SC1    SET CPU command bit for CPU1 (OK as far
                  as user is concerned to run on this CPU
                  even if stopped or not scheduling)
29      SP.SC0    SET CPU command bit for CPU0
30                Can run on CPU5
31                Can run on CPU4
32                Can run on CPU3
33                Can run on CPU2
34      SP.CR1    Can run on CPU1
35      SP.CR0    Can run on CPU0
.el
.pg
.f
Name:  JBTSTS --  Status Table
.b
.lm15
.i-15
Description:	Contains status information about each job and  
high segment.  One entry for each job number and each high segment
number.  Indexed by job number or high segment number.
.b ;See also: AVALTB, QBITS, Job Queues and Wait State Codes
.b.i-15
Defined in:	COMMON.  Bits defined in S.UNV.
.b.i-15
Used by:	CLOCK1, COMCOM, CORE1, CP1SER, DISSER, ERRCON, FILFND,
FILIO, FILUUO, IPCSER, KILOCK, KISER, KLSER, KSSER, METCON, MTXSER, NULSEG,
PSISER, PTYSER, REMDSX, RTTRP, SCHED1, SCNSER, SEGCON, SYSINI, UUOCON,
VBCSER, VMSER
.b.lm0
GETTAB Table No.: .GTSTS (0)
.b
Format:
.b.literal
              +----------------------------------------+
       Job 0  |                                        |
              |----------------------------------------|
       Job 1  | Status bits                            |
              |----------------------------------------|
       Job 2  |    "    "         "       "    "    "  |
              |----------------------------------------|
         -    |                                        |
         -    |                                        |
              |----------------------------------------|
       Job n  |    "    "         "       "    "    "  |
              |----------------------------------------|
High seg n+1  | Status bits                            |
              |----------------------------------------|
High seg n+2  |    "    "         "       "    "    "  |
              |----------------------------------------|
High seg n+3  |    "    "         "       "    "    "  |
              |----------------------------------------|
         -    |                                        |
         -    |                                        |
              |----------------------------------------|
High seg m    |                                        |
              +----------------------------------------+

    See bit definitions on following pages.
.end literal
.pg
LH of Job Number Entries
.B.literal
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 
+--------------------------------------------+
| | | | | | | | | | |              |  |  |   |
|--------------------------------------------|
|R|C|J|J|J|N|S|S|N|C|              | J| J| J |
|U|M|X|N|E|S|H|W|S|N|    Wait      | L| R| A |
|N|W|P|A|R|W|F|P|H|T|    State     | O| Q| C |
| |B|N| |R|P| | |F|R|    code      | G|  | C |
| | | | | | | | | |L|              |  |  | T |
| | | | | | | | | |C|   (PJBSTS)   |  |  |   |
+--------------------------------------------+

RH of Job Number Entries

+------------------------------------------------------+
| 18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|
|------------------------------------------------------|
|   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
|------------------------------------------------------|
|  C| L| J| U| J| J|  | J| J| J|  | J| J| J| J| J| J| J|
|  L| O| D| T| D| S|  | S| S| S|  | S| S| S| S| S| S| S|
|  K| K| C| R| C| .|  | .| .| .|  | .| .| .| .| .| .| .|
|  R|  |  | P| O| D|  | X| R| M|  | D| A| X| R| S| N| N| 
|   |  |  |  | N| E|  | O| U| P|  | P| S| O| Q| F| X| T|
|   |  |  |  |  | P|  |  | U| E|  | M| A| R| R| L| M| O|
+------------------------------------------------------+
.end literal
.b.nf
   Bits      Label    Meaning
.b
    0        RUN      Set if user wants job to run.
    1        CMWB     Job in Command Wait
    2        JXPN     Job must be swapped out because it
                      is expanding, and there is not
                      enough room in core.
    3        JNA      This job number is assigned.
    4        JERR     Monitor detected error has occurred.
    5        NSWP     Job is not to be swapped.
    6        SHF      Monitor is waiting to shuffle or swap
                      out this job.
    7        SWP      1 if job swapped out or in transit.
    8        NSHF     Job is not to be shuffled.
    9        CNTRLC   <CTRL/C> typed while in monitor mode and
                      not in TTY input wait - delay stopping
                      job.
.page
   Bits      Label    Meaning
.b
  10-14      PJBSTS   Specifies transfer table to requeue job 
                      for  current conditions.  See AVLQTB,
                      QBITS for the names of the tables.  These
                      are system dependent values as not all
                      queues will be assembled for all systems.
                      The value here may be used to count 12-bit
                      bytes into STSTBL to get the SIXBIT queue
                      name.  See also Job Queues and Wait State 
                      Codes.
   15        JLOG     Job logged in.
   16        JRQ      Job has changed state and must be queued  
                      at clock level before rescheduling can  
                      take place.
   17        JACCT    Privileged system CUSP which cannot be 
                      interrupted.
   18        CLKR     Job has clock request in.
   19        LOK      Job is being locked in core.
   20        JDC      Job has typed "DCORE."
   21        UTRP     Trap to USER on UUO exit (reenter DDT).
   22        JDCON    Job in <CTRL/C> state waiting to continue 
                      from error.
   23        JS.DEP   DAEMON error pause.
   24                 Reserved for use by DIGITAL.
   25        JS.XO    Execute-only core image.
   26        JS.RUU   RUN UUO or command in progress.
   27        JS.MPE   Memory parity error for job.
   28        JS.BPT   <CTRL/D> DDT breakpoint is enabled.
   29        JS.DPM   DAEMON problem message needed.
   30        JS.ASA   Use shadow AC's for UUO args instead of
                      user AC's.
   31        JS.XOR   Run UUO or command in progress on 
                      execute-only file.
   32        JS.RQR   Reset quantum run time.
   33        JS.SFL   Stop job if disk is full.
   34        JS.NXM   Some page in user's address space is 
                      contained in non-existent memory.
   35        JS.NTO   Non-blocking terminal output.
.page
LH of High Seg Entries
.b;.lm0;.lit
+-----------------------------------------------------+
|S|S|J|S|S|N| |S|N|          Hiseg          |J|In-core|
|N|H|X|S|E|S| |W|S| Access privilege bits   |S| count |
|A|R|P|.|R|W| |P|H|-------------------------|.|       |
| |S|N|S|R|P| | |F| Owner |Project|Universe |S|       |
| |E| |Y| | | | | |-------------------------|F|       |
| |G| |S| | | | | | |  |  |  |  |  |  |  |  |E|       |
|-----------------------------------------------------|
| | | | | | | | | | |  |  |  |  |  |  |  |  | |       |
+-----------------------------------------------------+
 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18      35
.el
.lm0
.b.nf
Bit    Symbol    Meaning
.b
 0     SNA       This high seg number assigned.
 1     SHRSEG    Sharable segment (also kept in JBTSGN).
 2     JXPN      High segment is expanding and must be swapped out.
 3     SS.SYS    Hiseg came from SYS.
 4     SERR      High segment swap read error.
 5     NSWP      This high seg is not to be swapped.
 7     SWP       1 if segment swapped out or in transit.
 8     NSHF      High segment cannot be shuffled.
9-17             Segment access privilege bits - same as disk file.
 18    JS.SFE    Hiseg came from an EXE file.
19-35  JBYICC    In-core count of jobs using this high segment.
.pg
.nf
Name:  JBTST2 --  Job Status Table 2
.B;.F;.LM15;.I-15
Description:	Contains status information about each job.
(Extensions to the JBTSTS table.)  Indexed by job number.
.b.i-15
Defined in:	COMMON.  Bits defined in S.MAC.
.b.i-15
Used by:	CLOCK1, COMCON, FILFND KASER, KISER, KLSER, KSSER, SCHED1,
SEGCON, UUOCON
.b.lm0
GETTAB Table No.: .GTST2 (117)
.b
Format:
.b.ts10
.lit
	 0          16 17 18 19 20       24 25 26 27     32 33 34 35
	+-----------------------------------------------------------+
	|             |E | M| A|           |E | R|  Job    |O | R| S|
	|             |X | I| B| EW code   |W | P| Queue   |O | R| C|
	|             |E | G| P|           |A | C|   #     |O | Q| N|
	|             |  |  |  |           |K |  |         |  |  |  |
	|             |  |  |  |           |E |  |         |  |  |  |
	|-----------------------------------------------------------|
Job 0	|                                                           |
	|-----------------------------------------------------------|
Job 1	|                                                           |
	|-----------------------------------------------------------|
Job 2	|                                                           |
	|-----------------------------------------------------------|
	|                                                           |
	|                                                           |
	|                                                           |
Job n	|                                                           |
	+-----------------------------------------------------------+
.el.b.lm0.nf
Bit       Label        Meaning
.b
0        JS.IPQ        On if job is in a processor queue.
                       Must be sign bit.
2-3      JS.DEB	       Deferred echo bits
4        JS.OLS        Job owns locked structure
5        JS.SIP        On if swapping I/O is in progress for this job
6        JS.FPS        On if long KA-10 floating point instructions
                       should be simulated
                       FORCE was JXPN to avoid forgetting
                       FORCE was cleared.
7        JS.NNQ        On if not to assign new quantum value on
                       swap-in.  Set when job GETSEGs a
                       swapped segment.
8        JS.BBJ        On if job is from background batch.
9        JS.CSQ        On if job is changing subqueue due to
                       SCHED. UUO.
.page
Bit       Label        Meaning
.b
10       JS.IGS        In GETSEG (doing a GETSEG UUO).
11       JS.HNG        Job stayed in FORCE too long, causing
                       temporary or permanent system hang.
                       Cleared when swapped in or out.
12       JS.BPR        Bypass program to run checking if set.
                       The current RUN command is allowed
                       despite .PDPGM (used for KJOB).
13       JS.FXO        File daemon made this core image
                       execute-only.
14       JS.CFX        Call file daemon on program exit.
15       JS.HIB        This job is hibernating
16       JS.NCS        On if the cache bits are not to be
                       turned on in this job's map.
17       JS.EXE        A new save (EXE file) is underway,
                       or on a GET, the LOOKUP on the
                       EXE file failed.  (Prevents EXE
                       file from being read in again for
                       the low segment.)
18       JS.MIG        Job has migrated to another swapping
                       unit when a disk controller is being
                       taken off-line (FTDHIA).
19       JS.ABP        An address break page fault occurred
                       because of a reference to this user's
                       virtual address space during UUO
                       processing.
20-24    JBYEWT        ESLEEP reason:
                        1    EV.TKW  Tape controller
                        2    EV.REW  Rewind
                        3    EV.LBL  Label processing
                        4    EV.NET  Network device
                        5    EV.NTC  Network terminal connect
                        6    EV.STC  Network station control
                        7    EV.DTE  DTE I/O
                       10    EV.KDP  KDP I/O
                       11    EV.IPC  IPCF system process receive
                       12    EV.FEI  Front end device input
                       13    EV.FEO  Front end device output
                       14    EV.D60  DN60 device
                       15    EV.DCN  DECnet connect I/O
                       16    EV.DMR  DMR I/O 
25       EWAKEB        EWAKE called (wakeup waiting)
26       JS.RPC        If = 1, run program in .PDPGM on <CTRL/C>
27-32    PJBST2        Queue number.  Also called PJBST1 (for
                       indexing by T1).
33       JS.OOO        User ran out of order. Stop when gives
                       up last resource.
34       JS.TFO        Job forced out by timer.
35       JS.SCN        Job was scanned to run by at least one
                       CPU during last tick.
.pg.fill
Name:   JBTSWP -- Job Segment Swap Area
.B.lm15.ts15.i-15
Description:	Contains information used when swapping segments. There is
one entry for each job number and high segment number. It is indexed by the
job number or high segment number.
.b.i-15
Defined by:	COMMON
.b.i-15
Used by:	COMCON, KISER, KLSER, KSSER, SCHED1, SEGCON, 
SWPSER, UUOCON, VMSER
.B.lm0
GETTAB Table No.: .GTSWP (7)
.b
Format:
.lm0;.literal
        +--------------------------------------------------------+
        |F|                      |S|             |               |
        |R|                      |W|             |               |
        |G|                      |P|             |               |
        |S|                      |C|             |               |
        |E|                      |L|             |               |
        |G|                      |R|             |               |
        |--------------------------------------------------------|
Job 0   | |                      | Out-core size |  In-core size |
        |--------------------------------------------------------|
Job 1   | |  Disk address (3)    |   "   "   "   |   "  "   "    |
        |--------------------------------------------------------|
Job 2   | |                      |   "   "   "   |   "  "   "    |
        |--------------------------------------------------------|
        | |                      |               |               |
        |--------------------------------------------------------|
        | |                      |               |               |
        | |                      |               |               |
        |--------------------------------------------------------|
HSEG+n  | | High seg. size       |   "   "   "   |   "  "   "    |
        +--------------------------------------------------------+
         0 1                      18           26 27             35


Bit     Name         Description

  0     FRGSEG       1 if low or high segment is fragmented
                     on the swapping device.

 18     SWPCLR       1 if job data area should be cleared
                     after swapping.
.el
.pg
.b
Notes:
.f;.ls;.le;Fragment table documented separately.
.le;For swapped out segments, Out-Core Size is the size of the area
in which the segment is written on the swapping device, in 1K blocks;
In-Core Size is the size of the core area into which it should be read
when it is swapped in.  These are usually, but not always, the same.
One case in which they would be different is when a segment is expanding
in size.
.le;Disk Address Bit Definitions:
.nf
.b
Bits      Meaning
.b
 3-5      Index of unit in SWPTAB (JBYSUN)
6-17      First logical K on unit (JBYLKN)
1-17      Core address of fragment table if 
          fragmented
.els
.pg;.lm0
Name:  JBTUPM -- UPT Address Table
.b
.lm15.f.i-15
Description:	Contains the address for the user page map page for each
job and high segment that is in core.  This table is also called JBTHSA.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	KILOCK, KISER, KLSER, SCHED1, SEGCON, SWPSER, SYSINI
UUOCON, VMSER
.b.lm0
GETTAB Table No.: .GTUPM (100)
.b
Format:
.b;.lm7
.nf
 0     8 9      17 18 22 23         35
+-------------------------------------+
| HSO   |   0     | HSS |   UPT addr  | Job 0
|-------------------------------------|
|       |         |     |             | Job 1
|-------------------------------------|
|       |         |     |             | Job 2
|-------------------------------------|
|                 .                   |  .
|                 .                   |  .
|-------------------------------------|
|       |         |     |             | Job n
|-------------------------------------|
|        |             |              | Seg n + 1
|-------------------------------------|
|                 .                   |  .
|                 .                   |  .
|-------------------------------------|
| HSO    |             |   HSA        | Seg m
+-------------------------------------+
 0      8               23          35
.b2;.lm0
Description for Low Segment Entry
.b
Bit 	Pointer
.b
.literal
0-8    JBYHSO   Virtual page number of hi-seg. origin
18-22  JBYHSS   Number of pages less one in high segment
23-35           Physical page number of UPT
.end literal
.b2
Description for High Segment Entry
.b
.literal
0-8     JBYHSO   Virtual page number of high-seg origin
23-35   JBYHSA   Physical page number of first page of
                 high segment
.end literal
.fill
.pg
Name:  JBTVRT -- Paging Rate Table
.b.f.lm15.i-15
Description:	Virtual memory per job paging rates are contained
in this table.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	UUOCON, VMSER
.nf
.b.lm0
Format:
.b
+-------------------------------------+
|              Page rate              | Job 0
|-------------------------------------|
|                  "                  | Job 1
|-------------------------------------|
|                                     |  .
|                                     |  .
|                                     |  .
|-------------------------------------|
|                  "                  | Job n
+-------------------------------------+
.pg
Name:  JBTWCH -- Watch Table
.b.f.lm15.i-15
Description:	This table is assembled if FTWATCH is assigned a non-zero
value in S.MAC.  It determines the specific watch parameters to be
displayed.  There is one entry per job number including the null job.  The
null job entry is not referenced.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	COMCON, MTXSER, UUOCON
.b.lm0
GETTAB Table No.: .GTWCH (35)
.b
Format:
.lit
         0  1                            12 13                35
        +-------------------------------------------------------+
JBTWCH  |  |          Conditions          |     Time of day     | Job 0
        |-------------------------------------------------------|
        |  |                              |                     | Job 1
        |-------------------------------------------------------|
        |                                                       | Job 2
        |-------------------------------------------------------|
        |                                                       |
        |                                                       |
        |                                                       |
        |                                                       |
        |-------------------------------------------------------|
        |                                                       | Job n-1
        |-------------------------------------------------------|
        |                                                       | Job n
        +-------------------------------------------------------+


   Bit    Name     Description

    1     JB.WDY   Watch time of day started to wait.
    2     JB.WRN   Watch runtime when return to command level.
    3     JB.WWT   Watch waiting time when return to command
                   level.
    4     JB.WDR   Watch number of 128 word disk block read.
    5     JB.WDW   Watch number of 128 word disk blocks written.
    6     JB.WVR   Watch versions.
    7     JB.WMT   Watch number MTA performace statistics.
    8     JB.WFL   Watch file activity.
    9     JB.WLM   Long error messages.
   10     JB.WNM   Normal error messages.
   11     JB.WPM   Prefix error messages.
13-35              Time of day (in jiffies) user started to wait.
.el
.pg
Name:  JDA -- Device Assignment Table
.b.lm15.f.i-15
Description:	Associates a device or file with each active
channel in a user job, and tells which UUOs have been done on
that channel.
.b
The JDA is part of the job's UPT. Each JDA contains 16 entries
corresponding to the 16 software channels of a user job.
.b
Indexed by channel number.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	COMCON, CORE1, DTASRN, FILIO, FILUUO, MSGSER, PTYSER,
SEGCON, UUOCON, VMSER
.b.lm0
Format:
.b;.lm10;.lit
+------------------------------------------------------+
|I|I|O|L|E|I|O|I|O|I|O|S|R|R| |                        |
|N|B|B|O|N|N|U|C|C|N|U|Y|E|E| |                        |
|I|U|U|O|T|P|T|L|L|B|T|S|N|S| |                        |
|T|F|F|K|R|B|P|O|O|F|B|D|M|E| |                        |
|B|B|B|B|B| |B|S|S|B|F|E|B|T| |                        |
| | | | | | | |B|B| |B|V| |B| |                        |
|------------------------------------------------------|
.el
.lm0
.lit
Channel 0 | | | | | | | | | | | | | | | | Device Data Blk adr    |
          |------------------------------------------------------|
        1 | | | | | | | | | | | | | | | |            "           |
          |------------------------------------------------------|
        2 | | | | | | | | | | | | | | | |            "           |
          |------------------------------------------------------|
        - | | | | | | | | | | | | | | | |                        |
        - | | | | | | | | | | | | | | | |                        |
       17 | | | | | | | | | | | | | | | |                        |
          +------------------------------------------------------+
           0                        13   18                    35
.el
.pg.nf
Bit    Label    Meaning
.b
  0   INITB    INIT or OPEN has been done
  1   IBUFB    Input ring header specified (by INIT)
  2   OBUFB    Output ring header specified (by INIT)
  3   LOOKB    A LOOKUP has been done
  4   ENTRB    An ENTER has been done
  5   INPB     An INPUT has been done
  6   OUTPB    An OUTPUT has been done
  7   ICLOSB   An input CLOSE has been done
  8   OCLOSB   An output CLOSE has been done
  9   INBFB    An input buffer ring has been set up
 10   OUTBFB   An output buffer ring has been set up
 11   SYSDEV   This is the system tape device or SYSPPN on
               DSK
 12   RENMB    RENAME UUO in progress
 13   RESETB   RESET UUO in progress
18-35          Address of Device Data Block for I/O on this
               software channel
.b
Notes:
.f.ls.le
If both LOOKB and ENTRB are on, the file is being accessed in update mode.
.le;Extended channel information is kept in a 64-word table
in funny space pointed to by the .UPCTA word in the UPT. If
extended channels are not in use, the word is zero. Each entry
in the table is formatted the same as entries in the JDA table.
.els
.pg .f .lm 0
Name:  JOBDAT --  Data Area
.b.lm15.i-15
Description:	Storage area for items of interest to both the
monitor and the user.
.b
There is one Job Data Area for each job that has a non-zero core
allocation.  It occupies the first 140 locations of the job's core area,
and is swapped out along with the job.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	COMMON
.lm0
.b
Format:
.b
Relative
.br
Location    Label
.lit
                   +---------------------------------------------+
 0 - 17    .JBBAC  | User ACs during UUO (16 words)              |
                   |---------------------------------------------|
20 - 37    .JBBAC  | Hardware ACs while job inactive (16 words)  |
                   |---------------------------------------------|
     40    .JBUUO  | User UUO stored here                        |
                   |---------------------------------------------|
     41    .JB41   | User UUO branch instruction                 |
                   |---------------------------------------------|
     42    .JBERR  | Unused              | Error cnt for RPG     |
                   |---------------------------------------------|
     43    .JBENB  | Unused              | User APR trap flags   |
                   |---------------------------------------------|
     44    .JBREL  |   0                 | Length of low seg     |
                   |---------------------------------------------|
     45    .JBPD1  | Push down list (21 words)                   |
                   |---------------------------------------------|
     72    .JBHCU  | Highest I/O  channel in use                 |
                   |---------------------------------------------|
     73    .JBPC   | Job PC when job inactive                    |
                   |---------------------------------------------|
     74    .JBDDT  | Unused              | Start addr of DDT     |
                   |---------------------------------------------|
     76    .JBBPT  | Address of unsolicited breakpoint           |
                   | entry into DDT                              |
                   |---------------------------------------------|
.end literal
.page
.literal
                   |---------------------------------------------|
    114    .JBSDD  | JOBDDT here on SAVE/Protected from I/O      |
                   |---------------------------------------------|
    115    .JBHRL  | First free loc      | Length of high        |
                   | in high seg         | seg                   |
                   |---------------------------------------------|
    116    .JBSYM  | Symbol table pointer                        |
                   |---------------------------------------------|
    117    .JBUSY  | Undefined symbol table pointer              |
                   |---------------------------------------------|
    120    .JBSA   | First free loc      | Program start         |
                   | in low seg-         | address               |
                   | when loaded         |                       |
                   |---------------------------------------------|
    121    .JBFF   | Current first free location in low seg.     |
                   |---------------------------------------------|
    122    .JBS41  | .JB41 here on SAVE                          |
                   |---------------------------------------------|
    123    .JBEXM  | Address of last D or E command              |
                   |---------------------------------------------|
    124    .JBREN  | Address for REENTER command                 |
                   |---------------------------------------------|
    125    .JBAPR  | Branch loc on user enabled APR error        |
                   |---------------------------------------------|
    126    .JBCNI  | APR conditions on APR trap                  |
                   |---------------------------------------------|
    127    .JBTPC  | PC stored here on APR trap                  |
                   |---------------------------------------------|
    130    .JBOPC  | Old PC stored here on START, DDT, REENTER,  |
                   | & CSTART commands                           |
                   |---------------------------------------------|
    131    .JBCHN  | Used for FORTRAN job chaining (root link)   | .JBOVL
                   |---------------------------------------------|
    132    .JBFDV  | DDB addr for FINISH command                 |
                   |---------------------------------------------|
    133    .JBCOR  | Highest loc in low  |   Low seg core        |
                   | seg actually loaded |   assignment          |
                   |---------------------------------------------|
    134    .JBINT  |                     |   Data block adr for  |
                   |                     |   error intercept     |
                   |---------------------------------------------|
    135    .JBOPS  | Reserved for runtime operating system       |
                   |---------------------------------------------|
    136    .JBCST  | Reserved for customer                       |
                   |---------------------------------------------|
    137    .JBVER  | Job version number                          |
                   |---------------------------------------------|
    140            | First loc in user's program area            |
                   +---------------------------------------------+
.el
.pg
Notes:
.f
.ls;.le;The actual tables are included at the beginning of each user's
area. 
.le;Many of these words contain different values while a SAVE or
GET is in progress, and therefore have several different labels.
.le;System-sensitive locations for all
machines are stored in the UPT instead of the user's core
image.  If .JBxxx is stored in location yyy, VJBDAT will
define the value of the symbol as -1000+yyy (octal).
.els
.lm0
.pg
Name: Job -- Queues and Wait State Codes
.b.lm15.ts15.i-15
Defined in:	(See JBTCQ and JBTSTS)
.b.i-15
Used In:	(See JBTCQ and JBTSTS)
.lm0.b
Job queues keep track of a job's priority to run and to be in core and are
maintained in table JBTCQ.  Wait State Codes keep track of the runnability
of a job and are defined in parallel so that a queue number and a wait
state code that have the same meaning will also have the same numeric
value.  Values will differ at different sites due to conditional assembly.
.b;.no fill
Symbol   Value  Usage  Feature      Meaning
.b.literal
RNQ        00     N               Ready to run
WSQ        01     U               I/O Wait Satisfied
TSQ        02     U               TTY I/O Wait Satisfied
DSQ        03     U               Disk I/O Wait Satisfied
PSQ        04     U               Paging I/O Wait Satisfied

AUQ        05     R               Alter UFD Wait
DAQ        06     R               Disk Space Allocation Wait
CBQ        07     R               Disk core block scan wait
D1Q        11     R               DECtape Controller 1 Wait (DTA)
D2Q        12     R               DECtape Controller 2 Wait (DTB)
D3Q        13     R               DECtape Controller 3 Wait (DTC)
D4Q        14     R               DECtape Controller 4 Wait (DTD)
D5Q        15     R               DECtape Controller 5 Wait (DTE)
D6Q        16     R               DECtape Controller 6 Wait (DTF)
D7Q        17     R               DECtape Controller 7 Wait (DTG)
D8Q        20     R               DECtape Controller 8 Wait (DTH)
DCQ        21     R               DECtape/Magtape Control Wait
MMQ        22     R     FTMP      Memory Management Wait
CAQ        23     R    FTLOCK     Semi-permanent core Wait (LOCK)
EVQ        24     R  FTKI|FTKL    Exec virtual memory Wait
EQQ        25     R   FTEQDQ      Enqueue-Dequeue Wait

IOWQ       26     C               I/O Wait
TIOWQ      27     CQ              TTY I/O Wait
DIOWQ      30     C               Disk I/O Wait
PIOWQ      31     C               Paging I/O Wait
SLPQ       32     CQ              Sleeping (>= 1 second)
EWQ        33     CQ              Event Wait (see JBTST2)
NAPQ       34     C               Napping (sleep < 1 second)
NULQ       35     CQ              Unassigned Jobs
JDCQ       36     CQ   FTDAEM     Job Waiting for DAEMON
STOPQ      37     CQ              Job Stopped (^C State)

PQ1        40     Q               Jobs Starting Up or coming 
                                  out of TTY I/O wait
PQ2        41     Q               Non interactive jobs
CMQ        42     Q               Command Wait for Swapper 
                                  (^W State)
.end literal
.pg
Symbol   Value  Usage  Feature      Meaning
.b.literal
HPQ1       43     Q    FTHPQ      High Priority (Realtime) Jobs
HPQ2       44     Q    FTHPQ      Higher Priority (Realtime) Jobs
HPQ3       45     Q    FTHPQ      Highest Priority (Realtime) Jobs

The number of HPQs is determined by the MONGEN dialogue.

Key to Usage:

    N     No queue header for this WSC.  (JBTCQ+0 contains
          0).  Defined in QUEUES macro.

    U     Wait State Codes for jobs that have become unblocked
          but need to be processed by QREQ in SCHED1 before
          being considered to run.  Defined in QUEUES macro.

    R     Wait State Codes for jobs that blocked at UUO
          level requiring a sharable resource that was unavail-
          able (see REQTAB).  Jobs will be unblocked by the
          scheduler when the resource becomes available (see
          AVALTB).  Defined in RWAITS macro.

    C     Wait State Codes for jobs that are blocked waiting
          for a monitor event, such as I/O complete, clock ticks,
          command input, or DAEMON activity, before they will be
          runnable.  Defined in CODES macro.

    Q     These queues in JBTCQ actually hold jobs.  Other
          symbols have queue headers reserved for them, but
          jobs are never placed in them.  RNQ has no queue
          header at all.
.el
.b2;.LM0
Notes:
.f;.ls;.le;RNQ, IOWQ, DIOWQ, PIOWQ, WSQ, TSQ, DSQ, and 
PSQ never actually hold jobs.  The queues are defined only to define the
corresponding Wait State Codes.
.le;The values of PQ1, PQ2, CMQ, and STOPQ are never used as wait state
codes.  Jobs in any of the PQs have wait state codes of 000.  When jobs
are put into CMQ or STOPQ they retain their previous codes, so that they
can be returned to their previous queues.
.els
.pg
Name:  KON -- Kontroller Data Block
.b.lm15.f.i-15
Description:	 There is one KON per disk controller. It contains
information specific to that controller, for example, dispatch
addresses into the controller dependent routines.  Controller data blocks
are generated dynamically by AUTCON when the system is started.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILIO, ONCE, ONCMOD, RPXKON, RNXKON, SYSINI, VMSER
.b.lm0
Format:
.lit
          +-------------------------------------------------------+
xxnINT    |  CONSO skip chain entry for this controller*          |
          |-------------------------------------------------------|
KONTAB    |  UDB Address Table - contains address of each UDB     |
          |  associated with this controller  - 8 words           |
          |                                                       |
          |                                                       |
          |-------------------------------------------------------|
KONCOM    |  Negative of CCWMAX     |         KONLST              |
          |-------------------------------------------------------|
KONLST    |       Channel command list for this controller        |
          |                  Length is   CCWMAX                   |   
          |                        (KA)                           |
          |                                                       |
          |-------------------------------------------------------|
          |                     0,,0  (end of command list)       |
          |-------------------------------------------------------|
KONRED    | Table of controller-dependent dispatch instructions   | 
          |                                                       |
          |                                                       |
          |-------------------------------------------------------|
KONCUA    | UDB address of unit doing transfer (or last one)      |
          |-------------------------------------------------------|
KONIOC    | Address of controller-channel pair in low core        |
          |-------------------------------------------------------|
KONCHN    | Address of channel data block for this controller     |    
          |-------------------------------------------------------|
KONPTR    | Indirect pointer to index KONTAB    (P3)              |
          |-------------------------------------------------------|
KONDMP    | Holds DEVDMP during dump-mode I/O                     |
          |-------------------------------------------------------|
KONERR    | Dispatch to controller-dependent error-recovery prog. |  
          |-------------------------------------------------------|
KONECC    | Used for ECC mask and position                        |
          |-------------------------------------------------------|
.end literal
.page
.literal
          |-------------------------------------------------------|
KONRRG    | Used to hold drive registers                          |
          |-------------------------------------------------------|
KONECR    | Control register on error                             |
          |-------------------------------------------------------|
KONEDB    | Data buffer register on error                         |
          |-------------------------------------------------------|
KONREG    | Length of KONEBK                                      |
          |-------------------------------------------------------|
KONEBK    | Place to save drive registers on error                |
          +-------------------------------------------------------+

* The format of these instructions is:

xxnINT:     CONSO xxn,xx'INF   ;SKIP IF INTERRUPT FROM THIS KON
            JRST               ;RESOLVED AT ONCE TIME
IFN FTDHIA,<
            CONSO xxn,7        ;IF NO PI UP,
            JRST  .-2          ;PROBABLY DIAG FIDDLING WITH KON
>;END DTDHIA
            JSR   ssn'SAV      :SAVE INTERRUPT AC'S
            JSP   J,xx'xINT    ;BRANCH INTO CONTROLLER-
                               ;DEPENDENT CODE
.el
.pg

KONRED    Controller-Dependent Dispatch Addresses
.nf
.b;.lit
       +--------------------------------------------------+
KONRED | PI| Address of read program                      |
       |--------------------------------------------------|
KONRDS |    Address of read, stop-on-error program        |         
       |--------------------------------------------------|
KONRDF |    Read header and data                          |
       |--------------------------------------------------|
KONRDC |    Read in 10/11 compatibility mode              | 
       |--------------------------------------------------|
KONWRT |    Entry point to write program                  |
       |--------------------------------------------------|
KONWTS |    Entry point to write, stop on error           |    
       |--------------------------------------------------|
KONWTF |    Write format                                  |
       |--------------------------------------------------|
KONWTC |    Write in 10/11 compatibility mode             |
       |--------------------------------------------------|
KONUNL |    Unload drive                                  |
       |--------------------------------------------------|
KONPOS |  F|Position heads-entry zero for fixed-head disk |
       |--------------------------------------------------|
KONLTM |    Compute rotational latency time               |
       |--------------------------------------------------|
KONUPA |  U| Test if controller is on-line                |
       |--------------------------------------------------|
KONCPY |    Determine type and capacity of unit           |
       |--------------------------------------------------|
KONRCL |    Recalibrate                                   |
       |--------------------------------------------------|
KONSTP |    Stop on hung unit                             |
       +--------------------------------------------------+

Word     Bit        Function

KONRED   0-2        PI level for controller
KONPOS    0         1 - implies fixed-head devices
KONUPA    0         1 - implies controller is down
          1         1 - controller can seek during transfer
.el
.b2;.f
The following notation is used in expressing some of the KON symbols:
.b;.lit
x   - Controller number (which is really a letter) - A,B,...
xx  - Controller type - RN, RP
xxn - Controller symbol - for example, RP0.
.el
.pg.lm0
Name:  KONTAB -- UDB Address Table Within KON
.b.f.lm15.ts15.i-15
Description:	Contains UDB address for each unit on this controller.
There is one entry for each unit on the controller.  Indexed by physical
unit number with controller.
.nf.lm10.b
+-------------------------------------+
|                  |  0   |   UDB 1   |
|-------------------------------------|
|                  |  0   |   UDB 2   |
|-------------------------------------|
|                  |  0   |   UDB 3   |
|-------------------------------------|
|                  |  0   |   UDB 4   |
|-------------------------------------|
|                  |  0   |   UDB 5   |
|-------------------------------------|
|                  |  0   |   UDB 6   |
|-------------------------------------|
|                  |  0   |   UDB 7   |
|-------------------------------------|
|                  |  0   |   UDB 10  |
+-------------------------------------+
   0              13      18        35
.b.lm0
Notes:
.f;.ls;.le;Bit 0 of first word set when controller is busy.
.le;If controller has fewer than eight units, the additional
entries are present, but blank.
.els
.b
Controller-dependent instructions:
.b
The four word block preceding a Controller Data Block contains
the Controller-dependent instructions used to link the controller
to a PI CONSO skip chain.
.b
.nf
.lm10
  x - CONTROLLER number (for example, A,B,...)
 xx - CONTROLLER type   (for example, RN, RP)
xxn - KNOTROLLER symbol (for example, RP0)
.b
.lm0
xxn'INT:  CONSO xxn,xx'INF
          JRST
          JSR  xxn'SAV
          JSP  J,xx'xINT
.pg
.LM0
Name:  LDB --  Line Data Block
.b
.f.lm15;.i-15
Description:	Contains data pertaining to one terminal line.
One LDB per line; including scanner lines, PTYs, and CTY.
LINTAB serves as directory.
.b.i-15
Defined in:	SCNSER
.b.i-15
Used by:	CLOCK1, COMCON, COMMON, D76INT, MSGSER, NETSER, PSISER,
PTYSER, SYSINI, UUOCON, XTCSER
.B.lm0
Format:
.B2;.lit
         +-------------------------------------------------------+
LDBDDB   |      See LDBDDB word      |Address of line's attached |
         |                           |            DDB            |
         |-------------------------------------------------------|
LDICLR   |            Start clearing here on restart             |
LDBBKU   |          Copy of LDBTIP at last break RECINT          |
         |-------------------------------------------------------|
LDBTIP   |         T2 to put characters in input buffer          |
         |-------------------------------------------------------|
LDBTIT   |        T2 to take characters from input buffer        |
         |-------------------------------------------------------|
LDBTIC   |      Count of echoed characters in input buffer       |
         |-------------------------------------------------------|
LDBBKC   |       Count of break characters in input buffer       |
         |-------------------------------------------------------|
LDBTOP   |         T3 to put characters in output buffer         |
         |-------------------------------------------------------|
LDBTOT   |       T2 to take characters from output buffer        |
         |-------------------------------------------------------|
LDBTOC   |        Count of characters from output buffer         |
         |-------------------------------------------------------|
LDBECT   |     T2 to take characters from input for echoing      |
         |-------------------------------------------------------|
LDBECC   |              Count of characters to echo              |
         |-------------------------------------------------------|
LDBXNP   |        XON class character pointer for output         |
         |-------------------------------------------------------|
LDBFLP   |          Filler character pointer for output          |
         |-------------------------------------------------------|
LDBPBK   | Up to 4 break characters for Packed Image Mode (PIM)  |
         |-------------------------------------------------------|
LDBHPS   |              Horizontal Position Counter              |
LDICLE(1)|             Clear through here on restart             |
         |-------------------------------------------------------|
LDBDCH   |                    See LDBDCH word                    |
         |-------------------------------------------------------|
.end literal
.page
.literal
         |-------------------------------------------------------|
LDBOFL   |                                                       |
LDBBYT   |                    See LDBBYT word                    |
         |-------------------------------------------------------|
LDBBY2   |                    See LDBBY2 word                    |
         |-------------------------------------------------------|
LDBPAG   |                    See LDBPAG word                    |
         |-------------------------------------------------------|
LDBISR   |                    See LDBISR word                    |
         |-------------------------------------------------------|
LDBQUE   |                    See LDBQUE word                    |
         |-------------------------------------------------------|
LDBTTW   |                    See LDBTTW word                    |
LDBBCD(2)|                Flags for 2741 support                 |
         |-------------------------------------------------------|
LDBREM(3)|                   See LDBREM+0 word                   |
         |-------------------------------------------------------|
LDBREM(3)|                   See LDBREM+1 word                   |
         |-------------------------------------------------------|
LDBREM(3)|                   See LDBREM+2 word                   |
         |-------------------------------------------------------|
LDBREM(3)|                   See LDBREM+3 word                   |
         |-------------------------------------------------------|
LDBREM(3)|                 See LDBREM+4 MCR word                 |
LDBREM(3)|                 See LDBREM+4 VTM word                 |
         |-------------------------------------------------------|
LDBTTD(4)|                    See LDBTTD word                    |
         |-------------------------------------------------------|
LDBLAR(4)|           Current line allocation remaining           |
         |-------------------------------------------------------|
LDBSS1(4)|  First word of line speed message sent to front-end   |
         |-------------------------------------------------------|
LDBSS2(4)|           Second word of line speed message           |
         |-------------------------------------------------------|
LDBMIC(5)|                    See LDBMIC word                    |
         |-------------------------------------------------------|
LDBLOT(6)|         Log taker         |Count of characters to log |
         |-------------------------------------------------------|
LDBLOC(6)|              Count of characters to log               |
         |-------------------------------------------------------|
LDBBKM   |                    See LDBBKM word                    |
         |-------------------------------------------------------|
LDBLEN   |            Size of a data block for a line            |
         +-------------------------------------------------------+
.el
.pg

.lit
(1)  If FTRSP (measure user TTY input response times) and
     FTACCT (include support for accounting) are set, the
     following three words would come directly after LDBHPS
     and be cleared on a restart:

         +-------------------------------------------------------+
LDBBCT   |   Total break character count since system (re)start  |
         |-------------------------------------------------------|
LDBICT   |   Total input character count since system (re)start  |
         |-------------------------------------------------------|
LDBOCT   |  Total output character count since system (re)start  |
         +-------------------------------------------------------+

(2)  If FTD10H (2741 lines on a DC10 -- Reassemble DLSINT) the
     flags are for 2741 support

(3)  If FTNET (include NCL network software) then five words
     containing network related LDB fields for remote station
     terminal status

(4)  If FTKL10 (include KL10 support) the definitions in this
     word are for support of RSX-20F terminals

(5)  If FTMIC (include Macro Command Processor) this word for
     MIC use

(6)  If FTMLOG (include MIC Log File Support) two words for
     MIC logging
.end literal
.PG
.LITERAL
                                  LDBBKM

+-------------------------------------------------------------------------+
|  | Reserved   |@ |  Index         |          Break Mask Addr.           |
|-------------------------------------------------------------------------|
|0 |2---------12|13|14------------17|18---------------------------------35|
+-------------------------------------------------------------------------+

Bits in LDBBKM:

Bit    Symbol     Meaning

0      LDLBKM     Break masks are enabled.
2-12              Reserved
13                Indirect addressing
14-17             Index value
18-35             Pointer to four-word bit mask, 
                  indexed by character
.el

.pg
.literal
                                  LDBDDB

+-------------------------------------------------------------------------+
|L|L|L|L|        |    L   |         |                                     |
|D|D|D|D|        |    D   |         |                                     |
|B|B|B|B|        |    P   |         |    Address of line's attached DDB   |
|C|C|C|D|        |    C   |         |                                     |
|M|M|M|E|        |    M   |         |                                     |
|R|F|K|T|        |    X   |         |                                     |
|-------------------------------------------------------------------------|
|0|1|2|3|4------8|9-----12|13-----17|18---------------------------------35|
+-------------------------------------------------------------------------+

Bits in          Bit Label or
 LDBDDB   Value  Byte Pointer   Description

  0      400000    LDBCMR       Command request bit
  1      200000    LDBCMF       Command forced
  2      100000    LDBCMK       Forcing KJOB command
  3       40000    LDBDET       Job detached from this line during command
                                processing
 4-8                            Reserved
 9-12              LDPCMX       Pointer index for forced command
13-17
18-35
.el
.pg

.lit
                                LDBDCH

+-----------------------------------------------------------------------+
|L|L|L|L|L|L|L|L|L|L| L| L|          | L| L|   L   | L| L|              |
|D|D|D|D|D|D|D|D|D|D| D| D|          | D| D|   D   | D| D|              |
|L|L|L|L|L|L|L|L|L|L| L| L|  LDPVR1  | R| R|   P   | R| R|    LDPLNO    |
|I|F|S|P|S|M|D|N|F|I| C| B|          | P| C|   V   | R| S|              |
|D|C|T|I|S|I|L|E|C|M| O| K|          | T| T|   R   | E| H|              |
|L|P|P|M|O|C|R|C|S|I| M| A|          | Y| Y|   2   | M| C|              |
|-----------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12------17|18|19|20---24|25|26|27----------35|
+-----------------------------------------------------------------------+

Bits in          Bit Label or
LDBDCH    Value  Byte Pointer   Description

  0      400000    LDLIDL       Line is idle. If clear, we are expecting
                                a transmit interrupt
  1      200000    LDLFCP       A force character or fillers are pending
  2      100000    LDLSTP       Output was stopped by <CTRL/S>
  3       40000    LDLPIM       Terminal was opened in PIM mode
  4       20000    LDLSSO       SCNSER stopped output
  5       10000    LDLMIC       LDBMIC is non-zero
  6        4000    LDLDLR       Suppress dollar sign
  7        2000    LDLNEC       No echo, due to program
  8        1000    LDLFCS       Line inited in full character set mode
  9         400    LDLIMI       Image input
 10         200    LDLCOM       Line is at command level
 11         100    LDLBKA       Break on all characters (DDTIN, TTCALL)
12-17              LDPVR1       4 of 6 bits pointed to by GETLP1 for GETLIN*
 12          40    LDLSLV       Slave; this terminal may be assigned
 13          20    LDLLCT (1)   Lowercase translate to upper
 14          10    LDLTAB (2)   Line accepts tabs, not spaces
 15           4    LDLLCP       Local copy (no echo)
 16           2    LDLFRM (3)   Line accepts FF and VT (else use LFs)
 17           1    LDLNFC       No free carriage return at 72 columns
 18      400000    LDRPTY       Pseudo-terminal
 19      200000    LDRCTY       Console terminal
20-24              LDPVR2       Bits pointed to by LDPVR2
 20      100000    LDROSU (4)   Output suppress (<CTRL/O>)
 21       40000    LDRDSD       Dataset line
 22       20000    LDR274       Line is a 2741
 23       10000    LDRHLF       Half duplex line (TWX or DC10C)
 24        4000    LDRRMT       Remote non-dataset line
 25        2000    LDRREM       Terminal at remote station
 26        1000    LDRSHC       Suppress hung check
27-35              LDPLNO       Pointer to hardware line number
.end literal
.pg.lm0
*  Bits for GETLIN UUO:
.b.literal
            Value  Label        Description

            100    GTLRDY       Bit for GETLIN to indicate waiting break
                                character
             20    GTLT37       Model 37 bit (copy of LDLLCT)
             10    GTLT35       Model 35 bit (copy of LDLTAB)
              4    GTLLCP       Local copy (copy of LDLLCP)
              2    GTLXON       XON is true

                   LDPLCT (1)   Pointer to lower case bit
                   LDPTAB (2)   Pointer to hardware tabs bit
                   LDPFRM (3)   Pointer to hardware form feed bit
                   LDPOSU (4)   Pointer to output suppression bit

.end literal
.pg
.literal
                                LDBBYT

+-----------------------------------------------------------------------+
|L| L |  P |               |    L   | L| L|  L  | L| L| L|              |
|D| D |  O |               |    D   | 1| 1|  D  | 1| 1| 1|              |
|B| P |  H |     LDPSVC    |    P   | R| R|  P  | R| R| R|    LDPECK    |
|O| F |  P |               |    T   | M| C|  C  | D| D| D|              |
|F| L |  O |               |    I   | I| H|  P  | E| E| E|              |
|L| C |  S |               |    M   | F| P|  U  | L| C| M|              |
|-----------------------------------------------------------------------|
|0|1 2|3--5|6------------14|15-----19|20|21|22-24|25|26|27|28---------35|
+-----------------------------------------------------------------------+

Bits in          Bit Label or
LDBBYT    Value  Byte Pointer   Description

  0                LDBOFL (1)   -1 if front end for this line is down
 1-2               LDPFLC       Count of number of fillers by class
 3-5               POHPOS       Old horizontal position. Needed for tab
                                 simulation
 6-14              LDPSVC       Save character during free CRLF
15-19              LDPTIM       Timeout on image input
 20                L1RMIF       MIC interlock flag
 21                L1RCHP       Change hardware parameters queue bit
22-24              LDPCPU       CPU number
 25                L1RDEL (3)   Echo may echo 1 line if deferred
 26                L1RDEC (3)   Echo may echo 1 character if deferred
 27                L1RDEM (2)   Deferred echo bit. Set by SET TERMINAL DEFER
28-35              LDPECK (4)   Echo check for half-duplex lines

 (1)     400000    L1LOFL       The off-line bit
 (2)               LDPDEM       Pointer to L1RDEM
 (3)               LDPDEB       Pointer to deferred echo bits
 (4)               LDPECK       If FTHDPX (support certain half-duplex 
                                terminals) or FTTRACK (leaves useful 
                                information in locations in COMMON to
                                aid in debugging crash)
.el
.pg
.lit
                                 LDBBY2

+--------------------------------------------------------------------------+
|L|L|L|L|L|L|L|L|L|                 | L| L|               |                |
|2|2|2|2|2|2|2|2|2|                 | 2| 2|               |                |
|L|L|L|L|L|L|L|L|L|      LDPDSC     | R| R|    LDPWID     |     LDPRCS     |
|D|C|H|H|H|H|H|S|T|                 | X| E|               |                |
|E|C|D|D|D|D|D|N|A|                 | O| C|               |                |
|L|S|1|2|3|4|5|D|P|                 | N| S|               |                |
|--------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9--------------17|18|19|20-----------27|28------------35|
+--------------------------------------------------------------------------+

Bits in          Bit Label or
LDBBY2    Value  Byte Pointer   Description

  0      400000    L2LDEL       Last character in was a delete
  1      200000    L2LCCS       Last character in was a <CTRL/C>
  2      100000    L2LHD1       XMT done flag seen this character on HDX line
  3       40000    L2LHD2       RCV done flag seen this character on HDX line
  4       20000    L2LHD3       Ignoring RCV interrupts due to echo check
                                error on HDX line
  5       10000    L2LHD4       Next RCV interrupt will be queued after echo
                                check
  6        4000    L2LHD5       Receive echo was in fact not same as
                                transmitted character
  7        2000    L2LSND       Send allowed while busy
  8        1000    L2LTAP       <CTRL/Q> from keyboard turns on L2RXON
 9-17              LDPDSC (1)   Dataset Control Table Index back pointer
 18      400000    L2RXON       XON is true (paper tape input)
 19      200000    L2RECS       Eat command sync
20-27              LDPWID       Width of terminal carriage
28-35              LDPRCS (2)   Most recent received character

 (1)               LDPDSC       If modem control code (FTMODM)
 (2)               LDPRCS       If FTTRACK (leaves useful information in
                                 locations in COMMON to aid in debugging crash)

.end literal
.pg
.literal
                                  LDBPAG

+-------------------------------------------------------------------------+
|L|L|L|L|L|L|L|L|L| |              |            |            |            |
|P|P|P|P|P|P|P|P|P| |              |            |            |            |
|L|L|L|L|L|L|L|L|L| |    LDPACR    |   LDPPFF   |   LDPPSZ   |   LDPPCT   |
|I|P|X|A|B|S|S|D|P| |              |            |            |            |
|R|A|O|L|L|L|A|I|O| |              |            |            |            |
|M|G|F|T|K|F|P|S|K| |              |            |            |            |
|-------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10----------17|18--------23|24--------29|30--------35|
+-------------------------------------------------------------------------+

Bits in          Bit Label or
LDBPAG    Value  Byte Pointer   Description

  0      400000    LPLIRM       Terminal not heard from this second
  1      200000    LPLPAG       Set terminal page command was executed
  2      100000    LPLXOF       Sent XOFF, always send XON later
  3       40000    LPLALT (1)   Altmode conversion bit
  4       20000    LPLBLK       Suppress blank lines
  5       10000    LPLSLF       Suppress line feeds
  6        4000    LPLSAP       Send all pending
  7        2000    LPLDIS (2)   Set if this is a display terminal
  8        1000    LPLPOK       Forcing XMIT start using TOPOKE
  9                             Reserved
10-17              LDPACR       Auto-CRLF counter
18-23              LDPPFF       Number LFs remaining on VT and FF simulation
24-29              LDPPSZ       Page size
30-35              LDPPCT       Page counter

 (1)               LDPALT       Pointer to altmode conversion bit
 (2)               LDPDIS       Pointer to display terminal bit

.end literal
.pg
.literal
                                 LDBISR

+------------------------------------------------------------------------+
|L|  L  |  L  |L| L| L| L|        |                                      |
|I|  D  |  D  |D| D| D| D|        |                                      |
|L|  P  |  P  |P| P| P| P|        |                                      |
|C|  T  |  R  |A| D| R| T|        |                                      |
|F|  S  |  S  |P| B| T| D|        |                                      |
|E|  P  |  P  |L| K| C| Y|        |                                      |
|------------------------------------------------------------------------|
|0|1---4|5---8|9|10|11|12|13----17|18----------------------------------35|
+------------------------------------------------------------------------+

Bits in          Bit Label or
LDBISR    Value  Byte Pointer   Description

  0                 LILCFE      1 if front end is clever, 0 if dump
 1-4                LDPTSP (1)  Transmit speed
 5-8                LDPRSP (1)  Receive speed
  9                 LDPAPL      APL mode
 10                 LDPDBK      Line has debreak
 11                 LDPRTC      <CTRL/R>/<CTRL/T> compatibility
 12                 LDPTDY      User said SET TERMINAL TIDY
13-17                           T1 for @LDBISR(U)
18-35                           Address of ISR dispatch table
         400000     LILCFE      Clever front end
         360000     LILTSP      Transmit speed
         017000     LILRSP      Receive speed
         000400     LILAPL      APL mode
         000200     LILDBK      Line has debreak
         000100     LILRTC      <CTRL/R>/<CTRL/T> passed to program
         000040     LILTDY      Do not expand output

 (1)                LDPSPD      Both speeds (If FTCAFE, support the DC76)

.end literal
.pg
.literal
                                  LDBQUE

+-----------------------------------------------------------------------+
|                                   |                                   |
|                                   |                                   |
|           Queue header            |        Next line in queue         |
|                                   |                                   |
|                                   |                                   |
|                                   |                                   |
|-----------------------------------------------------------------------|
|0--------------------------------17|18-------------------------------35|
+-----------------------------------------------------------------------+


                                   LDBTTW

+--------------------------------------------------------------------------+
|                  | L| L| L|               |               |              |
|                  | D| D| D|               |               |              |
|                  | L| L| L|     LDPFCT    |     PRPOS     |    LDPTTT    |
|                  | U| U| N|               |               |              |
|                  | A| A| A|               |               |              |
|                  | R| W| N|               |               |              |
|--------------------------------------------------------------------------|
|0----------------9|10|11|12|13-----------20|21-----------28|29----------35|
+--------------------------------------------------------------------------+

Bits in          Bit Label or
LDBTTW    Value  Byte Pointer   Description

 0-9                            Free
 10         200     LDLUAR      On if processing <CTRL/R>
 11         100     LDLUAW      On if processing <CTRL/W>
 12          40     LDLNAN      On if alpha-numeric seen while processing
                                <CTRL/W>
13-20               LDPFCT      Filler repeat counter
21-28               PRPOS       Position off prompt
29-35               LDPTTT      Terminal type as specified by TTY TYPE command
                                LDBREM+0
.el
.pg
.lit
                                  LDBREM

+------------------------------------------------------------------------+
| | | | | | | | | | |  |  |  |  |  |  |  |  |  |  |                      |
| | | | | | | | | | |  |  |  |  |  |  |  |  |  |  |         LDPSTS       |
| | | | | | | | | | |  |  |  |  |  |  |  |  |  |  |                      |
|------------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20------------------35|
+------------------------------------------------------------------------+

Bits in          Bit Label or
LDBREM    Value  Byte Pointer   Description

  0      400000    LRLVTM (1)   If set, then this is a "local terminal"
                                that has been "SET HOSTed" to another host
  1      200000    LRLCON (1)   If set, then terminal is "connected" 
                                (NCL connect sequence is complete)
  2      100000    LRLSTS (1)   If set, then a "STATUS" message is required.
                                Same bit, but different messages for 
                                VTM & MCR
  3       40000    LRLSCH (2)   If set, then a "CHARACTERISTICS" message is
                                required (works like LRLSTS)
  4       20000    LRLDST (2)   A "delayed" status message is required (used
                                to optimize traffic. Has priority over 
                                LRLSTS)
  5       10000    LRLQED (2)   If set, then VTM line has been "queued" by 
                                VTMENQ
  3       40000    LRLTTO       LDPCHR has the next character to output
  4       20000    LRLTTW       Line is waiting for a data request
  5       10000    LRLSCG       <CTRL/O> action requested (send
                                character gobbler)
  6        4000    LRLEPW       Echo pipeline marker waiting to go
  7        2000    LRLIMO       Indicates that remote is in image mode output
  8        1000    LRLADR       Use of the auto-dialer has been requested
  9         400    LRLXOF       An XOFF (<CTRL/S>) message has been 
                                requested
 10         200    LRLCHR       This terminal has received at least 1 
                                CHARACTERISTICS message
 11         100    LRLDTR       Ring/carrier bit (set and cleared by STATUS
                                messages from the -11)
 12          40    LRLDSR       The -10's copy of what it thinks LRLDTR
                                should be
 13          20    LRLDSL       This line is a dataset line
 14          10    LRLATO       Indicates this line possesses the auto-baud
                                capability (set or cleared by the attribute
                                field of the CONNECT message)
 15           4    LRLADL       Indicates this line possesses an auto-dialer
                                (also set by CONNECT message)
 16           2    LRL741       Indicates this is a 2741 line
 17           1    LRLTIW       We are in TTY input wait (we should 
                                unlock the 2741's keyboard)
 18      400000    LRRSHC       The line at the other end has "SET HOST
                                capability." (it can respond to
                                DISCONNECT messages)
.end literal
.pg
.literal
(1)  Bits used by both NETVTM (local SET HOST) and NETMCR (remote terminals)
(2)  Bits used only by NETVTM (local SET HOST)
(3)  Bits used only by NETMCR ("normal" remote terminals, like DN87)

                                   LDBREM+1

+---------------------------------------------------------------------------+
|                                                                           |
|                                                                           |
|                    Last characteristics message sent                      |
|                                                                           |
|                                                                           |
|                                                                           |
|---------------------------------------------------------------------------|
|0------------------------------------------------------------------------35|
+---------------------------------------------------------------------------+

                                  LDBREM+2

+--------------------------------------------------------------------------+
|                         |                           |                    |
|                         |                           |                    |
|          LDPSLA         |          LDPDLA           |       LDPRLN       |
|                         |                           |                    |
|                         |                           |                    |
|                         |                           |                    |
|--------------------------------------------------------------------------|
|0----------------------12|13-----------------------25|26----------------35|
+--------------------------------------------------------------------------+

Bits in     Bit Label or
LDBREM      Byte Pointer   Description

 0-12         LDPSLA       Our source link address
13-25         LDPDLA       Our destination link address
26-35         LDPRLN       Line number at remote station
.el
.pg
.lit
                                  LDBREM+3

+--------------------------------------------------------------------------+
|   L   |                 |                  |                             |
|   D   |                 |                  |                             |
|   P   |      LDPDRQ     |      LDPEPM      |           LDPRNN            |
|   E   |                 |                  |           LDPRNF            |
|   L   |                 |                  |                             |
|   E   |                 |                  |                             |
|--------------------------------------------------------------------------|
|0-----3|4--------------11|12--------------19|20-------------------------35|
+--------------------------------------------------------------------------+

Bits in          Bit Label or
LDBREM    Value  Byte Pointer   Description

 0-3               LDPELE       2741 element number
 4-11              LDPDRQ       Number of data requests from remote
12-19              LDPEPM       Serial number of last EPM from remote
20-35              LDPRNN (U)   Number of node owning this TTY
20-35              LDPRNF (F)   Same as LDPRNN except indexed by "F"

                                LDBREM+4
                                 (MCR)

+--------------------------------------------------------------------+
|                |                |                |                 |
|                |                |                |                 |
|     LDPCHR     |     LDPADT     |     LDPJOB     |                 |
|                |                |                |                 |
|                |                |                |                 |
|                |                |                |                 |
|--------------------------------------------------------------------|
|0--------------8|9-------------17|18------------26|27-------------35|
+--------------------------------------------------------------------+

Bits in          Bit Label or
LDBREM    Value  Byte Pointer   Description

 0-8               LDPCHR       If LRLTTO=1, contains the next output
                                 character
 9-17              LDPADT       Auto-disconnect timer
18-26              LDPJOB       Pointer to job (only for connects)
27-35                           Unused
.el
.pg
.lit
                                LDBREM+4
                                 (VTM)

+----------------------------------------------------------------------+
|                                  |                                   |
|                                  |                                   |
|               LDPDST             |               LDBVTQ              |
|                                  |                                   |
|                                  |                                   |
|                                  |                                   |
|----------------------------------------------------------------------|
|0-------------------------------17|18-------------------------------35|
+----------------------------------------------------------------------+

Bits in          Bit Label or
LDBREM           Byte Pointer   Description

 0-17              LDPDST       Delayed-status-message for VTM
18-35              LDBVTQ       VTM-queue-link


                                LDBTTD

+----------------------------------------------------------------------+
|                                                                      |
|                                                                      |
| Line information for support of RSX-20F terminals                    |
|                                                                      |
|                                                                      |
|                                                                      |
|----------------------------------------------------------------------|
|0-------------------------------------------------------------------35|
+----------------------------------------------------------------------+

Bits in          Bit Label or
LDBTTD    Value  Byte Pointer   Description

         740000                 Remembered transmit speed
          36000                 Remembered receive speed
           1000     LTLXOF      Sent XOFF to -20F
            400     LTLRBS      Remote bit sent for -20F datasets
            200     LTLCTO      Need to send flush output to -20F
.el
.pg
.lit
                                LDBMIC

+----------------------------------------------------------------------+
| | | | | | | | | | |  |  |  |  |  |           |           |           |
| | | | | | | | | | |  |  |  |  |  |           |           |           |
| | | | | | | | | | |  |  |  |  |  |           |           |           |
| | | | | | | | | | |  |  |  |  |  |           |           |           |
| | | | | | | | | | |  |  |  |  |  |           |           |           |
| | | | | | | | | | |  |  |  |  |  |           |           |           |
|----------------------------------------------------------------------|
|0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15-------21|22-------28|29-------35|
+----------------------------------------------------------------------+

Bits in          Bit Label or
LDBMIC    Value  Byte Pointer   Description

  0      400000    LDLCHK       Set if any bit 1-14 set
  1      200000    LDL.CC       Set if <CTRL/C> has been typed
  2      100000    LDL.OP       Set if operator character seen in column 1
  3       40000    LDL.ER       Set if error character seen in column 1
  4       20000    LDL.CP       Set if <CTRL/P> has been typed
  5       10000    LDL.CB       Set if <CTRL/B> has been typed
  6        4000    LDL.XX       Silence this line
  7        2000    LDL.MM       Line in monitor mode
  8        1000    LDL.TI       Line in user mode and TI wait or in
                                monitor mode and can accept commands
  9         400    LDL.TO       Line is in column 1 on output
  9         400    LDLCL1       Column 1 bit
 10         200    LDL.CA       Set if <CTRL/A> has been typed (abort)
 11         100    LDL.RS       Error response
 12          40    LDL.SY       Response code sync
 13          20    LDL.LG       MIC is logging
 14                             Reserved
15-21                           ASCII character to be treated as operator
                                character
22-28                           ASCII character to be treated as error
                                character
29-35                           MIC master job numbers -- allows more 
                                than one MIC to run
.end literal
.pg
Name: LINTAB -- Line Table
.b.lm15.ts15.i-15
Description:	Contains data pertaining to each TTY Line
One entry per line (including scanner, CTY, and PTY lines.)
Indexed by line number
.b.i-15
Defined:	COMDEV
.b.i-15
Used in:	CLOCK1, COMCON, COMMON, CPNSER, D76INT, DL0INT DL1INT,
DTESER, ERRCON, MSGSER, NETMCR, ONCE, PTYSER SCNSER, SYSINI, TTDINT,
UUOCON
.b.lm0
Format:
.b;.lit
        +-------------------------------------------------------+
Line 0  |   Characteristics    |   0    |      LDB address      |
        |-------------------------------------------------------|
Line 1  |        Bits*         |        |                       |
        |-------------------------------------------------------|
Line 2  |                      |        |                       |
        |-------------------------------------------------------|
    -   |                      |        |                       |
    -   |                      |        |                       |
    -   |                      |        |                       |
        |                      |        |                       |
        |                      |        |                       |
        |-------------------------------------------------------|
Line N  |                      |        |                       |
        +-------------------------------------------------------+
         0                   12  13 - 17  18                 35
.el
.b2
* Details on following page
.b2
Notes:
.b;.f
The device characteristics bits in 0-12 are copied into various
bytes of the LDBDCH word of the corresponding LDB during
initialization.
.b
LINTAB is located in COMDEV; bit definitions are in SCNSER and COMDEV.
.pg
.nf
.b
LINTAB  Byte Definitions
.b
+--------------------------------------------------+
|       ||L|L|L|L|L|L||L|L|L|L|L||                 |
|       ||D|D|D|D|D|D||D|D|D|D|D||                 |
|Filler ||L|L|L|L|L|L||R|R|R|R|R||                 |
|       ||S|L|T|L|F|N||D|D|I|H|R||                 |
| Class ||L|C|A|C|R|F||I|S|N|L|M||                 |
|       ||V|T|B|P|M|C||S|D|I|F|T||                 |
|--------------------------------------------------|
|       || | | | | | || | | | | ||/////////////////|
+--------------------------------------------------+
 0    1   2         7  8      12                 17
.b.lm0
Bits       Meaning
.b
0-1        Copied into bits 1-2 of LDBBYT
.B
2-7        Copied into bits 12-17 of LDBDCH
.B
8-12       Copied into bits 20-24 of LDBDCH
.f.b
Notes:
.b
These bits are used to initialize the specified 
areas of Line Data Block.  The bits may be changed in the
Line Data Block, but not in LINTAB.
.b
See LDBBYT and LDBDCH for bit definitions.
.pg.lm0
Name:   LOGTAB -- LOGIN JBTTAB Pointer Table
.b.f.lm15.ts15.i-15
Description:	Table of pointers to those job tables in which the LOGIN
UUO stores statistics.
.b.i-15
Defined in:	UUOCON (local symbol)
.b.i-15
Used by:	UUOCON
.b.lm0.nf
Format:
.b
+-------------------------------------+
|    AC J     |       JBTPPN_#_#        | ; PPN
|-------------------------------------|
|    AC J     |       JBTPRV_#_#        | ; Privilege bits
|-------------------------------------|
.lit
|    AC W     |        PDNM1##        | ; 1st half user name
|-------------------------------------|
|    AC W     |        PDNM2##        | ; 2nd half user name
|-------------------------------------|
|    AC W     |        PDCNO##        | ; Charge no. this job
+-------------------------------------+
  0         17  18                 35
.el.b
Notes:
.ls.le;LOGIN UUO used only by LOGIN and LOGOUT programs.
.nf.le;User program does:
       LOGIN AC,
           or
       CALLI AC,15
where AC contains:
       XWD no.-of-entries,location
which is a list of job statistics to be stored in the
monitor tables listed in LOGTAB.
.els
.pg.lm0
Name:  LVDTBL -- Level D Disk Parameter Table
.B.f.lm15.ts15.i-15
Description:	Contains parameters for the Level D disk
routines.  Each entry accessed by its own label.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	CLOCK1, COMCON, COMMON,  FILFND, FILIO, FILUUO, ONCMOD,
REFSTR, SCNSER, SYSINI, UUOCON
.b.lm0
GETTAB Table No.: .GTLVD (16)
.b
Format:
.b;.lit
         +---------------------------------------------------------------+
MFDPPN   | PPN for MFDS  [1,1]                                           |
         |---------------------------------------------------------------|
SYSPPN   | PPN for device SYS [1,4]                                      |
         |---------------------------------------------------------------|
FSFPPN   | PPN for FAILSAFE [1,2]                                        |
         |---------------------------------------------------------------|
HELPPN   | PPN for HELP and SYSTAT [2,5]                                 |
         |---------------------------------------------------------------|
PNTPPN   | PPN for printer spooling [3,3]                                |
         |---------------------------------------------------------------|
SYSPPB   | First PPB in system  | PPB to start scan for obtainable NMB   |
         |---------------------------------------------------------------|
SYSSTR   | First STR in system  | Index in structure data block for      |
         |                      | pointer to next structure data block   |
         |---------------------------------------------------------------|
SYSUNI   | First UDB in system  | Index in unit data block for pointer   |
         |                      | to next unit data block                |
         |---------------------------------------------------------------|
SWPUNI   | First swapping UDB   | Index in unit data block for pointer   |
         |                      | to next swapping unit data block       |
         |---------------------------------------------------------------|
CORNUM   | Number of 4 word blocks                                       |
         |---------------------------------------------------------------|
STNPRT   | Standard privilege   |                                        |
         |---------------------------------------------------------------|
UFDPRT   | Standard             |                                        |
         | UFD privilege        |                                        |
         |---------------------------------------------------------------|
MBFNUM   | Number of monitor buffers                                     |
         |---------------------------------------------------------------|
QUESTR   | SIXBIT name of structure for queuing programs                 |
         |---------------------------------------------------------------|
CRUPPN   | UFD for dumping crashes                                       |
         |---------------------------------------------------------------|
.end literal
.pg
.literal
         |---------------------------------------------------------------|
SFDLVL   | Number of nested SFD levels allowed                           |
         |---------------------------------------------------------------|
SPLPRT   | Protection for spooled output |                               |
         |---------------------------------------------------------------|
SYSPRT   | Protection for most system files |                            |
         |---------------------------------------------------------------|
SYSPRY   | Protection for system .SYS files |                            |
         |---------------------------------------------------------------|
MUSTMX   | Negative maximum extended RIB argument for USETI              |
         |---------------------------------------------------------------|
MAXTRN   | Maximum number of blocks to transfer in one operation         |
         |---------------------------------------------------------------|
XSYPPN   | PPN of experimental system (NEW)   [1,5]                      |
         |---------------------------------------------------------------|
OLDPPN   | PPN of old system (OLD) [1,3]                                 |
         |---------------------------------------------------------------|
UMDPPN   | User-mode diagnostics PPN  [6,10]                             |
         |---------------------------------------------------------------|
 NUMBF   | Default number of disk buffers                                |
         |---------------------------------------------------------------|
MAXSWP   | Maximum number of units in active swapping list               |
         |---------------------------------------------------------------|
ALGPPN   | ALGOL library PPN  [5,4]                                      |
         |---------------------------------------------------------------|
BLIPPN   | BLISS library PPN [5,5]                                       |
         |---------------------------------------------------------------|
FORPPN   | FORTRAN library PPN [5,6]                                     |
         |---------------------------------------------------------------|
MACPPN   | MACRO library PPN [5,7]                                       |
         |---------------------------------------------------------------|
UNVPPN   | Universal library PPN [5,17]                                  |
         |---------------------------------------------------------------|
PUBPPN   | User-maintained SYS [1,6]                                     |
         |---------------------------------------------------------------|
TEDPPN   | Text editor library PPN  [5,10]                               |
         |---------------------------------------------------------------|
RELPPN   | REL file library PPN [5,11]                                   |
         |---------------------------------------------------------------|
RNOPPN   | RUNOFF library PPN [5,11]                                     |
         |---------------------------------------------------------------|
SNOPPN   | SNOBOL library PPN [5,13]                                     |
         |---------------------------------------------------------------|
DOCPPN   | DOC file library PPN [5,14]                                   |
         |---------------------------------------------------------------|
FAIPPN   | FAIL library PPN [5,15]                                       |
         |---------------------------------------------------------------|
MUSPPN   | Music library PPN [5,16]                                      |
         |---------------------------------------------------------------|
DECPPN   | Library for DEC-distributed software PPN (DEC) [10,7]         |
         |---------------------------------------------------------------|
.end literal
.pg
.literal
         |---------------------------------------------------------------|
TABSWP   | Pointer to active swap list                                   |
         |---------------------------------------------------------------|
BASPPN   | BASIC library PPN [5,1]                                       |
         |---------------------------------------------------------------|
COBPPN   | COBOL library PPN [5,2]                                       |
         |---------------------------------------------------------------|
MXIPPN   | PDP-11 library PPN [5,3]                                      |
         |---------------------------------------------------------------|
NELPPN   | NELIAC library PPN [5,20]                                     |
         |---------------------------------------------------------------|
DMPPPN   | Dump library PPN [5,21]                                       |
         |---------------------------------------------------------------|
POPPPN   | POP2 library PPN [5,22]                                       |
         |---------------------------------------------------------------|
TSTPPN   | Test library PPN [5,23]                                       |
         |---------------------------------------------------------------|
ALLOVR   | If non-zero, log soft errors if recover from overrun on 1 try |
         |---------------------------------------------------------------|
MASERR   | DAEMON's pointers to massbuss error locations                 |
         |---------------------------------------------------------------|
BATCHN   | DAEMON's pointers to BAT block and channel error info         |
         |---------------------------------------------------------------|
DBSPPN   | DBMS library PPN [5,24]                                       |
         |---------------------------------------------------------------|
EXPCHN   | Offset of the expected channel terminal word in CHN           |
         |---------------------------------------------------------------|
MICPPN   | MIC library PPN [5,25]                                        |
         |---------------------------------------------------------------|
TPSPPN   | Text processing system library PPN [5,26]                     |
         |---------------------------------------------------------------|
CTLPPN   | CTL file library PPN [5,27]                                   |
         |---------------------------------------------------------------|
GAMPPN   | Game library PPN [5,30]                                       |
         |---------------------------------------------------------------|
ACTPPN   | System accounting library PPN [1,7]                           |
         |---------------------------------------------------------------|
APLPPN   | APL library PPN [5,31]                                        |
         |---------------------------------------------------------------|
RIBECT   | RIB error threshold                                           |
         |---------------------------------------------------------------|
RIBTOT   | Total RIB errors                                              |
         |---------------------------------------------------------------|
SYSDOR   | Dormant access table pointer                                  |
         |---------------------------------------------------------------|
SYSCOR   | Free core pointer                                             |
         |---------------------------------------------------------------|
INTFNC   | Number of times front end (RSX20F) had disk                   |
         |---------------------------------------------------------------|
D60PPN   | DAS60 log file area [5,32]                                    |
         |---------------------------------------------------------------|
ERTLOC   | Starting location of the queue table for DAEMON error reports |
         |---------------------------------------------------------------|
.end literal
.page
.literal
         |---------------------------------------------------------------|
ERTPT1   | Starting pointer for DAEMON error extract                     |
         |---------------------------------------------------------------|
ERTPT2   | Starting pointer for DAEMON error insert                      |
         |---------------------------------------------------------------|
ERTLTH   | Length of DAEMON error table                                  |
         |---------------------------------------------------------------|
ERTCDA   | Offset of UNICDA in UDB                                       |
         |---------------------------------------------------------------|
ERTDES   | Offset of UNIDES in UDB                                       |
         |---------------------------------------------------------------|
SYSPTR   | Pointer to in-core copies of retrieval ptrs                   |
         |---------------------------------------------------------------|
MAXSSL   | Max. # in system search list  | MAX # in job search list      |
         |---------------------------------------------------------------|
ERTSLB   | Offset of UINSLB into UDBs                                    |
         |---------------------------------------------------------------|
UTPPPN   | UETP area                                                     |
         |---------------------------------------------------------------|
INIPPN   | Initialization area [5,34]                                    |
         |---------------------------------------------------------------|
ERPSIZ   | Length of entry in Daemon error report table                  |
         |---------------------------------------------------------------|
SYSKON   | Core addr of first KDB     |   Offset in KDB of next KDB      |
         |---------------------------------------------------------------|
NUMLBF   |           Default number of large disk buffers                |
         |---------------------------------------------------------------|
         |             Offset into DEVUNI for SYSTAT                     |
         |---------------------------------------------------------------|
%LDCSZ   |             Size of disk cache, in blocks                     |
         |---------------------------------------------------------------|
%LDRDC   |                Monitor cache read calls                       |
         |---------------------------------------------------------------|
%LDRDH   |                Monitor cache read hits                        |
         |---------------------------------------------------------------|
%LDWRC   |                Monitor cache write calls                      |
         |---------------------------------------------------------------|
%LDWRH   |                Monitor cache write hits                       |
         |---------------------------------------------------------------|
%LDHSF   |                     CSHFND calls                              |
         |---------------------------------------------------------------|
%LDHSC   |            CSHFND collisions in hash table                    |
         |---------------------------------------------------------------|
%LDHSL   |                Length of cache hash table                     |
         |---------------------------------------------------------------|
%LDHST   |                 Addr of cache hash table                      |
         |---------------------------------------------------------------|
%LDCHD   |                 Addr of cache list header                     |
         |---------------------------------------------------------------|
         /                Offsets into cache list header                 /
         /                       .   .   .                               /
         |---------------------------------------------------------------|
UPSPPN   |               Area for mailers (UPS) [5,35]                   |
         +---------------------------------------------------------------+
.el
.f.b
Note:
.b
If the right half of SYSPPB = 0, the core grabber starts over at the
beginning of the PPB list.
.lm0
.pg
Name:          Magtape Controller Data Block
.b;.fill;.lm15;.i-15
Description:	Controller-dependent information. One KDB for each tape
controller on a system.  Tags for magtape KDB's are MTxKDB, where x is
the controller number.  Tags for the CONSO instructions are MTxINT.
.b
See also:  Magtape Device Data Block, Magtape Unit Data Block
.b.i-15
Defined in:	COMDEV
.b.i-15
Used by:	TAPUUO, TM1KON, TMXKON       
.b.lm0
Format:
.b;.lit
        +---------------------------------------------------+
TKBCSO  |                   CONSO MTxS,0                    |
        |---------------------------------------------------|
        |                      JRST .-1                     |
        |---------------------------------------------------|
        |                    JSR MT'x'SAV                   |
        |---------------------------------------------------|
        |                    JSP W,TAPINT                   |
        |---------------------------------------------------|
TKBNAM  |              SIXBIT Controller Name               |
        |---------------------------------------------------|
TKBCNT  |     Number of records done on this operation      |
        |---------------------------------------------------|
TKBKDB  |       Link to next magtape KDB, 0 if none         |
        |---------------------------------------------------|
TKBIUN  |            Initial Unit AOBJN Pointer             |
        |---------------------------------------------------|
TKBCUN  |            Current Unit AOBJN Pointer             |
        |---------------------------------------------------|
TKBDSP  |               Controller dispatch                 |
        |---------------------------------------------------|
TKBSTS  | Controller status     | Consecutive ops remaining |
        |---------------------------------------------------|
TKBICP  |              Pointer to ICPC/CHL info             |
        |---------------------------------------------------|
TKBTIM  |            Timer for spacing operations           |
        |---------------------------------------------------|
TKBCDB  |           Pointer to channel (0 if TM11A)         |
        |---------------------------------------------------|
TKBJOB  |           Job # of maintenance mode owner         |
        |---------------------------------------------------|
TKBCCL  |                Channel command list               |
        |                   (5 words long)                  |
        |---------------------------------------------------|
TKBERB  |               IORB for error recovery             |
        |                   (4 words long)                  |
        |---------------------------------------------------|
.end literal
.pg
.literal
        |---------------------------------------------------|
TKBFCT  |  Fairness count for queued I/O                    |
        |---------------------------------------------------|
TT2CO1  | CONO MTxS,(T1)     (TM02 only)                    |
        |---------------------------------------------------|
TT2CI2  | CONI MTxS,T2       (TM02 only)                    |
        |---------------------------------------------------|
TT2CO3  | CONO MTxS,(T3)     (TM02 only)                    |
        |---------------------------------------------------|
TT2DI2  | DATAI MTxS,T2      (TM02 only)                    |
        |---------------------------------------------------|
TT2DO2  | DATAO MTxS,T2      (TM02 only)                    |
        |---------------------------------------------------|
TKBUDB  |        Pointers to units on this Controller       |
        |          (8 words long, found by TKBIUN)          |
        +---------------------------------------------------+
.el.b
Dispatch offsets for TKBDSP:
.b;.nf
Value     Symbol        Meaning
.b
0         TPKINI        Initialization code
1         TPKRES        Reset active transfer
2         TPKSIO        Start I/O
3         TPKINT        Interrupt routine
4         TPKCMD        Set device command in list (DX10 only)
5         TPKIDL        Set device idle
6         TPKONL        Skip if controller online
7         TPKSCH        Cause schedule cycle
.b
TKBSTS Bits:
.br
(These bits are also defined for TUBSTS in the UDB)
.b
Bit       Symbol        Meaning
.b
12        TKSMNT        Controller is in maintenance mode
13        TKSSIL        Request silence about offline condition
14        TKSSCH        Requested scheduled interrupt
15        TKSSTD        Started
16        TKSSEL        Selected
17        TKSOFL        Offline
.pg.lm0
Name:  Magtape Unit Data Block
.b;.ts15.lm15;.i-15
Description:	Tape unit dependent information.  One UDB for each tape
unit on each controller on a system.  UDBs can be found by tracing them
through the pointers in their KDB's (TKBUDB pointed to by TKBIUN) or by
tags formed by concatenating "..U" with controller number and unit number,
for example, ..U12 for the third unit on the second controller (MTB2).
.b
See also:  Magtape Device Data Block, Magtape Kontroller Data Block
.b.i-15
Defined in:	COMDEV
.b.i-15
Used by:	COMMON, TAPUUO
.b.lm0
Format:
.b;.lit
        +---------------------------------------------------+
TUBNAM  |                  SIXBIT Unit Name                 |
        |---------------------------------------------------|
TUBKDB  |                         |  Pointer to controller  |
        |---------------------------------------------------|
TUBADR  |                         | Unit addr on controller |
        |---------------------------------------------------|
TUBAKA  |  Current unit address   |   Current controller    |
        |---------------------------------------------------|
TUBDDB  |                Pointer to DDBs                    |
        |---------------------------------------------------|
TUBCUR  |             Pointer to current DDB                |
        |---------------------------------------------------|
TUBSTS* |       Unit status       |   Configuration info    | TUBCNF
        |---------------------------------------------------|
TUBQUE  |             Queue pointer for IORBs               |
        |---------------------------------------------------|
TUBERR  |                Error recovery info                |
        |---------------------------------------------------|
TUBRID  |                      Reelid                       |
        |---------------------------------------------------|
TUBFIL  |               # of files from BOT                 |
        |---------------------------------------------------|
TUBREC  |              # of records from EOF                |
        |---------------------------------------------------|
TUBCRD  |         # of characters read since unload         |
        |---------------------------------------------------|
TUBCWR  |       # of characters written since unload        |
        |---------------------------------------------------|
TUBSRE  |              # of soft read errors                |
        |---------------------------------------------------|
TUBHRE  |              # of hard read errors                |
        |---------------------------------------------------|
.end literal
.pg
.literal
        |---------------------------------------------------|
TUBSWE  |              # of soft write errors               |
        |---------------------------------------------------|
TUBHWE  |              # of hard write errors               |
        |---------------------------------------------------|
TUBTME  |          Total media errors since unload          |
        |---------------------------------------------------|
TUBTDE  |          Total device errors since reload         |
        |---------------------------------------------------|
TUBTUN  |                  Total unloads                    |
        |---------------------------------------------------|
TUBTRY  |              Retries to resolve error             |
        |---------------------------------------------------|
TUBCCR  |           Character count on last record          |
        |---------------------------------------------------|
        |           File           |         Record         |
TUBPBE  |               position before error               |
        |---------------------------------------------------|
TUBFES  |               Final error state word              |
        |---------------------------------------------------|
TUBCHR  |             Statistics for MTCHR. UUO             |
        |---------------------------------------------------|
TUBDDA  |               Shadow area for DAEMON              |
        |                12 (octal) words                   | TUBDDE
        |---------------------------------------------------|
TUBPGM  |   Program name on error                           |
        |---------------------------------------------------|
TUBUID  |   PPN using drive on error                        |
        |---------------------------------------------------|
TUBCNI  |            Error status for next record           | FTRDBA
        |---------------------------------------------------|
TUBMSG  | Label message length | Label message function code| FTTLAB
        |---------------------------------------------------|
TUBPHY  |             Physical name for label PCS           | FTTLAB
        |---------------------------------------------------|
TUBLBL  |                 Label status word                 | FTTLAB
        |---------------------------------------------------|
TUBRFM  |         Record format (for labels only)           | FTTLAB
        |---------------------------------------------------|
TUBRCC  |          Record size (for labels only)            | FTTLAB
        |---------------------------------------------------|
TUBBKL  |           Block size (for lables only)            | FTTLAB
        |---------------------------------------------------|
TUBEXP  |        Expiration date (for labels only)          | FTTLAB
        |---------------------------------------------------|
TUBPRT  |           Protection (for labels only)            | FTTLAB
        +---------------------------------------------------+
.el
.pg
TUBSTS Bits:
.b
Bit       Symbol        Meaning
.b;.nf
0         TUSNS         Do not schedule this unit (sign bit)
1         TUSBOT        Beginning of tape
2         TUSWTL        Write locked
3         TUSREW        Tape rewinding
12        TKSMNT        Controller is in maint mode 
                        (also in TKBSTS)
13        TKSSIL        Req. silence about offline cond.
                        (also in TKBSTS)
14        TKSSCH        Requested scheduled interrupt
                        (also in TKBSTS)
15        TKSSTD        Started (also in TKBSTS)
16        TKSSEL        Selected (also in TKBSTS)
17        TKSOFL        Offline (also in TKBSTS)
.b2
TUBCNF Bits:
.b
Bit       Symbol        Meaning
.b
18        TUC7TK        Seven track
19        TUCIRD        Interrupts when rewind done
20        TUCDMS        Diagnostic mode set
21        TUCSNS        Force sense
23        TUCD62        Drive can do 6250 BPI
24        TUCD16        Drive can do 1600 BPI
25        TUCD80        Drive can do 800 BPI
26        TUCD55        Drive can do 556 BPI
27        TUCD20        Drive can do 200 BPI
.pg
Name:  MEMTAB -- Virtual Memory Page Table
.b.lm15.ts15.i-15
Description:	Contains one word per page of core.  It is unsed during
swap/page requests in conjunction with the UPT to keep track of where pages
end up on the swapping area, and which page to transmit next.
.b
Under KL-paging, MEMTAB is in Section 3.
.b.i-15
Defined in:	S.MAC
.b.i-15
Used by:	VMSER
.b.lm0
Format:
.b.nf
 0      5        17     21                             35
+-------------------------------------------------------+
| |    |Nxt vir pg |   |          Disk address          |
|-------------------------------------------------------|
| |    |           |   |        (Unit _#  -  pg _# )    |
|-------------------------------------------------------|
| |    |           |   |                                |
| |    |           |   |                                |
| |    |           |   |                                |
+-------------------------------------------------------+
.b
Notes:
.b
Bit 0 is on for the last page in a fragment
.b
Bits 5-17 - next virtual page in this fragment
.b
Bits 21-23 - unit number in active swapping list
.b
Bits 24-35 - Page number on unit.
.pg
Name:  MFD -- Master File Directory
.b.lm15.ts15.i-15
Description:	Disk file which tells location of each UFD (User File
Directory) in a file structure.  There is one MFD included in each file
structure.
.b
There is one entry in the MFD for each UFD that has files in the structure.
.b
Position of an entry is of no significance.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILFND, FILIO, FILUUO
.b.lm0
Format:
.lm7.b.nf
+-------------------------------------+
|          Entry for user A           |
|-------------------------------------|
|          Entry for user B           |
|-------------------------------------|
|                  .                  |
|                  .                  |
|                  .                  |
|-------------------------------------|
|          Entry for user Z           |
+-------------------------------------+
.b
Format of each entry
.b
+-------------------------------------+
|    Project #     |   Programmer #   |
|-------------------------------------|
|   SIXBIT/UFD/    |       CFP        |
+-------------------------------------+
.b.lm0
Notes:
.f.ls.le ;The MFD is actually the UFD for [1,1].  PPN [1,1] is used only
for this purpose. 
.le ;The CFP (Compressed File Pointer) specifies the relative
supercluster within the structure where the RIB of the corresponding file
can be found.
.le ;The first entry in the MFD is a pointer to itself 
(to [1,1].UFD).
.els
.page
.literal
        Relative      Number of       Relative       Number
CFP=    Unit #     x  Superclusters + Block #   .    Blocks
        within        per             within    -    per
        STR           Unit            that unit .    Supercluster
.end literal
.b
The number of clusters in a "supercluster" is determined by:
.b2
.no fill
	number-clusters-in-structure
	-----------------------------
	          2(18)
.b2 .f
rounded up by 1.  Hence, every structure will have fewer than 2**18
superclusters, and the CFP will fit in 18 bits.  The concept of a
supercluster is used only in connection with Compressed File Pointers.
.pg.lm0
Name:  NMB -- File Name Block
.fill.b.lm15.ts15.i-15
Description:	Used to remember file name in a project programmer number
across all file structures.  There is one NMB for each open file of each
PPN regardless of how many versions of the files are in existence.  This
table is linked into the list for each PPN.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILIO, FILFND, FILUUO
.b.lm0
Format:
.b;.lit
          +------------------------------------------------+
NMBNAM    |File name in SIXBIT                             |
          |------------------------------------------------|
NMBPPB    |Next NMB         |X|X|                          |
          |------------------------------------------------|
NMBRNG    | Ptr to SFD NMB lst  |  Compressed File Pointer | NMBCFP
          |------------------------------------------------|
NMBACC    |First ACC block      | File ext in SIXBIT       | NMBEXT
          |------------------------------------------------|
NMBFSN    |FSN  |                                          |
          |------------------------------------------------|
NMBKNO    |Know bits for this file                         |
          |------------------------------------------------|
NMBYES    |Yes bits for this file                          |
          |------------------------------------------------|
NMBCNT    |  Use Count                                     |
          +------------------------------------------------+
.el
.lm0.b
Notes:
.b.ls.le;If a file is being superseded, there are Access Blocks
corresponding to each existing version of the file, but only one NMB.
.le;The compressed file pointer in NMBEXT is copied from
the second word of the UFD entry for this file.  Its value is the logical
super-cluster number within the structure of the file's RIB (see UFD).
.le;If this NMB is for an SFD  (NMPSFD  (bit 34)  set in
NMBSFD), NMBRNG is a pointer to a NMB list of files under the SFD and the
extension is assumed to be 'SFD'.
.le;NMBKNO - Bit 36-n set if we know whether or not file 
exists in structure n (can be either way, and NMBYES tells which is true).
.le;NMBYES - Bits 36-n set if file definitely exists in
structure n.
.le;Access tables are linked into a ring for each file,
starting and ending at NMBACC.  All addresses that point to ACC blocks are
even multiples of 4; the link back to NMBACC is not.  If there are no ACC
blocks in the ring at some time, the left half of NMBACC does not contain
zero, but rather its own address.
.le;NMBFSN holds the file structure number in bits 0-5.
.els.pg
.LM0
NMBPPB    Byte Definitions.
.b.nf
+-------------------------------------------------------+
|                        | | |                          |
+-------------------------------------------------------+
0                       15   17                        35
.b2
Word             Bit
Label     Bits   Label      Content
.b
NMBPPB    0-15              Address of next NMB for this
                            directory (low order 2 bits=0)
.b
            16   NMPUPT     If this bit is on, NMBPPB is
                            the location of the father SFD
                            for this list of NMB's  (only
                            set in the last NMB in the
                            list)
.b
            17   NMPSFU     Bit on in AC, never in core. 
                            if the location returned (by
                            UFORSF) is an SFD ACC.  Off if
                            the location is a UFB.
.B2
NMBACC   Byte Definitions
.b
+-------------------------------------------------------+
|                          |                            |
+-------------------------------------------------------+
0                         17                          35
.b
Word              Bit
Label     Bits    Label     Contents
.b;.lit
NMBACC    0-17              First ACC in access ring with this
                            filename/PPN.  If ring is empty,
                            the bit is not 0, instead it
                            points to itself.  In this way no
                            special checking is needed to add
                            or delete access blocks from ring.

NMBEXT    18-35             Holds the left-justified SIXBIT
                            file extension

.el
.pg
Name:  NUMTAB -- Table of GETTAB Tables
.f.b.lm15.i-15
Description:	Contains monitor table address and bits that
indicate whether there may be segment data or process data.
.b
This is the table that is referenced by the
GETTAB UUO to pass back the information requested.
.b.i-15
Defined in:	UUOCON
.b.i-15
Used by:	COMMON, UUOCON
.b.lm0
GETTAB Table No.: .GTSLF (23)
.b
Format:
.lm7.b.lit
      Bits*        GETTAB Table Address
+-------------------------------------+
|                  |      JBTSTS      |
|-------------------------------------|
|                  |      JBTADR      |
|-------------------------------------|
|                  |      JBTPPN      |
|-------------------------------------|
|        "         |        "         |
+-------------------------------------+
.el
.lm0.b2
Notes:
.ls.le;ABSTAB (loc 410) in COMMON contains absolute 
address of NUMTAB
.le;Bits 0-8 hold the maximum size of the table
if it is a regular table
.le;Bits 9-11 are interpreted as follows:
.b.lm15.nf
0 - undefined in this monitor
1 - index by item type
2 - index by job number
3 - index by job or segment
4 - index by job data in PDB
5 - index by negative and positive offsets
.els.f.pg.lm0
Name:  PAGTAB -- Page Table
.B;.fill;.lm15;.i-15
Description:	This table is used to keep track of user core.  It contains
one word for each page of physical core.  PAGPTR, defined in COMMON,
contains the starting address for the linked list of free pages.  In
addition, each segment in core has its own linked list of pages and is
addressed through the EPT at location 412.
.b
Under KL-paging, PAGTAB is in Section 3.
.b.i-15
Defined in:	S.MAC
.b.i-15
Used by:	KILOCK, KISER, KLSER, SYSINI, VMSER
.b.lm0
Format:
.b;.lit
Physical
 Page   0 1 2 3 4 5 6 7            17 18                       35
        +-------------------------------------------------------+
   0    |Pg bits       |            |Ptr to next phys pg of list|
        |-------------------------------------------------------|
   1    |                                                       |
        |-------------------------------------------------------|
   2    |                                                       |
        |-------------------------------------------------------|
        |                           .                           |
        |                           .                           |
        +-------------------------------------------------------+
.el.b
Bit definitions:
.b;.nf
Bits   Label       Meaning
.B 
0      FREPAG      On if page is not in some job's 
                   addressing space.
.br
1      LOKPAB      On if this page is contained in a
                   segment that is locked in physically
                   contiguous memory
.br
2      LOKEVB      On if this page is contained in
                   segment that is locked virtually
                   contiguous in the exec addressing 
                   space
.br
3      LOKIPB      On if this page is contained in a 
                   segment that is locked in place
.br
4      NXMBIT      On if this page is below MEMSIZ
                   but is non-existent.
.br
5      MONTRB      On if this page is contained in the 
                   monitor
.br
6      IPCBIT      On if this page is owned by IPCF
.br
7      TNCSHB      On if this page is temporarily uncached
.pg
.lm0
Name:  PDB -- Process Data Block
.B.f.lm15.ts15.i-15
Description:	One PDB for each active job.  Setup by CREPDB 
routine in DATMAN when the job is initialized.
.b.i-15
Defined in:	DATMAN (modify and find routines)
.br
COMMON (prototype)
.b.i-15
Used by:	CLOCK1, COMCON, COMMOD, COMMON, CORE1, FILFND, IPCSER,
KISER, KLSER, NETSER, QUESER, SCHED1, SEGCON, UUOCON, VMSER
.lm0.b;.lit
Format:                                                        Conditional
                                                                 Assembly
           +-----------------------------------------------+
.PDIPT     |* |ICPT (MCU)         |Quantum run time        |.PDQNT
           |-----------------------------------------------|
.PDCNO     |User's charge number                           |      FTCNO
           |-----------------------------------------------|
.PDKCT     |Kilo-core ticks for the job                    |      FTKCT
           |-----------------------------------------------|
.PDNM1     |First half of user's name in SIXBIT            |      FTUNAME
           |-----------------------------------------------|
.PDNM2     |Second half of user's name in SIXBIT           |      FTUNAME
           |-----------------------------------------------|
.PDRTM     |Job's incremental runtime                      |      FTTIME
           |-----------------------------------------------|
.PDTTM     |Job's total runtime                            |      FTTIME
           |-----------------------------------------------|
.PDTT2     |Additional runtime in fractional jiffies       |      FTTIME
           |-----------------------------------------------|
.PDEBT     |Total EBOX time in jiffies                     |  FTKL10,FTTIME
           |-----------------------------------------------|
.PDEB2     |Remainder in EBOX counts                       |  FTKL10,FTTIME
           |-----------------------------------------------|
.PDMBT     |Total MBOX time in jiffies                     |  FTKL10,FTTIME
           |-----------------------------------------------|
.PDMB2     |Remainder in MBOX counts                       |  FTKL10,FTTIME
           |-----------------------------------------------|
.PDPGM     |Program to run on Control-C or RUN             |      FTSET
           |-----------------------------------------------|
.PDABS     |Addr. break settings  | Break address          |        
           |-----------------------------------------------|
.PDCVL     |      CVPL            | CPPL                   |        
           |-----------------------------------------------|
.PDMVL     |      MVPL            | MPPL                   |
           |-----------------------------------------------|
.end literal
.pg
.literal
           |-----------------------------------------------|
.PDDVL     |Pointer to table of DDBs with log. names       |      FTHSLN
           |-----------------------------------------------|
.PDIPC     |First packet          | Send/receive ctrs      |      FTIPCF
           |-----------------------------------------------|
.PDIPA     |IPCF statistics                                |      FTIPCF
           |-----------------------------------------------|
.PDIPQ     |Flags and quotas                               |      FTIPCF
           |-----------------------------------------------|
.PDIPI     |PID of this job's [SYSTEM]INFO                 |      FTIPCF
           |-----------------------------------------------|
.PDIPN     | Last entry in IPCFQ  |                        |      FTIPCF
           |-----------------------------------------------|
.PDEQJ     |             0        |Pointer to job queue    |      FTEQDQ
           |-----------------------------------------------|
.PDEQQ     |Flags                 |ENQ quota               |      FTEQDQ
           |-----------------------------------------------|
.PDJSL     |Job search list                                |      FTSTR
           |-----------------------------------------------|
.PDNET     |DDB with active CON/DIS|Addr of saved context  |.PDSCX
           |-----------------------------------------------|
.PDSCX     |        Job's saved context word               |
           |-----------------------------------------------|
.PDEPA     |                      | Addr of exec IPCF pack |      FTIPCF
           |-----------------------------------------------|
.PDDIA     | Location of DIAG. DDB for job                 |      FTDHIA
           |-----------------------------------------------|
.PDSTR     |  Structure the program came from              |
           |-----------------------------------------------|
.PDNAM     |  Name of the program                          |
           |-----------------------------------------------|
.PDDIR     |  Directory the program came from              |
           |-----------------------------------------------|
.PDSPD     |  Path to program                              |
           |-----------------------------------------------|
.PDDFL     |  Word containing user-defined defaults        |      FTSET
           |-----------------------------------------------|
.PDCAP     |  Maximum privileges allowed                   |      FTPRV
           |-----------------------------------------------|
.PDACS     |  Account string                               |      FTACCT
           |  Eight words                                  |
           |-----------------------------------------------|
.PDVKC     |  Virtual time-core interval                   |  FTKCT,FTACCT
           |-----------------------------------------------|
.PDUUC     |  Count of UUOs done by this job               |      FTACCT
           |-----------------------------------------------|
.PDHZF     |  HPQ fit flag                                 |      FTHPQ
           |-----------------------------------------------|
.end literal
.page
.literal
           |-----------------------------------------------|
.PDPST     |  Negative of swapout time                     |      FTPSCD
           |-----------------------------------------------|
.PDOBI     |  Operator/batch information                   |      
           |-----------------------------------------------|
.PDSTM     |  Time of last reset                           |
           |-----------------------------------------------|
.PDLBS     |  Default size of large disk buffer            |
           |  LH is set by UUO, RH is set by command       |
           |-----------------------------------------------|
.PDSAC     |  Address of alternate context block           |
           |-----------------------------------------------|
.PDQSN     |  Monitor IPCF sequence numbers                |
           |  LH is set by FILDAE, RH is set by QUEUE. UUO |
           |-----------------------------------------------|
.PDOSL     |  Old-style LIB PPN                            |
           |-----------------------------------------------|
.PDCMN     |  AOBJN pointer to user-defined command list   |
           |-----------------------------------------------|
.PDUNQ     |  User-defined command pointers                |
           |  LH is user UNQTAB                            |
           |  RH is address of user command block          |
           +-----------------------------------------------+
.el
.b
Notes:
.f.ls.le;Bit 0 of .PDIPT is the PDMSWP bit that is set to indicate
the expiration of the MCU (minimal care utilization).
.le;_.PDABS - Address Break Settings:
.b.nf
1B0   OC.BCI   Break on instruction fetch
1B1   OC.BCD   Break on data fetch
1B2   OC.BCW   Break on write
1B3   OC.BCM   Break on MUUO reference to 
               address (software)
1B4   OC.ABE   Address break enabled
1B5   OC.FEP   Follow exec paging
1B6   OC.FUP   Follow user paging
1B7   OC.BSU   Break address and conditions  
               set by UUO.
.f
.le;_.PDCVL - Bit 18 is set if the CPPL is a limit rather than
a guideline.
.le;_.PDDVL - Pointer to table of pointers to DDBs owned
by this job and having logical names, or zero if no such
DDBs, or -1 if too many to fit in the table (4 words =
8 DDBs).
.nf.pg
.le;_.PDIPC - LH 0-17    Pointer to first packet
         RH 18-26   Packets sent and not received
         RH 27-35   Packets waiting to be received
.le;_.PDIPA - LH    Count of sends since LOGIN
         RH    Count of receives since LOGIN
.le;_.PDIPQ  1BO IP.DBS  Receiver is disabled
        1B1 IP.HBS  Quotas have been set
        1B2 IP.DPR  At least 1 PID dropped on RESET
        1B3 IP.DPL  At least 1 PID dropped on LOGOUT
        1B4 IP.LOK  Interlock bit for this job's IPCF
                    receive queue
     777B17 IP.JOB  Job whose IPCF queue has been locked
      18-26         Send quota
      27-35         Receive quota
.le;_.PDEQQ  1B0 EQ.HBS  The quota has been set
.f
.le;_.PDJSL - The number of words in the PDB is a function of the
maximum number of file structures in a search list (.SLMXJ= ^D10).
For each file structure there will be a 9-bit byte plus an
additional two bytes for the fence and stop markers.  For file
structure bytes, the following definitions exist:
.nf.b
Value  Symbol  Use
.b
400            Spare bit
200    FS.NCR  No-create
100    FS.WLK  Software write-lock
 77            File structure number
.b;.f
System search list is maintained in COMMOD starting at location
SYSSL and also consists of 9 bit bytes.
.b
The fence marker will have a value 1 greater than the maximum
file structure number.  The stop marker will have a value 1 greater
than the fence marker.
.pg.LE;_.PDDFL contains the following fields:
.b;.no fill
Bits      Description
.b
0-8       Default file protection
 9        Non-zero if default protection was specified
10        Non-zero if file daemon specified protection
11        Use default file specification on RUN and GET
12        Don't ask about detached jobs on LOGIN
18-26     File protection from FILDAE
27-35     Default number of disk buffers
.le;Bits for .PDOBI are:
.b
Bits    Description
.b
0-1     Write to operator values
2-4     Operator privilege type
10      Batch stream number set
12-17   Batch stream number
.fill
.le;For the values for .PDCAP, see JBTPRV.
.els
.pg
Name:  PPB -- Project Programmer Number Data Block
.b
.lm15.i-15
Description:	Contains information pertaining to all files belonging to
one PPN.  There is one PPB for each PPN with any active files; it is linked
into a list for the system, starting at SYSPPB, and is also available through
JBTPPB.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILFND, FILUUO
.b.lm0
Format:
.b.nf
         +------------------------------------------+
PPBNAM   | Project Number     |  Programmer number  |
         |------------------------------------------|
PPBSYS   | Next PPB in system |                     |
         |------------------------------------------|
PPBUFB   | First UFB          |                     |
         |------------------------------------------|
PPBNMB   | First NMB          |                     | PPBNLG
         |------------------------------------------|
PPBCNT   |        Use count for the PPB             |
         |------------------------------------------|
PPBKNO   | KNO bits for UFD                         |
         |------------------------------------------|
PPBYES   | YES bits for UFD                         |
         |------------------------------------------|
PPBLOK   | Bits  n+1=1 if UFD for FSN is interlocked|
         +------------------------------------------+
Notes:
.f;.ls;.le;Bit 35 PPBNMB is the PPPNLG bit; PPN is
not logged in.  This bit, when set, indicates the PPN
is logged in.  Used to flush PPB immediately when last file
becomes dormant in PPB.
.le;PPBKNO - Bit 36-n set if monitor knows whether or not UFD for this
PPN exists in structure n.
.le;PPBYES - Bit 36-n is set if the UFD for this PPN definitely exists in
structure n.
.els
.pg
Name: PTYTAB -- Pseudo-Terminal DDB Table
.b.f.lm15.ts15.i-15
Description:	Table of pseudo-terminal (PTY) DDBs. There is one entry for
each PTY in the system.  (See TTYTAB also.)
.b.i-15
Defined in:	COMMON
.B.i-15
Used by:	PTYSER, SCNSER, SYSINI
.B.lm0
Format:
.b.nf
        +-------------------------------------+
PTYTAB: |                  |   DDB address    | PTY0
        |-------------------------------------|
        |                  |      "    "      | PTY1
        |-------------------------------------|
        |                  |      "    "      | PTY2
        |-------------------------------------|
        /               .  .  .               /
        |-------------------------------------|
        |                  |   DDB address    | PTYn
        +-------------------------------------+
.pg.fill.lm0
Name:  QBITS -- Wait State Code Requeue Table
.f.B2;.LM15;.F;.I-15
Description:	Specifies a requeue dispatch address and a transfer table
address for requeueing a job as a function of its wait state code.  There
is one entry for each wait state code, and the value of the wait state code
is the index factor of the table.
.b.i-15
Defined in:	SCHED1
.b.i-15
Used by:	SCHED1
.b.lm0.nf
Format:
.b.lm7
Wait     Dispatch      Transfer Table
State    Address          Address
     +---------------------------------+
 0   |   QRNT        |   QRNW          |
     |---------------------------------|
 1   |   QWST        |   QWSW  (-1)    |
     |---------------------------------|
 2   |   QTST        |   QTSW          |
     |---------------------------------|
 3   |   QDST        |   QDSW  (-1)    |
     |---------------------------------|
 4   |   QPST        |   QPSW  (-1)    |
     |---------------------------------|
 5   |   QAUT        |   QAUW  (-1)    |
     |---------------------------------|
 6   |   QDAT        |   QDAW  (-1)    |
     |---------------------------------|
 7   |   QCBT        |   QCBW  (-1)    |
     |---------------------------------|
10   |   QD1T        |   QD1W  (-1)    |
     |---------------------------------|
11   |   QD2T        |   QD2W  (-1)    |
     |---------------------------------|
12   |   QDCT        |   QDCW  (-1)    |
     |---------------------------------|
13   |   QCAT        |   QCAW  (-1)    |
     |---------------------------------|
14   |   QMMT        |   QMMW          |
     |---------------------------------|
15   |   QEVT        |   QEVW          |
     |---------------------------------|
.page
     |---------------------------------|
16   |   QEQT        |   QEQW          |
     |---------------------------------|
17   |   QIOWT       |   QIOWW (-1)    |
     |---------------------------------|
20   |   QTIOWT      |   QTIOWW        |
     |---------------------------------|
21   |   QDIOWT      |   QDIOWW  (-1)  |
     |---------------------------------|
22   |   QPIOWT      |   QPIOWW (-1)   |
     |---------------------------------|
23   |   QSLPT       |   QSLPW         |
     |---------------------------------|
24   |   QEWT        |   QEWW          |
     |---------------------------------|
25   |   QNAPT       |   QNAPW  (-1)   |
     |---------------------------------|
26   |   QNULT       |   QNULW         |
     |---------------------------------|
27   |   QJDCT       |   QJDCW         |
     |---------------------------------|
30   |   QSTOPT      |   QSTOPW        |
     |---------------------------------+
.B2.lm0
Notes:
.b;.fill
A transfer table address of -1 implies that the code at the dispatch
address will only modify the wait state code, and no physical queue
transfer will take place (that is, a short term state change).
.b.pg.lm0
Name:  Queue Transfer Table
.b.f;.lm15;.i-15
Description:	Contains input parameters for Queue Transfer routine.
There is one such table for each different type of queue transfer.
.b.i-15
Defined in:	SCHED1
.nf.b.lm0
Format:
.b.lm7
+-------------------------------------+
|      Place       |     Function     |
|-------------------------------------|
|      Quant       |       Dest       |
+-------------------------------------+
.b2.f.lm0
Notes:
.b.lm15.i-15
Place>0	Transfer to beginning of destination queues.
.b.i-15
Place<0	Transfer to end of destination queue.
.b.i-15
Function	is the address of the QXFER routine to be used.
It defines the type of transfer.  There are three possible values:
.b.ls.le;QFIX - Destination queue specified in this table
.le;QLINK - Destination queue is a function of source queue
.le;QJSIZ - Destination queue is a function of job size
.els.b.i-15
Dest	specifies the destination queue.
.b.ls.le;If Function is QFIX, Dest is the destination queue number.
.le;If Function is QLINK, Dest is the address of a Job Size-Queues
Progression Table that specifies destination queue as a function of source
queue.
.le;If Function is QJSIZ, Dest is the address of a Job-Size-Queue Table
which specifies destination queue as a function of job size.
.els
.b.i-15
Quant	specifies the change to the job's quantum run time as follows:
.b
If Quant<0, no change to quantum runtime.
.b
If Quant>0, reset the quantum run time as follows:
.b.ls.le;If Function is QFIX, set quantum run time to the value of Quant.
.le;If Function is QLINK or QJSIZ, Quant is the address of a
Quantum Time Table, which has entries corresponding to the
entries in the table used to determine the destination queue.
The entry in the same position as the selected destination queue
is used to reset the quantum run time.
.els.b
See BQFIX and following in SCHED1.
.lm0
.pg
Name: Queue Table - Job Scanning (ISCAN, OSCAN, SSCAN, SSCAN1)
.b.f;.lm15;.i-15
Description:	Determines manner in which job queues are scanned by
routine QSCAN in SCHED1.  There is one entry for each queue to be
considered, and entries are in the order that the corresponding queues are
to be considered.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1
.b.lm0.nf
Format:
.lm7.b
+-------------------------------------+
|     Queue #      |    Scan code     |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
|        "         |        "         |
|-------------------------------------|
|                  0                  |
+-------------------------------------+
.f;.b.lm0
The Scan Code is the address of a scanning routine in QSCAN.
There are four possible values:
.b.lm10.ts10.i-10
QFOR	Scans whole queue forward, first in-core then out-core
.i-10
QBAK	Scans whole queue backward, first out-core then in-core
.I-10
IQFOR	Scans in-core queue forward
.I-10
IQBAK	Scans in-core queue backward
.I-10
IQFOR1	Scans in-core queue for first member
.I-10
IQBAK1	Scans in-core queue backward (all but first member)
.I-10
OQFOR	Scans out-core queue forward
.I-10
OQBAK	Scans out-core queue backward
.I-10
OQFOR1	Scans out-core queue for first member
.I-10
OQBAK1	Scans out-core queue backward (all but first member)
.I-10
SQFOR	Scans out-core subqueues (PQ2 class swap-in scan)
.I-10
BGFOR	Scans out-core background batch subqueue (PQ2 class swap-in)
.I-10
ISSFOR	Scans in-core subqueues (PQ2 class scheduling scan)
.I-10
IBBFOR	Scans in-core background batch subqueue	(PQ2 class scheduling)
.I-10
OSSFOR	Scans out-core subqueues (PQ2 class lost-time scan)
.I-10
IRRFOR	Scans just swapped in queue, then QP2 in-core queue
.I-10
IGFOR	Scans just swapped in queue and jobs waiting for high segment
.I-10
OLFOR	Scans background batch, B.B. JIL, regular output queue, PQ2 in-core
.lm0.b
Queues are scanned, in specified manner, in the order in which their entries
appear in the table, and a zero entry terminates the table.
See SSCAN, ISCAN, and OSCAN, in COMMON.
.pg.lm0
Name: QQSTAB -- Quantum Time Queue Table
.b.lm15.ts15.i-15
Description:	Specifies value to which a job's quantum run time is reset
on certain types of queue transfers.
.b.i-15
Defined in:	COMMON
.B.i-15
Used by:	SCHED1
.B.lm0.nf
Format:
.b.lm7
+-------------------------------------+
|           Quantum time 1            |
|-------------------------------------|
|           Quantum time 2            |
|-------------------------------------|
|                  -                  |
|-------------------------------------|
|                  -                  |
|-------------------------------------|
|                  -                  |
|-------------------------------------|
|                  0                  |
+-------------------------------------+
.b.lm0.fill
Quantum time is in jiffies (power line frequency).
.b
A 0 entry indicates end of table.
.pg
Name: QTTAB -- Queue Progression Queue Table
.b2;.lm15;.i-15
Description:	Specifies the queue for a job to be put into as a function
of the queue it is in.
.b
A Queue Progression Table is specified in the Transfer Table for link-type
queue transfers.  (Refer to Transfer Table.)
.b2.i-15
Defined in:	COMMON
.B.i-15
Used by:	SCHED1
.b.lm0.nf
Format:
.b.lm7
+-------------------------------------------------------+
|      Source queue 1       |    Destination queue 1    |
|-------------------------------------------------------|
|      Source queue 1       |    Destination queue 2    |
|-------------------------------------------------------|
|             -             |             -             |
|-------------------------------------------------------|
|             -             |             -             |
|-------------------------------------------------------|
|             -             |             -             |
|-------------------------------------------------------|
|             0             |             0             |
+-------------------------------------------------------+
.f;.b.lm0
Each entry is a queue number.
.b
A 0,,0 entry indicates end of table.
.pg
Name:  REQTAB -- Sharable Device Request Table
.b.lm15.i-15
Description:	Tells how many jobs require use of each sharable device.
Each entry is referenced by its own label.
.b
An entry contains -1 if no job wants that resource.  If a job uses 
the device, the entry is incremented to 0.  Each additional job
that asks for the device while it is in use increments the entry
by one, and must be requeued to the corresponding sharable resource
wait queue.
.b.i-15
Defined in:	SCHED1
.b.i-15
Used by:	CLOCK1, SYSINI
.b.lm0.nf
Format:
.b
        +-------------------------------------+
AUREQ   |                                     |
        |-------------------------------------|
DAREQ   |                                     |
        |-------------------------------------|
CBREQ   |                                     |
        |-------------------------------------|
D1REQ   |                                     |
        |-------------------------------------|
D2REQ   |                                     |
        |-------------------------------------|
D3REQ   |                                     |
        |-------------------------------------|
D4REQ   |                                     |
        |-------------------------------------|
D5REQ   |                                     |
        |-------------------------------------|
D6REQ   |                                     |
        |-------------------------------------|
D7REQ   |                                     |
        |-------------------------------------|
D8REQ   |                                     |
        |-------------------------------------|
DCREQ   |                                     |
        |-------------------------------------|
CAREQ   |                                     |
        |-------------------------------------|
MMREQ   |                                     |
        |-------------------------------------|
EVREQ   |                                     |
        |-------------------------------------|
EQREQ   |                                     |
        +-------------------------------------+
.pg
Notes:
.f;.ls;.le;Entries in this table may be tested and incremented
simultaneously, as follows: 
.b;.nf
       AOSE XXREQ
       PUSHJ P,     XXWAIT
         -
         -
         -
.b;.fill
If the resource was available, the routine may continue.  Otherwise, the job
must be requeued to wait for it.
.le;Table AVALTB has entries corresponding to the entries in REQTAB.
.le;The AVALTB entries are built by the conditionally assembled RWAITS MACRO
entries in S.MAC; therefore, some of the above listed entries will not be
present in all systems.
.els
.pg
Name:  RIB -- Retrieval Information Block
.b.lm15.i-15
Description:	Disk block containing descriptive information
about a file.  There is one prime RIB for each file.  If a file
needs more retrieval pointers than can fit in a single RIB, a
second (extended) RIB block is allocated to hold the additional
pointers (and so on).  The last block(s) of a file is (are) a copy
of the prime RIB, called the redundant RIB.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILFND, FILIO, FILUUO, ONCMOD, REFSTR
.b.lm0
Format:
.B;.lit
        +-------------------------------------------------------+
RIBFIR  | -Number of retrieval pointers | First pointer address | 
        |-------------------------------------------------------|
RIBPPN  |           Project #           |     Programmer #      | 
        |-------------------------------------------------------|
RIBNAM  |                File name in SIXBIT                    | 
        |-------------------------------------------------------|
RIBEXT* |        File extension         |         Access date   | 
        |-------------------------------------------------------|
RIBPRV* | Access     |Mode|Creation time|      Creation date    | 
        |-------------------------------------------------------|
RIBSIZ  |                 File length in words                  | 
        |-------------------------------------------------------|
RIBVER  |           Version number (as in .JBVER)               | 
        |-------------------------------------------------------|
RIBSPL  |         Possible user file name when spooled          | 
        |-------------------------------------------------------|
RIBEST  |          Estimated length of file in blocks           | 
        |-------------------------------------------------------|
RIBALC  |          Number of blocks allocated for file          | 
        |                   (Including RIB's)                   |
        |-------------------------------------------------------|
RIBPOS  |             Logical block # in structure              | 
        |-------------------------------------------------------|
RIBFT1  |              Word for future use by DEC               | 
        |-------------------------------------------------------|
RIBNCA  |     Non-privileged word for customer to define        | 
        |-------------------------------------------------------|
RIBMTA  |             Tape label if file on magtape             | 
        |-------------------------------------------------------|
RIBDEV  |           Name of structure containing file           | 
        |-------------------------------------------------------|
RIBSTS* |                      Status bits                      | 
        |-------------------------------------------------------|
.end literal
.page
.literal
        |-------------------------------------------------------|
RIBELB  |        Logical block # where bad region begins        | 
        |-------------------------------------------------------|
RIBEUN  |    Err unit # in structure    |  Number bad blks in   | 
        |                               |        region         |
        |-------------------------------------------------------|
RIBQTF  | FCFS quota for this PPN in this structure (UFD only)  | 
        |-------------------------------------------------------|
RIBQTO  |   Logged out quota this PPN in this STR (UFD only)    | 
        |-------------------------------------------------------|
RIBQTR  |    Reserved quota this PPN in this STR (UFD only)     | 
        |-------------------------------------------------------|
RIBUSD  |No. of blocks used when job was logged out (UFD only)  | 
        |-------------------------------------------------------|
RIBAUT  |             Author PPN writing the file               | 
        |-------------------------------------------------------|
RIBNXT  |                Next STR for this file                 | 
        |-------------------------------------------------------|
RIBPRD  |                Prev STR for this file                 | 
        |-------------------------------------------------------|
RIBPCA  |         Privileged argument for customer use          | 
        |-------------------------------------------------------|
RIBUFD  |  Blk # in STR of UFD Data Block with ptr to this RIB  | 
        |-------------------------------------------------------|
RIBFLR  |         Relative block # of 1st block in RIB          | 
        |-------------------------------------------------------|
RIBXRA  |             Address of next RIB in chain              | 
        |-------------------------------------------------------|
RIBTIM  |         Creation date and time in new format          | 
        |-------------------------------------------------------|
RIBLAD  |            Last accounting date (UFD only)            | 
        |-------------------------------------------------------|
RIBDED  |         Directory expiration date (UFD only)          | 
        |-------------------------------------------------------|
RIBACT  |    AOBJN pointer for accounting string                | 
        |-------------------------------------------------------|
        |                  Retrieval Pointers                   |
        |             (details on following pages)              |
        |-------------------------------------------------------|
RIBACS  |      Account string (pointer in RIBACT)               | 
        |-------------------------------------------------------|
RIBCOD  |             0             |          777777           | 
        |-------------------------------------------------------|
RIBSLF  |             0             |     Self block number     | 
        +-------------------------------------------------------+
.el
.pg.lm0.nf
RIBEXT Byte Definitions
.b
+-------------------------------------------------------+
|      Extension          |       |    Access Date      |
+-------------------------------------------------------+
0                       17 18   23 24                  35
.b
Bits         Contents
.b
 0-17        File extension in SIXBIT
24-35        Last access date
.lm 0
.b2
RIBPRV Byte Definitions
.B
+-------------------------------------------------------+
|  Access      |Mode | Creation time  |  Creation date  |
+-------------------------------------------------------+
0             8    12                23               35
.b
 0-8         Access code
 9-12        Data mode of file
13-23        File creation time
24-35        Low-order twelve bits of file creation date
.b;Access Codes:
.b
    Bits 0-2  Apply to any job with matching programmer number.
    Bits 3-5  Apply to any job with matching project number.
    Bits 6-8  Apply to all other jobs.
.b
Privilege Codes for User Files:
.b
    Code           Highest Privileges
.b
      7            None (but owner may read)
      6            Execute-only (but owner may read)
      5            Read
      4            Append (allocate, deallocate)
      3            Update 
      2            Write (supersede, truncate)
      1            Rename (change attributes)
      0            Change privileges
.b
Privilege Codes for Directories:
.b
    Code           Privilege
.b
      4            Allow LOOKUPs in this directory
      2            Allow creates
      1            Allow directory to be read as a
                   a data file
.b
    Any combination of these bits may be set.
.pg.f.ls.le;RIBPRV is maintained in ACYPRV while the file is being accessed.
.le;If the monitor is assembled for File Daemon, and FILDAE 
is running, an owner privilege greater than or equal to 4 invokes FILDAE,
giving extended access protection modes.  See the TOPS-10 Monitor Calls
Manual for details.
.els.b2
RIBSTS Byte Definition
.b.nf
+-------------------------------------+
|             Status bits             |
+-------------------------------------+
.B2
Left half bits apply to the UFD.
.B
Right half bits apply to this specific file.
.b
  Bit       Label      Meaning
.b
   0        RIPLOG     (LH only) User logged in
   9,27     RIPSCE     File has had checksum error
   7,24     RIPABU     Always BACKUP this UFD/file
  10,28     RIPHWE     File has had hard write error
  11,29     RIPHRE     File  has had hard read error
  14,32     RIPBFA     File found bad by FAILSAFE during
                       restore
  15,33     RIPCHR     File closed after crash
  17,35     RIPBDA     File found bad by assessment cusp
  18        RIPDIR     This is a directory
  19        RIPNDL     No deletion of this file by any user
  21        RIPNFS     Not to be dumped by FAILSAFE
  22        RIPABC     Always bad checksum
                       (SWAP.SYS, SAT.SYS)
  23        RIPCBS     Compress bit set
  25        RIPNQC     Non-quota-checked file
  31        RIPPAL     Pre-allocated file
.PG
Retrieval Pointers
.b
+-------------------------------------------------------+
|  Cluster count  |     Checksum     |   Cluster addr   |
+-------------------------------------------------------+
.f
.B
Widths of these fields are defined symbolically, and may be
different for each file structure.  Byte pointer is defined
in the HOM block, kept in Structure Data Block while the structure
is mounted.
.nf;.b
.lm10
Field                  Byte Pointer
.b
Cluster Count          STYCNP
Checksum               STYCKP
Cluster Address        STYCLP (23 bits maximum)
.b
.lm0
If cluster count = 0, the word actually is one of the following:
.ls.le;Pointer to new unit, if bit 18 = 1.  Bits 19-35 specify 
logical number within file structure.
.le;EOF flag, if whole word is zero.
.le;Cluster count is number of clusters in group.
.els.b2
RIBELB Byte Definitions
.b .nf
+-------------------------------------------------------+
|  Error bits  |      LBN where bad region starts       |
+-------------------------------------------------------+
.f.b
Bits 0 through 8 give the type of error that occurred.  Bits
9 through 35 give the logical block number on the unit where
the error occurred.
.b .nf
  Bit     Meaning
.b
   3      Error other than listed below
   4      Data error (parity or ECC hard)
   5      Search or header compare error
.b2
RIBXRA Byte Definitions (same format as DEVRIB)
.b
  Bits    Byte Pointer   Content
.b
   0                     Set to 1
  1-8       DEYRBC       Number of RIB (first extended 
                         RIB is 1, and so forth)
  9-12      DEYRBU       Logical unit on which extended 
                         RIB exists
 13-35      DEYRPA       Cluster address on unit of 
                         extended RIB
.pg
Name:  SAB -- Storage Allocation Block
.B2;.F;.LM15;.I-15
Description:	Table describing allocation of clusters of blocks for a
file structure.
.b
Each allocation bit represents a corresponding cluster of physical blocks
within the structure.
.b
(See also SAT.SYS and SPT.)
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILFND, FILIO, ONCMOD, REFSTR
.b.lm0
Format:
.B;.lit
        +-------------------------------------------------------+
SABRNG  |     Core adr of next      |     No free clusters      | SABTAL
        |       SAB for unit        |        in this SAT        |
        |-------------------------------------------------------|
SABSCN  |        No words in        |     Adr to start scan     |
        |        SAT Buffer         |     for free clusters     |
        |-------------------------------------------------------|
SABNDX* |  A   | B | NDX  |                 First cluster       | SABCLA
        |      |   |      |                                     | SABFIR
        |-------------------------------------------------------|
SABHOL  |           Number of blocks in largest hole            |
        |-------------------------------------------------------|
SABBIT  |                                                       |
        |                   One data block of                   |
        |                        SAT.SYS                        |
        |                                                       |
        +-------------------------------------------------------+
.el
.b2
* Details on following page.
.pg
SABNDX  Byte Defintions
.nf;.b2
+-------------------------------------------------------+
|  A   |  B   |       NDX       |     First cluster     |
+-------------------------------------------------------+
   0       1    2             12  13                  35
.b
Word             Bit Label or
Label    Bits    Byte Pointer    Content
.b
SABFIR    0      SAPDIF          Set if table in core
                                 different from disk
.b
SABFIR    1      SAPBAD          Set if SAT block is on 
                                 a bad block in disk
.b
SABNDX    2-12   SAYNDX          Index value for SPT 
                                 entry representing 
                                 this SAT
.b
SABCLA   13-35   SAYCLA          Cluster address within 
                                 unit of first cluster
                                 represented in this 
                                 SAT
.b.f
Notes:
.b.ls.le;The NDX and CLA fields are related by the formula.
.b.nf
                 Number
           CLA = Cluster          x      (NDX)
                 per SAT
.f.le;Bits 2-35 are set -1 when the file structure is 
created to force SAT to be read into SAB.
.le;Under KL-paging, the SAT is usually in Section 2.
.els.pg.lm0
Name:   SAT.SYS
.b.lm15.ts15.i-15
Description:	Disk file describing the allocation of all clusters of
blocks on the file structure.
.b
Contains one bit for each cluster of the file structure.
.b
Bits are in the same order as the clusters which they represent.
.lm0.b
Format:
.b.lit
              +-------------------------------------------------------------+
Cluster 0-35  | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              |-------------------------------------------------------------|
       36-71  | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              |-------------------------------------------------------------|
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              |-------------------------------------------------------------|
              | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
              |-------------------------------------------------------------|
              |0---------------------------------------------------------35 |
              +-------------------------------------------------------------|

.el.lm0.b.f
Notes:
.ls;.le;SAT blocks are always on the same unit as the clusters that they
represent. 
.le;If more than one SAT block is needed for a single physical unit, each block
will be near the clusters that it represents.  Hence, only the first block
in each group (1 cluster) of SAT.SYS contains data.
.le;Programs should not look at bits corresponding to nonexistent
clusters.  They may or may not be set.  (Function of hardware sector length.)
.le;Each SAT block has a corresponding entry in the Storage Allocation
Pointer Table (SPT) for that unit.
.le ;The unused bits in the final word of each SAT must be set to 1, as
the monitor depends on this condition when searching for holes.
.els
.pg.lm0.f
Name: Scheduler Scan Tables
.b.lm15.ts15.i-15
Description:	Used by the system scheduler when selecting a job to run.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1
.b.lm0.nf
SSCAN -- Used by policy CPU for selecting a job to run:
.b
        +--------------------------------------+
SSCAN   |      -HPQn       |       IQFOR       |
        |      -HPQ1       |       IQFOR       |
        |      -PQ1        |       IQFOR       |
        |      -PQ2        |       IRRFOR(RR)  | 
        |      -PQ2        |       ISSFOR(class)
        |      -PQ2        |       IBBFOR(class)
        |                  |                   |
        +--------------------------------------+
.B2
SSCAN1 -- Used by second processor for selecting a job to run:
.b
        +--------------------------------------+
SSCAN   |      -HPQn       |       IQFOR       |
        |      -HPQ1       |       IQFOR       |
        |      -PQ2        |       IRRFOR(RR)  | 
        |      -PQ2        |       ISSFOR(class)
        |      -PQ1        |       IQFOR       |
        |      -PQ2        |       IBBFOR(class)
        |                  |                   |
        +--------------------------------------+
.B2
SQSCAN --  Used by SQFOR code:
.b
             Subqueue _#       Ptrs to Quota Left
        +-------------------------------------+
SQSCAN  |       -SQ0       |      CLSQTA      |
        |       -SQ1       |     CLSQTA+1     |
        |       -SQ2       |     CLSQTA+2     |
        |                  |                  |
        |       -SQn       |     CLSQTA+n     |
        +-------------------------------------+
.b2
SQFOR scans subqueues forward according to SQSCAN 
table if RRFLAG = 0, (count of classes with non-zero
quotas), otherwise it scans PQ2 with QFOR routine.
.fill;.pg
DCSCAN is used by the scheduler for selecting jobs for IPCT
decrementing.  This table is not processed by QSCAN but by
specific code in the IPCT maintenance routines.
.b;.no fill
DCSCAN:
        +--------------------------------+
        |                           -EWQ |
        |--------------------------------|
        |                          -SLPQ |
        |--------------------------------|
        |                           -PQ2 |
        |--------------------------------|
        |                           -PQ1 |
        |--------------------------------|
        |                          -HPQn |
        +--------------------------------+
.b
Notes:
.b.f
The items flagged by (RR) are used in a system built with the round-robin
scheduler (FTNSCHED=0).  Items flagged by (class) are used in a system
built with the class scheduler (FTNSCHED=1).
.pg
Name: SPT -- Storage Allocation Pointer Table
.b.lm15;.i-15
Description:	Contains pointers to all SAT blocks for a unit, whether in
core or not.  There is one entry for each SAT block on a unit, in order of
the cluster address which they represent, and zero entry indicates end of
table.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILFND, ONCMOD
.b.lm0
Format:
.b.lit
        +-------------------------------------------------------+
SPTFIR  |     Free cluster cnt      |    Cluster adr in unit    |
        |-------------------------------------------------------|
        |     Free cluster cnt      |    Cluster adr in unit    |
        |-------------------------------------------------------|
                                  . . .                          
        |-------------------------------------------------------|
        |             0             |             0             |
        +-------------------------------------------------------+
         0                        12 13                       35

        Bits       Byte Pointer         Content

        0-12          SPYTAL        Number free clusters represented
                                    in this SAT Block.
       13-35          SPYCLA        Cluster address within unit for
                                    this SAT Block.

.el
Notes:
.f;.ls;.le;Each Unit Data Block, UDB, contains a pointer to its SPT.
.le;Each SAT block that is in core is in a SAB, Storage Allocation
Block.  The SAB contains the index value for the entry in this table
corresponding to the SAT block that it currently contains.
.le;The last word in the SPT table will always be zero.
.le;Under KL-paging, the SPT is usually in Section 2.
.els
.pg
Name: STR -- File Structure Data Block
.b2;.lm15;.i-15
Description:	Contains descriptive information about a file structure.
.b
There is a Structure Data Block for each structure defined in the system.
.B.i-15
Defined in:	COMMOD
.b.i-15
Used by:	COMMON, FILFND, FILIO, FILUUO, IPCSER, ONCMOD
.B.lm0
Format:
.b;.lit
        +-------------------------------------------------------+
STRNAM  |                 SIXBIT structure name                 |
        |-------------------------------------------------------|
STRSYS  |    Next STR in system     |      This STR number      | STRFSN
        |-------------------------------------------------------|
STRUNI  |  First UDB for this STR   |      K for CRASH.EXE      | STRK4C
        |-------------------------------------------------------|
STRREF  |   Nonzero if STR needs    | No. of units in this STR  | STRUNM
        |      to be refreshed      |                           |
        |-------------------------------------------------------|
STRHGH  |           Highest logical blk in structure            |
        |-------------------------------------------------------|
STRSIZ  |            Size of STR in 128 word blocks             |
        |-------------------------------------------------------|
STRGAR  |         Limit on total blocks reserved in STR         |
        |-------------------------------------------------------|
STRRES  |        No. of reserved blocks remaining free          |
        |-------------------------------------------------------|
STRALT  | Alter number for this structure                       |
        |-------------------------------------------------------|
STRTAL  | No. first-come-first-serve free blocks on structre    |
        |-------------------------------------------------------|
STROVR  |               Overdraw limit - per user               |
        |-------------------------------------------------------|
STRMNT  |               Mount count for this STR                |
        |-------------------------------------------------------|
STRPT1  |              First retrieval ptr for MFD              |
        |-------------------------------------------------------|
STRTRY* | TRY | RETRY | RECAL |     |        |  X  | UNIT|  | X | STRUN1
        |-------------------------------------------------------|
STRBPU  |             (Maximum) No. of blocks per unit          |
        |-------------------------------------------------------|
STRBSC  |     No. of blocks per     |  (Maximum) No. of super-  |
        |       supercluster        |     clusters per unit     |
        |-------------------------------------------------------|
.end literal
.pg
.literal
        |-------------------------------------------------------|
STRJOB  |          Access           |    Job # having access    |
        |                           |           or 0            |
        |-------------------------------------------------------|
STYCNP  |        Byte ptr to RIB cluster count in AC T2         |
        |-------------------------------------------------------|
STYCKP  |        Byte ptr to RIB checksum field in AC T2        |
        |-------------------------------------------------------|
STYCLP  |           Byte ptr for cluster adr in AC T2           |
        |-------------------------------------------------------|
STRPPN  | PPN of the structure owner                            |
        |-------------------------------------------------------|
STRSDL  | Position of STR in system dump list (-1 = not in list)|
        |-------------------------------------------------------|
STRCRS  |          LBN of RIB for CRASH.EXE                     |
        +-------------------------------------------------------+
.el
.B
* Details following.
.b.f
Notes:
.b.ls.le;All STR Data Blocks are set up by the ONCE-Only code, according 
to information found in the Home Blocks.  No information pertaining to
structures is coded into the monitor.
.le;STRALT is incremented each time a SAT block is written for this
structure.
.le;Access is -1 if the job in right half is the only job with the structure
mounted, and it is not single-access structure.
.els
.pg.nf
STRTRY Byte Definitions
.b
+-------------------------------------------------------+
|  TRY   |RETRY |RECAL |      |  X   | UNIT |         |X|
+-------------------------------------------------------+
0       6      12       18     27           31      34 35
.B
Word            Byte
Label   Bits    Label      Content
.b;.lit
STRTRY  0-5     STYTRY     Number of times to retry before
                           error considered hard.

STRTRY  6-11    STYSER     Number of times to retry on search
                           and data errors

STRTRY  12-17   STYRCL     Number of recalibrates for search
                           and data errors

STR1PT     27   STP1PT     Set if STRPT1 is only retrieval
                           pointer for MFD.

STRUN1  28-31   STYUN1     Logical unit number within this
                           file structure where MFD begins.

STRPVS     35   STYPVS     Non-zero if this is a private 
                           structure.
.el
.pg
.LM0
Name:	SWPLST -- Swapping List Table
.b.f.lm15.i-15
Description:	Table used by the VM swapper in conjunction with 
MEMTAB to keep track of jobs being swapped or having paging
I/O in progress.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1, SWPSER, VMSER
.b.lm0
Format:
.B.nf
 0                 17 18             26 27             35
+-------------------------------------------------------+
|        Bits        | Start phys. pg. |    _# of pg.*  |
|-------------------------------------------------------|
|                                                       |
|-------------------------------------------------------|
                         .  .  .                         
.b
Notes:
.b.lm5
SL.FRG = 1B0   Fragmented entry
SL.DIO = 1B1   Direction of I/O  (1 = out)
SL.SIO = 1B2   Swapping/paging  (1 = swapping)
SL.IOP = 1B3   I/O in progress
SL.IOD = 1B4   I/O done (this swap list entry 
               is done)
SL.IPC = 1B5   On if an IPCF page
SL.DFM = 1B6   Don't find me (used to keep FNDSLE
               from finding this entry)
SL.CHK = 1B11  Swapping checksum error
SL.ERR = 1B12  I/O error (IODTER, IODERR, or 
               IOIMPM)
SL.CHN = 1B13  Channel error (IOCHMP or IOCHNX)
.b;.lit
* if not a fragmented entry:

      Bits 14-26      - starting physical page number
                        (used as an index into MEMTAB)

      Bits 27-35      - number of pages

* if fragmented:

     Bits 18-35       - address of fragment table.
                        The fragment table is linked
                        the same way the JBTSWP entry
                        is, but the entries are as above.
.el
.pg
Name:  SW2LST -- Secondary SWPLST
.f.b.lm15.i-15
Description:	The original SWPLST entry is stored here for cleanup 
purposes, since SWPLST is modified while I/O is progressing.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	VMSER
.lm0.b
Format:
.B.nf
        +-------------------------------------+
SW2LST  |                                     |
        |-------------------------------------|
        |                                     |
        |-------------------------------------|
                        . . .                  
.b2
Name:  SW3LST -- Third SWPLST
.b.F.lm15.i-15
Description:	The right half of this table is used to store the 
job number of the job being swapped or doing paging I/O, and left 
half holds the contents of SWPOUT.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	SCHED1, SWPSER, VMSER
.b.lm0
Format:
.B.nf
        +-------------------------------------+
SW3LST  |                  .                  |
        |                  .                  |
        |-------------------------------------|
        |     (SWPOUT)     |    Job Number    |
        |-------------------------------------|
        /               .   .  .              /
.pg
.f
Name: SWPTAB -- Swapping Table
.b;.lm15;.i-15
Description:	Contains addresses of the Unit Data Blocks of all units
available for swapping.  This table specifies the active swapping list.
.b.i-15
Defined in:	COMMOD
.B.i-15
Used by:	CPNSER, FILFND, FILIO, ONCMOD, SEGCON, SWPSER, SYSINI,
VMSER
.b.lm0
Format:
.b.nf
+-------------------------------------+
|                UDB 1                |
|-------------------------------------|
|                UDB 2                |
|-------------------------------------|
|                UDB 3                |
|-------------------------------------|
|                                     |
|                                     |
|-------------------------------------|
|                UDB n                |
+-------------------------------------+
.pg.f
Name: TABSTR -- Structure Table
.b;.lm15;.i-15
Description:	Contains addresses of all File Structure Data Blocks in the
system. File structures are in order of access speed, fastest to slowest.
.b
Index value for each entry is the File Structure Number, FSN.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	COMMON, CPNSER, FILFND, FILIO, FILUUO, ONCMOD, SYSINI
.b.lm0
Format:
.b.nf
	+-------------------------------------+
STRAOB:	|  -.SLMAX-1       |    .FSMIN        |
	|-------------------------------------|
STRTAB:	|                STR 1                |
	|-------------------------------------|
	|                STR 2                |
	|-------------------------------------|
	|                                     |
	|                                     |
	|-------------------------------------|
	|                STR n                |
	+-------------------------------------+
.B.f
Notes: 
.ls.le;Number of entries is STRNUM.  This value cannot exceed 36.
.le;The first word is an AOBJN pointer to the rest of the table.
.els.pg
Name: Transfer Tables
.b;.lm15;.i-15;.fill
Description:	These tables are used in the requeuing process to determine
the destination queue and quantum runtime for jobs being requeued by the
scheduler.
.b.i-15
Defined in:	SCHED1
.b.lm0
Format:
.b
Although these tables are defined by macros in COMMON they are represented
here in their expanded form:
.b.nf
EQFIX== 400000,,QFIX	;SPECIFIES FIX TRANFER TO END OF Q
EQLNKX==400000,,QLNKZ	;SPECIFIES REQUEING AND QUANTUM RUN
			; TIME BASED ON CURRENT QUEUE AND
			; JOB SIZE
.B
QNULW:	EXP	EQFIX		;NULL QUEUE
	XWD	-1,-NULQ
.B
.lit
QSTOP::
QSTOPW: EXP EQFIX               ;STOP QUEUE
        XWD -1,-STOPQ

QJDCW:  EXP EQFIX               ;DAEMON WAIT QUEUE
        XWD -1,-JDCQ

QCMW::  EXP EQFIX               ;COMMAND WAIT QUEUE
        XWD -1,-CMQ

QTSW:                           ;TTY I/O WAIT SATISFIED
QRNW:   EXP EQFIX               ;JOBS JUST BECAME RUNNABLE
        XWD QADTAB##,-PQ1         

QRNW1:  EXP EQFIX               ;BACK OF QP1, NO QUANTUM CHANGE
        XWD  -1,-PQ1

QRNW2:  EXP EQFIX               ;BACK OF PQ2, NO QUANTUM CHANGE
        XWD  -1,-PQ1

QTIOWW: EXP EQFIX               ;TTY I/O WAIT SATISFIED
        XWD -1,TIOWQ

QSLPW:  EXP  EQFIX              ;SLEEP FOR .GE. 1 SECOND
        XWD  -1,-SLPQ

QEWW:   EXP EQFIX               ;EVENT WAIT
        XWD -1,-EWQ

QTIME:  EXP EQLNKZ              ;WHEN QUANTUM TIME EXCEEDED
        XWD 0,QRQTBL
.el
.pg
Name: TTFCOM -- Forced Commands Table
.b;.F;.lm15;.i-15
Description:	Allows SCNSER to force a specified command to be executed
for a job without having to put the command into the terminal buffer.
.b
One entry, in SIXBIT format, for each command that SCNSER might
want to force.
.b.i-15
Defined in:	SCNSER
.b.i-15
Used in:	CLOCK1, COMCON, NETMCR, NETSER, NETVTM, ONCE, SYSINI,
UUOCON
.B.lm0
Format:
.b.nf
Label                  Content                   Command
        +-------------------------------------+
TTFCXC  |                HALT                 | Control-C
        |-------------------------------------|
TTFCXD  |                .BYE                 | Dataset
        |                                     | disconnect
        |-------------------------------------|
TTFCXH  |               .HELLO                | Dataset
        |                                     | connect
        |-------------------------------------|
.lit
TTFCXR  |               .RESTA                | System restart
        |-------------------------------------|
TTFCXK  |                KJOB                 | Kill job
        |-------------------------------------|
TTFCXI  |               INITIA                | Call Initializing
        |                                     | CUSP
        |-------------------------------------|
TTFCXJ  |               .FCONT                | Forced Continue
        |-------------------------------------|
TTFCXT  |                .TYPE                | Retype line
        +-------------------------------------+
TTFCXW  |                USESTA               | <CTRL/T>
        +-------------------------------------+ 
TTFCXL  |                .NETLD               | Network Reload
        +-------------------------------------+
TTFCXS  |                 HALT                | <CTRL/C>
        |                                     | with no trapping
        +-------------------------------------+
TTFCXB  |                .BPT                 | <CTRL/D> breakpoint
        +-------------------------------------+
TTFCXX  |                CTEST                | (For patching)
        +-------------------------------------+
.el
.pg
Notes:
.f.ls.le;The value of each label is the position of that entry within the
table.  This value is plugged into LDBDDB when a command is to
be forced.
.le;The entries in TTFCOM are conditionally assembled; therefore all of the
above listed entries will not be in every monitor.
.els.pg
Name: Terminal Chunks
.b;.lm15;.i-15
Description:	Used to hold characters that need to be typed on a
terminal, or characters received from a terminal and not yet read by a
program. 
.b
Buffers are set up dynamically, as needed, from a pool of monitor
free core reserved for that purpose.
.b
The association between a buffer and a line depends on pointers in 
the Line Data Block.
.b
Buffers are built from four word "chunks," which are linked together
as necessary.
.b.i-15
Defined in:	SCNSER
.b.lm0
Format:
.b;.nf
	+-------------------------------------+
	| Prev chunk addr  | Next chunk addr  |
	|-------------------------------------|
	|        |         |        |         |
	|-------------------------------------|
	|        |         |        |         |
	|-------------------------------------|
	|        |         |        |         |
	+-------------------------------------+
.b2
Notes:
.f;.ls;.le;The ninth bit in each byte of data is used to indicate image mode.
.le;If there is not another chunk in a given direction, the corresponding
linkage will be zero. 
.le;All chunks that are not part of a buffer are linked together to form the
"free list".  The word TTFTAK points to the oldest chunk in the free list,
and word TTFPUT points to the newest chunk in the free list.
.le;The size of an individual buffer is limited by program
action.  An output buffer cannot exceed 80 characters.  If an
input buffer exceeds 172 characters (value of symbol TTIWRN) each
receive interrupt will force the output of an XOFF.  If an input
buffer contains 300 characters (symbol TTIMAX) no additional
characters will be accepted from that line.  A bell will be
substituted for the echo of a lost character.
.le;See description of Line Data Block for various pointers
which are used with the TTY buffer.
.els
.pg
Name: TTUUOT -- TTCALL Dispatch Table
.b2;.lm15;.i-15
Description:	This table contains pre-check and dispatch information for
TTCALL UUOs.  The bits in the left half are checked before dispatching.
There is one entry for each TTCALL UUO.
.b.i-15
Defined in:	SCNSER
.lm0.b
Format:
.b.lit
        +-------------------------------------------------------+
TTUUOT: | Pre-check bits  |              |   Dispatch address   | TTCALL 0
        |-------------------------------------------------------|
        |                 |              |                      | TTCALL 1
        |-------------------------------------------------------|
        |                 |              |                      | TTCALL 2
        |-------------------------------------------------------|
        |                 |              |                      |
        |                 |              |                      |
        |-------------------------------------------------------|
        |                 |              |   Dispatch address   | TTCALL 17
        +-------------------------------------------------------+
          0              4                18                  35

Bit    Label    Meaning

 0     TC.ADC   This function must be address-checked	
 1     TC.USR   This function must be at user level else
                return
 2     TC.USW   This function must be at user level else wait
 3     TC.ATW   This function must be attached, else wait
 4     TC.ATR   This function must be attached, else return
 5     TC.ECS   This function releases the previous input line,
                causing a subsequent RESCAN to fail
.el
.pg
Name: TTYTAB -- TTY Table
.B.lm15.ts15.i-15
Description:	One entry per job, indexed by job number.
This is the table of controlling (attached) terminals for each job.
.b.i-15
Defined in:	COMMON
.b.i-15
Used by:	CLOCK1, COMCON, COMDEV, CPNSER, ERRCON, FILIO, IPCSER,
PSISER, PTYSER, SCNSER, UUOCON
.b.lm0
Format:
.b;.lit
        +-------------------------------------------------------+
TTYTAB: |                           |                           | Job 0
        |-------------------------------------------------------|
        |                           |        DDB address        | Job 1
        |-------------------------------------------------------|
        |                           |        DDB address        | Job 2
        |-------------------------------------------------------|
        |                           |        DDB address        | Job 3
        |-------------------------------------------------------|
        |                           |                           |
        |                           |                           |
        |                           |                           |
        |                           |                           |
        |                           |                           |
        |-------------------------------------------------------|
        |                           |        DDB address        | Job n
        +-------------------------------------------------------+
.el
.f;.b
A zero entry indicates no attached terminal, otherwise, right half is
controlling DDB for the job.  There is always a TTY DDB for every job, even
though no TTY need be attached. Thus, UUOs look through TTYTAB(n) for a DDB
because UUOs come from jobs.
.pg
Name:  TYPTAB -- Device Types Table
.b.lm15.f.i-15
Description:	Contains three letter generic device type prefix in
SIXBIT format for all possible devices in the system.
.b
Used by UUOCON subroutine which finds a DDB given its Universal Device
Index.
.b.i-15
Defined in:	UUOCON
.b.i-15
Used by:	UUOCON
.b.lm0.nf
Format:
.b;.lm10
+-------------------------------------+
|             SIXBIT/DSK/             |
|-------------------------------------|
|             SIXBIT/DTA/             |
|-------------------------------------|
|             SIXBIT/MTA/             |
|-------------------------------------|
/                 . . .               /
+-------------------------------------+
.pg.lm0
Name:  UCLJMP -- CALL and CALLI UUO Dispatch Table
.b.f.lm15.i-15
Description:	Contains dispatch addresses for CALL and CALLI UUOs.
There is one entry for each two routines.  Left half contains address for even
numbered routines; right half for odd numbered routines
.b
Indexed by one half the CALLI argument.
.b
For CALL UUOs, a table lookup is done in UCLTAB to get routine number; for
CALLI UUOs the number is supplied directly.  One half of this routine number
is used as the table index.  The left half is taken for even numbers; right
half for odd.  UUOCON then dispatches to that address.
.b.i-15
Defined in:	UUOCON
.b.i-15
Used by:	UUOCON
.lm0.nf.b
Format:
.b
+-------------------------------------+
/               .  .  .               /
|-------------------------------------|
| Customer adr -4  | Customer adr -3  |
|                                     |
| Customer adr -2  | Customer adr -1  |
|                                     |
|-------------------------------------|
|   DEC    adr 0   |  DEC     adr 1   |
|-------------------------------------|
|   DEC    adr 2   |  DEC     adr 2   |
|-------------------------------------|
/               .  .  .               /
+-------------------------------------+
.b
Notes:
.f.lm0.b
UCLJMP has entries corresponding to entries in UCLTAB.  Table
entries may be added in the negative direction by customers, and
in the positive direction by DIGITAL (DEC).  Once a table entry is
established, its position can never be changed without
invalidating those programs that use the corresponding CALLI.
.lm0.pg
Name:  UCLTAB -- CALL UUO Names Table
.b.lm15.i-15
Description:	Contains names of the CALL UUOs.  There is one entry for
each CALL function.
.b
Indexed by corresponding CALLI value.  Customer defined CALLs
have negative index values;  DEC CALLs have positive values.
Table entries are SIXBIT expressions of the CALL names.  There
are corresponding dispatch addresses in the UCLJMP table.
.lm0.b.nf
Format:
.b
        +-------------------------------------+
CCLTAB: |          Customer CALL -m           |
        |-------------------------------------|
        |          Customer CALL -2           |
        |-------------------------------------|
        |          Customer CALL -1           |
        |-------------------------------------|
UCLTAB: |             DEC CALL 0              |
        |-------------------------------------|
        |             DEC CALL 1              |
        |-------------------------------------|
        |             DEC CALL 2              |
        |-------------------------------------|
        |             DEC CALL n              |
        +-------------------------------------+
.B2
Notes:
.F;.LS;.LE;Customers may extend the table in the negative direction with
as many of their own CALLs as desired.
.le;The value specified in a CALLI UUO corresponds to the position
of the CALL UUO name in this table.  Hence, once an entry is established,
its position in the table can never be changed without invalidating any
existing programs that use that CALLI.
.le;All CALLs above CALLI AC,55 do not have a corresponding CALL with
a SIXBIT argument.  In the future, only CALLIs will be added by DIGITAL.
.els.pg.nf.lm0
Name:  UDB -- Unit Data Block
.fill.b.lm15.ts15.i-15
Description:	One UDB for each physical disk drive on the system (two if
the drive is dual ported).  Unit Data Blocks are generated dynamically by
AUTCON when the system is started and when units come on line.
.b.i-15
Defined in:	COMMOD
.B.i-15
Used by:	COMMON, CPNSER, DPXKON, ERRCON, FHXKON, FILFND, FILIO,
FILUUO, FSXKON, KLSER, ONCMOD, RPXKON, SYSINI, VMSER
.lm0.b
Format:
.b.literal
        +-------------------------------------------------+
 UNINAM | SIXBIT physical unit name                       |
        |-------------------------------------------------|
 UNILOG | SIXBIT logical name within structure (HOMLOG)   |
        |-------------------------------------------------|
 UNIHID | SIXBIT Home Block ID name (HOMHID)              |
        |-------------------------------------------------|
*UNISYS | Next UDB in system    |    SIC     |      LUN   |
        |-------------------------------------------------|
 UNISTR | Next UDB for STR      |    STR Data Block       |
        |-------------------------------------------------|
 UNICHN | Next UDB on channel   |    CHN Data Block       |
        |-------------------------------------------------|
 UNIKON | Next UDB on controller|    KON Data Block       |
        |-------------------------------------------------|
*UNISWP | Next UDB for swapping |    CFS     |    K4S     |
        |-------------------------------------------------|
 UNIHCT | Hard disk error statistics                      |
        |-------------------------------------------------|
 UNISCT | Soft and hard error statistics                  |
        |-------------------------------------------------|
 UNIMCT | Monitor detected error statistics               |
        |-------------------------------------------------|
 UNIERR | Device CONI at time of last hard error          |
        |-------------------------------------------------|
 UNISOF | CONI at time of last error before recovery      |
        |-------------------------------------------------|
 UNIHBN | Last logical block number on hard or soft error |
        |-------------------------------------------------|
 UNIBRC | Number of buffered mode blocks read on unit     |
        |-------------------------------------------------|
 UNIBWC | Number of buffered mode blocks written on unit  |
        |-------------------------------------------------|
.end literal
.page
.literal
        |-------------------------------------------------|
 UNIDRC | Number of dump mode blocks read on unit         |
        |-------------------------------------------------|
 UNIDWC | Number of dump mode blocks written on unit      |
        |-------------------------------------------------|
 UNIMRC | Number of monitor blocks read on unit           |
        |-------------------------------------------------|
 UNIMWC | Number of monitor blocks written on unit        |
        |-------------------------------------------------|
 UNIICT | Number of blocks swapped in from unit           |
        |-------------------------------------------------|
 UNIOCT | Number of blocks swapped out to unit            |
        |-------------------------------------------------|
 UNIMSC | Number of monitor + swap seeks on this unit     |
        |-------------------------------------------------|
 UNIUSC | Number of user mode seeks on this unit          |
        |-------------------------------------------------|
 UNIPCT | Number of positioning | Number of soft+hard seek|
        |      failures         |  incomplete failures    |
        |-------------------------------------------------|
 UNIFKS | Free K for swapping on this unit                |
        |-------------------------------------------------|
 UNISDI | Last DATAI status before recovery attempted     |
        |-------------------------------------------------|
 UNIHDI | Last DATAI status after first recovery failed   |
        |-------------------------------------------------|
 UNIECT | # times error status returned for last operation|
        |-------------------------------------------------|
 UNIHNG | Hung timeout counters                           |
        |-------------------------------------------------|
*UNISTS | Status code for unit                            |
        |-------------------------------------------------|
*UNICCT |Section# for|   BCT    |      # of channel       |
        |swapping SAT|          |    termination errors   |
        |-------------------------------------------------|
 UNIHOM | 1st home block address|  redundant home blk adr |
        |-------------------------------------------------|
 UNIQUE | addr. of 1st PWQ DDB  |   Job no. of PWQ DDB    |
        |-------------------------------------------------|
 UNIGRP |  # blocks to try for  | Last disk position      | 
        |       on output       |     (RP20)              |
        |-------------------------------------------------|
 UNIBPU | # logical blocks per unit (returned by DSKCHR)  |
        |-------------------------------------------------|
 UNIBPM | # of logical blocks/unit incl. maint. cyls.     |
        |-------------------------------------------------|
 UNIPCI | # of blocks paged in from unit                  |
        |-------------------------------------------------|
.end literal
.page
.literal
        |-------------------------------------------------|
 UNIPCO | # of blocks paged out to unit                   |
        |-------------------------------------------------|
*UNICHR |    BPC   |   BPT    |    Blocks per cylinder    |
        |-------------------------------------------------|
*UNICPS |    WPS   | |   SPU  |           CPS             | UNIWPS
        |-------------------------------------------------|
 UNICYL | Current physical cylinder number                |
        |-------------------------------------------------|
 UNIBLK | Logical block number within unit                |
        |-------------------------------------------------|
 UNISAB | Address of first SAB in ring                    |
        |-------------------------------------------------|
 UNITAL | # of free blocks on unit (reserved + FCFS)      |
        |-------------------------------------------------|
*UNIDES | Unit description bits for DSKCHR                |
        |-------------------------------------------------|
 UNIPTR | -length swap SAT table| Addr of swap SAT table  |
        |-------------------------------------------------|
 UNISLB | 1st logical block for swapping on unit          |
        |-------------------------------------------------|
 UNIXRA |  # blks read using   |  # blks written using    |
        |  extended ribs       |  extended ribs           |
        |-------------------------------------------------|
 UNICDA | Previous cont. of RH | Addr of active DDB       |
        |-------------------------------------------------|
 UNIGEN | Generation number of UDB                        |
        | (AOSed when unit is dismounted)                 |
        |-------------------------------------------------|
 UNIRCV | # of hung unit retries without success          |
        |-------------------------------------------------|
 UNISWA | addr of current      |  distance to swap block  |
        | SWPLST entry         |                          |
        |-------------------------------------------------|
 UNISWD | Distance to swap cylinder                       |
        |-------------------------------------------------|
 UNIQUL | Length of position wait queue                   |
        |-------------------------------------------------|
 UNIBUC | # of blocks in 10/11 compatibility mode         |
        |-------------------------------------------------|
 UNIDIA | Job # of job shutting| Addr of DDB of job       |
        | down I/O (DIAG. UUO) | shutting down I/O (DIAG.)|
        |-------------------------------------------------|
 UNISER | Drive serial number                             |
        |-------------------------------------------------|
*UNI2ND | 0,,alternate if main/-1,, main if alternate     |
        |-------------------------------------------------|
.end literal
.page
.literal
        |-------------------------------------------------|
 UNITIM | Hung-timer                                      |
        |-------------------------------------------------|
 UNIJOB | Previous RH UNIJOB   | Job no. of RH UNICDA     |
        |-------------------------------------------------|
*UNIAJB | DA resource status word                         |
        |-------------------------------------------------|
 UNIDS2 | Bit 0 (U2PNRM) = 1 if non-removable media       |
        | Bit 1 (U2PPGA) = 1 if port vanished without     |
        |         off-line interrupt                      |
        |-------------------------------------------------|
 UNILTM | Universal date/time of lock on structure        |
        |-------------------------------------------------|
 UNISPT | RH is address of storage allocation             |
        | pointers (SAT) table                            |
        |-------------------------------------------------|
 UNIPGT | Page quarter turns   |     Page turns           |
        |(No. of times RIB was reread to get new pointers)|
        |-------------------------------------------------|
 UNICRC |       No. of monitor cache read calls           |
        |-------------------------------------------------|
 UNICRH |       No. of monitor cache read hits            |
        |-------------------------------------------------|
 UNICWC |       No. of monitor cache write calls          |
        |-------------------------------------------------|
 UNICWH |       No. of monitor cache write hits           |
        |-------------------------------------------------|
 UNICBK |     No. of monitor blocks cached for this unit  |
        |-------------------------------------------------|
 UNILAS | Last command issued to massbus device           |
        |-------------------------------------------------|
 UNISCR | Contents of control register at first error     |
        |-------------------------------------------------|
 UNIHCR | Contents of control register at end             |
        |-------------------------------------------------|
 UNISDR | Contents of data register at first error        |
        |-------------------------------------------------|
 UNIHDR | Contents of data register at end                |
        |-------------------------------------------------|
 UNIEBK | Drive registers saved here on error.  LH has    |
        | last error, RH has first error.  Last word in   |
        | block is command which cause the error.         |
        |      (0-16 words, determined by X'ERNO)         |
        +-------------------------------------------------+
.el.b
* Indicates that details are shown on following pages.
.pg
UNISYS word (3)
.b.nf
+--------------------------------------------------------+
|   Next UDB in system  |  SIC   |         |     LUN     |
+--------------------------------------------------------+
 0                    17 18       25        30         35
.b
Word     Bits   Byte          Description
.b;.lit
UNISYS   0-17                 Core address of next UDB in 
                              system.  Zero indicates last 
                              unit.
UNISIC  18-25   UNYSIC        Number of SAT blocks in core
                              for this unit.
UNILUN  30-35   UNYLUN        Logical unit number within 
                              file structure for unit
.el
.lm0.b2
UNISWP Word (7)
.b
+-------------------------------------------------------+
|Next UDB for swapping | |  CFS  |  K for swapping      |
+-------------------------------------------------------+
 0                   17   20   22 23                   35
.b;.lm5
UNISWP   0-17                 Address of next UDB for 
                              swapping
UNIFCS  20-22   UNYCFS        Swapping class of unit
UNIK4S  23-35   UNYK4S        Number of K for swapping 
                              on the unit
.lm0
.b
UNISTS Word (36)
+-------------------------------------------------------+
|                       Code                            |
+-------------------------------------------------------+
 0                                                    35
.b
.nf
ICOD     0    Unit idle
SWCOD    1    Obsolete
SCOD     2    Obsolete
PWCOD    3    Position wait
PCOD     4    Positioning
TWCOD    5    Waiting to transfer data
TCOD     6    Transferring data
MDACOD   7    Unit useable only by MDA (mountable  
              device allocator)
OWCOD   10    Operator wait, file in transfer state
OCOD    11    Operator wait, no file active
OW2COD  12    Same as OWCOD, but no message once a minute
O2COD   13    Same as OCOD, but no message once a minute
.page
.lm 0 .b2
UNICCT Word (37)
.b
+-------------------------------------------------------+
| Section# |   BCT  | _# of channel termination errors  |
+-------------------------------------------------------+
 0        8 9      17 18                              35
.b2
UNISNS   0-8    UNYSNS       Section number of swapping
                             SAT table
UNIBCT   9-17   UNYBCT       Number of slots left in BAT 
                             block for unit
UNICCT  18-35                Number of channel termination 
                             errors on this unit
.b2
UNICHR Word (47)
.b
+-------------------------------------------------------+
|      BPC    |      BPT      |   Blocks per cylinder   |
+-------------------------------------------------------+
 0           8 9            17 18                     35
.b2
UNIBPC   0-8    UNYBPC       Number of blocks per cluster
UNIBPT   9-17   UNYBPT       Number of blocks per track
UNIBPY  18-35   UNYBPY       Number of blocks per cylinder
.b2
UNICPS Word (50)
.b
+-------------------------------------------------------+
|      WPS     |  |      SPU     |        CPS           |
+-------------------------------------------------------+
 0            8 9  10          17 18                  35
.b
UNIWPS   0-8   UNYWPS       Number of words per SAT block
UNISPU   9-17  UNYSPU       Number of SAT blocks on the unit
UNICPS  18-35  UNYCPS       Number of clusters per SAT
.page
UNIDES Word (55)
.b
+-------------------------------------------------------+
|                 Bits                                  |
+-------------------------------------------------------+
.b
Word             Bit Label or
Label    Bit     Byte Pointer    Content
.b
UNIDES    0       UNPRHB         Monitor must reread home 
                                 block to ensure pack ID 
                                 correct.  Set when a pack
                                 goes offline.
UNIDES    1       UNPOFL         Unit is offline.
UNIDES    2       UNPHWP         Unit is hardware write 
                                 protected
UNIDES    3       UNPSWP         Unit is in a structure
                                 which is software write-
                                 protected.
UNIDES    4       UNPSAF         Unit is in a single access
                                 structure.
UNIDES    5       UNPZMT         Structure mount count is 
                                 zero.
UNIPRF    6       UNPPRF         Unit is in a private 
                                 structure.
UNIUST    7-8                    Unit status, as follows:
                  UNVPIM         0 - unit is up and pack
                                 mounted.
                  UNVPBM         1 - unit is up and pack is
                                 being mounted.
                  UNVNPM         2 - unit is up, but pack
                                 is not mounted.
                  UNVDWN         3 - unit is down.
UNIDES    9       UNPMSB         Unit has more than one SAT
                                 block.
UNIDES    10      UNPNNA         No new access on structure.
UNIAWL    11      UNPAWL         Structure is write-protected for
                                 all jobs.
UNIDES    12      UNPFUS         Unit got a file-unsafe.
UNIWMD    13      UNPWMD         Unit waiting for MDA to do 
                                 something.
UNIDES    14      UNPALT         Unit is dual-ported.
          15      UNPUSI         Unit status is inconsistent.
          16      UNPRSS         Removing swapping space from unit.
UNISCN    18-20                  Data channel number
.pg
Word             Bit Label or
Label    Bit     Byte Pointer    Content
.b
UNIKTP    21-26   UNYKTP         Controller type, as follows: 
                  TYPDR          0 - DR (Future drum, if any)
                  TYPFH          1 - FH RC10 (Burroughs disk or
                                 Bryant drum)
                  TYPDP          2 - DP RP10 (RP01-03 disks)
                  TYPMD          3 - MD Bryant mass disk
                  TYPFS          4 - FS RH10 with RS04
                  TYPRP          5 - RP RH10 with RP04-06
                  TYPRN          6 - RH20/RP20
UNIKNM    27-29   UNYKNM         Controller number within type.
UNIUTP    30-32   UNYUTP         Unit type
UNIPUN    33-35   UNYPUN         Physical unit number within
                                 controller.
.b2.lm0.fill
Notes:
.ls.le;This word is returned by the DSKCHR UUO.  Those items
marked with an asterisk are returned by the DSKCHR UUO.
.le;Controller type starts at zero (for example, DPA=0, DPB=1, and so on).
.els
.page;.no fill
UNI2ND Word
.b
+-------------------------------------------+
|    Dual port flag    |    UDB address     |
+-------------------------------------------+
 0                   17 18                35
.b.f
Entire word is zero if this unit is not being accessed through dual
ports.  For units which are dual ported, UNI2ND will be one of the
following: 
.lm5.b.nf
XWD  0,UDB-addr-of-alternate   If this is the main port for the 
                               unit
.b
XWD -1,UDB-addr-of-main        If this is the alternate port
.lm0
.b2
UNIAJB Word
.ls;.le;Is -1 if no DA in progress on this unit
.le;Is +n if job n is allocating but no other jobs are waiting.
.le;Is n,,n is job n is allocating and others are waiting to use
the DA resource.
.els
.pg.f.lm0
Name:  UFB -- UFD Data Block
.b.lm15.i-15
Description:	One data block for every UFD/file structure
pair which has an active file.  All blocks for a file structure
are linked together.
.b.i-15
Defined in:	COMMOD
.b.i-15
Used by:	FILFND, FILIO, FILUUO
.b.lm0
Format:
.b;.lit
        +-------------------------------------------------------+
 UFBTAL |   Total of reserved + free blocks left in this UFD    |
        |-------------------------------------------------------|
*UFBPPB |Next UFB, this user |  privileges   |  UN1 |           |
        |-------------------------------------------------------|
 UFBPT1 |            First retrieval pointer to UFD             |
        |-------------------------------------------------------|
 UFBWRT |             FCFS quota             |     Nr. blks     |
        |-------------------------------------------------------|
 UFBFSN | FSN  |                                                |
        |-------------------------------------------------------|
 UFBAUJ | Equals n is job n owns the AU for this UFB            |
        |-------------------------------------------------------|
 UFBWAT | Non-zero is a job is waiting for the AU resource      |
        +-------------------------------------------------------+
.el.b
Notes:
.b
UFBTAL will go negative if the user has exceeded quota and is using
overdraw.  No new ENTERs allowed if this is 0 or negative.  Total includes
RIBs.
.b
UFBWRT - Bits 0-26 contain the logged-in first-come/first-served
quota.  This is never decremented.  Bits 27-35 contain the
number of blocks written in the UFD itself.
.pg
UFBPPB Byte Definitions:
.b.literal
        +-------------------------------------------------------+
     (1)|                         |             |  |     |      |
        +-------------------------------------------------------+
         0                      17 18         26   28     32  35
.el
.B;.no fill
Word
Label    Bits      Symbol     Content
.b
UFBPPB   0-17                 Core address of next UFD data 
                              block for this PPN (in another 
                              file structure).
UFBPRV   18-26     UFYPRV     Access privileges for this UFD 
                              in this structure.
                              Byte pointer UFYPRV used to 
                              load this byte into AC.
                              UFRXLK = 4  Can do LOOKUPs
                              UFRXCR = 2  Can create files
                              UFRXRD = 1  Can read directory
UFB1PT    27      UFP1PT      Set if UFBPT1 is the only 
                              retrieval pointer for this UFD.
UFBUN1    28-31   COYUN1      Logical unit number within file
                              structure associated with first 
                              retrieval pointer.
.pg
.lm0
Name: UFD -- User File Directory
.f.b;.lm15;.i-15
Description:	Contains the locations for all files in the structure belonging
to a particular project programmer number.  One UFD in each structure for each
project programmer number having any files in that structure.
.b.i-15
Defined in:	COMMOD
.B.i-15
Used by:	FILFND, FILIO, FILUUO
.lm0.b
Format:
.nf.b;.lm10
+-------------------------------------+
|            File 1 entry             |
|-------------------------------------|
|            File 2 entry             |
|-------------------------------------|
|            File 3 entry             |
|-------------------------------------|
|                                     |
+-------------------------------------+
.b2;.lm0
Format of each entry:
.b.lit
        +-------------------------------------+
UFDNAM  |         File name in SIXBIT         |
        |-------------------------------------|
UFDEXT  |    Extension     |       CFP        | UFDCFP
        +-------------------------------------+
.el.f;.b2
Note:  
.b
See MFD for discussion of compressed file pointers (CFPs).
.PG.LM0.F.PS58,70
Name:  UPT -- User Process Table
.b.lm15.ts15.i-15
Description:	Contains information about each job, and is used by the
monitor to control memory mapping, scheduling, and I/O, and contains
"scratch space" for dynamically changing variables about the job.
.B
The UPT is pointed to by the GETTAB table .GTUPM (100), and has been called
the User Page Map Page (UPMP) for many years.  Actually, the UPT points to
the page map for user section 0, but contains no page mapping information
itself.  
.b.i-15
Defined in:	S.MAC
.lm0.b
Format:
.b.literal
Symbol  Offset     Map                                             
                  +------------------------------------------------------+
JOBPDO    0       /            Push down list (156 words)                /
                  |------------------------------------------------------|
JOBPRO  156       |       Protected job data area (24 words)             |
                  |------------------------------------------------------|
.UPLPS  202       |    Saved pointer to current virtual page number      |
                  |------------------------------------------------------|
.UPSLX  203       |                        |      SWPLST index           |
                  |------------------------------------------------------|
.UPTMP  204       |    Temporary locations used for swapping (6 words)   |
                  |------------------------------------------------------|
.UPUAC  212       | Block of 20 ACs used to save job's ACs               |
                  |   while getting PFH.EXE                              |
                  |------------------------------------------------------|
.UPFFT  232       |           Virtual time of first page fault           |
                  |------------------------------------------------------|
.UPLFT  233       |                Virtual time of last fault            |
                  |------------------------------------------------------|
.UPVCT  234       |   Real page faults     |  Faults when page is in core|
                  |------------------------------------------------------|
.UPREL  235       |     Highest location gotten by CORE UUO or command   |
                  |------------------------------------------------------|
.UPTMI  236       |       Interval for virtual time interrupts           |
                  |------------------------------------------------------|
.UPTMC  237       |  Count-down counters for virtual timer interrupts    |
                  |------------------------------------------------------|
.UPNXP  240       |        Page range as specified in PAGE. arg. list    |
                  |------------------------------------------------------|
.UPJOB  241       |                    Job number                        |
                  |------------------------------------------------------|
.UPMEM  242       |           Total virtual memory a job has             |
                  |------------------------------------------------------|
.UPHSE  243       |  Virtual address of the end of the high segment      |
                  |------------------------------------------------------|
.UPHSS  244       |  Virtual address of the start of the high segment    |
                  |------------------------------------------------------|
.end literal
.pg
.literal
Symbol  Offset     Map
                  |------------------------------------------------------|
.UPVRT  245       |Non-zero if job is virtual (LH=high seg.,RH=low seg.) |
                  |------------------------------------------------------|
.UPBTS  246       |           Random collection of bits  (see below)     |
                  |------------------------------------------------------|
.UPANA  247       |            Count of non-accessible pages             |
                  |------------------------------------------------------|
.UPICT  250       |          Incremental count of page faults            |
                  |------------------------------------------------------|
.UPPFH  251       |             Copy of .JBPFH on swap-out               |
                  |------------------------------------------------------|
.UPFOP  252       |       Used by FILOP. to recover from a page fail     |
                  |------------------------------------------------------|
SPYTAB  253       /            Spy pages table  (17 words)               /
                  |------------------------------------------------------|
.UPHVA  272       |    Used for address checking at interrupt level      |
                  |------------------------------------------------------|
.UPLST  273       |Pointer to swappable DDBs  |                          |
                  |------------------------------------------------------|
.UPFCC  274       |             Header for cached free space             |
                  |------------------------------------------------------|
.UPFCU  275       |            Header for uncached free space            |
                  |------------------------------------------------------|
.UPFCD  276       |Core loc. of SWITCH.INI   | Header for restricted     |
                  |                          |    free space             |
                  |------------------------------------------------------|
.UPLNM  277       |Ptr. to logical name space|         T4                |
                  |------------------------------------------------------|
.UPCTA  300       |                          |Extended channel table loc.|
                  |------------------------------------------------------|
.UPMBF  301       |           Address of monitor buffer                  |
                  |------------------------------------------------------|
.UPLBF  302       |  Flag to indicate use of extra page of directory     |
                  |  0=don't get, -n=IOWD for it, n=can get              |
                  |------------------------------------------------------|
.UPSBF  303       |         Saved .UPMBF when doing 4-block read         |
                  |------------------------------------------------------|
.UPEND  304       |          Last word allocated to UPMP                 |
                  |------------------------------------------------------|
.UPPFT  420       |  Addr of user page fault trap instruction            |
                  |------------------------------------------------------|
.UPAOT  421       |  Addr of user arithmetic trap instruction            |
                  |------------------------------------------------------|
.UPPDT  422       |  Addr of user push down list overflow instruction    |
                  |------------------------------------------------------|
.UP03T  423       |          Addr of user trap 3 instruction             |
                  |------------------------------------------------------|
.UPMUO  424       |      MUUO flags           |   MUUO opcode, AC        |
                  |------------------------------------------------------|
.end literal
.pg
.literal
Symbol  Offset     Map
                  |------------------------------------------------------|
.UPMUP  425       |               MUUO old PC                            |
                  |------------------------------------------------------|
.UPMUE  426       |                MUUO effective address                |
                  |------------------------------------------------------|
.UPUPF  427       |        Addr of user page fail word                   |
                  |------------------------------------------------------|
.UPMTS  430       /            MUUO trap vector (10 words)                /
.UPMTE  437       /            End of trap vector                        /
                  |------------------------------------------------------|
WSBTAB  440       |   Working set bit table (17 words)                   |
                  |------------------------------------------------------|
AABTAB  457       |   Access allowed bit table (17 words)                |
                  |------------------------------------------------------|
        476       /                     Unused  (2 words)                /
                  |------------------------------------------------------|
.LMPFW  500       |                 Page fail word                       |
                  |------------------------------------------------------|
.LMPFP  501       |               Page fail old PC word (2 words)        |
                  |------------------------------------------------------|
        503       |               Page fail new PC word                  |
                  |------------------------------------------------------|
.LMEBH  504       |     EBOX cycle meter count (high-order bits)         |
                  |------------------------------------------------------|
.LMEBL  505       |     EBOX cycle meter count (low-order bits)          |
                  |------------------------------------------------------|
.LMMBH  506       |     MBOX cycle meter count (high-order bits)         |
                  |------------------------------------------------------|
.LMMBL  507       |     MBOX cycle meter count (low-order bits)          |
                  |------------------------------------------------------|
                  /                   Unused                             /
                  |------------------------------------------------------|
SECTAB  540       |      Address of user's Section 0 page map page       |
                  |------------------------------------------------------|
        .  .  .   /            Reserved for use by DIGITAL               /
        777       /                                                      /
                  +------------------------------------------------------+

.end literal
.pg
Notes:
.b.lm5
The bits defined in .UPBTS are:
.b.nf
Bits   Symbol   Meaning
.b
  1    UP.WHC   Working set has changed.
  2    UP.MGP   Monitor got PFH
  3    UP.GET   Running GET to get program that is
                to big to fit in core
  4    UP.SAA   Set access allowed immediately
  5    UP.CSP   Core image may contain SPY pages
  6    UP.MPF   Merging PFH
  7    UP.MMO   Job owned and released MM resource
                over scheduler call
  8    UP.PGB   Paging I/O pages have not been returned
  9    UP.IYB   "In-your-behalf" PPN
 10    UP.WSS   Working set is scrambled
 11    UP.DST   Don't put TTY at monitor level
 12    UP.CXO   Core image (not just high seg.)
                is execute-only
 13    UP.FIP   FILOP. in progress
 14    UP.DDW   Don't diddle working set
 15    UP.MIP   Migrate set lock for this job
18-35  UP.SWS   Address of saved copy of working set
.pg.fill.LM0
Name:  UUOTAB -- UUO Dispatch Address Table
.f.b;.lm15;.i-15
Description:	Contains address of operator-dependent UUO routines.
.B
Table is in order of UUO op code, with two addresses per entry.  Entry n
contains entries corresponding to op codes 40 + 2n, 41 + 2n.
.b
Entries corresponding to invalid op codes contain the address of UUOERR.
Some of these are reserved for future use by DIGITAL, others for customers.
See current listing for specific examples.
.b.i-15
Defined in:	UUOCON
.b.i-15
Used by:	UUOCON
.b.lm0
Format:
.b.literal
+-------------------------------------------------------+
|    Adr for op code 40     |    Adr for op code 41     |
|-------------------------------------------------------|
|    Adr for op code 42     |    Adr for op code 43     |
|-------------------------------------------------------|
/                           .                           /
/                           .                           /
|-------------------------------------------------------|
|    Adr for op code 76     |    Adr for op code 77     |
+-------------------------------------------------------+
.end literal
.pg
.b
Name:  WSBTAB -- Working Set Bit Table
.B.f;.lm15.i-15
Description:	This bit table is found in the UPT from location
440 to 456.  If a bit is on in this table, then the relative page is
in core.
.b.i-15
Defined in:	S.MAC
.B.i-15
Used by:	VMSER
.b.lm0
Format:
.b.LIT
        +-------------------------------------+
        |                                     |
        |                                     |
        |                                     |
        |-------------------------------------|
   440  | | | | | |                           |
        |-------------------------------------|
        |                                     | WSBTAB
        |                                     |
        |-------------------------------------|
   456  |                           | | | | | |
        |-------------------------------------|
        |                                     |
.EL
.pg
.ax ANF-10 TABLES DESCRIPTIONS
.RIGHT MARGIN 62.ts
.SKIP 2
.CENTER;List of ANF-10 Tables
.SKIP 2.lm7.nf
Chunk words
Device Data Blocks
DH-11 Blocks
DMC-11 Blocks
Line Blocks
Line Control Blocks
Phase II Link Entry Blocks
Station Control Blocks
Task Blocks
To-Eleven Blocks
To-Ten Blocks
.PG
.RIGHT MARGIN 70.lm0
.LITERAL

Name:	Chunk Words


Description:       Describes the format of chunks for messages.

            
Defined in:        DNCNFG.P11


           +---------------------------------------------------------------+
     =0    |                     Link to next chunk in                     |
           |                        current message                        |
           |---------------------------------------------------------------|
 CN.MLK    |                      Link to next message                     |
           |                         (or 0 if none)                        |
           |---------------------------------------------------------------|
 CN.LEN    |             Message length, including NCL header,             |
           |                       but excluding BCC                       |
           |---------------------------------------------------------------|
 CN.TIM    |                          DDCMP timer                          |
           |---------------------------------------------------------------|
 CN.DDB    |              Address of DDB sending this message              |
           |            (depends on DEVN+FT.DTE not equal to 0)            |
           |---------------------------------------------------------------|
 CN.SCB    |               Pointer to SCB window for message               |
           |---------------------------------------------------------------|
 CN.ADR    |                  Address of next byte to use                  |
 CN.DDC    |                (start of DDCMP header:  CN.DDC)               |
           |---------------------------------------------------------------|
 CN.CNT    |                 Count of bytes left in message                |
           +---------------------------------------------------------------+
 CN.NCN    |                         NCN saved here                        |
           |---------------------------------------------------------------|
           |                        DDCMP header BCC                       |
           |---------------------------------------------------------------|
 CN.NCT    |                    NCT byte of NCL message                    |
           |                 (the NCL message begins here)                 |
           |---------------------------------------------------------------|
DATA       |                    This is the message data                   |
           |                                                               |
           +---------------------------------------------------------------+
CNKSIZ==>

Notes:

          CNKLN1 = Max. amount of data in first chunk of message
                   (CNKSIZ - CN.NCT)
          CN.DT2 = Length of header in succeeding chunks of message
          CNKLN2 = Max. amount of data in succeeding chunks of message
                   (CNKSIZ - CN.DT2)
.END LITERAL
.PG
.LITERAL

Name:        Device Data Blocks


Description:       Contains information needed to perform I/O operations.
                   One such block for each device.


Defined in:        DNDEV.P11

 
           +---------------------------------------------------------------+
 DB.STS    |                          Status bits                          |
           |                                                               |
           |DS.|DS.|DS.|DS.|DS.|DS.|DS.|DS.|DS.|   |DS.|DS.|DS.|DS.|DS.|DS.|
           |CON|XDS|TTY|IQU|EPL|XCH|COR|Q10|PAU|   |DIE|ACT|OUT|QUE|DSC|CAC|
           |---------------------------------------------------------------|
 DB.LNK    |                        Link address to                        |
           |                            next DDB                           |
           |---------------------------------------------------------------|
 DB.HDW    |                  Hardware address for device                  |
 DB.DHB    |                                                               |
           |---------------------------------------------------------------|
 DB.RPC    |                    Default starting address                   |
           |                  (moved to DB.OPC by CLRDDB)                  |
           |---------------------------------------------------------------|
 DB.TPC    |                 Timer-runout dispatch address                 |
           |                                                               |
           |---------------------------------------------------------------|
 DB.DVT    |                       Device attributes                       |
           |                                                               |
           |---------------------------------------------------------------|
 DB.DVU    |     Device controller type    |        Device unit type       |
 DB.DVV    |                               |                               |
           |---------------------------------------------------------------|
 DB.WID    |                  Carriage width for terminals                 |
 DB.RLN    |                Record length for other devices                |
           |---------------------------------------------------------------|
 DB.ACR    |          Unit number          |        Auto-CRLF point        |
 DB.UNI    |                               |                               |
           |---------------------------------------------------------------|
 DB.OBJ    |       NCL remote object       |        NCL object type        |
 DB.ROT    |              type             |                               |
           |---------------------------------------------------------------|
 DB.MDR    |Maximum number of chunks device|    Maximum number of output   |
 DB.CHK    |  can have before sending DRQ  |      data requests (DRQ)      |
           |---------------------------------------------------------------|
 DB.TYP    |     Restricted node number    |         Type of device        |
 DB.RNN    |    (Depends on FT.RNN = 1)    |                               |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
           +---------------------------------------------------------------+
 DB.PFH    |  Node number to reconnect to  |  Preferred host to connect to |
 DB.RCN    |      (Depends on FTHOST)      |      (Depends on FT.PFH)      |
           |---------------------------------------------------------------|
 DB.OLA    |                        Our link address                       |
           |                                                               |
           |---------------------------------------------------------------|
 DB.RDT    |                  Remote data type (see below)                 |
           |              depends on FT.RDM, FT.RDP, or FT.RDA             |
           +---------------------------------------------------------------+
 DB.TSK    |       Address of task for this device:  Printer get task      |
           |                    (depends on FT.TSK= 1)                     |
           |---------------------------------------------------------------|
     +2    |                       Keyboard get task                       |
           |                    (depends on FT.TSK= 1)                     |
           |---------------------------------------------------------------|
     +4    |                        Printer put task                       |
           |                    (depends on FT.TSK= 1)                     |
           |---------------------------------------------------------------|
     +6    |                       Keyboard put task                       |
           |                    (depends on FT.TSK= 1)                     |
           |---------------------------------------------------------------|
 DB.DCS    |                     Device control status                     |
 DB.ZER    |                                                               |
           |TS.|TS.|RNG|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|TS.|
           |ADL|DSR|CAR|DTR|CRL|LMD|TIW|FRM|TAB|TAP|PAG|IMO|IMI|FRZ|.LC|DFE|
           |---------------------------------------------------------------|
 DB.MML    |                     Maximum message length                    |
           |                           for device                          |
           |---------------------------------------------------------------|
 DB.DCM    |                               |       Data code and mode      |
           |                               |          (see below)          |
           |   |   |   |   |   |   |   |   |   |DCM|DCM|DCM|DCM|DCM|DCM|DCM|
           |   |   |   |   |   |   |   |   |   |.CF|.XX|.DI|.HO|.IM|.EB|.AS|
           |---------------------------------------------------------------|
 DB.RLA    |                      Remote link address                      |
           |                                                               |
           |---------------------------------------------------------------|
 DB.SCB    |              SCB address for user of this device              |
           |                                                               |
           |---------------------------------------------------------------|
 DB.OBF    |               Pointer to From-10 (output) buffer              |
           |                                                               |
           |---------------------------------------------------------------|
 DB.OLN    |                   Length of current message                   |
           |                                                               |
           |---------------------------------------------------------------|
 DB.OCN    |                 Count for current sub-message                 |
           |                                                               |
           +---------------------------------------------------------------+

.END LITERAL
.PG
.LITERAL

           +---------------------------------------------------------------+
 DB.OAD    |                      Current byte pointer                     |
           |                                                               |
           |---------------------------------------------------------------|
 DB.OPC    |                 PC to run at when in run queue                |
           |                                                               |
           |---------------------------------------------------------------|
 DB.ODR    |     Current column number     |        Number of output       |
 DB.COL    |                               |         data requests         |
           |---------------------------------------------------------------|
 DB.IDR    |      Compressed character     |        Number of input        |
 DB.CCN    |             Count             |         data requests         |
           |---------------------------------------------------------------|
 DB.TIM    |        Timer type code        |          Timer value          |
           |                               |Negative=seconds, Positive=Jiff|
           |---------------------------------------------------------------|
 DB.HLD    |                      Character being held                     |
           |             (used when outputting free CRLF,...)              |
           |---------------------------------------------------------------|
 DB.VFU    |                 Pointer to line-printer's VFU                 |
           |                                                               |
           |---------------------------------------------------------------|
 DB.CHR    |                  Character being uncompressed                 |
           |                                                               |
           |---------------------------------------------------------------|
 DB.IBF    |               Pointer to To-10 (input) buffers                |
           |                                                               |
           +---------------------------------------------------------------+
 DB.ICC    |                               |     Input character count     |
           |                               |                               |
           |---------------------------------------------------------------|
 DB.ICN    |              Input message count:  total message              |
           |                                                               |
           |---------------------------------------------------------------|
     +2    |           Incremental count for current sub-message           |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |                Address of field for byte count                |
           |                                                               |
           |---------------------------------------------------------------|
 DB.IAD    |                    Input character address                    |
           |                                                               |
           +---------------------------------------------------------------+
 DB.SIZ==>

           End of standard DDB.

          The following pages contain the terminal-dependent data.
.END LITERAL
.PG
.LITERAL
 
           +---------------------------------------------------------------+
 DB.BIT    |                       Line number mask:                       |
           |        PDP-11 bit number "n" is set for line number "n"       |
           |---------------------------------------------------------------|
 DB..LN    |   Fill timer for <^H> <010>   |    4 bit binary line number   |
 DB.FIL    |          (backspace)          |                               |
           |---------------------------------------------------------------|
           |   Fill timer for <LF> <012>   |   Fill timer for <^I> <011>   |
           |          (line feed)          |             (tab)             |
           |---------------------------------------------------------------|
           |   Fill timer for <FF> <014>   |   Fill timer for <VT> <013>   |
           |          (form feed)          |         (vertical tab)        |
           |---------------------------------------------------------------|
           |       Serial number for       |    Fill time for <CR> <015>   |
 DB.EPL    |   Echo pipeline marker (EPL)  |       (carriage return)       |
           |---------------------------------------------------------------|
 DB.LCB    |                         Pointer to LCB                        |
           |            for physical line to user of this device           |
           +---------------------------------------------------------------+
 DB.DNS    |     DN-11 timer (seconds)     |DN-11 table displacement & stat|
 DB.DNT    |      (depends on FTDN11)      |      (depends on FTDN11)      |
           |---------------------------------------------------------------|
 DB.TTS    |                     TTY status (see below)                    |
           |                                                               |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |CHR|TT.|
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |APL|APL|
           |---------------------------------------------------------------|
 DB.DNR    |                 DN-11 request word (see below)                |
 DB.TZR    |                      (depends on FTDN11)                      |
           |---------------------------------------------------------------|
 DB.BCD    |                BCD terminal status  (see below)               |
           |                      (depends on FT2741)                      |
           |BCD|BCD|BCD|BCD|BCD|<==|BCD|==>|BCD|BCD|BCD|BCD|BCD|BCD|BCD|BCD|
           |274|XRB|KBL|PRL|CDB|   |COD|   |BRK|UPS|OCR|RCR|CON|TDY|APL|HDB|
           +---------------------------------------------------------------+
 DB.STR    |                   Pointer to string to type                   |
           |                                                               |
           |---------------------------------------------------------------|
 DB.TOC    |              Number of output characters in chunk             |
           |                                                               |
           |---------------------------------------------------------------|
 DB.TOB    |                       TTY output buffer:                      |
           |                   pointer to first character                  |
           |---------------------------------------------------------------|
     +2    |                   Pointer to last character                   |
           |                                                               |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL

           +---------------------------------------------------------------+
 DB.ASP    |         Character for         |         ASAP character        |
 DB.BUF    |         DH-11 to type         |           (^G, ...)           |
           |---------------------------------------------------------------|
 DB.FTM    |                Fill time for current character                |
           |                                                               |
           |---------------------------------------------------------------|
 DB.PCN    |          Printer count (number of characters from NCL)        |
           |      (this and the following words depend on FT.TSK = 1)      |
           |---------------------------------------------------------------|
 DB.PPT    |                     Printer putter pointer                    |
           |                                                               |
           |---------------------------------------------------------------|
 DB.PTK    |                     Printer taker pointer                     |
           |                                                               |
           |---------------------------------------------------------------|
 DB.KPT    |                    Keyboard putter pointer                    |
           |                                                               |
           |---------------------------------------------------------------|
 DB.KTK    |                     Keyboard taker pointer                    |
           |                                                               |
           |---------------------------------------------------------------|
 DB.KQU    |                  Beginning of keyboard queue                  |
           |                    (length is "TQS" words)                    |
           |---------------------------------------------------------------|
           |                    (End of keyboard queue)                    |
           |                                                               |
           +---------------------------------------------------------------+
 DB.TSZ==>

 Notes:

            The symbol FIRDDB points to the first DDB in the system.

            Bits in DB.STS word:
            *=Bits cleared on DDB initializaion ("CLRDDB")

            Bit Label     Value         Description

            DS.CAC        000001        Send out CONNECT ACCEPT
            DS.DSC        000002        Send out DISCONNECT CONFIRM
            DS.QUE*       000004        Device has a RUN request in queue
            DS.OUT*       000010        Device does output
            DS.ACT*       000020        Device is ACTIVE
            DS.DIE        000040        Abort, other end of connection died
            DS.IST        000100        Input stopped by XOFF
            DS.PAU        000200        Task is using TTY for input
                                        (FT.TSK=1) 
            DS.Q10        000400        Task has queued characters to ten
                                        (FT.TSK=1) 
            DS.COR        001000        Device wants core to run
            DS.XCH        002000        Send CHARACTERISTICS message
            DS.EPL        004000        Send echo pipeline marker
            DS.IQU        010000        Input has been queued to NCL
            DS.TTY*       020000        Device is a terminal
            DS.XDS        040000        Send DB.DCS to other node
            DS.CON        100000        Device is CONNECTED
.END LITERAL
.PG
.LITERAL

           Meanings of DB.RDT (Remote Data Type):

           Bit Label       Value         Description

           RDEMPT          000001        Multipoint
           RDEPTP          000002        Point-to-Point
           RDEASC          000004        ASCII
           RDEBRK          100000        ASCII break was seen

           Start zeroing at DB.ZER on a restart.

           Meanings of DB.DCS bits for terminals:

           TS.DFE          000001        Deferred echo mode
           TS..LC*         000002        Lower case mode
           TS.FRZ          000004        Output frozen by XOFF
           TS.IMI          000010        Input image mode
           TS.IMO          000020        Output image mode
           TS.PAG          000040        TTY paging enabled (XON/XOFF) 
           TS.TAP          000100        Papertape mode
           TS.TAB*         000200        Hardware tabs
           TS.FRM*         000400        Hardware form feeds
           TS.TIW          001000        Terminal is in input wait
           TS.LMD          002000        Terminal is in line mode
           TS.CRL          004000        No free CRLF
           TS.DTR*         010000        DTR is present on line
           TS.RNG*         020000        RING is present on line
           TS.CAR*         020000        CARRIER is present on line
           TS.DSR*         040000        DSR is present on line
           TS.ADL          100000        Line is an auto-dial line 
                                         (BELL 801) 

           * = Preserved on a system restart

           DB.DCS bits for line printers:

           LPT.FE          000001        Fatal error
           LPT.FL          000002        Offline
           LPT.PZ          000004        Page count zero
           LPT.VE          000010        VFU error
           LPT.RE          000020        RAM error
           LPT.IC          000040        Illegal
           LPT.OV          000100        Optical VFU
           LPT.PE          000200        Parity
           LPT.DE          000400        Demand
           LPT.ME          001000        Master synch error
           LPT.RV          002000        Receiving VFU data from the 10
           LPT.RR          004000        Receiving RAM data from the 10
.END LITERAL
.PG
.LITERAL

           Meanings of DB.DCM bits:

           Bit Label     Value      Description

           DCM.AS        001        ASCII
           DCM.EB        002        EBCDIC
           DCM.IM        004        Image mode
           DCM.HO        010        Hollerith mode (card reader only)
           DCM.DI        020        DEC Image mode (card reader only)
           DCM.XX        040        Reserved
           DCM.CF        100        Compressed data mode

           Meaning of DB.TTS bits:

           TT.APL        000001     Terminal is in APL mode
           CHRAPL        000002     This is an APL character

           Meanings of DB.BCD BITS (used only if FT2741 is non-zero):

           BCD274        100000     This line is a 2741
           BCDXRB        040000     Sending a reverse break
           BCDKBL        040000     Keyboard is currently locked
           BCDPRL        010000     Printer is currently locked
           BCDCDB        004000     Last time line was reversed was to get 
                                    input 
           BCDCOD        003400     Code for current golf ball
           BCDBRK        000200     Currently processing a receive BREAK
           BCDUPS        000100     Set if in upper shift mode
           BCDOCR        000040     Set if last character xmitted was a
                                    <CR> 
           BCDRCR        000020     Set if last character received was a
                                    <CR> 
           BCDCON        000010     Set if last character was a control
                                    fan (^) 
           BCDTDY        000004     Set if terminal is in TTY TIDY mode
           BCDAPL        000002     Set if terminal is in APL mode
           BCDHDB        000001     Set if terminal has DEBREAK feature

           Value of TSQ (number of words in keyboard queue) is 20 octal.
.END LITERAL
.PG
.LITERAL

Name:        DH-11 Blocks                                    


Description:     Contain device dependent information pertaining to each
                 DH11.  One such block for each DH11. Referenced by DH#BLK
                 where "#" is the DH-11 number (0,1,2,...)

 
Defined in:      DNDH11.P11

 
           +---------------------------------------------------------------+
     =0    |                 Hardware address of this DH-11                |
           |                       (0 if not present)                      |
           |---------------------------------------------------------------|
 DHBBAR    |                       Active lines mask                       |
           |           PDP-11 bit "n" is on if line "n" is active          |
           |---------------------------------------------------------------|
 DHB.BN    |               Line number on node of first line               |
           |                         on this DH-11                         |
           |---------------------------------------------------------------|
 DHB.DM    |               Address of DM-11BB for this DH-11               |
           |                          (0 if none)                          |
           |---------------------------------------------------------------|
 DHB.VC    |                  Vector address of this DH-11                 |
           |                                                               |
           |---------------------------------------------------------------|
 DHB.LC    |               Start of the LCBs for this DH-11                |
           |                                                               |
           |---------------------------------------------------------------|
           |          This space contains the line control blocks          |
           |                      (LC..SZ X 20) words                      |
           +---------------------------------------------------------------+
 DHB.SZ==>

 Notes:

           DHB.SZ = DHB.LC + (20-LC..SZ)
.END LITERAL
.PG
.LITERAL

Name:        DMC-11 Blocks


Description:      Contain pointers to DMC-11 buffers. Allocated within
                  each Line Block on systems with DMC-11s.

Defined in:       DNCDMC.P11


           +---------------------------------------------------------------+
 CBQ.CT    |                          Queue length                         |
           |                                                               |
           |---------------------------------------------------------------|
 CBQ.FS    |                    Address of first buffer                    |
           |                                                               |
           |---------------------------------------------------------------|
 CBQ.LS    |                     Address of last buffer                    |
           |                                                               |
           +---------------------------------------------------------------+
 CBQ.LN ==>
.END LITERAL
.PG
.LITERAL

Name:        Line Blocks                                    


Description:    Contain information for DDCMP lines.   One block for each
                DDCMP line.   Referenced by LBLK# where "#" is  the  line
                number (0,1,2,...NTLINE).


Defined in:     DNCNFG.P11

 
           +---------------------------------------------------------------+
 LB.STS    |                        Line status bits                       |
           |                          (see below)                          |
           |LS.|MPT|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|LS.|
           |.SS|NSP|SSY|XDT|XCT|.RN|.XG|.RG|.XQ|.RQ|NRP|XRP|XAK|XNK|STK|.ST|
           |---------------------------------------------------------------|
 LB.ST5    |                       Second status word                      |
           |                          (see below)                          |
           |L2.|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           |DDP|   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           |---------------------------------------------------------------|
 LB.LNK    |                    Link to next line block                    |
           |                                                               |
           |---------------------------------------------------------------|
 LB.DDB    |                 Addr. of associated DDP device                |
           |               (depends on FT.DDP not equal to 0)              |
           |---------------------------------------------------------------|
 LB.BIT    |                Bit corresponding to line number               |
           |       (PDP-11 bit number "n" is on for line number "n")       |
           |---------------------------------------------------------------|
 LB.LNU    |  Device service routine code  |          Line number          |
 LB.DVS    |          (see below)          |            (binary)           |
           +---------------------------------------------------------------+
 LB.LVL    |                         Level for link                        |
           |                                                               |
           |---------------------------------------------------------------|
 LB.DHB    |            Asynch:  DH11/DZ11 device control block            |
 LB.SLA    |                 Synch:  line hardware address                 |
           |---------------------------------------------------------------|
 LB..LN    |                   Asynch:  4 bit line number                  |
 LB.SLV    |            Synch:  synchronous line vector address            |
           |---------------------------------------------------------------|
 LB.LCB    |          DH11/DZ11 only:  line control block address          |
           |                 (Depends on DH.MAX+DZ.MAX > 0)                |
           |---------------------------------------------------------------|
 LB.MPL    |             Link to next line drop for multipoint             |
           |                      (depends on FT.MPT)                      |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
 
           +---------------------------------------------------------------+
 LB.MPN    |           Multipoint next station selection control           |
           |                      (depends on FT.MPT)                      |
           |---------------------------------------------------------------|
 LB.MPA    |       Multipoint select       |       Multipoint station      |
 LB.MPT    |             Timer             |            Address            |
           |---------------------------------------------------------------|
 LB.MPS    |       Additional control      |        Multipoint node        |
           |             status            |             status            |
           |   |   |   |   |   |   |   |   |MP.|MP.|MP.|MP.|   |MP.|   |MT.|
           |   |   |   |   |   |   |   |   |SEL|OFF|SOL|SNM|   |RTS|   |CMS|
           +--------------------------------------------------------------+
 LB.NSS    |                     NSP status (see below)                    |
           |                      (Depends on FTDCP1)                      |
           |   |NS.|NS.|NS.|   |NS.|   |   |   |   |   |   |   |   |   |   |
           |   |STR|EDS|CNF|   |NSQ|   |   |   |   |   |   |   |   |   |   |
           |---------------------------------------------------------------|
 LB.NNM    |         Node number he        |        Node number for        |
 LB.DNA    |            talks to           |            NSP node           |
           |---------------------------------------------------------------|
 LB.MML    |                     Maximum message length                    |
           |                                                               |
           |---------------------------------------------------------------|
 LB.SNM    |          Software ID          |          Station name         |
 LB.SID    |         (SIDSIZ bytes)        |         (SNMSIZ bytes)        |
           |---------------------------------------------------------------|
 LB.DAT    |   Configuration information   |              Date             |
 LB.CNF    |         (NSPCFS bytes)        |         (DATESZ bytes)        |
           |---------------------------------------------------------------|
 LB.VNN    |    ANF node name for DECNET   |   ANF node number for DECNET  |
 LB.VNM    | (depends on FTDCP4) (6 bytes) |   (depends on FTDCP3!FTDCP4)  |
           |---------------------------------------------------------------|
           |                               |                               |
           |                               |                               |
           |---------------------------------------------------------------|
           |                               |                               |
           |                               |                               |
           +---------------------------------------------------------------+
           |   DECNET node number for ANF  |                               |
 LB.HNN    |                               |                               |
           |---------------------------------------------------------------|
 LB.HNM    |                               |    DECNET node name for ANF   |
           |                               |           (6 bytes)           |
           |---------------------------------------------------------------|
           |                               |                               |
           |                               |                               |
           |---------------------------------------------------------------|
           |                               |                               |
           |                               |                               |
           |---------------------------------------------------------------|
 LB.CNN    |          Options list         |      ANF node to recieve      |
 LB.CNF    |        (NSP$MX+1 bytes)       |        DECNET connects        |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
 
           +---------------------------------------------------------------+
 LB.OCN    |                     Count of ACKs received                    |
           |                       for messages sent                       |
           |---------------------------------------------------------------|
     +2    |                 Total number of NAKs received                 |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |                 NAKs received for REP responses               |
           |                                                               |
           |---------------------------------------------------------------|
     +6    |                NAKs received because of bad BCC               |
           |                                                               |
           |---------------------------------------------------------------|
    +10    |                   NAKs received for no room                   |
           |                                                               |
           |---------------------------------------------------------------|
 LB.ICN    |                 Number of messages received OK                |
           |                                                               |
           |---------------------------------------------------------------|
     +2    |                       Total bad messages                      |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |                Total transmitted REPs which won               |
           |                         NAK responses                         |
           |---------------------------------------------------------------|
 LB.BNN    |         Bootstrapping         |         Bootstrapping         |
           |             timer             |          node number          |
           +---------------------------------------------------------------+
 LB.FB     |                      First DMC-11 buffer                      |
           |               (depends on DMCN not equal to 0)                |
           |---------------------------------------------------------------|
 LB.BAS    |                     Address of DMC-11 base                    |
           |               (depends on DMCN not equal to 0)                |
           |---------------------------------------------------------------|
 LB.WHA    |                  Address of caller of L.DOWN                  |
           |                      (depends on FTWHYD)                      |
           |---------------------------------------------------------------|
 LB.WHS    |        Copy of LB.OBF+4       |    # of last ACKed message    |
 LB.WHN    |      (depends on FTWHYD)      |      (depends on FTWHYD)      |
           |---------------------------------------------------------------|
 LB.STX    |                    For DMC-11:  status word                   |
           |            For DUP-11:  dispatch address for driver           |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |LS2|LS2|LS2|
           |   |   |   |   |   |   |   |   |   |   |   |   |   |RUN|WAI|MAI|
           |---------------------------------------------------------------|
 LB.STY    |                     Status word for DUP-11                    |
           |                      (depends on FTDUP11)                     |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |UP$|
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |RCC|
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
 
           +---------------------------------------------------------------+
 LB.NSS    |                    Status word (see below)                    |
           |                 (depends on FTDCP3 or FTDCP4)                 |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |LBS|LBS|LBS|
           |   |   |   |   |   |   |   |   |   |   |   |   |   |.NQ|.L1|.IC|
           |---------------------------------------------------------------|
 LB.LEB    |                      Pointer to LEB chain                     |
           |                 (depends on FTDCP3 or FTDCP4)                 |
           |---------------------------------------------------------------|
 LB.LCT    |                       Active link count                       |
           |                      (depends on FTDCP1)                      |
           |---------------------------------------------------------------|
 LB.LKT    |                     Pointer to link table                     |
           |                      (depends on FTDCP1)                      |
           |---------------------------------------------------------------|
 LB.LLE    |                        Last link entry                        |
           |                      (depends on FTDCP1)                      |
           |---------------------------------------------------------------|
 LB.NSS    |                    Status word (see below)                    |
           |                 (depends on FTDCP3 or FTDCP4)                 |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |LBS|LBS|LBS|
           |   |   |   |   |   |   |   |   |   |   |   |   |   |.NQ|.L1|.IC|
           |---------------------------------------------------------------|
 LB.LEB    |                      Pointer to LEB chain                     |
           |                 (depends on FTDCP3 or FTDCP4)                 |
           |---------------------------------------------------------------|
 LB.SCB    |               SCB address for node at other end               |
           |                     of this physical link                     |
           |---------------------------------------------------------------|
 LB.2ND    |               Pointer to next line block in the               |
           |                    event of parallel lines                    |
           |---------------------------------------------------------------|
 LB.REP    |                           REP timer                           |
           |                   Counted down once a second                  |
           |---------------------------------------------------------------|
 LB.ROK    |      Last message number      |      Last message number      |
 LB.LAR    |          ACK received         |          received OK          |
           |---------------------------------------------------------------|
 LB.LAP    |        Highest message        |      Last message number      |
 LB.HSN    |          number sent          |         ACK processed         |
           |---------------------------------------------------------------|
 LB.RDC    |       Last NAK code sent      |           REP timer           |
 LB.NCD    |                               |      (incr once a second)     |
           |---------------------------------------------------------------|
 LB.TRY    |                               |Count of BCC NAKS rcvd for firs|
           |                               |message in queue (under FT.BIG)|
           |---------------------------------------------------------------|
 LB.XDN    |             Routine to JSR to on synchronous line             |
           |                    transmit done interrupts                   |
           |---------------------------------------------------------------|
 LB.CTL    |                Next control message to transmit               |
           |                           (10 bytes)                          |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL
 
           +---------------------------------------------------------------+
 LB.COB    |                     Current output buffer                     |
           |        Word 1 = Pointer to 1st chunk of current message       |
           |---------------------------------------------------------------|
     +2    |               Word 2 = Pointer to current chunk               |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |                 Word 3 = Number of bytes left                 |
           |                                                               |
           |---------------------------------------------------------------|
 LB.BOO    |              Pointer to bootstrap message to send             |
           |                                                               |
           |---------------------------------------------------------------|
 LB.OBF    |                        Output buffers                         |
           |                Word 1 = Address of first buffer               |
           |---------------------------------------------------------------|
     +2    |             Word 2 = Address of last buffer (or 0)            |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |              Word 3 = Number of messages in queue             |
           |                                                               |
           |---------------------------------------------------------------|
 LB.RDN    |               Dispatch address for receive done               |
           |                                                               |
           |---------------------------------------------------------------|
 LB.CIB    |          Current input buffer   (current chunk address)       |
           |                                                               |
           +---------------------------------------------------------------+
     +2    |              Number of characters left in message             |
           |                                                               |
           +---------------------------------------------------------------+
 LB.SXR    |                     Transmitter address #1                    |
           |                                                               |
           |---------------------------------------------------------------|
     +2    |                   Transmitter word count #1                   |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |                     Transmitter address #2                    |
           |                                                               |
           |---------------------------------------------------------------|
     +6    |                   Transmitter word count #2                   |
           |                                                               |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL

           +---------------------------------------------------------------+
 LB.SRR    |                      Receiver address #1                      |
           |                                                               |
           |---------------------------------------------------------------|
     +2    |                     Receiver word count #1                    |
           |                                                               |
           |---------------------------------------------------------------|
     +4    |                      Receiver address #2                      |
           |                                                               |
           |---------------------------------------------------------------|
     +6    |                     Receiver word count #2                    |
           |                                                               |
           +---------------------------------------------------------------+
 LB.SLE    |           Count of synchronous line error interrupts          |
           |     (depends on FT.SLB - synchronous line error reporting)    |
           |---------------------------------------------------------------|
     +2    |            Hardware status on last error interrupt            |
           |     (depends on FT.SLB - synchronous line error reporting)    |
           |---------------------------------------------------------------|
     +4    |            Count of synchronous line xmit timeouts            |
           |     (depends on FT.SLB - synchronous line error reporting)    |
           |---------------------------------------------------------------|
 LB.CTY    |           Address of string to type on CTY for line           |
           |                 (depends on FT.HLP and FT.SLB)                |
           |---------------------------------------------------------------|
 LB.CRS    |         Synchronous interface status at crash - word 0        |
           |                 (depends on DEBUG and FT.SLB)                 |
           |---------------------------------------------------------------|
     +2    |         Synchronous interface status at crash - word 1        |
           |                 (depends on DEBUG and FT.SLB)                 |
           |---------------------------------------------------------------|
     +4    |         Synchronous interface status at crash - word 2        |
           |                 (depends on DEBUG and FT.SLB)                 |
           |---------------------------------------------------------------|
     +6    |         Synchronous interface status at crash - word 3        |
           |                 (depends on DEBUG and FT.SLB)                 |
           +---------------------------------------------------------------+
 LB.IPT    |                          Input putter                         |
           |              relative to beginning of line block              |
           |---------------------------------------------------------------|
 LB.ITK    |                          Input taker                          |
           |              relative to beginning of line block              |
           |---------------------------------------------------------------|
 LB.IBF    |  Input buffers:  First 8 bytes are DDCMP ctrl msg or header.  |
           |      Word 5 is link to rest of message.  Length=5-NINBUF      |
           +---------------------------------------------------------------+
 LB.SIZ==>                                                    
                                                                
            This is the end of the standard Line Block.                   
                                                                
            Optional sections are described on the following pages.       
.END LITERAL
.PG
.LITERAL
                                                                
 This is the DMC-11 specific section of the Line Block, beginning at LB.IBF.
                                                                
           +---------------------------------------------------------------+
 LB.INQ    |                  Buffers given to DMC to fill                 |
           |                        (CBQ.LN words)                         |
           |---------------------------------------------------------------|
 LB.IND    |                 Filled buffers returned by DMC                |
           |                       (CBQ.LN words)                          |
           |---------------------------------------------------------------|
 LB.OUT    |                   Buffers queues to be sent                   |
           |                         CBQ.LN words.                         |
           |---------------------------------------------------------------|
 LB.TMO    |                    Timer to time out DMC-11                   |
           |                                                               |
           +---------------------------------------------------------------+

Notes:

           Meanings of LB.STS bits:                                       
                                                                
           Bit Label     Value         Description

           LS..ST        000001        Send a START
           LS.STK        000002        Send a STACK
           LS.XNK        000004        Send a NAK
           LS.XAK        000010        Send an ACK
           LS.XRP        000020        Send a REP message
           LS.NRP        000040        Need response to REP message
           LS..RQ        000100        RCV interrupt queued
           LS..XQ        000200        XMIT done interrupt queued
           LS..RG        000400        Synch receiver active
           LS..XG        001000        Synch transmitter active
           LS..RN        002000        Received NAK
           LS.XCT        004000        Transmitting a CONTROL message
           LS.XDT        010000        Transmitting a DATA message
           LS.SSY        020000        Strip synch before next message
           LS.MPT        040000        Multi-point line
           LS.NSP        040000        NSP line (depends on FTDCP1, FTDCP3
                                       or FTDCP4) 
           LS..SS        100000        Stripping synch now

           Meanings of LB.ST5 bits:                                        
                                                                
           L2.DDP        100000        Line block in use as a DDP device

           Meanings of LB.DVS (interrupt service routine) codes:          
                                                                
           0 =LS..DP    DP11 line         12=LS..UP     DUP11 line
           2 =LS..DS    DS11 line         14=LS..DM     DMC11 line
           4 =LS..DU    DU11 line         16=LS..DH     DH11 line
           6 =LS..DV    DV11 line         20=LS..DZ     DZ11 line
           10=LS..DQ    DQ11 line                                            
.END LITERAL
.PG
.LITERAL

           The following depend on FT.MPT:

           LB.MPN, LB.MPA, LB.MPT, LB.MPS
                                                                
           Meanings of LB.MPS (Node Status):                              
                                                                
           Bit Label     Value      Description

           MP.SEL        200        Station  selected
           MP.SFF        017        Selection failure count
           MP.OFF        100        Station offline
           MP.SOL        040        Set offline when deselected
           MP.SNM        020        Set select bit in next message
                                    transmitted 
           MP.RTS        004        Inhibits setting of RTS
           MP.CMS        001        Set to enable MP.RTS transition

           The following depend on FTDCP3 or FTDCP4 being set:         
                                                                
           LB.VNN, LB.VNM, LB.HNN, LB.HNM, LB.CNN, LB.CNF              
                                                                
           The following depend on FTDCP1 being set:                   
                                                                
           LB.NSS,LB.NNM,LB.DNA,LB.MML,LB.SNM,LB.SID,LB.DAT,LB.CNF
                                                                
           Meanings of LB.NSS bits:

           NS.STR        040000        Strip always
           NS.EDS        020000        Enable dynamic stripping
           NS.NSQ        020000        Something in queue for this line
           NS.CNF        010000        Send CONFIGURATION message

           Begin zeroing from LB.ZER on a restart.

           The following depend on DMCN > 0:                             

           LB.FB, LB.BAS, LB.STX                                         
                                                                
           The following depend on FTDUP1 > 0: 
                                                                
           LB.STX, LB.STY                                                
.END LITERAL
.PG
.LITERAL
                                                                
           Meanings of LB.STY bits:                                        
                                                                
           Bit Label     Value         Description

           UP$RCC        000001        Set if BCC is good when service 
                                       is called 
                                                                
           Meanings of LB.STX bits:                                       
                                                                
           LS2MAI        000001        Maintenance mode
           LS2WAI        000002        Waiting for memory or buffers
           LS2RUN        000004        DMC is running

           The following depend on FTDCP3 or FTDCP4:                      
                                                                
           LB.NSS, LB.LEB                                               
                                                                
           The following depend on FTDCP1:                                
                                                                
           LB.LCT, LB.LKT, LB.LLE                                        
                                                                
           Meanings of LB.NSS bits:                                       
                                                                
           LBS.IC        000001        In contact with NSP
           LBS.L1        000002        NSP node is level 1 (intercept node)
           LBS.NQ        000004        Node is in NSP queue

           LB.SXR and LB.SRR depend on at least one of the following being
           non-negative (asynchronous DDCMP or no DQ-11s):                     
                                                                
           FTDP11, FTDS11, FTDU11, FTDUP11, (NTLINE-NLINES)              

           Default NINBUF value is 4.                                     
.END LITERAL
.PG
.LITERAL

Name:        Line Control Blocks                                


Description:     Contain control information pertaining to each terminal
                 line.  One block for each terminal line.  Referenced by
                 "LCB#" where "#" is the line number.


Defined in:      DNCNFG.P11
 
 
           +---------------------------------------------------------------+
 LC.CAR    |                      DM-11BB control word                     |
           |                  Bits  0-9 are timer (LCB.TM)                 |
           |   |   |LCB|LCB|   |   |   |   |   |   |   |   |   |   |   |   |
           |   |   |.AB|.DS|   |   |   |   |   |   |   |   |   |   |   |   |
           |---------------------------------------------------------------|
 LC.STA    |      Number of times LPR      |     State of modem control    |
 LC.MOD    |          is modified          |   (see next page for values)  |
           |---------------------------------------------------------------|
 LC.XSP    |      Coded receive speed      |      Coded transmit speed     |
 LC.RSP    |    (whole word is "LC.SPD")   |                               |
           |---------------------------------------------------------------|
 LC.PXS    |Saved RCV speed for non auto-  |Saved xmit speed for non auto- |
 LC.PRS    |baud (whole word is "LC.PSP")  |baud dataset lines             |
           |---------------------------------------------------------------|
 LC.BLK    |                       Link to DDB or LB                       |
           |                                                               |
           |---------------------------------------------------------------|
 LC.INS    |               Address of input service processor              |
           |                                                               |
           |---------------------------------------------------------------|
 LC.OUS    |              Address of output service processor              |
           |                                                               |
           +---------------------------------------------------------------+
 LC.CNT    |                         Count of bytes                        |
           |           (DZ-11 lines only, NDZ11 not equal to 0)            |
           |---------------------------------------------------------------|
 LC.BUF    |                    Buffer pointer for bytes                   |
           |           (DZ-11 lines only, NDZ11 not equal to 0)            |
           +---------------------------------------------------------------+
 LC..SZ==>                                                    
.END LITERAL
.PG
.LITERAL
                                                                
 Notes:                                                         
                                                                
            Meanings of LC.CAR BITS:                                   
                                                                
            Bit Label     Value     Description

            LCB.BK        100000    Break character flag (framing error)
            LCB.IG        040000    Ignore line for one character
            LCB.AB        020000    Autobaud Line
            LCB.DS        010000    Dataset Line
            LCB.LS        004000    Using low speed auto-baud detect
            LCB.TM        001777    Timer
                                                                
            Meanings of LC.STA bits (state of modem control):             
                                                                
            LCS.VG        000        Virgin state
            LCS.RG        002        Ringing
            LCS.CD        004        Carrier Detect
            LCS.CS        006        Carrier detect staisfied (2 second wait)
            LCS.AB        010        Auto bauding
            LCS.RU        012        Running unconnected (No -10 connected)
            LCS.RW        014        Running waiting for -10 connection 
                                     to finish
            LCS.RC        016        Running and connected to -10
            LCS.LC        020        Carrier lost
            LCS.HA        022        Want to hang up
            LCS.HG        024        Hung up, carrier off for 18 seconds
            LCS.DL        026        Dialer is running
            LCS.DS        030        Dialout succeeded
            LCS.DF        032        Dialout failed
            LCS.MX        032        Maximum state number for LC.STA
                                                                
                                                                
            LC.SPD    Codes for transmit and receive speeds:
                                                                
            Speed       Code                Speed           Code
                                                                
             50            1                1800              12
             75            2                2200              13
             110           3                2400              14
             134.5         4                3600              15
             150           5                4800              16
             200           6                7200              17
             300           7                9600              20
             600          10                19200             21
             1200         11                EXTERNAL-A        22
                                            EXTERNAL-B        23
.END LITERAL
.PG
.LITERAL

Name:        Phase II Link Entry Block                             


Description:        Contains status and control information for  the  DECNET
                    compatible port connections. Used with DECNET version 2.


Defined in:         DNNSP3.P11
 
 
           +---------------------------------------------------------------+
 LE.STS    |                          Status bits                          |
           |                    (see descriptions below)                   |
           |LES|LES|LES|LES|LES|LES|LES|LES|LES|LES|LES|LES|   |   |   |   |
           |.NR|.MR|.MD|.DR|.LS|.DN|.DA|.LN|.LA|.DS|.DV|.DC|   |   |   |   |
           |---------------------------------------------------------------|
 LE.LNK    |                  Next LE block for this node                  |
           |                                                               |
           |---------------------------------------------------------------|
 LE.SCB    |                  Pointer to SCB for this node                 |
           |                                                               |
           |---------------------------------------------------------------|
 LE.NCL    |                   Link address NCL is using                   |
           |                                                               |
           |---------------------------------------------------------------|
 LE.DCP    |         Link address NCL and NSP think is destination         |
           |Odd byte is incremental number, even byte is LEB number        |
           +---------------------------------------------------------------+
 LE.NSP    |                   Link address NSP is using                   |
           |                                                               |
           |---------------------------------------------------------------|
 LE.DPN    |          Destination device that NCL is asking about          |
           |                                                               |
           |---------------------------------------------------------------|
 LE.LIL    |                   Last input LS/INT message                   |
           |                                                               |
           |---------------------------------------------------------------|
 LE.LID    |                    Last input data message                    |
           |                                                               |
           |---------------------------------------------------------------|
 LE.LOL    |                   Last output LS/INT message                  |
           |                                                               |
           |---------------------------------------------------------------|
 LE.LOD    |                   Last  output data message                   |
           |                                                               |
           |---------------------------------------------------------------|
 LE.OQL    |                 List header of LS/INT message                 |
           |              that has been output but not ACKed               |
           |---------------------------------------------------------------|
 LE.OQD    |                  List header of data messages                 |
           |             that have been output  but not ACKed              |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL

           +---------------------------------------------------------------+
 LE.BUF    |                      Buffer for this link                     |
           |                                                               |
           |---------------------------------------------------------------|
 LE.IIK    |                   Last input intercept ACKed                  |
           |                                                               |
           |---------------------------------------------------------------|
 LE.IDK    |                     Last input data ACKed                     |
           |                                                               |
           |---------------------------------------------------------------|
 LE.ODK    |                    Last output data ACKed                     |
           |                                                               |
           |---------------------------------------------------------------|
 LE.ODS    |                     Last output data sent                     |
           |                                                               |
           |---------------------------------------------------------------|
 LE.STT    |     Reason to send to NSP     |       Current link state      |
 LE.RSN    |         for disconnect        |          (see below)          |
           |---------------------------------------------------------------|
 LE.MDR    | Outstanding data requests for |Maximum number of data requests|
 LE.ODR    |           this link           |         for this link         |
           |---------------------------------------------------------------|
 LE.TIM    |                               |       Logical link timer      |
           |                               |                               |
           +---------------------------------------------------------------+
 LE.SIZ==>                                                    
                                                                
Notes:                                                        
                                                                
     Description of LE.STS bits:                                
                                                                
     Bit Label     Value         Description

     LES.DC        000020        Have to send DISCONNECT                      
     LES.DV        000040        Connection is to a device, not a task        
     LES.DS        000100        Connection is being broken                   
     LES.LA        000200        Have to send LS/INT ACK                      
     LES.LN        000400        Have to send LS/INK NAK                      
     LES.DA        001000        Have to send DATA ACK                        
     LES.DN        002000        Have to send DATA NAK                        
     LES.LS        004000        Have to send LS to request an intr. message
     LES.DR        010000        Have to send extra DATA REQUEST message
     LES.MD        020000        Set if in middle of a dialog messsage        
     LES.MR        040000        Set if other side is doing the message       
                                 requesting
     LES.NR        100000        Set if other side is doing no requesting     
                                 at all
.END LITERAL
.PG
.LITERAL


           Meaning of LE.STT codes:

           Bit Label     Value      Description

           LES.ID        000        Idle
           LES.LI        002        NCL is trying to initialize a logical link
           LES.PI        004        NSP is trying to initialize a logical link
           LES.RN        006        Link is setup
           LES.DS        010        Trying to disconnect
.END LITERAL
.PG
.LITERAL

Name:        Station Control Blocks


Description:        Contain status information pertaining to each node in
                    the network. One such block for each node. Referenced
                    by "SCB#" where "#" is the station number (0,1,2,...).


Defined in:         DNCNFG.P11
 
 
           +---------------------------------------------------------------+
 SB.FLG    |                         Station flags                         |
           |                          (see below)                          |
           |SF.|SF.|SF.|SF.|SF.|SBF|SBF|SBF|SBF|SF.|SBF|SBF|SBF|SF.|SBF|SBF|
           |NSP|FAK|MCR|XRC|XCN|.NQ|.SQ|.SK|.NK|XAK|.RR|.RP|.NB|HID|.IC|.IU|
           |---------------------------------------------------------------|
 SB.HXN    |       Last ACK processed      |      Highest NCL message      |
 SB.LAP    |                               |       number transmitted      |
           |---------------------------------------------------------------|
 SB.HAR    |     Receive message number    |      Highest ACK received     |
 SB.RMN    |                               |                               |
           |---------------------------------------------------------------|
 SB.TIM    |                               |             Timer             |
           |                               |      for REPs and STARTs      |
           |---------------------------------------------------------------|
 SB.IMQ    |                  Input message queue address                  |
           |                  (messages not yet in order)                  |
           |---------------------------------------------------------------|
 SB.OMQ    |                  Output message queue address                 |
           |              (ACKed by DDCMP, but not yet by NCL)             |
           |---------------------------------------------------------------|
 SB.SQS    |                  Sequential node control area                 |
           |             (SEQLIM-1 blocks of SB.SQS bytes each)            |
           |---------------------------------------------------------------|
 SB.LBA    |                   Address of LB for station                   |
           |                                                               |
           |---------------------------------------------------------------|
 SB.LVL    |                 Cost of best path to this node                |
           |                                                               |
           |---------------------------------------------------------------|
 SB.RTN    |               Return address over call to "MARK"              |
           |                                                               |
           |---------------------------------------------------------------|
 SB.RR0    |                  Saved R0 over call to "MARK"                 |
           |                                                               |
           |---------------------------------------------------------------|
 SB.RSB    |                  Saved SB over call to "MARK"                 |
           |                                                               |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL

           +---------------------------------------------------------------+
 SB.WOQ    |                 Queue of messages waiting for                 |
           |                   message number assignment                   |
           |---------------------------------------------------------------|
 SB.NGH    |                         Neighbors list                        |
           |                      ((2-NGHMAX)+1 words)                     |
           |---------------------------------------------------------------|
 SB.SNM    |                      Station name (ASCII)                     |
           |                         (SNMSIZ bytes)                        |
           +---------------------------------------------------------------+
 SB.SID    |                      Software id (ASCII)                      |
           |                         (SIDSIZ bytes)                        |
           |---------------------------------------------------------------|
 SB.DAT    |                     Software date (ASCII)                     |
           |                         (DATESZ bytes)                        |
           |---------------------------------------------------------------|
 SB.NNM    |                          Node number                          |
           |                            (binary)                           |
           +---------------------------------------------------------------+
 SB.SIZ==>                                                    

Notes:                                                         
                                                                
     Meanings of SB.FLG bits:                                   
                                                                
     Bit Label     Value         Description

     SBF.IU        000001        SCB is in use (for TENSCB means port enabled)
     SBF.IC        000002        Station in contact (exchanged NCL START/STACK)
     SF.HID        000004        We have the node ID for station              
     SBF.NB        000010        Need to send a NEIGHBORS message to node     
     SBF.RP        000020        A REP to this station is outstanding         
     SBF.RR        000040        We owe a response to this station's REP      
     SF.XAK        000100        We need to send an NCL-ACK to this station   
     SBF.NK        000200        We need to send an NCL-NAK to this station   
     SBF.SK        000400        We need to send an NCL-STACK to this station 
     SBF.SQ        001000        This station is a sequential node            
     SBF.NQ        002000        A request is in the NCL queue for this station
     SF.XCN        004000        We need to send a CONFIGURATION message
                                 to node
     SF.XRC        010000        We need to request a CONFIG message from node
     SF.MCR        020000        This station has a command decoder           
     SF.FAK        040000        Future ACK - ACK received but DDCMP not done 
     SF.NSP        100000        NSP line (depends on FT.DCP)                 

     SB.NGH format for each neighbor's entry is the SCB address 
     followed by the LINK LEVEL.                                
.END LITERAL
.PG
.LITERAL

Name:        Task Blocks


Description:       Contain pointers and status information pertaining  to
                   tasks using the DECNET compatible port. One such block
                   for each task. Used for DECNET phase II only.


Defined in:        DNTSK.P11
 
 
           +---------------------------------------------------------------+
 TK.STS    |                    Task status information                    |
           |                          (see below)                          |
           |TK.|TK.|TK.|TK.|TK.|TK.|   |   |   |   |   |   |   |   |   |   |
           |RUN|LGI|TRG|WAK|NOP|SLP|   |   |   |   |   |   |   |   |   |   |
           |---------------------------------------------------------------|
 TK.LNK    |                     Link to next TK block                     |
           |                                                               |
           |---------------------------------------------------------------|
 TK.RQL    |                         Run queue link                        |
           |                                                               |
           |---------------------------------------------------------------|
 TK.PRI    |                   Pointer to priority queue                   |
           |                                                               |
           |---------------------------------------------------------------|
 TK.JSA    |                    Address to continue task                   |
           |                                                               |
           |---------------------------------------------------------------|
 TK.RSA    |                    Address to start task at                   |
           |                      on a system restart                      |
           |---------------------------------------------------------------|
 TK.PDL    |                   Address of push down list                   |
           |                                                               |
           |---------------------------------------------------------------|
    +2     |                 Current push down list pointer                |
           |                                                               |
           |---------------------------------------------------------------|
 TK.TIM    |                         Seconds timer                         |
           |                                                               |
           |---------------------------------------------------------------|
 TK.QTM    |                               |          Quantum time         |
           |                               |           in jiffies          |
           |---------------------------------------------------------------|
 TK.TPC    |                   Address to goto when clock                  |
           |                            goes off                           |
           |---------------------------------------------------------------|
 TK.DTK    |                 Copy of DB.TSK for current SVC                |
           |                                                               |
           +---------------------------------------------------------------+
.END LITERAL
.PG
.LITERAL

           +---------------------------------------------------------------+
 TK.SPT    |                       Send queue putter                       |
           |                                                               |
           |---------------------------------------------------------------|
 TK.STK    |                        Send queue taker                       |
           |                                                               |
           |---------------------------------------------------------------|
 TK.SQU    |                           Send queue                          |
           |                         (TKSQSZ words)                        |
           |---------------------------------------------------------------|
 TK.ARG    |                 Save value to return to caller                |
           |                                                               |
           +---------------------------------------------------------------+
 TK.SIZ ==>                                                     

Notes:                                                         
                                                                
     Meanings of TK.STS bits:                                
                                                                
     Bit Label     Value         Description

     TK.RUN        100000        Task is runnable                           
     TK.LGI        040000        Task is "Logged In" (has not EXITed yet)   
     TK.TRG        020000        Task has been triggered by another task    
     TK.WAK        010000        Some event woke this task              
     TK.NOP        004000        Device was not OPENed on this call         
     TK.SLP        002000        Task is sleeping (in timer queue)          
.END LITERAL
.PG
.LITERAL

Name:        To-11 Blocks                                   


Description:        Contain pointers and control information pertaining to
                    messages from the 10 to the 11. Used only in DN87S and
                    DN20 systems.   Note that these reside in chunks,  and
                    that the following definitions redefine  the  meanings
                    of some entries in the standard chunk.


Defined in:         DNDTE.P11
 
 
           +---------------------------------------------------------------+
 TE.LNK    |                Address of next chunk in message               |
           |                                                               |
           |---------------------------------------------------------------|
 TE.QPR    |              Number of bytes left to transfer in              |
           |                    queued protocol message                    |
           |---------------------------------------------------------------|
 TE.LEN    |                    Total length of message                    |
           |                                                               |
           |---------------------------------------------------------------|
 TE.FFW    |           Copy of first word for current QPR message          |
 TE.LIN    |               (line number and flags in high byte)            |
           |   |   |   |   |   |   |   |FW.|   |   |   |   |   |   |   |   |
           |   |   |   |   |   |   |   |MOR|   |   |   |   |   |   |   |   |
           |---------------------------------------------------------------|
 TE.CNK    |                  Space left in current chunk                  |
           |                                                               |
           |---------------------------------------------------------------|
 TE.QHD    |                Queued protocol message header:                |
           |                    length of first message                    |
           |---------------------------------------------------------------|
 TE.QFN    |                      QPR word:  function                      |
           |                                                               |
           |---------------------------------------------------------------|
 TE.QDV    |                QPR word:  device  (will be NCL)               |
           |                                                               |
           |---------------------------------------------------------------|
 TE.QSP    |                             Spare                             |
           |              (start of user data for compression)             |
           |---------------------------------------------------------------|
 TE.ADR    |                Address of where to put data of                |
           |                         next fragement                        |
           +---------------------------------------------------------------+
TE..SZ==>
.END LITERAL
.PG
.LITERAL
                                                                
Notes:

    Meaning of  TE.LIN bits:

     Bit Label     Value         Description

     FW.MOR        000400        There will be another QPR msg in NCL message
.END LITERAL
.PG
.LITERAL

Name:        To-10 Blocks                                   


Description:        Contain pointers and control information pertaining to
                    messages from the 11 to the 10. Used only on DN87S and
                    DN20 systems.  Note that these reside in  chunks,  and
                    that the following definitions redefine  the  meanings
                    of some entries in the standard chunk.


Defined in:         DNDTE.P11
 
 
           +---------------------------------------------------------------+
 TT.FLK    |                          Forward link                         |
           |                                                               |
           |---------------------------------------------------------------|
 TT.RLK    |                         Backward link                         |
           |                                                               |
           |---------------------------------------------------------------|
 TT.ALC    |                        Space allocated                        |
           |                         for this block                        |
           |---------------------------------------------------------------|
 TT.HDL    |                        Length of header                       |
           |                                                               |
           |---------------------------------------------------------------|
 TT.QHD    |               First queued protocol (QPR) word:               |
           |                        length of header                       |
           |---------------------------------------------------------------|
 TT.QFN    |                      QPR word:  function                      |
           |                                                               |
           |---------------------------------------------------------------|
 TT.QDV    |                QPR word:  device  (will be NCL)               |
           |                                                               |
           |---------------------------------------------------------------|
 TT.QSP    |                         Spare (unused)                        |
           |                                                               |
           |---------------------------------------------------------------|
 TT.QFW    |          Line number          |    Indirect message length    |
           |          (first word)         |                               |
           |---------------------------------------------------------------|
 TT.ADR    |                      Address of real data                     |
           |                                                               |
           |---------------------------------------------------------------|
 TT.USR    |                       User supplied data                      |
           |                                                               |
           |---------------------------------------------------------------|
 TT.EFN    |                       Event flag number                       |
           |                                                               |
           +---------------------------------------------------------------+
.END LITERAL