Google
 

Trailing-Edge - PDP-10 Archives - 7.04_DOCUM_871130 - 10,7/doc/mcmv2.mem
There are no other files named mcmv2.mem in the archive.


                        TOPS-10 Monitor Calls Manual

                                  Volume 2
|  
|                             Field Test Draft
|  
|  
|                              December 1987

                       This  manual   describes   the
                       monitor  calls used by TOPS-10
                       MACRO programmers  to  request
                       services  that  are controlled
                       by the TOPS-10  monitor.   The
                       TOPS-10  Monitor  Calls Manual
                       consists   of   two   volumes.
                       Volume 1 is an overview of the
                       services  available   to   the
                       programmer.   Volume  2  is  a
                       detailed list of the calls and
                       coding sequences that are used
                       to invoke those services.
|  
|  Operating System:   TOPS-10  Version 7.04

   Software:           GALAXY   Version 5.1





   digital equipment corporation      marlboro, massachusetts






















                                     1


                                              First Printing, August 1980
                                                   Updated, December 1981
                                                   Revised, February 1984
                                                      Revised, April 1986
                                             Autopatch Revision, May 1987
|                                         Field Test Draft, December 1987



   The information in this document is subject to change  without  notice
   and  should  not  be  construed  as  a commitment by Digital Equipment
   Corporation.  Digital Equipment Corporation assumes no  responsibility
   for any errors that may appear in this document.

   The software described in this document is furnished under  a  license
   and  may  only  be used or copied in accordance with the terms of such
   license.

   No responsibility is assumed for the use or reliability of software on
   equipment that is not supplied by DIGITAL or its affiliated companies.





   Copyright  C , 1971, 1980, 1981, 1984, 1986,  1987  Digital  Equipment
   Corporation.
                            All Rights Reserved.





   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.

   The following are trademarks of Digital Equipment Corporation:

        DEC                 DECnet              IAS
        DECUS               DECsystem-10        MASSBUS
        Digital Logo        DECSYSTEM-20        PDT
        PDP                 DECwriter           RSTS
        UNIBUS              DIBOL               RSX
        VAX                 EduSystem           VMS
                                                VT








                                     2


                                      CONTENTS

   PREFACE


   CHAPTER 22      MONITOR CALL DESCRIPTIONS

           22.1    ACCLG. [CALLI 204] . . . . . . . . . . . . . . .  22-3
           22.2    ACCT. [CALLI 167]  . . . . . . . . . . . . . . .  22-5
           22.2.1    Function 0 (.ACTCH) To Change Account Strings   22-5
           22.2.2    Function 1 (.ACTRD) To Read Account Strings  .  22-6
           22.3    APRENB [CALLI 16]  . . . . . . . . . . . . . . .  22-8
           22.4    ATTACH [CALLI 104] . . . . . . . . . . . . . . . 22-11
           22.5    CALLI [OPCODE 047] . . . . . . . . . . . . . . . 22-14
           22.6    CAL11. [CALLI 125] . . . . . . . . . . . . . . . 22-18
           22.6.1    Function 0 (.C11DP) to deposit data  . . . . . 22-19
           22.6.2    Function 1 (.C11EX) to examine a location  . . 22-20
           22.6.3    Function 2 (.C11QU) to queue a request to the 
                     front end  . . . . . . . . . . . . . . . . . . 22-20
           22.6.4    Function 3 (.C11NM) to return the PDP-11 
                     program name . . . . . . . . . . . . . . . . . 22-21
           22.6.5    Function 4 (.C11UP) to return the PDP-11 
                     status . . . . . . . . . . . . . . . . . . . . 22-21
           22.6.6    Function 5 (.C11SM) to send a message to the 
                     PDP-11 . . . . . . . . . . . . . . . . . . . . 22-21
           22.6.7    Function 6 (.C11RM) to receive a message from 
                     the PDP-11 . . . . . . . . . . . . . . . . . . 22-21
           22.6.8    Function 7 (.C11TY) to return information 
                     about the PDP-11 . . . . . . . . . . . . . . . 22-21
           22.7    CHGPPN [CALLI 74]  . . . . . . . . . . . . . . . 22-23
           22.8    CHKACC [CALLI 100] . . . . . . . . . . . . . . . 22-24
           22.9    CHTRN. [CALLI 223] . . . . . . . . . . . . . . . 22-27
           22.10   CLOSE [OPCODE 070] . . . . . . . . . . . . . . . 22-29
           22.11   CLRBFI [TTCALL 11,]  . . . . . . . . . . . . . . 22-32
           22.12   CLRBFO [TTCALL 12,]  . . . . . . . . . . . . . . 22-33
           22.13   CLRST. [CALLI 134] . . . . . . . . . . . . . . . 22-34
           22.14   CMAND. [CALLI 211] . . . . . . . . . . . . . . . 22-36
           22.14.1   Function 1 (.CMINT) to initialize current 
                     command list . . . . . . . . . . . . . . . . . 22-36
           22.14.2   Function 1 (.CMADD) to add commands to the 
                     command list . . . . . . . . . . . . . . . . . 22-37
           22.14.3   Function 2 (.CMDEL) deletes commands from the 
                     command list . . . . . . . . . . . . . . . . . 22-37
           22.14.4   Function 3 (.CMLST) to list command 
                     definitions  . . . . . . . . . . . . . . . . . 22-38
           22.14.5   Function 4 (.CMRET) to return information 
                     about a command  . . . . . . . . . . . . . . . 22-38
           22.14.6   Function 5 (.CMDMP) to dump the data base  . . 22-39
           22.15   CNECT. [CALLI 130] . . . . . . . . . . . . . . . 22-41
           22.16   CORE [CALLI 11]  . . . . . . . . . . . . . . . . 22-43
           22.17   CTLJOB [CALLI 65]  . . . . . . . . . . . . . . . 22-46
           22.18   CTX. [CALLI 215] . . . . . . . . . . . . . . . . 22-47


                                     xi


           22.18.1   Function 0 (.CTSVH) to save current context 
                     and halt . . . . . . . . . . . . . . . . . . . 22-48
           22.18.2   Function 1 (.CRSVR) to save current context 
                     and run  . . . . . . . . . . . . . . . . . . . 22-48
           22.18.3   Function 2 (.CVSVT) to create a parallel 
                     context  . . . . . . . . . . . . . . . . . . . 22-49
           22.18.4   Function 3 (.CTSVS) to save and switch 
                     contexts . . . . . . . . . . . . . . . . . . . 22-49
           22.18.5   Function 4 (.CTSVD) to delete a context  . . . 22-49
           22.18.6   Function 5 (.CTRDB) to read data from the 
                     context buffer . . . . . . . . . . . . . . . . 22-49
           22.18.7   Function 6 (.CTWDB) to write data into the 
                     context buffer . . . . . . . . . . . . . . . . 22-49
           22.18.8   Function 7 (.CTRQT) to read context quota 
                     information  . . . . . . . . . . . . . . . . . 22-49
           22.18.9   Function 10 (.CTSQT) to set context quota 
                     information  . . . . . . . . . . . . . . . . . 22-50
           22.18.10  Function 11 (.CTDIR) to return a context 
                     directory map  . . . . . . . . . . . . . . . . 22-50
           22.18.11  Function 12 (.CTINF) to return context 
                     information  . . . . . . . . . . . . . . . . . 22-50
           22.19   DAEFIN [CALLI 105] . . . . . . . . . . . . . . . 22-52
           22.20   DAEMON [CALLI 102] . . . . . . . . . . . . . . . 22-53
           22.20.1   Function 1 (Obsolete)  . . . . . . . . . . . . 22-53
           22.20.2   Function 2 (.CLOCK) to wake a job  . . . . . . 22-53
           22.20.3   Function 3 (Obsolete)  . . . . . . . . . . . . 22-54
           22.20.4   Function 4 (.DMQUE) Reserved for use by 
                     DIGITAL  . . . . . . . . . . . . . . . . . . . 22-54
           22.20.5   Function 5 (.DMERR) to create an error file 
                     entry  . . . . . . . . . . . . . . . . . . . . 22-54
           22.20.6   Function 6 (.DMCTL) Reserved for use by 
                     DIGITAL  . . . . . . . . . . . . . . . . . . . 22-56
           22.21   DATE [CALLI 14]  . . . . . . . . . . . . . . . . 22-58
           22.22   DEBRK. [CALLI 137] . . . . . . . . . . . . . . . 22-59
           22.23   DEQ. [CALLI 152] . . . . . . . . . . . . . . . . 22-60
           22.23.1   Function 0 (.DEQDR) to dequeue a request . . . 22-60
           22.23.2   Function 1 (.DEQDA) to remove all owned locks  22-61
           22.23.3   Function 2 (.DEQID) to remove lock by 
                     request-id . . . . . . . . . . . . . . . . . . 22-61
           22.24   DEVCHR [CALLI 4] . . . . . . . . . . . . . . . . 22-64
           22.25   DEVLNM [CALLI 107] . . . . . . . . . . . . . . . 22-67
           22.26   DEVNAM [CALLI 64]  . . . . . . . . . . . . . . . 22-69
           22.27   DEVOP. [CALLI 171] . . . . . . . . . . . . . . . 22-71
           22.28   DEVPPN [CALLI 55]  . . . . . . . . . . . . . . . 22-77
           22.29   DEVSIZ [CALLI 101] . . . . . . . . . . . . . . . 22-78
           22.30   DEVSTS [CALLI 54]  . . . . . . . . . . . . . . . 22-80
           22.31   DEVTYP [CALLI 53]  . . . . . . . . . . . . . . . 22-82
           22.32   DIAG. [CALLI 163]  . . . . . . . . . . . . . . . 22-85
           22.32.1   Function 1 (.DIASU) to assign a unit . . . . . 22-86
           22.32.2   Function 2 (.DIAAU) to assign all units  . . . 22-86
           22.32.3   Function 3 (.DIARU) to release all units . . . 22-86



                                    xii


           22.32.4   Function 4 (.DISCP) to specify a channel 
                     program  . . . . . . . . . . . . . . . . . . . 22-86
           22.32.5   Function 5 (.DIRCP) to release a channel 
                     program  . . . . . . . . . . . . . . . . . . . 22-87
           22.32.6   Function 6 (.DIGCS) to get status of a channel 22-87
           22.32.7   Function 7 (.DIAKU) to get controller and unit 
                     numbers  . . . . . . . . . . . . . . . . . . . 22-87
           22.32.8   Function 10 (.DIACS) to read CPU status  . . . 22-87
           22.32.9   Function 11 (.DIADS) to read device status . . 22-88
           22.32.10  Function 12 (.DISCR) to specify a read-reverse 
                     program  . . . . . . . . . . . . . . . . . . . 22-88
           22.32.11  Function 13 (Obsolete) . . . . . . . . . . . . 22-88
           22.32.12  Function 14 (.DIGUI) to set user-I/O mode  . . 22-88
           22.32.13  Function 15 (Obsolete) . . . . . . . . . . . . 22-88
           22.32.14  Function 16 (Obsolete) . . . . . . . . . . . . 22-88
           22.32.15  Function 17 (.DIELD) to enable microcode 
                     loading  . . . . . . . . . . . . . . . . . . . 22-88
           22.32.16  Function 20 (.DIDLD) to disable microcode 
                     loading  . . . . . . . . . . . . . . . . . . . 22-89
           22.32.17  Function 21 (.DILOD) to load the microcode . . 22-89
           22.32.18  Function 22 (.DISSM) to set CI/NI maintenance 
                     mode . . . . . . . . . . . . . . . . . . . . . 22-89
           22.32.19  Function 23 (.DIICM) to clear CI/NI 
                     maintenance mode . . . . . . . . . . . . . . . 22-89
           22.32.20  Function 24 (.DISBD) to execute SBDIAG . . . . 22-89
           22.32.21  Function 25 (.DIDSN) to read a unit serial 
                     number . . . . . . . . . . . . . . . . . . . . 22-90
           22.32.22  Function 26 (.DIRUR) to read the UNIBUS 
                     register . . . . . . . . . . . . . . . . . . . 22-90
           22.32.23  Function 27 (.DIADB) to allocate a CI/NI 
                     buffer . . . . . . . . . . . . . . . . . . . . 22-90
           22.32.24  Function 30 (.DIOKI) to read information about 
                     a controller . . . . . . . . . . . . . . . . . 22-90
           22.32.25  Function 31 (.DIOUI) to obtain unit 
                     information  . . . . . . . . . . . . . . . . . 22-91
           22.32.26  Function 32 (.DILKU) to list units . . . . . . 22-92
           22.32.27  Function 33 (.DISDS) to set device status 
                     information  . . . . . . . . . . . . . . . . . 22-92
           22.32.28  Functions 34-77 (Reserved for DIGITAL) . . . . 22-93
           22.32.29  Function 100 (.DIGTM) to get MOS memory  . . . 22-93
           22.32.30  Function 101 (.DIGVM) to set MOS memory  . . . 22-93
           22.32.31  Functions 102-104 Reserved . . . . . . . . . . 22-93
           22.32.32  Function 105 (.DIRRS) to reset a remote CI 
                     node . . . . . . . . . . . . . . . . . . . . . 22-93
           22.32.33  Function 106 (.DISRS) to start a remote CI 
                     node . . . . . . . . . . . . . . . . . . . . . 22-93
           22.32.34  Function 107 (.DIACC) to set CI port counters  22-93
           22.32.35  Functions 110-111 (Reserved for DIGITAL) . . . 22-94
           22.32.36  Function 112 (.DIWCM) to write CI maintenance 
                     data . . . . . . . . . . . . . . . . . . . . . 22-94
           22.32.37  Function 113 (.DIRCM) to read CI maintenance 
                     data . . . . . . . . . . . . . . . . . . . . . 22-94


                                    xiii


           22.33   DISK. [CALLI 121]  . . . . . . . . . . . . . . . 22-95
           22.33.1   Function 0 (.DUPRI) to assign a disk priority  22-96
           22.33.2   Function 1 (.DUSEM) to set compatibility mode  22-96
           22.33.3   Function 2 (.DUSTM) to clear compatibility 
                     mode . . . . . . . . . . . . . . . . . . . . . 22-97
           22.33.4   Function 3 (.DUUNL) to unload an RP04/RP06 . . 22-97
           22.33.5   Function 4 (.DUOLS) to set a controller 
                     off-line soon  . . . . . . . . . . . . . . . . 22-97
           22.33.6   Function 5 (.DUOLN) to set a controller 
                     off-line now . . . . . . . . . . . . . . . . . 22-98
           22.33.7   Function 6 (.DUONL) to set a controller 
                     on-line  . . . . . . . . . . . . . . . . . . . 22-98
           22.33.8   Function 7 (.DUUFD) to call the UFD compressor 22-99
           22.33.9   Function 10 (.DUSWP) to delete a unit from the 
                     system swap list . . . . . . . . . . . . . . . 22-99
           22.33.10  Function 11 (.DUASW) to add a unit to the 
                     system swap list . . . . . . . . . . . . . .  22-100
           22.33.11  Function 12 (.DUASD) to add a structure to 
                     the system dump list . . . . . . . . . . . .  22-100
           22.33.12  Function 13 (.DURSD) to remove a structure 
                     from the system dump list  . . . . . . . . .  22-100
           22.33.13  Function 14 (.DULEN) to obtain the number of 
                     block written  . . . . . . . . . . . . . . .  22-101
           22.33.14  Function 15 (.DUCLM) to clear MDA wait . . .  22-101
           22.33.15  Function 16 (.DUFRE) to return free space  .  22-101
           22.34   DNET. [CALLI 207]  . . . . . . . . . . . . . .  22-103
           22.34.1   Function 1 (.DNLNN) to obtain a list of node 
                     names  . . . . . . . . . . . . . . . . . . .  22-104
           22.34.2   Function (.DNNDI) to read information about a 
                     node . . . . . . . . . . . . . . . . . . . .  22-104
           22.34.3   Function 3 (.DNSLS) to obtain status of a 
                     link . . . . . . . . . . . . . . . . . . . .  22-106
           22.35   DSKCHR [CALLI 45]  . . . . . . . . . . . . . .  22-109
           22.36   DTE. [CALLI 170] . . . . . . . . . . . . . . .  22-116
           22.37   DVPHY. [CALLI 164] . . . . . . . . . . . . . .  22-123
           22.38   DVRST. [CALLI 122] . . . . . . . . . . . . . .  22-125
           22.39   DVURS. [CALLI 123] . . . . . . . . . . . . . .  22-126
           22.40   ENQ. [CALLI 151] . . . . . . . . . . . . . . .  22-127
           22.41   ENQC. [CALLI 153]  . . . . . . . . . . . . . .  22-139
           22.42   ENTER [OPCODE 077] . . . . . . . . . . . . . .  22-143
           22.43   ENTVC. [CALLI 225] . . . . . . . . . . . . . .  22-145
           22.44   ERLST. [CALLI 132] . . . . . . . . . . . . . .  22-147
           22.45   ERRPT. [CALLI 160] . . . . . . . . . . . . . .  22-149
           22.46   ETHNT. [CALLI 223] . . . . . . . . . . . . . .  22-151
           22.47   EXIT [CALLI 12]  . . . . . . . . . . . . . . .  22-163
           22.48   FILOP. [CALLI 155] . . . . . . . . . . . . . .  22-165
           22.48.1   FILOP. Extended Argument List  . . . . . . .  22-167
           22.48.2   FILOP. Functions . . . . . . . . . . . . . .  22-171
           22.48.3   Simultaneous File Access with FILOP. UUO . .  22-178
           22.49   FRCUUO [CALLI 106] . . . . . . . . . . . . . .  22-181
           22.50   GETLCH [TTCALL 6,] . . . . . . . . . . . . . .  22-183
           22.51   GETLIN [CALLI 34]  . . . . . . . . . . . . . .  22-185


                                    xiv


           22.52   GETPPN [CALLI 24]  . . . . . . . . . . . . . .  22-186
           22.53   GETSEG [CALLI 40]  . . . . . . . . . . . . . .  22-187
           22.54   GETSTS [OPCODE 062]  . . . . . . . . . . . . .  22-190
           22.55   GETTAB [CALLI 41]  . . . . . . . . . . . . . .  22-192
           22.56   GOBSTR [CALLI 66]  . . . . . . . . . . . . . .  22-193
           22.57   GTNTN. [CALLI 165] . . . . . . . . . . . . . .  22-196
           22.58   GTXTN. [CALLI 166] . . . . . . . . . . . . . .  22-198
           22.59   HIBER [CALLI 72] . . . . . . . . . . . . . . .  22-199
           22.60   HPQ [CALLI 71] . . . . . . . . . . . . . . . .  22-202
           22.61   IN [OPCODE 056]  . . . . . . . . . . . . . . .  22-203
           22.62   INBUF [OPCODE 064] . . . . . . . . . . . . . .  22-205
           22.63   INCHRS [TTCALL 2,] . . . . . . . . . . . . . .  22-207
           22.64   INCHRW [TTCALL 0,] . . . . . . . . . . . . . .  22-208
           22.65   INCHSL [TTCALL ,]  . . . . . . . . . . . . . .  22-209
           22.66   INCHWL [TTCALL 4,] . . . . . . . . . . . . . .  22-210
           22.67   INIT [OPCODE 041]  . . . . . . . . . . . . . .  22-211
           22.68   INPUT [OPCODE 066] . . . . . . . . . . . . . .  22-212
           22.69   IONDX. [CALLI 127] . . . . . . . . . . . . . .  22-214
           22.70   IONEOU [TTCALL 15,]  . . . . . . . . . . . . .  22-215
           22.71   IPCFM. [CALLI 217] . . . . . . . . . . . . . .  22-216
           22.72   IPCFQ. [CALLI 144] . . . . . . . . . . . . . .  22-219
           22.73   IPCFR. [CALLI 142] . . . . . . . . . . . . . .  22-221
           22.74   IPCFS. [CALLI 143] . . . . . . . . . . . . . .  22-227
           22.75   JBSET. [CALLI 113] . . . . . . . . . . . . . .  22-229
           22.76   JOBPEK [CALLI 103] . . . . . . . . . . . . . .  22-230
           22.77   JOBSTR [CALLI 47]  . . . . . . . . . . . . . .  22-233
           22.78   JOBSTS [CALLI 61]  . . . . . . . . . . . . . .  22-235
           22.79   KDP. [CALLI 200] . . . . . . . . . . . . . . .  22-237
           22.80   KNIBT. [CALLI 222] . . . . . . . . . . . . . .  22-239
           22.81   LATOP. [CALLI 221] . . . . . . . . . . . . . .  22-242
           22.81.1   Function Code 0 (.LASET) to set parameters .  22-242
           22.81.2   Argument Lists for .LASET  . . . . . . . . .  22-243
           22.81.3   Function Code 1 (.LACLR) to clear LAT 
                     parameters . . . . . . . . . . . . . . . . .  22-245
           22.81.4   Function Code 2 (.LASCH) to show LAT 
                     characteristics  . . . . . . . . . . . . . .  22-245
           22.81.5   Function Code 3 (.LASTC) to show information 
                     about terminals  . . . . . . . . . . . . . .  22-248
           22.81.6   Function Code 4 (.LASAS) to show adjacent 
                     servers  . . . . . . . . . . . . . . . . . .  22-250
           22.81.7   Function Code 5 (.LASCO) to show LAT counters 22-251
           22.81.8   Function Code 6 (.LAZCO) to zero LAT counters 22-252
           22.81.9   Function Code 7 (.LARHC) to request a 
                     connection . . . . . . . . . . . . . . . . .  22-253
           22.81.10  Function Code 10 (.LATHC) to terminate a 
                     connection . . . . . . . . . . . . . . . . .  22-255
           22.81.11  Function Code 11 (.LASHC) to show information 
                     about connections  . . . . . . . . . . . . .  22-256
           22.82   LLMOP. [CALLI 220] . . . . . . . . . . . . . .  22-259
           22.83   LOCATE [CALLI 62]  . . . . . . . . . . . . . .  22-269
           22.84   LOCK [CALLI 60]  . . . . . . . . . . . . . . .  22-271
           22.85   LOGIN [CALLI 15] . . . . . . . . . . . . . . .  22-277


                                     xv


           22.86   LOGOUT [CALLI 17]  . . . . . . . . . . . . . .  22-278
           22.87   LOOKUP [OPCODE 076]  . . . . . . . . . . . . .  22-279
           22.88   MERGE. [CALLI 173] . . . . . . . . . . . . . .  22-281
           22.89   MONRT. [CALL 1,12] . . . . . . . . . . . . . .  22-283
           22.90   MSTIME [CALLI 23]  . . . . . . . . . . . . . .  22-284
           22.91   MTAID [CALLI 126]  . . . . . . . . . . . . . .  22-285
           22.92   MTAPE [OPCODE 072] . . . . . . . . . . . . . .  22-287
           22.93   MTBLK. [MTAPE 13]  . . . . . . . . . . . . . .  22-289
           22.94   MTBSF. [MTAPE 17]  . . . . . . . . . . . . . .  22-290
           22.95   MTBSR. [MTAPE 7] . . . . . . . . . . . . . . .  22-292
           22.96   MTCHR. [CALLI 112] . . . . . . . . . . . . . .  22-293
           22.97   MTDEC. [MTAPE 100] . . . . . . . . . . . . . .  22-297
           22.98   MTEOF. [MTAPE 3] . . . . . . . . . . . . . . .  22-298
           22.99   MTEOT. [MTAPE 10]  . . . . . . . . . . . . . .  22-299
           22.100  MTIND. [MTAPE 101] . . . . . . . . . . . . . .  22-300
           22.101  MTLTH. [MTAPE 200] . . . . . . . . . . . . . .  22-301
           22.102  MTREW. [MTAPE 1] . . . . . . . . . . . . . . .  22-302
           22.103  MTSKF. [MTAPE 16]  . . . . . . . . . . . . . .  22-303
           22.104  MTSKR. [MTAPE 6] . . . . . . . . . . . . . . .  22-304
           22.105  MTUNL. [MTAPE 11]  . . . . . . . . . . . . . .  22-305
           22.106  MVHDR. [CALLI 131] . . . . . . . . . . . . . .  22-308
           22.107  NETOP. [CALLI 226] . . . . . . . . . . . . . .  22-309
           22.108  NODE. [CALLI 157]  . . . . . . . . . . . . . .  22-312
           22.109  NSP. [CALLI 205] . . . . . . . . . . . . . . .  22-320
           22.110  NTMAN. [CALLI 206] . . . . . . . . . . . . . .  22-323
           22.111  OPEN [OPCODE 050]  . . . . . . . . . . . . . .  22-327
           22.112  OTHUSR [CALLI 77]  . . . . . . . . . . . . . .  22-336
           22.113  OUT [OPCODE 057] . . . . . . . . . . . . . . .  22-337
           22.114  OUTBUF [OPCODE 065]  . . . . . . . . . . . . .  22-339
           22.115  OUTCHR [TTCALL 1,] . . . . . . . . . . . . . .  22-340
           22.116  OUTPUT [OPCODE 067]  . . . . . . . . . . . . .  22-341
           22.117  OUTSTR [TTCALL 3,] . . . . . . . . . . . . . .  22-342
           22.118  OTHUSR [CALLI 77]  . . . . . . . . . . . . . .  22-342
           22.119  OUT [OPCODE 057] . . . . . . . . . . . . . . .  22-344
           22.120  OUTBUF [OPCODE 065]  . . . . . . . . . . . . .  22-346
           22.121  OUTCHR [TTCALL 1,] . . . . . . . . . . . . . .  22-347
           22.122  OUTPUT [OPCODE 067]  . . . . . . . . . . . . .  22-348
           22.123  OUTSTR [TTCALL 3,] . . . . . . . . . . . . . .  22-349
           22.124  PAGE. [CALLI 145]  . . . . . . . . . . . . . .  22-350
           22.125  PATH. [CALLI 110]  . . . . . . . . . . . . . .  22-363
           22.126  [33~1 PEEK [CALLI 33]  . . . . . . . . . . . .  22-375
           22.127  PERF. [CALLI 162]  . . . . . . . . . . . . . .  22-376
           22.128  PIBLK. [CALLI 212] . . . . . . . . . . . . . .  22-381
           22.129  PIFLG. [CALLI 216] . . . . . . . . . . . . . .  22-382
           22.130  PIINI. [CALLI 135] . . . . . . . . . . . . . .  22-383
           22.131  PIJBI. [CALLI 175] . . . . . . . . . . . . . .  22-387
           22.132  PIRST. [CALLI 141] . . . . . . . . . . . . . .  22-389
           22.133  PISAV. [CALLI 140] . . . . . . . . . . . . . .  22-390
           22.134  PISYS. [CALLI 136] . . . . . . . . . . . . . .  22-392
           22.135  PITMR. [CALLI 203] . . . . . . . . . . . . . .  22-398
           22.136  PJOB [CALLI 30]  . . . . . . . . . . . . . . .  22-400
           22.137  POKE.        [CALLI 114] . . . . . . . . . . .  22-401


                                    xvi


           22.138  QUEUE. [CALLI 201] . . . . . . . . . . . . . .  22-403
           22.139  REASSI [CALLI 21]  . . . . . . . . . . . . . .  22-420
           22.140  RECON. [CALLI 202] . . . . . . . . . . . . . .  22-422
           22.141  RELEAS [OPCODE 071]  . . . . . . . . . . . . .  22-430
           22.142  REMAP [CALLI 37] . . . . . . . . . . . . . . .  22-431
           22.143  RENAME [OPCODE 055]  . . . . . . . . . . . . .  22-433
           22.144  RESCAN [TTCALL 10,]  . . . . . . . . . . . . .  22-436
           22.145  RESDV. [CALLI 117] . . . . . . . . . . . . . .  22-437
           22.146  RESET [CALLI 0]  . . . . . . . . . . . . . . .  22-438
           22.147  RTTRP [CALLI 57] . . . . . . . . . . . . . . .  22-440
           22.148  RUN [CALLI 35] . . . . . . . . . . . . . . . .  22-442
           22.149  RUNTIM [CALLI 27]  . . . . . . . . . . . . . .  22-445
           22.150  SAVE. [CALLI 210]  . . . . . . . . . . . . . .  22-446
           22.151  SCHED. [CALLI 150] . . . . . . . . . . . . . .  22-448
           22.152  SCS. [CALLI 213] . . . . . . . . . . . . . . .  22-457
           22.153  SEBLK. [CALLI 214] . . . . . . . . . . . . . .  22-466
           22.154  SEGOP. [CALLI 230] . . . . . . . . . . . . . .  22-467
           22.155  SENSE. [CALLI 133] . . . . . . . . . . . . . .  22-476
           22.156  SETDDT [CALLI 2] . . . . . . . . . . . . . . .  22-478
           22.157  SETLCH [TTCALL 7,] . . . . . . . . . . . . . .  22-479
           22.158  SETNAM [CALLI 43]  . . . . . . . . . . . . . .  22-480
           22.159  SETSTS [OPCODE 060]  . . . . . . . . . . . . .  22-481
           22.160  SETUUO [CALLI 75]  . . . . . . . . . . . . . .  22-482
           22.161  SETUWP [CALLI 36]  . . . . . . . . . . . . . .  22-496
           22.162  SKPINC [TTCALL 13,]  . . . . . . . . . . . . .  22-497
           22.163  SKPINL [TTCALL 14,]  . . . . . . . . . . . . .  22-498
           22.164  SLEEP [CALLI 31] . . . . . . . . . . . . . . .  22-499
           22.165  SNOOP. [CALLI 176] . . . . . . . . . . . . . .  22-500
           22.166  SPPRM. [CALLI 172] . . . . . . . . . . . . . .  22-506
           22.167  SPY [CALLI 42] . . . . . . . . . . . . . . . .  22-509
           22.168  STATO [OPCODE 061] . . . . . . . . . . . . . .  22-511
           22.169  STATZ [OPCODE 063] . . . . . . . . . . . . . .  22-512
           22.170  STRUUO [CALLI 50]  . . . . . . . . . . . . . .  22-513
           22.171  SUSET. [CALLI 146] . . . . . . . . . . . . . .  22-530
           22.172  SYSPHY [CALLI 51]  . . . . . . . . . . . . . .  22-532
           22.173  SYSSTR [CALLI 46]  . . . . . . . . . . . . . .  22-533
           22.174  TAPOP. [CALLI 154] . . . . . . . . . . . . . .  22-534
           22.175  TIMER [CALLI 22] . . . . . . . . . . . . . . .  22-546
           22.176  TMPCOR [CALLI 44]  . . . . . . . . . . . . . .  22-547
           22.177  TRMNO. [CALLI 115] . . . . . . . . . . . . . .  22-550
           22.178  TRMOP. [CALLI 116] . . . . . . . . . . . . . .  22-552
           22.179  TRPSET [CALLI 25]  . . . . . . . . . . . . . .  22-571
           22.180  TSK. [CALLI 177] . . . . . . . . . . . . . . .  22-572
           22.181  TTCALL [OPCODE 051]  . . . . . . . . . . . . .  22-580
           22.182  UGETF [OPCODE 073] . . . . . . . . . . . . . .  22-581
           22.183  UJEN [OPCODE 100]  . . . . . . . . . . . . . .  22-582
           22.184  UNLOK. [CALLI 120] . . . . . . . . . . . . . .  22-583
           22.185  USETI [OPCODE 074] . . . . . . . . . . . . . .  22-585
           22.186  USETO [OPCODE 075] . . . . . . . . . . . . . .  22-588
           22.187  UTPCLR [CALLI 13]  . . . . . . . . . . . . . .  22-590
           22.188  UTRP. [CALLI 174]  . . . . . . . . . . . . . .  22-591
           22.189  WAIT [CALLI 10]  . . . . . . . . . . . . . . .  22-593


                                    xvii


           22.190  WAKE [CALLI 73]  . . . . . . . . . . . . . . .  22-594
           22.191  WHERE [CALLI 63] . . . . . . . . . . . . . . .  22-595


   CHAPTER 23      GETTAB TABLES

           23.1    HOW TO USE GETTAB TABLES . . . . . . . . . . . .  23-1
           23.2    HOW TO USE GETTAB SUBTABLES  . . . . . . . . . .  23-2
           23.3    ADDING ITEMS TO THE MONITOR'S GETTAB TABLES  . .  23-4
           23.4    ADDING NEW GETTAB TABLES TO THE MONITOR  . . . .  23-5
           23.5    ALPHABETIC LISTING . . . . . . . . . . . . . . .  23-6
           23.6    TOPS-10 GETTAB TABLES  . . . . . . . . . . . . .  23-8


   APPENDIX A      GLOSSARY


   APPENDIX B      .EXE FILES

           B.1     THE DIRECTORY  . . . . . . . . . . . . . . . . . . B-1


   APPENDIX C      FILE DAEMON

           C.1     USER INTERFACE . . . . . . . . . . . . . . . . . . C-1
           C.2     THE FILE DAEMON  . . . . . . . . . . . . . . . . . C-1
           C.3     ACCESS.USR . . . . . . . . . . . . . . . . . . . . C-4
           C.4     MONITOR INTERFACE TO A FILE DAEMON . . . . . . .  C-11


   INDEX


   TABLES

           22-1    Error File Entry Types . . . . . . . . . . . . . 22-54
           22-2    FILOP Argument Block . . . . . . . . . . . . .  22-167
           22-3    LATOP. Show Buffer Format  . . . . . . . . . .  22-247
           22-4    LATOP. Service Block . . . . . . . . . . . . .  22-248
           22-5    LATOP. Short Connect Block . . . . . . . . . .  22-249
           22-6    LATOP. Extended Connect Block  . . . . . . . .  22-249
           22-7    LATOP. Show Adjacent Servers Full-Format Block  22-251
           22-8    LATOP. Show Adjacent Servers Short-Format Block 22-251
           22-9    LATOP. Counter Block Format  . . . . . . . . .  22-252
           22-10   LATOP. Rejection Codes . . . . . . . . . . . .  22-255
           22-11   LATOP. Status Block  . . . . . . . . . . . . .  22-256
           22-12   PATH. Functions and Flags  . . . . . . . . . .  22-369
           22-13   PISYS. Function Flags  . . . . . . . . . . . .  22-393
           22-14   PSI Interrupt Codes (Non-I/O Interrupts) . . .  22-393
           22-15   PSI Reason Codes (I/O-Related Interrupts)  . .  22-396
           22-16   SEGOP. UUO Flags . . . . . . . . . . . . . . .  22-469
           C-1     ACCESS.USR Switches  . . . . . . . . . . . . . . . C-5


                                   xviii


           C-2     Access Codes . . . . . . . . . . . . . . . . . .  C-13
           C-3     File Daemon Codes  . . . . . . . . . . . . . . .  C-14
           C-4     File Daemon Flags  . . . . . . . . . . . . . . .  C-16



















































                                    xix


                                  PREFACE



   This is the second  volume  of  the  2-volume  TOPS-10  Monitor  Calls
   Manual.   Volume 1 describes the facilities offered by the monitor for
   assembly language programs.  You can use the information in  Volume  1
   to learn how to implement these facilities in your programs.

   Volume 2 contains a detailed description of  each  monitor  call,  its
   calling  sequence,  functions,  and  error  codes,  if any.  It is the
   definitive list of the monitor call  functions.   For  information  on
   using  these  calls, you should you read Volume 1 before attempting to
   use Volume 2.

   Not all devices are supported under current versions of  TOPS-10.   In
   the  interest  of  providing  useful information, this manual includes
   references to unsupported and obsolete hardware.  For  support  status
   of hardware and software, please refer to the current TOPS-10 Software
   Product Description.

   Obsolete monitor calls are marked, either in the CALLI UUO, or in  the
   chapter   in   which  they  were  previously  described.   Appropriate
   substitutes, (if any), for obsolete calls are also indicated.  Section
   23.5 lists the GETTAB Tables, and notes any obsolete tables.

                                CONVENTIONS
|  
|  This version of the Monitor Calls Manual,  Vol.   2  contains  special
|  notation to identify the following:

        Notation            Meaning
|  
|       underscore          Indicates a type  of  information  that  your
|                           program  must supply.  For example, addr must
|                           be replaced by a location in your program.

         /  \      /  \
        |    | or  \  /
         \  /               braces define a choice of argument types that
                            you can supply.

   If you find any errors or have  any  suggestions  for  improving  this
   manual,  please  fill  out  the Reader's Reply Form at the end of this
   manual and mail it to the address shown on the back of the form.

   All reported  errors  will  be  corrected  as  soon  as  possible  and
   distributed with the next revision of the manual.






                                     xx











                                 CHAPTER 22

                         MONITOR CALL DESCRIPTIONS



   This chapter describes each of the TOPS-10 monitor  calls.   For  each
   description the following information is included, if applicable:

         o  FUNCTION:  briefly describes the general use of the call.


         o  CALLING SEQUENCE:  shows the  format  for  the  call.   Cases
            where  a  word  may  contain  one  of  a  number  of types of
            information  are  indicated  by  the   presence   of   braces
            containing the options.  Braces are included as:

                  /  \      /  \
                 |    | or  \  /
                  \  /


         o  RESTRICTIONS:  describes any unusual  conditions  that  might
            affect the operation of the call or its effect on the calling
            program.

         o  SKIP RETURN:  describes the result of a skip return from  the
            call  and  any  operational  aspects with which you should be
            concerned.

         o  ERROR RETURN:  describes the result of an error on return.

         o  EXAMPLE:  shows one or more examples of the call.

         o  RELATED CALLS:  lists other, related monitor calls.

         o  COMMON PROGRAMMING ERRORS:  describes common user errors.








                                    22-1
   MONITOR CALL DESCRIPTIONS


   In the  calling  sequences  shown,  the  following  definitions  apply
   throughout this section:

         o  ac:   an  arbitrary  accumulator;  often  used  for   passing
            arguments  to  the  call  and to store an error code returned
            from a call.

         o  return:  the statement to which control passes on return from
            a call.

         o  skip return:  the statement to which  control  passes  if  no
            error occurs in executing a call.

         o  error return:  the statement to which control  passes  if  an
            error occurs in executing a call.

   The monitor call names are defined in the file UUOSYM.MAC; the  CALLI,
   MTAPE,  and  TTCALL  monitor calls offer extensions through parameters
   passed to the monitor.



































                                    22-2
                                                MONITOR CALL DESCRIPTIONS


   22.1  ACCLG. [CALLI 204]


   FUNCTION

   Used by the LOGIN system program to increment LOGNUM and  ensure  that
   LOGIN  does  not  exceed  the  maximum  number of logged-in jobs.  The
   monitor performs the following functions for the ACCLG.  call:

        1.  Increments LOGNUM (a word containing the number of  logged-in
            jobs).

        2.  Checks the LOGNUM  against  the  appropriate  access  maximum
            (LOGMAX for timesharing jobs or BATMAX for batch jobs).

   CALLING SEQUENCE

             MOVSI     ac,(flags)
             ACCLG.    ac
               error return
             skip return

   In the calling sequence, you can supply the  flags  indicated  by  the
   following bit settings:

   Bit       Symbol    Meaning

   0         AC.MAX    Check LOGMAX.
   1         AC.BMX    Check BATMAX.
   2         AC.DCR    Decrement LOGNUM count.

   SKIP RETURN

   On a skip return, LOGNUM has been incremented and the maximum  is  not
   exceeded.   If  the  LOGIN  program is halted before the LOGIN UUO has
   successfully completed, however, the program should  trap  the  CTRL/C
   exit  and  perform  another  ACCLG.   call, setting the AC.DCR flag to
   decrement the LOGNUM count before allowing the program to exit.

   ERROR RETURN

   When this call takes the error return,  one  of  the  following  error
   codes will be returned in the accumulator:

   Code      Symbol    Error

   1         ACLMX%    LOGMAX check failed.  That is, to log in this  job
                       would exceed LOGMAX.
   2         ACLBM%    BATMAX check failed.
   3         ACLIL%    Invalid argument to ACCLG.  call.
   4         ACLJL%    ACCLG.  with AC.DCR set produced an invalid  value
                       after decrementing.
   5         ACLDC%    An ACCLG.  with AC.DCR had been attempted when the

                                    22-3
   MONITOR CALL DESCRIPTIONS


                       LOGNUM had not been incremented.





















































                                    22-4
                                                MONITOR CALL DESCRIPTIONS


   22.2  ACCT. [CALLI 167]


   FUNCTION

   Reads or changes the account string for a job.

   CALLING SEQUENCE

             MOVE      ac,[XWD function,addr]
             ACCT.     ac,
               error return
             skip return
   addr:     EXP       length
             argument list

   In the calling sequence, you may supply the following variables:

         o  function, as one of the function codes described below.

         o  addr, as the location of the argument block.

         o  length, as the length of the argument  block  (not  including
            this word)

         o  argument list, which is specific to the function.




   22.2.1  Function 0 (.ACTCH) To Change Account Strings


   Changes the account string for the specified job.

   You must have JACCT privileges to use Function  0.   Note  that  [1,2]
   privileges alone do not provide ability to perform this function.

   The argument list is formatted as:

   Word      Contents

   0         Must contain a 1.

   1         A byte pointer to the ASCIZ  account  string,  or  the  word
             [-1,,address],  where address is the location of the account
             string.   In  the  latter  case,  account  strings  must  be
             left-justified on a word boundary.






                                    22-5
   MONITOR CALL DESCRIPTIONS


   22.2.2  Function 1 (.ACTRD) To Read Account Strings


   Reads the account string for the specified job.

   The  maximum  length  for  account  strings  is  set  by  the   system
   administrator  when  the  monitor  is generated by MONGEN (symbol name
   MLACTS).  This default can be changed if your installation uses  fewer
   than 39 characters in its account strings.

   Word      Contents

   0         Must contain a 2.

   1         The job number for the desired account string  (-1  for  the
             calling job).

   2         The location where the monitor  should  return  the  account
             string.

   SKIP RETURN

   For Function .ACTCH, the account string is changed.

   For Function .ACTRD, the account string for the job is in the location
   pointed to by addr+2, and addr+1 contains the job number.

   ERROR RETURN

   An error code is returned in the accumulator.   The  error  codes  and
   their meanings are:

   Code      Symbol    Error

   1         ACTTL%    Account string  too  long  for  your  buffer;  the
                       leftmost characters have been stored.
   2         ACTAC%    Address check error.
   3         ACTIL%    Illegal argument.
   4         ACTNJ%    Nonexistent job number.
   5         ACTPS%    JACCT privileges required.

   EXAMPLE

             MOVE      T1,[XWD .ACTRD,ARGLST]
             ACCT.     T1,
               JRST    ERROR
             JRST      CONTIN
   ARGLST:   EXP       2
   JOBNO:    EXP       -1
   ACCADR:   EXP       ACCSTR
   ACCSTR:   BLOCK     ^D8

   ERROR:    error routine

                                    22-6
                                                MONITOR CALL DESCRIPTIONS


   CONTIN:   success routine

   This code sequence places the ASCIZ account string for the calling job
   into the locations starting at ACCSTR.

   RELATED CALLS

         o  GETPPN

         o  PJOB












































                                    22-7
   APRENB [CALLI 16]


   22.3  APRENB [CALLI 16]


   FUNCTION

   Enables trap servicing for a program.  When a  condition  enabled  for
   trap  servicing occurs, control is transferred to the address given by
   .JBAPR in the job data area.  See Chapter 6 for more information about
   handling traps.

   CALLING SEQUENCE

             MOVEI     ac,flags
             APRENB    ac,
             return

   In the calling sequence, you can supply the following flags, indicated
   by these flag bits:

   Bit       Symbol    Trap Condition

   18        AP.REN    Repetitive enable.

   19        AP.POV    Pushdown list overflow.

   21        AP.ABK    Reserved.

   22        AP.ILM    Memory protection violation.

   23        AP.NXM    Nonexistent memory.

   24        AP.PAR    Memory parity error.

   26        AP.CLK    Clock tick.  The clock ticked while  your  program
                       was actively running; this trap does not occur for
                       every clock tick.

   29        AP.FOV    Floating-point overflow.

   32        AP.AOV    Arithmetic overflow.

   When one of these conditions occurs while the  processor  is  in  user
   mode, the monitor:

        1.  Stores the PC in location .JBTPC in the Job  Data  Area.   If
            the  PC is equal to the first or second location in your trap
            servicing routine, the program is terminated.

        2.  Clears the arithmetic and floating-point overflow flags.

        3.  Transfers  control  to  your  trap-servicing   routine;   the
            location is given by the right half of location .JBAPR in the
            Job Data Area.

                                    22-8
                                                        APRENB [CALLI 16]


   Your program must place the address of the trap-servicing routine into
   .JBAPR before executing the APRENB monitor call.

                                   NOTES


            o  If  your  trap-servicing  routine   contains   the
               instruction

                       JRSTF @.JBTPC

               the processor bits are cleared and  the  state  of
               the  CPU  is  restored;  control resumes where the
               interrupt occurred.

            o  The APRENB monitor call clears the trap  after  an
               occurrence  of  any  selected condition; therefore
               your program must  call  APRENB  after  each  trap
               occurs.

            o  To  enable  repeated  trap   interceptions,   your
               program  should set AP.REN (bit 18) when executing
               the APRENB call; however, clock interrupts must be
               reenabled after each trap occurs.

            o  If  your  program  does  not  enable  for   traps,
               overflow  conditions  and clock ticks are ignored,
               but the  other  conditions  listed  above  produce
               fatal errors.


   EXAMPLE

             MOVEI     T1,OVERFL ;Get address of overflow handler
             MOVEM     T1,.JBAPR ;Put into .JBAPR
             MOVEI     T1,AP.AOV ;Arithmetic overflow flag
             APRENB    T1,       ;To .JBAPR on arith ovflw
             JRST      CONTIN    ;On to something else
   OVERFL:   OUTSTR    [ASCIZ /ARITHMETIC OVERFLOW ERROR/]
             JRSTF     @.JBTPC   ;Resume execution
              .  .  .
   CONTIN:                       ;Something else

   This  code  sequence  sets  up  an  overflow  message  for  the  first
   arithmetic  overflow; note that this example will not handle more than
   one arithmetic overflow.

   COMMON PROGRAMMING ERRORS

         o  Not reenabling the interrupt after each trap has occurred.

         o  Failing to set up .JBAPR prior to the APRENB call.


                                    22-9
   APRENB [CALLI 16]


   RELATED CALLS

         o  PISYS.

         o  UTRP.

















































                                   22-10
                                                       ATTACH [CALLI 104]


   22.4  ATTACH [CALLI 104]


   FUNCTION

   Attaches a terminal line to a job.  For example, this call is used  by
   the  BATCON  program to attach and detach jobs from their terminals at
   system shutdown.  This call is more powerful than the  ATTACH  monitor
   command.

   An unprivileged job can use  the  ATTACH  monitor  call  only  if  its
   terminal  is  in  user  mode,  and  it  can  only  detach from its own
   controlling terminal.

   CALLING SEQUENCE

             MOVE      ac,[EXP <flag>+<lineno>B17+<jobno>B35]
             ATTACH    ac,
               error return
             skip return

   In the calling sequence, you can supply the following variables:

         o  flag is one of the bits described below.

         o  lineno is a line number (restricted to 16 bits).

         o  jobno is the number of  a  logged-in  job  (use  -1  for  the
            current job).

            If jobno is -1, your job is detached from  the  current  line
            and  attached  to  the specified line; if jobno is 0, the job
            attached to the line specified  by  lineno  is  detached;  if
            jobno  is  positive (requires JACCT or [1,2] privileges), the
            monitor detaches the specified job from its current line  and
            attaches it to the specified line.

   Flags you can supply in the accumulator are:

   Bit       Symbol    Terminal Mode

    0        AT.UMM    Puts terminal in monitor (command) mode.  However,
                       .STPGR  of  the SETUUO may force the terminal into
                       user mode.
    1        AT.UUM    Puts terminal in user mode.

   If neither flag is set, the terminal mode is not changed.   Note  that
   this is the terminal mode, not the job mode.

   Using the ATTACH UUO, you perform the  following  functions  with  the
   following information:

   To attach an arbitrary job to a terminal:

                                   22-11
   ATTACH [CALLI 104]


             jobno     should be the number of the job to be attached.

             lineno    should be the number of the terminal to which  the
                       job is to be attached.

             flag      is the mode to which the new terminal will be set.

        The previous terminal will be left in monitor mode.

        To attach your current  job  to  a  terminal,  follow  the  above
        definitions, with the following exception:

             jobno     should be less than 0 (-1 is recommended).

        To detach an arbitrary terminal:

             jobno     must be zero.

             lineno    should  be  the  number  of  the  terminal  to  be
                       detached.

             flags     will be ignored.  The terminal  will  be  left  in
                       monitor mode.

        To detach your job's controlling terminal:

             jobno     must be zero.

             lineno    should be -1 or 777777.  If you explicitly include
                       777777,  the  first  two  bits  of  the  value are
                       ignored, producing  177777  (both  flag  bits  are
                       off).

             flags     are ignored.  The terminal is  placed  in  monitor
                       mode.
   SKIP RETURN

   The job is attached or detached as specified, and the terminal  is  in
   the specified mode.

   ERROR RETURN

   The accumulator is cleared.  An error return occurs only if you use an
   illegal  line  or  job  number,  or  if  you  do not have the required
   privileges for the call.

   EXAMPLE

             MOVSI     T1,-1
             ATTACH    T1,
               JRST    ATTERR
             JRST      CONTIN
             .  .  .

                                   22-12
                                                       ATTACH [CALLI 104]


   ATTERR:   error routine
   CONTIN:   success routine

   This example detaches the current job from its terminal line; the mode
   is not changed.

















































                                   22-13
   CALLI [OPCODE 047]


   22.5  CALLI [OPCODE 047]



   FUNCTION

   Passes the monitor a code for an extended set of monitor calls, called
   CALLIs.   The  negative CALLI codes, except CALLI -1, are reserved for
   customer-defined monitor calls.  All non-negative  codes  and  -1  are
   reserved  for  use by DIGITAL.  Any CALLIs not listed in the following
   table are not supported  or  not  implemented.   Obsolete  CALLIs. are
   marked  as  such,  and some indicate an appropriate, supported monitor
   call to substitute for the obsolete  call.   Obsolete  calls  are  not
   described in this manual.
|  
|  The defined CALLIs also have symbolic names; in this chapter they  are
|  listed  in  alphabetical order by symbol name.  For example, CALLI 215
|  is the CTX.  UUO, described in this chapter under CTX.
|  
|  CALLING SEQUENCE
|  
|            CALLI     ac,function
|              error return
|            skip return
|  
|  In the calling sequence, you can supply function as a function code or
|  symbol.   To  specify  the  function, supply one of the following data
|  types in the ac:
|  
|        o  A numerical function code.
|  
|        o  A symbolic CALLI name, in SIXBIT.
|  
|        o  Function code with  Bit  19  (UU.PHY),  indicating  that  all
|           address   references   in   the  monitor  call  are  physical
|           addresses.
|  
|           To set this flag, set Bit 19.  When Bit 19 is clear,  virtual
|           memory  references  are  allowed.   When  Bit  19 is set, all
|           memory references are accepted as physical addresses.

   The function codes are defined as follows:

   Function
   Code                Symbol    Meaning

   -n through -2                 Reserved for customer definition.

   -1                  LIGHTS    This monitor call is obsolete.

   0                   RESET     Refer to the description of the  monitor
                                 call.


                                   22-14
                                                       CALLI [OPCODE 047]


   n                             CALLI functions.  The CALLIs  and  their
                                 symbolic  names  are listed in numerical
                                 order on the following pages.



















































                                   22-15
   CALLI [OPCODE 047]


   Symbol    CALLI Function           Symbol    CALLI Function
|  
|  LIGHTS    (Obsolete)               DEVTYP    [CALLI 53]
|  RESET     [CALLI 0]                DEVSTS    [CALLI 54] 
|  DDTIN     (Unsupported)            DEVPPN    [CALLI 55]
|  SETDDT    [CALLI 2]                SEEK      (Obsolete)
|  DDTOUT    (Unsupported)            RTTRP     [CALLI 57]
|  DEVCHR    [CALLI 4]                LOCK      [CALLI 60]
|  GETCHR    (Obsolete; use DEVCHR)   JOBSTS    [CALLI 61]
|  WAIT      [CALLI 10]               LOCATE    [CALLI 62]
|  CORE      [CALLI 11]               WHERE     [CALLI 63]
|  EXIT      [CALLI 12]               DEVNAM    [CALLI 64]
|  MONRT.    [CALLI 1,12]             CTLJOB    [CALLI 65]
|  UTPCLR    [CALLI 13]               GOBSTR    [CALLI 66]
|  DATE      [CALLI 14]               ACTIVA    (Unimplemented)
|  LOGIN     [CALLI 15]               DEACTI    (Unimplemented)
|  APRENB    [CALLI 16]               HPQ       [CALLI 71]
|  LOGOUT    [CALLI 17]               HIBER     [CALLI 72]
|  SWITCH    (Obsolete)               WAKE      [CALLI 73]
|  REASSI    [CALLI 21]               CHGPPN    [CALLI 74]
|  TIMER     [CALLI 22]               SETUUO    [CALLI 75]
|  MSTIME    [CALLI 23]               DEVGEN    (Unimplemented)
|  GETPPN    [CALLI 24]               OTHUSR    [CALLI 77]
|  TRPSET    [CALLI 25]               CHKACC    [CALLI 100]
|  TRPJEN    [CALLI 26]               DEVSIZ    [CALLI 101]
|  RUNTIM    [CALLI 27]               DAEMON    [CALLI 102]
|  PJOB      [CALLI 30]               JOBPEK    [CALLI 103]
|  SLEEP     [CALLI 31]               ATTACH    [CALLI 104]
|  SETPOV    (Unsupported)            DAEFIN    [CALLI 105]
|  PEEK      [CALLI 33]               FRCUUO    [CALLI 106]
|  GETLIN    [CALLI 34]               DEVLNM    [CALLI 107]
|  RUN       [CALLI 35]               PATH.     [CALLI 110]
|  SETUWP    [CALLI 36]               METER.    (Unsupported)
|  REMAP     [CALLI 37]               MTCHR.    [CALLI 112]
|  GETSEG    [CALLI 40]               JBSET.    [CALLI 113]
|  GETTAB    [CALLI 41]               POKE.     [CALLI 114]
|  SPY       [CALLI 42]               TRMNO.    [CALLI 115]
|  SETNAM    [CALLI 43]               TRMOP.    [CALLI 116]
|  TMPCOR    [CALLI 44]               RESDV.    [CALLI 117]
|  DSKCHR    [CALLI 45]               UNLOK.    [CALLI 120]
|  SYSSTR    [CALLI 46]               DISK.     [CALLI 121]
|  JOBSTR    [CALLI 47]               DVRST.    [CALLI 122]
|  STRUUO    [CALLI 50]               DVURS.    [CALLI 123]
|  SYSPHY    [CALLI 51]               XTTSK.    (Unsupported)
|  FRECHN  (Obsolete)                 CAL11.    [CALLI 125]









                                   22-16
                                                       CALLI [OPCODE 047]


|  Symbol    CALLI Function           Symbol    CALLI Function
|  
|  MTAID.    [CALLI 126]              QUEUE.    [CALLI 201]
|  IONDX.    [CALLI 127]              RECON.    [CALLI 202]
|  CNECT.    [CALLI 130]              PITMR.    [CALLI 203]
|  MVHDR.    [CALLI 131]              ACCLG.    [CALLI 204]
|  ERLST.    [CALLI 132]              NSP.      [CALLI 205]
|  SENSE.    [CALLI 133]              NTMAN.    [CALLI 206]
|  CLRST.    [CALLI 134]              DNET.     [CALLI 207]
|  PIINI.    [CALLI 135]              SAVE.     [CALLI 210]
|  PISYS.    [CALLI 136]              CMAND.    [CALLI 211]
|  DEBRK.    [CALLI 137]              PIBLK.    [CALLI 212]
|  PISAV.    [CALLI 140]              SCS.      [CALLI 213]
|  PIRST.    [CALLI 141]              SEBLK.    [CALLI 214]
|  IPCFR.    [CALLI 142]              CTX.      [CALLI 215]
|  IPCFS.    [CALLI 143]              PIFLG.    [CALLI 216]
|  IPCFQ.    [CALLI 144]              IPCFM.    [CALLI 217]
|  PAGE.     [CALLI 145]              LLMOP.    [CALLI 220]
|  SUSET.    [CALLI 146]              LATOP.    [CALLI 221]
|  COMPT.    (Reserved)               KNIBT.    [CALLI 222]
|  SCHED.    [CALLI 150]              CHTRN.    [CALLI 22]3
|  ENQ.      [CALLI 151]              ETHNT.    [CALLI 224] 
|  DEQ.      [CALLI 152]              ENTVC.    [CALLI 225]
|  ENQC.     [CALLI 153]              NETOP.    [CALLI 226]
|  TAPOP.    [CALLI 154]              DDP.      (Unsupported)
|  FILOP.    [CALLI 155]              SEGOP.    [CALLI 230]
|  CAL78.    (Unsupported)
|  NODE.     [CALLI 157]
|  ERRPT.    [CALLI 160]
|  ALLOC.    [CALLI 161]
|  PERF.     [CALLI 162]
|  DIAG.     [CALLI 163]
|  DVPHY.    [CALLI 164]
|  GTNTN.    [CALLI 165]
|  GTXTN.    [CALLI 166]
|  ACCT.     [CALLI 167]
|  DTE.      [CALLI 170]
|  DEVOP.    [CALLI 171]
|  SPPRM.    [CALLI 172]
|  MERGE.    [CALLI 173]
|  UTRP.     [CALLI 174]
|  PIJBI.    [CALLI 175]
|  SNOOP.    [CALLI 176]
|  TSK.      [CALLI 177]
|  KDP.      [CALLI 200]









                                   22-17
   CAL11. [CALLI 125]


   22.6  CAL11. [CALLI 125]


   FUNCTION

   Performs front-end testing and debugging functions.  Using this  call,
   you  can  obtain  information about PDP-11 based front end nodes, send
   and receive front-end messages,  and  examine  and  deposit  into  the
   front-end software.

   CALLING SEQUENCE

             MOVE      ac,[XWD length,addr]
             CAL11.    ac,
               error return
             skip return
             . . .
   addr:     XWD port,function
             address
             value
             qstart

   The variables that you can supply in the calling sequence are:

         o  length is the length of the argument block.

         o  addr is the location of the argument block.  Starting at this
            address, the call accepts one to four words, depending on the
            function code.

   The format of the argument list for CAL11.  is:

   Offset    Symbol    Contents

   0         .C11FC    Function word, containing the  port  specification
                       and the function code.  The left half of this word
                       contains the type of port.  The  right  half  must
                       contain   a  function  code.   The  argument  list
                       following  the  function  word  may  include   the
                       following words, depending on the function.

   1         .C11AD    Address of a buffer where the monitor  will  store
                       requested data.

   2         .C11CN    A value that the function uses as data to  deposit
                       in memory.

   3         .C11EN    Address of a buffer where the monitor  will  store
                       information about a device.

   The first word of the argument  list  (.C11FC)  is  required  for  all
   functions.   The  left half of this word specifies the type of port by
   which the front end is connected to the central processor.   The  port

                                   22-18
                                                       CAL11. [CALLI 125]


   specification  can  take  either  of the following formats.  The first
   format is old, and may be used by existing programs.  However, the new
   format is recommended for new programs.

   The old format for the port specification is:

   Bits      Symbol    Meaning

   9-17      C1.CNO    Type of PDP-11 (see .C11TY below).

   9-14      C1.1NT    Type of port (see .C11TY below).

   14-17     C1.1NN    CPU number.

   The new format is signified by the setting of Bit  0,  the  sign  bit.
   With the new format, the following fields are defined:

   Bits      Symbol    Meaning

   0         C1.1NF    New format for port specification.

   1-8       C1.1XX    Reserved for use by DIGITAL.

   9-11      C1.1TY    Type code, one of the following:

                       Code Symbol    Meaning

                       0    .C11DL    DL-10
                       1    .C11DT    DTE-20
                       2    .C11KD    KMC/DUP
                       3    .C11DR    DMR-11

   11-14     C1.1CN    CPU number.

   15-17     C1.1PN    Port number.
|  
|  18-35     C1.1FC    Function code.

   The arguments following .C11FC depend on the function.
   Therefore, the argument lists are described for each function code 
   listed below.

   The function codes and their meanings are:



   22.6.1  Function 0 (.C11DP) to deposit data

   Deposits the specified data in the specified location.   The  argument
   block for this function is:

   Word      Symbol    Contents


                                   22-19
   CAL11. [CALLI 125]


   0         .C11FC    Port specification in the left half.

                       Function name (.C11DP) in the right half.

   1         .C11AD    Address where the data will be deposited.

   2         .C11CN    Value,  or  data,  to  be  deposited  at  location
                       specified in .C11AD.

   This function requires the JP.POK privilege, and works  for  DN60  and
   DN8x front ends only.



   22.6.2  Function 1 (.C11EX) to examine a location

   Examines the specified location.  The argument list for this  function
   is:

   Word      Symbol    Contents

   0         .C11FC    Left half contains the port specification.

                       Right half contains .C11EX.

   1         .C11AD    The address to be examined.

   The data at the specified location is returned in the accumulator.

   This function requires the JP.POK privilege and  works  for  DN60  and
   DN8x front ends only.



   22.6.3  Function 2 (.C11QU) to queue a request to the front end

   The argument list for this function is:

   Word      Symbol    Contents

   0         .C11FC    Left half contains the port specification.

                       Right half contains .C11QU.

   1         .C11AD    Zero

   2         .C11CN    Zero

   3         .C11EN    The address of a data block containing information
                       regarding the front end function.

   This function requires the JP.POK privilege and works  only  for  DN60
   front ends.

                                   22-20
                                                       CAL11. [CALLI 125]


   22.6.4  Function 3 (.C11NM) to return the PDP-11 program name

   For DL10 based ANF-10 front ends, returns  the  name  of  the  program
   running  on  the  PDP-11.   The SIXBIT program name is returned in ac.
   For all other front ends, .C11NM returns  the  name  of  the  protocol
   enabled  by  the  monitor for a given DTE.  The argument list for this
   function contains only the function word, .C11FC.



   22.6.5  Function 4 (.C11UP) to return the PDP-11 status

   Returns the status of the PDP-11 in the ac.  The status is returned as
   0  for  down or 1 for up.  This function requires on the function word
   (.C11FC) in the argument list.



   22.6.6  Function 5 (.C11SM) to send a message to the PDP-11

   Sends a message to a DN8x type of front end.  This  function  requires
   only the first word of the argument list, .C11FC.



   22.6.7  Function 6 (.C11RM) to receive a message from the PDP-11

   Receives a message from a DN8x  type  of  front  end.   This  function
   requires only the first word of the argument list, .C11FC.



   22.6.8  Function 7 (.C11TY) to return information about the PDP-11

   Returns the node type and node number of the  PDP-11.   This  function
   requires only the first word of the argument list, .C11FC.

   The node number is returned in the left half of the ac, and  the  node
   type  is  returned  in  the  right  half, as one of the following type
   codes:

   Code      Symbol    Meaning

   1         .C1D76    DC76.
   2         .C1D75    DC75/DN87.
   3         .C1D60    DN60.
   4         .C1D8S    DN87S.
   5         .C1CFE    Console front end.
   6         .C1MCB    DECnet-10 MCB front end.

   ERROR RETURN

   One of the following error codes is returned in the ac:

                                   22-21
   CAL11. [CALLI 125]


   Code      Symbol    Error

   1         C11NP%    Job not privileged.
   2         C11UF%    Unknown function.
   3         C11ND%    Wrong type of PDP-11 specified.
   4         C11IU%    Examine/deposit function already in use.
   5         C11NA%    No answer to examine/deposit.
   6         C11TS%    Queue entry too short.
   7         C11NE%    Not enough arguments.
   10        C11IA%    Invalid address specified for examine/deposit.
   11        C11IQ%    Invalid argument for queue request function.
   12        C11IC%    Insufficient core.
   13        C11RP%    DTE-reload bit is set, or primary protocol is  not
                       running.
   14        C11IE%    Insufficient exec virtual memory.
   15        C11IL%    Illegal packet length.
   16        C11NC%    CPU is not running.
   17        C11IT%    Illegal type code specified.
   20        C11IP%    Illegal port number specified.
   21        C11DL%    No DL10 support in this monitor.
   22        C11DT%    No DTE support in this monitor.
   23        C11KD%    No KDP support in this monitor.
   24        C11DR%    No DMR support in this monitor.































                                   22-22
                                                        CHGPPN [CALLI 74]


   22.7  CHGPPN [CALLI 74]


   FUNCTION

   Changes the project-programmer number (PPN) for the current job.  This
   call  is  reserved  for  the  exclusive  use  of  the LOGIN and INITIA
   programs.

   CALLING SEQUENCE

             MOVE      ac,[XWD projno,progno]
             CHGPPN    ac,
               error return
             skip return

   In the calling sequence, you  can  supply  projno,progno  as  the  new
   project-programmer number (PPN).

   SKIP RETURN

   The PPN for the current job is changed to the given number.

   ERROR RETURN

   Occurs if the calling job is already  logged  in,  or  if  either  the
   project or programmer number is zero.  The ac is unchanged.

   EXAMPLE

             MOVE      T1,[XWD 27,5031]
             CHGPPN    T1,
               JRST ERROR

   This code sequence changes the PPN for the current job to 27,5031.

   RELATED CALLS

         o  GETPPN

         o  LOGIN













                                   22-23
   CHKACC [CALLI 100]


   22.8  CHKACC [CALLI 100]


   FUNCTION

   Determines whether a file may be accessed, based on your job's current
   PPN  and  the  file  access protection code.  Your programs should not
   make assumptions concerning the access codes associated with  a  file;
   they  should  use  the  CHKACC  monitor call to determine if access is
   permitted to that  file.   This  is  especially  true  for  privileged
   programs   that   are  constrained  by  the  access  privileges  of  a
   non-privileged project-programmer number for which they are performing
   a task.

   The CHKACC call does  not  function  correctly  on  systems  that  are
   running  a file daemon program, such as FILDAE.  So, if your system is
   running  a  FILDAE   type   program,   use   the   FILOP. call.    The
   FILOP. monitor  call  allows  a  privileged program to specify that an
   operation is to be performed only when the operation would be legal if
   performed  by  a  specified project-programmer number.  In most cases,
   the FILOP.  function eliminates the need for the CHKACC monitor  call.
   New  programs  should  be  written  using  the FILOP. "in your behalf"
   capability (.FOPPN).

   CALLING SEQUENCE

             MOVEI     ac,addr
             CHKACC    ac,
               error return
             skip return
             . . .
   addr:     XWD       fcn-code,<ufdprot>B26+<filprot>B35
             XWD       projno,progno ;For file
             XWD       projno,progno ;For accessing program

   In the calling sequence, you can provide the following information:

         o  addr is the address of the argument block.

         o  fcn-code is one of the function codes described below.

         o  ufdprot is a directory protection code.

         o  filprot is a file protection code.

         o  projno,progno is a project-programmer number (PPN).


                                    NOTE

           When your program specifies Function codes  0  through
           6, the monitor ignores the directory protection.  When
           your program specifies function codes 7  and  10,  the

                                   22-24
                                                       CHKACC [CALLI 100]


           monitor ignores the file protection.


   The function codes and their meanings are:

   Code      Symbol    Access

   0         .ACCPR    Checks whether your job can change the  protection
                       for the file.

   1         .ACREN    Checks whether your job can rename the file.

   2         .ACWRI    Checks whether your job can write the file.

   3         .ACUPD    Checks whether your job can update  the  file  (in
                       old update mode).

   4         .ACAPP    Checks whether your job can append to the file.

   5         .ACRED    Checks whether your job can read the file.

   6         .ACEXO    Checks whether your job can execute the file.

   7         .ACCRE    Checks whether your job can create the file in the
                       user's UFD.

   10        .ACSRC    Checks whether your job can read the directory  as
                       a file.

   The right to access a file is determined by:

         o  The type of access desired.

         o  The project-programmer number of the user desiring access  to
            the file.

         o  The project-programmer number of the directory containing the
            file.

         o  The protection field of the file or the protection  field  of
            the directory.

   Note that access to  a  file  is  not  dependent  on  the  file  name.
   However, the file name is needed if your program is going to perform a
   LOOKUP.

   The owner of a UFD or an SFD can always read  the  UFD  or  SFD  as  a
   directory.

   SKIP RETURN

   The monitor returns 0 in the ac if access to the file is  allowed,  or
   -1 if access is not allowed.

                                   22-25
   CHKACC [CALLI 100]


   ERROR RETURN

   The ac is unchanged; this occurs only if you gave an invalid  function
   code or CHKACC is not implemented on your system.

   EXAMPLE

   The following code checks to see if the user logged in as [11,315] can
   change a file with protection <055> in the directory area [27,5031].

             MOVEI     T1,ARGLST
             CHKACC    T1,
               JRST    ERROR
             JRST      CONTIN
   ARGLST:   XWD       .ACCPR,<775>B26+<055>B35
             XWD       27,5031   ;For files
             XWD       11,315    ;For accessing program

   RELATED CALLS

        FILOP.

   COMMON PROGRAMMING ERRORS

   Assuming that the CHKACC call grants access to a file.  Remember  that
   it  only  tests  the accessibility of the file.  FILDAE can still deny
   access to the file on a LOOKUP, ENTER, RENAME,  or  FILOP. call.   The
   File Daemon program is described in Appendix C.


























                                   22-26
                                                       CHTRN. [CALLI 223]


   22.9  CHTRN.  [CALLI 223]


   FUNCTION

   CHTRN.  is used to translate characters  from  one  representation  to
   another.    For  instance,  CHTRN.   may  be  used  to  convert  8-bit
   characters to 7-bit characters.

   CALLING SEQUENCE

             XMOVEI    ac,addr
             CHTRN. ac,
               error return
             skip return
|  
|  addr:     XWD       flags, source count
|            EXP       source byte pointer (first word)
|            EXP       source byte pointer (second word)
|            XWD       reserved, destination count
|            EXP       destination byte pointer (first word)
|            EXP       destination byte pointer (second word)
|  
|  In the calling  sequence,  you  specify  addr,  the  location  of  the
|  argument list.  Suppy the argument list in the following format:
|  
|  Word      Symbol    Contents
|  
|  0         .CHFLG    Bits 0-17 (CH.FLG)  contain  the  flags  described
|                      below.
|  
|            .CHSCT    Bits 18-35  (CH.SCR)  contain  the  source  count,
|                      which  is  the  number  of  bytes stored where the
|                      source byte pointer indicates.
|  
|  1         .CHSB1    The source byte pointer is a two-word byte pointer
|                      to  the  location where the characters are stored.
|                      This is the first word.
|  
|  2         .CHSB2    This  is  the  second  word  of  the  source  byte
|                      pointer.
|  
|  3         .CHDCT    destination count is the number of bytes available
|                      at  the  location  the  destination  byte  pointer
|                      indicates.
|  
|  4         .CHDB1    destination  byte  pointer  is  a  two-word   byte
|                      pointer  to  the  buffer  reserved for storing the
|                      translated characters.  This is the first word.
|  
|  5         .CHDB2    This is the second word of  the  destination  byte
|                      pointer.


                                   22-27
   CHTRN. [CALLI 223]


|  The flag bits are:
|  
|  Flag      Symbol    Meaning
|  
|  0         CH.FBR    Fallback  representation  (translates   8-bit   to
|                      7-bit).
   1         CH.OVR    Includes    overprinting    in    the     fallback
                       representation.
   2         CH.RAI    Changes lower case to upper case.
   3         CH.6BT    Converts ASCII characters to SIXBIT.
   4         CH.IGN    Ignores   extra   bits;   does   not   range-check
                       characters.
   5         CH.ESC    Maps 7-bits ESCape  sequences  to  8-bit  wherever
                       possible.
   6         CH.X6B    Expands SIXBIT source to ASCII destination.

   SKIP RETURN

   The ac is unchanged.  The monitor returnes the byte  pointers  in  the
   argument  list  with  all  indirection  and indexing resolved.  If you
   specify one-word global byte pointers, the pointers will  be  expanded
   from one-word global format to two-word global format.

   ERROR RETURN

   One of the following codes is returned in the ac:

   Code      Symbol    Error

   1         CHADC%    Address check while reading or writing arguments.
   2         CHBYP%    Illegal byte pointer.
   3         CHINV%    Unknown or reserved flag bit specified.
   4         CHILC%    Illegal character encountered during translation.
   5         CHDCE%    Destination count exhausted prematurely.
   6         CHIBC%    Invalid bit combination specified.



















                                   22-28
                                                       CLOSE [OPCODE 070]


   22.10  CLOSE [OPCODE 070]


   FUNCTION

   Terminates transmission of data to or from a file.   Closes  the  file
   for  both  input  and output.  The default functions of the CLOSE call
   for unbuffered data modes are:

         o  The output side of the channel is closed.  In unbuffered data
            modes, the effect is to execute a device-dependent function.

         o  The input side of the channel  is  closed.   The  end-of-file
            flag  is  cleared.   Further actions depend on the data mode.
            The effect is to execute a device-dependent function.

   In buffered data modes, the following operations are performed on  the
   output side of the channel:

         o  All data in the buffers that have not been transmitted to the
            the device is written to the device.

         o  Device-dependent functions are performed.

         o  The ring use bit is set to 1, indicating that the ring is not
            in use.

         o  The buffer byte count, the third word of the  buffer  header,
            is set to 0.

         o  Control returns to the  user  program  when  transmission  is
            complete.

   In buffered data  modes,  if  a  ring  buffer  exists,  the  following
   operations are performed to close the input side of the channel:

         o  The monitor waits until the device is inactive.

         o  The use bit of each buffer is cleared, to indicate  that  the
            buffer is empty.

         o  The use bit of the buffer ring is set to 1, to indicate  that
            the ring is not in use.

         o  The buffer byte count is set to 0.

         o  Control returns to the user program.







                                   22-29
   CLOSE [OPCODE 070]


   If a file is being written to disk at the time of  the  output  CLOSE,
   the  unwritten blocks at the end of the disk file are deallocated.  On
   input CLOSE, the access date of a disk file is updated if any data was
   actually  read.   (LOOKUP followed by CLOSE does not change the access
   date.)

   If the file is being output to  the  card  punch,  the  last  card  is
   punched,  followed  by an end-of-file card.  This end-of-file card and
   the header card contain the file identification  punch  in  column  1,
   which is ignored by the card reader service routine.

   If a file is being output to magtape, two EOF marks  are  written  and
   the tape position is backspaced over one EOF.

   If a file is being output to the line printer, a  form-feed  character
   is appended to the last block of data.

   CALLING SEQUENCE

             CLOSE     channel,flags
             return

   In the calling sequence, you can supply the following information:

         o  channel is the channel number for the file.

         o  flags are one or more of the function flags described below.

   The function flags and their meanings are:

   Bits      Symbol    Function

   29        CL.DAT    Deletes the name block and access tables from  the
                       disk  data  base  and  the  space  is  returned to
                       monitor free core.  For example, this function  is
                       used by BACKUP on a RESTORE operation.

   30        CL.RST    Inhibits deletion of the original  file,  if  any,
                       for  an  ENTER call that creates or supersedes the
                       file.  The new copy of the file is discarded.

   31        CL.NMB    Inhibits deletion of the  name  block  and  access
                       tables   in   monitor  memory;  this  function  is
                       effective only if a LOOKUP call was  executed  for
                       the  channel, but no subsequent INPUT call for the
                       channel was executed.

   32        CL.ACS    Prevents updating of the file  access  date.   For
                       example,  this  feature is used by BACKUP, to save
                       files on magtape  without  changing  their  access
                       dates.

   33        CL.DLL    Inhibits deallocation of any unwritten  blocks  at

                                   22-30
                                                       CLOSE [OPCODE 070]


                       the end of a disk file.

   34        CL.IN     Inhibits closing of the input side of the channel.

   35        CL.OUT    Inhibits  closing  of  the  output  side  of   the
                       channel.

   RETURN

   The function is performed.

   EXAMPLE

   See Chapter 11, Monitor Calls Manual Vol. 1.

   RELATED CALLS

         o  LOOKUP

         o  ENTER

         o  RENAME
































                                   22-31
   CLRBFI [TTCALL 11,]


   22.11  CLRBFI [TTCALL 11,]


   FUNCTION

   Clears text from the terminal input buffer.  This call is  often  used
   to  clear  any  further user commands when an error occurs; otherwise,
   incorrect processing (due to user-type ahead) could follow the error.

   CALLING SEQUENCE

             CLRBFI
             return

   RETURN

   All text is cleared from the input buffer.

   RELATED CALLS

         o  CLRBFO

         o  TTCALLs

         o  TRMOP.





























                                   22-32
                                                      CLRBFO [TTCALL 12,]


   22.12  CLRBFO [TTCALL 12,]


   FUNCTION

   Clears the terminal output buffer.   This  monitor  call  is  normally
   equivalent to typing CTRL/O.

   CALLING SEQUENCE

             CLRBFO return

   RETURN

   The terminal output buffer is cleared.

   RELATED CALLS

         o  CLRBFI

         o  TTCALLs

         o  TRMOP.































                                   22-33
   CLRST. [CALLI 134]


   22.13  CLRST.  [CALLI 134]


   FUNCTION

   Clears or sets the I/O status bits for a device.   This  enables  your
   program  to  continue after an I/O error has occurred.  The CLRST. UUO
   functions like SETSTS, taking the list of devices and I/O status  bits
   for  each  device,  with the additional ability to specify devices not
   explicitly OPENed on an I/O channel.

   You can examine the current setting of the I/O status  bits  by  using
   the SENSE. monitor call.

   CALLING SEQUENCE

             MOVE      ac,[XWD len,addr]
             CLRST.    ac,
               error return
             skip return
             . . .
           / SIXBIT/device/  \
   addr:  |  EXP       channo | 
           \ EXP       udx   /
   addr+1:   XWD       0,setsts-value
           / SIXBIT/device/  \
   addr+2:|  EXP       channo |
           \ EXP       udx   /
   addr+3:   XWD       0,setsts-value
   . . .

   In the calling sequence, you can supply the following information:

         o  len is the length of the argument list.

         o  addr is the address of the argument list, containing  one  or
            more  2-word  entries.   Each  two-word  entry  contains  the
            following information:

         o  In the first word  of  the  pair  (.CLRSX),  store  a  device
            specification, in the form of a SIXBIT device name, channo as
            a channel number, or the device udx.

         o  In  the  second  word  of  the  pair  (.CLRST),   store   the
            setsts-value,  or  the  halfword value of the I/O status bits
            for the given device, channel, or udx.  This  word  specifies
            the new settings for the I/O status bits.

   Your program can clear the I/O status bits for more than  one  device.
   The argument block contains a 2-word entry for each device.

   For a complete list of I/O status bits, see Chapter 11.  Each type  of
   device has a unique set of I/O status bits, which are described in the

                                   22-34
                                                       CLRST. [CALLI 134]


   chapter about the appropriate device.

   SKIP RETURN

   The I/O status bits for each specified device are cleared.

   ERROR RETURN

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   1         CLRID%    Illegal device specified.
   2         CLRNO%    Specified device does not belong to your job.

   EXAMPLE

             MOVE      T1,[XWD <CONTIN-ARGLST>,ARGLST]
             CLRST.    T1,
               JRST ERROR
             JRST      CONTIN
   ARGLST:   SIXBIT    /DTA0/
             EXP       0
             EXP       CHANNO
             EXP       0
               . . .
   CONTIN:

   This code sequence clears the I/O status bits for DTA0 and the  device
   associated with the channel whose number is the value of CHANNO.

   RELATED CALLS

         o  ERLST.

         o  GETSTS

         o  SENSE.

         o  SETSTS














                                   22-35
   CMAND. [CALLI 211]


   22.14  CMAND.  [CALLI 211]


   FUNCTION

   Defines commands that run  specified  programs,  and  manipulates  the
   job's  user-defined  command list.  In the argument list to this call,
   your program defines a command name that,  when  typed  as  a  monitor
   command, will run the program specified by the file specification that
   is also included in the command list.  The CMAND. UUO  allows  you  to
   define  multiple command names in the argument list, and allows you to
   read the command list that is already defined for your job.

   CALLING SEQUENCE

             MOVE      ac,[XWD fcn-code,addr]
             CMAND.    ac,
               error return
             skip return
   addr:     argument-list

   In the calling sequence, you can supply the following information:

         o  fcn-code is the function code.  The function codes are listed
            in the following sections.

         o  addr is the address of the argument list.  The argument  list
            for  each function code is described in the following list of
            function codes.




   22.14.1  Function 1 (.CMINT) to initialize current command list

   Initializes (clears) any current command definitions and creates a new
   command  list as specified at addr.  The argument list stored at addr,
   you  supply  the  command  flags,  the  command  name,  and  the  file
   specification of the program to run when the command is invoked.

   The argument list for this function is formatted as follows:

   Word      Symbol    Contents

   0         .CMFLA    In the  left  half,  one  or  more  of  the  flags
                       described  below.   In  the  right  half (CM.COU),
                       store the length of the argument list.
   1         .CMNAM    Command name
   2         .CMDVC    Device name
   3         .CMFLE    File name
   4         .CMEXT    File extension
   5         .CMPPN    Project-programmer number
   6         .CMSFD    First SFD name

                                   22-36
                                                       CMAND. [CALLI 211]


   7-10                Remaining SFD names

   In argument list, you can supply the following flags to  indicate  the
   number  of  characters in the command that must be input to define the
   command uniquely.  The flags are:

   Mask      Symbol    Meaning

   10B17     CM.UN1    Command  is  uniquely  identified  by  the   first
                       character of its name.

   4B17      CM.UN2    Command is uniquely identified by  the  first  two
                       characters.

   2B17      CM.UN3    Command is uniquely identified by the first  three
                       characters.

   1B17      CM.UN4    Command is uniquely identified by the  first  four
                       characters.

   1B12      CM.AUT    Command is defined  as  automatically  saving  the
                       job's  current context.  The command will create a
                       new context, in which the called program will run.
                       The  original context is restored when the program
                       terminates.

   You can define more than one command by including a command block  for
   each  command,  and storing them in contiguous blocks.  The last word,
   where the next .CMFLA might be expected, must be set to zero.



   22.14.2  Function 1 (.CMADD) to add commands to the command list

   Adds one or more command definitions to the current command list.  The
   argument block for this function is identical to that used by Function
   0 (.CMINT).



   22.14.3  Function 2 (.CMDEL) deletes commands from the command list

   Deletes one  or  more  commands  from  the  current  list  of  defined
   commands.  The argument list for this function is formatted as:

   Word      Symbol    Contents

   0         .CMSIZ    Length of the argument list
   1         .CMCMN    Command name to be deleted
   n                   More command names.

   The length of the argument list is equal to the entire length  of  the
   argument  list,  including  .CMSIZ.   The  commands  to be deleted are

                                   22-37
   CMAND. [CALLI 211]


   listed in the following words, and each  must  be  equivalent  to  the
   .CMNAM  word where the command was defined (see .CMINT argument list).
   Note that commands in the command list that  are  not  listed  in  the
   .CMDEL argument list are not affected by this function.



   22.14.4  Function 3 (.CMLST) to list command definitions

   Lists all the currently defined command names.  The argument list  for
   this function is formatted as:

   addr:     length
             BLOCK length-1

   In the argument list, you supply the following information:

         o  length is the length of the argument block

         o  length-1 is the number of commands to return.

   On a successful skip return, the argument block appears as:

   Word      Symbol    Contents

   0         .CMSIZ    Length of returned list
   1         .CMNAM    First command in the list
   n                   Remaining commands in the list

   The monitor returns, in .CMSIZ, the total number of defined  commands.
   The  command  names  are returned starting at .CMNAM.  If the reserved
   block is not long enough, the list of command names is limited to  the
   reserved space.



   22.14.5  Function 4 (.CMRET) to return information about a command

   Returns information about a command.  You must  include  the  argument
   list as:

   Word      Symbol    Contents

   0         .CMSIZ    Length of argument list
   1         .CMCNM    Command  name  for  which  information  is  to  be
                       returned.

   In this argument list, specify the length of the block to be  returned
   in  .CMSIZ,  and the name of the defined command for which information
   is desired, in .CMCNM.  The information is returned in the form  of  a
   command  block  (same  as  argument  list for .CMINT), for the command
   name.


                                   22-38
                                                       CMAND. [CALLI 211]


   22.14.6  Function 5 (.CMDMP) to dump the data base

   Dumps the entire command definition data base.  This function uses the
   following argument list:

   Word      Symbol    Contents

   0         .CMSIZ    Length of argument list
   1-n                 BLOCK  length-1  to  reserve   space   to   return
                       information.

   After the call returns successfully, a list of all the command  blocks
   for  defined  commands  will  be  returned  starting  at  Word 1.  See
   Function 0 (.CMINT) for the format of  the  returned  command  blocks.
   Note  that  the  last command block will be followed by a zero word to
   indicate the end of the command list.

   SKIP RETURN

   The state of a return from CMAND. UUO is described for  each  function
   listed above.

   ERROR RETURN

   On an error return, the  CMAND. UUO  takes  the  non-skip  return  and
   returns the appropriate code from the following list of error codes:

   Code      Symbol    Error

   1         CMIAL%    Your program specified an illegal  argument  list.
                       The  argument  list  length was either too long or
                       too short.
   2         CMADC%    Address check occurred.
   3         CMNER%    Not enough room to define commands in  your  job's
                       per-process space.
   4         CMDNF%    Your program did not finish  reading  the  command
                       list.  The buffer size you allowed at addr was not
                       enough  to  contain  all  the  information  to  be
                       returned.
   5         CMNSN%    No such command  name.   On  a  .CMRET  or  .CMDEL
                       function,  you  specified  a  command  that is not
                       defined.

   EXAMPLE

             MOVE AC,[XWD .CMADD,CMBLK]
             CMAND. AC,
               error return
             skip return         ;Command has been defined
   CMBLK:    CM.UN3!6            ;/UNIQUE:3, and 6 words in block
             SIXBIT /XDDT/       ;Command name
             SIXBIT /DSKA/       ;Device name
             SIXBIT /DDT/        ;File name

                                   22-39
   CMAND. [CALLI 211]


             EXP 0               ;Extension (assumed to be EXE)
             XWD 1,4             ;PPN

   This  coding  sequence  will  define   the   XDDT   command   to   run
   DSKA:DDT[1,4].

   COMMON PROGRAMMING ERRORS

   Assuming that .CMFLA in .CMINT or .CMADD specifies the length  of  the
   entire argument list.












































                                   22-40
                                                       CNECT. [CALLI 130]


   22.15  CNECT.  [CALLI 130]


   FUNCTION

   Connects or disconnects a device associated with an MPX channel.   You
   can   use   CNECT. only   with   devices   that  are  MPX-controllable
   (specifically,  terminals,  pseudo-terminals,  line   printers,   card
   readers, paper tape punches, and remote data terminals).

   CALLING SEQUENCE

             MOVEI     ac,addr
             CNECT.    ac,
               error return
             skip return
             . . .
   addr:    XWD        fcn-code,channel
          / SIXBIT     /device/ \
          \ EXP        udx       /

   In the calling sequence, you can supply the following variables:

         o  addr is the address of the argument block.

         o  fcn-code is one of the function codes described below.

         o  channel is the number of an initialized MPX channel.

         o  device is the SIXBIT physical, generic, or logical name of  a
            device.

         o  udx is the Universal Device Index for the device.

   Your program must initialize an MPX channel for the  device  using  an
   OPEN  call,  before  using the CNECT. call to connect the device to an
   MPX channel.  The device must be initialized and connected to the  MPX
   channel before it can be used for any I/O.

   The function codes and their meanings are:

   Code      Symbol    Function

   1         .CNCCN    Connects the device to an MPX channel.

   2         .CNCDC    Equivalent  to  CLOSE  and  disconnect  from   MPX
                       channel.

   3         .CNCDR    Equivalent  to  RESET  and  disconnect  from   MPX
                       channel.

   4         .CNOFE    Determines output feasibility.


                                   22-41
   CNECT. [CALLI 130]


   SKIP RETURN

   The specified device is connected, disconnected, reset, and/or closed,
   as  appropriate for the given function code.  For the .CNCCN function,
   the Universal Device Index for the device is returned in the ac.

   For the .CNOFE function, two values are returned in the ac.  The  left
   half of the ac contains the user address of the current output buffer,
   or 0 if none.  The right half of the ac contains the  number  of  data
   requests  for  a network device (except terminals, which return a 1 if
   output is possible), 0 if there are no data requests for  the  network
   device,  or  -1  if  the device is local.  The number of data requests
   indicates the number of buffers that  the  remote  device  can  accept
   before your job will block in output wait state.

   Your program can perform an output UUO to the device if the left  half
   of the ac contains 0 and the right half is non-zero.

   ERROR RETURN

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   1         CNCNM%    MPX channel not initialized.
   2         CNCUD%    Nonexistent device.
   3         CNCCM%    Illegal device for MPX.
   4         CNCNF%    Not enough memory for control blocks.
   5         CNCNC%    Device not connected.
   6         CNCNO%    Device illegal or not initialized.
   7         CNCII%    Invalid Universal Device Index.
   10        CNCUF%    Invalid function code.
   11        CNCDU%    Device is not available to your job.
   12        CNCSD%    Device is spooled; not MPX-controllable.

   EXAMPLE

             MOVEI     T1,ARGLST
             CNECT.    T1,
               JRST ERROR
             JRST      CONTIN
   ARGLST:   XWD       .CNCDC,CHANNO
             SIXBIT    /TTY111/

   This code sequence disconnects the device TTY111, which is  associated
   with the MPX channel given by CHANNO, from an MPX channel.








                                   22-42
                                                          CORE [CALLI 11]


   22.16  CORE [CALLI 11]


   FUNCTION

   Allows your  program  to  dynamically  expand  or  contract  its  core
   allocation  in  either  or  both  segments.   Note that neither of the
   segments may be locked in core.
|  
|  The program must have JACCT privileges in order to expand a segment in
|  physical memory.
|  
|  CALLING SEQUENCE
|  
|            MOVE      ac,[XWD hiseg,lowseg]
|            CORE      ac,flag
|              error return
|            skip return

   In the calling sequence, you can supply the following variables:

         o  hiseg is the highest relative  address  to  be  used  in  the
            program's  high  segment.   If hiseg = 0, the core assignment
            for the high segment is left unchanged.

         o  lowseg is the highest relative address  to  be  used  in  the
            program's  low  segment.   If lowseg = 0, the core assignment
            for the low segment is left unchanged.

         o  flag is the "Physical" flag bit (UU.PHY) to indicate that the
            core  assignment  applies  to  physical memory.  Refer to the
            CALLI UUO for more information.

   Note that if the CORE UUO is executed in a non-zero section, all  core
   address  arguments  will  be  interpreted  as section-relative values.
   That is, all references are assumed to  be  relative  to  the  current
   section.

   If you give a non-zero hiseg that is less than 400000 or the length of
   the   low   segment  (whichever  is  greater),  the  high  segment  is
   eliminated.  Doing this from the high segment causes an illegal memory
   reference.

   If your program has no high segment, or if you give a CORE  call  that
   eliminates  the  high segment, you can create a new, non-sharable high
   segment by giving hiseg greater than 400000.  You  can  make  the  new
   high segment sharable by doing the following:

         o  Giving it a .EXE extension.

         o  Writing it onto a storage device.



                                   22-43
   CORE [CALLI 11]


         o  Closing the file.

         o  Using the SSAVE monitor command, or the  SAVE. UUO  with  the
            SS%SSH flag, to save the entire core image.

         o  Initializing the program  with  a  GET,  R,  or  RUN  monitor
            command, or with a RUN, MERGE., or GETSEG monitor call.

   If you use the CORE monitor call giving a value  for  lowseg  that  is
   less  than  or  equal to .JBREL, the monitor removes any noncontiguous
   pages from your address space; these pages may include the page  fault
   handler  (PFH) or VMDDT.  To avoid this, use the PAGE. monitor call to
   choose only the needed pages.

   Before expanding core, you should compare the highest required address
   with  the highest legal address (stored in .JBREL).  The example below
   shows how to expand core only if necessary.

   You can specify the beginning of your program's high segment by  using
   the  REMAP monitor call, the /NEWPAGE or /SET switches to LINK, or the
   TWOSEG pseudo-op to MACRO.

   SKIP RETURN

   The ac contains  the  current  virtual  memory  limit  in  1K  blocks.
   However,  if  the CORE monitor call is issued from a non-zero section,
   the virtual memory limit is not returned in the ac.

   ERROR RETURN

   The error return occurs if any of the following conditions occurs:

         o  You give hiseg < 400001, but you  do  not  have  write-access
            privileges.

         o  You give both hiseg and lowseg as zero.  In  this  case,  the
            number of free 1K blocks is returned in the ac.

         o  The sum of the requested new low segment and  the  previously
            existing  high  segment  exceeds  your  allowed program size.
            Core assignment is not changed; the maximum  allowed  program
            size (in 1K blocks) is returned in the ac.

         o  The sum of the requested new low and  high  segments  exceeds
            your  allowed  program size.  Core assignment is not changed;
            the maximum allowed program size (in 1K blocks)  is  returned
            in the ac.







                                   22-44
                                                          CORE [CALLI 11]


         o  You give a lowseg argument that would extend the low  segment
            into the high segment.

         o  One or both segments are locked.
|  
|        o  The program tried to expand  a  segment  in  physical  memory
|           without the requisite JACCT privileges set for the job.

   EXAMPLE

             MOVE      T1,NEWSIZ ;Set up for call
             PUSHJ     P,CHKCOR  ;Call for core
             JRST      CONTIN

             ;Subroutine to get core only if needed

   CHKCOR:   CAMG      T1,.JBREL##         ;Core size OK?
             POPJ      P,        ;Yes
             CORE      T1,       ;Get more core
               JRST    ERROR     ;To error routine
             POPJ      P,        ;Core increase OK

   RELATED CALLS
|  
|        o  PAGE.
|  
|        o  SEGOP.



























                                   22-45
   CTLJOB [CALLI 65]


   22.17  CTLJOB [CALLI 65]


   FUNCTION

   Obtains the number of the job that is controlling a specified  subjob.
   The subjob must be attached to a pseudo-terminal.

   CALLING SEQUENCE

             MOVEI     ac,jobno
             CTLJOB    ac,
               error return
             skip return

   In the calling sequence, you supply jobno, which is the number of  the
   controlled job, or -1 to specify your current job.

   SKIP RETURN

   The number of the controlling job is returned in the ac.  If  the  job
   given  by  jobno  is  not  controlled  by a pseudo-terminal (PTY), the
   number returned in the ac is -1.

   ERROR RETURN

   Occurs if the job number is illegal.

   EXAMPLE

             MOVNI     T1,1
             CTLJOB    T1,
               JRST    ERROR

   This code sequence returns the number of the controlling job in T1.

   RELATED CALLS

   PJOB















                                   22-46
                                                         CTX. [CALLI 215]


   22.18  CTX.  [CALLI 215]


   FUNCTION

   CTX.  allows  you  to  manipulate  contexts.   (For  a  discussion  of
   contexts,  see  Volume  1.)  Since the argument block of CTX. is never
   written by the monitor, it may reside in a write-protected page or  in
   a literal.

   CALLING SEQUENCE

             XMOVEI    ac,addr
             CTX.      ac
               error return
             skip return
   addr:     argument-list

   In the calling sequence, you  supply  addr  as  the  location  of  the
   argument  list.   The  argument  block  is  formatted in the following
   fashion:

          0   1---------8  9------17  18----------------------35 
        +=======================================================+
        | P |  Reserved  |  Length   |      Function code       |
        |-------------------------------------------------------|
        |                  Data buffer length                   |
        |-------------------------------------------------------|
        |                  Data buffer address                  |
        |-------------------------------------------------------|
        |                  SIXBIT context name                  |
        |-------------------------------------------------------|
        |         Reserved           |    RUN UUO offset        |
        |-------------------------------------------------------|
        |                 RUN UUO block address                 |
        |-------------------------------------------------------|
        |        TMPCOR length       |    SIXBIT name           |
        |-------------------------------------------------------|
        |                 TMPCOR buffer address                 |
        +=======================================================+

   The format of the argument block is:

   Word      Symbol    Contents

   0         .CTFNC    The function code word.  It also contains  one  of
                       the   following  flags,  and  the  length  of  the
                       argument block, in the following format:

                       Bits      Symbol    Meaning

                       0         CT.PHY    Physical-only RUN UUO.
                       2-8                 Reserved for DIGITAL.

                                   22-47
   CTX. [CALLI 215]


                       9-17      CT.LEN    Specifies the  length  of  the
                                           argument    block,   including
                                           .CTFNC.
                       18-35     CT.FNC    Contains one of  the  function
                                           codes listed below.

   1         .CTDBL    Holds  the  data  buffer  length  in  words.   510
                       decimal words is the maximum.

   2         .CTDBA    Contains the  full  30-bit  address  of  the  data
                       buffer.   If  the IFIW (sign bit) is on, a section
                       local address, relative to the  section  CTX.   is
                       executed in, is referenced.

   3         .CTNAM    Used to hold a context name when  creating  a  new
                       context.   When  manipulating  contexts, this word
                       may contain a context name or context number.

   4         .CTRNO    (RUN UUO word) This holds the  offset  that  would
                       normally  go  into  the  left  half of the RUN UUO
                       accumulator  (0  for  terminal  input,  or  1  for
                       indirect command file input).

   5         .CTRNB    Holds  the  30-bit  block   address   that   would
                       ordinarily  go  into the right half of the RUN UUO
                       accumulator.

   6         .CTTMN    Contains the TMPCOR length in the left half  (Bits
                       0-17), and its SIXBIT name in the right half (Bits
                       18-35).

   7         .CTTMB    Contains the 30-bit TMPCOR buffer address.

   Valid function codes you can specify for  .CTFNC  and  their  argument
   lists are described in the following sections.



   22.18.1  Function 0 (.CTSVH) to save current context and halt

   Saves the current context and halts the job.  This has the effect of a
   PUSH command (refer to the TOPS-10 Operating System Commands Manual).

   The context created is inferior.  The inferior context is  deleted  as
   soon as you switch from it back to the superior one.



   22.18.2  Function 1 (.CRSVR) to save current context and run

   Saves the current context, and runs a program in an inferior  context.
   This  is  the  equivalent  of an auto-save, then a restore, at monitor
   level.

                                   22-48
                                                         CTX. [CALLI 215]


   22.18.3  Function 2 (.CVSVT) to create a parallel context

   Creates a parallel context by saving the current one  and  creating  a
   new  top  level context.  The new context is different from one formed
   by a PUSH chain, as it is not inferior, nor is it  associated  with  a
   chain of PUSHed contexts.



   22.18.4  Function 3 (.CTSVS) to save and switch contexts

   Saves the current context, and switches to another (already  existing)
   parallel context.

   For instance, you could use .CTSVR to create a new context  running  a
   program,  and  switch  back to the previous context using .CTSVS.  You
   could later return to the context created by .CTSVR (using the  .CTSVS
   function),  and  restart  the program in that context, without waiting
   for it to re-initialize.



   22.18.5  Function 4 (.CTSVD) to delete a context

   Switches to the specified context, deletes  it,  and  returns  to  the
   previous  (saved)  context.   You  need  to  specify this function for
   parallel contexts only,  since  inferior  contexts  are  automatically
   deleted when you return to its superior



   22.18.6  Function 5 (.CTRDB) to read data from the context buffer

   Reads the data buffer without changing the information.   An  inferior
   context uses this to read data when a superior context passes to it.



   22.18.7  Function 6 (.CTWDB) to write data into the context buffer

   Writes the data buffer.   An  inferior  context  writes  data  to  its
   superior  using this.  Once data has been written, the old data in the
   superior context is lost.



   22.18.8  Function 7 (.CTRQT) to read context quota information

   Reads the context quota and saved-page quota for a job.  The following
   data  buffer  is  returned  for  this  function  and  for  Function 10
   (.CTSQT).

   Word      Symbol    Contents

                                   22-49
   CTX. [CALLI 215]


   0         .CTJOB    Job number, supplied by program.
   1         .CTCTQ    Returned context quota.
   2         .CTPGQ    Returned saved-pages quota.



   22.18.9  Function 10 (.CTSQT) to set context quota information

   Sets the context quota and saved-pages quota.  The  argument  list  is
   the same as the buffer returned for Function 7 (.CTRQT).



   22.18.10  Function 11 (.CTDIR) to return a context directory map

|  Returns a directory map of all contexts.  (GETTAB Table  175  (.GTCTX)
|  word  %CTBDM  contains the byte pointer to the directory byte-stream.)
|  The data buffer is returned in the following format:

   Offset    Symbol    Contents

   0         .CTJOB    Target job number.
   1         .CTWCT    Word count of byte-stream data.
   2         .CTFDW    First data word of the directory byte-stream.



   22.18.11  Function 12 (.CTINF) to return context information

   Returns information about a particular context.  The  data  buffer  is
   returned in the following format:

   Offset    Symbol    Contents

   0         .CTJOB    Target job number.
   1         .CTCNO    Number of target context.
   2         .CTCNM    Name of target context.
   3         .CTSNO    Superior context's number.
   4         .CTSNM    Superior context's name.
   5         .CTPGM    Program running or saved  in  target  context,  if
                       any.
   6         .CTITM    Idle time (in clock ticks).

   SKIP RETURN

   On all returns, the ac contains the following information:

   Bits      Symbol    Meaning

   0         CT.DAT    Set if data returned to the buffer.
   1         CT.DBT    Returned if the buffer is truncated.
   2         CT.ETX    Set if UUO error text in the buffer.
   3         CT.RUN    Set for a RUN UUO error.

                                   22-50
                                                         CTX. [CALLI 215]


   18-27     CT.RDL    Count of words returned in the buffer.
   28-35     CT.ERR    CTX.   or  RUN  UUO  error  code.   This  code  is
                       returned  regardless  of  whether  or not the data
                       buffer contains error text.

   On the skip return, no flags are set in the ac fields CT.ETX,  CT.RUN,
   and  CT.ERR.   If  any  information  is returned, it is stored in data
   buffers.

   ERROR RETURN

   The ac contains the information described for  the  skip  return.   An
   error code is returned in CT.ERR (Bits 28 through 35) If a data buffer
   is specified, error text is returned in the data buffer.

   Code      Symbol    Error

   0         CXIFC%    Illegal function code.
   1         CXACR%    Address check performed while reading arguments.
   2         CXACS%    Address check performed while storing answers.
   3         CXNEA%    Insufficient number of arguments.
   4         CXNLI%    User not logged in.
   5         CXLOK%    Program locked in core.
   6         CXDET%    Job detached.
   7         CXSCE%    System context quota exceeded.
   10        CXSPE%    System page quota exceeded.
   11        CXJCE%    Job context quota exceeded.
   12        CXJPE%    Job page quota exceeded.
   13        CXNCS%    Insufficient core to save context.
   14        CXNCD%    Not enough core to return data block.
   15        CXICN%    Illegal context number.
   16        CXNSC%    No superior context.
   17        CXNPV%    No privileges to set quotas.
   20        CXIJN%    Illegal job number.
   21        CXCSI%    Users cannot switch to an intermediate context.
   22        CXCDI%    Users cannot delete an intermediate context.
   23        CXCDC%    Users cannot delete the current context.
   24        CXCNP%    Context not privileged.
   25        CXNDA%    No data block is available.
|  26        CXCCC%    Cannot create context from captive program.   (The
|                      program has not issued a RUN UUO.)













                                   22-51
   DAEFIN [CALLI 105]


   22.19  DAEFIN [CALLI 105]


   FUNCTION

   Indicates that a request to the DAEMON  program  has  been  completed.
   This  monitor  call  is  reserved  for the exclusive use of the DAEMON
   program.

   If the specified job  was  in  the  DAEMON  wait  state,  the  monitor
   requeues the specified job to the run queue.

   CALLING SEQUENCE

             MOVE      ac,[XWD length,addr]
             DAEFIN    ac,
               error return
             skip return
             . . .
   addr:     jobno

   In the calling sequence, you can specify the following information:

         o  length is the length of the argument block.

         o  addr is the address of the argument block.

         o  jobno is the number of the logged-in job to be restarted.


   SKIP RETURN

   The monitor leaves the ac unchanged, requeues the specified  job,  and
   clears the JDC bit in the job status word JBTSTS (refer to the TOPS-10
   Monitor Tables Descriptions).

   ERROR RETURN

   The monitor clears the ac.  This occurs if you are not privileged,  if
   the  job  number  is  illegal  or zero, or if the request could not be
   completed.

   EXAMPLE

             MOVE      T1, [XWD 1,ARGLST]
             DAEFIN    T1,
               JRST    ERROR
             JRST      CONTIN
   ARGLST:   EXP       JOBNO

   RELATED CALLS

        DAEMON

                                   22-52
                                                       DAEMON [CALLI 102]


   22.20  DAEMON [CALLI 102]


   FUNCTION

   Invokes the system program DAEMON.  When a  job  executes  the  DAEMON
   monitor  call, the monitor puts the job into JD wait (sets the JDC bit
   in the job table JBTSTS) and wakes DAEMON.  DAEMON examines the status
   word  .GTSTS  for each job in the system; for each job in the JDC wait
   state, DAEMON performs the requested  function.   When  the  specified
   function  has  been  completed, DAEMON issues a DAEFIN monitor call to
   make the job runnable.

   CALLING SEQUENCE

             MOVE      ac,[XWD length,addr]
             DAEMON    ac,
               error return
             skip return
             . . .
   addr:     EXP       fcn-code
             argument-list

   In the calling sequence, you can supply the following information:

         o  addr is the address of the argument block.

         o  fcn-code is the function  code  in  the  first  word  of  the
            argument block.

         o  argument-list depends on the function code.

   The function codes and argument lists are described in  the  following
   sections.



   22.20.1  Function 1 (Obsolete)

   22.20.2  Function 2 (.CLOCK) to wake a job

   Enters a request in the clock queue to wake your job after a specified
   number  of  seconds  has  elapsed.   As  soon  as the request has been
   entered in the queue, you should issue a call to HIBER  with  no  time
   argument.   An  argument  of  zero clears the job's entry in the clock
   queue and wakes the job.

   The argument list for the .CLOCK function is:

   addr:     .CLOCK
             EXP       seconds

   In this argument list, you supply seconds as the number of seconds

                                   22-53
   DAEMON [CALLI 102]


   before the job DAEMON should wake the program.  The preferred method
   for awakening the program after a short amount of time is by using the
   HIBER. call.
|  
|  
|  
|  22.20.3  Function 3 (Obsolete)
|  
   22.20.4  Function 4 (.DMQUE) Reserved for use by DIGITAL

   22.20.5  Function 5 (.DMERR) to create an error file entry

   Makes an entry in the error file; the third and following words of the
   argument  block  are  written into the error file SYS:ERROR.SYS.  Your
   job must have JACCT or [1,2] privileges.

   The argument block for the .DMERR function is:

   addr:     .DMERR
             EXP       error-type
             argument-list

   In addr+1, error-type is the type of entry  to  be  entered  into  the
   sytem error file.  The error types you can supply are listed below.

   Words of data to be included in the error record  are  stored  in  the
   argument-list.


   Table 22-1:  Error File Entry Types


   Type      Symbol    Meaning

   1         .ESWHY    Answer to ONCE's Why Reload question, and comment,
                       if any.
   2         .ESMSE    Continuable stopcode.
   3         .ESMPE    KI memory parity error.
   4         .ESNXM    KI non-existent memory error.
   5         .ESCIN    Information extracted from a crash.
   6         .ESCPE    Channel-detected   memory    parity    error    or
                       non-existent memory.
   7         .ESDRE    DAEMON restarted.
   10        .ESHDE    Hardware-detected device error.
   11        .ESMDE    Massbus device error.
   12        .ESDXE    DX20 device error.
   14        .ESSWE    Software event.  The events are:

                       Code      Symbol    Event

                       1         .SWEPK    POKE.  function.
                       2         .SWESN    SNOOP.  function.
                       3         .SWETP    TRPSET function.

                                   22-54
                                                       DAEMON [CALLI 102]


                       4         .SWERT    RTTRP.  function.
                       5         .SWMS1    Miscellaneous debugging  event
                                           number 1.
                       6         .SWMS2    Miscellaneous debugging  event
                                           number 2.

   Type      Symbol    Meaning

   15        .ESCSE    Configuration status change.  The condition change
                       codes are listed below:

                       Code      Symbol    Status Change

                       0         .CSCAT    Attach function
                       1         .CSCDT    Detach function.
                       2         .CSCXC    Exchange function.
                       3         .CSCTC    Date/time change.
                       4         .CSCCF    DETACH CPU function.
                       5         .CSCCO    ATTACH CPU function.
                       6         .CSCNF    Node off-line.
                       7         .CSCNO    Node on-line.
                       10        .CSCMO    Set memory on-line.
                       11        .CSCMF    Set memory off-line.

   Type      Symbol    Meaning

   16        .ESSLM    System log message.
   17        .ESDEB    Software requests data.
   21        .ESTAP    Magnetic tape errors (see TAPSER).
   30        .ESKLE    KL processor error data from RSX-20F front end.
   31        .ESFER    Front end reload.
   33        .ESHSB    KS processor halt status block.
   42        .ESTPS    Magnetic tape  performance  statistics  code  (see
                       TAPSER).
   43        .ESCFG    Maximum configuration in AVAIL.SYS.
   44        .ESMRV    Monitor run values in AVAIL.SYS.
   45        .ESDSC    Disk statistics (usually from a crash).
   46        .ESBAV    Beginning of AVAIL.SYS time stamp.
   47        .ESEAV    End of AVAIL.SYS time stamp.
   50        .ESDLE    DL10 hardware error.
   51        .ESKIP    KI parity/non-existent memory interrupt.
   52        .ESKLP    KL parity/non-existent memory interrupt.
   54        .ESKSN    KS non-existent memory trap.
   55        .ESKPT    KL/KS parity trap.
   56        .ESSNX    Non-existent memory scan.
   57        .ESSPR    Parity memory scan.
   61        .ESKDT    KL data parity trap.
   62        .ESMOT    KL data parity interrupt.
   63        .ESCSB    CPU status block.
   64        .ESDSB    Device status block.
   67        .ESKAE    KL addressing failure.
   71        .ESLPT    Line printer error.
   72        .ESHCC    Hard copy controller entry.

                                   22-55
   DAEMON [CALLI 102]


   73        .ESULD    Microcode load.
|  74        .ESICD    IPA20 channel dump.
   100       .ESDTC    Date/time change (obsolete).
   201       .ESNUS    Network utility started.
   202       .ESNDL    Network down-line load.
   203       .ESNUD    Network up-line dump.
   210       .ESNHE    Network hardware error.
   211       .ESNSE    Network software error.
   220       .ESNOE    Network operator entry.
   221       .ESNTC    Network topology change.
   230       .ESNLC    Network line counter.
   231       .ESNNS    Network node statistic entry.
   377       .ESHIA    Hiatus in ERROR.SYS.
   775       .ESOFF    Marker for first word of block as pointer to start
                       of first entry.
   777       .ESEOF    End-of-file flag.

   .DMERR is a privileged function; to use it you  must  have  the  JACCT
   privilege, or be logged in under [1,2].

                                    NOTE

           For a  complete  description  of  the  format  of  the
           SYS:ERROR.SYS  file,  refer  to  the  TOPS-10/20 SPEAR
           Reference Manual.




   22.20.6  Function 6 (.DMCTL) Reserved for use by DIGITAL


   SKIP RETURN

   The monitor performs  the  specified  function  and  issues  a  DAEFIN
   monitor call to make the job runnable.  The ac is cleared.

   ERROR RETURN

   If DAEMON is not running, control returns to the error return, but the
   ac is unchanged.

   If DAEMON is running, an error code is returned in the ac, and control
   returns to the error return.  The error codes and their meanings are:

   Code      Symbol    Error

   1         DMILF%    Illegal function code.
   2         DMACK%    Address check.
   3         DMWNA%    Incorrect number of arguments.
   4         DMSNH%    Impossible error.  If this occurs,  please  report
                       it to your Software Support Specialist.
   5         DMCWF%    File cannot be written.

                                   22-56
                                                       DAEMON [CALLI 102]


   6         DMNPV%    Not enough privileges.
   7         DMFFB%    Incorrect format for FACT file entry.
   10        DMPTH%    Invalid path.

   EXAMPLE

             MOVE      T1,[2,,ADDR]
             DAEMON    T1,
               JRST ERROR
             JRST CONTIN
              . . .
   ADDR:     .CLOCK
             EXP       5

   This code puts the program to sleep for 5 seconds.

   RELATED CALLS

        DAEFIN



































                                   22-57
   DATE [CALLI 14]


   22.21  DATE [CALLI 14]


   FUNCTION

   Returns a code giving the system date.  The code is an  integer  given
   by the formula:

        code = 31[12(year-1964)+(month-1)]+(day-1)

   You can obtain the current day, month, and year using the formulas:

        day    =  mod(code,31)+1
        month  =  mod(code/31,12)+1
        year   =  (code/372)+1964

   The DATE call is equivalent to using GETTAB  to  obtain  item  %CNDAT.
   The  day,  month,  and year are stored in GETTAB items %CNDAY, %CNMON,
   and %CNYER, respectively.  Your program  can  avoid  the  computations
   needed  to interpret the data returned from the DATE call by GETTABing
   the specific items, but the efficient program  will  avoid  performing
   three  separate GETTAB calls by GETTABing %CNDAT and then dividing the
   data into its appropriate components.

   CALLING SEQUENCE

             DATE      ac,
             return

   EXAMPLE

   The following macro computes the current day, month, and year.

   DEFINE    CURDAT(DAY,MONTH,YEAR)<
             DATE      T1,
             IDIVI     T1,^D31
             ADDI      T2,1
             MOVEM     T2,DAY
             IDIVI     T1,^D12
             ADDI      T2,1
             MOVEM     T2,MONTH
             ADDI      T1,^D1988
             MOVEM     T1,YEAR
             >

   RELATED CALLS

        TIMER






                                   22-58
                                                       DEBRK. [CALLI 137]


   22.22  DEBRK.  [CALLI 137]


   FUNCTION

   Dismisses a PSI software interrupt, reenabling any conditions disabled
   by  the  interrupt.   See  Chapter  6 for a discussion of the software
   interrupt system.

   On a DEBRK.  monitor call, the monitor  scans  the  queue  of  pending
   interrupts,  looking  for conditions requiring service by an interrupt
   routine.  If one is found, the interrupt occurs and control passes  to
   the interrupt routine.  If no such condition is found, DEBRK. restarts
   the interrupted process beginning at the point within your  job  where
   the  interrupt  occurred  (usually  the  instruction  after  the  last
   instruction that was executed).

   CALLING SEQUENCE

             DEBRK.
               return 1
             return 2

   RETURN
|  
|  The DEBRK. call normally returns to the location before the  interrupt
|  occurred.   Return  1 is taken if DEBRK. is not implemented.  Return 2
|  is taken if there is no interrupt  in  progress.   The  PSI  interrupt
|  system  is  restored  if  the  PS.VTO flag is set in the PSI interrupt
|  vector block (refer to PISYS.  UUO).

   RELATED CALLS

         o  PIBLK.

         o  PIINI.

         o  PIRST.

         o  PISAV.

         o  PISYS.












                                   22-59
   DEQ. [CALLI 152]


   22.23  DEQ.  [CALLI 152]


   FUNCTION

   Dequeues one or more requests for enqueued resources, or  relinquishes
   ownership  of  one  or  more  enqueued resources.  See Chapter 8 for a
   discussion of the ENQ/DEQ facility.

   CALLING SEQUENCE

             MOVE      ac,[XWD function,argument]
             DEQ.      ac,
               error return
             skip return
   addr:     argument-list

   In the calling sequence, you provide the following information:

         o  function is one of the following function codes:

             -  .DEQDR to dequeue a lock request.

             -  .DEQDA to dequeue all lock requests for this job.

             -  .DEQID to  dequeue  all  lock  requests  related  to  the
                specified request-id.


         o  argument-list depends on the function code.

   Functions and their arguments are described in the following sections.



   22.23.1  Function 0 (.DEQDR) to dequeue a request

   This function dequeues a specific request.  Specify this  function  by
   placing the following information into the ac:

        [XWD .DEQDR,addr]

   The argument addr is the address of the ENQ.  argument  block.   Refer
   to the ENQ. UUO for the format of this block.

   After a skip return, the monitor has  removed  the  specified  request
   from  the  specified  queue,  or  the  monitor  has dissolved the lock
   between the job and the specified resource.  The error return is taken
   if  you  set  up  the  call  in an incorrect format, or if you have no
   pending requests and you are not the owner of the specified  resource.
   On an error return, the monitor returns an error code in the ac.



                                   22-60
                                                         DEQ. [CALLI 152]


   22.23.2  Function 1 (.DEQDA) to remove all owned locks

   This function removes all of your requests for ownership and dissolves
   all  of  your  resource  locks.   Specify this function by placing the
   following information into the ac:

        [XWD .DEQDA,0]

   The error return is taken if  you  write  the  call  in  an  incorrect
   format,  or  if  you do not have any pending requests or locks.  On an
   error return, the monitor returns an error code in the ac.  You should
   perform  this  function  before EXITing; otherwise, when you perform a
   CLOSE, the function will fail but the nature of the  failure  will  be
   difficult to determine.  The monitor automatically performs the .DEQDA
   function when you issue a LOGOUT monitor call.



   22.23.3  Function 2 (.DEQID) to remove lock by request-id

   This function requires the request-id in the right  half  of  the  ac.
   Specify  this  function  by placing the following information into the
   ac:

        [XWD .DEQID,request-id]

   The request-id is the request-identifier that you specify in the  ENQ.
   argument block.  Refer to the ENQ. UUO for more information.

   The  monitor  removes  all  requests  of  yours  with  the   specified
   request-id  from  resource queues, and it dissolves all locks of yours
   with the specified request-id.  You should specify this function  when
   you  are  dequeueing requests that were made in the same ENQ. argument
   block.  The error return  is  taken  if  you  have  set  up  the  call
   incorrectly,  if  you  have no pending requests, or if you are not the
   owner of a resource.

   SKIP RETURN

   The specified requests  are  dequeued  and  the  specified  locks  are
   dissolved.

   ERROR RETURN

   If an error is found in one of the requests in a multiple request DEQ.
   monitor  call,  the  error  return is taken and the monitor returns an
   error code  in  the  ac.   However,  the  ENQ/DEQ  facility  continues
   processing  until  all  of  the  dequeue requests have been performed.
   Therefore, the monitor will have dequeued all valid  requests  whether
   or  not  an  error  resulted  from another request in the same monitor
   call.  If errors are found in several requests  of  the  same  monitor
   call, the error code returned in the ac reflects the last error found.


                                   22-61
   DEQ. [CALLI 152]


   If you specify that you want to dequeue a request or dissolve  a  lock
   associated  with  a  pooled resource, the monitor will return an error
   code if you attempt to dequeue more resources than you own within  the
   pool.   However,  you can dequeue a subset of those resources that you
   own within a pool, still retaining ownership  of  those  you  did  not
   dequeue.   Therefore,  you cannot dequeue more resources than you own,
   but you do not have to dequeue all that you own in one request.

   The error codes for the DEQ.  call are identical to those of the  ENQ.
   call.  They are listed in the description of the ENQ.  call.

   EXAMPLE

   DEQ. monitor calls that  specify  multiple  requests  are  treated  as
   multiple  DEQ. monitor  calls, each specifying a single request.  This
   is not true for the ENQ. monitor call.  For example:

             MOVE      T1 [XWD .DEQDR,DEQBLK]
             DEQ.      T1,
               JRST ERROR
             JRST      SUBR
   DEQBLK:   2,,^D8
             0,,400000
             0,,2
             POINT 7,[ASCIZ/TEST/]
             ^D10,,1
             0,,4
             POINT 7,[ASCIZ/TESER/]
             ^D10,,1

   The above code is, in effect, identical  to  the  following,  but  the
   following is less efficient:

             MOVE      T1,[XWD .DEQDR,DEQ1]
             DEQ.      T1,
               JRST ERROR
   DEQ:      MOVE      T1,[XWD .DEQDR,DEQ2]
             DEQ.      T1,
               JRST ERROR
             JRST      SUBR
   DEQ1:     1,,^D5
             0,,400000
             0,,2
             POINT 7,[ASCIZ/TEST/]
             ^D10,,1
   DEQ2:     1,,^D5
             0,,400000
             0,,4
             POINT 7,[ASCIZ/TESER/]
             ^D10,,1

   RELATED CALLS


                                   22-62
                                                         DEQ. [CALLI 152]


         o  DEBRK.

         o  ENQ.

         o  ENQC.

















































                                   22-63
   DEVCHR [CALLI 4]


   22.24  DEVCHR [CALLI 4]


   FUNCTION

   Returns the physical characteristics of a specified device.

   CALLING SEQUENCE

           / MOVE      ac,[SIXBIT/device/] \
          |  MOVEI     ac,channo            |
           \ MOVEI     ac,udx              /
             DEVCHR    ac,
             return

   In the calling sequnence, you can provide the following information:

         o  device is the SIXBIT physical or logical name of a device.

         o  channo is the number of an initialized channel.

         o  udx is the Universal Device Index for a device.

   RETURN

   If the device is not found, or if your program has not initialized the
   device,  the  monitor clears the ac.  Otherwise, the ac contains flags
   giving the physical characteristics of  the  device.   The  flags  and
   their meanings are:

   Bits      Symbol    Device or Mode

    0        DV.DRI    DECtape whose directory  is  in  memory;  you  can
                       clear  this  bit  by using the REASSI monitor call
                       for the device.

    1        DV.DSK    Disk.

    2        DV.CDR    Card device.  If  DV.IN  is  set,  it  is  a  card
                       reader; if DV.OUT is set, it is a card punch.

    3        DV.LPT    Line printer.

    4        DV.TTA    Terminal that is currently controlling a job.

    5        DV.TTU    Terminal that is in use.

    6        DV.2IO    Device can do input and output at the same time.

    7        DV.DIS    Special display device.  Note that this  does  not
                       indicate the "display" terminal characteristic.

    8        DV.LNG    Device with long dispatch table; this  means  that

                                   22-64
                                                         DEVCHR [CALLI 4]


                       monitor calls other than INPUT, OUTPUT, CLOSE, and
                       RELEAS can perform real functions.

    9        DV.PTP    Papertape punch.

    10       DV.PTR    Papertape reader.

    11       DV.DTA    DECtape.

    12       DV.AVL    The device is available or  is  assigned  to  your
                       job.

    13       DV.MTA    Magnetic tape.

    14       DV.TTY    Terminal.

    15       DV.DIR    The device is a directory device.   You  can  test
                       this bit to determine whether ENTER/LOOKUP must be
                       done before you can start I/O to the device.

    16       DV.IN     Input device.

    17       DV.OUT    Output device.

    18       DV.ASC    The device has  been  initialized  by  the  ASSIGN
                       monitor command.

    19       DV.ASP    The device has been assigned by the INIT, OPEN, or
                       FILOP. monitor call.

   Bits 20-35 specify the modes that are legal for the device.

    20       DV.M17    Mode 17, dump.  This  is  the  same  as  IO.MOD  =
                       .IODMP returned from a GETSTS monitor call.

    21       DV.M16    Mode 16, dump records.  This is the same as IO.MOD
                       = .IODPR returned from a GETSTS monitor call.

    22       DV.M15    Mode 15, image dump.  This is the same as IO.MOD =
                       .IOIDP returned from a GETSTS monitor call.

    23       DV.M14    Mode 14, binary.  This is the  same  as  IO.MOD  =
                       .IOBIN returned from a GETSTS monitor call.

    24       DV.M13    Mode 13, image binary.  This is the same as IO.MOD
                       = .IOIBN returned from a GETSTS monitor call.

    25       DV.M12    Mode 12, reserved for use by DIGITAL.

    26       DV.M11    Mode 11, reserved for use by DIGITAL.

    27       DV.M10    Mode 10, image.  This is  the  same  as  IO.MOD  =
                       .IOIMG returned from a GETSTS monitor call.

                                   22-65
   DEVCHR [CALLI 4]


    28       DV.M7     Mode 7, reserved for use by customers.

    29       DV.M6     Mode 6, reserved for use by customers.

    30       DV.M5     Mode 5, reserved for use by DIGITAL.

    31       DV.M4     Mode 4, reserved for use by DIGITAL.

    32       DV.M3     Mode 3, byte.  This is the same as IO.MOD = .IOBYT
                       returned from a GETSTS monitor call.

    33       DV.M2     Mode 2, packed image.  This is the same as  IO.MOD
                       = .IOPIM returned from a GETSTS monitor call.

    34       DV.M1     Mode 1, ASCII line.  This is the same as IO.MOD  =
                       .IOASL returned from a GETSTS monitor call.

    35       DV.M0     Mode 0, ASCII.  This  is  the  same  as  IO.MOD  =
                       .IOASC returned from a GETSTS monitor call.

                                    NOTE

           To check for the NUL device, use DEVCHR to see if both
           DV.DSK and DV.TTY are set.


   EXAMPLE

             MOVE      T1,[SIXBIT/DEV/]
             DEVCHR    T1,
             TLNN      T1,(DV.DSK)
               JRST    NOTDSK
             JRST      ISDSK

   This example checks to see if device DEV  (assumed  to  be  a  logical
   name)  is a disk.  The call returns to NOTDSK if it is not and returns
   to ISDSK if it is.

   RELATED CALLS

         o  DEVLNM

         o  DEVTYP











                                   22-66
                                                       DEVLNM [CALLI 107]


   22.25  DEVLNM [CALLI 107]


   FUNCTION

   Assigns (or clears) a logical device name to a device.

   CALLING SEQUENCE

    / MOVE   ac,[SIXBIT/device/]  \
   |  MOVEI  ac,channo             |
    \ MOVEI  ac,udx               /
      MOVE   ac+1,[SIXBIT/name/]
      DEVLNM ac,
        error return
      skip return

   In the calling sequence, you can provide the following information:

         o  device is the SIXBIT physical or logical name of a device  to
            which you wish to assign a logical name.

         o  channo is the number of an initialized channel.

         o  udx is the Universal Device Index for a device.

         o  name is the logical name to be assigned to  the  device.   If
            name  is  binary  zero,  any existing logical name assignment
            will be cleared.


   SKIP RETURN

   The logical name is assigned to the device; the contents of the ac and
   the following word are unchanged.

   ERROR RETURN

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   -3        DVLNA%    Device not assigned to your job.
   -2        DVLIU%    Logical name already in use.
   -1        DVLNX%    No such device or channel.

   RELATED CALLS


         o  DEVCHR

         o  DEVNAM


                                   22-67
   DEVLNM [CALLI 107]


         o  DEVOP.

         o  DEVPPN

         o  DEVSIZ

         o  DEVSTS

         o  DEVTYP

         o  REASSI

   COMMON PROGRAMMING ERRORS

   Assuming that DEVLNM also causes the device to become associated  with
   your job.  Use the REASSI call to actually obtain the device.






































                                   22-68
                                                        DEVNAM [CALLI 64]


   22.26  DEVNAM [CALLI 64]


   FUNCTIONu

   Returns the physical name of a device.

   CALLING SEQUENCE

         / MOVE        ac,[SIXBIT/device/]  \
        |  MOVEI       ac,channo             |
         \ MOVEI       ac,udx               /
           DEVNAM      ac,
             error return
           skip return

   In the calling sequence, you can provide the following information:

         o  device is the logical device  name  whose  physical  name  is
            desired.

         o  channo is the number of an initialized channel.

         o  udx is the Universal Device Index for a device.

   SKIP RETURN

   The SIXBIT physical name of the device is returned in the ac.

   The skip  return  is  also  taken  if  a  device  has  been  partially
   deassigned.   For  example,  if  the user halts the program before the
   deassignment operation is complete.  In this case, the ac is  returned
   clear.

   ERROR RETURN

   If the specified device does not exist or if the specified channel  is
   not initialized, the ac is cleared.

   RELATED CALLS

         o  DEVCHR

         o  DEVLNM

         o  DEVOP.

         o  DEVPPN

         o  DEVSIZ

         o  DEVSTS


                                   22-69
   DEVNAM [CALLI 64]


         o  DEVTYP





















































                                   22-70
                                                       DEVOP. [CALLI 171]


   22.27  DEVOP.  [CALLI 171]


   Function

   Performs  miscellaneous  device  functions  for  devices  other   than
   terminals,  tapes, disks, or TSKs.  Use TRMOP. for terminal functions,
   TAPOP.  for tape functions, DISK. for disk functions, or TSK. for  TSK
   functions.

   Calling Sequence

                       MOVE      ac,[XWD length,addr]
                       DEVOP.    ac,
                         error return
                       skip return
                       . . .
   addr:    EXP        fcn-code
          / SIXBIT     /device/  \
         |  EXP        channo   |
          \ EXP        udx     /
   addr+2: argument-list

   where:    length is the length of the argument block.

   addr is the address of the argument block.

   fcn-code is one of the function codes described below.

   device is the SIXBIT physical or logical name of a device.

   channo is the number of an initialized channel.

   udx is the Universal Device Index for a device.

   arglst begins the list of arguments for the given function.

   All function codes listed below use the  2-word  argument  list  shown
   above.   Additionally,  some  function  codes accept a longer argument
   list.  For those codes that accept an  argument  list  longer  than  2
   words,  the  argument list format is shown with the description of the
   function code.

   The function codes are defined within the following four ranges:

             0000-0777 Performs a specific action.
             1000-1777 Reads a parameter.
             2000-2777 Sets a parameter.
             3000-3777 Reserved for customer definition.





                                   22-71
   DEVOP. [CALLI 171]


   The Read/Set function codes are parallel (for example,  function  code
   1002  reads  a  parameter and code 2002 sets the same parameter).  The
   symbol .DFSET is equal to 1000, and can be added to the read parameter
   to establish the offset for the set parameter.  Therefore, to read the
   page counter, use function .DFPCT.   To  set  the  page  counter,  use
   .DFPCT+.DFSET.

   The monitor returns values in the ac for the Read functions.

   The function codes and their meanings are:

        Code   Symbol    Function

           1   .DFLLV    Loads the standard vertical forms control unit.

           2   .DFENV    Enables  the  system  to  load  a   non-standard
                         vertical forms control unit.

           3   .DFDVL    Disables  loading  non-standard  vertical  forms
                         control unit.

        4-10             Reserved for use by Digital.

          11   .DFLR2    Loads  a  translation  RAM  into   LP20.    This
                         function  takes  a  4-word  argument list of the
                         form:

                         addr:   .DFLR2
                               / SIXBIT/device/ \
                              |  EXP   channo    |
                               \ EXP   udx      /
                                 8-bit byte count for RAM
                                 address of RAM buffer

          12   .DFLV2    Loads a VFU through LP20.  This function takes a
                         4-word argument list of the form:

                         addr:   .DFLV2
                               / SIXBIT/device/ \
                              |  EXP   channo    |
                               \ EXP   udx      /
                                 7-bit byte count of VFU
                                 address of VFU data

          13   .DFMDC    Clears DVCMDA.   This  is  the  flag  indicating
                         whether  the  device  is  controlled  by MDA (in
                         GALAXY Version 4.1 and  later).   This  function
                         requires privileges.

          14   .DFMDS    Sets  DVCMDA.   This  is  the  flag   indicating
                         whether  the  device  is  controlled  by MDA (in
                         GALAXY Version 4.1 and  later).   This  function
                         requires privileges.

                                   22-72
                                                       DEVOP. [CALLI 171]


        Code   Symbol    Function

        15-777           Reserved for use by Digital.

        1000   .DFPCT    Returns the line printer's page counter  in  the
                         ac.

        2000             Sets the page counter value in addr+2.  The page
                         counter  is  limited  to  12 bits.  The argument
                         list for .DFPCT is:

                         addr:   .DFPCT
                               / SIXBIT/device/ \
                              |  EXP   channo    |
                               \ EXP   udx      /
                                 EXP   counter

        1002   .DFHCW    Reads the  line  printer  characteristics.   The
                         printer  characteristics  are returned in the ac
                         in the form:

                         Bits   Symbol    Meaning

                         0      DF.LCP    Lowercase capability.

                         1      DF.PGC    Has page counter.

                         2                Reserved.

                         3-5    DF.VFT    Code for type of vertical forms
                                          control  unit  (VFU).  The type
                                          codes are:

      Code                                Symbol Type

        0                                 .DFVTO Papertape VFU.
        1                                 .DFVTD DAVFU.
        2                                 .DFVTN No VFU.

                         6-8    DF.TYP    Code for character  set  codes.
                                          The set codes are:

      Code                                Symbol Character set

        0                                 .DFC64 Set of 64 characters.
        1                                 .DFC95 Set of 95 characters.
        2                                 .DFC28 Set of 128 characters.
        3                                 .DFVAR Variable size set.






                                   22-73
   DEVOP. [CALLI 171]


        Code   Symbol    Function

                         Bits   Symbol    Meaning

                         9-11   DF.CLS    Code for  line  printer  class.
                                          The class codes are:

      Code                                Symbol Class

        0                                 .DFSUK Unknown.
        1                                 .DFSBX BA10.
        2                                 .DFSLC LP100.
        3                                 .DFS20 LP20 (20F).
        4                                 .DFSA1 LP11.
        5                                 .DFSA2 LP20 (ANF DN8X).

                         12-14  DF.CLU    Line printer class, as the type
                                          of unit.  The unit codes are:

      Code                                Symbol Type

        0                                 .DFUUK Unknown.
        1                                 .DFUFG LP05-type.
        2                                 .DFULN LN01-type.

                         18-35  DF.CSN    Character set name, in SIXBIT.

        2002             Sets  the  line  printer  characteristics.   The
                         argument list for .DFHCW is:

                         addr:   .DFHCW
                               / SIXBIT/device/ \
                              |  EXP   channo    |
                               \ EXP   udx      /
                                 EXP   characteristics

                         Defines   the    characteristics    using    the
                         definitions listed above for the Read function.

        1003   .DFRES    The extended I/O  error  status  for  the  given
                         device is returned in the ac.
|  
|                        The error status  is  returned  as  one  of  the
|                        following codes:
|                        Code    Symbol  Device  Error
|  
|                         1      IOPLE%  LPT     Page limit exceeded.
|                         1      IONOP%  MTA     Monitor        Continued
|                                                operation.
                          2      IOVFE%  LPT     VFU format error.
|                         2      IOEOF%  MTA     Tape at end-of-file.
                          3      IOLTE%  MTA     Label Type error.


                                   22-74
                                                       DEVOP. [CALLI 171]


                          4      IOHLE%  MTA     Header Label error.
                          5      IOTLE%  MTA     Trailer Label error.
                          6      IOVLE%  MTA     Volume Label error.
                          7      IODER%          Hard device error.
                         10      IOPAR%          Parity error.
                         11      IOWLE%          Write-lock error.
                         12      IOIPO%  MTA     Illegal      positioning
                                                 error.
                         13      IOBOT%  MTA     Beginning of tape.
                         14      IOIOP%  MTA     Illegal operation.
                         15      IOFNF%  MTA     File not found.
                         16      IOCAN%  MTA     Operator       cancelled
                                                 volume switch request.
                         17      IOTMV%  MTA     Too many volumes in  the
                                                 volume set.
                         20      IONND%          Network node down.
                         21      IOUNC%  LP20    Undefined      Character
                                                 interrupt.
                         22      IORPE%  LP20    RAM Parity error.
                         23      IOLRA%  MTA     Tape  labelling  request
                                                 was  aborted  by a RESET
                                                 UUO.
                         24      IOVPF%  MTA     Volume Protection error.
                         25      IOFPF%  MTA     File protection failure.
                         26      IOUEF%  MTA     Unexpired file.
                         27      IONDD%          Network    device     is
                                                 disconnected.
                         1004    .DFRDS  A status code for the  specified
                         device is returned in the ac.

                         The status codes and their meanings are:

                         Bit    Symbol    Status

                         0      DF.OFL    Device off-line.
                         34     DF.LLE    DAVFU load-enabled.
                         35     DF.LVE    A VFU error occurred.

                         The bits returned in the left half of the ac are
                         device-independent;  the  bits  returned  in the
                         right half are device-specific.


   skip Return

   The specified function is executed.








                                   22-75
   DEVOP. [CALLI 171]


   Error Return

   One of the following error codes is returned in the ac:

        Code   Symbol    Error

         -1    DFACS%    Address check.
          0    DFIFC%    Illegal function code.
          1    DFPRV%    Not enough privileges.
          2    DFIFD%    Function invalid for device.
          3    DFNLR%    Value out of range.
          4    DFNXD%    Nonexistent device.
          5    DFNDV%    No DAVFU (LPT only).
          6    DFNIA%    Device not initialized.
          7    DFDOL%    Device off-line.
         10    DFCNS%    Page counter not set (LPT only).
         11    DFNPC%    No page counter (LPT only).
         12    DFENI%    Extended error recovery not implemented.
         13    DFNVC%    Non-variable character set.

   If the monitor call has not been implemented on your system, the error
   return is taken and the monitor leaves the ac unchanged.

   RELATED CALLS

   DEVCHR, DEVLNM, DEVNAM, DEVPPN, DEVSIZ, DEVSTS, DEVTYP




























                                   22-76
                                                        DEVPPN [CALLI 55]


   22.28  DEVPPN [CALLI 55]


   Function

   Returns the project-programmer number (PPN)  associated  with  a  disk
   device  or an ersatz device.  Note that the DEVPPN UUO does not return
   SFD names.  It is recommended that  programs  use  the  PATH. call  to
   return complete directory names.

   Calling Sequence

         / MOVE ac,[SIXBIT/device/] \
        |  MOVEI         ac,channo   |
         \ MOVEI         ac,udx    /
                DEVPPN   ac,
                  error return
                skip return

        where:  device is the SIXBIT physical, logical, or ersatz name of
                a disk device.

                channo is a channel number for a disk device.

                udx is the Universal Device Index for a disk device.

   skip Return

   The PPN for the specified device is returned in the ac.  Note that  if
   you  have  enabled  /NEW in your search list, the returned PPN for SYS
   will be [1,5] instead of [1,4].

   Error Return

   The error return occurs in two cases.   The  cause  of  the  error  is
   indicated by the value returned:

         o  If zero is returned in the ac; the device does not exist,  or
            you have not initialized it.

         o  If your own PPN is returned; the device is not a disk device.

   RELATED CALLS

   DEVCHR, DEVLNM, DEVNAM, DEVOP, DEVSIZ, DEVSTS, DEVTYP, PATH.









                                   22-77
   DEVSIZ [CALLI 101]


   22.29  DEVSIZ [CALLI 101]


   Function

   Returns the buffer size and standard number of buffers for a device.

   Calling Sequence

                MOVEI   ac,addr
                DEVSIZ  ac,
                  error return
                skip return
                . . .
   addr:        EXP     status
         / SIXBIT/device/ \
        |  EXP  channo  |
         \ EXP  udx    /

        where:  addr is the address of the argument block.  Normally, the
                address  points  to the OPEN block used to initialize the
                device.

                status is the I/O  status  word,  which  must  match  the
                information  given  when the channel was initialized with
                INIT, OPEN, or FILOP.

                device is the  SIXBIT  physical  or  logical  name  of  a
                device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

   Note that the format for the argument block is identical to the format
   used  for  the OPEN monitor call and that the OPEN block is ordinarily
   used as the DEVSIZ block.  The number  and  sizes  of  buffers  differ
   among different data modes, and depending on mode modifier bits.

   skip Return

   The ac contains the default number of buffers in its  left  half,  and
   the default buffer size (including a 3-word header) in its right half.
   If you specify a device that was initialized in dump mode, the monitor
   clears the ac and takes the skip return.









                                   22-78
                                                       DEVSIZ [CALLI 101]


   Error Return

   One of the following error codes is returned in the ac:

        Code   Symbol    Error

         0     DVSDM%    Dump mode specified; therefore, buffer  size  is
                         not applicable.
         -1    DVSNX%    Nonexistent device.
         -2    DVSIM%    Illegal data mode.

   RELATED CALLS

   DEVCHR, DEVLNM, DEVNAM, DEVOP., DEVPPN, DEVSTS, DEVTYP








































                                   22-79
   DEVSTS [CALLI 54]


   22.30  DEVSTS [CALLI 54]


   Function

   Returns the device status word from the device data block (DDB).  This
   call  returns  the  last  CONI  performed  for  the  device,  which is
   different for each device type and model.   To  interpret  the  device
   status word, refer to the hardware manual for the specific device.

   Calling Sequence

         / MOVE ac,[SIXBIT/device/] \
        |  MOVEI         ac,channo   |
         \ MOVEI         ac,udx    /
                DEVSTS   ac,
                  error return
                skip return

        where:  device is the  SIXBIT  physical  or  logical  name  of  a
                device.

                channo is the number of a channel.

                udx is the Universal Device Index for a device.

   You can specify any device on an I/O bus.  Where multiple units are on
   a single controller, the status of the controller is returned.

   skip Return

   The device status word is returned in the ac.  If the service  routine
   for  the  device  does  not  store  a  CONI,  the returned word may be
   useless.  Devices having both a controller and  data  interrupt  store
   the controller CONI.

   Error Return

   If the device does not exist or is not initialized, the ac is cleared.

   RELATED CALLS

   DEVCHR, DEVLNM, DEVNAM, DEVOP., DEVPPN, DEVSIZ, DEVTYP

|  The device status block is also returned by the .SNSDS function of the
|  SENSE. UUO.








                                   22-80
                                                        DEVSTS [CALLI 54]


   Common Programming Errors

         o  Confusing  "device  status"  (DEVSTS)   with   "I/O   status"
            (GETSTS).   GETSTS  returns the file (I/O) status bits, which
            are documented in Volume  1.   DEVSTS  returns  the  hardware
            device status.

         o  Confusing the "device status" returned by DEVSTS with the I/O
            error status that is returned by the DEVOP. UUO.













































                                   22-81
   DEVTYP [CALLI 53]


   22.31  DEVTYP [CALLI 53]


   Function

   Returns the physical properties for a device.

   Calling Sequence
|  
|        / MOVE ac,[SIXBIT/device/] \
|       |  MOVEI         ac,channo   |
|        \ MOVEI         ac,udx    /
|               DEVTYP   ac,[UU.PHY]
|                 error return
|               skip return
|  
|       where:  device is the  SIXBIT  physical  or  logical  name  of  a
|               device.
|  
|               channo is the number of an initialized channel.
|  
|               udx is the Universal Device Index for a device.
|  
|               To specify physical addressing, set UU.PHY  (Bit  19)  in
|               the ac.

   skip Return

   If the ac is 0, there was no such device; otherwise, the  device  type
   bits are returned in the ac as follows:

        Bits   Symbol    Characteristic

           0   TY.MAN    Directory device; a LOOKUP/ENTER is mandatory.

         1-7             Reserved.

           8   TY.GEN    If the argument is a SIXBIT name,  this  bit  is
                         set if the device is generic.

           9   TY.MDA    Controlled by MDA (mountable device allocator).

          10   TY.EHF    Extended hardware features;  for  example,  this
                         bit  is  set  for  a line printer with lowercase
                         capability.

          11   TY.MPX    MPX-controllable.

          12   TY.AVL    Available to your job.

          13   TY.SPL    Spooled.



                                   22-82
                                                        DEVTYP [CALLI 53]


          14   TY.INT    Interactive; there is output  after  each  break
                         character.

          15   TY.VAR    Capable of variable buffer size.

          16   TY.IN     Input capability.

          17   TY.OUT    Output capability.

       18-26   TY.JOB    Job number to  which  the  device  is  currently
                         assigned.

       27-28             Reserved.

          29   TY.RAS    Restricted; assigned only to privileged  job  or
                         by MOUNT command.

       30-35   TY.DEV    One of the following device type codes:

                         Code   Symbol    Device Type

                           0    .TYDSK    Disk.
                           1    .TYDTA    DECtape.
                           2    .TYMTA    Magnetic tape.
                           3    .TYTTY    Terminal.
                           4    .TYPTR    Papertape reader.
                           5    .TYPTP    Papertape punch.
                           6    .TYDIS    Display unit.
                           7    .TYLPT    Line printer.
                          10    .TYCDR    Card reader.
                          11    .TYCDP    Card punch.
                          12    .TYPTY    Pseudo-terminal.
                          13    .TYPLT    Plotter.
                          14    .TYEXT    External task.
                          15    .TYMPX    MPX-controlled.
                          16    .TYPAR    PA611R on a DC44.
                          17    .TYPCR    PC11(R) on a DC44.
                          20    .TYPAP    PA611P on a DC44.
                          21    .TYLPC    LPC-11 on a DC44.
|                         22    .TYPCP    PC-11(P) on a DC44.
|                         23    .TYWTY    WTY device on a DC44.
                          24    .TYTSK    Network task.
                          25    .TYD78    DAS78 device.
                          26    .TYRDA    Remote data entry device.
                          27    .TYMCR    Monitor   command   interpreter
                                          (MCR) device.
                          30    .TYDRA    DTR01/DR01 device.
                          31    .TYKDP    KMC/DUP interface.
                          32    .TYDTE    DTE interface.
|                         33    .TYDDP    ANF-10 DDCMP device.
|                         34    .TYDMR    DMR11 as a network device.
                          35    .TYRX2    RX02 floppy disk controller.


                                   22-83
   DEVTYP [CALLI 53]


|                         36    .TYKLP    CI20 (KLIPA) device.
|                         37    .TYKNI    NIA20 (KLNI) device.
|                        40-57            Reserved for use by DIGITAL.
                         60-77            Reserved for use by customers.

   Error Return

   The DEVTYP monitor call should never take the error return.

   RELATED CALLS

   DEVCHR, DEVLNM, DEVNAM, DEVOP., DEVPPN, DEVSIZ, DEVSTS

   COMMON PROGRAMMING ERRORS

   Assuming that a skip return indicates that the device exists.






































                                   22-84
                                                        DIAG. [CALLI 163]


   22.32  DIAG.  [CALLI 163]


   FUNCTION

   Provides diagnostic functions for devices,  device  controlllers,  and
   CPUs.

   CALLING SEQUENCE

             MOVE      ac,[-length,,addr] DIAG.  ac,   error return  skip
             return   . . .
   addr:     function-code argument-list

   In the calling sequence, you can provide the following information:

         o  -length is the negative integer of the length of the argument
            list.

         o  addr is the address of the argument list.

         o  function-code is one of the function codes listed below.

         o  argument-list is  different  for  each  function  code.   The
            argument lists are documented with the functions, below.

|  Most DIAG.  UUO functions request a device specification in the second
|  word of the argument list (addr+1), as:
|  
|       SIXBIT  /device/
|  
|  The device name can be any one of the following:
|  
|        o  CPU name (as SIXBIT  /CPU0/)
|  
|        o  Controller name (as SIXBIT  /MTA0/)
|  
|        o  DDB name
|  
|        o  Controller and drive name, formatted as shown below.
|  
|  To specify a controller and drive name, format the  argument  word  as
|  follows:
|  
|  Bits      Contents
|  
|  0-6       Controller device code
|  7-8       Ignored
|  27-29     Unit number
|  33-35     Slave unit number (for multi-unit controllers)

   The  DIAG.   functions  and  their  arguments  are  described  in  the


                                   22-85
   DIAG. [CALLI 163]


   following sections.



   22.32.1  Function 1 (.DIASU) to assign a unit

   Assigns a single unit on the channel or controller.  The format of the
   argument list is:

   addr:     EXP       .DIASU
             SIXBIT    /device/
             timeout value

   In the argument list, you supply an optional timeout value,  which  is
   the number of milliseconds to wait for the assignment to be completed.



   22.32.2  Function 2 (.DIAAU) to assign all units

   Assigns all units on the channel or controller.   The  format  of  the
   argument list is:

   addr:     EXP       .DIAAU
             SIXBIT    /device/
             timeout value

   In the argument list, you supply an optional timeout value,  which  is
   the number of milliseconds to wait for the assignment to be completed.



   22.32.3  Function 3 (.DIARU) to release all units

   Releases all units on the channel or controller.  The  format  of  the
   argument list is:

   addr:     EXP       .DIARU
             SIXBIT    /device/



   22.32.4  Function 4 (.DISCP) to specify a channel program

   Specifies a channel program.  The format of the argument list is:

   addr:     EXP       .DISCP
             SIXBIT    /device/
             I/O word (IOWD format)

   On a successful return, the address of  the  initial  channel  command
   word is returned in the accumulator.


                                   22-86
                                                        DIAG. [CALLI 163]


   22.32.5  Function 5 (.DIRCP) to release a channel program

   Releases a channel program.  The format of the argument list is:

   addr:     EXP       .DIRCP
             SIXBIT    /device/



   22.32.6  Function 6 (.DIGCS) to get status of a channel

   Gets the channel status.

   addr:     EXP       .DIGCS
             SIXBIT    /device/

   On a successful return, up to four words of channel logout data may be
   returned in the argument block at addr+2 through addr+6.



   22.32.7  Function 7 (.DIAKU) to get controller and unit numbers

   Returns the controller and unit numbers for a device.  The  format  of
   the argument list is:

   addr:     EXP       .DIAKU
             SIXBIT    /device/

   On a skip return, the accumulator contains the following information:
|  
|  Bits      Contents
|  
|  0-8       Zero.
|  9-17      Controller device code.
|  30-32     Unit number.
|  33-35     Slave unit number.



   22.32.8  Function 10 (.DIACS) to read CPU status

   Forces a CPU status block read on a CPU and forces DAEMON to  make  an
   error  entry  (code  63) in ERROR.SYS.  (The error types are listed in
   Table 22-1 with the DAEMON monitor call.) This function requires  that
   you  have  JP.POK,  [1,2],  or  JACCT  privileges.   The format of the
   argument list is:

   addr:     EXP .DIACS
             EXP CPU-number




                                   22-87
   DIAG. [CALLI 163]


   22.32.9  Function 11 (.DIADS) to read device status

   Reads the device status for all devices on the specified  CPU  into  a
   GETTAB  table  in the monitor and forces DAEMON to make an error entry
   (code 64) in ERROR.SYS.  (The error codes and entry types  are  listed
   with  the  DAEMON  call.) This function requires that you have JP.POK,
   [1,2], or JACCT privileges.  The format for the argument list is:

   addr:     EXP .DIADS
             EXP CPU-number
|  
|  
|  
|  22.32.10  Function 12 (.DISCR) to specify a read-reverse program
|  
|  Specify channel program for read-reverse (RH20 devices only).
|  
|  addr:     EXP .DISCR
|            SIXBIT /device/
|            I/O word (IOWD format)
|  
|  On a successful return, the address of  the  initial  channel  command
|  word is returned in the accumulator.



   22.32.11  Function 13 (Obsolete)

|  22.32.12  Function 14 (.DIGUI) to set user-I/O mode
|  
|  Sets the user-I/O mode bit in the PC word.
|  
|  addr:     EXP .DIGUI
|  
|  On  a  successful  return,  the  program  is  enabled   for   user-I/O
|  operations, such as CONSO, DATAO, and so forth.
|  
|  
|  
|  22.32.13  Function 15 (Obsolete)
|  
|  22.32.14  Function 16 (Obsolete)
|  
   22.32.15  Function 17 (.DIELD) to enable microcode loading

   Enables microcode loading.  The argument list is formatted as:
|  
|  addr:     XWD       CPUno, .DIELD
|            SIXBIT    /device/





                                   22-88
                                                        DIAG. [CALLI 163]


   22.32.16  Function 20 (.DIDLD) to disable microcode loading

   Disables microcode loading.  The format of the argument list is:
|  
|  addr:     XWD       CPUno, .DIDLD
|            SIXBIT    /device/



   22.32.17  Function 21 (.DILOD) to load the microcode

   Loads the microcode.  The format of the argument block is:
|  
|  addr:     XWD       CPUno, .DILOD
|            SIXBIT    /device/



   22.32.18  Function 22 (.DISSM) to set CI/NI maintenance mode

   Sets IPA channel (CI20 or NIA20) maintenance mode.  The format of  the
   argument block is:
|  
|  addr:     XWD       CPUno, .DIISM
|            SIXBIT    /device/



   22.32.19  Function 23 (.DIICM) to clear CI/NI maintenance mode

   Clears IPA channel maintenance mode.  The format of the argument block
   is:
|  
|  addr:     XWD       CPUno, .DIICM



   22.32.20  Function 24 (.DISBD) to execute SBDIAG

   Execute  S-bus  diagnostic  function  (SBDIAG).   The  format  of  the
   argument block is:

   addr:     XWD       CPUno, .DISDB
             To-memory word
             From-memory word

   In the argument list, you can supply the following information:

         o  CPUn is the CPU number, or -1 for all CPUs.

         o  To-memory word, where, on a successful return from  the  UUO,
            the monitor places the updated word into this argument.


                                   22-89
   DIAG. [CALLI 163]


         o  The monitor writes the From-memory word into addr+2.




   22.32.21  Function 25 (.DIDSN) to read a unit serial number

   Reads a unit's device serial number.

   addr:     EXP       .DIDSN
             SIXBIT    /device/
             Serial number (word 0)
             Serial number (word 1)

   In the argument-list, you can supply the following information:

         o  In addr+1 you specify the device name.

         o  Serial number in addr+2 and addr+3.




   22.32.22  Function 26 (.DIRUR) to read the UNIBUS register

   Reads the UNIBUS register.

   addr:     EXP       .DIRUR
             register-address

   In the argument list, you supply the address of the  UNIBUS  register.
   The monitor returns the contents of the UNIBUS register in the ac.



   22.32.23  Function 27 (.DIADB) to allocate a CI/NI buffer

   Allocates a buffer for dumping the contents of the IPA20  DRAM.   (The
   IPA20  is  the  microprocessor  controlling  CI20  and NIA20 interface
   hardware.)

   addr:     EXP       .DIADB

   The monitor returns the address of the  buffer  containing  the  IPA20
   DRAM in the ac.



   22.32.24  Function 30 (.DIOKI) to read information about a controller

   Obtains controller information.



                                   22-90
                                                        DIAG. [CALLI 163]


   addr:     EXP       .DIOKI
             SIXBIT    /controller/
             BLOCK n

   In the argument list, you reserve 2 word for information returned,  on
   a KL system.  On a KS system, reserve 3 words.

   On a successful return, the monitor fills controller information  into
   the  argument list starting at addr+2.  The information is returned in
   the following format.

   At addr+2:

   Bits      Symbol    Meaning

   0         DI.MUK    Multi-unit controller.
   1         DI.CLM    Can load microcode.
   2-5                 Reserved for DIGITAL.
   6-11      DI.CAM    CPU accessibility mask (one bit per CPU  that  can
                       access the controller).
   12-17     DI.CKX    Maximum number  of  controllers  on  this  CPU  or
                       channel (reserved).
   18-23     DI.KUX    Maximum number of units on this controller.
   24-29     DI.KTY    Type of controller.
   30-35     DI.DTY    Type of device.

   At addr+3:

   24-26     DI.CUN    Channel unit number.
   27-35     DI.DVC    Device code (KL systems).
   27-35     DI.IVI    Interrupt vector address (KS systems).
   27-35     DI.CUN    Channel unit number (if DI.MUK is set, above).

   At addr+4 (returned for KS systems only):

   Bits      Symbol    Contents

   14-35     DI.UBA    UNIBUS address.



   22.32.25  Function 31 (.DIOUI) to obtain unit information

   Obtains information about a specific device unit.  The  argument  list
   is:

   addr:     EXP       .DIOUI
             SIXBIT    /unit/
             BLOCK 5

   The information is returned by the monitor in the words  you  reserved
   in the argument list.  The format of the information returned in Words


                                   22-91
   DIAG. [CALLI 163]


   2-7 of the argument list is:

   Word      Contents

   2         Primary KDB name in SIXBIT.
   3         Secondary KDB name in SIXBIT.
   4         High-order word of drive serial number.
   5         Low-order word of drive serial number.
   6         In the left half, the CPU-accessibility mask.  In the  right
             half, the physical drive number.



   22.32.26  Function 32 (.DILKU) to list units

   Lists names of units on a controller.  The argument list is:

   addr:     EXP       .DILKU
             SIXBIT    /controller/
             BLOCK n

   In the argument list, you supply n as  the  number  of  units  on  the
   controller.   Use  the  DIAG.   UUO  function  .DIOKI to determine the
   number of words to reserve in the argument  list  for  this  function.
   The  monitor returns the device unit names, in SIXBIT, in the argument
   list starting at addr+2.  The  actual  number  of  units  returned  is
   stored in the accumulator.



   22.32.27  Function 33 (.DISDS) to set device status information

   Sets the status of a device.  Using this function, a device can be set
   to  be  attached or detached.  This function also provides an "Ignore"
   state, where the device service routine will ignore the unit until the
   operator  performs an explicit ATTACH function.  The argument list for
   this function is:

   addr:     EXP       .DISDS
             SIXBIT    /device/
             state-code

   In the argument list, you can supply any of the following state-codes:

   Code      Symbol    Meaning

   0         .DISSI    Set the Ignore flag.
   1         .DISCI    Clear the Ignore flag.
   2         .DISSD    Set the Detached flag.
   3         .DISSA    Set the Attached flag.




                                   22-92
                                                        DIAG. [CALLI 163]


   22.32.28  Functions 34-77 (Reserved for DIGITAL)

   22.32.29  Function 100 (.DIGTM) to get MOS memory

   Gets MOS memory (used by MOSSER).



   22.32.30  Function 101 (.DIGVM) to set MOS memory

   Sets MOS memory (used by MOSSER).
|  
|  
|  
|  22.32.31  Functions 102-104 Reserved
|  
|  22.32.32  Function 105 (.DIRRS) to reset a remote CI node
|  
|  Resets remote CI node (used by KLPSER).
|  
|  
|  
|  22.32.33  Function 106 (.DISRS) to start a remote CI node
|  
|  Starts remote CI node (used by KLPSER).



   22.32.34  Function 107 (.DIACC) to set CI port counters

   Manipulates the CI port counters (used by KLPSER).  The format of  the
   argument list is:

   addr:     XWD       CPUno, .DIACC
             XWD       channo,sub-function

   In the argument list you supply the following information:

         o  channo is the channel number.  The only valid channel  number
            is 7.

         o  sub-function is a function code for manipulating counters.

   The sub-function codes are:
|  Code      Symbol    Function
|  
|  0         .DICGT    Gets counters.
|  1         .DICRL    Releases counters.
|  2         .DICPT    Points to counters.
|  3         .DICRD    Reads counters.
|  



                                   22-93
   DIAG. [CALLI 163]


|  22.32.35  Functions 110-111 (Reserved for DIGITAL)
|  
|  22.32.36  Function 112 (.DIWCM) to write CI maintenance data
|  
|  Write CI maintenance data (used by KLPSER).
|  
|  
|  
|  22.32.37  Function 113 (.DIRCM) to read CI maintenance data
|  
|  Read CI maintenance data (used by KLPSER).

   SKIP RETURN

   The specified function has been performed.   Information  returned  in
   the  argument  list  and/or  the  accumulator  is  described  for each
   function listed above.

   ERROR RETURN

   The ac is unchanged if the DIAG.  monitor call is not  implemented  on
   the  system.   Otherwise, one of the following error codes is returned
   in the ac:

   Code      Symbol    Meaning

   1         DIANP%    Not enough privileges.
   2         DIAIA%    Illegal number of arguments.
   3         DIAIC%    Illegal controller number.
   4         DIAIU%    Illegal unit number.
   5         DIAAA%    Some units already assigned.
   6         DIADM%    Unit not in diagnostic mode.
   7         DIAAJ%    Unit assigned to another job.
   10        DIAFC%    Not enough free core.
   11        DIAAU%    No assigned units.
   12        DIACP%    IOWD crosses page boundary.
   13        DIAIF%    Illegal function.
   14        DIAVC%    Job must not be virtual.
   15        DIANC%    No such CPU.
   16        DIANR%    CPU not running.
   17        DIABA%    Invalid argument list.
   20        DIACI%    No CI port on specified CPU.
   21        DIATO%    The Read Port Counters function timed out.
   22        DIANK%    No NI port on specified CPU.
   23        DIARF%    Microcode reload failed.
   24        DIANM%    No microcode available.
   25        DIAPN%    CI or NI port not running.
   26        DIANU%    Non-existent UNIBUS address.
|  27        DIAAF%    Attach function failed.
|  30        DIADF%    Detach function failed.




                                   22-94
                                                        DISK. [CALLI 121]


   22.33  DISK.  [CALLI 121]


   FUNCTION

   Performs miscellaneous disk functions.

   CALLING SEQUENCE

             MOVE      ac,[XWD function-code,addr]
             DISK.     ac,
               error return
             skip return
   addr:     argument-list

   In the calling sequence, you can supply the following information:

         o  function-code is one of the function codes described below.

         o  addr is the address of the argument list.

         o  argument-list depends on the function code.

   The function codes are their arguments are described below.

   SKIP RETURN

   On a successful return from the call, the function  you  specified  is
   accomplished, and neither the ac nor the argument list is affected.

   ERROR RETURN

   Each function can produce its own set  of  error  codes  on  an  error
   return from the DISK.  call.  The error code is returned in the ac.  A
   negative error code is one of  the  following,  general-purpose  error
   codes:

   Code      Symbol    Meaning

   -1        DUILF%    Illegal function requested.
   -2        DUINP%    Not enough privileges to perform the function.

   A positive error code indicates an  error  that  is  specific  to  the
   function  code.   The  ac is unchanged if DISK.  is not implemented on
   your system.

   In the argument lists described in the  following  sections,  you  can
   supply the following information:


         o  device is the SIXBIT physical or logical name of a device.



                                   22-95
   DISK. [CALLI 121]


         o  channo is the number of an initialized channel.  You can  use
            -2  to  indicate  all  channels  for  the  job, or -1 for all
            explicitly initialized channels for this job

         o  udx is the Universal Device Index for a device.

         o  structure is the SIXBIT name of a file structure.

   The function codes, their meanings, argument lists,  and  error  codes
   are:



   22.33.1  Function 0 (.DUPRI) to assign a disk priority

   Sets the disk priority level.  The argument list for .DUPRI is:

   addr:     XWD       channo,priority

   In the argument, priority is in the  range  -3  to  +3  (0  is  normal
   priority and +3 is the highest priority).

   If you set the priority for  a  channel,  the  setting  overrides  the
   setting  for  the  job,  and  remains in effect until you change it or
   release the channel.

   If you set the priority for the entire job,  the  setting  remains  in
   effect  until  you  change  it  with  another DISK. call or with a SET
   DSKPRI monitor command.

   The maximum priority level you can use for your job is stored in  Bits
   1-2 (JP.DPR) of the job privilege table (GETTAB Table 6, .GTPRV).

   On an error return from this function,  one  of  the  following  error
   codes may be stored in the ac:

             Code      Symbol Meaning

   1         DUPIP%    Priority higher than JP.DPR.
   2         DUPNO%    Channel not initialized.
   3         DUPIA%    Illegal channel number or code.




   22.33.2  Function 1 (.DUSEM) to set compatibility mode

   Sets  PDP-10/PDP-11  compatibility  mode  (22-sector   mode   on   the
   RP04/RP06)  for  the  channel.   .DUSEM is a privileged function.  The
   argument list for .DUSEM is:

   addr:     EXP       channo


                                   22-96
                                                        DISK. [CALLI 121]


   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUSID%    Illegal device.
   2         DUSCM%    The device does not support 22-sector mode.



   22.33.3  Function 2 (.DUSTM) to clear compatibility mode

   Clears PDP-10/PDP-11  compatibility  mode.   .DUSTM  is  a  privileged
   function.  The argument list for .DUSTM is:

   addr:     EXP       channo

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUSID%    Illegal device.
   2         DUSCM%    The device does not support 22-sector mode.



   22.33.4  Function 3 (.DUUNL) to unload an RP04/RP06

   Unloads an RP04 or RP06 drive.  .DUUNL is a privileged function.   The
   argument list for .DUUNL is:

   addr:     SIXBIT    /device/

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUUIU%    Illegal unit name.
   2         DUUNI%    Structure is illegal or not available.
   3         DUUNU%    Device cannot be unloaded.



   22.33.5  Function 4 (.DUOLS) to set a controller off-line soon

   Takes a controller/channel off-line soon.  The monitor  will  continue
   I/O  that  is in progress, but will not use the controller for new I/O
   requests.  .DUOLS is a privileged function.   The  argument  list  for
   .DUOLS is:



                                   22-97
   DISK. [CALLI 121]


   addr:     SIXBIT    /controller/

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUOIP%    Specified   controller/channel   is   being    put
                       off-line.
   2         DUOSK%    Nonexistent controller.
   3         DUOSS%    If controller were set off-line, there  would  not
                       be enough swapping space.
   4         DUOIS%    Unit in structure cannot be set off-line.
   5         DUOES%    Not enough space for IOWDs.
   6         DUOPI%    Obsolete



   22.33.6  Function 5 (.DUOLN) to set a controller off-line now

   Takes a controller/channel off-line now.  The  monitor  stops  current
   I/O  on  that  controller  and will not use the controller for new I/O
   requests.  .DUOLN is a privileged function.   The  argument  list  for
   .DUOLN is:

   addr:     SIXBIT    /controller/

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUOIP%    Specified   controller/channel   is   being    put
                       off-line.
   2         DUOSK%    Nonexistent controller.
   3         DUOSS%    If controller were set off-line, there  would  not
                       be  enough  swapping  space.   4  DUOIS%  Unit  in
                       structure cannot be set off-line.
   5         DUOES%    Not enough space for IOWDs.
   6         DUOPI%    Obsolete



   22.33.7  Function 6 (.DUONL) to set a controller on-line

   Puts a controller/channel on-line.  This function makes the controller
   available  for  I/O.   .DUONL  is a privileged function.  The argument
   list for .DUONL is:

   addr:     SIXBIT    /controller/

   On an error return from this function,  one  of  the  following  error


                                   22-98
                                                        DISK. [CALLI 121]


   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUOIP%    Specified   controller/channel   is   being    put
                       off-line.
   2         DUOSK%    Nonexistent controller.
   3         DUOSS%    If controller were set off-line, there  would  not
                       be enough swapping space.
   4         DUOIS%    Unit in structure cannot be set off-line.
   5         DUOES%    Not enough space for IOWDs.
   6         DUOPI%    Obsolete



   22.33.8  Function 7 (.DUUFD) to call the UFD compressor

   Sets call for UFD compressor.  The argument list for .DUUFD is:

   addr:     EXP channo

   In the argument, you specify the channo of the channel on which a file
   is open.  The UFD in which the file exists will be compressed.

   This  function  does  not  force  the  compression   to   take   place
   immediately,  but  sets  the  compression  to be performed on the next
   output CLOSE for a file in this UFD.  By default, the  compression  is
   performed  on  an output CLOSE only if the directory contains an empty
   block.



   22.33.9  Function 10 (.DUSWP) to delete a unit from  the  system  swap
            list

   Removes a disk unit from  the  active  swapping  list.   .DUSWP  is  a
   privileged function.  The argument list for .DUSWP is:

   addr:     SIXBIT    /device/

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUOIP%    Specified   controller/channel   is   being    put
                       off-line.
   2         DUOSK%    Nonexistent controller.
   3         DUOSS%    If controller were set off-line, there  would  not
                       be enough swapping space.
   4         DUOIS%    Unit in structure cannot be set off-line.
   5         DUOES%    Not enough space for IOWDs.


                                   22-99
   DISK. [CALLI 121]


   6         DUOPI%    Obsolete



   22.33.10  Function 11 (.DUASW) to add a unit to the system swap list

   Adds a disk unit to the active swapping list.  .DUASW is a  privileged
   function.  The argument list for .DUASW is:

   addr:  SIXBIT       /device/

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUANU%    No such unit.
   2         DUAAI%    Unit already in active swapping list.
   3         DUASF%    SWPTAB is full.
   4         DUAN4%    This error code is obsolete.
   5         DUANS%    No swapping space (SWAP.SYS) on pack.



   22.33.11  Function 12 (.DUASD) to add a structure to the  system  dump
             list

   Adds a structure to the system  dump  list.   The  argument  list  for
   .DUASD is:

   addr:     SIXBIT    /structure/

   On an error return from this function,  one  of  the  following  error
   codes may be returned in the ac:

   Code      Symbol    Meaning

   1         DUDND%    No such structure.
   2         DUDNC%    No crash space on structure.
   3         DUDAD%    Structure already on system dump list.
   4         DUDDF%    System dump list full.



   22.33.12  Function 13 (.DURSD) to remove a structure from  the  system
             dump list

   Removes a structure from the system dump list.  The argument list  for
   .DURSD is:

   addr:     SIXBIT    /structure/



                                   22-100
                                                        DISK. [CALLI 121]


   On an error return from this function, the following error code may be
   returned in the ac:

   Code      Symbol    Meaning

   1         DUDNS%    Structure not in system dump list.



   22.33.13  Function 14 (.DULEN) to obtain the number of block written

   Returns the number of written blocks in the file in ac.  The  argument
   list for .DULEN is:

   addr:     EXP       channo



   22.33.14  Function 15 (.DUCLM) to clear MDA wait

   Clears MDA wait for the specified unit.  The argument list for  .DUCLM
   is:

   addr:     SIXBIT    /device/

   This function is used by the GALAXY  batch  and  spooling  system  and
   requires [1,2] or JACCT privileges.



   22.33.15  Function 16 (.DUFRE) to return free space

   Returns the amount of free space in a given UFD before the  logged  in
   quota is exhausted.  The argument list for .DUFRE is:

   addr:     SIXBIT    /structure/
             XWD p,pn

   If there is no job logged in with the specified PPN, the  skip  return
   is  taken  with bit 0 set.  This bit setting is returned by the DSKCHR
   call, when DC.NPA is returned in .DCUFT (arg+1).  This  signifies  the
   fact that the quota is not available.

   On an error return from this function, the following error code may be
   returned in the ac:

   Code      Symbol    Meaning

   1         DUFND%    No such structure.

   RELATED CALLS



                                   22-101
   DISK. [CALLI 121]


   DSKCHR





















































                                   22-102
                                                        DNET. [CALLI 207]


   22.34  DNET.  [CALLI 207]


   FUNCTION

   Obtains information about DECnet network nodes and environment in your
   network  area  only.   This monitor call is for use in system programs
   associated with DECnet-10 Versions 3.0 and 4.0.

                                    NOTE

           In a multi-area DECnet environment, the DNET.UUO  only
           returns  information  about  nodes in the same area as
           the DECnet-10 host.

           If DECnet-10 is running as an  Ethernet  endnode,  the
           DNET.UUO  only returns information about the DECnet-10
           host node.


   CALLING SEQUENCE

             XMOVEI    ac,addr
             DNET.     ac,
               error return
             skip return
   addr:     argument-list

   In the calling sequence, you provide the following information:

         o  addr is the address of the argument list.

         o  argument-list depends on the function code you specify in the
            first  word  of the argument list (.DNFFL), which is provided
            in the following format:

   addr:     flags+function-code,,length

   In this word, the following flags are defined:

   Bit       Symbol    Meaning

   0         DN.FLS    Used with functions that return information  about
                       single  entities (a node or link).  Indicates that
                       the  function  should  step  through   the   list,
                       returning information about the next entity in the
                       list.

   1         DN.FLK    List information only about known nodes.

   2         DN.FLR    List information  only  about  active  (reachable)
                       nodes.


                                   22-103
   DNET. [CALLI 207]


   3         DN.FLE    List information only about EXECUTOR nodes.  Refer
                       to  the  TOPS-10  DECnet-10  User's Guide for more
                       information.

   The function codes and argument lists are described in  the  following
   sections.



   22.34.1  Function 1 (.DNLNN) to obtain a list of node names

   Lists node names.  You specify the following at addr:

   addr:     flag+<.DNLNN,,length>
             BLOCK     length-1

   In the argument list, you must include one of the following flags:

         o  DN.FLK to list known nodes.

         o  DN.FLR to list active nodes.

         o  DN.FLE to list EXECUTOR nodes.

   And length is the length of the block to reserve.

   The monitor returns the argument list in the following form:

   Word      Symbol    Contents

   1         .DNCNT    Number of node names returned in the list.

   2         .DNNMS    First node name

   3                   Second node name

   4-n                 Remaining node names




   22.34.2  Function (.DNNDI) to read information about a node

   Returns information about a node.  You specify the following at addr:

   addr:     flag+<.DNNDI,,length>
             node-name
             BLOCK length-2

   You must include one of the following flags:




                                   22-104
                                                        DNET. [CALLI 207]


         o  DN.FLS to step through list of nodes.  If you set this  flag,
            you  must  be  sure  that  addr+1 will contain 0 on the first
            call, to start at the first node in the node list.  The nodes
            are listed in numerical order, by address.

         o  DN.FLK to list only known nodes.

         o  DN.FLR to list only active nodes.

         o  DN.FLE to list only EXECUTOR nodes.

   And length is the length of the argument block returned.   If  you  do
   not  specify  step  mode  by  setting  DN.FLS,  you  must  specify the
   node-name in addr+1.

   The monitor returns the argument list in the following form:

   Word      Symbol    Contents

   1         .DNNAM    Node name.
   2         .DNRTR    Router information, in the following format:

                       Bits      Symbol    Meaning

                       0         DN.RCH    Set if the node is reachable.
                       1-17      DN.HOP    The  number  of  hops  to  the
                                           specified node.
                       18-35     DN.CST    The cost of the  path  to  the
                                           specified node.

   Word      Symbol    Contents

   3         .DNLLI    Link information, in the following format:

                       Bits      Symbol    Meaning

                       0         DN.VLD    On if the word contains  valid
                                           information.
                       1-17      DN.LNK    The number of active links  to
                                           the node.
                       18-35     DN.DLY    The message delay time to  the
                                           node.

   Word      Symbol    Contents

   4         .DNADR    Node address.
|  
|  5-10      .DNCKT    Circuit name, up to 4 ASCIZ  words.   This  string
|                      may contain up to 16 characters.





                                   22-105
   DNET. [CALLI 207]


   22.34.3  Function 3 (.DNSLS) to obtain status of a link

   Shows link status.  You must specify the following at addr:

   addr:     DN.FLS+<.DNSLS,,length>
             jobno,,channo

   In the argument list, you can supply the following information:

         o  The optional flag, DN.FLS, to step through the node list.  If
            you  set  DN.FLS, be sure that addr+1 is 0 on the first call,
            so that the information is returned  starting  at  the  first
            node in the node list.

         o  length is the number  of  words  reserved  for  the  returned
            argument list.

   The monitor returns the argument list in the following form:

   Word      Symbol    Contents
|  
|  1         .DNJCN    Currently displayed job number (DN.JOB)  and  link
|                      number (DN.CHN).
|  
   2         .DNNOD    Remote node name, in SIXBIT.

   3         .DNOBJ    Object  types,  where  the  left   half   (DN.DOB)
                       contains  the  destination  object  type,  and the
                       right half (DN.SOB)  contains  the  source  object
                       type.

   4         .DNSTA    Status word.  The left half of this word  (DN.LSW)
                       contains  the  status  variable  bits and the link
                       status code.  The variable bits are:

                       Bit       Symbol    Meaning

                       0         NS.IDA    Interrupt data is available.
                       1         NS.IDR    Interrupt data may be sent.
                       2         NS.NDA    Normal data is available.
                       3         NS.NDR    Normal data may be sent.

                       The remainder of the left half contains a  numeric
                       code  associated with the symbol that is stored in
                       the right half.

                       The right half of this word  (DN.STA)  contains  a
                       SIXBIT symbol representing the status of the link.
                       The status codes  and  associated  SIXBIT  symbols
                       are:

                       Code      Symbol    State


                                   22-106
                                                        DNET. [CALLI 207]


                       1          CW       Connect wait.
                       2          CR       Connect message received.
                       3          CS       Connect message sent.
                       4          RJ       Remote task  rejected  connect
                                           initiation message.
                       5          RN       Link is up and running.
                       6          DR       Disconnect message received.
                       7          DS       Disconnect message sent.
                       10         DC       Disconnect  message  has  been
                                           confirmed.
                       11         CF       No confidence in link.
                       12         LK       No link exists.
                       13         CM       No  communication  has   taken
                                           place.
                       14         NR       No resources exist.

   5         .DNQUO    Quota word, where the left half (DN.IQT)  contains
                       the  input  quota,  and  the  right  half (DN.OQT)
                       contains the output quota.

   6         .DNSEG    Segment size.

   7         .DNFLO    Flow control option, where the left half  (DN.XMF)
                       contains   the   flow   control  option  used  for
                       transmission, and the right half (DN.RCF) contains
                       the   flow   control  option  used  for  receiving
                       messages.

   10        .DNMSG    Message count word, where the left  half  (DN.MRC)
                       contains  the number of messages received, and the
                       right  half  (DN.MXM)  contains  the   number   of
                       messages transmitted.

   11        .DNMPR    Monitor process word.  If the job number at .DNJCN
                       is -1, this is the terminal number that NRTSER has
                       been given for this particular link.  This word is
                       0 for any job number other than -1.

   ERROR RETURN

   On an error, one of the following error codes is returned in the ac:

   Code      Symbol    Error

   1         DNADE%    Address error.
   2         DNWNA%    Wrong number of arguments.
   3         DNIDN%    Illegal job number.
   4         DNFNE%    Illegal function number.
   5         DNILF%    Illegal flag set.
   6         DNNSN%    No such node name.
   7         DNNSC%    No such channel.
   10        DNNDA%    Node is in a different DECnet area.


                                   22-107
   DNET. [CALLI 207]


   SKIP RETURN

   If DECnet-10 Version 3 or 4 is included  in  your  monitor,  the  skip
   return  is  taken for every DNET.  call except when it reaches the end
   of the node list while returning information about nodes in the list.

   EXAMPLE

   The following example shows the  programming  sequence  used  to  list
   known nodes, up to the specified length, starting at location DNARG.

             MOVE      T1,[DN.FLK+<.DNLNN,,100>]
             MOVEM     T1,DNARG
             MOVEI     T1,DNARG
             DNET.     T1,
               HALT              ;Error return
   DNARG:    BLOCK     100

   On a skip return, the argument block  is  filled  with  the  following
   information:

   DNARG:    DN.FLK!<.DNLNN,,100>          ;Function-code+flags
             20                            ;Number of nodes
             SIXBIT    /ONE/               ;Node names
             SIXBIT    /TWO/
             SIXBIT    /THREE/
             SIXBIT    /KL1026/
             SIXBIT    /JINX/
             SIXBIT    /GNOME/
             .
             .
             .






















                                   22-108
                                                        DSKCHR [CALLI 45]


   22.35  DSKCHR [CALLI 45]


   FUNCTION

   Returns the characteristics of a disk device.   These  characteristics
   are needed to allocate storage efficiently on the disk.

   CALLING SEQUENCE

             MOVE      ac,[XWD len,addr]
             DSKCHR    ac,
               error return
             skip return
             . . .
   addr:     SIXBIT    /name/
             BLOCK     length-1

   In the calling sequence, you can provide the following information:

         o  name is the SIXBIT name of a  file  structure,  a  controller
            type,  a  controller,  a  logical  unit,  a  physical unit, a
            physical device, or a channel number.

         o  length-1 is the number of words in the argument list.


   If more than one unit was specified, the monitor returns values in the
   ac  and the argument block, pertinent to the first unit specified.  If
   more than one file structure was specified, the monitor returns values
   in the ac and argument block, pertinent to the first unit on the first
   file structure.

   SKIP RETURN

   On a successful return,  the  disk  characteristics  are  returned  in
   addr+1  through addr+<length-1>, and disk status flags are returned in
   the ac.  For a complete list of I/O status bits, refer to Chapter 11.

   The contents of the returned argument block are:

   Word      Symbol    Contents

   0         .DCNAM    The argument supplied for the call.  This  is  the
                       only  word  in  the  argument  block that the user
                       program supplies.  The .DCNAM argument  may  be  a
                       channel number.

   1         .DCUFT    The number of blocks  left  in  your  job's  quota
                       before  the  UFD  is  exhausted.  If this value is
                       negative  (DC.NPA==1B0),  the  UFD  has  not  been
                       accessed since the job logged in, and the quota is


                                   22-109
   DSKCHR [CALLI 45]


                       not available.  To  obtain  this  information  for
                       jobs  other than your own, use the .DUFRE function
                       of the DISK. UUO.

   2         .DCFCT    The  number  of  first-come,  first-served  blocks
                       available to all users.

   3         .DCUNT    The number of blocks available  to  all  users  on
                       this file structure.

   4         .DCSNM    SIXBIT name of the structure to  which  this  unit
                       belongs.

   5         .DCUCH    The size characteristics are:

                       Bits      Symbol    Meaning

                       0-8       DC.UCC    Number of blocks per cluster.
                       9-17      DC.UCT    Number of blocks per track.
                       18-35     DC.UCY    Number of blocks per cylinder.

   6         .DCUSZ    Number of 128-word blocks on the unit.

   7         .DCSMT    Mount count for the structure.  This count is  the
                       number  of jobs that performed a MOUNT command for
                       this file structure without executing  a  DISMOUNT
                       command.   Note  that  LOGIN  performs  an implied
                       MOUNT of all structures in DSK,  the  default  job
                       search list.

   10        .DCWPS    Number of words per SAT block.

   11        .DCSPU    Number of SAT blocks for each unit.

   12        .DCK4S    Space (in K) allocated for swapping.

   13        .DCSAJ    Mount word for the structure:

                       Value     Meaning

                       0,,0      No job or more  than  one  job  has  the
                                 structure mounted.
                       -1,,n     One job (number  n)  has  the  structure
                                 mounted   and   the   structure  is  not
                                 single-access.
                       0,,n      One job (number  n)  has  the  structure
                                 mounted    and    the    structure    is
                                 single-access.

   14        .DCULN    SIXBIT logical name of the unit.

   15        .DCUPN    SIXBIT physical name of the unit.


                                   22-110
                                                        DSKCHR [CALLI 45]


   16        .DCUID    SIXBIT identification of the unit.

   17        .DCUFS    First logical block to be used for swapping.

   20        .DCBUM    Number of blocks per unit  (including  maintenance
                       cylinders).

   21        .DCCYL    Current cylinder number.

   22        .DCBUC    Number of blocks per unit in PDP-11  compatibility
                       mode.

   23        .DCLPQ    Length of the position wait queue.

   24        .DCLTQ    Length of the transfer wait queue.

   25        .DCALT    Unit name for alternate port.

   26        .DCOWN    Owner PPN of structure.

   27        .DCPAS    Position in active swapping list if argument was a
                       physical unit; -1 if not in list.

   30        .DCPSD    Position in system dump list  if  argument  was  a
                       structure; -1 if not in list.

   31        .DCBSC    Blocks per super-cluster.

   32        .DCXCH    The extended unit characteristics:

                       Bits      Symbol    Meaning

                       0-8       DC.XCC    Data channel number
                       9-17      DC.XCK    Unit controller number
                       18-26     DC.XCU    Physical unit number
                       27-35     DC.XCA    Bit mask  of  accessible  CPUs
                                           (1B35=CPU0, 1B34=CPU1, etc.)

   33        .DCDET    Name of the alternate port.   The  port  does  not
                       have to be attached.

   34        .DCNUS    The name of the next unit in  the  specified  file
                       structure.

   35        .DCBRC    Count of blocks read by buffered I/O.

   36        .DCBWC    Count of blocks written by buffered I/O.

   37        .DCDRC    Count of blocks read by dump I/O.

   40        .DCDWC    Count of blocks written by dump I/O.



                                   22-111
   DSKCHR [CALLI 45]


   41        .DCMRC    Count of blocks read by monitor I/O.

   42        .DCMWC    Count of blocks written by monitor I/O.

   43        .DCSRC    Count of blocks read by swap I/O.

   44        .DCSWC    Count of blocks written by swap I/O.

   45        .DCPRC    Count of blocks read by paging I/O.

   46        .DCPWC    Count of blocks written by paging I/O.

   47        .DCFKS    Remaining swap space.

   50        .DCCBK    Count of disk cache blocks in use.

   51        .DCCRC    Count of disk cache read calls.

   52        .DCCRH    Count of disk cache read hits.

   53        .DCCWC    Count of disk cache write calls.

   54        .DCCWH    Count of disk cache write hits.

   55        .DCSDV    Count of soft device/search errors.

   56        .DCSDT    Count of soft data errors.

   57        .DCHDV    Count of hard device/search errors.

   60        .DCHDT    Count of hard data errors.

   61        .DCECT    Count of retries on last error.

   62        .DCSER    Count of SAT errors.

   63        .DCRER    Count of RIB errors.

   64        .DCCER    Count of software checksum/consistency errors.

   65        .DCHBN    Logical block number of last error (within unit).

   66        .DCERR    Last error status.

   67        .DCSDF    Last error status.

   70        .DCHDI    Last error status.

   71        .DCSDI    Last error status.

   72        .DCNHG    Count of non-recoverable transfer-hung errors.



                                   22-112
                                                        DSKCHR [CALLI 45]


   73        .DCTHG    Count of transfer-hung errors.

   74        .DCPHG    Count of position-hung errors.

   75        .DCSHG    Count of software-hung errors.
|  
|  76        .DCXSF    Status flags:
|  
|                      Bits      Symbol    Contents
|  
|                      0-1       DC.FES    Front end  port  status  code.
|                                          The   port  status  codes  are
|                                          listed below.
|  
|  The port status codes are:
|  
|  Code      Symbol    Meaning
|  
|  0         .DCFEN    Not accessible from this front end.
|  1         .DCFEA    Accessible from this front end.
|  2         .DCFEB    This is the front-end boot device.
|  
|  SKIP RETURN

   The flags returned in the ac are as follows:

   Bits      Symbol    Meaning

   0         DC.RHB    Disk pack off-line; the monitor  must  reread  the
                       home block before the next operation to verify the
                       pack identification.

   1         DC.OFL    Unit is off-line.

   2         DC.HWP    Hardware write-protected.

   3         DC.SWP    Belongs to write-protected file structure.

   4         DC.SAF    Belongs to single-access file structure.

   5         DC.ZMT    Mount count is zero.

   6         DC.PRV    Belongs to private file structure.

   7-8       DC.STS    Status code for unit:

                       Code      Symbol    Status

                       0         .DCSTP    Has pack mounted.
                       2         .DCSTN    No pack mounted.
                       3         .DCSTD    Unit down.



                                   22-113
   DSKCHR [CALLI 45]


   9         DC.MSB    Unit has more than one SAT block.

   10        DC.NNA    Belongs to a structure that has a lock to  prevent
                       further    INIT,    LOOKUP,   ENTER,   OPEN,   and
                       FILOP. calls (NNA - "no new access").   This  lock
                       is set by a privileged STRUUO function.

   11        DC.AWL    Write-locked for all jobs.

   12-13     DC.CPU    CPU number of the  CPU  to  which  the  device  is
                       connected.    DC.XCC  in  word  .DCXCH  supersedes
                       DC.CPU.

   14        DC.ALT    Dual-ported device.

   15-17     DC.TYP    Type of argument passed with the DSKCHR call:

                       Code      Symbol    Meaning

                       0         .DCTDS    Generic name, such as DSK.
                       1         .DCTAB    File structure subset, because
                                           of abbreviation, such as D.
                       2         .DCTFS    File structure name,  such  as
                                           DSKA.
                       3         .DCTUF    Unit  within  file  structure,
                                           such as DSKA0.
                       4         .DCTCN    Controller class name, such as
                                           FH.
                       5         .DCTCC    Controller name, such as RPA.
                       6         .DCTPU    Physical unit, such as RPA0.
                       18-20     DC.DCN    Data   channel   number   that
                                           software lists as connected to
                                           hardware; first  data  channel
                                           is 0.
                       21-26     DC.CNT    Controller type:

                       Code      Symbol    Controller Type

                       1         .DCCFH    RC10 for RD10 and RM10-B.
                       2         .DCCDP    RP10 for RP02 and RP03.
                       4         .DCCFS    RH10 for fixed head disk.
                       5         .DCCRP    RH10/RH20/RH11 for moving head
                                           disk  (RP04,  RP06,  RP07, and
                                           RM03).
                       6         .DCCRN    RH20 for RP20.
                       7         .DCCRA    HSC for CI disks.

   27-29     DC.CNN    Controller number; first one of each type is 0.

   30-32     DC.UNT    Unit type:

                       Code      Symbol    Meaning   When


                                   22-114
                                                        DSKCHR [CALLI 45]


                       0         .DCUFD    RD10      (DC.CNT=1)
                       0         .DCUS4    RS04      (DC.CNT=4)
                       0         .DCUR4    RP04      (DC.CNT=5)
                       0         .DCUN0    RP20      (DC.CNT=6)
                       0         .DCU80    RA80      (DC.CNT=7)
                       1         .DCUFM    RM10-B    (DC.CNT=1)
                       1         .DCUD2    RP02      (DC.CNT=2)
                       1         .DCUR6    RP06      (DC.CNT=5)
                       1         .DCU81    RA81      (DC.CNT=7)
                       2         .DCUD3    RP03      (DC.CNT=2)
                       2         .DCUR3    RM03      (DC.CNT=5)
                       2         .DCU60    RA60      (DC.CNT=7)
                       3         .DCUR7    RP07      (DC.CNT=5)

   33-35     DC.UNN    Physical unit number within the controller;  first
                       one is 0.

   ERROR RETURN

   The error return occurs under one of the following conditions:

         o  The argument at addr is 0.

         o  The device does not exist or channel is not initialized.

         o  The argument is illegal.

   EXAMPLE

   The following example checks a user's  logged-in  quota  on  structure
   DSKB:

             MOVE      T1,[2,,ADDR]
             DSKCHR    T1,
               JRST    NOQTA
             SKIPGE    ADDR+.DCUFT
               JRST    NOQTA
               . . .
   ADDR:     SIXBIT    /DSKB/
             BLOCK 1

   This code tests the value returned from the DSKCHR call.  When  DSKCHR
   fails,  or  when  no quota is returned at ADDR+1, the program jumps to
   NOQTA, where it must act on the possibility that the structure is  not
   mounted or there is no quota on the structure.









                                   22-115
   DTE. [CALLI 170]


   22.36  DTE.  [CALLI 170]


   Function

   Performs  functions  for  the  DTE  (KL  systems  only),  and  is  not
   recommended  for customer programs.  To use the DTE. monitor call, you
   must have the JP.POK or JACCT privilege, or be logged in under [1,2].

   Calling Sequence

                MOVE  ac,[fcn-code,addr]
                DTE.  ac,
                  error return
                skip return
                . . .
   addr:        argument list

        where:  fcn-code is one of the function codes described below.

                addr is the address of the argument list.  Each  function
                requires  a different argument list.  These are described
                below.

   In the following discussion of the DTE. functions,

         o  cpuno is the number of a CPU.

         o  dteno is the number of a DTE.

         o  fedno is the unit number of a front-end device.

   The function codes and their meanings are:

        Code   Symbol    Function

          0    .DTECL    Clears a PDP-11 on a DTE.  The argument list for
                         the .DTECL function is:

                         addr:   XWD     cpuno,dteno

          1    .DTEST    Starts primary protocol on a DTE.  The  argument
                         list for the .DTEST function is:

                         addr:   XWD     cpuno,dteno









                                   22-116
                                                         DTE. [CALLI 170]


        Code   Symbol    Function

          2    .DTETB    Sets  the  byte  pointer  for   messages   being
                         transferred  to  the DECsystem-10.  The argument
                         list for the .DTETB function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     <byte pointer to DECsystem-10>

          3    .DTEEB    Sets the byte pointer for  messages  transmitted
                         to the PDP-11.  The argument list for the .DTEEB
                         function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     <byte pointer to PDP-11>

          4    .DTERW    Returns the PDP-11 reload ROM word  in  the  ac.
                         The argument list for the .DTERW function is:

                         addr:   XWD     cpuno,dteno

                         If bit 4 (DT.RP4) is set on return,  the  PDP-11
                         got code from the disk.

          5    .DTEMN    Return (in ac) the master  DTE  number  for  the
                         CPU.   The argument list for the .DTEMN function
                         is:

                         addr:   XWD     cpuno,dteno

          6    .DTEPR    Presses the PDP-11 reload button.  The  argument
                         list for the .DTEPR function is:

                         addr:   XWD     cpuno,dteno

          7    .DTEGS    Returns the status word for the DTE.  The status
                         word  for  the  specified DTE is returned in ac.
                         The argument list for the .DTEGS function is:

                         addr:   XWD     cpuno,dteno

                         The status flags that can be returned are:

                         Flag   Symbol    Meaning

                           6    DT.DTX    DTE exists.
                           7    DT.DTM    DTE is master DTE.
                           8    DT.PPC    DTE    is    running    primary
                                          protocol.
                           9    DT.SPC    DTE   is   running    secondary
                                          protocol.
                          10    DT.RLD    DTE needs reloading.


                                   22-117
   DTE. [CALLI 170]


        Code   Symbol    Function

         10    .DTERJ    Sets reload job number.  The argument  list  for
                         the .DTERJ function is:

                         addr:   EXP     jobno

                         where:  jobno is the job number for the reload.

         11    .DTEGF    Assigns the specified Front End Device (FED)  to
                         the current job in its current job context.  The
                         FED  can  then  be  operated  using   the   DTE.
                         functions  for  FEDs  (.DTEIF,  .DTEOF, .DTEFG.,
                         .DTEFS, and .DTEFR).   Privileged  programs  can
                         use  the  FED  functions to communicate with the
                         software running on PDP-11 devices connected  to
                         the  system  with a DTE.  That software includes
                         GALAXY, DDT11, and the FE program.

                         To assign a  FED,  use  the  following  argument
                         block:

                         addr:   XWD     cpuno,dteno
                                 EXP     fedno

                         Where cpuno is the CPU number and dteno  is  the
                         number of the DTE to which the FED is connected.
                         In addr+1, specify the unit number of  the  FED.
                         On  a successful return from the DTE.  function,
                         the contents of the ac are indeterminate

                         You can use this function to  assign  the  first
                         free  FED  unit  on the specified CPU and DTE by
                         specifying -1 for fedno.  In this case, the  FED
                         unit number will be returned in the ac.

         12    .DTEIF    Front-end device input.  The argument  list  for
                         the .DTEIF function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     fedno
                                 XWD     byte-count, addr-of-input-buffer

         13    .DTEOF    Front-end device output.  The argument list  for
                         the .DTEOF function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     fedno
                                 XWD     byte-count,addr-of-output-buffer





                                   22-118
                                                         DTE. [CALLI 170]


        Code   Symbol    Function

         14    .DTEFG    Returns (in ac)  the  front-end  device  status.
                         The argument list for the .DTEFG function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     fedno

                         The returned device status flags are:

                         Flag   Symbol    Meaning

                          28    DT.FER    Fatal error.
                          29              Reserved.
                          30    DT.EOF    End of file.
                          31    DT.IOP    I/O in progress.
                          32    DT.SER    Soft error.
                          33    DT.HER    Hard error.
                          34    DT.OFL    Off-line.
                          35    DT.NXD    Nonexistent device.

         15    .DTEFS    Sets front-end device status.  The argument list
                         for the .DTEFS function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     fedno
                                 EXP     status

                         where:  status  is  the  status  word  for   the
                                 front-end device.

         16    .DTEFR    Releases a front-end device.  The argument  list
                         for the .DTEFR function is:

                         addr:   XWD     cpuno,dteno
                                 EXP     fedno

         17    .DTERC    Releases KL error chunks.  The argument list for
                         the .DTERC function is:

                         addr:   XWD     cpuno,0

         20    .DTERT    Releases the KL error timer.  The argument  list
                         for the .DTERT function is:

                         addr:   XWD     cpuno,0








                                   22-119
   DTE. [CALLI 170]


        Code   Symbol    Function

         21    .DTEDT    Returns Universal Device  Indexes  for  terminal
                         lines leading to the DL11s on the specified DTE.
                         The argument list for this function is:

                         addr:   XWD     cpuno,dteno

                         On a successful return, the UDX is  returned  in
                         the  ac.  However, for DTE 0, which is dedicated
                         to the  console  front  end  (RSX-20F),  the  ac
                         contains the KLINIK line's UDX in the left half,
                         and the CTY's UDX in the right half.

         22    .DTESU    Specifies the type of protocol that will run  on
                         the  DTE.   The  argument list for this function
                         is:

                         addr:   XWD     cpuno,dteno
                                 SIXBIT/user-name/

                         where the user-name  is  one  of  the  following
                         protocol types:

                              DECNET  for DECnet-10.
                              ANF     for ANF-10.
                              IBM     for IBM communications.
                              NOBODY  if  the  DTE  is  not   running   a
                                      protocol.
                              PROGRA  if the DTE is dedicated to a job.

        23     .DTERU    Reads the protocol type of the protocol that  is
                         running on the DTE.  The argument list is:

                         addr:   XWD     cpuno,dteno
                                 BLOCK   2

                         The information is  returned  in  the  following
                         format:

                         addr:   XWD     cpuno,dteno
                                 SIXBIT/user-name/
                                 EXP     jobn

                         where user-name is  the  name  of  the  protocol
                         running on the DTE (refer to .DTESU above).  The
                         job number (jobn) is returned in addr+2 only  if
                         user-name is PROGRA.






                                   22-120
                                                         DTE. [CALLI 170]


        Code   Symbol    Function

        24     .DTELS    Loads a  secondary  bootstrap  from  your  job's
                         memory  area,  using  the  PDP-11 bootstrap ROM.
                         This function must be  preceded  by  the  .DTECL
                         (clear)  and  .DTEPR  (press  reload) functions.
                         You must also use function .DTEDM (dump)  before
                         you  can  load any bootstrap.  The argument list
                         for this function is:

                         addr:   XWD     cpuno,dteno
                                 POINT   16,addr1
                                 EXP     length

                         where addr+1 contains a byte pointer  indicating
                         the location of the secondary loader, and length
                         is the length of the loader, in 16-bit bytes.

        25     .DTEDM    Dumps PDP-11 memory, using the PDP-11  bootstrap
                         ROM.   Before  you use this function, be sure to
                         use functions .DTECL (clear) and  .DTEPR  (press
                         reload).  You must always dump the PDP-11 memory
                         before you can load a program into  its  memory.
                         The argument list for this function is:

                         addr:   XWD     cpuno,dteno
                                 POINT   16,addr1
                                 EXP     count

                         where addr+1  contains  a  byte-pointer  to  the
                         memory  that  must be dumped, and where count is
                         the number of 16-bit  bytes  to  dump  from  the
                         PDP-11.
|  
|       26     .DTKPS    Set  KLINIK  parameters.   (Not   intended   for
|                        customer use.)
|  
|       27     .DTKPR    Read  KLINIK  parameters.   (Not  intended   for
|                        customer use.)

   skip Return

   The function is performed, and any requested value is  stored  in  the
   ac.










                                   22-121
   DTE. [CALLI 170]


   Error Return

   One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    DTENP%    Not enough privileges.
          2    DTEUF%    Illegal function code.
          3    DTEDC%    Illegal CPU or DTE number.
          4    DTEAP%    Primary protocol already running.
          5    DTEPT%    Power fail did not come up.
          6    DTEDE%    Doorbell did not clear.
          7    DTTTE%    To TOPS-10 error during BOOT sequence.
         10    DTEDD%    No response from PDP-11 after BOOT sequence.
         11    DTEIJ%    Illegal job number.
         12    DTEIB%    Illegal byte count.
         13    DTENI%    Front-end device not initialized.
         14    DTEFB%    Front-end device in use by another job.
         15    DTENF%    Nonexistent front-end device.
         16    DTEFE%    Fatal error on front-end device.
         17    DTESE%    Error starting primary protocol.
         20    DTENC%    No free core for front-end device buffers.
         21    DTETE%    KL error data timer expired.
         22    DTECM%    The FEDSER monitor module was told not  to  send
                         messages to the PDP-11.
         23    DTEIU%    Tried to set line to illegal user value.
         24    DTEWU%    Wrong line user for function.
         25    DTEEV%    No exec virtual memory to perform function.
         26    DTEIP%    Illegal byte pointer.

























                                   22-122
                                                       DVPHY. [CALLI 164]


   22.37  DVPHY.  [CALLI 164]


   Function

|  Returns  the  physical  names  of  devices  and  controllers   (except
|  pseudo-terminals, terminals, MPX devices, and disks).
|  
|  By specifying the device type (as returned  by  DVTYP. UUO),  you  can
|  return  all  the  physical  device  names for a specific device or all
|  devices.
|  
|  Calling Sequence
|  
|       MOVE    ac,[XWD len,addr]
|       DVPHY.  ac,
|         error return
|       skip return
|       . . .
|  addr: / EXP  device-type    \
|        \ EXP  -1             /
|       BLOCK   1
|  
|       where:  len is the length of the argument block (must be 2).
|  
|               addr is the address of the  argument  block.   The  first
|               word of the argument list specifies the devices to list:
|  
|            device-type is one of the device type  codes  returned  from
|            the DEVTYP monitor call, such as .TYLPT for a line printer.
|  
|            To list all the devices, use -1 instead of the device type.
|  
|            To list all controllers for a specific type of  device,  use
|            the following argument list:
|  
|            addr:   [XWD  -1,device-type]
|                    [EXP  controller-name]

   On the first  DVPHY. call,  addr+1  should  contain  0.   The  monitor
   returns  the  name  of  the  first  device.  If you leave this name in
   addr+1, the next DVPHY. call returns the name of the next device,  and
   so forth.  When all devices have been returned (by several calls), the
   monitor returns 0 in addr+1.

   skip Return

   For 0 in addr+1, the monitor returns the name of the first device; for
   a  device  name  in  addr+1,  the monitor returns the name of the next
   device, or, if there are no more devices, 0.  The ac is unchanged.

   Error Return


                                   22-123
   DVPHY. [CALLI 164]


   One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    DVPIA%    Illegal argument length.
          2    DVPIT%    Illegal device type.
          3    DVPNP%    Nonexistent physical device.
          4    DVPNT%    Nonexistent device type.

   Example

   The following example shows how to obtain the physical  names  of  all
   line printers on the system:

             SETZB     T1,ADDR+1 ;Initialize counter and device name
   TAG1:     MOVE      T2,[XWD 2,ADDR] ;Set up call
             DVPHY.    T2,       ;Get name
               JRST    ERROR     ;Error
             SKIPN     T3,ADDR+1 ;Get name, skip if not at end
               JRST    TAG2      ;0 means we're done
             MOVEM     T3,LPTNAM(T1) ;Save in next block-slot
             AOJA      T1,TAG1   ;Increment count and loop
   TAG2:     MOVEM     T1,NLPT   ;Save count
             JRST      CONTIN
   NLPT:     BLOCK     1
   LPTNAM:   BLOCK     10
   ADDR:     EXP       .TYLPT    ;Type is LPT
             EXP       0         ;Start with first device
   CONTIN:

   RELATED CALLS

   SYSPHY, SYSSTR

   Common Programming Errors

   Using a SIXBIT name for device type.

















                                   22-124
                                                       DVRST. [CALLI 122]


   22.38  DVRST.  [CALLI 122]


   Function

   Restricts the use of a device.  Once restricted, the  device  is  then
   assignable  only  by  the  operator;  unprivileged  users must request
   assignment  through  the  MOUNT  monitor  command  before  using   the
   OPEN/INIT  monitor  call.  (See the Commands Manual.) Privileged users
   (JACCT or [1,2]) can still use the OPEN or INIT monitor call,  or  the
   ASSIGN command, if the device is not controlled by MDA.

   The DVRST. monitor call requires the JACCT privilege or  that  you  be
   logged in under [1,2].

   Calling Sequence

         / MOVE ac,[SIXBIT/device/] \
        |  MOVEI         ac,channo   |
         \ MOVEI         ac,udx    /
                DVRST.   ac,
                  error return
                skip return

        where:  device is the SIXBIT physical or logical name of a device
                to be designated as being restricted.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

   skip Return

   The device is restricted.

   Error Return

   The error return occurs if any of the following  conditions  is  found
   (the ac is unchanged):

         o  You do not have the JACCT privilege  or  are  not  logged  in
            under [1,2].

         o  The specified device does not exist.

         o  The device is a disk.


   RELATED CALLS

   DVURS.



                                   22-125
   DVURS. [CALLI 123]


   22.39  DVURS.  [CALLI 123]


   Function

   Removes  the   restriction   created   by   a   DVRST. monitor   call.
   DVURS. requires  the  JACCT  privilege  or that you be logged in under
   [1,2].

   Calling Sequence

         / MOVE ac,[SIXBIT/device/] \
        |  MOVEI         ac,channo   |
         \ MOVEI         ac,udx    /
                DVURS.   ac,
                  error return
                skip return

        where:  device is the SIXBIT physical or logical name of a device
                that is to be returned to unrestricted status.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

   skip Return

   The restriction is removed.  The device is available  for  public  use
   and returned to the monitor's pool of available devices.

   Error Return

   The error return occurs if any of the following  conditions  is  found
   (the ac is unchanged):

         o  You do not have the JACCT privilege  or  are  not  logged  in
            under [1,2].

         o  The given device does not exist.


   RELATED CALLS

   DVRST.










                                   22-126
                                                         ENQ. [CALLI 151]


   22.40  ENQ.  [CALLI 151]


   Function

   Requests access to resources that  are  defined  by  cooperating  user
   programs.   The  ENQ.  call is one of three monitor calls that provide
   control over the ENQ/DEQ facility, which provides resource definition,
   control  over  access  to  resources,  and  deadlock detection for the
   resources.  The ENQ/DEQ facility is described in Chapter 8.

   Calling Sequence

                MOVE   ac,[XWD fcn-code,addr]
                ENQ.   ac,
                  error return
                skip return
                . . .
   addr:        EXP     <size>B5+<number>B17+<len>B35     ;header block
                XWD     0,request-id                      
                XWD     time-limit
                <lock block>
                <lock block>
                    .
                    .
                    .

   where:       fcn-code is one of the function codes listed below.

                addr is the address of the argument block, which consists
                of a header block followed by one or more lock blocks.

   The header block contains 1 to 3 words, in the following order:

        Offset Symbol    Contents

         0     .ENQLL   The header size, the number of lock requests, and
                        the  total  length of the argument, including the
                        header and all the words in all the lock  blocks.
                        Specifically,  the  .ENQLL  word  is formatted as
                        follows:

                         Bits   Symbol   Value

                         0-5    EQ.BHS   Size of the header block.   This
                                         value   is   between  1  and  3,
                                         because  the  second  and  third
                                         words are optional.  If you omit
                                         this value, the default is 2.





                                   22-127
   ENQ. [CALLI 151]


        Offset Symbol    Contents

                         Bits   Symbol   Value

                         6-17   EQ.LNL   Number of lock blocks  following
                                         the  header  block.  Include one
                                         lock  block  for  each  resource
                                         requested.

                         18-35  EQ.LLB   Total length (in words)  of  the
                                         argument  block.   All  the lock
                                         blocks in a single request  must
                                         be  the  same length.  Thus, the
                                         value of EQ.LLB  is  the  header
                                         block  length  (EQ.BHS) plus the
                                         length of each lock block  times
                                         the    number    of    resources
                                         requested (EQ.LNL).

        1      .ENQRI    An 18-bit request-id identifying  this  request.
                         This   optional   value   identifies   the  ENQ.
                         request, enabling you to  identify  it  when  it
                         causes  a  software  interrupt.   This is useful
                         when you use the ENQ/DEQ facility in conjunction
                         with the software interrupt (PSI) system.  After
                         an interrupt is generated,  the  request-ids  of
                         the  granted  requests are inclusively ORed into
                         the status word  of  the  interrupt  block.   To
                         receive  a software interrupt, use function code
                         2 (.ENQSI) when you issue the ENQ. monitor call.
                         The  request-id  can  also be used with the DEQ.
                         call to dequeue a specific request.

        2      .ENQTL    Time limit specifying the number of  seconds  to
                         wait for each request in the call to be granted.
                         If any resource is  not  available  within  that
                         time limit, the call takes the error return with
                         the ENQTL% error code in the ac.  This  word  is
                         optional.   If you include the time limit in the
                         header block, specify 3 for size in word 0.

   Each lock block represents a separate  ENQ.   request.   There  is  no
   limit  to  the  number  of  locks  that can be requested, but multiple
   requests in the same ENQ.  call must  be  given  level  numbers.   The
   locks will be granted in the order of the level numbers.









                                   22-128
                                                         ENQ. [CALLI 151]


   The format of a lock block is:

            / EXP       <flags+level>B17+<channo>B35 \
           |  EXP       flags+user-code               |
            \ EXP       user-code                    /
            / XWD pool-size,number \
            \ XWD 0,sharer-group   /
              XWD mask-len,mask-addr
              XWD block-len,block-addr

   where a lock block is two to five words long, identifying the resource
   to  be  locked  and  describing  the characteristics of the lock.  The
   first  requestor  of  a   resource   defines   lock   characteristics.
   Subsequent  requests  for  the  same  resource  must  conform to those
   characteristics or wait until the resource is released  by  the  first
   requestor.

   In the case of multiple-lock requests, all the lock blocks in a single
   ENQ.  request must be the same length.  Specifically, a lock block can
   contain the following words:

        Offset Symbol    Contents

          0    .ENQFL    Contains  the  flag  bits,  level  number,   and
                         channel number.  The flags are:

                         Bit     Symbol  Meaning

                         0       EQ.FSR  The lock request allows sharers.
                                         If  you do not set this bit, the
                                         monitor assumes that you require
                                         exclusive    access    to    the
                                         resource.   Unless   the   first
                                         requestor  for the resource sets
                                         this flag, no requests  for  the
                                         same  resource (specified in the
                                         next  word,   .ENQBP)   can   be
                                         granted    until    the    first
                                         requestor  dequeues  it   (using
                                         DEQ.   or  RESET).  If the first
                                         requestor sets this  bit,  other
                                         programs  with  the  same sharer
                                         group number as  that  specified
                                         in  .ENQPS  can obtain access to
                                         the resource while it is  locked
                                         for your job.








                                   22-129
   ENQ. [CALLI 151]


                         Bit     Symbol  Meaning

                         1       EQ.FLB  Bypass  level  checking.    When
                                         multiple request blocks are made
                                         in a single ENQ.  call, you must
                                         assign  a  level  number to each
                                         request.   When  EQ.FLB  is  not
                                         set,  lower-level resources will
                                         be granted  before  higher-level
                                         resources  are  considered.  The
                                         EQ.FLB   flag   prevents    this
                                         level-checking,         allowing
                                         resources    to    be    granted
                                         regardless  of  their  order  by
                                         level number.

                         2       EQ.FLT  Grant a  long-term  lock.   That
                                         is,   after   the   resource  is
                                         dequeued by all users, the  lock
                                         data  is  preserved  for about 5
                                         minutes.

                         3       EQ.FEL  Grant  an  eternal  lock.   This
                                         prevents   the   resources  from
                                         being   dequeued   automatically
                                         when  your  program  performs  a
                                         RESET function.

                         4       EQ.FAB  Abort   the   resource.     This
                                         prevents the resource from being
                                         accessible to any other user.  A
                                         request   for  an  aborted  lock
                                         causes error code ENQAB%  to  be
                                         returned   in   the   ac.    The
                                         resource cannot  be  granted  to
                                         another   user   until   it   is
                                         dequeued.

                         5       EQ.FDD  Set  deadlock  detection.   This
                                         flag  prevents your request from
                                         causing   a    deadlock    among
                                         resource users.  If this flag is
                                         set, and granting  your  request
                                         would cause a deadlock, the ENQ.
                                         call takes the error return with
                                         error code ENQDD% in the ac.

                         6       EQ.FCW  Specifies  that  a  36-bit  user
                                         code  is  included  in  the next
                                         word  (.ENQBP).   This  is   the
                                         preferred method of specifying a
                                         user code in the lock block.


                                   22-130
                                                         ENQ. [CALLI 151]


                         Bit     Symbol  Meaning

                         7-8             Reserved for use by DIGITAL.

                         9-17    EQ.FLV  9-bit  level-number   that   you
                                         assign  to  each  request  in  a
                                         multiple-lock  request.   In   a
                                         multiple-lock  request (a single
                                         ENQ.  call  containing  multiple
                                         lock  blocks),  each  lock block
                                         must be assigned a level number;
                                         the  locks  will  be  granted in
                                         ascending    numerical     order
                                         according   to   level   number,
                                         unless you  set  EQ.FLB  (bypass
                                         level   checking)  in  the  flag
                                         word.

                         18-35   EQ.FCC  The number  of  the  channel  on
                                         which   the  resource  is  being
                                         accessed (positive integer),  to
                                         associate the lock with the file
                                         that is open  on  that  channel.
                                         Alternatively, you can specify a
                                         negative number  indicating  one
                                         of the following conditions:

   Code      Symbol    Meaning

       -3    .EQFPL    The lock requested is a privileged global lock and
                       the  resource  is available only to [1,2] or JACCT
                       jobs.  This code allows privileged jobs to  define
                       locks   on   resources   to  prevent  access  from
                       unprivileged jobs.




















                                   22-131
   ENQ. [CALLI 151]


        Offset Symbol    Contents

                         Code    Symbol  Meaning

                         -2      .EQFGL  The lock you are requesting is a
                                         global  lock.   Specifying  this
                                         code  prevents  access  to   the
                                         resource from any other job.  To
                                         use this  code,  your  job  must
                                         have JP.ENQ set in its privilege
                                         word.
                         -1      .EQFJB  The lock  is  a  job-wide  lock,
                                         preventing    access    to   the
                                         resource from any other requests
                                         by your job.


          1    .ENQBP    Specifies the resource to be  locked.   You  can
                         use a pointer to an ASCIZ string, or a user-code
                         in this word (more on  this  later).   You  must
                         include this word in every lock block because it
                         defines the resource you are requesting.

                         When the first program to request  the  resource
                         is  granted a lock, it is said to have ownership
                         of the resource.  When a second program makes an
                         ENQ.   call with the same value in this word (if
                         a user-code is  specified)  or  the  same  ASCIZ
                         string  (if a byte pointer is used), the request
                         is for the same resource that was granted to the
                         first job.

                         The contents of  the  word  to  which  the  byte
                         pointer  refers,  or  the  user code itself, are
                         purely arbitrary values  to  the  monitor.   The
                         monitor  only  checks lock requests for matches,
                         granting or preventing locks  on  the  basis  of
                         matching  strings.   This  is  the  key  to  the
                         ENQ/DEQ access-checking mechanism.

                         If the flag EQ.FCW is set in the  previous  word
                         (.ENQFL),  .ENQBP must contain a 36-bit value as
                         a user-code.

                         If EQ.FCW is not set, and the flag EQ.BUC is set
                         in  .ENQBP  (that  is, a value of 5 is placed in
                         bits 0-2), the rest of the word must  contain  a
                         33-bit user-code.






                                   22-132
                                                         ENQ. [CALLI 151]


        Offset Symbol    Contents

                         If neither flag is set, this word (.ENQBP)  must
                         contain a pointer to an ASCIZ text string.  This
                         may be either a standard  byte  pointer  in  the
                         form:

                              POINT 7,address,bit-location

                         Or, if the  ASCIZ  string  is  stored  in  7-bit
                         bytes,   starting  at  the  first  byte  of  the
                         location being referenced, the pointer can  take
                         the form:

                              XWD -1,address

                         The ASCIZ string at address  can  be  up  to  30
                         (decimal)  words.  The maximum string length for
                         your system is stored in %EQMSS in GETTAB  table
                         .GTENQ.

                         Cooperating programs (those requesting the  same
                         resources)  must  specify  exactly the same user
                         code or ASCIZ string.

        2      .ENQPS    Specifies either a  pool  number  for  a  pooled
                         resource,   or  a  sharer  group  number  for  a
                         sharable resource.  This word  is  optional  and
                         defaults to 0.

                         For a pooled resource,  the  word  contains  the
                         pool-size  in  the  left  half and the number of
                         resources requested from the pool in  the  right
                         half.  For a sharable resource, the left half is
                         zero,  and   the   right   half   contains   the
                         sharer-group number.  Thus, a resource cannot be
                         pooled and also be accessible to a sharer group.

                         A  pooled  resource  is  defined  by  the  first
                         requestor  of  the  resource.  By specifying the
                         number of resources in the pool,  the  requestor
                         is  defining  the  number  of  "copies"  of  the
                         resource to be made available.  Each copy of the
                         resource  can  be requested for exclusive access
                         by specifying the same  resource  identifier  in
                         word  .ENQBP  and  the  same  pool-size  in word
                         .ENQPS.  The requestor must also specify, in the
                         right  half  of  .ENQPS  (EQ.PPR), the number of
                         copies of the resource to lock.





                                   22-133
   ENQ. [CALLI 151]


        Offset Symbol    Contents

                         If the left half of .ENQPS (EQ.PPS)  is  0,  the
                         right  half  (EQ.PPR) specifies the sharer-group
                         number, thus defining a group of jobs  that  can
                         simultaneously  share the resource.  Any program
                         that sets the flag EQ.FSR and specifies the same
                         resource  and  the same sharer group number will
                         be granted its  request.   Therefore,  when  you
                         share  the  ownership  of a resource, only other
                         jobs  in  the  same  sharer  group  are  allowed
                         ownership  of  the  resource.   The sharer group
                         number defaults to 0.  Therefore, if  the  first
                         requestor  specifies  a  sharable  resource  but
                         omits the sharer group  number,  all  subsequent
                         sharable  requests  for  the  resource that also
                         omit the sharer group number, or that set it  to
                         0, will be granted immediately.

        3      .ENQMS    Contains a pointer to the bit mask  representing
                         the  portions  of  a resource to be locked.  The
                         pointer consists of the mask-len stored  in  the
                         left  half, and the mask-addr in the right half.
                         The bit mask, describing fields of  bits  to  be
                         locked,  is  stored at the location specified in
                         mask-addr, and the length of the  bit  mask  (in
                         words) is stored in the mask-len.  This provides
                         a  facility  for  partitioning   the   resource,
                         allowing  locks on portions of a resource.  This
                         word is optional and defaults to 0.

        4      .ENQTB    Contains the block-length and  block-addr  of  a
                         lock-associated data block.  This data block can
                         be used to pass information to subsequent  users
                         of a resource.  To use this facility, you should
                         set EQ.FLT, thus  preserving  all  lock  request
                         data  for  the  resource  for at least 5 minutes
                         after you dequeue the resource.   This  word  is
                         optional and defaults to 0.















                                   22-134
                                                         ENQ. [CALLI 151]


   The function codes and their meanings are:

        Code   Symbol    Function

          0    .ENQBL    Requests ownership of a resource.  Your job will
                         block  if  the  resource is not available.  Your
                         request is placed in a queue associated with the
                         specified  resource.   If  more than one request
                         was included in your ENQ.  call, your  job  will
                         block  until all the requests have been granted.
                         After all requests have been granted,  the  skip
                         return  is  taken and the monitor clears the ac.
                         If you set the flag  EQ.FBL  in  .ENQFL  of  the
                         request  block  (to  bypass level checking), the
                         monitor could return a nonzero value.  A nonzero
                         value  indicates  that a level number sequencing
                         error occurred, but it was ignored  because  you
                         specified   that   level   numbers  were  to  be
                         bypassed.

          1    .ENQAA    Requests ownership of  a  resource  and  returns
                         immediately  if the resource is unavailable.  If
                         all requests specified in this  argument  cannot
                         be  granted  immediately,  the  system  will not
                         enter any requests in the queues associated with
                         those  resources  and  the error return is taken
                         with error code 1 (ENQRU%) in the ac.   However,
                         if  the  system  can  grant all of your requests
                         immediately, the skip return is  taken  and  the
                         monitor leaves the ac unchanged.

          2    .ENQSI    Requests ownership of a  resource  and,  if  the
                         resource  is not immediately available, causes a
                         software interrupt  when  the  resource  becomes
                         available.   You  can use this function when the
                         Programmable Software Interrupt (PSI) system  is
                         enabled, to prevent your job from blocking while
                         waiting for the requests to be granted.

                         If all the requests in the call can  be  granted
                         immediately,  this  function  is  equivalent  to
                         function  code  0  (.ENQBL).   If  any  of   the
                         requests  are  not available, the call takes the
                         error return with error code 1 (ENQRU%)  in  the
                         ac.    In  this  case,  your  job  can  continue
                         processing until it receives a  .PCQUE  software
                         interrupt.   The  interrupt  control  block will
                         contain the request-ids of the requests that are
                         granted,  inclusively ORed into the status word.
                         The PSI system is described in Chapter 6.




                                   22-135
   ENQ. [CALLI 151]


        Code   Symbol    Function

          3    .ENQMA    Modifies an existing request made by  your  job.
                         If  the modification you specify in this request
                         is identical to the request you made earlier, no
                         action  is  taken  and  the skip return is taken
                         from the call.  If you do not have a request  in
                         any  queue,  the  error  return is taken and the
                         monitor returns error code 24  (ENQNE%)  in  the
                         ac.   If  you specify more than one request with
                         this function  code  and  the  error  return  is
                         taken, you must issue the ENQC.  monitor call to
                         determine which (if  any)  modification  request
                         was  granted.   The  error code that the monitor
                         returns in the ac reflects only the  last  error
                         that occurred as the result of this call.

                         You  can  modify  a   request   from   exclusive
                         ownership  to  shared  ownership,  but  you will
                         receive an error code if you attempt to modify a
                         request  from  shared  to exclusive ownership if
                         other jobs are also sharing  the  resource.   To
                         modify   a  request  from  shared  to  exclusive
                         ownership  when  other  jobs  are  sharing   the
                         resource,   you  must  first  DEQ. the  request.
                         Then, enqueue it again as an exclusive ownership
                         request.

   skip Return

   All requests in the call are granted, and the resources are locked for
   your program.

   Error Return

   One of the following error codes is returned in the  ac  on  an  error
   return.   These  error codes are also returned on an error from a DEQ.
   or ENQC.  call.  They are described in more detail in Chapter 8.

        Code   Symbol    Error

          1    ENQRU%    At least one of the requested resources  is  not
                         available.
          2    ENQBP%    You  requested  an  illegal  number  of   pooled
                         resources.
          3    ENQBJ%    You specified an illegal job number.
          4    ENQBB%    You specified an illegal byte size for the  byte
                         pointer.   The  byte  size must be between 1 and
                         36, inclusive.





                                   22-136
                                                         ENQ. [CALLI 151]


        Code   Symbol    Error

          5    ENQST%    The ASCIZ string is too long.  It must  be  less
                         than 30 (decimal) words.  (Refer to GETTAB table
                         .GTENQ, item %EQMSS for current maximum  message
                         length.)
          6    ENQBF%    You specified an illegal function code.
          7    ENQBL%    You specified an illegal argument  list  length.
                         The  total  argument  list  for the call must be
                         header-block-size plus (request-block-size times
                         number-of-requests).
         10    ENQIC%    You specified an illegal number of requests.
         11    ENQBC%    You specified an illegal channel number.
         12    ENQPI%    Your program does not have enough privileges for
                         the given function.
         13    ENQNC%    Not enough core available, or the maximum number
                         of  active  locks  (item  %EQMAQ in GETTAB table
                         .GTENQ) has been exceeded.
         14    ENQFN%    Device is not initialized or is not a disk.
         15    ENQIN%    The address for the byte pointer is indirect  or
                         indexed; this is not allowed.
         16    ENQNO%    Your program cannot dequeue  resources  it  does
                         not own.
         17    ENQLS%    Levels are not specified in ascending order.
         20    ENQCC%    Illegal modification of  ownership;  you  cannot
                         change   a  request  from  shared  to  exclusive
                         ownership.   You  must  DEQ. the  request,  then
                         ENQ. it with EQ.FSR set.
         21    ENQQE%    Your ENQ quota has been exceeded; your quota  is
                         set by the system administrator.
         22    ENQPD%    The number of resources in  the  pool  disagrees
                         with the number in your request.
         23    ENQDR%    Duplicate  request;  identical  to   a   request
                         already in the queue.
         24    ENQNE%    Not enqueued on this lock.
         25    ENQLD%    Level in request does not match lock.
         26    ENQED%    Insufficient privileges for this  function;  you
                         must have JP.ENQ set.
         27    ENQME%    Mask too long or lengths do not match.
         30    ENQTE%    Lock-associated table is too long.
         31    ENQAB%    A resource that was requested has been marked as
                         aborted.
         32    ENQGF%    Attempt to ENQ. with EQ.FEL option  on  a  ghost
                         file.
         33    ENQDD%    Deadlock detected.
         34    ENQTL%    Time limit exceeded.








                                   22-137
   ENQ. [CALLI 151]


   EXAMPLE

             .
             .
             .
             MOVE      T2,[XWD 10,ADDR]    ;Initialize channel
             FILOP.    T2,
               JRST ERROR1       ;Error return
             JRST      ENQ       ;Skip return
   ADDR:     XWD CHAN,1          ;Channel and LOOKUP
             EXP MODE            ;Data mode
             SIXBIT/DSK/         ;Device
             0,,0      ;Buffer addresses
             0,,0
             0,,ADDR1  ;LOOKUP block
             0,,0
             0,,0
   ADDR1:    SIXBIT/FILE/        ;File name
             SIXBIT/EXT/         ;Extension
             XWD 0,0
             XWD 27,4072         ;PPN
   ENQ:      MOVE      T3,[XWD 0,ADDR3]    ;Function and address
             ENQ.      T3,
               JRST ERROR3       ;Error return
             JRST NORM ;Skip return
   ADDR3:    XWD 1,5   ;Number of locks, length of block
             XWD 0,1   ;Request identifier
             XWD 0,CHAN          ;Resource on chan
             POINT 7,[ASCIZ/NAME/]         ;Pointer to resource
             0,,0      ;Not a pooled resource
             .
             .
             .
   ERROR1:   OUTSTR ERROR2
             JRST DONE
   ERROR3:   OUTSTR ERROR4
             JRST DONE
   ERROR2:   ASCIZ/ERROR WITH FILOP./
   ERROR4:   ASCIZ/ERROR WITH ENQ./
             .
             .
             .
   DONE:     EXIT

   RELATED CALLS

         o  DEQ.

         o  ENQC.





                                   22-138
                                                        ENQC. [CALLI 153]


   22.41  ENQC.  [CALLI 153]


   Function

   Returns information about the current state of  ENQ/DEQ  requests  and
   sets  access  rights  for the ENQ/DEQ facility (privileged).  Refer to
   Volume 1 for more information about using the ENQ/DEQ calls.  For more
   information  about  the  contents  of the argument block, refer to the
   ENQ. call.

   Calling Sequence

   Each  function  of  the  ENQC.   call  requires  a  different  calling
   sequence.   The  calling sequence for each ENQC. function is described
   below, for the appropriate function.

   The ENQC. function codes and their meanings are:

        Code   Symbol    Function

          0    .ENQCS    Returns a 3-word status block for each specified
                         lock.   The  calling  sequence  for  the  .ENQCS
                         function is:

                                 MOVE    ac,[XWD .ENQCS,addr]
                                 MOVEI   ac+1,buffer
                                 ENQC.   ac,
                                   error return
                                 skip return
                                 . . .
                         addr:   EXP     parameters
                                 XWD     0,request-id
                                 EXP     time limit
                                 first word of first lock block
                                 . . .
                                 last word of last lock block
                         buffer: BLOCK   <locks>*3
                                 . . .

                         where:  addr is  the  address  of  the  argument
                                 list.

                                 buffer is the address of  a  buffer  (of
                                 length locks*3) for storing the returned
                                 three-word status blocks.

                                 parameters is a word of the form:

                                 <size>B5+<locks>B17+<length>B35




                                   22-139
   ENQC. [CALLI 153]


        Code   Symbol    Function

                         where:  size is the size of the header block  (1
                                 to 3).

                                 locks is the number of  lock  blocks  in
                                 the argument list.

                                 length is the length of each lock  block
                                 (size  plus  number  of  locks times the
                                 length of each lock block).

                                 The right half  of  addr+1  may  contain
                                 request-id,    an    optional    request
                                 identifier.

                                 time limit is an optional time limit for
                                 the request to be granted.

                         On  a  skip  return,  the  monitor   returns   a
                         three-word  status  block  for  each request, at
                         buffer.  The format of each block is:

                         Offset Symbol    Meaning

                            0   .ENQCF    Flags:

                                          Bits   Symbol    Meaning

                                             0   EQ.CFI    Invalid lock.
                                             1   EQ.CFO    This  user  is
                                                           owner.
                                             2   EQ.CFQ    This  user  is
                                                           in  queue  for
                                                           specified
                                                           resource.
                                             3   EQ.CFX    Owner's access
                                                           is exclusive.
                                           4-8             Reserved.
                                          9-17   EQ.CFL    Level number.
                                         18-26   EQ.CFC    The    owner's
                                                           context
                                                           number.
                                         27-35   EQ.CFJ    The    owner's
                                                           job  number or
                                                           an error code.

                            1   .ENQCT    A  time  stamp,  in   universal
                                          date-time   format,  indicating
                                          the  time  that  the  lock  was
                                          granted;  or 0, indicating that
                                          the resource is available.


                                   22-140
                                                        ENQC. [CALLI 153]


        Code   Symbol    Function

                         Offset Symbol    Meaning

                            2   .ENQCI    The left half (EQ.CIQ) contains
                                          the number of users sharing the
                                          resource.    The   right   half
                                          (EQ.CID)      contains      the
                                          request-id of the owner of  the
                                          lock.

          1    .ENQCG    Returns  user's  quota  in  ac.    The   calling
                         sequence for the .ENQCG function is:

                                 MOVE    ac,[XWD .ENQCG,addr]
                                 ENQC.   ac,
                                   error return
                                 skip return
                                 . . .
                         addr:   XWD     0,jobno

                         where:  jobno is the number of the job whose ENQ
                                 quota is required.  If jobno is -1, your
                                 own job is assumed.

          2    .ENQCC    Changes user's quota.  The calling sequence  for
                         the .ENQCC function is:

                                 MOVE    ac,[XWD .ENQCC,addr]
                                 ENQC.   ac,
                                   error return
                                 skip return
                                 . . .
                         addr:   XWD     quota,jobno

                         where:  quota is the new ENQ/DEQ quota.

                                 jobno is the number  of  the  job  whose
                                 quota is to be changed.  If jobno is -1,
                                 your own job is assumed.

                         This function sets the lock quota for a specific
                         job.   To  perform  this function, you must have
                         POKE privileges, be a [1,2] job, or  be  running
                         with  the  JACCT bit set.  The ENQ/DEQ quota for
                         the specified job will be set to the  value  you
                         specify in the left half of the argument word on
                         a normal return.  On a skip return,  the  ac  is
                         cleared.   If  you  attempt to use this function
                         without  the  required  privileges,  the   error
                         return is taken and the monitor returns an error
                         code in the ac.


                                   22-141
   ENQC. [CALLI 153]


        Code   Symbol    Function

          3    .ENQCD    Dumps the data base.  The calling  sequence  for
                         the .ENQCD function is:

                                 MOVE    ac,[XWD .ENQCD,addr]
                                 ENQC.   ac,
                                   error return
                                 skip return
                                 . . .
                         addr:   XWD     0,len

                         where:  addr is  the  address  of  a  buffer  to
                                 receive the returned data.

                                 len is the length of the data  block  to
                                 be returned, minus one word.

                         This function dumps the data base (all lock  and
                         queue  entries).  The entire data base is placed
                         in your area, beginning with  addr+1.   If  this
                         length  is  not  large enough to accommodate the
                         entire data base, the monitor returns as much as
                         possible  of the data base.  The end of the data
                         base is indicated by a word containing -1.   You
                         must   have   SPY  privileges  to  specify  this
                         function code.  The format of the returned  data
                         is described in Chapter 8.

   skip Return

   The requested function is performed.

   Error Return

   The error codes that can be returned in the ac on an error return  are
   identical  to  those  that  can  be  returned  from the ENQ.  and DEQ.
   calls.  The error codes are listed in  the  description  of  the  ENQ.
   call.

   RELATED CALLS

   DEQ., ENQ.











                                   22-142
                                                       ENTER [OPCODE 077]


   22.42  ENTER [OPCODE 077]


   Function

   Specifies an output file to create, supersede, or update a file.   Use
   FILOP. to perform an ENTER for an extended I/O channel.

   Calling Sequence

   The ENTER monitor call has two types of argument lists:  one  using  a
   four-word  argument list and one using an extended argument list.  The
   extended argument list offers many additional options for  ENTERing  a
   file.   For  complete  information  about the argument lists, refer to
   Section 11.13.

   The calling sequence for the ENTER UUO is:

        ENTER   channo,addr
          error return
        skip return

        where:  addr is the address  of  the  argument  list.   Refer  to
                Section  11.13  for  more  information about the argument
                list.

   skip Return

   When you use the short form of the argument block, the monitor returns
   a four-word argument block at addr.

   Refer to Section 11.13.1 for information about the argument block that
   is returned.

   When you use the extended  argument  list,  the  monitor  returns  the
   information that is listed on Section 11.13.2.

   Error Return

   On an error return from ENTER, the monitor returns an  error  code  in
   either of the following:

         o  For the short-form argument block, the error code  is  stored
            in the right half of addr+1 of the 4-word argument block

         o  For the extended-form  argument  block,  the  error  code  is
            returned in the right half of addr+3.







                                   22-143
   ENTER [OPCODE 077]


   It is possible to LOOKUP/RENAME a file after using an ENTER to specify
   the argument list, referring to the same argument list with subsequent
   calls.  Note, however, that on an error return  from  the  ENTER,  the
   error  code  overwrites the high-order three bits of the creation date
   and the entire access date.  Because most programs recover from  these
   errors  by  either  aborting  or by reinitializing the entire argument
   block, this overwriting of data normally does not cause any  problems.
   However, a program may attempt to recover from an error by fixing only
   the incorrect portion of the argument block and then  reexecuting  the
   monitor call.  These programs should always initialize the contents of
   these locations before reexecuting the ENTER monitor call.

   Error codes are restricted to  a  maximum  of  15  bits  to  eliminate
   problems  when recovering from an error in a file with a zero creation
   date.  The error codes are described in Section 11.14.

   Examples

   See Chapter 11.

   RELATED CALLS

   ENTER, FILOP., INIT, LOOKUP, OPEN, RENAME































                                   22-144
                                                       ENTVC. [CALLI 225]


   22.43  ENTVC.  [CALLI 225]


   Function

   Reads or sets an entry vector.  An entry vector  indicates  the  entry
   point  for a program.  (Refer to the TOPS-10 LINK Reference Manual and
   the TOPS-10 MACRO Assembler  Manual  for  more  information  on  entry
   vectors.)

   Calling Sequence

                XMOVEI  ac,addr
                ENTVC.  ac,
                  error return
                skip return

   addr:        flag,,function
                length
                exec-addr

   where:  addr is the address of the argument list.

                flag indicates whether the vector  is  read  (0)  or  set
                (EN.SET).

                FUNCTION is the function code described below.

                length is a value returned by the monitor on a read,  and
                supplied  by  you  on  a set.  A (JRST) in the right half
                indicates that you are supplying a start address only  in
                exec-addr  (if setting), or that the monitor is returning
                the start address in exec-addr (if reading).   Otherwise,
                you  supply  a  length  for the entry vector (0-37 words,
                octal), or the monitor returns the length  of  the  entry
                vector.

                exec-addr contains the 30-bit address of the entry vector
                or  the  start  address, returned on a read, or to be set
                for the set function.  exec-addr is a user address.

   The function code for ENTVC.  is:

        Code   Symbol    Meaning

          0    .ENVRS    Reads or sets the entry vector.  Set the  EN.SET
                         flag  in  the left half of the first word of the
                         argument block to perform a set.  0 in the  left
                         half indicates a read should be performed.





                                   22-145
   ENTVC. [CALLI 225]


   skip Return

   The specified function is performed.

   Error Return

   One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    EVIAL%    Illegal argument list.
          2    EVIFC%    Illegal function code.
          3    EVADR%    An address check was encountered.









































                                   22-146
                                                       ERLST. [CALLI 132]


   22.44  ERLST.  [CALLI 132]


   Function

   Returns data giving the status of each device on an MPX  channel  that
   has errors.

   Calling Sequence

                MOVEI   ac,addr
                ERLST.  ac,
                  error return
                skip return
                . . .
   addr:        XWD     length,channo
                BLOCK   length-1

   where:  addr is the address of the argument block.

                length is the length of the argument  block;  the  length
                should  be the number of devices connected to the channel
                plus two.

                channo is the number of an initialized channel.

   skip Return

   The monitor returns data at addr+1 for devices  on  the  channel  that
   have errors.  The data at addr is in the format:

   addr:        XWD length,channo
                EXP number of devices
                XWD udx,status
                . . .
                XWD udx,status

        where:  length and channo were given in the call.

                number of devices is the number of devices on the channel
                that have encountered errors.

                udx is the Universal Device  Index  of  a  device  having
                errors.

                status is a halfword containing I/O status bits  for  the
                device.  These bits are identical to those returned for a
                GETSTS monitor call.






                                   22-147
   ERLST. [CALLI 132]


   The monitor continues  to  return  device  error  information  in  the
   argument  block  until  all  space  allocated by your program has been
   filled.  Your program should check the value of addr+1.  If addr+1  is
   greater  than  the  length of the argument block minus two, the device
   error list is incomplete because of lack of space.

   For a list of I/O status bits, see the appropriate device in Volume 1.

   Error Return

   One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    ERLBC%    Illegal channel number.
          2    ERLNM%    Not an MPX-channel.

   RELATED CALLS

   CLRST., GETSTS, SENSE.


































                                   22-148
                                                       ERRPT. [CALLI 160]


   22.45  ERRPT.  [CALLI 160]


   Function

   ERRPT. is a privileged monitor call used only by the DAEMON program to
   ask the monitor for the next error condition to be logged in the error
   file.

   Calling Sequence

                MOVE   ac,[XWD len,addr]
                ERRPT. ac,
                  error return
                skip return
                . . .
   addr:        BLOCK 4

        where:  len is the length and addr is the address of the argument
                list that is filled in by the monitor on a skip return.

   skip Return

   If an error condition (such as a stopcode  or  a  hardware  error)  is
   found, the monitor places values in the locations at addr as follows:

        Offset Symbol    Contents

           0   .ERPT0    Address, job number, and error code:

                         Bits   Symbol    Meaning

                         0-17   ER.PAD    Address used by DAEMON.
                        18-26   ER.PJN    Job number.
                        27-35   ER.PCD    Error code for the error file.

           1   .ERPT1    Two monitor internal addresses:

                         Bits   Symbol    Meaning

                         0-17   ER.PDA    Address of DDB for device  with
                                          error condition.
                        18-35   ER.PUA    Address of UDB for device  with
                                          error.










                                   22-149
   ERRPT. [CALLI 160]


        Offset Symbol    Contents

           2   .ERPT2    CPU number.

                         Bits   Symbol    Meaning

                          0-14            Reserved for use by DIGITAL.
                         15-17  ER.CPU    CPU number on which  error  was
                                          detected.
                         18-35            Reserved for use by DIGITAL.

           3   .ERPT3    Reserved for use by Digital.


   Error Return

   One of the following conditions occurred:

         o  The ERRPT. call is not implemented.

         o  The calling sequence was improper.

         o  No appropriate error condition was found.  In this case,  the
            values of the words at addr are unchanged.






























                                   22-150
                                                       ETHNT. [CALLI 223]


   22.46  ETHNT. [CALLI 223]


   Function

   The ETHNT. monitor call accesses the Ethernet.  ETHNT. allows  you  to
   read  the Ethernet configuration, enable and disable protocols, enable
   and disable multicast addresses, and send and receive datagrams.   For
   an  overview  of  Ethernet,  as well as a full description of datagram
   buffers  (addressed  using .ETUBL)  and  function  buffers  (addressed
   using .ETBFL and .ETBFA), refer to Chapter 5, Volume 1.

   Calling Sequence

                XMOVEI  ac,addr
                ETHNT.  ac,
                  error return
                skip return

        where:  addr is the address of the ETHNT. argument block.

                The format of the argument block is:

        Offset  Symbol   Contents

           0    .ETFCN   Function code word for the argument block.  This
                         word  contains the length of the argument block,
                         and may also contain a flag.  Its format is:

                           Bits    Symbol     Meaning

                            0-8    ET.FFL     Function-specific flags.

                            Bit  Symbol    Meaning

                            1    ET.FZC    Zero counters after they  have
                                              been  read.   Use this flag
                                              with   functions    .ETRCC,
                                              .ETRPC, and .ETRKC.

                            9-17   ET.FFN     One of the  function  codes
                                              listed  at  the  end of the
                                              argument block description.

                            18-35  ET.FLN     Length  of   the   argument
                                              block.

       1        .ETPSW   Contains the  portal  status  and  the  assigned
                         portal ID.  ET.PST (Bits 0-8) may contain one or
                         more of the following flags:

                      Bit      Symbol   Meaning


                                   22-151
   ETHNT. [CALLI 223]


                           0   ET.PON   Portal is online.

                           1   ET.PXB   Transmit buffers available.

                           2   ET.PRB   Receive buffers available.

                         The rest  of  .ETPSW  contains  the  portal  ID,
                         .ETPID, assigned by the monitor.

           1    .ETCSW   Contains the  channel  status  and  channel  ID.
                         ET.CST  (Bits  0-8) contains the channel status.
                         If the ET.CON flag in ET.CST is on, the  channel
                         is  online.   ET.CID  (Bits  9-35)  contains the
                         channel ID.








































                                   22-152
                                                       ETHNT. [CALLI 223]


        Offset  Symbol   Contents

           1    .ETKSW   Contains the status  and  ID  of  a  controller.
                         ET.KST   (Bits   0-8)  contains  the  controller
                         status.  If the ET.KON flag in ET.KST is on, the
                         controller   is   online.   ET.KID  (Bits  9-35)
                         contains the controller ID.

           2    .ETAR1   Contains the first  function-specific  argument.
                         Function-specific  arguments  are  described  in
                         each of the function codes below.

           3    .ETAR2   Contains the second function-specific argument.

   Valid function codes for .ETFCN are:

        Code  Symbol     Meaning

          1   .ETOPN     Opens a user  portal.   This  function  requires
                         JP.POK  privileges.  This function specifies the
                         protocol  type  to  be  enabled,  and   protocol
                         specific flags.  The argument block is:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETOPN
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETCIW   Identifies the  Ethernet  channel
                                        on  which  the protocol should be
                                        enabled.

                          3    .ETPIW   Identifies the protocol  type  to
                                        be   enabled   on   the  Ethernet
                                        channel.  Set the ET.PAD flag  in
                                        the left half of .ETPIW to enable
                                        padding for the protocol.











                                   22-153
   ETHNT. [CALLI 223]


        Code  Symbol     Meaning

          2   .ETCLS     Closes a user portal and releases all  resources
                         associated   with   it.    The   argument  block
                         contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETCLS
                                        in  Bits  9-17, and the length of
                                        the argument  block,  2,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

          3   .ETQRB     Queues receive datagram buffers.   The  argument
                         block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETQRB
                                        in  Bits  9-17, and the length of
                                        the argument  block,  3,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETUBL   Contains the address of the  user
                                        buffer descriptor list.  Refer to
                                        Chapter  5,  Volume  1  for   the
                                        format   of   the   user   buffer
                                        descriptor list.

          4   .ETRRQ     Reads receive queue.  This function  fills  each
                         block  in  the  buffer descriptor list with data
                         appropriate  to  a   received   datagram.    The
                         argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRRQ
                                        in  Bits  9-17  and the length of
                                        the argument  block,  3,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.


                                   22-154
                                                       ETHNT. [CALLI 223]


        Code  Symbol     Meaning

                         Word  Symbol   Contents

                          2    .ETUBL   Contains the address of the  user
                                        buffer descriptor list.  Refer to
                                        Chapter  5,  Volume  1  for   the
                                        format   of   the   user   buffer
                                        descriptor  list.    The   status
                                        field  in  .UBSTS  of  the buffer
                                        descriptor contains zero  if  the
                                        datagram       was       received
                                        successfully.

          5   .ETQXB     Transmits datagram  buffer  to  the  destination
                         Ethernet   address   specified   in  the  buffer
                         descriptor block.  The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETQXB
                                        in  Bits  9-17, and the length of
                                        the argument  block,  3,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETUBL   Contains the address of the  user
                                        buffer descriptor list.  Refer to
                                        Chapter  5,  Volume  1  for   the
                                        format   of   the   user   buffer
                                        descriptor list.

          6   .ETRXQ     Returns   data   associated   with   transmitted
                         datagrams.  The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRXQ
                                        in  Bits  9-17, and the length of
                                        the argument  block,  3,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.






                                   22-155
   ETHNT. [CALLI 223]


        Code  Symbol     Meaning

                         Word  Symbol   Contents

                          2    .ETUBL   Contains the address of the  user
                                        buffer descriptor list.  Refer to
                                        Chapter  5,  Volume  1  for   the
                                        format   of   the   user   buffer
                                        descriptor list.  On a successful
                                        transmission, the returned status
                                        is zero.

          7   .ETEMA     Enables a portal to receive  datagrams  destined
                         for  an  Ethernet multicast address.  .ETEMA may
                         not be used  while  a  promiscuous  receiver  is
                         active.  The argument block for .ETEMA contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETEMA
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETMCA   Contains the  two  word  Ethernet
                                        multicast address.

         10   .ETDMA     Disables a portal from receiving datagrams bound
                         for  a multicast address.  The multicast address
                         you disable must have  been  previously  enabled
                         using  the  .ETEMA function.  The argument block
                         contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETDMA
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETMCA   Contains the  two  word  Ethernet
                                        multicast address.




                                   22-156
                                                       ETHNT. [CALLI 223]


        Code  Symbol     Meaning

         11   .ETRCL     Returns a  list  of  all  known  channels.   The
                         argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRCL
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETCSW   Reserved.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

         12   .ETRCI     Returns information about  a  specific  channel.
                         The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRCI
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETCSW   Contains the channel-id  in  Bits
                                        9-35.  Returns an updated channel
                                        status in Bits 0-8.  Flag  ET.CON
                                        indicates  whether the channel is
                                        on- or off-line.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.













                                   22-157
   ETHNT. [CALLI 223]


        Code  Symbol     Meaning

         13   .ETRCC     Returns a list of the counters associated with a
                         channel,  and (optionally) zeroes them.  Zeroing
                         the counters requires  JP.POK  privileges.   The
                         argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRCC
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right  half.  Set the ET.FZC flag
                                        of  .ETFCN  if   you   want   the
                                        counters zeroed after information
                                        is returned.

                          1    .ETCSW   Contains the channel-id  in  Bits
                                        9-35.  Returns an updated channel
                                        status in Bits 0-8.  Flag  ET.CON
                                        indicates  whether the channel is
                                        on- or off-line.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

         14   .ETSCA     Sets the  physical  address  associated  with  a
                         channel.  The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETSCA
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETCSW   Contains the channel-id  in  Bits
                                        9-35.  Returns an updated channel
                                        status in Bits 0-8.  Flag  ET.CON
                                        indicates  whether the channel is
                                        on- or off-line.

                          2    .ETEAD   Specifies the  physical  address.
                                        .ETEAD is two words long.  It may
                                        not be a multicast address.






                                   22-158
                                                       ETHNT. [CALLI 223]


        Code  Symbol     Meaning

         15   .ETRPL     Returns a list of all portals on a channel.  The
                         argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRPL
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETCSW   Contains the channel-id  in  Bits
                                        9-35.  Returns an updated channel
                                        status in Bits 0-8.  Flag  ET.CON
                                        indicates  whether the channel is
                                        on- or off-line.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

                         The list is returned in  the  specified  buffer,
                         with each portal ID occupying a full word, right
                         justified (.ETPSW format).

          16  .ETRPI     Returns all information (except counters)  about
                         a specific portal.  The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRPI
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

                         The information is  returned  in  the  specified
                         buffer.




                                   22-159
   ETHNT. [CALLI 223]


        Code  Symbol     Meaning

          17  .ETRPC     Returns a list of the counters associated with a
                         portal,  and  (optionally) zeroes them.  Zeroing
                         the counters requires  JP.POK  privileges.   The
                         argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRPC
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right  half.  Set the ET.FZC flag
                                        if you want the  counters  zeroed
                                        after    the    information    is
                                        returned.

                          1    .ETPSW   Contains the  portal-id  in  Bits
                                        9-35.   Returns an updated portal
                                        status in Bits 0-8.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

          20  .ETRKL     Returns a list of all controllers on a  channel.
                         The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRKL
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETCSW   Contains the channel-id  in  Bits
                                        9-35.  Returns an updated channel
                                        status in Bits 0-8.  Flag  ET.CON
                                        indicates  whether the channel is
                                        on- or off-line.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

                         The list is returned in  the  specified  buffer,
                         with each portal ID occupying a full word, right
                         justified (.ETKSW format).


                                   22-160
                                                       ETHNT. [CALLI 223]


        Code  Symbol     Meaning

          21  .ETRKI     Returns all information (except counters)  about
                         a   specific  controller.   The  argument  block
                         contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRKI
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right half.

                          1    .ETKSW   Contains  the  controller-id   in
                                        Bits  9-35.   Returns  an updated
                                        controller status  in  Bits  0-8.
                                        Flag ET.KON indicates whether the
                                        controller is on- or off-line.

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

                         The information is  returned  in  the  specified
                         buffer.

          22  .ETRKC     Returns a list of the counters associated with a
                         controller,   and   (optionally)   zeroes  them.
                         Zeroing the counters requires JP.POK privileges.
                         The argument block contains:

                         Word  Symbol   Contents

                          0    .ETFCN   Contains the function code .ETRKC
                                        in  Bits  9-17, and the length of
                                        the argument  block,  4,  in  the
                                        right  half.  Set the ET.FZC flag
                                        if you want the  counters  zeroed
                                        after    the    information    is
                                        returned.

                          1    .ETKSW   Contains  the  controller-id   in
                                        Bits  9-35.   Returns  an updated
                                        controller status  in  Bits  0-8.
                                        Flag ET.KON indicates whether the
                                        controller is on- or off-line.






                                   22-161
   ETHNT. [CALLI 223]


                         Word  Symbol   Contents

                          2    .ETBFL   Contains  the   length   of   the
                                        destination buffer.

                          3    .ETBFA   Contains  the  address   of   the
                                        destination buffer.

   skip Return

   The requested function is performed, and information  is  returned  as
   specified in the description of the function.

   Error Return

   One of the following codes is returned in the ac:

        Code    Symbol   Error

          1     ETPRV%   Program has insufficient privileges.
          2     ETADC%   Address check attempting to read argument block.
          3     ETIAL%   Illegal argument list length.
          4     ETILF%   Illegal function code specified.
          5     ETUEE%   Unexpected Ethernet error.
          6     ETRES%   Insufficient resources.
          7     ETIPI%   Invalid portal ID.
         10     ETICI%   Invalid channel ID.
         11     ETIPT%   Invalid protocol type.
         12     ETPIU%   Protocol type already in use.
         13     ETPRA%   Promiscuous receiver active.
         14     ETBAC%   Buffer address check.
         15     ETIBS%   Invalid buffer size.
         16     ETIBP%   Invalid byte pointer.
         17     ETIEA%   Invalid Ethernet address.
         20     ETPQE%   Portal quota exceeded.
         21     ETBQE%   Buffer quota exceeded.
         22     ETPWS%   Protocol in wrong state.
         23     ETIKI%   Invalid controller ID.
















                                   22-162
                                                          EXIT [CALLI 12]


   22.47  EXIT [CALLI 12]


   Function

   Stops job execution and optionally resets the job.

   Calling Sequence

                EXIT     fcn-code,
                continue return

        where:  fcn-code is one of the function codes described below.

                For  either  code,  when  you  EXIT  from  a  job  in  an
                auto-pushed  context,  you  are  returned to the superior
                context and the inferior one is deleted.

                continue return is the instruction to be executed if  the
                user issues a valid CONTINUE monitor command.

   The function codes and their meanings are:

        Code   Function

         0     Performs the following:

                o  Releases all I/O devices, closing files if necessary.

                o  Unlocks the job from core.

                o  Sets the user-mode  write-protect  bit  for  the  high
                   segment.

                o  Resets APR traps to zero.

                o  Clears PC flags.

                o  Performs a RESET and stops the job.

               If timesharing was stopped by a TRPSET monitor  call,  the
               monitor  resumes  timesharing.   A  RESET  monitor call is
               executed, and the word EXIT is typed on your terminal, and
               the terminal is left in monitor mode.  You cannot continue
               with the CONT or CCONT monitor command.









                                   22-163
   EXIT [CALLI 12]


        Code   Function

         1     Performs the following:

                o  Clears PC flags.

                o  Stops the job.

               EXIT is not printed on your terminal, and you can continue
               program  execution with the CONT or CCONT monitor command.
               If you use function code 1, you should first  RELEASE  all
               devices  and  channels;  a convenient way to do this is to
               use the RESET monitor call.  The symbol  for  EXIT  1,  is
               MONRT.

        2-17   Reserved for use by DIGITAL.

   RELATED CALLS

   LOGOUT, MONRT.


































                                   22-164
                                                       FILOP. [CALLI 155]


   22.48  FILOP.  [CALLI 155]


   FUNCTION

   Performs various file operations, including initializing channels  and
   creating,  deleting,  writing,  reading,  renaming,  appending to, and
   superseding files.

   CALLING SEQUENCE

             MOVE      ac,[XWD length,addr]
             FILOP.    ac,
               error return
             skip return
             . . .
   addr:     argument-list

   In the calling sequence, you supply the following information:

         o  length is the length of the argument list.

         o  addr is the address of the argument list.

         o  argument-list format depends on the function specified in the
            right half of the first word of the argument list.

   The FILOP.  functions are:

   Function
   Code      Symbol    Meaning

   1         .FORED    Opens a file.  Uses the  FILOP. extended  argument
                       list.

   2         .FOCRE    Creates a file.  Uses the FILOP. extended argument
                       list.

   3         .FOWRT    Write a file.  Uses the  FILOP. extended  argument
                       list.

   4         .FOSAU    Updates a file in exclusive access mode.  Uses the
                       FILOP. extended argument list.

   5         .FOMAU    Updates a file in multiple-access mode.  Uses  the
                       FILOP. extended argument list.

   6         .FOAPP    Appends data to a file.  Uses the  FILOP. extended
                       argument list.

   7         .FOCLS    Closes a file associated with a specified channel.
                       This function requires a special argument list.


                                   22-165
   FILOP. [CALLI 155]


   10        .FOURB    Checkpoints a  file.   This  function  requires  a
                       special argument list.

   11        .FOUSI    Performs a USETI function.  This function requires
                       a specifal argument list.

   12        .FOUSO    Performs  a  USETO   function.    This   functions
                       requires a special argument list.

   13        .FORNM    Renames a file.  Uses the FILOP. extended argument
                       list.

   14        .FODLT    Deletes a file.  Uses the FILOP. extended argument
                       list.

   15        .FOPRE    Allocates  disk  space  for  a  file.   Uses   the
                       FILOP. extended argument list.

   16        .FOSIO    Opens  a   device   for   super-I/O.    Uses   the
                       FILOP. extended argument list.

   17        .FOINP    Performs  an  INPUT   function.    This   function
                       requires a special argument list.

   20        .FOOUT    Performs  an  OUTPUT  function.    This   function
                       requires a special argument list.

   21        .FOSET    Performs  a  SETSTS   function.    This   function
                       requires a special argument list.

   22        .FOGET    Performs  a  GETSTS   function.    This   function
                       requires a special argument list.

   23        .FOREL    Performs  a  RELEAS   function.    This   function
                       requires a special argument list.

   24        .FOWAT    Waits for I/O to finish.  This function requires a
                       special argument list.

   26        .FORRC    Updates a file's RIB.  This  function  requires  a
                       special argument list.

   27        .FOGTF    Gets the block number  of  the  first  file  on  a
                       DECtape.    This   function   requires  a  special
                       argument list.

   30        .FOMTP    Performs a MTAPE function with extended  channels.
                       This function requires a special argument list.

   31        .FOUTP    Clears  a  DECtape.   This  function  requires   a
                       special argument list.

   32        .FORAW    Renames a file with allocation specified in words.

                                   22-166
                                                       FILOP. [CALLI 155]


                       This function requires a special argument list.

   33        .FOFIL    Obtains the file specification of any file.   This
                       function requires a special argument list.

   34        .FOFXI    Performs a IN function.  This function requires  a
                       special argument list.

   35        .FOFXO    Performs an OUT function.  This function  requires
                       a special argument list.

   The FILOP. extended argument list  is  described  below,  followed  by
   detailed descriptions of the each FILOP.  function.



   22.48.1  FILOP.  Extended Argument List

   The argument block for FILOP. Functions 1 through 6, and Functions  13
   through 15, looks like this:


   Table 22-2:  FILOP Argument Block



    0------8 9-----------------17 18-------------------------35
   +===========================================================+
   !  Flags !          FO.CHN    !        Function Code        ! (.FOFNC)
   !-----------------------------------------------------------!
   !                        I/O mode                           ! (.FOIOS)
   !-----------------------------------------------------------!
   !                   Device name or UDX                      ! (.FODEV)
   !-----------------------------------------------------------!
   !      Output buffer header   !    Input buffer header      ! (.FOBRH)
   !-----------------------------------------------------------!
   !    Number of output buffers !  Number of input buffers    ! (.FONBF)
   !-----------------------------------------------------------!
   !      Ptr to RENAME block    !    Ptr to LOOKUP block      ! (.FOLEB)
   !-----------------------------------------------------------!
   !      Length of PATH block   !     Ptr to PATH block       ! (.FOPAT)
   !-----------------------------------------------------------!
   !         Project number      !     Programmer number       ! (.FOPPN)
   !-----------------------------------------------------------!
   ! Length of filespec block    !   Ptr to filespec block     ! (.FOFSP)
   !-----------------------------------------------------------!
   ! Output buffer starting addr ! Input buffer starting addr  ! (.FOBSA)
   !-----------------------------------------------------------!
   !      Output buffer size     !     Input buffer size       ! (.FOBSZ)
   +===========================================================+

   The format of the argument list (for Functions 1-6 and 13-15) is:


                                   22-167
   FILOP. [CALLI 155]


   Word      Symbol    Contents

   0         .FOFNC    Flags, channel number, and function code:

                       Flag
                       Bits      Symbol    Meaning

                       0         FO.PRV    Indicates  that  the   program
                                           with   appropriate  privileges
                                           ([1,2] or JACCT) will  perform
                                           privileged   FILOP. functions.
                                           You must set this bit  to  use
                                           privileged FILOP. functions.

                       1         FO.ASC    Assigns  an  extended  channel
                                           number,  one  that  is greater
                                           than 17.  When  you  set  this
                                           bit   for   an  OPEN  function
                                           (function codes 1  through  6)
                                           the  monitor  assigns the next
                                           available channel number.   It
                                           then  performs  the  requested
                                           function.   On   return,   the
                                           monitor  returns  the assigned
                                           channel number  in  FO.CHN  in
                                           the   argument  block  or,  if
                                           FO.CFW is set, in the  address
                                           pointed to by the left half of
                                           the  word  at   the   location
                                           specified   in   FO.FNC.   The
                                           number will  be  equal  to  or
                                           greater   than   20   so  that
                                           existing    channel     number
                                           allocations    will   not   be
                                           affected.
|  
|                      2         FO.UOC    Specifies  the  file  that  is
|                                          open  on  the  channel that is
|                                          indicated in the right half of
|                                          this word (.FOFNC).  Normally,
|                                          a RENAME function is performed
|                                          on  the  file specified in the
|                                          right  half  of  .FOLEB,   and
|                                          after    it    is    completed
|                                          successfully, the I/O  channel
|                                          is automatically closed.
|  
|                                          When you set FO.UOC,  however,
|                                          the  right  half  of .FOLEB is
|                                          ignored, and the  function  is
|                                          performed  on the file that is
|                                          open on the specified channel.


                                   22-168
                                                       FILOP. [CALLI 155]


                       3         FO.CFW    Indicates that the right  half
                                           of this function word contains
                                           an address.  At that  address,
                                           you  must  store the following
                                           information:

                                           channel-addr,,function-code

                                           In  the  word  pointed-to   by
                                           FO.CFW,    you   specify   the
                                           address of the channel  number
                                           in  the  left  half,  and  the
                                           function  code  in  the  right
                                           half.   For  this  format, the
                                           field FO.CHN is ignored.

                       4-8                 Reserved for use by DIGITAL.

                       9-17      FO.CHN    Channel number.

                       18-35     FO.FNC    Function  code.   The   FILOP.
                                           functions     are    described
                                           following  the  argument  list
                                           definition.

   Word      Symbol    Contents

   1         .FOIOS    I/O  status  (open  mode).   Note  that  any  bits
                       appearing  here  may also be set by OPEN call (see
                       .OPMOD in OPEN call).

   2         .FODEV    SIXBIT device name or Universal Device Index.

   3         .FOBRH    Buffer ring header pointers:

                       Bits      Meaning

                       0-17      Address of output buffer ring header.
                       18-35     Address of input buffer ring header.

                       If the value of  this  word  is  0,  there  is  no
                       corresponding buffer ring header.

   4         .FONBF    Number of buffers needed.  The left  half  is  the
                       number  of  output buffers needed.  The right half
                       is the number of input buffers  needed.   If  zero
                       buffers  are  requested in a FILOP.  monitor call,
                       the monitor does not set up any buffers.  It  also
                       does not clear any buffer ring that is already set
                       up, and does not  clear  the  first  word  of  the
                       buffer  ring  header.   Thus, a FILOP.  causing an
                       OPEN allows an old buffer ring to be recycled.


                                   22-169
   FILOP. [CALLI 155]


                       This word allows a user program to set up its  own
                       buffer  ring.   If  you  specify 777777 octal, the
                       monitor sets up a ring of 2 buffers  for  non-disk
                       devices.  If no default has been set for this job,
                       the monitor uses the system default  for  non-disk
                       devices,  or a ring of n buffers for disk devices,
                       where n is specified by the  SET  DEFAULT  BUFFERS
                       monitor  command  or  SETUUO.   This  argument  to
                       FILOP.  performs the same action as the INBUF  and
                       OUTBUF  monitor  calls  and  is  needed  only  for
                       buffered I/O.

   5         .FOLEB    Pointers to RENAME and LOOKUP/ENTER blocks:

                       Bits      Meaning

                       0-17      Address  of  RENAME  block  (see  RENAME
                                 monitor call).
                       18-35     Address  of  LOOKUP/ENTER   block   (see
                                 LOOKUP/ENTER monitor call).

   6         .FOPAT    Length of, and pointer to PATH. block  (see  PATH.
                       monitor  call).  The actual path of the file found
                       or created is returned in this block.  A  specific
                       path  for  finding or creating the file must still
                       be specified  in  the  LOOKUP,  ENTER,  or  RENAME
                       argument block.

   7         .FOPPN    Project-programmer number.  Set the FO.PRV flag if
                       you  include this word and want it to take effect.
                       The monitor then performs the file operation as if
                       the  current  job  were  logged in under the given
                       PPN.  If FO.PRV is set in Word 0 (.FOFNC),  and  a
                       PPN   is  supplied  in  this  word,  your  program
                       acquires the file access rights  and  restrictions
                       of   that   PPN.   This  allows  you  to  do  file
                       operations in behalf of the  user  whose  PPN  you
                       include  here.  If you specify [1,2] in this word,
                       you lose full file access.  This word  is  ignored
                       if  the  job  is not logged in under [1,2] or does
                       not have JACCT privileges.

   10        .FOFSP    Length of and pointer to a block in which the full
                       file  specification  of  the  new  file  should be
                       stored.   If  you  include  this  word,  the  file
                       specification     is    returned    automatically.
                       Alternatively,  you  can   specify   function   33
                       (.FOFIL)  to  only  return the file specification.
                       Refer to .FOFIL for the  format  of  the  returned
                       block.

   11        .FOBSA    Buffer starting address.  The left  half  contains
                       the  starting  address  of the output buffer ring,

                                   22-170
                                                       FILOP. [CALLI 155]


                       (FO.OSA) the right half holds the starting address
                       of the input buffer ring, (FO.ISA).

   12        .FOBSZ    Size of the input and output  buffers.   The  left
                       half,  FO.OSZ,  contains  the  output buffer size.
                       FO.ISZ, the right half,  holds  the  size  of  the
                       input buffer.




   22.48.2  FILOP.  Functions

   The function codes and their meanings are described below.

   Code      Symbol    Function

   1         .FORED    Opens the file described by the LOOKUP/ENTER block
                       for  reading  (duplicates  LOOKUP call).  You must
                       include  the  LOOKUP/ENTER   block   pointer   for
                       directory   devices   when   you  are  using  this
                       function.

   2         .FOCRE    Creates the file  described  by  the  LOOKUP/ENTER
                       block.   This  function strictly requires creation
                       of the file; if a matching file is  found  in  the
                       directory,   the   error  return  is  taken.   The
                       LOOKUP/ENTER block pointer  is  required  for  the
                       .FOCRE function.

   3         .FOWRT    Writes the  file  described  by  the  LOOKUP/ENTER
                       block.  This function supersedes any matching file
                       in the directory, or  creates  a  new  file.   The
                       LOOKUP/ENTER  block  pointer  is  required for the
                       .FOWRT function.

   4         .FOSAU    Updates the file  described  by  the  LOOKUP/ENTER
                       block in exclusive access mode.  No other user can
                       write to  this  file  until  it  is  closed.   The
                       LOOKUP/ENTER  block  pointer  is  required for the
                       .FOSAU function.  If the specified file  does  not
                       exist,  it  will be created automatically for this
                       function.

   5         .FOMAU    Updates the file  described  by  the  LOOKUP/ENTER
                       block,  in  multi-access  mode.  This allows other
                       users  to  read   and   write   the   file.    The
                       LOOKUP/ENTER  block  pointer  is  required for the
                       .FOMAU function.





                                   22-171
   FILOP. [CALLI 155]


   Code      Symbol    Function

   6         .FOAPP    Appends to the file described in the  LOOKUP/ENTER
                       block.   Note  that  if  the buffers were built by
                       this FILOP. call, the last block of the file  will
                       be read into the first buffer.  The byte count and
                       byte pointer are set  to  write  data  immediately
                       after the last word of the file.  The LOOKUP/ENTER
                       block pointer is required for the .FOAPP function.
|  
|  7         .FOCLS    Closes  the  file  associated  with  the   channel
|                      specified  in  the  word  at  addr.  This function
|                      requires a special argument list:
|  
|                      addr:     EXP       channo
|                                EXP       CLOSE-flags
|  
|                      Include the CLOSE flags  from  the  CLOSE  UUO  in
|                      addr+1.
|  
|                      The monitor executes a GETSTS call for  the  file.
|                      The I/O status bits are returned in the ac.  For a
|                      list of I/O status bits, refer to the  appropriate
|                      device chapter in Volume 1.

   10        .FOURB    Checkpoints the file associated with  the  channel
                       specified  in the word at addr.  Only the function
                       word of the FILOP.  argument  block  is  required.
                       The  monitor  writes  all  output buffers to disk,
                       updates  directories,  updates  checksums  in  RIB
                       pointers,  and  updates  the  end-of-file pointer.
                       The file remains open for further I/O.

                       The .FOURB function is meaningful only  for  files
                       that are being written.

                                              NOTE

                           If output is  not  complete,  the  monitor
                           writes  the  last  partially  filled word;
                           this may leave null bytes in the word.













                                   22-172
                                                       FILOP. [CALLI 155]


   Code      Symbol    Function

   11        .FOUSI    Performs a  USETI  monitor  call  (specifies  next
                       block number to be input) for a specified block of
                       the file associated with the channel specified  at
                       addr,  setting  that  block  for  next input.  The
                       format  of  the  argument  list  for  the   .FOUSI
                       function is:

                       addr:     XWD       channo,.FOUSI
                                 EXP       blockno

                       In the argument list, channo and blockno give  the
                       channel  number  and  block  number  of  the file.
                       Refer to the USETI call for more information.

                       On a skip return, the I/O status bits are returned
                       in  the ac.  The monitor takes the error return if
                       the block number is larger than the specified file
                       or   no  previous  LOOKUP  was  executed.   .FOUSI
                       returns error code %ERILU if the argument block is
                       not exactly two words long.

   12        .FOUSO    Performs a USETO  monitor  call  for  a  specified
                       block  of  the  file  associated  with the channel
                       specified at addr, setting  that  block  for  next
                       output.   The  format of the argument list for the
                       .FOUSO function is:

                       addr:     XWD       channo,.FOUSO
                                 EXP       blockno

                       In the argument list, channo and blockno give  the
                       channel  number  and  block  number  of  the file.
                       Refer to the USETO call for more information.

                       The monitor takes the error return if  not  enough
                       space  is  available  or  no  previous  ENTER  was
                       executed.  The I/O status word is returned in  the
                       ac  for a successful return.  .FOUSO returns error
                       code %ERILU if the argument block is  not  exactly
                       two words long.

   13        .FORNM    Renames the file described by  the  RENAME  block.
                       The  LOOKUP/ENTER  block  pointer  and  the RENAME
                       block  pointer  are  required   for   the   .FORNM
                       function,  unless  the file is already open on the
                       specified channel.  However, if a file is open  on
                       the  channel  specified  in .FOFNC, and if you set
                       the flag FO.UOC in the same word, then  the  right
                       half  of  .FOLEB  is  ignored, and the function is
                       performed on the open file.


                                   22-173
   FILOP. [CALLI 155]


   Code      Symbol    Function

   14        .FODLT    Deletes the file described by  the  LOOKUP  block.
                       Pointers  to  both  LOOKUP  and  RENAME blocks are
                       required for this function,  unless  you  set  the
                       flag  FO.UOC,  and  a  file is open on the channel
                       specified in .FOFNC.  In this case, the right half
                       of .FOLEB is ignored and the function is performed
                       on the open file.

   15        .FOPRE    Preallocates space for the file described  by  the
                       LOOKUP/ENTER  block.  This function is most useful
                       for batch jobs.  If a preallocated file is entered
                       but  not  written, the space is still allocated; a
                       CLOSE for the file will not deallocate the space.

                       If the file is  entered  immediately  after  being
                       preallocated, it is not superseded; any subsequent
                       ENTER  to  the  file  will  supersede   it.    The
                       LOOKUP/ENTER  block  pointer  is  required for the
                       .FOPRE function.

   16        .FOSIO    Opens  a  device  for  super-I/O  (refer  to   the
                       SUSET. UUO).  The first four words of the argument
                       list  are  required  for  this   function.    This
                       function does not require .FOLEB.

   17        .FOINP    Performs INPUT monitor call.  Reads data from  the
                       file   opened   on  the  specified  channel.   The
                       argument list is:

                       addr:     XWD       channo,.FOINP
                                 addr1
                                 addr2

                       In the argument list, addr1 is the address of  the
                       next  buffer  to  be  used in non-dump I/O, or the
                       address of the dump mode  command  list  if  using
                       dump I/O.  This word is optional for non-dump I/O.

                       addr2 is the optional address of a word containing
                       the block number of the file to perform a USETI to
                       before writing.  The I/O status bits are  returned
                       in the ac.










                                   22-174
                                                       FILOP. [CALLI 155]


   Code      Symbol    Function

   20        .FOOUT    Performs OUTPUT monitor call.  Writes data to  the
                       file   opened   on  the  specified  channel.   The
                       argument list is:

                       addr:     XWD       channo,.FOOUT
                                 addr1
                                 addr2

                       In the argument list, addr1 is the address of  the
                       next  buffer  to  be  used in non-dump I/O, or the
                       address of the dump mode command list.

                       addr2 is the  optional  address  of  a  word  that
                       contains the block number of the file to perform a
                       USETO to before reading.  .FOIOS is  optional  for
                       buffered  I/O  modes.   The  I/O  status  bits are
                       returned in the ac.

   21        .FOSET    Performs SETSTS monitor call.  The format  of  the
                       argument list is:

                       addr:     XWD       channo,.FOSET
                                 EXP       setsts-bits

                       This function returns error  code  %ERILU  if  the
                       argument block is not exactly two words long.

   22        .FOGET    Performs GETSTS monitor call.  The I/O status bits
                       are  returned  in  the  ac.   The  format  of  the
                       argument list is:

                       addr:     XWD       channo,.FOGET

   23        .FOREL    Performs RELEAS monitor call.  The format  of  the
                       argument list is:

                       addr:     XWD       channo,.FOREL

   24        .FOWAT    Waits for  I/O  to  finish.   The  format  of  the
                       argument list is:

                       addr:     XWD       channo,.FOWAT

   25        .FOSEK    Obsolete.

   26        .FORRC    Rewrites the RIB of a  file  if  it  has  changed.
                       This  function  is  ignored and the skip return is
                       taken if the channel is not a disk or if  the  RIB
                       has  not  changed.   The  argument  list  for this
                       function is:


                                   22-175
   FILOP. [CALLI 155]


                       addr:  XWD          channo,.FORRC

   27        .FOGTF    Returns the block number of the first  file  on  a
                       DECtape.   If  the  device on the channel is not a
                       DECtape, the ac is not changed.   This  duplicates
                       the  UGETF  call,  but  allows you to use extended
                       channel  numbers.   The  argument  list  for  this
                       function is:

                       addr:     XWD       channo, .FOGTF

   30        .FOMTP    Performs  the  function  of  an  MTAPE. call,  but
                       allows  you  to use extended channel numbers.  The
                       MTAPE.  code is included in the  FILOP.   argument
                       list as shown:

                       addr:     XWD       channo,.FOMTP
                                 EXP       n

                       In the argument list shown here, the value of n is
                       equivalent  to the MTAPE. code for the function to
                       be employed.  For example, EXP 1 would perform the
                       MTREW. function.

                       This function returns error  code  %ERILU  if  the
                       argument block is not two or more words long.

   31        .FOUTP    Clears a DECtape directory.  Duplicates the UTPCLR
                       call.  The argument list for this function is:

                       addr:     XWD       channo, .FOUTP

                       This  function  returns  the   ac   unchanged   if
                       successful.

   32        .FORAW    Renames the file  with  the  specified  number  of
                       words  for  allocation.   Same function as .FORNM,
                       but allocation in words is specified in .RBSIZ  of
                       extended RENAME argument block.

   33        .FOFIL    Returns the file specification of the file that is
                       open   on   this  channel.   To  return  the  file
                       specification  as  well  as  to  perform   another
                       function, include Word 10 (.FOFSP) in the argument
                       block instead of using the .FOFIL  function.   The
                       argument list for this function is:

                       addr:     XWD       channo,.FOFIL
                                 XWD       len,addr2





                                   22-176
                                                       FILOP. [CALLI 155]


   Code      Symbol    Function

                       where the second word contains  the  length  (len)
                       and  address  (addr2)  of the block where the file
                       specification should be stored.

   34        .FOFXI    Performs  an  IN  monitor  call,  using   extended
                       addressing  and  dump mode I/O.  The argument list
                       is:

                       addr:     XWD       channo, .FOFXI
                                 addr1
                                 addr2

                       In the argument list, channo is the channel number
                       from which data is read from the opened file.

                       addr1 is the address of the  command  list,  which
                       has a two-word format:


                       1.  The first  word  of  each  command  word  pair
                           contains the length of the command list.

                       2.  The second word  of  each  command  word  pair
                           holds   the   address   where  I/O  should  be
                           performed.  If the length is zero, the address
                           in the second word is the location of the next
                           command list.  When both the  length  and  the
                           address are zero, the end of the list has been
                           encountered.

                       The  contents  of  addr2  are  optional,  and  may
                       specify the address of a word containing the block
                       number of the file to perform a  USETI  to  before
                       reading.   The I/O status bits are returned in the
                       ac.

   35        .FOFXO    Performs  an  OUT  monitor  call,  using  extended
                       addressing  and  dump-mode I/O.  The argument list
                       is:

                       addr:     XWD       channo, .FOFXO
                                 addr1
                                 addr2

                       In the argument list, channo is the channel number
                       on which data is written to the opened file.

                       addr1 is the address of the command list.  Command
                       list format is described above in .FOFXI.

                       addr2  is  the  (optional)  address  of   a   word

                                   22-177
   FILOP. [CALLI 155]


                       containing the block number of the file to perform
                       a USETO to before writing.  The  I/O  status  bits
                       are returned in the ac.




   22.48.3  Simultaneous File Access with FILOP. UUO

   Multiple channels of a single job and/or multiple jobs  can  update  a
   file  simultaneously using FILOP.  The monitor imposes no restrictions
   or interlocks when a file is being simultaneously updated.  Therefore,
   users  must  ensure that separate jobs do not update the same block of
   the same file at the  same  time.   The  ENQ/DEQ  Facility  (refer  to
   Chapter  8)  may  be  used  to  ensure that such interference does not
   occur, but the monitor does not require its  use  when  simultaneously
   updating a file.

   To  update  a   file   simultaneously,   your   program   performs   a
   FILOP. monitor  call  using  function  code 5 (.FOMAU).  A file can be
   updated in this manner when the file is idle, when it is  being  read,
   or  when  it  is  being  updated  by  other  jobs.   A  file cannot be
   simultaneously updated if the file is in  single-access  update  mode;
   that  is,  when  a  LOOKUP  and  an  ENTER  have  been  performed or a
   FILOP. has been performed with Function code 4 (.FOSAU) or Function  6
   (.FOAPP).

|  Note that even though an extended  LOOKUP/ENTER/RENAME  block  can  be
|  specified  by  the FILOP. monitor call, your program cannot change the
|  file attributes of a simultaneously updated file.  The  FILOP. monitor
|  call  uses  the  four-word  argument list for LOOKUP functions, but it
|  uses the extended argument list for ENTER functions.

   In order to prevent excessive monitor overhead, files that are  to  be
   simultaneously updated should be pre-allocated into contiguous blocks,
   if possible.  This will prevent the creation of inefficient  retrieval
   pointers,  and  will  lessen  the  chance  that  extended RIBs will be
   created.

   SKIP RETURN

   The requested function has been performed.

   The file specification is returned when you  use  function  .FOFIL  or
   when you specify an address in .FOFSP (Word 10 in the argument block).
   For .FOFSP, the following data block is returned at  the  address  you
   specify  in  the  right  half  of  the word.  For .FOFIL, this data is
   returned in the argument block at addr2.

   Word      Symbol    Contents

   0         .FOFND    Reserved for use by DIGITAL.
   1         .FOFDV    Device name.

                                   22-178
                                                       FILOP. [CALLI 155]


   2         .FOFFN    File name.
   3         .FOFEX    File extension.
   4         .FOFPP    PPN.
   5         .FOFSF    First SFD.
   6-10                Subsequent levels of SFDs.


                                    NOTE

           Words  5  through   10   are   returned   only   where
           appropriate.

           The returned block is ended by a zero word.  When  you
           reserve  the block for the file specification, be sure
           to include space for this zero word.

   ERROR RETURN

   Error codes are returned in the ac for  the  FILOP. call.   If  -1  is
   returned  in  the  ac,  an  invalid argument list was supplied.  Other
   error codes are identical to those used by  LOOKUP/ENTER.   These  are
   listed  in  Section  11.14, in Volume 1.  Several functions return the
   I/O status word, and mentioned in the function descriptions.

   RELATED CALLS


         o  CLOSE,

         o  ENTER

         o  GETSTS

         o  IN/INPUT

         o  LOOKUP

         o  MTAPE

         o  OPEN

         o  OUT/OUTPUT

         o  PATH.

         o  RELEAS

         o  RENAME

         o  SETSTS

         o  SUSET.


                                   22-179
   FILOP. [CALLI 155]


         o  UGETF

         o  USETI/USETO

         o  UTPCLR

         o  WAIT















































                                   22-180
                                                       FRCUUO [CALLI 106]


   22.49  FRCUUO [CALLI 106]


   Function

   Forces a monitor command for a job or a terminal.  This  monitor  call
   requires JP.POK, JACCT, or [1,2] privileges.

   Calling Sequence

                MOVE    ac,[XWD len,addr]
                FRCUUO  ac,
                  error return
                skip return
                . . .
   addr:       SIXBIT /command/
             / XWD 0,jobno \   ;optional arguments
            \ XWD 0,udx   /

        where:  len is the length of the argument list.  If  you  give  a
                zero len, the default is 1.

                addr is the address of the argument list.

                command is the name of a command (from the list below).

                jobno is the number of a logged-in job.  If you omit  the
                jobno, or specify it as zero, the current job is assumed.

                udx is the Universal Device Index for the terminal.

   The names of the commands that can be forced are:

    Command             Meaning

    .BPT                Forces  a   DDT   breakpoint   trap,   simulating
                        <CTRL/D>.

    .BYE                Detaches the job, this command is forced  when  a
                        dataset disconnects.

    .FCONT              Continues the job; this command is forced when  a
                        job  is continued after it was halted by "Waiting
                        for operator action." (Refer to JCONTINUE monitor
                        command in the Commands Manual.)

    .HALT               Stops the job; this command is  forced  when  you
                        type CTRL/C.






                                   22-181
   FRCUUO [CALLI 106]


    Command             Meaning

    .HELLO              Connects (greets) the job; this command is forced
                        when  a  dataset  or  network connect occurs, and
                        runs INITIA.

    .NETLD              Invokes  execution  of  the  program  which  does
                        automatic  down-line  loading  for  ANF-10 series
                        remote software.

    .RESTA              Greets the job but does not run INITIA.

    .TYPE               Types  the  current   input   buffer;   this   is
                        equivalent to typing CTRL/R.

    HALT                Stops the job (regardless of CTRL/C trapping).

    INITIA              This  command  is  forced  when  the  system   is
                        initialized and is used to run INITIA for certain
                        terminals.

    KJOB                Kills the job; this command is used  to  force  a
                        job to terminate.

    USESTA              Types status information; this is  equivalent  to
                        typing either CTRL/T or the USESTAT command.

   skip Return

   The command is executed; the ac is unchanged.

   Error Return

   The ac is cleared.

   Examples

        MOVE    T1,[XWD 2,ADDR]
        FRCUUO  T1,
          JRST  FRCERR
        JRST    CONTIN
   ADDR:        SIXBIT  /.TYPE/
        XWD     0,0

   This code sequence displays the contents of the terminal input  buffer
   for the current job, as though the user had typed <CTRL/R>.








                                   22-182
                                                       GETLCH [TTCALL 6,]


   22.50  GETLCH [TTCALL 6,]


   Function

   Returns the line characteristics for a terminal line.

   Calling Sequence

        GETLCH  addr
        return
        . . .
   addr:        XWD 0,lineno

        where:  addr is the address of the argument list.

                lineno  is  the  line  number  for  the  terminal   whose
                characteristics  are  required.   If you use -1 for addr,
                the  monitor  returns  characteristics  for  your   job's
                controlling terminal.

   skip Return

   If the job is detached and addr contained -1, the monitor returns a  0
   word.  On a skip return, the monitor returns the terminal's UDX in the
   right half of addr (.UXTRM + lineno).

   The following line characteristics are returned in the  left  half  of
   the word at addr:

   Bit       Symbol    Characteristic

    0        GL.ITY    Pseudo-terminal (PTY).
    1        GL.CTY    Operator's terminal (CTY).
    2        GL.DSP    Display console (DIS).
    3        GL.DSL    Dataset line.
    4        GL.CNE    No characters are echoed.
    5        GL.HDP    Half-duplex line.
    6        GL.REM    Remote terminal.
    7        GL.RBS    Remote batch terminal.
   8-9                 Reserved for use by DIGITAL.
    10       GL.8BM    Terminal is open in 8-bit I/O mode.
    11       GL.LIN    User has typed some input.
    12       GL.SLV    TTY SLAVE is in effect.
    13       GL.LCM    Terminal in lowercase mode.
    14       GL.TAB    Terminal has tab capability.
    15       GL.LCP    Local copy only (no echo).
    16       GL.PTM    Papertape mode  is  on  (CTRL/Q,  CTRL/S,  and  so
                       forth,   control   papertape   motion  instead  of
                       terminal output).
    17       GL.NEC    Terminal is in no-echo mode.  This  characteristic
                       is  set  by setting IO.SUP in the OPEN call, or by


                                   22-183
   GETLCH [TTCALL 6,]


                       SETSTS, or by TRMOP function .TOCOB.  This setting
                       is  overridden when the job goes to monitor level,
                       and echoing resumes.  You can clear this bit using
                       a RESET call.

   If you use an invalid line number, the monitor returns 0 in  the  left
   half of the word at addr.

   RELATED CALLS

         o  GETLIN

         o  SETLCH

         o  SETSTS

         o  TRMOP.

         o  TTCALL

   COMMON PROGRAMMING ERRORS

   Typing a comma after addr.































                                   22-184
                                                        GETLIN [CALLI 34]


   22.51  GETLIN [CALLI 34]


   Function

   Returns the SIXBIT monitor-assigned name of the terminal  attached  to
   your job.

   Calling Sequence

             GETLIN    ac,
             return

   RETURN

   The SIXBIT name of the terminal is in the ac, left-justified,  in  the
   form  TTYnnn, where nnn is the dynamic terminal number associated with
   your job's terminal.

   If your job is not attached to any terminal, the ac contains:

   XWD       0,'nnn'

   In this format, nnn is the right half of the name of the  terminal  to
   which your job was last attached (that is, nnn in TTYnnn).

   Examples

             GETLIN    T1,       ;Get terminal name
             TLNN      T1,-1     ;Job detached?
             JRST      NOTTY     ;Yes
               . . .             ;No

   This sequence gets the name of the terminal for  the  job  and  checks
   whether the job is currently detached.



















                                   22-185
   GETPPN [CALLI 24]


   22.52  GETPPN [CALLI 24]


   Function

   Returns the project-programmer number (PPN) for your job.

   Calling Sequence

             GETPPN    ac,
             skip return
               alternate return

        Where:         alternate return is taken if your program has  the
                JACCT bit set and another job is logged in under the same
                PPN.

   The GETPPN monitor call returns the project number in the left half of
   the ac, and the programmer number in the right half of the ac.

   Examples

             GETPPN    T1,
             JFCL
             MOVEM     T1,MYPPN

   This code gets the PPN regardless of whether the program is JACCTed.

   RELATED CALLS

   OTHUSR

   Common Programming Errors

   Forgetting the sequence of skip return followed by alternate return.



















                                   22-186
                                                        GETSEG [CALLI 40]


   22.53  GETSEG [CALLI 40]


   Function

   Replaces the current program high segment with a given  high  segment.
   Refer  to  Chapter 2 for specific information about the implementation
   of this call and the state of memory during the GETSEG operation.

   Calling Sequence

                MOVEI ac,addr
                GETSEG ac,
                  error return
                skip return
                . . .
   addr:       SIXBIT/device/
               SIXBIT/filename/
               SIXBIT/extension/
               EXP 0
               XWD proj,prog       ;or PATH. pointer
             / XWD 0,addr2  \       ;core argument
            \ XWD -1,addr3 /

        where:  addr is the address of the 6-word argument block.

                addr2 is the address of a PATH block.

                device is the name  of  the  device  on  which  the  high
                segment resides.

                filename specifies the name of the  file  containing  the
                new high segment.

                extension specifies the extension of the file  containing
                the new high segment.

                proj,prog  is  the  project-programmer  number  for   the
                directory in which the high segment file resides.  If you
                specify this word to be zero, your default directory path
                is  assumed.   If you specify this word as [XWD 0,addr3],
                addr3 points to a PATH.  block containing the  full  path
                specification  for the file.  Refer to the description of
                the PATH.  monitor call for the format of a PATH. block.

                The core argument word is optional.  If it is  zero,  the
                high  segment  is  placed  into  the  current PC section.
                Otherwise, addr3 is the address  containing  the  section
                number where the high segment will be placed.





                                   22-187
   GETSEG [CALLI 40]


   The GETSEG monitor call allows  your  program  to  initialize  a  high
   segment  from  a  file  or  from  a  currently-loaded sharable segment
   without affecting your program's low segment.  This  facility  can  be
   used  for  shared  data segments, shared program overlays, and runtime
   routines (such as FORTRAN and COBOL object-time systems).

   On KL processors, if the high segment obtained by the  GETSEG  monitor
   call  is an execute-only segment, it is a concealed high segment.  You
   can give zeros for any argument except the file name or  device.   The
   defaults are:

                extension   .EXE
                PPN         default directory path

   skip Return

   The monitor replaces the current high  segment  with  the  given  high
   segment.

                                   NOTES

           If the given file contains  both  a  high  and  a  low
           segment, the monitor brings in only the high segment.

           The contents of the  accumulators  are  not  preserved
           (this  aspect  varies  from monitor version to monitor
           version).

           The left half of .JBHRL is cleared.

           The right half of .JBHRL is set  to  the  new  highest
           legal user address in the high segment.

           .JBSA and .JBREN are cleared if they contain addresses
           in  the  new high segment.  This removes the program's
           start address, so that an error will occur on a  START
           or REENTER command.

           Channel 0 is  released  by  the  GETSEG  call.   Other
           channels are not released.  Refer to the RELEAS UUO.

   A GETSEG call made from the current program's high segment can succeed
   only  if  the  start  of  the new high segment coincides with the skip
   return for the call.  Program execution returns to the user program at
   the  PC  corresponding  to  the skip return from the GETSEG UUO in the
   previous segment.  It is the user's responsibility to ensure that this
   PC contains instructions he wishes to be executed.







                                   22-188
                                                        GETSEG [CALLI 40]


   Error Return

   See Section 11.14 for a list of GETSEG errors.

|  If the segment already exists in the user's address space, error  code
|  70 is returned in the accumulator.

   RELATED CALLS

         o  MERGE.

         o  RELEAS

         o  RUN

         o  SEGOP.

   COMMON PROGRAMMING ERRORS

         o  Forgetting to save the acs over the GETSEG.

         o  Forgetting that channel 0 is destroyed.

         o  Forgetting that a GETSEG from a high segment returns  control
            to the PC in the new high segment.





























                                   22-189
   GETSTS [OPCODE 062]


   22.54  GETSTS [OPCODE 062]


   Function

   Returns the I/O status bits  for  a  device.   Use  FILOP. to  perform
   GETSTS  on  an extended I/O channel.  The specific I/O status bits for
   each device are listed in Volume 1 in  the  chapter  specific  to  the
   device.

   Calling Sequence

                GETSTS channo,addr
                return
                ...
   addr:        BLOCK  1

        where:  channo is the channel number of the channel for which the
                I/O status word is desired.

                addr is the address of the word to receive the I/O status
                word.

   Return

   The monitor returns the I/O status bits in the right half of the  word
   at  addr,  and  the  data mode for I/O in the left half of the word at
   addr.  The I/O status bits that are possible are:

    Bits        Symbol  Meaning

    18-21       IO.ERR  Bit mask for device-independent I/O error flags.

    18          IO.IMP  Software detected improper data mode, or checksum
                        error occurred.

    19          IO.DER  Device error.  Refer to specific device for cause
                        of this error.

    20          IO.DTE  Data error.

    21          IO.BKT  Block  too  large,  quota   exceeded,   or   file
                        structure is full.

    22          IO.EOF  End of file was reached.

    23          IO.ACT  Device is active.

    24-29               Device-dependant error flags.  These  are  listed
                        for  each  device  in  the appropriate chapter in
                        Volume 1.



                                   22-190
                                                      GETSTS [OPCODE 062]


    Bits        Symbol  Meaning

    30          IO.SYN  Synchronous mode I/O.

    31          IO.UWC  Use user's word count.

    32-35               Data mode of the I/O, indicated  by  one  of  the
                        codes that are listed in Table 11-2 in Volume 1.

   RELATED CALLS

   CLRST., ERLST., FILOP., SENSE., SETSTS, STATO, STATZ

   Common Programming Errors

         o  Forgetting that there is only one return from the call.

         o  If you give a nonexistent or  uninitialized  channel  number,
            the  monitor  stops your job and prints the following message
            on your terminal:

                 ?I/O to unassigned channel at user PC address

            where address gives the program counter for your job  at  the
            time of the failure.

         o  Forgetting to clear the error status bits before retrying the
            GETSTS  function.   An INPUT function followed by GETSTS will
            not clear previously set bits.   You  should  use  SETSTS  to
            clear  the  I/O  error bits before attempting to read the new
            I/O error status.























                                   22-191
   GETTAB [CALLI 41]


   22.55  GETTAB [CALLI 41]


   Function

   Returns a word from one of the monitor's GETTAB tables, allowing  your
   program  to read many types of job and system information.  The GETTAB
   tables are listed in Chapter 23.

   Calling Sequence

                MOVE    ac,[XWD index,table]
                GETTAB  ac,
                  error return
                skip return

        where:  index is an index into the specified table.  If the table
                is  indexed  by  job  number,  you  can  use -1 to obtain
                information about your own job.

                If the table is indexed by job number or segment  number,
                you  can use -2 to return information about your own high
                segment.

                table gives the number of the GETTAB table.

   skip Return

   The requested word from the table is returned in the ac.

   Error Return

   The index or the table number was invalid.

   Examples

   See Chapter 23 for examples.

















                                   22-192
                                                        GOBSTR [CALLI 66]


   22.56  GOBSTR [CALLI 66]


   Function

   Returns file structure names from the search list for a job or for the
   system.

   To use the GOBSTR call for a job other than your own,  you  must  have
   either the JP.SPA privilege or the JP.SPM privilege set in your .GTPRV
   word, or you must have JACCT privileges, or the  job  must  be  logged
   into [1,2].

   For a discussion of file structures in a search list, see  the  SETSRC
   program in the TOPS-10 User Utilities Manual.

   Calling Sequence

                MOVE    ac,[XWD len,addr]
                GOBSTR  ac,
                  error return
                skip return
                . . .
   addr:       EXP      jobno         ;.DFGJN
               XWD      projno,progno ;.DFGPP
             / EXP    -1         \   ;.DFGNM for first in list
            |  EXP     0          |  ;.DFGNM for first after FENCE
            \ SIXBIT/structure/ /   ;.DFGNM for next in list
                EXP     0             ;.DFGDR
                BLOCK   1

        where:  len is the length of the argument list.

                addr is the address of the argument list.

                addr+2  contains  the  structure  name,  or  0,  or   -1.
                Therefore  you  can begin with the first name in the list
                by using -1 at addr+2; then when the monitor returns  the
                first  name in the list, you can leave the name in addr+2
                to call for the second name, and so forth.  If  the  next
                item  in  the  list  is FENCE, the monitor returns 0.  If
                there are no more items in the list, the monitor  returns
                -1.











                                   22-193
   GOBSTR [CALLI 66]


                jobno is the number of a logged-in job (use  -1  for  the
                current job; use 0 for the system search list).

                projno,progno is a project-programmer number (PPN).

                structure is the SIXBIT name of a file structure.

        I/O status bits are returned at addr+4 as follows:

   Bits Symbol Meaning

   0    DF.SWL If on, software write-protect is set.

   1    DF.SNC If on, creation of files is not allowed on this structure,
                       unless  the  structure name is explicitly included
                       in the file specification.  Refer  to  Chapter  12
                       for more information.

   skip Return

   The monitor returns the required SIXBIT structure name (or 0 or -1) at
   addr+2, and the I/O status word at addr+4.

   Error Return

   The monitor returns one of the following error codes in the ac:

             Code    Symbol      Meaning

               3     DFGIF%      File structure name is not 0, -1,  or  a
                                 file structure name in SIXBIT.
               6     DFGPP%      The    specified    job    number    and
                                 project-programmer    number    do   not
                                 correspond.
              10     DFGNP%      Your job is not privileged.
              12     DFGLN%      The specified  length  of  the  argument
                                 block is invalid.

















                                   22-194
                                                        GOBSTR [CALLI 66]


   Examples

   The following code reads all the structures in the job search list.

                MOVEI  T1,0                  ;Initialize counter
   LOOP:        MOVE   T2,[.DFGST+1,,ADDR]
                GOBSTR T2,                   ;Get next structure
                  JRST ERROR
                MOVE   T2,ADDR+.DFGNM        ;Get structure name
                MOVEM  T2,STRTAB(T1)         ;Save in table
                AOJE   T2,CONTIN             ;Last one if -1
                AOJA   T1,LOOP               ;Bump table pointer and loop
   ADDR:        EXP    JOBNO                 ;Job number
                XWD    PROJ,PROG             ;PPN
                EXP    -1                    ;Get first one in list
                EXP    0
                EXP    0
   STRTAB:      BLOCK  30                    ;Space to store search list

   RELATED CALLS

   DSKCHR, JOBSTR, STRUUO, SYSSTR
































                                   22-195
   GTNTN. [CALLI 165]


   22.57  GTNTN.  [CALLI 165]


   Function

   Returns the node number and line number for a terminal.  This call  is
   applicable to network systems only.

   Calling Sequence

         / MOVE ac,[SIXBIT/terminal-name/]  \
        |  MOVEI         ac,channo    |
         \ MOVEI         ac,udx      /
                GTNTN.   ac,
                  error return
                skip return

        where:  terminal-name  is  the  monitor-assigned  name   of   the
                terminal, returned when you use the GETLIN monitor call.

                udx is the Universal Device Index for the terminal.

                channo is the channel number of the channel to which  the
                terminal is connected.

   skip Return

   The monitor returns the node number and the line number in the  ac  in
   the form:

        node-number,,line-number

   The node-number is the number of  the  node  at  which  the  specified
   terminal  is  located.   The  line-number  on  non-network  systems is
   equivalent to the terminal number.  On a network  system,  line-number
   is  the  physical line number of the terminal on the node to which the
   terminal is connected.

   Networked terminals are assigned logical line numbers from a  pool  of
   network  terminal numbers when they connect to a host.  Therefore, the
   logical line number will change as the particular node  to  which  the
   terminal  is  attached comes on-line, and as the terminal connects to,
   and disconnects from a host.

   Error Return

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   0         NTNSD%    Nonexistent device.
   1         NTNAT%    Device is not a terminal.


                                   22-196
                                                       GTNTN. [CALLI 165]


   2         NTTNC%    Terminal is not connected.

   RELATED CALLS

   GTXTN., NETOP.

















































                                   22-197
   GTXTN. [CALLI 166]


   22.58  GTXTN.  [CALLI 166]


   Function

   Returns the physical name of the terminal for a given  node  and  line
   number.  This call applies to network systems only.

   Calling Sequence

             MOVE      ac,[XWD nodeno,lineno]
             GTXTN.    ac,
               error return
             skip return

        Where:  nodeno is the node number for a terminal.

                lineno is the physical line number for  the  terminal  at
                the node.

   skip Return

   The physical name of the terminal is returned in ac in the form:

                SIXBIT/name/

        Where:  name is the  physical  name  of  the  terminal  (such  as
                TTY427).

   Error Return

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   0         XTUNT%    Unknown terminal (node number or the  line  number
                       specified  is  not  known  or  node or line is not
                       connected to the DECsystem-10).
   1         XTNLT%    Not a legal terminal.

   RELATED CALLS

   GTNTN., NODE.











                                   22-198
                                                         HIBER [CALLI 72]


   22.59  HIBER [CALLI 72]


   Function

   Suspends execution of the job until a specified event occurs.

   Calling Sequence

             MOVE      ac,[flags+sleeptime]
             HIBER     ac,
               error return
             skip return

        Where:  flags specify conditions described below.

                sleeptime gives the amount of time for the job to  sleep.
                If  HB.SEC is set in flags, the sleeptime is specified in
                seconds; otherwise, it is specified in milliseconds.

   The sleeptime is rounded upward to  the  next  larger  jiffy,  with  a
   maximum  of  262 seconds.  If you set HB.SEC, the maximum sleeptime is
   about 72 minutes (at 60 Hz) or 87 minutes (at 50 Hz).  If you  need  a
   longer  sleeptime,  use  the PITMR. UUO, or the .CLOCK function of the
   DAEMON UUO.  If you give the sleeptime as  0,  the  job  sleeps  until
   awakened by one of the specified events, or by a WAKE monitor call.

   If your job is hibernating, it can be woken by another job if that job
   has sufficient privileges.  Refer to the WAKE UUO.

   To prevent your job  from  oversleeping  and  missing  an  event,  the
   monitor sets the wakeup bit even if the job is already awake.  You can
   use another HIBER call to clear the bit.  You cannot assume  that  any
   of  the specified events actually occurred to WAKE your job; therefore
   you should test for all the events that may have caused  your  job  to
   awaken,  and  explicitly  execute another HIBER call if you were WAKEd
   unexpectedly.

   You can also clear the wake-enable bit for your job by using the RESET
   monitor call.  Note that until the first HIBER call is executed, there
   is  no  protection  against  wakeup  commands  from  other  jobs.   To
   guarantee  your  job's  protection,  you should execute a WAKE monitor
   call for your job, followed by a HIBER call giving the protection  you
   want.   The  HIBER  will return immediately, having set the protection
   codes as desired.









                                   22-199
   HIBER [CALLI 72]


   The bits and their meanings are:

   Bits      Symbol    Meaning

   0         HB.SWP    Clear the in-core protect  time,  making  the  job
                       available for swapping out.

   1         HB.SEC    The sleeptime is specified in seconds.

   9         HB.DIN    When set in conjunction with HB.RTL and/or HB.RTC,
                       enables  the  JB.UHI  bit  in JOBSTS, which allows
                       terminal input from programs such  as  BATCON  and
                       OPR.    The  job  is  awakened  on  input  to  the
                       terminal.

   10        HB.IPC    Wake the job when an IPCF packet is placed in  its
                       input queue.

   11        HB.RIO    Wake the job when asynchronous I/O is completed.

   12        HB.RPT    Wake the job for PTY activity.

   13        HB.RTL    Wake the job when a  line  of  terminal  input  is
                       typed  on any terminal assigned to your job, or if
                       there is a rescanable line available on the  job's
                       controlling terminal.

   14        HB.RTC    Wake the job when a character of terminal input is
                       ready.

   15        HB.RWJ    Wake the job only on a WAKE monitor call from  the
                       job  itself.  Setting this bit prevents other jobs
                       from waking your job,  unless  the  other  job  is
                       privileged.

   16        HB.RWP    Wake the job only on a WAKE monitor  call  from  a
                       job having the same programmer number.

   17        HB.RWT    Wake the job only on a WAKE monitor  call  from  a
                       job having the same project number.

   skip Return

   When an enabled HIBER  condition  occurs,  execution  resumes  at  the
   normal return.









                                   22-200
                                                         HIBER [CALLI 72]


   Error Return

   The HIBER call takes the error return only if it is not implemented on
   your system.

   Examples

        MOVSI   T1,(HB.RWP+HB.RWT)
        HIBER   T1,
          JRST  ERROR

   This code sequence causes the job to sleep until awakened  by  a  WAKE
   monitor  call  from  another  job  having  the same project-programmer
   number.  See also RTTRP call.

   RELATED CALLS

   SLEEP, WAKE

   Common Programming Errors

         o  Forgetting to protect against WAKEs from other jobs.

         o  Assuming a particular event woke your job,  without  actually
            checking.





























                                   22-201
   HPQ [CALLI 71]


   22.60  HPQ [CALLI 71]


   Function

   Places your job in, or removes your job from a high-priority scheduler
   queue.

   You cannot use HPQ  unless  your  system  administrator  has  set  the
   privilege  value JP.HPQ to a nonzero value.  This value is the highest
   priority queue you  can  request.   This  monitor  call  is  primarily
   intended  for real-time programs where fast response time is critical.
   Refer to Chapter 9 of the Monitor Calls Manual,  Volume  1,  for  more
   information.

   Calling Sequence

        MOVEI   ac,queue
        HPQ     ac,
          error return
        skip return

        Where:  queue is the number of the required high priority  queue.
                The  lowest  queue  number  is 1; the highest is a system
                parameter.  If you give queue as 0, your job  returns  to
                the normal scheduler queue.

   skip Return

   The monitor places your job in the given queue.

   Error Return

   The ac contains -1; you gave an illegal value for queue or you are not
   a privileged user.

   RELATED CALLS

   RTTRP, TRPSET, UJEN















                                   22-202
                                                          IN [OPCODE 056]


   22.61  IN [OPCODE 056]


   Function

   Reads data from an initialized channel  into  memory.   Use  FILOP. to
   perform an IN for an extended I/O channel.

   Calling Sequence

                IN channo,addr
                skip return
                  error return

        where:  channo is the number of an initialized I/O channel.

                addr is one of the following:

                 o  If the channel was initialized for  dump  mode,  then
                    addr gives the address of an I/O command list.

                 o  If the channel was  initialized  for  buffered  mode,
                    then addr gives the address of the second word of the
                    next buffer to be used; if you  give  0  (the  normal
                    case), the next buffer in the ring is used.

                Note that the return locations for this call are  in  the
                reverse  order  from  the  convention  for  other  calls,
                because the skip return follows the  calling  instruction
                and the error return follows the skip return.

   skip Return

   Data is input from the channel.

   Error Return

   The monitor found an end-of-file mark or errors in the data (reflected
   in  the  I/O  status word).  If using non-blocking I/O mode, the error
   return could indicate no available data.   This  is  indicated  by  no
   error  bits  set  in the I/O status word.  Use the GETSTS call to read
   the I/O status bits.

   Examples

   See LOOKUP call.

   RELATED CALLS

   FILOP., INPUT, OUT, OUTPUT




                                   22-203
   IN [OPCODE 056]


   Common Programming Errors

         o  If the channel was not initialized, the monitor stops the job
            and prints:

                 ?I/O to unassigned channel at user PC xxxxx

         o  If the specified address is illegal, the  monitor  stops  the
            job and prints:

                 ?Address check for device yyyyyy:UUO at user PC xxxxx

         o  If the monitor cannot allocate buffers in your address space,
            the monitor stops the job and prints (see INBUF):

                 ?Address check for device yyyyyy:UUO at user PC xxxxx






































                                   22-204
                                                       INBUF [OPCODE 064]


   22.62  INBUF [OPCODE 064]


   Function

   Sets up an input buffer ring with the specified number of buffers  for
   a  given  initialized  channel.   Use FILOP. to perform an INBUF on an
   extended I/O channel.

                                    NOTE

           Buffers are allocated by the  monitor  in  the  user's
           address  space  starting at the location pointed to by
           the contents of .JBFF.  This symbol represents a  word
           in  the  Job  Data  Area.   As  the JDA exists only in
           Section  0,  you  cannot  initialize  a  buffer  in  a
           non-zero  section,  unless  that  section is mapped to
           section 0.  Use the  FILOP. monitor  call  to  specify
           buffer starting addresses in a non-zero section.


   Calling Sequence

                INBUF channo,buffers
                return

        where:  channo is the number of an initialized channel.

                buffers is the number of buffers to set up in  the  ring.
                For  disk  devices, if you give buffers as 0, the monitor
                uses the value given in the SET DEFAULT  BUFFERS  monitor
                command  or SETUUO.  If no value has been set, the system
                default (a  MONGEN  parameter)  is  used.   For  non-disk
                devices, 2 buffers are assumed.

   skip Return

   The buffer ring is set up.

   RELATED CALLS

   FILOP., OUTBUF












                                   22-205
   INBUF [OPCODE 064]


   Common Programming Errors

         o  If the channel was not initialized, the monitor stops the job
            and prints:

                 ?I/O to unassigned channel at user PC xxxxx

         o  If the monitor cannot allocate buffers in your address space,
            the monitor stops the job and prints:

                 ?Address check for device yyyyyy:UUO at user PC xxxxx

         o  If your program tries  to  use  INBUF  or  OUTBUF  to  create
            buffers  outside  the job's core image, the job cannot expand
            because the system runs out of virtual memory and the monitor
            stops the job and prints:

                 ?Illegal address in UUO at user PC xxxxx

         o  If you use INBUF or OUTBUF to set  up  a  buffer  ring  in  a
            non-zero  section, the monitor stops the job and displays the
            following error message:

            ?Illegal INBUF/OUTBUF for device [name];UUO at user PC [loc]






























                                   22-206
                                                       INCHRS [TTCALL 2,]


   22.63  INCHRS [TTCALL 2,]


   Function

   Reads an ASCII character from the job's controlling  terminal's  input
   buffer,  skipping on return if a character was available.  INCHRS also
   sets "character mode," in which the program will not wait for the  end
   of  the  line  of input from the terminal.  Therefore, CTRL/U, DELETE,
   and other line-editing characters will not function as they do for the
   monitor.  See Chapter 15 for more specific information.

   Calling Sequence

                INCHRS  addr
                return 1    ;no character in buffer
                return 2    ;character read from buffer
                ...
        addr:   BLOCK 1

        where:  addr is the address  of  a  word  to  contain  the  input
                character  (in  bits  29  to 35); the rest of the word is
                cleared.

   Return

   If a character has been input, the monitor copies it to bits 29 to  35
   of the word at addr.

   RELATED CALLS

   TRMOP., TTCALL

   Common Programming Errors

   Typing a comma after addr.


















                                   22-207
   INCHRW [TTCALL 0,]


   22.64  INCHRW [TTCALL 0,]


   Function

   Inputs an ASCII character  from  the  terminal's  input  buffer.   The
   monitor waits for a character if none is available.  INCHRW inputs the
   character regardless of whether a complete line has  been  typed.   If
   the   program  is  not  prepared  to  handle  every  possible  control
   character, you should  consider  using  the  INCHWL  call  instead  of
   INCHRW.

   Calling Sequence

                INCHRW addr
                return

        where:  addr is the address of the  word  to  receive  the  ASCII
                input  character.   The character is placed in bits 29-35
                of the word; the rest of the word is cleared.

   If no character has been input, the monitor waits for a character.

   Return

   If a character has been input, the monitor  places  the  character  in
   bits 29-35 of the word at addr.

   RELATED CALLS

   TRMOP., TTCALL

   Common Programming Errors

   Typing a comma after addr.



















                                   22-208
                                                        INCHSL [TTCALL ,]


   22.65  INCHSL [TTCALL ,]


   Function

   Inputs a character in line mode  from  the  terminal's  input  buffer,
   skipping  on  return  if  the  input  was  terminated  by a line break
   character such as carriage-return/line-feed.

   Calling Sequence

                INCHSL addr
                return 1
                return 2

        where:  addr is the address of the word to receive the  character
                (in bits 29 to 35); the rest of the word is cleared.

                return 1 is the return instruction when a line break  has
                not been input from the terminal

                return 2 is the return  instruction  when  a  line  break
                character has been input from the terminal.

   Return

   If a line break has been input from the terminal, the monitor  returns
   at return 2 with the next character of the line in bits 29-35 of addr;
   if not, it returns at return 1.

   RELATED CALLS

   TRMOP., TTCALL

   Common Programming Errors

   Typing a comma after addr.

















                                   22-209
   INCHWL [TTCALL 4,]


   22.66  INCHWL [TTCALL 4,]


   Function

   Inputs a character from the terminal input  buffer,  waiting  until  a
   break  character is encountered.  With this type of input, the monitor
   handles line-editing characters like DELETE, CTRL/R, and so forth.

   See Chapter 15 for a discussion of break characters.

   Calling Sequence

                INCHWL addr
                return

        where:  addr gives the address of the word to contain  the  input
                character; the rest of the word is cleared.

   Return

   The character is right-justified in the word at addr.  The rest of the
   word is cleared.

   RELATED CALLS

   TRMOP., TTCALL

   Common Programming Errors

   Typing a comma after addr.























                                   22-210
                                                        INIT [OPCODE 041]


   22.67  INIT [OPCODE 041]


   Obsolete; use OPEN or FILOP..


















































                                   22-211
   INPUT [OPCODE 066]


   22.68  INPUT [OPCODE 066]


   Function

   Inputs data from an initialized  channel  to  memory.   Use  FILOP. to
   perform an INPUT on an extended I/O channel.  INPUT is the same as IN,
   except INPUT does not  give  an  error  return  if  an  error  or  EOF
   condition  occurs.   The  user  must  check  for  such conditions with
   GETSTS, STATZ, or STATO.

                                    NOTE

           Programs doing non-blocking  I/O  should  use  the  IN
           monitor call or FILOP. function .FOINP.


   Calling Sequence

                INPUT channo,addr
                return

        where:  channo is the number of an initialized channel.

                addr is one of the following:

         o  If the channel is initialized for dump mode, then addr  gives
            the address of an I/O command list.

         o  If the channel is initialized for buffered  mode,  then  addr
            gives the address of the second word of the next buffer to be
            used; if you give 0 (the default), the  next  buffer  in  the
            ring is used.

   Return

   Data is input from the channel.

   RELATED CALLS

   FILOP., IN, OUT, OUTPUT













                                   22-212
                                                       INPUT [OPCODE 066]


   Common Programming Errors

         o  If the channel was not initialized, the monitor stops the job
            and prints:

                 ?I/O to unassigned channel at user PC [addr]

         o  If the specified address is illegal, the  monitor  stops  the
            job and prints:

                 ?Address check for device [name]:UUO at user PC [addr]

         o  If the monitor cannot allocate buffers in your address space,
            the monitor stops the job and prints:

                 ?Address check for device [name]:UUO at user PC [addr]






































                                   22-213
   IONDX. [CALLI 127]


   22.69  IONDX.  [CALLI 127]


   Function

   Returns the Universal Device Index (UDX) for a device or channel.  For
   information  about  terminal  names  and  their  UDXs,  refer  to  the
   TRMNO. UUO.

   Calling Sequence

         / MOVE ac,[SIXBIT/device/]  \
         \ MOVEI         ac,channo   /
                IONDX.   ac,
                  error return
                skip return

        where:  device is the SIXBIT physical or logical name of a device
                for which its UDX is desired.

                channo is the number of an initialized channel.

   skip Return

   The Universal Device Index for the specified device or current  device
   on the specified channel is returned in the ac.

   Error Return

   If  the  ac  is  cleared,  you  specified  a  nonexistent  device   or
   SIXBIT/MPX/ as a device name.























                                   22-214
                                                      IONEOU [TTCALL 15,]


   22.70  IONEOU [TTCALL 15,]


   Function

   Sends an 8-bit image character to the terminal's output buffer.

   Calling Sequence

                IONEOU    addr
                return

        where:  addr contains the 8-bit character in bits 28 to 35.

   Return

   The 8-bit character is output to the terminal.

   RELATED CALLS

   OUTCHR

   Common Programming Errors

   Typing a comma after addr.





























                                   22-215
   IPCFM. [CALLI 217]


   22.71  IPCFM.  [CALLI 217]


   Function

   Communicates with [SYSTEM]INFO and [SYSTEM]IPCC, replacing  a  message
   exchange.

   Calling Sequence

               XMOVEI   ac,addr
               IPCFM.   ac,
                 error return
               skip return

        addr:  flags dest,,len
               addr1
               optional in-your-behalf process ID (PID)

        addr1: message block

        where: addr is the address of the packet header block.

               flags are one or both of the flags in  the  packet  header
               block.

               dest is the destination PID.  len is  the  length  of  the
               packet header block.

   The argument block at addr is:

   Word      Symbol    Contents

   0         .IPCMF    Flags, destination,  and  length  fields,  in  the
                       following format:

                       Bits      Symbol    Meaning

                       0         IP.CMP    Invoking privileges.  The  job
                                           must  have  IPCF privileges to
                                           use this bit.

                       1         IP.CMI    Indirect sender's PID.

                       2-14                Reserved for DIGITAL.









                                   22-216
                                                       IPCFM. [CALLI 217]


   Word      Symbol    Contents

                       Bits      Symbol    Meaning

                       15-17     IP.CMD    Destination process code,  one
                                           of the following:

                                     Code  Symbol  Meaning

                                       1   .IPCCC  [SYSTEM]IPCC
                                       2   .IPCCF  System-wide
                                                   [SYSTEM]INFO
                                       3   .IPCCP  Receiver's
                                                   [SYSTEM]INFO

                        18-26             Reserved for DIGITAL.

                        27-35   IP.CML    Total length of argument block,
                                          including .IPCMF.

   1    .IPCMP Pointer to  [SYSTEM]IPCC  or  [SYSTEM]INFO  message  block
                       detailed  below.   The  pointer  may  be  a 30-bit
                       address or  a  section  address  (if  an  IFIW  is
                       given),  relative to the section the message block
                       is in.  No indexing or indirection is allowed.

   2    .IPCMI In-your-behalf word; the PID on whose  behalf  to  perform
                       this  operation, 0 for your own job.  If this word
                       is non-zero, IPCF privileges must  be  enabled  or
                       the given PID must belong to your current JCH.  If
                       .IPCMI is on, it contains the address  (30-bit  or
                       IFIW) of the PID.

   The message block at addr1 for [SYSTEM]IPCC is:

   Word      Symbol    Contents
|  
|  0         .IPCS0    Holds the message length identifier  in  the  left
|                      half,  and  one of the [SYSTEM]IPCC function codes
|                      in the right  half.   The  [SYSTEM]IPCC  functions
|                      codes are documented in Chapter 7.
|  
|  1         .IPCS1    First argument.
|  
|  2         .IPCS2    Second argument.
|  
|  3         .IPCS3    Third argument.
|  
|  The message block for [SYSTEM]INFO is:
|  
|  Word      Symbol    Contents



                                   22-217
   IPCFM. [CALLI 217]


|  0         .IPCI0    The left half holds the message block length;  the
|                      right  half  contains one of [SYSTEM]INFO function
|                      codes documented in Chapter 7.
|  
|  1         .IPCI1    First argument.
|  
|  2         .IPCI2    Second argument.

   skip Return

   The system process returns data in a  packet  to  the  user's  message
   block.

   Error Return

   The ac will  contain  one  of  the  error  messages  documented  under
   IPCFR. UUO.

   RELATED CALLS

   .IPCFQ, .IPCFR, .IPCFS

































                                   22-218
                                                       IPCFQ. [CALLI 144]


   22.72  IPCFQ.  [CALLI 144]


   Function

   Returns information about a job's IPCF input queue.   The  information
   returned  is  the  packet header block for the next (if any) packet in
   the queue of packets sent by the inter-process communication facility.
   The IPCF calls are described in Chapter 7.

   Calling Sequence

             MOVE      ac,[XWD len,addr]
             IPCFQ.    ac,
               error return
             skip return
             . . .
   addr:     BLOCK     len

        where:  len is the length of the block (4 to 6 words) at addr  to
                receive returned data.

                addr is the address of the block to receive the data.

   skip Return

   The ac is not changed.  The packet header block for the next packet in
   the queue is returned at addr.  The format of the information returned
   is described in Chapter 7.

   Word      Symbol    Contents

   0         .IPCFL    Flag word of the next packet in the queue.

   1         .IPCFS    Sender's PID.

   2         .IPCFR    Receiver's PID.

   3         .IPCFP    Length of next message and number of packets:
                       Bits      Meaning

                       0-17      Length of next message.
                         18-35   Number of packets in your input queue.
   4         .IPCFU    Sender's PPN.
|  
|  5         .IPCFC    Sender's capability word.  The format of this word
|                      is documented with the IPCFR.  UUO.

   Error Return

   If there is no packet in  the  input  queue,  IPCFQ. takes  the  error
   return  and  returns an error code in the ac.  The error codes for all


                                   22-219
   IPCFQ. [CALLI 144]


   IPCF calls are listed under the IPCFR. call.

   RELATED CALLS

   IPCFM., IPCFR., IPCFS.

















































                                   22-220
                                                       IPCFR. [CALLI 142]


   22.73  IPCFR.  [CALLI 142]


   Function

   Retrieves a packet from the IPCF input queue for the calling  process.
   The  IPCF facility and the format of the argument blocks are described
   in Chapter 7.

   Calling Sequence

             MOVE      ac,[XWD len,addr]
             IPCFR.    ac,
               error return
             skip return
             . . .
   addr:     EXP       flags
             BLOCK     2
             XWD       len2,addr2
             . . .
   addr:     BLOCK len2

        where:  len is the length of the packet header block.

                addr is the address of the packet header block.

                flags is the flag word  (.IPCFL)  in  the  packet  header
                block.

                len2 is the length of the packet to be retrieved.  If the
                packet  is  going  to  be a page of data, this field must
                contain 512 or an error code is returned in  the  ac  and
                the IPCFR.  monitor call takes the error return.

                addr2 is the address of the packet message block.

   The retrieving process should check the contents of the flag word.  If
   there  is  an  error  condition associated with the packet, it will be
   indicated in bits 24-29.  Error codes received in the ac  indicate  an
   error  with  the  monitor  call  (for  example,  if the packet was not
   received).

   If the IPCFR.  monitor call is issued but there are no packets in  the
   input  queue,  the  job  cannot  continue  executing until a packet is
   placed in the input queue.  To prevent the job from  blocking,  bit  0
   (IP.CFB) should be set in the flag word.  When IP.CFB is set and there
   are no packets in the input queue when the IPCFR.  call is issued, the
   call will take the error return and the monitor will return error code
   3 (IPCNT%) in the ac.





                                   22-221
   IPCFR. [CALLI 142]


   When a process is retrieving a page of data, bit 19  (IP.CFV)  in  the
   flag  word  must be set and the length of the data message block (left
   half of .IPCFP) must contain 1000 or the IPCFR.   monitor  call  fails
   and the monitor returns error code 21 (IPCPR%) in the ac.

   If the retrieved packet is shorter than the number of  reserved  words
   (that  is, len2), the packet is retrieved and the extra words are left
   unchanged.  If, however, the number of  reserved  words  is  not  long
   enough  to  store the packet, the IPCFR.  monitor call takes the error
   return and the monitor returns error code 5 (IPCTL%) in  the  ac.   To
   prevent  this  error,  the receiver can set bit 4 (IP.CFT) in the flag
   word indicating that, if the packet  is  too  long  for  the  reserved
   space, the message should be truncated.

   skip Return

   On a skip return, the monitor returns  the  associated  variable  (see
   Chapter  7)  in the ac indicating that there is another packet waiting
   in the queue.  If there are no more packets in the queue, the  monitor
   clears  the ac.  The packet retrieved from the process' input queue is
   returned  to  the  address  specified  in  the  IPCFR.   monitor  call
   (beginning  with  addr).   The  packet  header  block  is filled in as
   follows:

   Word      Symbol    Contents

   0         .IPCFL    The left half remains the  same,  the  right  half
                       contains flags (see Chapter 7).

   1         .IPCFS    Sender's PID.

   2         .IPCFR    Receiver's PID.

   3         .IPCFP    Length and location of data:

                       Bits      Contents

                       0-17      Message length.
                       18-35     Address  of  message,   for   short-form
                                 messages  (default),  or  page number of
                                 long-form messages.  If the page  number
                                 refers  to  a  non-existent  page, error
                                 code IPCAC% is returned.

   4         .IPCFU    Sender's PPN.  If the  argument  block  length  is
                       less than 5, this word is not returned.

   5         .IPCFC    Sender's capability word:

                       Bits      Symbol    Meaning

                       0         IP.JAC    Sending  program   has   JACCT


                                   22-222
                                                       IPCFR. [CALLI 142]


                                           privileges.
                       1         IP.JLG    Sender is logged in.
                       2         IP.SXO    Sender is execute-only.
                       3         IP.POK    Sender   has   POKE. privilege
                                           (JP.POK).
                       4         IP.IPC    Sender  has   IPCF   privilege
                                           (JP.IPC).
                       5-17                Reserved.
                         18-26   IP.SCN    Sender's context number.
                         27-35   IP.SJN    Sender's job number.

                       If the argument block length is less than 6,  this
                       word is not returned.

   Error Return

   The packet is not retrieved and one of the following  error  codes  is
   returned in the ac:

   Code      Symbol    Error

   1         IPCAC%    Address check.
        2    IPCNL%    Packet header not long enough.
        3    IPCNP%    No packet in receiving queue.
        4    IPCIU%    Page is in use (locked in core).
        5    IPCTL%    Data too long for user's buffer.
        6    IPCDU%    Receiver's PID unknown.
        7    IPCDD%    Receiver disabled.
   10        IPCRS%    No room in sender's quota.
   11        IPCRR%    No room in receiver's quota.
   12        IPCRY%    No room in system storage.
   13        IPCUP%    Unknown page (send) or duplicate page (receive).
   14        IPCIS%    Invalid sender PID.
   15        IPCPI%    Not enough privileges.
   16        IPCUF%    Unknown function code.
   17        IPCBJ%    Illegal job number.
   20        IPCPF%    PID table full.
   21        IPCPR%    Page requested, normal text.
   22        IPCIE%    Paging I/O error.
   23        IPCBI%    Bad index for system PID table.
   24        IPCUI%    Undefined PID in system table.
   25        IPCRU%    Receiver PID unknown or does not match job.
   26        IPCRP%    Insufficient physical memory space available.
   27        IPCRV%    Insufficient virtual  memory  space  available  to
                       receive page.









                                   22-223
   IPCFR. [CALLI 142]


   Code      Symbol    Error

   70        IPCFU%    [SYSTEM]INFO has unknown internal error.
   71        IPCCF%    [SYSTEM]IPCC request from [SYSTEM]INFO failed.
   72        IPCFF%    [SYSTEM]INFO failed to complete an ASSIGN.

   73        IPCQP%    PID quota exceeded.
   74        IPCBP%    Unknown PID.
   75        IPCDN%    Duplicate name.
   76        IPCNN%    No such name.
   77        IPCBN%    Name has illegal characters.

   Examples

   An example of the IPCFR.  monitor call is shown below.

                       MOVE      T2,[XWD 6,PHB] ;Length and address of
             packet
                       IPCFR.    T2,       ; To be retrieved.
                         JRST    ERR
                       JRST NORM
   PHB:      EXP 0     ;No flags
                       EXP 0     ;Sender's PID
                       EXP 0     ;Receiver's PID
                       10,,PMB1  ;Length and address of packet
                                 ;Message block to be retrieved
                       EXP 0     ;PPN of sender
                       EXP 0     ;Capabilities of sender
   PMB1:     EXP 0
                       EXP 0
                       EXP 0
                       .
                       .
                       .
                       EXP 0
   On a skip return from the IPCFR.  monitor call, the  packet  has  been
   retrieved  from the input queue.  If no packet was in the input queue,
   the call takes the error return, and error code 3 is returned  in  the
   ac.  Below is an example of what a response from [SYSTEM]INFO could be
   after a request for a PID.

             PHB       20        ;The packet was sent by [SYSTEM]INFO
             PHB+1     2001      ;[SYSTEM]INFO's PID
             PHB+2     31        ;Job number of receiver
             PHB+3     4,,PMB1   ;Length and address of packet message
             block
             PHB+4     1,,2      ;PPN of sender
             PHB+5     260000,,1014        ;Capabilities of sender
             PMB1      32,,3     ;User code and function code
             PMB1+1    400004,,1001        ;The requested PID
             PMB1+2    ASCIZ/CORP/         ;The symbolic name
             PMB1+3    0


                                   22-224
                                                       IPCFR. [CALLI 142]


   The IPCFR. monitor call can take the skip return and return  an  error
   code in the flag word of the packet header block.  For example, word 0
   of the packet header block could contain the following:

        PHB/  0520

   This means that the length of the packet message  block  specified  in
   the  IPCFR.  monitor call was not long enough, so the monitor returned
   error code 5 in the flag word.  The 20 in the flag word indicates that
   the message in the receiver's input queue is from [SYSTEM]INFO.

   If a process sends  a  request  to  [SYSTEM]INFO  to  obtain  the  PID
   associated with the symbolic name "FRED," the following could result:

   Location  Contents

      AC     0         ;indicating a skip return and no
                       ;errors set in the AC; no more packets
                       ;in queue.
     PHB     7620      ;the flag word
   PHB+1     2,,1003   ;the sender's PID
   PHB+2     164,,1011 ;the receiver's PID
   PHB+3     10,,PMB   ;length and addr of message block

     PMB     11,,1     ;user code and function code
   PMB+1     0         ;no response
   PMB+2     ASCIZ/FRED/         ;symbolic name

   The first  word  of  the  packet,  PHB,  contains  7620.   This  value
   indicates the following:


         o  76  is  the  error  code indicating that the symbolic
            name "FRED" is not associated with any currently assigned
            PID.

         o  2 indicates that the call to  [SYSTEM]INFO succeeded, and a
            normal 
            return was taken.  The number of packets still in the queue
            is stored in 
            the ac.

         o  0 indicates that the packet is not a "returned to sender"
            packet.


   The call to

   Error code 76 in the flag word indicates that the symbolic name "FRED"
   is not associated with any currently assigned PID.

   RELATED CALLS


                                   22-225
   IPCFR. [CALLI 142]


   IPCFM., IPCFQ., IPCFS.





















































                                   22-226
                                                       IPCFS. [CALLI 143]


   22.74  IPCFS.  [CALLI 143]


   Function

   Sends an IPCF packet to the specified process.

   By  giving  the  receiver's  PID  as  the  PID  of   [SYSTEM]INFO   or
   [SYSTEM]IPCC, you can obtain information from the IPCF facility itself
   (see Chapter 7).

   Calling Sequence

                MOVE   ac,[XWD len,addr]
                IPCFS. ac,
                  error return
                skip return
                . . .
   addr:        flags
                sender's PID
                receiver's PID
                XWD len,addr2
                . . .
   addr2:       message-word-0
                .
                .
                .
                message-word-(len-1)


        where:  len is the length of the packet header block.  The length
                of  this  block must be equal to or greater than 4 or the
                monitor returns error code 2 (IPCNL%) in the ac.

                addr is the address of the packet header block.

                flags is the flag word in the packet header block.

                sender's PID is Word 1 of the packet header block.

                receiver's PID is Word 2 in the packet header block.

                len2 is the length of the  packet  message  block.   When
                sending  a  short-form  message,  this  value  should not
                exceed 12 octal.  The limit may be GETTABed in %IPCML.

                addr2 is the address of the packet message block.

                message-word-0  through  message-word-n  are  the   words
                making  up  the packet message block.  Refer to Chapter 7
                for more information.



                                   22-227
   IPCFS. [CALLI 143]


   skip Return

   On a skip return, the ac is unchanged and the packet described by  the
   packet header block at addr has been placed in the intended receiver's
   queue.

   Word Symbol Contents

   0    .IPCFL Flags are the same as those described in Chapter 7.

   1    .IPCFS Sender's PID.

   2    .IPCFR Receiver's PID.  If you use the PID  for  [SYSTEM]INFO  or
                       for  [SYSTEM]IPCC,  you  can  retrieve information
                       from the IPCF facility itself (see Chapter 7).

   3    .IPCFP Length and location of data:

                      Bits      Contents

                      0-17      Message length.
                        18-35   Address of message.

   Error Return

   On an error return, an error code is returned in the ac and the packet
   is not sent.  The error codes are listed under the IPCFR. call.

   Examples

   This code fragment sends a packet to [SYSTEM]INFO, asking that  a  PID
   be assigned with the symbolic name LJC.

               MOVE    T1,[XWD 4,PHB] ;Length and address of packet
               IPCFS.  T1,            ; header block
                 JRST ERROR
               JRST NORMAL

        PHB:   0                      ;This is a packet header
               0                      ;Sender's PID
               0                      ;Receiver's PID (your [SYSTEM]INFO)
               XWD 3,PMB              ;Length and addr of message block

        PMB:   XWD 234,.IPCII         ;Ack code and function (assigns PID)
               0                      ;No duplicate PID
               ASCIZ/LJC/             ;Symbolic name

   RELATED CALLS

   IPCFM., IPCFQ., IPCFR.




                                   22-228
                                                       JBSET. [CALLI 113]


   22.75  JBSET.  [CALLI 113]


   Function

   Sets system or job parameters for another job.  Your job must have the
   JACCT  bit  set,  or  must  be logged in under [1,2].  You can use the
   SETUUO monitor call to set parameters for your current job.

   Calling Sequence

                MOVE   ac,[XWD len,addr]
                JBSET. ac,
                  error return
                skip return
                . . .
   addr:        XWD    0,jobno
                XWD    fcn-code,argument

        where:  len is the length of the argument list.

                addr is the address of the argument list.

                jobno is the number of  the  job  for  which  the  SETUUO
                function is to be performed.

                fcn-code is one of the  function  codes  described  under
                SETUUO.

                argument is an argument for the given function code.

   Refer to the SETUUO description for a list of all function  codes  and
   their meanings.

   skip Return

   The function has been performed and the ac is left unchanged.

   Error Return

   The error return is taken if the calling job is  not  privileged,  the
   specified job number is illegal, or the SETUUO function failed.












                                   22-229
   JOBPEK [CALLI 103]


   22.76  JOBPEK [CALLI 103]


   Function

   Reads from or writes into another job's memory space.

|  To read the contents  of  another  job's  memory  requires  that  your
|  program  have SPY ALL privileged.  To write into another job's memory,
|  you need POKE privileges.

   Use the Format 1 calling sequence  with  18-bit  addresses.   Use  the
   Format  2 calling sequence if the core being read or written is either
   in a non-zero section or in a context other than the current one.

   Calling Sequences

   Format 1:    MOVEI  ac,addr
                JOBPEK ac,
                  error return
                skip return
                . . .
   addr:        EXP    <flags>+jobnoB17+countB35
                XWD    readaddr,writeaddr

        where:  addr is the address of the argument list.

                flags are one or more of the flags listed below.

                jobno (JK.JOB) is the number of the logged-in  job  whose
                core is to be read or written, stored in Bits 9-17.

                count (JK.WCT) is the number  of  words  to  be  read  or
                written (the maximum can be obtained using GETTAB to read
                item %CNJPK from table .GTCNF), stored in Bits 18-35.

                readaddr is the location of the first word to be read.

                writeaddr is  the  location  of  the  first  word  to  be
                written.

   Format 2:    MOVE   ac,[length,,addr]
                JOBPEK ac,
                  error return
                skip return
                . . .
   addr:        EXP    <flags>+countB17+JCHB35
                EXP    0
                XWD    readaddr
                XWD    writeaddr




                                   22-230
                                                       JOBPEK [CALLI 103]


        where:  addr is the address of the argument list.

                flags are one or more of the flags listed below.

                count (JK.EWC) is the number  of  words  to  be  read  or
                written  (refer  to  GETTAB  table  .GTCNF, item %CNJPK),
                stored in Bits 8-17.

                JCH (JK.JCH) is the job/context handle of the  job  whose
                core is to be read or written, stored in Bits 18-35.

                readaddr is the 30-bit address giving the location of the
                first word to be read.

                writeaddr is the 30-bit address giving  the  location  of
                the first word to be written.

   The flags and their meanings are:

   Bit       Symbol    Meaning
|  
|    0       JK.WRT    Write the other job's core; if not set,  read  the
|                      other  job's  core.   When  this bit is 0, the UUO
|                      requires SPY privileges only.

     1       JK.UPM    Read the other job's UPMP (user page map  page  or
                       user page table).  JK.WRT must not be set.

     2       JK.EVA    Source address is between .MCFV and .UUPMP;  treat
                       it  as  if  it  were  an executive virtual address
                       mapped through the  specified  job's  UPMP.   Both
                       JK.WRT and JK.UPM must be off.

     3       JK.AIO    Do not block if data is inaccessible (due  to  the
                       state  of cache on SMP systems); set this bit only
                       if you set either JK.UPM or JK.EVA.

   Notice that if the other job's core is to be read (JK.WRT is cleared),
   then  readaddr  is  a  location  in  the  other job and writeaddr is a
   location in the current program.  If the other job's  core  is  to  be
   written  (JK.WRT  is  set), then readaddr is a location in the current
   program and writeaddr is a location in the other job.

   skip Return

   The specified words are transferred between  the  other  job  and  the
   current job.







                                   22-231
   JOBPEK [CALLI 103]


   Error Return

   One of the following error codes is returned in the ac:

        Code   Symbol    Meaning

          1    JKNPV%    Job not privileged.
          2    JKIJN%    Illegal job number.
          3    JKSWP%    Job swapped out or in transit.
          4    JKIAD%    Illegal address (source or destination).
          5    JKDNA%    Data not addressable (if JK.AIO is set).
          6    JKPNC%    Page not in core.
          7    JKIOE%    I/O error occurred.
         10    JKABZ%    Target address is in  an  "allocated  but  zero"
                       page.

   Examples

        MOVEI  T1,ADDR
        JOBPEK T1,
          JRST ERROR
        JRST   CONTIN
        . . .
   ADDR:       EXP       14B17+1000B35
        XWD    10000,12000

   This example reads 1000 (octal) words from the core of job 14 into the
   current  job's  core.   Reading  begins at location 10000 in the other
   job; writing begins at location 12000 in the current job.

























                                   22-232
                                                        JOBSTR [CALLI 47]


   22.77  JOBSTR [CALLI 47]


   Function

   Returns names of file structures in your job's  search  list.   For  a
   discussion of file structures in a search list, see Chapter 11.

   Calling Sequence

                MOVE    ac,[XWD len,addr]
                JOBSTR  ac,
                  error return
                skip return
                . . .
   addr:        SIXBIT/str/           ;.DFJNM
                EXP     0             ;reserved
                EXP     0             ;.DFJST

        where:  len is the length of the argument list (.DFJBL).

                addr is the  address  of  the  argument  list.   You  can
                include a structure name (str) at addr to obtain the name
                of the next structure in your job search list,  or  0  to
                obtain the first structure in your active search list, or
                -1 to obtain the first structure in  your  job's  passive
                search  list  (after  FENCE  in  search  list returned by
                SETSRC program).

                addr+1 (.DFJDR) is reserved.

                At addr+2 (.DFJST), the monitor returns the write-protect
                flag for the structure.  The flags are:

            Bits       Symbol   Meaning

            0          DF.SWL   Software write-protect.
            1          DF.SNC   Do not create files  on  this  structure;
                                create   only   if   specified   as  file
                                structure or a physical device name.

   skip Return

   If you give 0 at addr, the monitor returns the first structure in  the
   search list after the FENCE.

   If you give -1, the monitor returns the first structure in the list.







                                   22-233
   JOBSTR [CALLI 47]


   If you give a SIXBIT structure name (or leave the one the monitor last
   entered),  the  monitor  returns the next structure name in the search
   list.  When there are no more structures  in  the  list,  the  monitor
   returns  -1  at  addr.   If  the  next  item in the list is FENCE, the
   monitor returns 0.

   Therefore you can begin with the first name in the list by using -1 at
   addr.   When  the  monitor returns the first name in the list, you can
   leave the name in addr to call for the second name, and so forth.

   Error Return

   One of the following error codes is returned in the ac:

   Code Symbol Error

   3    DFGIF% Illegal file structure name.
   12   DFGLN% Illegal argument length.

   Examples

   The following example reads all structures in the job's search list:

                MOVEI   T1,0                 ;Initialize counter
   LOOP:        MOVE    T2,[.DFJBL,,ADDR]    ;Pointer to argument block
                JOBSTR  T2,                  ;Get next structure (on 0 or -1)
                  JRST  ERROR
                MOVE    T2,ADDR+.DFJNM       ;Get structure
                MOVEM   T2,STRTAB(T1)        ;Save in table
                AOJE    T2,CONTIN            ;All done if -1
                AOJA    T1,LOOP              ;Bump table pointer and loop
   ADDR:        EXP     -1                   ;Start with the first one
                EXP     0
                EXP     0
   STRTAB:      BLOCK   30                   ;Where to store search list
   CONTIN:        .
                  .
                  .

   RELATED CALLS

   DVPHY., GOBSTR, SYSPHY, SYSTR












                                   22-234
                                                        JOBSTS [CALLI 61]


   22.78  JOBSTS [CALLI 61]


   Function

   Provides information (including checking  statistics)  about  terminal
   devices,   pseudo-terminals,   and  software  states  associated  with
   terminals.  For more information about terminals and pseudo-terminals,
   refer to Chapter 15.

   Calling Sequence

         / MOVNI         ac,jobno  \
        |  MOVEI         ac,channo  |
         \ MOVEI         ac,udx    /
                JOBSTS ac,
                  error return
                skip return

        where:  udx is the Universal Device Index  of  the  terminal  for
                which information is desired.

                channo is the  number  of  an  I/O  channel  on  which  a
                terminal device has been opened.

                jobno is the number of a logged-in  job  associated  with
                the  terminal.   To  obtain  status of a pseudo-terminal,
                provide the job number of the controlled job.  Note  that
                the  negative  of the job number is used because positive
                values are interpreted as channels or UDXs.

   skip Return

   The monitor returns a status word for the job,  with  the  appropriate
   flags set from the following list.

   Bits      Symbol    Meaning

    0        JB.UJA    The given job number is assigned.

    1        JB.ULI    The job is logged in.

    2        JB.UML    Terminal is at monitor level.

    3        JB.UOA    Terminal output is available.

    4        JB.UDI    The terminal is at user level and is in the  input
                       wait  state,  or  the terminal is at monitor level
                       and can accept a command.   There  is  no  command
                       waiting to be decoded, the job is not running, and
                       the  job  is  not  stopped  waiting  for  operator
                       intervention.

    5        JB.UJC    JACCT is set for the job.  Note  that  this  means
                                   22-235
   JOBSTS [CALLI 61]


                       that two CTRL/Cs will not stop the job.

    6        JB.URN    The job is running.  This bit is zero if  the  job
                       is in a wait state.

    7        JB.UFC    The terminal device is  in  "full  character  set"
                       mode.   This  characteristic  can be set using the
                       TRMOP.  UUO.

    8        JB.UBK    The  terminal  device  is   in   "break   on   all
                       characters"  mode.  This characteristic can be set
                       using the TRMOP., OPEN, or FILOP.  UUOs.

   9-10                Reserved for use by DIGITAL.

   11        JB.UNE    The terminal device is in "no  echo"  mode.   This
                       characteristic  can be set using the TRMOP., OPEN,
                       or FILOP.  UUOs.

   12        JB.UTO    The terminal is  in  terminal  output  state.   In
                       other  words,  the  job  is  blocked  waiting  for
                       terminal output.

    13       JB.UCC    The terminal characteristics  have  changed  since
                       last JOBSTS.

    14       JB.UNT    The terminal connected to the pseudo-terminal  has
                       used SET HOST to connect to another system.

    15       JB.UHI    The terminal is HIBERing for input.  If a  program
                       such  as  OPR  or  MIC is running under batch, and
                       JB.UHI is set, the job will awaken on input to the
                       terminal.   (Refer  to the HB.DIN bit in the HIBER
                       monitor call.)

     16-26             Reserved for use by DIGITAL.

     27-35   JB.UJN    Bit  mask  to  contain  job  number  (0  if   none
                       assigned).

   Since JB.UOA will be set if any output is pending, but JB.UTO will  be
   set  if  the output buffer for the terminal is full, you can make each
   INPUT UUO transfer more data, by testing  for  JB.UTO  before  JB.UOA,
   then doing an INPUT for a PTY.

   Error Return

   One of the following occurred:

         o  The specified job number or channel number is invalid.

         o  There was no terminal on the specified channel.


                                   22-236
                                                         KDP. [CALLI 200]


   22.79  KDP.  [CALLI 200]


   Function:

   Loads, dumps, and starts the KMC-11 (KS systems only).

   Calling Sequence:

                MOVE    ac,[XWD len,addr]
                KDP.    ac,
                  error return
                skip return
                 ...
   addr:        EXP     fcn-code
                argument 1
                argument 2
                argument 3

        where:  len is the length of the argument block.

                addr is location of the argument block.  At  addr,  store
                the  function  code  (fcn-code).   The  remainder  of the
                argument block depends on the function to be performed.


   The function codes are:

   Code      Symbol    Meaning

     1       .KDPKN    Returns in argument 1 the number of KMC-11s on the
                       system.

     2       .KDPDN    Returns in argument 2 the count of DUP-11s on  the
                       KMC that you specify in argument 1.

     3       .KDPSS    Returns in argument 2 the status of KMC  specified
                       in argument 1.

     4       .KDPHA    Halts the KMC-11 specified in argument 1.

     5       .KDPMC    Master-clears the KMC specified in argument 1.

     6       .KDPST    Starts the KMC specified in argument 1.

     7       .KDPRE    Reads the CRAM location from the KMC specified  in
                       argument  1  and  pointed  to  by  the  address in
                       argument  2.   The  CRAM  location  is  stored  in
                       argument 3.

    10       .KDPWR    Writes in CRAM location from the KMC specified  in
                       argument  1,  at the address specified in argument
                       2, from the value stored in argument 3.

                                   22-237
   KDP. [CALLI 200]


   101       .KDLRS    Reads line status of KMC specified in argument  1,
                       on  line of DUP specified in argument 2.  The line
                       status is returned in the address  pointed  to  by
                       argument  3.   Argument  3  must  be  specified as
                       [len,,addr], where len is the length and  addr  is
                       the  address  of  the  block where status is to be
                       stored.

   102       .KDLHA    Stops DDCMP on a line  specified  by  the  KMC  in
                       argument 1 and the DUP in argument 2.

   103       .KDLST    Starts DDCMP on a line specified  by  the  KMC  in
                       argument 1 and the DUP in argument 2.

   104       .KDLSU    Sets the line's user.  Specify the KMC in argument
                       1,  the DUP in argument 2, and the SIXBIT/user/ in
                       argument 3.   Refer  to  the  DTE. call  for  more
                       information about line users.

   105       .KDLRU    Returns the line's user in argument 3.   You  must
                       specify  the  KMC  in  argument  1  and the DUP in
                       argument 2.

   Error Return

   One of the following error codes may be returned:

   Code      Symbol    Meaning

     1       KDILF%    Illegal function code.
     2       KDILK%    Illegal KMC-11 number.
     3       KDALS%    Argument list too short.
     4       KDIWR%    Function is illegal when KMC-11 is running.
     5       KDICA%    Illegal CRAM address (.KDPRE or .KDPWR).
     6       KDILL%    Illegal line (DUP-11) number.
     7       KDKNR%    Function is illegal when KMC-11 is not running.
    10       KDLNS%    DDCMP was not started on the line.
    11       KDLAS%    DDCMP was already started on the line.
    13       KDUNP%    User not privileged to perform this function.















                                   22-238
                                                       KNIBT. [CALLI 222]


   22.80  KNIBT.  [CALLI 222]


   Function

   Provides functions for starting and stopping the NIA20 microprocessor,
   and  reading  and  writing its control RAM (CRAM).  This call requires
   POKE privileges.

   Calling Sequence

               XMOVEI   ac,addr
               KNIBT.   ac
                 error return
               skip return

   addr:       fcncode,,len
               CPUno,,channo
               args

        where: addr is the address of the argument list.

               fcncode is one of the function codes described below.

               len is the length of the argument block.

               CPUno is the number of the  CPU  to  which  the  NIA20  is
               attached.

               channo  is  the  RH20  channel   number   of   the   NIA20
               microprocessor.

               args are arguments specific to the functions you  want  to
               perform on the NIA20.

   The format of the argument block is:

   Word      Symbol    Contents

   0         .KBFCN    This word holds the function code and  the  length
                       of  the  KNIBT.   argument  block.  The left half,
                       KB.FCN, holds one of  the  function  codes  listed
                       below.  KB.ALN, the right half, holds the length.

   1         .KBKID    This is the NIA20 identification word.   The  left
                       half,  KB.CPU,  holds  the  CPU number.  The right
                       half, KB.RH2, holds the RH20 channel number of the
                       NIA20.   The  only currently valid value of KB.RH2
                       is 5.

   2         .KBCRA    CRAM address, the third word in the argument block
                       for  functions  .KBSTA,  .KBRED,  and  .KBWRT (see
                       below).

                                   22-239
   KNIBT. [CALLI 222]


   3         .KBCCH    Contains the high order bits (0-29)  of  the  CRAM
                       for  the  NIA-20.  This word is used in the .KBRED
                       and .KBWRT argument blocks.

   4         .KBCCL    Holds the low order bits  (30-59)  of  the  NIA-20
                       CRAM.  .KBRED and .KBWRT also use this word.

   The function codes for .KBFCN are as follows:

   Code      Symbol    Meaning

   1         .KBSTS    Returns the status of the NIA20 in the user's  ac.
                       Status  information  is  returned in the following
                       format:

                       Bits      Symbol    Meaning

                       0         KS.RUN    NIA20 is running.
                       1         KS.MAI    NIA20 is in maintenance mode.
                       2         KS.RLD    The   NIA20   needs   to    be
                                           reloaded.
                       3         KS.ARD    Auto-reload is disabled.
                       4         KS.RRQ    The system requested an  NIA20
                                           reload.
                       5         KS.DRQ    The system requested an  NIA20
                                           dump.
                       6-17                Reserved for DIGITAL.
                         18-35   KS.RJB    Job number  of  job  reloading
                                           NIA20.

   2         .KBSRJ    Sets the current job as  the  job  to  reload  the
                       NIA20.

   3         .KBSTP    Stops the NIA20.  This must be done before .KBSTA,
                       .KBRED, or .KBWRT are performed.

   4         .KBSTA    Starts the NIA20 microprocessor at a specific CRAM
                       address given in .KBCRA.

   5         .KBRED    Reads the contents of the CRAM location  given  in
                       .KBCRA,  placing  the  CRAM words into .KBCCH, and
                       .KBCCL.

   6         .KBWRT    Writes the contents of a specific  CRAM  location.
                       .KBCRA,  .KBCCH, and .KBCCL are the argument words
                       for .KBWRT.








                                   22-240
                                                       KNIBT. [CALLI 222]


   skip Return

   The specified function is performed; status bits are returned  in  the
   ac for function .KBSTS.

   Error Return

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   1         KBPRV%    Insufficient privileges.
   2         KBADC%    An address check has been performed.
   3         KBIAL%    Invalid argument list.
   4         KBILF%    Illegal function.
   5         KBICS%    Illegal CPU specified.
   6         KBCNA%    CPU not available.
   7         KBKDE%    NIA20 doesn't exist.
   10        KBKMM%    NIA20 is in maintenance mode.
   11        KBDNS%    NIA20 microprocessor didn't start.
   12        KBDNI%    NIA20 microprocessor didn't initialize.
   13        KBICA%    Invalid CRAM address.
   14        KBCRE%    CRAM read error.
   15        KBCWE%    CRAM write error.
   16        KBNRJ%    Not the reload job.

   RELATED CALLS

   DIAG.

























                                   22-241
   LATOP. [CALLI 221]


   22.81  LATOP.  [CALLI 221]


   FUNCTION

   Performs Local Area Terminal (LAT) functions.  This  function  is  not
   intended for customer use.

   CALLING SEQUENCE

             MOVEI     ac,addr
             LATOP.    ac,
               error return
             skip return
   addr:     EXP       length
             function-code
             argument list

   In the calling sequence, you can suply the following information:

         o  addr is the address of the argument list.

         o  length is the total length of  the  argument  list  including
            this word

         o  function-code is one of the following codes or symbols:


   Function
   Code      Symbol    Meaning

   0         .LASET    Sets a LAT parameter.
   1         .LACLR    Clears a LAT parameter.
   2         .LASCH    Shows LAT characteristics.
   3         .LASTC    Shows terminal connections.
   4         .LASAS    Shows adjacent servers.
   5         .LASCO    Shows LAT counters.
   6         .LAZCO    Clears LAT counters.
|  7         .LARHC    Requests host-initiated connection.
|  10        .LATHC    Terminates a host-initiated connection.
|  11        .LASHC    Shows     information     about     host-initiated
|                      connections.

   The argument list is different for each function code.  Therefore, the
   arguments  are  desribed  for  each  function  code  in  the following
   sections.



   22.81.1  Function Code 0 (.LASET) to set parameters


   Sets LAT parameters for the local node.  The parameters you set  using
   this function are dynamic parameters stored only in the host software.
                                   22-242
                                                       LATOP. [CALLI 221]


   Your  program  must  have  JACCT  or  [1,2]  privileges  to  set   LAT
   parameters.

   The parameters you can set with .LASET are:

   Code      Symbol    Meaning

   1         .LPMAC    Maximum number of active circuits.
   2         .LPMCO    Maximum number of simultaneous connects.
   3         .LPNUM    Host number.
   4         .LPLAS    LAT access state.
   5         .LPRLI    Circuit retransmit limit.
   6         .LPTIM    Retransmit initial value.
   7         .LPMTI    Multicast timer initial value.
   10        .LPCOD    Group access codes.
   11        .LPNNM    Host node name.
   12        .LPNID    Host node identification string.
   13        .LPSRV    Service rating and description.

   To set the parameters, use one of  the  following  argument  lists  to
   .LASET:

   Word      Symbol    Contents

   0         .LAACT    Argument list length.
   1         .LAFCN    EXP     .LASET.
   2         .LAPRM    Parameter code identifying  the  parameter  to  be
                       set.
   3         .LAVAL    Contents depend on the parameter code:

             For Codes .LAVAL Contains

             1 through 7         New parameter value
             10        Address of a bit mask
             11 through 13       ASCIZ string pointer

   4         .LAQUA    Qualifier (required for Parameter Code 13 only).

   5         .LADSC    ASCIZ  string  pointer  to   service   description
                       string.  (Required only for Parameter Code 13 when
                       LA%DSC is set in .LAQUA.)



   22.81.2  Argument Lists for .LASET


   Depending on the parameter to  be  set,  the  argument  list  must  be
   formatted appropriately.


         o  Parameter Codes 1 through 7 accept an argument directly  from
            .LAVAL.   On  a  successful return, the parameter you specify
            will be set to the value you include in .LAVAL.
                                   22-243
   LATOP. [CALLI 221]


         o  Parameter Code 10 (Group Codes) requires the address of a bit
            mask  in  .LAVAL.   The Group Codes Bit Mask is 8 words long,
            representing the group codes of terminals that can access the
            host.   The  bit  mask  is  numbered decimally from 0 to 255,
            signified by Bits 0 through 31 of each of eight words.   Each
            bit  you  set  represents  a  group number that is allowed to
            access the system.

            Each word in the Group Code Bit Mask is formatted as:

             0------------------------------------31   32-----35
            +----------------------------------------------------+
            | Each bit represents a group number     |  Ignored  |
            +----------------------------------------------------+

            The group numbers that are represented by each word, starting
            at the address stored in .LAVAL, are:  are:

            Word       Group Numbers

            addr:      0 through 31
            addr+1:    32 through 63
            addr+2:    64 through 95
            addr+3:    96 through 127
            addr+4:    128 through 159
            addr+5:    160 through 191
            addr+6:    192 through 223
            addr+7:    224 through 255

            To specify a group code number, set the corresponding bit  in
            the bit mask.  For example, to set Group 64, set Bit 0 in the
            addr+2 of the bit mask.

         o  Parameter Codes 11 and 12 (Host Node Name and Host Id String)
            require  an  ASCIZ string pointer in .LAVAL.  The pointer may
            be specified as a byte pointer,  or  in  the  form  -1,,addr,
            where addr is the address of the ASCIZ string.

         o  For Parameter Code 11, the .LAVAL contains a  pointer  to  an
            ASCIZ string specifying the name of the host node.

         o  For Parameter Code 12, .LAVAL points to a  string  specifying
            the Host Identification String.

         o  Parameter Code 13 (Service Rating and  Description)  requires
            that flags be set in .LAVAL, and, depending on the setting of
            the flags, an optional  pointer  in  the  following  argument
            word, .LADSC.

            The flags you can set in .LAVAL for Parameter Code 13 are:


            1.  LA%RAT sets the rating as specified in the right half  of
                this  word.   If  this  bit  is  not set, and no previous
                                   22-244
                                                       LATOP. [CALLI 221]


                rating has been set, then  the  rating  is  automatically
                reset to the default value.

            2.  LA%DSC  sets  the  service  description.    The   service
                description is stored in an ASCIZ string.

            If Bit 1 (LA%DSC) is set in .LAVAL,  the  following  argument
            word  (.LADSC)  may  contain  an  ASCIZ  pointer to a service
            description string.  If LA%DSC is set but .LADSC contains  0,
            the service description string is cleared.




   22.81.3  Function Code 1 (.LACLR) to clear LAT parameters


   Clears  specified  LAT  node  parameters.   The  parameter  codes  and
   information  required by each, are described for .LASET, Function Code
   0.

   This function requires JACCT or [1,2] privileges.

   The argument list for .LACLR consists of the following words:

   Word                Symbol Contents

   0                   .LAACT EXP     len
   1                   .LAFCN EXP     .LACLR
   2                   .LAPRM Parameter code
   3                   .LAVAL Required only for Parameter  Codes  10  and
                       13.

   For Parameter Code 10, this word contains the  address  of  the  Group
   Code Bit Mask.

   For Parameter Code 13, this word contains the  ASCIZ  pointer  to  the
   service name to clear.

   This word is ignored for all other parameters.



   22.81.4  Function Code 2 (.LASCH) to show LAT characteristics


   Shows the LAT characteristics.  The  monitor  returns  a  Show  Buffer
   containing the values of both permanent and dynamic parameters.

   The argument block for this function is:

   Word                Symbol Contents

   0                   .LAACT EXP     len
                                   22-245
   LATOP. [CALLI 221]


   1                   .LAFCN EXP     .LASCH
   2                   .LABCT EXP     buffer-length
   3                   .LABFA EXP     buffer-addr

   Where len is the length of the argument block.  Specify the number  of
   words  reserved for the Show Buffer in .LABCT, and the location of the
   Show Buffer in .LABFA.

   The Show Buffer is returned at the location  you  specified,  and  the
   contents  of  .LABCT are adjusted by the monitor to reflect the actual
   number of words used.

   The Show Buffer is formatted as shown below.









































                                   22-246
                                                       LATOP. [CALLI 221]


   Table 22-3:  LATOP.  Show Buffer Format



   0------------------------17  18----------------------------35
   +------------------------------------------------------------+
   | Maximum alloc. circuits   |  Number of alloc. circuits     |
   |------------------------------------------------------------|
   | Maximum active circuits   |  Number of active circuits     |
   |------------------------------------------------------------|
   | Mamimum connects          |  Number of connects            |
   |------------------------------------------------------------|
   | Host-number               |  LAT terminal access status    |
   |------------------------------------------------------------|
   | Host retransmit limit     |  Host-circuit timer            |
   |------------------------------------------------------------|
   | Host-multicast timer      |  Reserved                      |
   |------------------------------------------------------------|
   | High-protocol version     |  Low-protocol version          |
   |------------------------------------------------------------|
   | Protocol ECO              |  Current-protocol version      |
   |------------------------------------------------------------|
   | Maximum slot size         |  Maximum slots                 |
   |------------------------------------------------------------|
   | Frame size                |  Maximum services              |
   |------------------------------------------------------------|
   |              Host group codes (8 words)                    |
   |------------------------------------------------------------|
   | Host-name count           |  Host-id count                 |
   |------------------------------------------------------------|
   |              Host name (2 words)                           |
   |------------------------------------------------------------|
   |              Host-id (13 words)                            |
   |------------------------------------------------------------|
   | Service Blocks (19 words per service, described below)     |
   +------------------------------------------------------------+


















                                   22-247
   LATOP. [CALLI 221]


   Each Service Block is formatted as shown below:



   Table 22-4:  LATOP.  Service Block




    0------------------------17  18-----------------------------35
   +--------------------------------------------------------------+
   |                Host service name rating                      |
   |--------------------------------------------------------------|
   | Service-name count        | Service-description count        |
   |--------------------------------------------------------------| 
   |                Service name (4 words)                        |
   |--------------------------------------------------------------|
   |             Service description (13 words)                   |
   +--------------------------------------------------------------+




   22.81.5  Function Code 3 (.LASTC) to show information about terminals


   Shows information about current terminal connections.   This  function
   returns  the Connect Block for each active LAT connection at the local
   node.

   The argument list is:

   Word      Symbol    Contents

   0         .LAACT    Length of the argument block
   1         .LAFCN    Function code (.LASTC)
   2         .LABCT    Length of the buffer  reserved  for  the  returned
                       block.    In   this  word,  you  can  include  the
                       following information:
|  
|                      Bits      Symbol    Contents
|  
|                      0         LA.ECB    If  this  bit  is  set,   this
|                                          function  returns  an extended
|                                          connect  block  for  each  LAT
|                                          connection.   If  the  bit  is
|                                          clear, the short connect block
|                                          is returned.  (Refer to Tables
|                                          22-3 and 22-4, respectively.)
|  
|                      1-17                Reserved for use by DIGITAL.
|  
|                      18-35     LA.BCT    Number of words  reserved  for
|                                          the  returned  connect  block.
                                   22-248
                                                       LATOP. [CALLI 221]


|                                          On  a  skip  return  from  the
|                                          monitor  call, this field will
|                                          be  filled  in   with   actual
|                                          number of words used.
|  
|                      3         .LABFN    Address of the reserved buffer
|                      space.
|  
|  The monitor returns the  Connect  Block  for  each  active  connection
|  starting at the address you specify in .LABFN.  The contents of .LABCT
|  are adjust to reflect the actual number of words returned.
|  
|  Each connect block returned starting the location specified in  .LABFN
|  will take the form of a Short Connect Block, unless Bit 0 (LA.BCT) was
|  set in the first word  of  the  argument  list.   In  this  case,  the
|  extended  connect block format is returned for each active connection.
|  The Short Connect Block is described in Table 22-3.
|  
|  Table 22-4 describes the Extended Connect Block.
|  
|  
|  
|  Table 22-5:  LATOP. Short Connect Block
|  
|  
|  
|  
|   0--------------------------17  18--------------------------35
|  +--------------------------------------------------------------+
|  |                    Terminal Number                           |
|  |--------------------------------------------------------------|
|  | Server name count            |   Indeterminate               |
|  |--------------------------------------------------------------|
|  |                   Server Name (4 words)                      |
|  +--------------------------------------------------------------+
|  
|  
|  
|  
|  Table 22-6:  LATOP. Extended Connect Block
|  
|  
|  
|  
|   0--------------------------17  18--------------------------35
|  +--------------------------------------------------------------+
|  |                    Terminal number                           |
|  |--------------------------------------------------------------|
|  | Server name count            |   Port type                   |
|  |--------------------------------------------------------------|
|  |                   Server name (4 words)                      |
|  |--------------------------------------------------------------|
|  | Port name count              |   Server name count           |
|  |--------------------------------------------------------------|
                                   22-249
   LATOP. [CALLI 221]


|  |                   Port name  (4 words)                       |
|  |--------------------------------------------------------------|
|  |                   Service name (4 words)                     |
|  +--------------------------------------------------------------+
|  
|  
|  The Port Type returned in the right half of addr+1 may be one  of  the
|  following:
|  
|  Code      Symbol    Port Type
|  
|  1         .LATTY    Standard LAT terminal connection
|  2         .LADLP    Dial-up LAT terminal connection
|  3         .LAAPP    LAT application terminal



   22.81.6  Function Code 4 (.LASAS) to show adjacent servers


   Shows adjacent servers.  This function returns information  about  LAT
   servers  that  are able to access the local node.  The function can be
   used to obtain information about all the servers, or only  information
   about a specific server.

   The argument block for this function is:

   Word      Symbol    Contents

   0         .LAACT    EXP     len
   1         .LAFCN    EXP     .LASAS
   2         .LABCT    EXP     buffer-length
   3         .LABFA    Buffer-addr
   4         .LAQUA    Buffer-pointer (optional)

   Where len is the length of the argument list.

   The buffer-length contains the number of words reserved for  the  Show
   Adjacent  Servers  Block.  Buffer-addr is the location where the block
   is returned.

   The Buffer-pointer (.LAQUA) is an optional word that  may  contain  an
   ASCIZ  string  pointer  to a location containing the server name.  You
   specify .LAQUA to receive information about  a  specific  LAT  server.
   This returns a Full-format Server Block.

   To return a summary of all servers, place  a  zero  in  .LAQUA.   This
   returns the Short-format Server Block at the location in .LABFA.






                                   22-250
                                                       LATOP. [CALLI 221]


   Table 22-7:  LATOP.  Show Adjacent Servers Full-Format Block




    0----------------------------17  18---------------------------35
   +----------------------------------------------------------------+
   |               Server Ethernet Address (2 words)                |
   |----------------------------------------------------------------|
   |       Frame size              | Server version                 |
   |----------------------------------------------------------------|
   |  Maximum slots                | Indeterminate                  |
   |----------------------------------------------------------------|
   |  Circuit timer                | Keep-alive timer               |
   |----------------------------------------------------------------|
   |  Product type                 | State                          |
   |----------------------------------------------------------------|
   |  Server-number                | Server-name count              |
   |----------------------------------------------------------------|
   |  Server-location count        | Unused                         |
   |----------------------------------------------------------------|
   |               Server name (4 words)                            |
   |----------------------------------------------------------------|
   |               Server location (4 words)                        |
   +----------------------------------------------------------------+



   Table 22-8:  LATOP.  Show Adjacent Servers Short-Format Block




    0-----------------------17  18--------------------------35
   +----------------------------------------------------------+
   | Server number            | Server-name count             |
   |----------------------------------------------------------|
   |                 Server name (4 words)                    |
   |----------------------------------------------------------|
   |               Ethernet-address (2 words)                 |
   +----------------------------------------------------------+




   22.81.7  Function Code 5 (.LASCO) to show LAT counters


   Shows counters.  This  function  returns  information  about  the  LAT
   counters in the Counter Block.  The argument list is:

   Word      Symbol    Contents

   0         .LAACT    EXP     len
                                   22-251
   LATOP. [CALLI 221]


   1         .LAFCN    EXP     .LASCO
   2         .LABCT    EXP     buffer-length
   3         .LABFA    Buffer-addr
   4         .LAQUA    Buffer-pointer (optional)

   Where len is the length of the argument block.

   The number of words reserved for the Counters Block  is  specified  in
   .LABCT,  and  the  location  where the buffer should be returned is in
   .LABFA.

   You can obtain counters information about a  specific  LAT  server  by
   including  an  optional  ASCIZ  string pointer in .LAQUA.  The pointer
   must point to an ASCIZ string containing the server name.   To  obtain
   the counter totals for all servers, leave this word zero.

   The monitor returns a Counter Block at the  address  Buffer-addr,  and
   adjusts  the  value  in  .LABCT  to reflect the actual number of words
   returned.  The format of the Counter Block is show below.



   Table 22-9:  LATOP.  Counter Block Format




    0----------------------------17  18--------------------------35
   +---------------------------------------------------------------+
   |                      Messages Received                        |
   |---------------------------------------------------------------|
   |                      Messages Sent                            |
   |---------------------------------------------------------------|
   |                      Messages Retransmitted                   |
   |---------------------------------------------------------------|
   |                      Receive Sequence Errors                  |
   |---------------------------------------------------------------|
   |                      Illegal Messages Received                |
   |---------------------------------------------------------------|
   |                      Resource Failures                        |
   +---------------------------------------------------------------+




   22.81.8  Function Code 6 (.LAZCO) to zero LAT counters


   Zeroes  counters.   This  function,  which  requires  JACCT  or  [1,2]
   privileges,  can  be  used  to clear the counters reported in the Show
   Counters Block, returned by Function Code 5 (.LASCO).

   The argument list is:

                                   22-252
                                                       LATOP. [CALLI 221]


   Word      Symbol    Contents

   0         .LAACT    EXP     length
   1         .LAFCN    EXP     .LAZCO
   2         .LABCT    EXP     buffer-length
   3         .LABFA    Buffer-address
   4         .LAQUA    Buffer-pointer

   Where length is the length of the argument block.

   Specify the number of words containing the  Show  Counters  Block  for
   buffer-length  and  the location of the block for buffer-address.  You
   can use the argument block returned  by  the  monitor  from  the  Show
   Counters  function  (.LASCO)  to  set  up  the  argument list for this
   function.  Use the returned  Counters  Block  to  clear  the  counters
   before performing this function.

   As with .LASCO, this function allows an optional ASCIZ string  pointer
   in  the  argument  list  in  the  word  .LAQUA.  This string point, if
   included, points to a word containing the server name.   The  counters
   specific  to the server are returned when this pointer is specified in
   the Show Counters function.  By including this word  in  the  argument
   block  for  the  Zero  Counters function, you can clear counters for a
   specific server only.
|  
|  
|  
|  22.81.9  Function Code 7 (.LARHC) to request a connection
|  
|  
|  Request host-initiated connect.  This function requires JACCT or [1,2]
|  privileges.  The argument list is:
|  
|  Word      Symbol    Contents
|  
|  0         .LAACT    EXP len
|  1         .LAFCN    EXP .LARHC
|  2         .LAPRM    Parameter word.  The parameter word  is  formatted
|                      as follows:
|  
|                      Bits      Symbol    Meaning
|  
|                      0         LA.WAI    Blocking request.   When  this
|                                          bit  is  set, the request will
|                                          block until the connection  is
|                                          either made or rejected.  When
|                                          this bit is clear, the  status
|                                          must be checked repeatedly, or
|                                          the program may  use  the  PSI
|                                          System   (Software   Interrupt
|                                          System) to detect a  completed
|                                          connection.
|                      1         LA.QUE    Queued request.   The  request
|                                          for  the  application terminal
                                   22-253
   LATOP. [CALLI 221]


|                                          will  be  queued  at  the  LAT
|                                          server.
|                      2-8                 Reserved for DIGITAL.
|                      9-17      LA.CID    Contains the Connect-Id on the
|                                          return.
|                      18-35               Reserved for DIGITAL.
|  
|  3         .LAVAL    Contains  the  terminal  number  and  UDX   on   a
|                      successful return.  If the return in unsuccessful,
|                      this word contains a  rejection  code.   Rejection
|                      codes are listed in Table 22-n.
|  4         .LASVR    Server name.
|  5         .LASVC    Service name.
|  6         .LAPRT    Port name.
|  
|  The last three words of the argument list specify the server name, the
|  server  name  to  connect to, the service name requested, and the port
|  name to be connected to.  Each of  these  words  may  contain  a  byte
|  pointer  to  an  ASCIZ string, where the server name, service name, or
|  port name are stored.  These arguments are optional.
|  
|  You need not include all three arguments.  If you include  the  Server
|  name, Service name, and Port name in the argument list, the connection
|  request will fail if the specified port does not support the specified
|  service.  To initiate a connection successfully, you should supply the
|  arguments required by the program, as described here:
|  
|        o  To request a connection to any port on the  specified  server
|           offering  the  specified  service,  include  the  Server name
|           (.LASVR) and Service name (.LASVC).
|  
|        o  To  request  a  connection  to  the  specified  port  on  the
|           specified  server,  include  the Server name (.LASVR) and the
|           Port name (.LAPRT).
|  
|        o  If you specify the  Server  Name  (.LASVR)  only,  without  a
|           Service  name  or  Port name, the call takes the error return
|           with Error Code  6  (Invalid  or  unknown  LAT  service  name
|           (LASVC%)).
|  
|        o  If you specify the Service  Name  (.LASVC)  only,  without  a
|           Server  name  or  Port  name, the call takes the error return
|           with Error  Code  3  (Invalid  or  unknown  LAT  server  name
|           (LASVR%)).
|  
|        o  If you specify Port name (.LAPRT) only, without a Server name
|           or  Service  name, the call takes the error return with Error
|           Code 3 (Invalid or unknown LAT server name (.LASVR%)).
|  
|  Rejection codes are returned in the .LAVAL word (if LA.WAI is set) and
|  in  the  Status  Block  of the .LASHC function (described below).  The
|  possible rejection codes are:


                                   22-254
                                                       LATOP. [CALLI 221]


|  Table 22-10:  LATOP. Rejection Codes
|  
|  
|  
|  Code      Symbol    Meaning
|  
|  0         .LAUNK    Unknown error.
|  1         .LAURD    User requested disconnect.
|  2         .LASSP    System shutdown in progress.
|  3         .LAISR    Invalid slot received.
|  4         .LAISC    Invalid service class.
|  5         .LAIRS    Insufficient resources.
|  6         .LASIU    Service is in use.
|  7         .LANSS    No such service.
|  10        .LASDI    Service is disabled.
|  11        .LASNP    Service is not offered by requested port.
|  12        .LANSP    No such port name.
|  13        .LAIPW    Invalid password.
|  14        .LAENQ    Entry is not in the queue.
|  15        .LAIAR    Immediate access rejected.
|  16        .LAACD    Access denied.
|  17        .LACSR    Corrupted solicit request.
|  20        .LACTI    Command type code is illegal
|  21        .LASCS    Start slot can't be sent
|  22        .LAQED    Queue entry deleted by local node
|  23        .LAIRP    Inconsistent or illegal request parameters
|  
|  
|  
|  22.81.10  Function Code 10 (.LATHC) to terminate a connection
|  
|  
|  Terminates a host-initiated connection.  This function requires  JACCT
|  or [1,2] privileges.  The argument list is:
|  
|  Word      Symbol    Contents
|  
|  0         .LAACT    EXP length
|  1         .LAFCN    EXP .LATHC
|  2         .LAPRM    Parameter word (described below)
|  
|  Where the parameter word contains the following information:
|  
|  Bits      Symbol    Meaning
|  
|  0         LA.WAI    Ignored.
|  1         LA.QUE    Ignored.
|  2         LA.SYS    Ignored.
|  3         LA.JOB    If this bit is set, the LATOP. UUO will  terminate
|                      all host-initiated requests for this job.
|  4-17                Reserved for Digital.
|  18-35     LA.CID    Connect-Id.  If LA.JOB is cleared, then  terminate
|                      the  host-initiated  request  for  this connect-id
|                      (returned by the .LARHC function).
                                   22-255
   LATOP. [CALLI 221]


|  22.81.11  Function  Code  11  (.LASHC)  to  show   information   about
|            connections
|  
|  
|  Shows information about  host-initiated  connections.   This  function
|  requires JACCT or [1,2] privileges.  The argument list is:
|  
|  Word      Symbol    Contents
|  
|  0         .LAACT    EXP length
|  
|  1         .LAFCN    EXP .LASHC
|  
|  2         .LABCT    Buffer count word, formatted as:
|  
|                      Bits      Symbol    Meaning
|  
|                      0-8                 Reserved for DIGITAL.
|                      9-17      LA.CID    Connect-id or zero.
|                      18-35     LA.BCT    Number of words  reserved  for
|                                          the  information  that will be
|                                          returned.  On return, the left
|                                          half of this word will contain
|                                          the  actual  number  of  words
|                                          used.
|  
|  3         .LABFA    Address of the buffer where the  information  will
|                      be returned
|  
|  The information returned at the address specified in .LABFA takes  the
|  form  of  one  Status  Block  for each pending connection.  The Status
|  Block is formatted as shown here:
|  
|  
|  Table 22-11:  LATOP. Status Block
|  
|  
|  
|  +-------------------------------------------------+
|  | Job number             | Connect-id             |
|  |-------------------------------------------------|
|  | Status Field (below)   | Queue depth            |
|  |-------------------------------------------------|
|  | Server-name count      | Port-name count        |
|  |-------------------------------------------------|
|  |         Server-name (4 words)                   |
|  |-------------------------------------------------|
|  |         Port-name (4 words)                     |
|  |-------------------------------------------------|
|  | Service-name count     | Indeterminate          |
|  |-------------------------------------------------|
|  |           Service-name (4 words)                | 
|  +-------------------------------------------------+

                                   22-256
                                                       LATOP. [CALLI 221]


|  The status field in the left half of addr+1 may  contain  any  of  the
|  following:
|  
|        o  A rejection code (described in Table 22-n)
|  
|        o  A Universal Device Index for a terminal
|  
|        o  One of the following status codes
|  
|  
|  Code      Symbol    Meaning
|  
|  377777    .LASOL    Soliciting.
|  377776    .LAQUE    Queued.
|  377775    .LACAN    Cancelled.
|  377774    .LATMO    Timed out.

   SKIP RETURN

   On a successful completion of the monitor call,  the  skip  return  is
   taken,  the requested information is stored in the locations described
   in the argument list for  each  function,  and  the  ac  contains  the
   address of the argument list.

   Several LATOP.  functions return information in a buffer  starting  at
   the  address  stored  in  Word  3  of the argument block, .LABFA.  The
   functions and the format of the information returned are  listed  with
   the function codes.

   ERROR RETURN

   On an error return, the non-skip return is taken, and the ac  contains
   an error code.  The error codes are:

   Code      Symbol    Meaning

   0         LABTS%    The buffer size you allocated was  too  small  for
                       the  amount  of information available.  The actual
                       number of words that are required is stored in the
                       left half of .LABCT.
   1         LAVOR%    Value of a parameter is outside the allowed range.
   2         LALNO%    LAT is not operational.
   3         LASVR%    Invalid or unknown LAT server name.
   4         LAIPN%    Invalid LAT parameter.
   5         LAIPV%    Invalid LAT parameter value.
   6         LASVC%    Invalid or unknown LAT service name.
   7         LAILR%    Insufficient LAT resources.
   10        LAHAS%    LAT host name already set.
   11        LAIVF%    Invalid function code.
   12        LAABS%    Argument list too small.
   13        LAADC%    Address check for argument list (specified address
                       not in memory)
   14        LAPRV%    Not enough privileges.
|  15        LAPRT%    Invalid or unknown LAT port name.
                                   22-257
   LATOP. [CALLI 221]


|  16        LACID%    Invalid or unknown LAT connect-id.
|  17        LAABL%    Argument list too large.
|  



















































                                   22-258
                                                       LLMOP. [CALLI 220]


   22.82  LLMOP.  [CALLI 220]


   Function

   Performs functions for the network management layer of  DECnet.   This
   call  is  used  only by the NML program and is not intended for use in
   customer programs.  The LLMOP. UUO may  change  at  any  time  without
   notice.  This call requires [1,2], JP.POK, or JACCT privileges.

   Calling Sequence

                MOVE   ac1, fcncode
                XMOVEI ac2, addr
                LLMOP. ac2,
                error return
                skip return

        where:  fcncode is the function code.  The argument  block  found
                at  addr  is  specific  to the function code contained in
                ac1.

                addr is the address of the argument block.

   Function codes for LLMOP.  are:

   Code         Symbol   Function

   0            .ELDIR   Builds an Ethernet loopback  message  from  data
                       supplied  in  the argument block, and transmits it
                       to the destination address.   The  argument  block
                       is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID.  Bits  34  and  35
                                           (LM.CID)  contain the value of
                                           the Ethernet port to use.

                       1-2       .LMDST    Destination address.

                       3         .LMREQ    Request number, containing:

                       Bits      Symbol    Meaning

                       0         LM.AIC    Assigns   interrupt    channel
                                           specified in LM.ICH.

   12-17     LM.ICH    Contains PSI channel to interrupt when the message
                       arrives.

   18-35     LM.REQ    Contains the request  number  returned  by  LLMOP.


                                   22-259
   LLMOP. [CALLI 220]


                       This value is used in function .ELRPY.

                       Word      Symbol    Contents

                       4         .LMRBL    Length of the loopback request
                                           data  buffer.   The right half
                                           (LM.MBL) contains  the  length
                                           of  the  data  portion  of the
                                           loopback message.

                       5         .LMRBP    Pointer  to  loopback  request
                                           data buffer.

   1         .ELAST    Builds an Ethernet loopback message, and transmits
                       it  according  to the type of assistance required.
                       The first words in  the  argument  block,  .LMCID,
                       .LMDST,  .LMREQ, .LMRBL, and .LMRBP, are described
                       in function .ELDIR.  The remainder of the argument
                       block is:

                       Word      Symbol    Contents

                       6-7       .LMAST    Address of the  node  used  as
                                           the  assistant in the loopback
                                           request.  This may  not  be  a
                                           multicast address.

                       10        .LMHLP    Assistance  level.   Level  1,
                                           .LMXMT,  forwards the loopback
                                           message    to     both     the
                                           destination  and  local nodes.
                                           Level 2, .LMRCV, forwards  the
                                           loopback  message to assistant
                                           and  local  nodes.   Level  3,
                                           .LMFUL,  forwards  the message
                                           to destination, assistant, and
                                           local nodes.

   2         .ELRPY    Reads the loopback reply  message.   The  argument
                       block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID.  Bits  34  and  35
                                           (LM.CID)  contain the value of
                                           the Ethernet port to use.

                       1-2       .LMSRC    Address of the  remote  system
                                           that satisfied a loop assisted
                                           operation.

                       3         .LMREQ    Request  number.   The   right


                                   22-260
                                                       LLMOP. [CALLI 220]


                                           half   (LM.REQ)  contains  the
                                           request number of the reply to
                                           be   read.    The   caller  is
                                           blocked   until   the    reply
                                           arrives.

                       4         .LMRBL    Length of  the  loop  response
                                           buffer.     The    left   half
                                           (LM.RML)  contains  on  return
                                           the  length  of  the  received
                                           loop reply message data.   The
                                           right  half (LM.MBL) holds the
                                           maximum  length  of  the  loop
                                           response  message  buffer that
                                           you supply.

                       5         .LMRBP    Pointer to loop reply buffer.

   3         .ELAIC    Assigns interrupt channel  for  Ethernet  loopback
                       reply.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, where Bits 34  and
                                           35  (LM.CID) contain the value
                                           of the Ethernet port to use.
   Code      Symbol    Function

                       Word      Symbol    Contents

                       1         .LMICF    Interrupt  channel  flags,  in
                                           the form:

   Bits      Symbol    Meaning

   0         LM.AIC    Assigns the interrupt channel given in LM.ICH when
                       lit.

   12-17     LM.ICH    Contains the PSI channel  to  interrupt  when  the
                       loopback message arrives.

   4         .ELABT    Aborts the loop request.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, where bits 34  and
                                           35  contain  the  value of the
                                           Ethernet port to use.

                       3         .LMREQ    Request  number.   The   right
                                           half,   LM.REQ,  contains  the
                                           number of the  request  to  be


                                   22-261
   LLMOP. [CALLI 220]


                                           aborted.

   5         .ELSTS    Obtains status of Ethernet loopback requests.  The
                       argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, where bits 34  and
                                           35  contain  the  value of the
                                           Ethernet port to use.
   Code      Symbol    Function

                       Word      Symbol    Contents

                       1         .LMSTF    Status code for  the  request.
                                           The    right   half,   LM.RTC,
                                           contains one of the  following
                                           status codes:

   Code      Symbol    Status

   0         .LMPND    Request pending, incomplete.

   1         .LMSUC    Request completed successfully.

   2         .LMABT    Request aborted.

   3         .LMTXF    Transmit failed.

   4         .LMCCE    Channel communication error.

                       2         .LMCST    Status returned from the  KLNI
                                           port driver.

                       3         .LMREQ    Request  number.   The   right
                                           half,   LM.REQ,  contains  the
                                           number of the  request  to  be
                                           aborted.

   6         .RCRID    Transmits a Read Identify protocol message to  the
                       destination address node on the Ethernet.  Use the
                       .RCRPY  function  to  read  the  System  ID  reply
                       message.   The argument block is identical to that
                       of function .ELDIR.  The value returned in  LM.REQ
                       of  .LMREQ  must be used in any subsequent .RCRPY,
                       .RCABT, or .RCSTS calls.

   7         .RCRCT    Transmits a Read Counters protocol message to  the
                       destination address node on the Ethernet.  Use the
                       .RCRPY  function  to  read  the  System  ID  reply
                       message.   The argument block is identical to that
                       of function .ELDIR.


                                   22-262
                                                       LLMOP. [CALLI 220]


   10        .RCIDS    Transmits a System  ID  protocol  message  to  the
                       destination  address  node  on the Ethernet.  This
                       function blocks the program until the transmit  is
                       completed.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, where bits 34  and
                                           35  (LM.CID) contain the value
                                           of the Ethernet port to use.

                       1-2       .LMDST    Destination address.

   11        .RCRBT    Transmits  a  Boot   protocol   message   to   the
                       destination  address node on the Ethernet.  .RCRBT
                       blocks the issuing process until the  transmit  is
                       completed.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, where bits 34  and
                                           35  (LM.CID) contain the value
                                           of the Ethernet port to use.

                       1-2       .LMDST    Destination node address.

                       3-4       .LMPWD    8-byte verification code.  The
                                           code  is  transmitted  to  the
                                           remote system, which  uses  it
                                           in  deciding  whether to allow
                                           the boot request.   The  8-bit
                                           bytes  are  packed  four  to a
                                           word.

                       5         .LMCIF    Control  information,  in  the
                                           form:

   Bits      Symbol    Meaning

   26        LM.BDV    Specifies the boot device, where 0  indicates  the
                       system  default,  and  1  represents  a  specified
                       device.












                                   22-263
   LLMOP. [CALLI 220]


   Code      Symbol    Function

   Bits      Symbol    Meaning

   27        LM.BSV    Specifies the boot server, where 0 is  the  system
                       default, and 1 indicates requesting a system.

   28-35     LM.PRO    Specifies the processor to boot.  0 indicates  the
                       system    processor,    and   1   represents   the
                       communication processor.

                       Word      Symbol    Contents

                       6         .LMDID    Device ID  in  an  8-bit  byte
                                           string.

                       7         .LMSID    Software ID in an  8-bit  byte
                                           string.

   12        .RCRPY    Reads  the  response  to  a  request  ID  or  Read
                       Counters  function.   The  format  of the argument
                       block is the same as for .ELRPY.  .LMSRC  contains
                       the   address  of  the  responding  node.   .LMRBL
                       contains the returned message length,  and  .LMRBP
                       contains a pointer to the response buffer.

   13        .RCRSV    Transmits a reserve remote  console  MOP  message.
                       The  argument  block  contains .LMCID, .LMDST, and
                       .LMPWD, as described in function .RCRBT.

   14        .RCREL    Transmits a release remote  console  MOP  message.
                       The argument block contains .LMCID and .LMDST.






















                                   22-264
                                                       LLMOP. [CALLI 220]


   Code      Symbol    Function

   15        .RCSND    Sends ASCII  console  command  data  to  a  remote
                       console  and  polls  for  response  data.   If  no
                       command data is included, the function only  polls
                       for response data.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, in the form:

   Bits      Symbol    Meaning

   16        LM.CBF    Command break flag.  If this bit is set,  a  break
                       condition  in  the serial byte stream precedes the
                       command data buffer.

   17        LM.MNO    Message  number,  which  is  a  one-bit   sequence
                       number,  indicating  the current Console Requestor
                       command message.

   34-35     LM.CID    Channel ID.

                       Word      Symbol    Contents

                       1-2       .LMDST    Destination address.

                       3         .LMREQ    Request number,  as  described
                                           in .ELDIR.

                       4         .LMRBL    Length  of   console   request
                                           buffer.    The   right   half,
                                           LM.MBL, contains  the  maximum
                                           buffer length.

                       5         .LMRBP    Pointer to the remote  console
                                           data buffer.

















                                   22-265
   LLMOP. [CALLI 220]


   Code      Symbol    Function

   16        .RCPOL    Polls for completion of the Send  Console  Command
                       function.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID and returned flags,
                                           in the form:

   Bits      Symbol    Meaning

   7         LM.RDL    Indicates that received data was lost.   The  flag
                       is set by the local requestor if the response data
                       buffer was too small to receive the data from  the
                       remote node.

   15        LM.RDO    Indicates that response data was lost,  due  to  a
                       buffer overrun or error condition.

   16        LM.CDL    Indicates that command data was lost.   This  flag
                       is  set  if  command  data  in the Console Command
                       message was lost.  The  remote  server  sets  this
                       bit.






























                                   22-266
                                                       LLMOP. [CALLI 220]


   Code      Symbol    Function

   Bits      Symbol    Meaning

   17        LM.MNO    Message  number,  which  is  a  one-bit   sequence
                       number,  indicating  the current Console Requestor
                       command message.

   34-35     LM.CID    Channel ID.

                       Word      Symbol    Contents

                       1-2       .LMSRC    Source   node   and   physical
                                           address  of the node that sent
                                           this reply.

                       3         .LMREQ    Request   ID,   assigned    by
                                           .RCSND.

                       4         .LMRBL    Length  of  console   response
                                           buffer.   The  format  of  the
                                           buffer is described in .ELRPY

                       5         .LMRBP    Pointer to the remote  console
                                           data buffer.

   20        .RCABT    Aborts an outstanding remote console request.  The
                       argument block is identical to that of .ELABT.

   21        .RCSTS    Obtains status of a remote console  request.   The
                       argument block is identical to that of .ELSTS.























                                   22-267
   LLMOP. [CALLI 220]


   Code      Symbol    Function

   22        .RCADR    Obtains a channel address.  The argument block is:

                       Word      Symbol    Contents

                       0         .LMCID    Channel ID, where bits 34  and
                                           35  contain  the  value of the
                                           Ethernet port to use.

                       1-2       .LMHWA    Hardware address.

                       3-4       .LMPYA    Physical address.

   skip Return

   On a successful completion, the requested functions are performed, and
   any  returns  are made as specified in the description of the function
   code.

   Error Return

   One of the following codes is returned in the ac:

   Code      Symbol    Error

   1         LMPRV%    Program has insufficient privileges.
   2         LMIIF%    Program specified an illegal function.
   3         LMICN%    Program specified an illegal channel number.
   4         LMOFF%    LLMOP. is off.
   5         LMADC%    An address check was performed.























                                   22-268
                                                        LOCATE [CALLI 62]


   22.83  LOCATE [CALLI 62]


   Function

   Changes the logical node  number  for  the  current  job.   This  call
   functions  in  the  ANF-10 network to allow you to route device I/O to
   devices at other nodes.  Subsequent references to output devices (such
   as  line  printers)  and  input  devices  (such as card readers), when
   implicitly requested or generically referenced,  will  be  assumed  to
   refer to devices on the node you specify with this call.

   Calling Sequence

                / MOVE ac,[SIXBIT/nodename/] \
                \ MOVEI ac,nodenumber /
                LOCATE ac,
                error return
                skip return

        where:  nodename is the SIXBIT physical name of a node.

                nodenumber is one of the following:

             -1        Changes your job's location to the  physical  node
                       of your terminal.

             0         Changes your job's location to that  of  the  host
                       computer.

             n         Changes your job's  location  to  node  number  n,
                       where n is a positive integer.

   SKIP RETURN

   The location of your job is  changed  as  specified.   Any  subsequent
   generic  device specifications are associated with the new node number
   and node name.

   Error Return

   The error return occurs if the LOCATE monitor call is not  implemented
   on  your  system,  or  if you specified an invalid node number or node
   name.










                                   22-269
   LOCATE [CALLI 62]


   Examples

             MOVEI     T1,3
             LOCATE    T1,
             JRST      ERROR

   Locates your job at node number 3.

   RELATED CALLS

   WHERE











































                                   22-270
                                                          LOCK [CALLI 60]


   22.84  LOCK [CALLI 60]


   Function

   Locks the current job into user  memory.   Note  that  there  are  two
   calling   sequences  for  LOCK.   The  standard  calling  sequence  is
   described under Calling Sequence 1 and the extended  calling  sequence
   is  described under Calling Sequence 2.  The extended calling sequence
   locks a segment starting at a specified page in physical memory.

   The default function of this call locks the segments of the program as
   set  by bits 17 and 35 in the accumulator.  Bit 17 must be set to lock
   the high segment; bit 35 must be set to lock  the  low  segment.   The
   specified  segment(s)  is  locked into physically contiguous memory in
   contiguous executive virtual memory space, unless you set flags in the
   accumulator to specify otherwise.

                                    NOTE

           Programs using user mode  extended  addressing  cannot
           use the LOCK monitor call.

   For more information about locking jobs, refer to Chapter 9.

   Calling Sequence 1

                MOVE    ac,[flags]
                LOCK    ac,
                error return
                skip return

        where:  flags include one or more of the following bits:

   Bit       Symbol    Function

    14       LK.HLC    Locks the high segment in user core and  sets  its
                       cache  bit.   If this bit is off, the high segment
                       is locked with its cache bit off.  KL10 processors
                       will  run  your  program faster if you use LK.HLC;
                       however, for a real-time program that  has  direct
                       access to memory, you should not set LK.HLC.

    15       LK.HNP    Locks the high segment without forcing the job  to
                       be  locked  into  physically contiguous locations.
                       If this bit is not set,  physical  contiguity  for
                       the locked high segment is required.







                                   22-271
   LOCK [CALLI 60]


    16       LK.HNE    Locks the  high  segment  without  forcing  it  to
                       reside  in  executive virtual memory.  If this bit
                       is not set, the locked high segment must reside in
                       executive virtual memory.

                                              NOTE

                           For  executive-mode,  real-time  trapping,
                           your  high  segment  must  be  locked into
                           contiguous executive virtual memory.

    17       LK.HLS    Locks the high segment.  Without this bit set, the
                       high  segment  will  not be locked, and bits 14-16
                       will be ignored.

    32       LK.LLC    Locks the low segment in user core  and  sets  its
                       cache bit.  If this bit is off, the low segment is
                       locked with its cache bit  off.   Processors  will
                       run   your  program  faster  if  you  use  LK.LLC;
                       however, for a real-time program that  has  direct
                       access to memory, you should not set LK.LLC.

    33       LK.LNP    Locks the low segment without requiring physically
                       contiguous locations for the low segment.  If this
                       bit is not set, the low  segment  must  be  locked
                       into physically contiguous locations.

    34       LK.LNE    Locks the low segment without  requiring  the  low
                       segment to reside in executive virtual memory.  If
                       this bit is not  set,  the  low  segment  must  be
                       locked into executive virtual memory.

                                              NOTE

                           For  executive-mode,  real-time  trapping,
                           your  low  segment  must  be  locked  into
                           contiguous executive virtual memory.

    35       LK.LLS    Locks the low segment.  If this bit is clear,  the
                       lowseg  will not be locked, and bits 32-35 will be
                       ignored.













                                   22-272
                                                          LOCK [CALLI 60]


   Calling Sequence 2
|  
|               MOVE    ac,[XWD -n,addr]
|               LOCK    ac,
|               error return
|               skip return
|               . . .
|  addr:        argument-list
|  
|       where:  n is the number of arguments plus  one,  expressed  as  a
|               negative value.
|  
|               addr is the address of the argument list.   The  argument
|               list depends on the function code you specify in the next
|               word.
|  
|               fcn-code is one of the function codes described below.
|  
|               hiseg is set if the high segment is to be locked.  lowseg
|               is set if the low segment is to be locked.
|  
|                      Code      Symbol    Meaning
|  
|  0         .LKPPN    Locks  the  high  and/or  the  low  segment   into
|                      contiguous   physical   pages,   starting  at  the
|                      physical   page   number    specified    in    the
|                      argument-list.   The argument list is formatted as
|                      follows:
|  
|                      addr:     EXP       .LKPPN
|                                XWD       high-seg,lowseg
|  
|                      The contents of addr+1 specify the pages to  lock.
|                      The left half of addr+1 contains the starting page
|                      number of the high segment; if this halfword is 0,
|                      the high segment is not locked.  The right half of
|                      addr+1 contains the starting page  number  of  the
|                      low  segment;  if  this  halfword  is  0,  the low
|                      segment is not locked.
|  
|  1         .LKSGL    Locks a list of segments.  This function  is  used
|                      for  locking  multiple  high segments for the same
|                      job.   The  argument-list  for  this  function  is
|                      formatted as follows:
|  
|                      addr:     EXP       .LKSGL 
|                                EXP       flags+segment-no
|  
|                      The contents of addr+1 include flag  bits  in  the
|                      left half and the segment number of the segment to
|                      be lock in the right half.   If  you  specify  the
|                      segment  number  as  0,  the  low  segment will be


                                   22-273
   LOCK [CALLI 60]


|                      locked.
|  
|                      The flags you can include in the right half are:
|  
|                      Bits      Symbol    Meaning
|  
|                      1         LK.2PC    Lock   the    segments    into
|                                          physically  contiguous memory.
|                                          The page number  is  specified
|                                          in Bits 6-17 (LK.2PP).
|                      2         LK.2EV    Lock the  segments  into  Exec
|                                          Virtual  Memory  (EVM).   On a
|                                          skip return, the  EVM  address
|                                          will  be returned in Bits 6-17
|                                          (LK.2EV).
|                      6-17      LK.2PP    Physical page number where the
|                                          segments  are  to be locked in
|                                          memory.  This  field  requires
|                                          that   you   also  set  Bit  1
|                                          (LK.2PC).
|                      6-17      LK.2SN    This   field   contains    the
|                                          segment number on a successful
|                                          return  with  Bit  2  (LK.2EV)
|                                          set.

   If you use  Calling  Sequence  2  when  the  system  is  running  with
   KL-paging  the  low  segment is locked into the second higher physical
   page.

   SKIP RETURN

   When using Calling Sequence 1, the monitor has locked the program into
   core.   If  physical  or executive virtual contiguity is required, the
   following information is stored in the ac:

   XWD       hiseg,lowseg

   In this format, the left half of the ac is the  address  of  the  high
   segment  (0  if  no  high  segment  exists).   The right half contains
   lowseg, the address of the low segment.

   If no contiguity is required, the ac is cleared.

   The monitor will lock your program  into  memory  and  take  the  skip
   return if all of the following conditions are met:

         o  The lock privilege bit (JP.LCK) is set for your job.

         o  The locked job would not prevent any other job from expanding
            to its guaranteed minimum (CORMIN).




                                   22-274
                                                          LOCK [CALLI 60]


         o  The locked job would not prevent any other current  job  from
            running.  (Note that unlocked jobs can exceed CORMIN.)

         o  For executive virtual  mapping,  the  locked  job  would  not
            exceed   the  maximum  amount  of  executive  virtual  memory
            available for locking.

         o  The job either has no high segment, or has  a  sharable  high
            segment.

         o  The job is not virtual and has a contiguous core image.

   When using Calling Sequence 2, the monitor locks the specified segment
   (contiguously  and physically) starting at the page in physical memory
   specified in your program.  If you specify that the low segment is  to
   be  locked,  the  monitor locks your job into the next higher physical
   page location than the one you specified in the  right  half  of  your
   argument.

   ERROR RETURN

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   0         LKNIS%    The LOCK call, or a feature you requested, is  not
                       implemented  on  your  system; or you attempted to
                       lock a nonsharable high segment.
   1         LKNLP%    No locking privilege.
   2         LKNCA%    Not enough core available; your locked  job  would
                       prevent running an unlocked job.
   3         LKNCM%    Not enough core for CORMIN; your job would prevent
                       maintaining CORMIN for unlocked jobs.
   4         LKNEM%    Not enough core for executive virtual memory; your
                       locked  job  would  exceed  the  maximum allowable
                       executive virtual  memory.   You  can  obtain  the
                       executive virtual memory maximum and in-use values
                       from the GETTAB table .GTCnV, where n is  the  CPU
                       number.  The maximum is in word 43 (%CVEVM) of the
                       table and the in-use value is in word 44 (%CVEVU).
   5         LKNIA%    Illegal flags specified.
   6         LKNPU%    Specified page not available.  You  would  receive
                       this  error  on  an  extended LOCK call if the two
                       segments would overlap, one or both segments would
                       overlap  another locked job or the monitor, or one
                       or both segments would be  outside  the  range  of
                       on-line memory.
   7         LKNAL%    Illegal movement specified.  You tried to  move  a
                       locked  segment  or place a segment into executive
                       virtual memory.

   RELATED CALLS


                                   22-275
   LOCK [CALLI 60]


         o  RESET

         o  UNLOK.



















































                                   22-276
                                                         LOGIN [CALLI 15]


   22.85  LOGIN [CALLI 15]


   Function

   Informs the monitor that a job has successfully logged in, and  passes
   certain  parameters  to  the monitor (including the project-programmer
   number).  The calling job must not be logged in.

   The LOGIN monitor call is used by the LOGIN and INITIA programs and is
   not intended for customer use.

   Calling Sequence

        MOVE    ac,[XWD -len,addr]
        LOGIN   ac,
        return
         ...
   addr:        proj,,prog             ;JBTPPN(.GTPPN)
        privilege bits                ;JBTPRV(.GTPRV)
        user-name                     ;first half, .PDNM1(.GTNM1)
        user-name                     ;second half, .PDNM2 (.GTNM2)
        charge #                      ;.PDCN0(.GTCNO)

        where:  len is the length of the argument list.

                addr is the address of the argument list.   The  data  in
                the argument list is to be passed to the monitor.

   Return

   The job is logged in, if it is not already logged in.

   RELATED CALLS

   ACCLG., CHGPPN, LOGOUT


















                                   22-277
   LOGOUT [CALLI 17]


   22.86  LOGOUT [CALLI 17]


   Function

   Releases all I/O devices associated with the calling job  and  returns
   them  to the monitor's pool of available devices, along with the job's
   allocated core and its job number.
|  
|  To perform this call, the user program should use the RUN UUO to  call
|  SYS:LOGIN.EXE, where SYS is the [1,4] area.
|  
|  The LOGOUT UUO has no error return.  If the calling program has  JACCT
|  privileges  and  is  named  LOGIN.EXE,  this  call  logs  out the job.
|  Otherwise, the call functions like an EXIT UUO.

   Calling Sequence

   LOGOUT
   return

   RELATED CALLS

   EXIT






























                                   22-278
                                                      LOOKUP [OPCODE 076]


   22.87  LOOKUP [OPCODE 076]


   Function

   Selects a file for input.  Use  FILOP. to  perform  a  LOOKUP  for  an
   extended  I/O  channel.   The  LOOKUP  call  is  meaningful  only  for
   directory devices (disk, DECtape, labelled magnetic tape), and for TSK
   devices (initiated for task-to-task communication).  It is a no-op for
   other devices, always taking the skip return for these.

   Calling Sequence

   The LOOKUP  monitor  call,  like  the  ENTER  call,  has  two  calling
   sequences:  one using a 4-word argument list and one using an extended
   argument list.  The argument lists for LOOKUP, ENTER, and RENAME  UUOs
   are  identical.   These are described in Section 11.13.  The four-word
   argument list is detailed in Section 11.13.1.  The  extended  argument
   list is described in Section 11.13.2.

   skip Return

   For DECtape, the monitor  returns  a  4-word  block  at  addr  in  the
   following form:

        Word      Contents

           0      The SIXBIT file name.

           1      The extension, creation date, and first block number:

                         Bits   Contents

                         0-17   The SIXBIT file extension.
                        18-20   The high-order three  bits  of  the  file
                                creation date.
                        21-25   Reserved.
                        26-35   The first physical (data) block number.

          2       Remainder of creation date:

                         Bits   Contents

                         0-23   Reserved.
                        24-35   The  low-order  12  bits  of   the   file
                                creation date.








                                   22-279
   LOOKUP [OPCODE 076]


        Word      Contents

          3       Length and address of file:

                         Bits   Contents

                         0-17   Negative   of   number   of   words    in
                                zero-compressed file.
                        18-35   Address of word preceding the first  word
                                of the file.

   For disk files, and labelled magtape files, refer to Sections  11.13.1
   and  11.13.2  for  the  argument blocks returned by LOOKUP, ENTER, and
   RENAME UUOs.

   Error Return

   The error codes for LOOKUP are the same as those for  ENTER,  and  are
   documented in Section 11.14.

   Examples

   For more information about doing I/O and  examples  using  the  LOOKUP
   call, refer to Chapter 11.






























                                   22-280
                                                       MERGE. [CALLI 173]


   22.88  MERGE.  [CALLI 173]


   FUNCTION
|  
|  Merges an .EXE file or a portion of an .EXE file  into  the  currently
|  loaded low segment in memory.
|  
|  CALLING SEQUENCE
|  
|            MOVEI     ac,addr
|            MERGE.    ac,
|              error return
|            skip return
|            ...
|  addr:     SIXBIT    /device/
|            SIXBIT    /filename/
|            SIXBIT    /extension/
|            EXP       0
|            XWD       / proj,prog \
|                      \ 0,addr1   /
|            XWD       / low-page,hi-page \
|                   | -n,,addr3          |
|                   | n,,addr3           |
|                      \ 0 (reserved)     /
|  
|  In the calling sequence, you can supply the following information:
|  
|        o  addr is the address of the 6-word argument block.
|  
|        o  device is the name of the  device  on  which  the  .EXE  file
|           resides.
|  
|        o  filename specifies the name of the .EXE file.
|  
|        o  extension specifies the extension of the .EXE file.
|  
|        o  proj,prog is the project-programmer number  representing  the
|           directory  in  which  the  .EXE file resides.  If you specify
|           this word as zero, your directory path is assumed.   If  this
|           word  is  [XWD  0,addr1],  addr1  points  to  a  PATH.  block
|           containing the full path specification for the  file.   Refer
|           to the description of the PATH.  monitor call for information
|           pertaining to the format of the PATH.  block.
|  
|        o  The last word of the argument block has three possible forms:
|  
|           1.  low-page and hi-page specify the lower-bound virtual page
|               number  and  the  upper-bound  virtual page number of the
|               .EXE file to be loaded into your low segment.




                                   22-281
   MERGE. [CALLI 173]


|           2.  -n,,addr2 indicates that each of the n  ranges  of  pages
|               given  in  addr2  (in  low-page,,hi-page  form) are to be
|               MERGEd.  This format saves you from  performing  multiple
|               MERGEs.
|  
|           3.  n,,addr2 indicates a section offset in addr2 for  merging
|               extended sections.  If you specify a section offset, Page
|               0 of the  .EXE  file  will  be  merged  into  the  target
|               section.

            4.  Placing zero in the  last  word  causes  the  low-segment
                pages in the .EXE file to be merged.


         o  The last word of the argument-list is reserved  and  must  be
            zero.


   SKIP RETURN

   The .EXE file pages are merged into the current low segment in memory.
   The accumulators are destroyed and channel 0 is released.

   Error Return

   The error return is taken if any  errors  are  detected;  the  monitor
   returns  an error code in the ac.  The possible error codes are listed
   in Chapter 11.

   RELATED CALLS

   GETSEG, RUN

   Common Programming Errors

         o  Forgetting to save the acs over the MERGE.

         o  Forgetting that channel 0 is destroyed.

         o  Attempting to MERGE high segment data.














                                   22-282
                                                       MONRT. [CALL 1,12]


   22.89  MONRT.  [CALL 1,12]


   Function

   Identical to the call:

             EXIT      1,

   See the EXIT monitor call.  Note that this function does not perform a
   RESET for your job.











































                                   22-283
   MSTIME [CALLI 23]


   22.90  MSTIME [CALLI 23]


   Function

   Returns the current time of day.

   Calling Sequence

             MSTIME    ac,
             return

   Return

   The time elapsed (in milliseconds) since midnight is returned  in  the
   ac.

   RELATED CALLS

   DATE, RUNTIM, TIMER


































                                   22-284
                                                        MTAID [CALLI 126]


   22.91  MTAID [CALLI 126]


   Function

   Associates a SIXBIT reel identifier with  a  specified  magnetic  tape
   drive.  This call requires JACCT or [1,2] privileges.

   Calling Sequence

          / MOVE    ac,[SIXBIT/device/]\
          |  MOVEI     ac,channo          |
          \ MOVEI    ac,udx            /
             MOVE      ac+1,[SIXBIT/reelid/]
             MTAID.    ac,
             error return
             skip return

        where:  device is the  SIXBIT  physical  or  logical  name  of  a
                device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

                reelid is the SIXBIT tape reel identifier, or 0 to  clear
                the current reelid.

   Note that your program can also clear the  reel  identifier  by  using
   function code 11 (MTUNL.) to the MTAPE monitor call; or by deassigning
   the drive, using the REASSI UUO.  All reel-specific error  counts  are
   cleared by the MTAID.  call in order that all accumulated data for the
   specific reel is accurate.

   skip Return

   The monitor has associated the tape reel identifier with the specified
   magtape device; the reel identifier is included in all media reports.

   Error Return

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   -2        MTINA%    Specified device is not available to your  job  or
                       your job is not privileged.
   -1        MTINX%    Specified device is nonexistent or not  a  magtape
                       device.





                                   22-285
   MTAID [CALLI 126]


   Examples

        MOVE    T1,[SIXBIT/MTA0/]
        MOVE    T1+1,[SIXBIT/REEL1/]
        MTAID.  T1,
        JRST    ERROR

   RELATED CALLS

   MTAPE, MTCHR., TAPOP.












































                                   22-286
                                                       MTAPE [OPCODE 072]


   22.92  MTAPE [OPCODE 072]


   Function

   Passes the monitor a code for an extended set of  calls;  these  calls
   perform  functions  for  magnetic tapes and are usually called MTAPEs.
   Use FILOP. or TAPOP. to perform magnetic tape or DECtape functions  on
   extended I/O channels.

   Each defined MTAPE code also has a symbolic name; in this chapter  the
   MTAPEs  are  discussed  in  alphabetical  order  by  their names.  For
   example, MTAPE 3 has the name MTEOF.; its function is discussed  under
   the name MTEOF.

   Magtape I/O is described in Chapter 14.

   The MTAPEs are:

                          MTWAT.  [MTAPE 0]
                          MTREW.  [MTAPE 1]
                          MTEOF.  [MTAPE 3]
                          MTSKR.  [MTAPE 6]
                          MTBSR.  [MTAPE 7]
                          MTEOT.  [MTAPE 10]
                          MTUNL.  [MTAPE 11]
                          MTBLK.  [MTAPE 13]
                          MTSKF.  [MTAPE 16]
                          MTBSF.  [MTAPE 17]
                          MTDEC.  [MTAPE 100]
                          MTIND.  [MTAPE 101]
                          MTLTH.  [MTAPE 200]

   After your program issues the MTAPE monitor call,  the  monitor  waits
   for the magnetic tape to complete any action in progress.  The monitor
   then clears  bits  18-25  of  the  file  status  word,  initiates  the
   indicated  MTAPE  function,  and  returns  control immediately to your
   program.
















                                   22-287
   MTAPE [OPCODE 072]


   The I/O service routine may be reading several blocks  ahead  of  your
   program  when  performing  I/O in buffered mode.  The execution of the
   MTAPE monitor call affects only the physical position of the  magnetic
   tape  and does not change the data that has already been read into the
   buffer.  Therefore, when your program issues either an IN, INPUT, OUT,
   or  OUTPUT  call  after  the  MTAPE  monitor call, the monitor may not
   retrieve the buffer containing the block requested.  To guarantee that
   the  requested  block will be in the buffer, your program can set up a
   single buffer  ring.   With  a  single  buffer  ring  the  monitor  is
   prohibited from reading ahead, and it stops the device after every IN,
   INPUT, OUT, or OUTPUT monitor call.  Alternatively, your  program  can
   set  bit  30 (IO.SYN) in the I/O status word.  Setting this bit causes
   the monitor to stop the device after each buffer is filled on  an  IN,
   INPUT,   OUT,   OUTPUT,   or   FILOP. monitor  call.   Note  that  the
   FILOP. monitor call provides the functions of the MTAPE calls.







































                                   22-288
                                                        MTBLK. [MTAPE 13]


   22.93  MTBLK.  [MTAPE 13]


   Function

   Writes three inches of blank tape.  Use FILOP. to perform an MTBLR. on
   an extended I/O channel.

   Calling Sequence

        MTBLK.  channo,
        return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   Three inches of blank tape are written on the device  associated  with
   the given channel.

   Examples

                MTBLK.  5,

   Three inches of blank tape is written  to  the  magtape  on  the  unit
   associated with channel 5.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return where none exists.

   Forgetting to include a comma after the channel number.

















                                   22-289
   MTBSF. [MTAPE 17]


   22.94  MTBSF.  [MTAPE 17]


   Function

   Backspaces one file on a magtape.  Use FILOP. to perform an  MTBSF. on
   an extended I/O channel.

   Calling Sequence

                MTBSF.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor backspaces over one file on the device associated with the
   given  channel.   The  monitor moves the tape in the reverse direction
   until the tape has passed a tape mark or reached the beginning of  the
   tape.   The  backspace  operation  positions  the  tape  heads  either
   immediately in front of a tape mark or at the beginning of the tape.

   In most cases, your program should skip forward over the file mark  to
   the  beginning  of the file.  However, when you have backspaced to the
   beginning of the tape and when your program issues the  MTSKF.   call,
   the  monitor  skips the entire first file on the tape, stopping at the
   beginning of the second file rather than leaving the  tape  positioned
   at the beginning of the first file.  Therefore, a correct sequence for
   backspacing a file is:

        1.  MTBSF.  to backspace the file.

        2.  MTWAT.  to wait for completion

        3.  STATO MT,IO.BOT to determine whether this is the beginning of
            the tape.

        4.  MTSKF.  to skip over the file mark if it is not the beginning
            of the tape.

   It is necessary to wait after the MTBSF.  instruction to  ensure  that
   the  move is complete before testing to see whether or not this is the
   beginning of the tape, but your program can use the  MTWAT.   call  to
   wait for the spacing operation to be completed.








                                   22-290
                                                        MTBSF. [MTAPE 17]


   Examples

             MTBSF.  5,

   Backspaces over 1 file on the tape associated with channel 5.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.







































                                   22-291
   MTBSR. [MTAPE 7]


   22.95  MTBSR.  [MTAPE 7]


   Function

   Backspaces one record on a magtape device.  Use FILOP. to  perform  an
   MTBSR. on an extended I/O channel.

   Calling Sequence

                MTBSR.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor backspaces over one record on the device  associated  with
   the given channel.

   Examples

                MTBSR.  7,

   This call backspaces over a record  on  the  magtape  associated  with
   channel 7.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return where none exists.

   Forgetting to include a comma after the channel number.

















                                   22-292
                                                       MTCHR. [CALLI 112]


   22.96  MTCHR.  [CALLI 112]


   Function

   Returns information about the state of a magtape drive.

   Calling Sequence

         / MOVE ac,[SIXBIT/device/] \
        | MOVEI ac,channo             |
        | MOVEI ac,udx                |
         \ MOVE ac,[XWD len,addr]    /
                MTCHR.  ac,
                error return
                skip return
                . . .
   addr:        device-identifier ;applicable only if ac contains
                BLOCK   20  ;len,,addr

        where:  device is the  SIXBIT  physical  or  logical  name  of  a
                device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

   Optionally, you can specify the length and location  of  the  argument
   list  where  the  device  identifier  is  stored.   In  this case, the
   accumulator contains  len,,addr,  where  len  is  the  length  of  the
   argument list and addr is the address of the argument list.

   At  addr,  specify  the  device-identifier.    The   device-identifier
   contains  the  device  name,  UDX, or channel number.  On a successful
   return, the monitor will fill in the words starting at addr+1.

   skip Return

   The monitor returns a value in the ac, and, if you used  the  optional
   argument list, the monitor returns values beginning at addr+1.














                                   22-293
   MTCHR. [CALLI 112]


   The word returned in the ac is in the format:

   Bits      Symbol    Meaning

   0-17      MT.AWC    The word count of the last record read or written.
   18-26     MT.CRC    If a 9-track NRZI tape, this  field  contains  the
                       last cyclic redundancy character (CRC); otherwise,
                       this field contains 0.
   27-29     MT.NCR    The number of  characters  not  accounted  for  in
                       MT.AWC, read from the tape into the last addressed
                       location during the last read.
   30                  Reserved for use by DIGITAL.  Should contain 0.
        31   MT.7TR    The unit is a 7-track unit.
        32   MT.WLK    The tape transport is write-locked.
   33-35     MT.DEN    The tape density code:

                      Code      Symbol    Density

                      1  .MTDN2 200 bits per inch (8.1 rows per mm).
                           2    .MTDN5    556 bits per  inch  (22.5  rows
                                          per mm).
                           3    .MTDN8    800 bits per  inch  (32.2  rows
                                          per mm).
                           4    .MTD16    1600 bits per inch  (65.3  rows
                                          per mm).
                           5    .MTD62    6250 bits per inch (255.5  rows
                                          per mm).

   When the monitor determines the value of the density indicator  to  be
   returned,  it  examines  the I/O status bits you set in the OPEN call.
   The monitor returns the density identifier you set in the  OPEN  call.
   If  you  did  not use OPEN to specify a density indicator, the monitor
   determines whether or not you issued the SET DENSITY monitor  command.
   If  you  did,  the  monitor  returns,  in  the  ac, the same value you
   specified in the monitor command.  If neither, the monitor returns the
   system-default  density.   (Note  that  when  you  issue a GETSTS, the
   monitor examines only the I/O status bits set by the OPEN.  If you did
   not  specify  a  density  indicator with OPEN, the monitor returns a 0
   when you issue a GETSTS.  Therefore, when  you  issue  a  GETSTS,  the
   monitor does not further investigate the density indentifier or supply
   the system-default density indicator.)













                                   22-294
                                                       MTCHR. [CALLI 112]


   If you use the optional argument list, the  monitor  returns  data  at
   addr+1  and  the  subsequent  locations.   The  information,  starting
   addr+1, is returned as:

   Word      Symbol    Contents

   0         .MTCHN    Channel number.

   1         .MTRID    SIXBIT reel identifier of the tape.

   2         .MTWRD    Number of files read since the  beginning  of  the
                       tape.

   3         .MTREC    Number of records since last end-of-file.

   4         .MTCRD    Number of characters read since last tape unload.

   5         .MTCWR    Number  of  characters  written  since  last  tape
                       unload.

   6         .MTSRE    Number of soft read errors since last unload.

   7         .MTHRE    Number of hard read errors since last unload.

   10        .MTSWE    Number of soft write errors since last unload.

   11        .MTHWE    Number of hard write errors since last unload.

   12        .MTTME    Total number of read and write errors  since  last
                       tape unload.

   13        .MTTDE    Number of device errors since system startup.

   14        .MTTUN    Number of unloads since system reload.

   15        .MTRTY    Number of retries to resolve last error; if bit  1
                       is set, the error is a hard error.

   16        .MTCCR    Character  count  of  the  last  record  read   or
                       written.

   17        .MTPBE    Position before error.   The  file  number  before
                       last  error (right half), and record number before
                       last error (left half).

   20        .MTFES    Final error state.  Refer to  the  TOPS-10/TOPS-20
                       SPEAR Manual.







                                   22-295
   MTCHR. [CALLI 112]


   Error Return

   The error return is taken and -1 returned in the ac if the device  you
   specified was not a magnetic tape unit or was nonexistent.

   RELATED CALLS

   TAPOP.














































                                   22-296
                                                       MTDEC. [MTAPE 100]


   22.97  MTDEC.  [MTAPE 100]


   Function

   Initializes a channel for DIGITAL-compatible mode tape handling.   Use
   FILOP. to perform an MTDEC. on an extended I/O channel.

   In DIGITAL compatible mode, the monitor writes or reads 36 bits  in  5
   frames  of  a  9-track  magnetic tape.  The tape can be any density or
   parity and is not industry-compatible.  DIGITAL compatible mode is the
   default mode that is set when the channel is opened.

   The DIGITAL-compatible mode remains in effect  until  the  channel  is
   released, or until you issue the MTIND. monitor call for the channel.

   Calling Sequence

        MTDEC.  channo,
        return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The device associated  with  the  given  channel  is  initialized  for
   DIGITAL-compatible mode handling.

   Examples

                MTDEC.  11,

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return where none exists.

   Forgetting to include a comma after the channel number.












                                   22-297
   MTEOF. [MTAPE 3]


   22.98  MTEOF.  [MTAPE 3]


   Function

   Writes an end-of-file mark on a magtape.   Use  FILOP. to  perform  an
   MTEOF. on an extended I/O channel.

   Calling Sequence

                MTEOF.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor writes an end-of-file mark on the specified device.

   Examples

                MTEOF.  10,

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.





















                                   22-298
                                                        MTEOT. [MTAPE 10]


   22.99  MTEOT.  [MTAPE 10]


   Function

   Advances a magtape device to the logical or physical end-of-tape.  Use
   FILOP. to perform an MTEOT on an extended I/O channel.

   The logical end-of-tape is indicated by  two  consecutive  end-of-file
   marks.   The  MTEOT.  call positions the tape between these two marks,
   allowing files to be appended to the tape.

   Calling Sequence

                MTEOT.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor positions the tape between the two end-of-file marks  that
   indicate the end-of-tape.

   Examples

                MTEOT.  6,

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.
















                                   22-299
   MTIND. [MTAPE 101]


   22.100  MTIND.  [MTAPE 101]


   Function

   Initializes a channel for industry-compatible mode tape handling.  Use
   FILOP. to perform an MTIND. on an extended I/O channel.

   In industry-compatible mode, the monitor writes or reads 32 bits in  4
   frames  of  a  9-track magnetic tape, ignoring the low-order 4 bits of
   each PDP-10 word.  MTIND.  will set a default density to 1600 BPI,  or
   the highest density allowed on the drive.

   The industry-compatible mode remains in effect until  the  channel  is
   released, or until you issue the MTDEC. monitor call for the channel.

   Calling Sequence

                MTIND.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The device associated  with  the  given  channel  is  initialized  for
   industry-compatible mode handling.

   Examples

                MTIND.  10,

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.












                                   22-300
                                                       MTLTH. [MTAPE 200]


   22.101  MTLTH.  [MTAPE 200]


   Function

   Sets a flag to read the  next  record  on  the  given  device  at  low
   threshold  (TM10  only).   Use FILOP. to perform MTLTH. on an extended
   I/O channel.

   Calling Sequence

                MTLTH.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor sets a flag to read the next record from the given  device
   at low threshold.

   Examples

                MTLTH.  5,

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.



















                                   22-301
   MTREW. [MTAPE 1]


   22.102  MTREW.  [MTAPE 1]


   Function

   Rewinds a magtape.  Use FILOP. to perform MTREW. on  an  extended  I/O
   channel.

   Calling Sequence

                MTREW.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor rewinds the tape on the specified device.

   Examples

                MTREW.  5,

   Rewind the magtape associated with channel 5.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.



















                                   22-302
                                                        MTSKF. [MTAPE 16]


   22.103  MTSKF.  [MTAPE 16]


   Function

   Skips forward one file on a magtape  device.   Use  FILOP. to  perform
   MTSKF on an extended I/O channel.

   Calling Sequence

                MTSKF.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor skips forward one file on the specified  device,  using  a
   series of skip record operations.

   Examples

                MTSKF.  7,

   This call skips over a file on the magtape associated with channel 7.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.


















                                   22-303
   MTSKR. [MTAPE 6]


   22.104  MTSKR.  [MTAPE 6]


   Function

   Skips forward one record on a magtape device.  Use  FILOP. to  perform
   MTSKR. on an extended I/O channel.

   Calling Sequence

                MTSKR.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor skips forward one record on the specified device.

   Examples

                MTSKR.  7,

   This call skips a record on the magtape associated with channel 7.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.



















                                   22-304
                                                        MTUNL. [MTAPE 11]


   22.105  MTUNL.  [MTAPE 11]


   Function

   Unloads a magnetic tape.  Use FILOP. to perform MTUNL. on an  extended
   I/O  channel.   If the drive is under the control of MDA (under GALAXY
   Version 4.1 and later), this call only rewinds the tape.

   Calling Sequence

                MTUNL.  channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   The  MTUNL.   call  initializes   all   automatic   error   reporting.
   Therefore,  reel-specific  errors  can be summarized regardless of the
   method used to change reels.  An entry into the system error log  file
   (refer  to  the  TOPS-10/TOPS-20  SPEAR  Manual)  is  written  in  the
   following format:

             Drive number (in the form MTxn)
             SIXBIT/reelid/
             Number of characters read since last MTUNL.
             Number of characters written since the last MTUNL.
             Number of soft-read errors since the last MTUNL.
             Number of hard-read errors since the last MTUNL.
             Number of soft-write errors since the last MTUNL.
             Number of hard-write errors since the last MTUNL.

   These numbers will be output on both the operator's terminal and  your
   terminal (if WATCH MTA is set) in the following format:

        [MTxn:reelid READ (c/h/s)=a/b/c WRITE (c/h/s)=d/e/f]

        where:  x is an alphabetic representing the tape controller,

                n is a number representing the drive number.

                reelid is the reel identification.

                a is the number of characters read.

                b is the number of hard-read errors.

                c is the number of soft-read errors.

                d is the number of characters written.

                e is the number of hard-write errors.


                                   22-305
   MTUNL. [MTAPE 11]


                f is the number of soft-write errors.

   When a, b, and c are 0, the information pertaining to READ will not be
   printed.

   When d, e, and f are 0, the information pertaining to WRITE  will  not
   be printed.

   To prevent this message from being printed, you  can  use  SETUUO,  or
   type the .STWTC function of the following monitor command:

        .SET WATCH NO MTA

   Return

   The monitor rewinds the tape on the specified device.

   Examples

                MTUNL.  7,

   This call rewinds the tape associated with channel 7.

   RELATED CALLS

   FILOP., TAPOP.

   Common Programming Errors

   Including an error return when none exists.

   Forgetting to include a comma after the channel number.






















                                   22-306
                                                        MTUNL. [MTAPE 11]


                              MTWAT. [MTAPE 0]



   Function

   Stops program execution until all spacing and  I/O  operations  for  a
   magnetic  tape  device are completed.  Use FILOP. to perform MTWAT. on
   an extended I/O channel.  Your program should execute this call  after
   all tape-positioning operations.

   Calling Sequence

                MTWAT. channo,
                return

        where:  channo is the number  of  a  channel  initialized  for  a
                magtape device.

   Return

   The monitor resumes execution at return  after  all  spacing  and  I/O
   operations for the specified device are completed.

   RELATED CALLS

   TAPOP.

   Common Programming Errors

   Including an error return.























                                   22-307
   MVHDR. [CALLI 131]


   22.106  MVHDR.  [CALLI 131]


   Function

   Allows you to move the buffer ring control block  for  an  initialized
   channel  from  one  location to another.  This move is accomplished by
   changing the monitor's pointer to the ring control block.

   Calling Sequence

                MOVEI   ac,channo
                MOVE    ac+1,[XWD outring,inring]
                MVHDR.  ac,
                error return
                skip return

        where:  channo is the number of an initialized channel.

                outring is the new address  of  the  output  buffer  ring
                control block, or 0.

                inring is the  new  address  of  the  input  buffer  ring
                control block, or 0.

   outring and inring must be in your current low segment.

   If you give 0 as the address of either buffer ring control block,  the
   address is not changed.

   skip Return

   The pointers to the specified control blocks are changed.

   Error Return

   The following error code is returned in the ac:

   Code      Symbol    Error

   1         MVHDR%    Channel not initialized.

   If you specify an illegal address, the  monitor  halts  your  job  and
   displays the following error message:

        ?Illegal address in UUO at user PC nnnnnn








                                   22-308
                                                       NETOP. [CALLI 226]


   22.107  NETOP.  [CALLI 226]


   Function

   Indicates the  node  name  and  port  name  to  which  a  terminal  is
   connected.

   Calling Sequence

        XMOVEI  ac,arglst
        NETOP.  ac,
        error return
        skip return

        where:  arglst is the address of the argument list described
                below:

   Word      Symbol    Meaning

   0         .NOFCN    Contains the length of the argument block  in  the
                       left  half, and a function code in the right half.
                       You supply this information.  The only valid  code
                       is .NOGDI, function 1.  .NOGDI obtains information
                       about the specified terminal's connection.

   1         .NOFLG    Returns flags that indicate how your  terminal  is
                       connected.   If  no flag is returned, the terminal
                       is on a local line.  Flags are:

                     Bit        Symbol   Meaning

                           0    NO.ANF   The terminal  is  on  an  ANF-10
                                         node.
                           1    NO.DCN   The terminal is  hosted  through
                                         DECnet.
                           2    NO.LAT   The  terminal  is   on   a   LAT
                                         terminal server.

        2      .NODEV    The SIXBIT device name,  UDX,  or  open  channel
                       number of the TTY.  You supply this information.

   3           .NODCH    Returns  the  physical  characteristics  of  the
                       terminal,  in the same format as the return from a
                       DEVCHR  monitor  call.   Refer   to   the   DEVCHR
                       description for more information.

   4           .NODTY    Returns the physical properties of the terminal,
                       in  the  same  format  as the return from a DEVTYP
                       monitor call.  Refer to the DEVTYP description for
                       more information.



                                   22-309
   NETOP. [CALLI 226]


   Word      Symbol    Meaning

   5         .NONOD    The user-supplied address of a string  block  that
                       contains the node name string on return.  The left
                       half of the string block's first word contains the
                       length  of  the  returned  string.  The block will
                       contain up to 16 characters of node name.

   6         .NOPNM    The user-supplied address of a string block  which
                       contains the port name string on return.  The left
                       half contains the length of  the  returned  block.
                       ANF  port  names are returned as TTYnnn, where nnn
                       is the node-local line  number  in  octal.   CTERM
                       returns  nnnnnn, which is a left-justified (octal)
                       line number.  NRT does not  report  a  port  name.
                       LAT port names can be a maximum of 16 characters.

   skip Return

   Information about the terminal connection is returned as indicated  in
   the argument block description.

   Error Return

   One of the following error codes is returned in the ac:

   Code        Symbol    Error

   1           NOADC%    An address check was encountered.
        2      NOILF%    An illegal function code was specified.
        3      NOLTS%    The argument list is too short.
        4      NONSD%    No such device.
        5      NODNC%    The specified device is not connected.
        6      NONTY%    Device is not a TTY.




















                                   22-310
                                                       NETOP. [CALLI 226]


   Example

   Example of  the  NETOP.UUO,  which  indicates  where  your  own  job's
   terminal is connected.

                   SETO    T1,                     ;Refers to your job
                   TRMNO.  T1,                     ;Get the TTY's UDX
                     HALT                          ;
                   MOVEM   T1,ARGBLK+.NODEV        ;Put into arg block
                   MOVEI   T1,ARGBLK               ;Point to arg block
                   NETOP.  T1,                     ; or CALLI AC,226
                     HALT                          ;

           ARGBLK: XWD     7,.NOGDI   ;Length,,function code
           ARGFLG: BLOCK   1          ;Flags returned from NETOP.
           ARGDEV: BLOCK   1          ;User supplies device specifier 
                                      ; here
           ARGDCH: BLOCK   1          ;NETOP. returns DEVCHR UUO info here
           ARGDTY: BLOCK   1          ;NETOP. returns DEVTYP UUO info here
           ARGNOD: EXP     NODSPC     ;Address of string block to receive 
                                      ; node name
           ARGPNM: EXP     PORSPC     ;Address of string block to receive 
                                      ; port name
           NODSPC: XWD     0,5        ;Left half will receive string 
                                      ; length and 4 words (16 chars) 
                   BLOCK   4          ; worth of node name
           PORSPC: XWD     0,5        ;Left half will receive string length
                   BLOCK   4          ; and 4 words worth of port name


























                                   22-311
   NODE. [CALLI 157]


   22.108  NODE.  [CALLI 157]


   Function

   Performs miscellaneous functions associated with ANF-10 network nodes.

   Calling Sequence

        MOVE    ac,[XWD fcncode,addr]
        NODE.   ac,
        error return
        skip return
        . . .
   addr:        EXP len
        first argument
        . . .
        last argument

        Where:  fcncode is one of the function codes described below.

                addr is the address of the argument list.

                len is the length of the argument  list  (including  this
                word);  and  the  words  up  through  last  argument  are
                arguments for the specified function.

   The function codes and their meanings are:

   Code      Symbol    Function

   1         .NDALN    Reserved for use by DIGITAL.

   2         .NDRNN    Given either a node number or a node name, returns
                       the other in the ac.  The argument list for .NDRNN
                       is:

                       addr:     EXP       2
                                 node-id

                       Where node-id is the SIXBIT name or the octal node
                       number  of  the node.  If you specify a node name,
                       the node number is returned in  the  ac.   If  you
                       specify the node number, the node name is returned
                       in the ac.









                                   22-312
                                                        NODE. [CALLI 157]


   Code      Symbol    Function

   3         .NDSSM    Sends    special    network    station     control
                       (maintenance)  messages.   This  function requires
                       that the calling job be logged-in under  [1,2]  or
                       have  POKE.   privileges.   The  argument list for
                       .NDSSM is:

                       addr:     XWD       seconds,4
                                 node-id
                                 XWD       send-bytes,send-buffer
                                 XWD       receive-bytes,receive-buffer

                       where seconds is the number  of  seconds  to  wait
                       before  a  timeout  error  (NDTOE%)  occurs.  This
                       field  is  ignored  if  an  input  buffer  is  not
                       specified;  the  default  is eight seconds if 0 is
                       specified.

                       node-id is the SIXBIT  node  name  or  octal  node
                       number of the node.

                       send-bytes is the number  of  8-bit  bytes  to  be
                       sent.

                       send-buffer is the address of the  first  byte  of
                       the message.

                       receive-bytes  is  the  number  of  bytes  in  the
                       receive   buffer.   When  the  receive  buffer  is
                       filled, the monitor will set receive-bytes to  the
                       number of bytes actually stored in the buffer.

                       receive-buffer is the address  of  the  buffer  to
                       store the response.

                       If  the   value   for   both   receive-bytes   and
                       receive-buffer  is  0, the monitor returns control
                       to your program without  waiting  for  a  response
                       from the node.














                                   22-313
   NODE. [CALLI 157]


   Code      Symbol    Function

   4         .NDRBM    Receives bootstrap messages from  a  remote  node.
                       This  function  requires  that  the calling job be
                       logged-in under [1,2] or have  POKE.   privileges.
                       The argument list for .NDRBM is:

                       addr:     EXP       4
                                 0          ;returned node number
                                 0          ;not used
                                 XWD       count,addr

                       where count is the number of  8-bit  bytes  to  be
                       received.

                       addr is the first address of the buffer.  If there
                       is  a  boot  message  to  be  read,  the following
                       occurs:

                       1.  The second  word  of  the  argument  block  is
                           filled  in  with  the  number of the node that
                           sent the boot request station control message.

                       2.  The boot request message is  copied  into  the
                           input buffer.

                       3.  The count field  is  updated  to  reflect  the
                           actual number of bytes stored.

        5    .NDRCI    Returns the number of devices at each node  for  a
                       list  of  device  types.   The  argument  list for
                       .NDRCI is:

                       addr:     EXP       len
                                 node-id
                                 EXP       0 ;reserved
                                 BLOCK     buflength

                       where len is  the  length  of  the  argument  list
                       (len-1 = number of following arguments).

                       node-id is the SIXBIT name  of  the  node  or  the
                       octal node number.

                       The  word  following  the  node-id  must  be  zero
                       because it is reserved for use by DIGITAL.

                       buflength is the number of words  to  reserve  for
                       the returned data.





                                   22-314
                                                        NODE. [CALLI 157]


   Code      Symbol    Function

                       Your program must supply the device types  in  the
                       right  half  of each word starting at addr+3.  The
                       device types are returned by the DEVTYP  call  and
                       are  documented  under  that  call.   The  monitor
                       returns, in the left halves of  these  words,  the
                       count  of devices whose type is given in the right
                       half.  Each word returned will appear as:

                               XWD device-count,device-type

   6         .NDOUT    Obsolete.

   7         .NDIN     Obsolete.

   10        .NDTCN    Connects remote terminals  to  the  local  system.
                       The argument list for .NDTCN is:

                       addr:     EXP 2
                                 XWD node,line

                       where node is the octal  number  of  the  node  to
                       which the terminal is connected.

                       line is the remote line number of the terminal  to
                       be  connected.   On  a  skip  return,  the monitor
                       returns the SIXBIT terminal number in the ac.  The
                       skip  return is taken if the terminal is connected
                       to the system on which  the  program  is  running.
                       Therefore,  a  skip return from this call does not
                       mean that the terminal is connected to your job.

   11        .NDTDS    Disconnects  a  remote  terminal  from  the  local
                       system  and,  optionally, reconnects it to another
                       host system.  The argument list is:

                       addr:     EXP m
                                 SIXBIT/TTYnnu/
                                 EXP node-number

                       where m  is  the  length  of  the  argument  block
                       (either 2 or 3).

                       TTYnnu is the terminal name of the local  terminal
                       to be reconnected or disconnected.

                       node-number is the number of the node to which you
                       wish the terminal to be reconnected.  This word is
                       optional.




                                   22-315
   NODE. [CALLI 157]


   Code      Symbol    Function

                       On a skip return, the terminal specified by TTYnnu
                       is  disconnected  from  the  local  system.   If a
                       node-number is specified,  the  terminal  will  be
                       connected  to that host.  In this case, the action
                       performed is the same as if you issued a SET  HOST
                       monitor command.

   12        .NDLND    Returns the list of defined nodes.   The  argument
                       list is:

                       addr:     EXP n
                                 arg1
                                 ...
                                 argn

                       where n is the length of the argument list.

                       On a skip return, the ac contains  the  number  of
                       known nodes and arg1 through argn contain the node
                       numbers of the known nodes.  If the argument block
                       is  not long enough to return the complete list of
                       known nodes, the list is truncated.

   13        .NDNDB    Returns the specified type of information about  a
                       specified node.  The argument list is:

                       addr:     EXP n
                                 node-id
                                 EXP sub-fcn-code
                                 arg1
                                 ...
                                 argn

                       where n is the length of the argument block.

                       node-id is either an octal node number or a SIXBIT
                       node name.

                       sub-fcn-code  is  the   sub-function   code   that
                       specifies  the type of information to be returned.
                       arg1 through argn  are  words  that  your  program
                       reserves  for  the  information  returned  by  the
                       monitor.

                       Code      Symbol    Meaning

                       1        ND.NNM    Returns the number of the node.

                       2        ND.SNM    Returns the SIXBIT name of  the
                                          node.


                                   22-316
                                                        NODE. [CALLI 157]


                       Code     Symbol    Meaning

                       3        ND.SID    Returns the software ID  as  an
                                          ASCIZ string.

                       4        ND.DAT    Returns  the  date   the   NODE
                                          software  was  generated  as an
                                          ASCIZ string.

                       5        ND.LMA    Returns the last  NCL  (Network
                                          Command    Language)    message
                                          assigned (on output).

                       6        ND.LMS    Returns the  last  NCL  message
                                          sent (on output).

                       7        ND.LAR    Returns  the   last   NCL   ACK
                                          received (on output).

                      10        ND.LAP    Returns  the   last   NCL   ACK
                                          processed (on output).

                      11        ND.LMR    Returns the  last  NCL  message
                                          processed (on input).

                      12        ND.LMP    Returns the  last  NCL  message
                                          received (on input).

                      13        ND.LAS    Returns  the   last   NCL   ACK
                                          message sent.

                      14        ND.MOM    Returns the counter for maximum
                                          outstanding messages.

                      15        ND.TOP    Returns a list of network  link
                                          descriptors of the form:

                                               XWD cost,node

                                          where:  cost is the  line  cost
                                          and  node is the name of a node
                                          that is connected to  the  node
                                          specified   in   addr+1.    One
                                          descriptor is returned for each
                                          neighboring  node.  A zero word
                                          signifies the end of the list.








                                   22-317
   NODE. [CALLI 157]


   Code      Symbol    Function

                       Code      Symbol    Meaning

                      16        ND.CNF    Returns       the        device
                                          configuration for a node in the
                                          following format:

                                               XWD obj-type,number

                                          where:   obj-type  is  the  NCL
                                          device  type  and number is the
                                          count  of  devices.   One  such
                                          descriptor is returned for each
                                          type of device on the node.

                      17        ND.CTJ    Returns the station control job
                                          number.

                      20        ND.OPR    Returns the terminal number  of
                                          the OPR terminal.
|  
|                     21        ND.NVR    Returns the NCL version  number
|                                         of the remote node.

   14        .NDGNF    Sets or reads the "greeted" node flag.  The format
                       of the argument list is:

                       addr:     EXP 2
                                 node-number
                                 arg

                       where the node-number is the number  of  the  node
                       for  which  the  "greeted"  node flag is to be set
                       and/or read.  The flag may be specified in arg and
                       is   returned  in  arg.   If  the  node-number  is
                       specified as 0,  the  node  number  of  the  first
                       "ungreeted"  node  is  returned  in  addr+1.  This
                       function is intended  to  be  used  by  privileged
                       programs  that perform a node-specific function to
                       a node when it comes on line.

   skip Return

   The function is performed.









                                   22-318
                                                        NODE. [CALLI 157]


   Error Return

   One of the following error codes is returned in the ac:

   Code      Symbol    Error

   1         NDIAL%    Illegal argument list.
        2    NDINN%    Illegal node name or node number.
        3    NDPRV%    Not enough privileges.
        4    NDNNA%    Node not available.
        5    NDNLC%    Job not locked in core.
        6    NDTOE%    Timeout error.
        7    NDRNZ%    Reserved word is not zero.
   10        NDNND%    Channel not initialized or not a network device.
   11        NDIOE%    I/O error occurred.  The left half of ac  contains
                       I/O  status  bits.  For a list of I/O status bits,
                       see Volume 1.
   12        NDNFC%    No free core.
   13        NDIAJ%    In use by another job.
   14        NDNMA%    No message available.
   15        NDTNA%    Terminal not available.
   16        NDNLT%    Not a legal terminal.
   17        NDISF%    Illegal sub-function.
   20        NDRBS%    Receive buffer too small.
   21        NDNUG%    No ungreeted nodes.
   22        NDILN%    Illegal line number in station-control message.
   23        NDADC%    Address check performed while reading  or  writing
                       arguments.


























                                   22-319
   NSP. [CALLI 205]


   22.109  NSP.  [CALLI 205]


   Function

   The NSP.  monitor  call  enables  task-to-task  communication  between
   programs  running  on  nodes in DECnet-10 networks.  The communicating
   programs may be on separate nodes or the same node.   For  information
   on using this call, refer to Chapter 5.

   Calling Sequence

        MOVEI   ac,addr
        NSP.    ac,
        error return
        skip return
        . . .
   addr:        argument 1
        argument 2
        argument 3

   Where addr is the address of  an  argument  list  appropriate  to  the
   function  code  given  in bits 9-17 of argument 1.  The function codes
   are:

          Code      Symbol    Meaning

           1 .NSFEA Enter active state.

           2 .NSFEP Enter passive state.

           3 .NSFRI Read connect information.

           4 .NSFAC Accept connection.

           5 .NSFRJ Reject connection.

           6 .NSFRC Read connect confirm information.

           7 .NSFSD Synchronous disconnect.

          10 .NSFAB Abort connection.

          11 .NSFRD Read disconnect data.

          12 .NSFRL Release the channel.

          13 .NSFRS Read the channel status.






                                   22-320
                                                         NSP. [CALLI 205]


          Code      Symbol    Meaning

          14 .NSFIS Send interrupt data.

          15 .NSFIR Receive interrupt data.

          16 .NSFDS Send normal data.

          17 .NSFDR Receive normal data.

          20 .NSFSQ Set quotas.

          21 .NSFRQ Read quotas.
|  
|         22 .NSFJS Set job quotas.
|  
|         23 .NSFJR Read job quotas.

          24 .NSFPI Set PSI reasons for software interrupts.

   skip Return

   The specified function has been performed and the ac is not changed.

   Error Return

   On an error return from NSP., one of  the  following  error  codes  is
   returned in the ac:

   Code Symbol Error

   1    NSABE% The argument block was formatted incorrectly.
   2    NSALF% An allocation attempt failed.
   3    NSBCN% An invalid channel number was specified.
   4    NSBFT% An illegal  format  type  was  specified  in  the  process
                       descriptor block.
   5    NSCFE% The connect block was formatted incorrectly.
   6    NSIDL% Interrupt data block pointed to a string  block  that  was
                       too long.
   7    NSIFM% Illegal flow control.
   10   NSILF% Illegal function code specified.
   11   NSJQX% Job quota exhausted.
   12   NSLQX% Link quota exhausted.
   13   NSNCD% No connect data to read.
   14   NSPIO% Percentage input out of bounds.
   15   NSPRV% Insufficient privileges to perform specified function.
   16   NSSTB% Segment size too big.
   17   NSUKN% Unknown node name was specified.
   20   NSUXS% Unexpected or unspecified state.
   21   NSWNA% Wrong number of arguments.
   22   NSWRS% Function call while connected in wrong state.
   23   NSCBL% Wrong length for connect block.


                                   22-321
   NSP. [CALLI 205]


   Code Symbol Error

   24   NSPBL% Wrong length for process block.
   25   NSSBL% Wrong length for string block.
   26   NSUDS% Unexpected state:  disconnect sent.
   27   NSUDC% Unexpected state:  disconnect confirmed.
   30   NSUCF% Unexpected state:  no confidence.
   31   NSULK% Unexpected state:  no link.
   32   NSUCM% Unexpected state:  no communication.
   33   NSUNR% Unexpected state:  no resources.

   NSP.  error codes 34 and up correspond to DECnet disconnect codes.

   34   NSRBO% Rejected by object.
   35   NSDBO% Disconnected by object when running.
   36   NSRES% No resources.
   37   NSUNN% Unrecognized node name.
   40   NSRNS% Remote node shut down.
   41   NSURO% Unrecognized object.
   42   NSIOF% Invalid object name format.
   43   NSOTB% Object too busy.
   44   NSABM% Abort by management.
   45   NSABO% Abort by object.
   46   NSINF% Invalid node name format.
   47   NSLNS% Local node shut down.
   50   NSACR% Access control rejection.
   51   NSNRO% No response from object.
   52   NSNUR% Node unreachable.
   53   NSNLK% No link.
   54   NSDSC% Disconnect complete.
   55   NSIMG% Image field too long.
   56   NSREJ% Reason for rejection was not specified.
   57   NSBCF% Invalid combination of NS.EOM and NS.WAI flags.
   60   NSADE% Address error.




















                                   22-322
                                                       NTMAN. [CALLI 206]


   22.110  NTMAN.  [CALLI 206]


   Function

   Performs various functions for the  network  managment  layer  of  the
   DECnet-10  network product.  This call is used only by the NML program
   and is not intended for use by customer programs.  The NTMAN.  call is
   common  to  both  DECnet-10  and DECnet-20 products, and therefore may
   change at any time without notice.  This call requires  JACCT,  [1,2],
   or JP.POK privileges.

   Calling Sequence

        MOVEI   ac,addr
        NTMAN.  ac,
        error return
        skip return
        . . .
   addr:        len
        entity
        ptr to entity-id
        fcn-code
        info-type
        EXP     0
        ptr to data
        len of data
        BLOCK   1

   where addr is the address of the argument block,  which  is  formatted
   as:

   Word Symbol Contents

   0    .NTCNT The number of words in the argument block (len).

   1    .NTENT The entity on which the action is to  be  performed.   The
                       types of entities are:

                     Code        Symbol  Meaning

                     0   .NTNOD  Network node.
                     1   .NTLIN  Communications line.
                     2   .NTLOG  Reserved for DIGITAL use.
                     3   .NTCKT  Circuit.

   2    .NTEID A byte pointer to  an  entity  identification.   The  byte
                       pointer  must point to a node number, line number,
                       or circuit number.





                                   22-323
   NTMAN. [CALLI 206]


   Word Symbol Contents

   3    .NTFCN Contains the function code.  The function codes are:

                     Code        Symbol  Function

                     -2  .NTMAP  Returns node number for  node  name,  or
                                         node name for node number.

                     -1  .NTREX  Returns the node-id of the local node.

                     0   .NTSET  Sets a parameter.

                     1   .NTCLR  Clears a parameter.

                     2   .NTZRO  Zeroes counters.

                     3   .NTSHO  Shows selected items.

                     4   .NTSZC  Shows and zeroes counters.

                     5   .NTRET  Returns a list of entities.

                     6   .NTEVQ  Removes an item from the event queue.

   4    .NTSEL Selection criteria for function.  The following allow  you
                       to  select the item on which the function is to be
                       performed:

                     Code        Symbol  Meaning

                     -3 to -1    Used by .NTRET:

                     -3  .NTLOP  Loop.

                     -2  .NTACT  Active items.

                     -1  .NTKNO  Known items.

                     0 to 4              Used by .NTSHO:

                     0   .NTSUM  Summary.

                     1   .NTSTA  Status.










                                   22-324
                                                       NTMAN. [CALLI 206]


   Word Symbol Contents

                     Code        Symbol  Meaning

                     2   .NTCHA  Characteristics.

                     3   .NTCOU  Counters.

                     4   .NTEVT  Reserved for DIGITAL use.

   5    .NTQUA Reserved for DIGITAL use.

   6    .NTBPT Byte pointer to data.

   7    .NTBYT Byte count for data.

   10   .NTERR Returned information or error code.

   11   .NTMAX Quantity to place in .NTCNT.

   skip Return

   The requested information is returned in the  address  pointed  to  by
   .NTERR,  or  data  is  changed  according  to the function code.  On a
   successful return, error code 1 (NESUC%) is returned in .NTERR.

   Error Return

   The error code is returned in the ac and in the .NTERR Word  into  the
   argument  block.   Note  that a successful return from the call places
   error code 1 (NESUC%) into the offset .NTERR into the argument  block,
   and  error  NEADC%  is  returned  only in the ac.  The error codes for
   NTMAN.  are defined with decimal values and are:

   Code Symbol Error

   1    NESUC% Successful call.
   -1   NEUFO% Invalid function or option.
   -2   NEIMF% Invalid message format.
   -3   NEPRV% Insufficient privileges.
   -4          Reserved for use by DIGITAL
   -5   NEMPE% Management program error.
   -6   NEUPT% Invalid parameter.
   -7          Reserved for use by DIGITAL
   -8   NEURC% Invalid entity.
   -9   NTINI% Invalid entity identifier.
   -10  NELCE% Line communication error.
   -11  NECWS% Component in wrong state.
   -12 to -14  Reserved for use by DIGITAL.
   -15  NERES% Resource error.
   -16  NEIPV% Invalid parameter value.
   -17 to -19  Reserved for use by DIGITAL.


                                   22-325
   NTMAN. [CALLI 206]


   Code Symbol Error

   -20  NENRM% No room, or slot already taken.
   -21         Reserved for use by DIGITAL.
   -22  NEPNA% Parameter not applicable to entity.
   -23  NEPVL% Parameter value too long.
   -24         Reserved for use by DIGITAL.
   -25  NEOPF% Operational failure.
   -26  NEFNS% Function not supported.
   -27  NEIPG% Invalid parameter grouping.
   -28         Reserved for use by DIGITAL.
   -29  NEPAM% Parameter missing from argument list.
   -30 to -46  Reserved for use by DIGITAL.
   -47  NEADC% Address check (returned in ac only).








































                                   22-326
                                                        OPEN [OPCODE 050]


   22.111  OPEN [OPCODE 050]


   Function

   Initializes a channel for I/O  operation.   Use  FILOP. to  assign  an
   extended I/O channel.

   Calling Sequence

        OPEN   channo,addr
        error return
        skip return
        . . .
   addr:       argument list

        Where:  channo is the number of a channel.

                addr is the address of the argument list.   The  argument
                list is:

   Word      Symbol    Contents

         0   .OPMOD    Flags and status bits.  The I/O status bits are  a
                       set  of  18 bits (right halfword) that reflect the
                       current state of a file  transmission.   They  are
                       initially  set  by  your  program  with  the  OPEN
                       monitor call.  Thereafter, the  monitor  sets  the
                       bits,  but  your  program  can test and reset them
                       using any of several monitor calls.

                      Bits      Symbol    Meaning

                      0  UU.PHS Only physical device names will  be  used
                                          in  the  search.   All  logical
                                          names defined by the  job  will
                                          be ignored.

                      1  UU.DEL Disables error  logging;  only  user-mode
                                          diagnostic   programs  may  set
                                          this bit.

                      1  UU.FSP Specifies    a    full     SCNSER     PTY
                                          (pseudo-terminal).    That  is,
                                          all  terminal   characteristics
                                          that  are  normally ignored for
                                          PTYs will be set and  enforced.
                                          Refer to Chapter 15.

                      2  UU.DER Disables  error  retry;  only   user-mode
                                          diagnostic   programs  may  set
                                          this bit.


                                   22-327
   OPEN [OPCODE 050]


                      Bits      Symbol    Meaning

                      2  UU.BJP If the given device is a PTY, and if  the
                                          calling  program is privileged,
                                          this bit  specifies  that  jobs
                                          logging  on  this PTY are to be
                                          treated as batch jobs.

                      2  UU.DMR Disables message re-assembly.   This  bit
                                          is  used  in  ANF-10  intertask
                                          communication  to   allow   the
                                          receipt of messages that do not
                                          have the  EOM  bit  set.   This
                                          flag should be set if UU.AIO is
                                          set for TSK devices.  (Refer to
                                          Chapter 5.)

                      3  UU.AIO I/O is nonblocking.   This  prevents  the
                                          monitor  from stopping your job
                                          to   wait   for   I/O   to   be
                                          completed.

                      4  UU.IBC Disables clearing of buffers  after  each
                                          output.  Your program must also
                                          set BF.IBC in the  .BFADR  word
                                          of   the  buffer  ring  header.
                                          (This is applicable to buffered
                                          I/O  only.   Refer  to  Chapter
                                          11.)

                      5  UU.SOE Enables  synchronization  on   each   I/O
                                          error.   The  monitor  does not
                                          perform  more  I/O  until  your
                                          program clears the error bits.

                      6  UU.RRC Enables  automatic  rewrite  of  RIB   on
                                          change.  This bit pertains only
                                          to disk  devices,  causing  the
                                          monitor  to  rewrite the file's
                                          RIB whenever a  change  to  the
                                          file requires it.  This is used
                                          to ensure file integrity in the
                                          event of system failure.

                      7  UU.LBF Allows   the   use   of   large   buffers
                                          (multiples  of  one  block) for
                                          disk I/O on this channel.

                      8-14      UU.DEC    Reserved for use by DIGITAL.

                      15-17     UU.CUS    Reserved for use by customers.



                                   22-328
                                                        OPEN [OPCODE 050]


                      Bits      Symbol    Meaning

                      18-21     IO.ERR    Error flags:

                             Flag      Symbol    Error

                              18       IO.IMP    Improper mode flag.
                              19       IO.DER    Error    detected     by
                                                 device.
                              20       IO.DTE    Hard data error.
                              21       IO.BKT    Block too large.

                      22 IO.EOF End-of-file reached.

                      23 IO.ACT I/O active.

                      24-29               Device-dependent  flags   (some
                                          flags    are    repeated    for
                                          different devices).   Refer  to
                                          the  appropriate device chapter
                                          in   Volume    1    for    more
                                          information.

                             Flag      Symbol    Meaning

                             24        IO.BOT    Beginning    of     tape
                                                 encountered     (magtape
                                                 only).

                             24        IO.PTI    Subjob  is  in  terminal
                                                 input  wait  state  (PTY
                                                 only).

                             25        IO.EOT    End of tape  encountered
                                                 (magtape only).

                             25        IO.PTO    Subjob  is  in  terminal
                                                 output  wait  state (PTY
                                                 only).

                             25        IO.ABS    Enable user  break  mask
                                                 (terminals only).
|  
|                            25        IO.SUF    Suppress VFU (LPT only).

                             26        IO.PAR    Parity  of  tape,  where
                                                 IO.PAR=1     for    even
                                                 parity.    Odd    parity
                                                 (IO.PAR=0)  is used only
                                                 for   EBCDIC    labelled
                                                 tapes (magtape only).

                             26        IO.PTM    Subjob  is  in   monitor
                                                 mode (PTY only).
                                   22-329
   OPEN [OPCODE 050]


                             Flag      Symbol    Meaning

                             26        IO.BKA    Break on all  characters
                                                 (terminals only).

                             27        IO.TEC    Truth  in  echoing  mode
                                                 (terminals only).

                             27        IO.MAI    Maintenance   DMR   mode
                                                 (KDP   and  DTE  devices
                                                 only).

                             27-28     IO.DEN    Bit   mask   for    tape
                                                 density, where:
                                                  0 = standard
                                                  1 = 200
                                                  2 = 556
                                                  3 = 800
                                                 For  densities  of  1600
                                                 and    6250,    IO.DEN=0
                                                 (magtape  only).    This
                                                 flag  is  obsolete.  Use
                                                 TAPOP.   to   set   tape
                                                 density.

                             28        IO.SSD    Semi-standard data  mode
                                                 (DECtape devices only).

                             28        IO.SUP    Suppress         echoing
                                                 (terminals only).

                             29        IO.D29    DEC029 mode (card  punch
                                                 only).

                             29        IO.SIM    Super-image  mode  (card
                                                 reader only).

                             29        IO.WHD    Write disk-pack  headers
                                                 (disk only).

                             29        IO.NSD    Non-standard  data  mode
                                                 (DECtape devices only).

                             29        IO.SFF    Suppress   form    feeds
                                                 (line printers only).

                             29        IO.NRC    Read  with   no   reread
                                                 check (magtape only).

                             29        IO.FCS    Obsolete      (terminals
                                                 only).

                             29        IO.LEM    Line     editor     mode
                                                 (terminals only).
                                   22-330
                                                        OPEN [OPCODE 050]


                      Bits      Symbol    Meaning

                      30 IO.SYN Synchronous input.

                      31 IO.UWC Uses user word count.   By  default  this
                                          bit is not set, and the monitor
                                          computes the amount of data  to
                                          be  transmitted  using the byte
                                          pointer in the  buffer  header.
                                          If  this  flag is set, however,
                                          the  monitor  uses   the   byte
                                          count.   Meaningful  for output
                                          only.

                      32-35     IO.MOD    Data mode.  In  general,  modes
                                          0-14  are  considered "buffered
                                          I/O modes" and modes 15-17  are
                                          "dump  I/O modes." The possible
                                          values  for   the   data   mode
                                          (IO.MOD) in .OPMOD are:

                             Value     Symbol    Meaning

                             0         .IOASC    ASCII  mode   (for   any
                                                 device except display).

                             1         .IOASL    ASCII line mode (for any
                                                 device except display).

                             2         .IOPIM    Packed    image     mode
                                                 (terminal only).

                             3         .IOBYT    Byte    mode    (magtape
                                                 device only).

                             4         .IOAS8    8-bit     ASCII     mode
                                                 (terminal,
                                                 pseudo-terminal,     and
                                                 line printers only).

                             5                   Reserved  for   use   by
                                                 DIGITAL.

                             6-7                 Reserved  for   use   by
                                                 customers.

                             10        .IOIMG    Image  mode   (for   any
                                                 except display device).

                             11-12               Reserved  for   use   by
                                                 DIGITAL.



                                   22-331
   OPEN [OPCODE 050]


   Word      Symbol    Contents

                             Value     Symbol    Meaning

                             13        .IOIBN    Image binary  mode  (for
                                                 disk,  DECtape, magtape,
                                                 plotter, card device, or
                                                 papertape device).

                             14        .IOBIN    Binary  mode  (for  same
                                                 devices as .IOIBN).

                             15        .IOIDP    Image  dump  mode   (for
                                                 display devices only).

                             16        .IODPR    Dump  record  mode  (for
                                                 disk,     DECtape,    or
                                                 magtape devices).

                             17        .IODMP    Dump  mode  (for   disk,
                                                 DECtape,    or   magtape
                                                 devices).

         1   .OPDEV    SIXBIT physical or logical  name  or  UDX  of  the
                       device to be initialized on the channel or UDX.

         2   .OPBUF    Buffer addresses (used for buffered I/O only):

                         Bits    Meaning

                          0-17   Address of the  control  block  for  the
                                 output  buffers  for  the given channel.
                                 If buffered  I/O  is  not  to  be  used,
                                 specify  0  for the buffer control block
                                 address.

                         18-35   Address of the  control  block  for  the
                                 input buffers for the given channel.  If
                                 buffered I/O is not to be used,  specify
                                 0 for the buffer control block address.

   skip Return

   The specified channel is initialized.

   Error Return

   The monitor takes the error return if the specified device is in  use,
   if  the  device  does  not  exist, or if the device is restricted.  To
   assign a restricted device,  use  the  MOUNT  monitor  command  before
   running the program, or use the .QUMNT function of the QUEUE. call.



                                   22-332
                                                        OPEN [OPCODE 050]


   Examples

        ;Subroutine to OPEN the disk in dump mode
        ;Call with:
        ;                               PUSHJ P,DMPINI
        ;                               RETURN HERE

        DMPINI:                         OPEN DSK,OPNBLK ;OPEN the disk on
                                        channel "DSK"
                                        JRST NOTAVL ;Device is busy
                                        ENTER DSK,FILE ;Create a new file
                                        JRST FILBAD  ;Cannot  ENTER  file
                                        name in
                                        ;disk directory.
                                        POPJ P, ;Return  -  file  is  now
                                        open for
                                        ;Dump mode output.

        ;Here if device DSK:  cannot be OPENed
        NOTAVL:                         OUTSTR [ASCIZ "?CANNOT OPEN DSK:
        "]                               ;Print an error message
                                        EXIT ;Return to the monitor

        ;Here if file cannot be created
        FILBAD:                         OUTSTR  [ASCIZ  "?CANNOT   CREATE
                                        DSK:DUMP.BIN
        "]                               ;Print an error message
                                        EXIT ;Return to the monitor

        OPNBLK:                         EXP .IODMP ;Select dump mode
                                        SIXBIT /DSK/ ;Device name
                                        EXP 0 ;No buffers

        FILE:                           SIXBIT /DUMP/ ;File name
                                        SIXBIT /BIN/ ;File name extension
                                        EXP 0 ;Default protection
                                        EXP 0 ;Default directory

        ;Subroutine to write data in buffer
        ;Call with:
        ;                               FILL BUFFER WITH DATA
        ;                               PUSHJ P,DMPOUT
        ;                               RETURN HERE

        DMPOUT:                         OUT DSK,OUTLST ;Write data
                                        POPJ P, ;No errors  -  Return  to
                                        caller
                                        OUTSTR [ASCIZ "?OUTPUT ERROR  FOR
                                        DSK:DUMP.BIN
        "]                               ;Output error message
                                        EXIT ;Return to monitor



                                   22-333
   OPEN [OPCODE 050]


        ;Command list for output
        OUTLST:                         IOWD BUFSIZ,BUFFER ;Write  BUFSIZ
                                        words from buffer
                                        EXP 0 ;End of command list


















































                                   22-334
                                                        OPEN [OPCODE 050]


        BUFFER:                         BLOCK BUFSIZ ;Output buffer

        ;Subroutine to close out file
        ;Call with:
        ;                               PUSHJ P,DMPDON
        ;                               RETURN HERE
        ;

        DMPDON:                         CLOSE DSK, ;Write the end of file
                                        STATO DSK,IO.ERR ;Are  there  any
                                        errors?
                                        POPJ P, ;No-return
                                        OUTSTR  [ASCIZ  "?ERROR   CLOSING
                                        DSK:DUMP.BIN
        "]                               ;Print error message
                                        EXIT ;Return to the monitor

   RELATED CALLS

   FILOP., INIT


































                                   22-335
   OTHUSR [CALLI 77]


   22.112  OTHUSR [CALLI 77]


   Function

   Determines   whether   other   jobs   are   logged   in   under   your
   project-programmer number (PPN).

   Calling Sequence

        OTHUSR  ac,
        alternate return
        skip return

   skip Return

   The ac contains your project-programmer number; the skip return occurs
   only  if  there are other jobs logged in under your project-programmer
   number.

   Alternate Return

   The alternate return is taken if no other jobs  are  logged  in  under
   your project-programmer number.

   Examples

        OTHUSR  T1,
        JRST    ONLY1

   If other jobs are logged  in  under  your  project-programmer  number,
   execution continues.  If not, control is passed to ONLY1.






















                                   22-336
                                                         OUT [OPCODE 057]


   22.113  OUT [OPCODE 057]


   Function

   Transmits data from your  job's  physical  memory  area  to  the  file
   selected  for  the given channel.  Use FILOP. to perform an OUT UUO on
   an extended I/O channel.

   Calling Sequence

        OUT     channo,addr
        skip return
        error return

        Where:  channo is the number of an initialized channel.

                In buffered mode, addr contains the address of the .BFHDR
                (header) word of the buffer to be used.  If you give addr
                as 0, the next buffer is used.

                In dump mode, addr is the address of the  first  word  of
                the command list.  See IN call.

   skip Return

   The data in the buffer at addr+1 is transferred.

   Error Return

   If an error  occurs,  you  should  examine  the  I/O  status  bits  to
   determine  the  cause of the error.  Use the GETSTS call to obtain I/O
   status bits.


                                    NOTE

           If, while using non-blocking I/O, your  program  takes
           the   error  return  with  no  error  bits  set,  that
           indicates  you  have  exhausted  all  of  the   output
           buffers.    You  must  wait  until  a  buffer  becomes
           available.  The  program  at  this  point  should  not
           attempt  to  store any more data based on the state of
           the use bit.  Instead, keep trying the OUT call  until
           it succeeds.


   Examples

   See Chapter 11.




                                   22-337
   OUT [OPCODE 057]


   RELATED CALLS

   FILOP., IN, INPUT, OUTPUT

   Common Error

         o  If the specified address is illegal, the  monitor  stops  the
            job and prints:

                 ?Address check for device YYYYYY:;UUO at user PC xxxxx

         o  Failure to supply a command list address in dump mode.

         o  Forgetting to initialize the channel.








































                                   22-338
                                                      OUTBUF [OPCODE 065]


   22.114  OUTBUF [OPCODE 065]


   Function

   Sets up an output buffer ring with the specified number of buffers for
   the  specified  initialized  channel.  Use FILOP. to perform an OUTBUF
   for an extended I/O channel.

                                    NOTE

           The monitor allocates buffers in  the  user's  address
           space  starting  at  the  location  pointed  to by the
           contents of .JBFF.  This has no meaning in a  non-zero
           section,  unless  that section is mapped to section 0.
           Use  the  FILOP.   monitor  call  to  specify   buffer
           starting addresses in a non-zero section.


   Calling Sequence

                OUTBUF channo,bufcnt
                return

        Where:  channo is the number of an initialized channel.

                bufcnt is the number of buffers to set up  in  the  ring.
                If  you  give  buffers as 0, the monitor uses its default
                number of buffers for  the  ring.   This  default  varies
                according  to  the  device.   For  disks,  the  number of
                buffers is a MONGEN parameter that can also be  set  with
                the SET DEFAULT BUFFERS monitor command.

   Return

   The buffer ring is set up.

   RELATED CALLS

   FILOP., INBUF

   Common Programming Errors

   See the INBUF call  for  some  Common  Programming  Errors  and  their
   explanations.









                                   22-339
   OUTCHR [TTCALL 1,]


   22.115  OUTCHR [TTCALL 1,]


   Function

   Sends an ASCII character to the job's controlling terminal.

   Calling Sequence

                OUTCHR location
                return

        Where:  location is the address of the word containing the output
                character; the ASCII code for the character is taken from
                bits 29-35 of location.

   Return

   The monitor takes an ASCII  code  from  bits  29-35  of  location  and
   displays the character on the user terminal.

   RELATED CALLS

   OUTSTR, TRMOP.

   Common Programming Errors

         o  Typing a comma after location.

         o  Assuming OUTCHR takes an immediate  value  in  the  effective
            address field.























                                   22-340
                                                      OUTPUT [OPCODE 067]


   22.116  OUTPUT [OPCODE 067]


   Function

   Sends data from memory  to  an  initialized  channel.   Use  FILOP. to
   perform  an  OUTPUT  for  an extended I/O channel.  The OUTPUT monitor
   call is the same as the OUT monitor call, except that  OUT  takes  the
   error  return  if  any  error bits are set in the I/O status word, and
   OUTPUT ignores the error bits and has only one return location.

   Calling Sequence

                OUTPUT channo,addr
                return

        Where:  channo is the number of an initialized channel.

                addr is one of the following:

                 o  If the channel was initialized for  dump  mode,  then
                    addr is the address of an I/O command list.

                 o  If the channel was  initialized  for  buffered  mode,
                    then  addr  is  the address of the second word of the
                    next buffer to be used; if you  give  0  (the  normal
                    case), the next buffer in the ring is used.

   Return

   Data is output to the device on the channel.


   RELATED CALLS

   FILOP., IN, INPUT, OUT

   Common Programming Errors

   Same as IN call.














                                   22-341
   OUTSTR [TTCALL 3,]


   22.117  OUTSTR [TTCALL 3,]


   Function

   Sends an ASCIZ string to the user terminal.

   Calling Sequence

        OUTSTR  addr
        return
        . . .
   addr:        ASCIZ/string/

        Where:  addr is the address of the ASCIZ string to  be  displayed
                on the terminal and string is the string to be sent.

   Return

   The string is displayed on the user terminal.

   Examples

   See OPEN call.

   RELATED CALLS

   OUTCHR, TRMOP.

   Common Programming Errors

   Typing a comma after addr.




   22.118  OTHUSR [CALLI 77]




   Function

        Determines  whether  other  jobs  are  logged   in   under   your
        project-programmer number (PPN).

   Calling Sequence

                OTHUSR  ac,
                  alternate return
                normal returntitle



                                   22-342
                                                        OTHUSR [CALLI 77]


   Normal Return

        The ac contains your project-programmer number; the normal return
        occurs  only  if  there  are  other  jobs  logged  in  under your
        project-programmer number.

   Alternate Return

        The alternate return is taken if no  other  jobs  are  logged  in
        under your project-programmer number.

   Examples

                OTHUSR  T1,
                  JRST  ONLY1

        If other jobs are logged in under your project-programmer number,
        execution continues.  If not, control is passed to ONLY1.




































                                   22-343
   OUT [OPCODE 057]


   22.119  OUT [OPCODE 057]




   Function

        Transmits data from your job's physical memory area to  the  file
        selected for the given channel.  Use FILOP. to perform an OUT UUO
        on an extended I/O channel.

   Calling Sequence

                OUT     channo,addr
                normal return
                  error return

        Where:  channo is the number of an initialized channel.

                In buffered mode, addr contains the address of the .BFHDR
                (header) word of the buffer to be used.  If you give addr
                as 0, the next buffer is used.

                In dump mode, addr is the address of the  first  word  of
                the command list.  See IN call.

   Normal Return

        The data in the buffer at addr+1 is transferred.

   Error Return

        If an error occurs, you should examine the  I/O  status  bits  to
        determine  the cause of the error.  Use the GETSTS call to obtain
        I/O status bits.


                                      NOTE

                If, while using non-blocking  I/O,  your  program
                takes  the  error  return with no error bits set,
                that indicates you  have  exhausted  all  of  the
                output  buffers.   You  must  wait until a buffer
                becomes available.  The  program  at  this  point
                should  not  attempt to store any more data based
                on the state  of  the  use  bit.   Instead,  keep
                trying the OUT call until it succeeds.


   Examples

        See Chapter 11.


                                   22-344
                                                         OUT [OPCODE 057]


   Related Calls

        FILOP., IN, INPUT, OUTPUT

   Common Error

         o  If the specified address is illegal, the  monitor  stops  the
            job and prints:

                 ?Address check for device yyyyyy:;UUO at user PC xxxxx

         o  Failure to supply a command list address in dump mode.

         o  Forgetting to initialize the channel.








































                                   22-345
   OUTBUF [OPCODE 065]


   22.120  OUTBUF [OPCODE 065]




   Function

        Sets up an output  buffer  ring  with  the  specified  number  of
        buffers  for  the  specified  initialized channel.  Use FILOP. to
        perform an OUTBUF for an extended I/O channel.

                                      NOTE

                The  monitor  allocates  buffers  in  the  user's
                address space starting at the location pointed to
                by the contents of .JBFF.  This has no meaning in
                a non-zero section, unless that section is mapped
                to section 0.  Use the FILOP.   monitor  call  to
                specify  buffer  starting addresses in a non-zero
                section.


   Calling Sequence

                OUTBUF channo,bufcnt
                return

        Where:  channo is the number of an initialized channel.

                bufcnt is the number of buffers to set up  in  the  ring.
                If  you  give  buffers as 0, the monitor uses its default
                number of buffers for  the  ring.   This  default  varies
                according  to  the  device.   For  disks,  the  number of
                buffers is a MONGEN parameter that can also be  set  with
                the SET DEFAULT BUFFERS monitor command.

   Return

        The buffer ring is set up.

   Related Calls

        FILOP., INBUF

   Common Errors

        See the INBUF call for some common errors and their explanations.







                                   22-346
                                                       OUTCHR [TTCALL 1,]


   22.121  OUTCHR [TTCALL 1,]




   Function

        Sends an ASCII character to the job's controlling terminal.

   Calling Sequence

                OUTCHR location
                return

        Where:  location is the address of the word containing the output
                character; the ASCII code for the character is taken from
                Bits 29-35 of location.

   Return

        The monitor takes an ASCII code from bits 29-35 of  location  and
        displays the character on the user terminal.

   Related Calls

        OUTSTR, TRMOP.

   Common Errors

         o  Typing a comma after location.

         o  Assuming OUTCHR takes an immediate  value  in  the  effective
            address field.





















                                   22-347
   OUTPUT [OPCODE 067]


   22.122  OUTPUT [OPCODE 067]




   Function

        Sends data from memory to an initialized channel.  Use  FILOP. to
        perform  an  OUTPUT  for  an  extended  I/O  channel.  The OUTPUT
        monitor call is the same as the OUT monitor call, except that OUT
        takes  the  error  return  if  any  error bits are set in the I/O
        status word, and OUTPUT ignores the error bits and has  only  one
        return location.

   Calling Sequence

                OUTPUT channo,addr
                return

        Where:  channo is the number of an initialized channel.

                addr is one of the following:

                 o  If the channel was initialized for  dump  mode,  then
                    addr is the address of an I/O command list.
|  
|                o  In buffered mode, addr contains the  address  of  the
|                   .BFHDR  (header)  word  of the buffer to be used.  If
|                   you give addr as 0, the next buffer is used.

                 o  If the channel was  initialized  for  buffered  mode,
                    then  addr  is  the address of the second word of the
                    next buffer to be used; if you  give  0  (the  normal
                    case), the next buffer in the ring is used.

   Return

        Data is output to the device on the channel.


   Related Calls

        FILOP., IN, INPUT, OUT

   Common Errors

        Same as IN call.







                                   22-348
                                                       OUTSTR [TTCALL 3,]


   22.123  OUTSTR [TTCALL 3,]




   Function

        Sends an ASCIZ string to the user terminal.

   Calling Sequence

                OUTSTR  addr
                return
                . . .
        addr:   ASCIZ/string/

        Where:  addr is the address of the ASCIZ string to  be  displayed
                on the terminal and string is the string to be sent.

   Return

        The string is displayed on the user terminal.

   Examples

        See OPEN call.

   Related Calls

        OUTCHR, TRMOP.

   Common Errors

        Typing a comma after addr.




















                                   22-349
   PAGE. [CALLI 145]


   22.124  PAGE. [CALLI 145]




   Function

        Manipulates pages and the data associated  with  those  pages  in
        your job's address space.

   Calling Sequence

                MOVE    ac,[XWD fcncode,addr]
                PAGE.   ac,
                  error return
                normal return
                . . .
        addr:   length
                first argument
                . . .
                last argument

        where:  fcncode is one of the function codes described below.

                addr is the address of the argument list.

                length is the number of words that follow in the argument
                list;   and  the  words  up  through  last  argument  are
                arguments for the given function, usually page numbers of
                memory pages being manipulated.  The value of length must
                be greater than 2 or the negative of a value greater than
                2.

                The length can be specified as a negative value.  In this
                case,  the  argument is the page number of the first page
                in a set, where the  set  contains  that  page  plus  the
                number  of  consecutive  pages  indicated by the value of
                length.

                For example, when length contains a negative value  (such
                as  -3),  the argument (for example, page number 401), is
                the first of 3 consecutive pages (for this example, pages
                401, 402, and 403), to be manipulated.

|               Therefore,  in  functions  such  as  .PAGEM,  where   the
|               argument word contains two page numbers, a negative value
|               in length indicates the number of pages in both halves of
|               the argument word.  For example, a value of -1 in length,
|               for a PAGEM.  function on the  argument  word  [400,,200]
|               includes the page numbers [401,,201].

                The pages you can specify are restricted by the following
                attributes:

                                   22-350
                                                        PAGE. [CALLI 145]


                 o  Page zero cannot be paged out or destroyed.

                 o  Page  numbers  must  be  specified   in   numerically
                    increasing order.

                 o  If the high segment is sharable, it cannot  be  paged
                    out.

                 o  If the page is a SPY page, it cannot be paged out.

                 o  If a page is locked in core, it cannot be paged out.

        The function codes and their meanings are:

        Code   Symbol    Function

          0    .PAGIO    Swaps a page in or out.  Pages  swapped  in  are
                         added  to the working set; pages swapped out are
                         moved to secondary storage.

                         Use one word in the argument list for each  page
                         to be swapped, or specify a negative list length
                         to specify a set of consecutive pages.   If  you
                         use  more  than  one  argument  word,  the  page
                         numbers  must  be  in  ascending  order.    Each
                         argument word is in the form:

                                 XWD     flags,pageno

                         where:  pageno is the number of the page  to  be
                         swapped  (in the range 0-511 on a KS, or 0-16383
                         on a KL)  and  flags  is  one  or  both  of  the
                         following:

                         Bit    Symbol    Meaning

                           0    PA.GAF    Swap the page out if  this  bit
                                          is set; swap it in if not set.
                           1    PA.GSL    Swap to slow swapping space  if
                                          this  bit  is set; swap to fast
                                          space if not set.
                           2    PA.GDC    Suppresses error codes  PAGCE%,
                                          PAGME%, PAGSC%, and PAGSM%.











                                   22-351
   PAGE. [CALLI 145]


        Code   Symbol    Function

          1    .PAGCD    Creates or destroys a specified page.   Use  one
                         argument  word  for  each  page to be created or
                         destroyed.  If you use more than one  word,  the
                         specified  pages  must  be  in  ascending order.
                         Each argument word is of the form:

                                 XWD     flags,pageno

                         where:  pageno specifies the number of the  page
                         (in the range 0-511 on a KS, or 0-16383 on a KL)
                         to be created or destroyed and flags is  one  or
                         more of the following:

                         Bit    Symbol    Meaning

                           0    PA.GAF    Destroy the page if this bit is
                                          set;  create  the  page if this
                                          bit is not set.
                           1    PA.GCD    Create the page on disk if this
                                          bit  is  set;  create a page in
                                          the working set if this bit  is
                                          not set.
|                          2    PA.GDC    Ignores the fact that the  page
|                                         does   not  exist,  suppressing
|                                         error codes PAGME% and PAGCE%.

          2    .PAGEM    Moves or exchanges a page.  The  page  is  moved
                         from  one  virtual  address  to  another, or two
                         pages exchange locations.   You  cannot  move  a
                         page  to a location that is allocated to another
                         page and you cannot exchange  pages  unless  the
                         source pages are allocated.

                         Use one argument word for each page to be  moved
                         or exchanged.  If you use more than one argument
                         word, the specified pages must be  in  ascending
                         order.  Each argument word is of the form:

                                 <flag>+<source>B17+<destination>B35

                         where:  source is the page number of the page to
                         be  moved, destination is the page number of the
                         location to receive the page, and the  following
                         flag can be set:

                         Flag   Symbol    Meaning

                           0    PA.GAF    Exchange the pages if this  bit
                                          is set; move the source page if
                                          this bit is not set.


                                   22-352
                                                        PAGE. [CALLI 145]


        Code   Symbol    Function

          3    .PAGAA    Sets or clears  the  access-allowed  bit  for  a
                         page.  The access-allowed bit may be changed for
                         any page in the  working  set.   If  a  page  is
                         accessed  that  has  this  bit off, a page fault
                         occurs.

                         Use  one  argument  word  for  each  page  whose
                         access-allowed bit is to be changed.  If you use
                         more than one argument, the specified pages must
                         be in ascending order.  Each argument word is of
                         the form:

                                 XWD     flags,pageno

                         where:  pageno is the page number  of  the  page
                         whose  bit  is to be changed, and flag is one or
                         more of the following:

                         Flag   Symbol    Meaning

                           0    PA.GAF    Clear  access-allowed  for  the
                                          page  if  this  bit is set; set
                                          access-allowed if this  bit  is
                                          not set.

                           1    PA.GSA    Automatically              sets
                                          access-allowed  on  page fault;
                                          dispatch  to  page  handler  on
                                          page  fault  if this bit is not
                                          set.
|                          2    PA.GDC    Ignores fact that page does not
|                                         exist,  suppressing  error code
|                                         PAGME% and PAGCE%

          4    .PAGWS    This function returns a bit map of  those  pages
                         in  the current working set.  In the PAGE. call,
                         you specify the number of words that are  to  be
                         returned.   There  is  one bit for each possible
                         page.  If a bit is set, the page associated with
                         that  bit  is  a  part  of the working set.  For
                         example, Word 1  contains  the  bits  associated
                         with  pages  0  through  35; Word 2 contains the
                         bits associated with pages 36 through 71, and so
                         on.   The  end of the bit map does not end on an
                         integral word boundary, so the last word in  the
                         map  is  padded  with  zeroes.   The bit map for
                         another section begins on a new word.





                                   22-353
   PAGE. [CALLI 145]


        Code   Symbol    Function

          5    .PAGGA    Returns a bit map indicating  which  pages  have
                         their access-allowed bits set.  This bit map has
                         the same format as the one returned for function
                         code  4  (.PAGWS).   If a bit in the map is set,
                         the page associated with that bit is accessible.
                         In  the  PAGE. monitor  call,  you  specify  the
                         number of words in the bit map that  are  to  be
                         returned.

          6    .PAGCA    Determines the type  of  access  allowed  for  a
                         given   page.    There  is  no  argument  block;
                         instead, you specify the function  code  in  the
                         left  half  of  the  ac (bits 0-17) and the page
                         number in the right half of the ac (bits 18-35):
                         [function,,page-number].   On  a  normal return,
                         the monitor will set one or more of the bits (in
                         the accumulator) that are listed below:

                         Bits   Symbol    Meaning

                           0    PA.GNE    Page does not exist.
                           1    PA.GWR    Writable page.
                           2    PA.GRD    Readable page.
                           3    PA.GAA    Access allowed.
                           4    PA.GAZ    Allocated page, but zero.

                           5    PA.GCP    Page cannot be paged out.
                           6    PA.GPO    Page is paged out.
|                          7    PA.GHI    Page is in  high  segment.   If
|                                         this   bit  is  set,  the  high
|                                         segment  number  is  stored  in
|                                         Bits 25-35 (PA.GSG).
|                          8    PA.GSH    Page is sharable.
|                          9    PA.GSP    Page  is  SPYing  (mapped  onto
|                                         running  monitor).  If this bit
|                                         is set, the SPY page number  is
|                                         stored in Bits 22-35 (PA.GSC).
                          10    PA.GLK    Page is locked in memory.
                          11    PA.GNC    Page is not  cached  (KL10  and
                                          KS10 only).
                          12    PA.GSN    Section does not exist.
                          13    PA.GVR    Page is virtual (SPY page).
|                         14    PA.GIN    Page is in an indirect section,
|                                         that  is, a section mapped onto
|                                         another section.  If  this  bit
|                                         is  set, the new section number
|                                         is   stored   in   Bits   16-20
|                                         (PA.GSC).
|                         15              Reserved for use by DIGITAL.
|                      16-20    PA.GSC    Indirect section  number;  that
|                                         is,   a  section  that  another
|                                         section is mapped onto.  PA.GIN
                                   22-354
                                                        PAGE. [CALLI 145]


|                                         is   set  to  indicate  that  a
|                                         section  number  is  stored  in
|                                         PS.GSC.
|                         21              Reserved for use by DIGITAL.
|                      22-35    PA.GPN    Page number  of  the  SPY  page
|                                         which  the  specified user page
|                                         is SPYing on.   If  PA.GSP  and
|                                         PA.GVR are set, then this field
|                                         contains a monitor virtual page
|                                         number.
|  
|                                         If PA.GSP is set but PS.GVR  is
|                                         clear,  then  PA.GPN contains a
|                                         physical memory address.
                       25-35    PA.GSG    Segment number of  the  segment
                                          that  the page is in, if PA.GHI
                                          (Bit 7) is set.





































                                   22-355
   PAGE. [CALLI 145]


        Code   Symbol    Function

          7    .PAGCH    Changes the pages in a high segment, or  creates
                         a  high  segment from a contiguous collection of
                         pages.  The argument block  is  written  in  the
                         following format:

                           addr:  Number of words following.
                         addr+1:  Number of pages to be remapped.
                         addr+2:  Start page number.
                         addr+3:  Destination page number.

                         addr+3 is  an  optional  word  of  the  argument
                         block.   If  not specified, page 400 is assumed.
                         This function waits for all I/O to  stop  before
                         creating  the high segment.  On a normal return,
                         the specified pages are REMAPped into  the  high
                         segment,   which   begins  at  destination  page
                         number.  The error return is taken if all of the
                         pages  specified by start page number and number
                         of pages to be remapped do not exist,  or  if  a
                         page included in the list already exists in your
                         program's address space.  If the number of pages
                         specified  is negative, those pages are remapped
                         from the low segment to the  high  segment,  and
                         appended to the existing high segment.

                         Note that a  sharable  high  segment  cannot  be
                         created or affected with this function code.  If
                         only one argument is given, the number of  pages
                         specified  is  deleted  from the end of the high
                         segment.
|  
|                        This function deletes any high segments existing
|                        in  the  current PC section that are overwritten
|                        by the new high segment area.

         10    .PAGCB    Sets or clears  the  cache  bit  for  the  page.
                         (This  flag  is  automatically  set if PA.GAF is
                         on.)

                         This function sets or clears the cache bit on  a
                         per-page   basis  (KL10  and  KS10  only).   The
                         argument word format is as follows:

                         Bit 0       If this bit,  PA.GAF,  is  set,  the
                                     cache    bit    is    set   in   the
                                     corresponding  entry  in  the  job's
                                     page  map.   If clear, the cache bit
                                     is clear.
                         Bit 1       Reserved.
                         Bit 2       This bit, PA.GDC, ignores  the  fact
                                     that    a    page   doesn't   exist,
                                     suppressing error code PAGME%.
                                   22-356
                                                        PAGE. [CALLI 145]


                         Bits 3-26   Reserved.
                         Bits 27-35  The page number.

                         If there is more than one argument word  in  the
                         argument  block,  the  page numbers specified in
                         those words must be in ascending numeric order.
















































                                   22-357
   PAGE. [CALLI 145]


        Code   Symbol    Function

                         The  error  return  is  taken  if  any  of   the
                         following are true:

                          o  The function or call is not implemented.

                          o  A high segment  page  is  specified  in  the
                             argument list.

                          o  The argument list is not set up properly.

                          o  The job is not locked in core.

         11    .PAGSP    Allows your program to map an arbitrary  set  of
                         pages  from memory or from the monitor's virtual
                         address space into the program's address  space.
                         Use  one  argument  word  for  each  page  to be
                         mapped.  If you use more than one argument word,
                         you  must  specify the pages in ascending order.
                         The argument word is formatted as follows:

                              <flags>+<source>B17+<destination>B35

                         where flags are one or more of the following:

                         Bit    Symbol    Meaning

                           0    PA.GAF    Remove the page from the user's
                                          addressing  space.  If not set,
                                          add the  monitor  page  to  the
                                          user's  addressing space at the
                                          specified page number.

                           2    PA.GDC    On  a  create,  this  bit  will
                                          overlay   an  already  existing
                                          page.  On a delete, if the page
                                          does  not  exist, it is ignored
                                          and  error   code   PAGME%   is
                                          suppressed.

                         source is the page number of  the  source  page.
                         If  UU.PHY  is  set  in  the  PAGE. monitor call
                         itself, source is a physical page in memory.  If
                         UU.PHY  is  not set, source is a monitor virtual
                         address mapped through the executive page map.

                         destination is the page number of the page to be
                         mapped into your address space.

                         This function requires that the calling job have
                         PEEK privileges on all of core.


                                   22-358
                                                        PAGE. [CALLI 145]


        Code   Symbol    Function

         12    .PAGSC    Creates or destroys a  specified  section.   Use
                         one argument word for each section to be created
                         or destroyed.   For  more  than  one  word,  the
                         sections  or  arguments  must  be  specified  in
                         ascending order.  Each argument word is  of  the
                         form:

                              XWD <flag>+<source>B17+<destination>B35

                         where flag is one of the following:

                         Bits   Symbol    Meaning

                           0    PA.GSF    Delete the section if this  bit
                                          is  on,  create  the section if
                                          this bit is off.

                           1    PA.GMS    On a create, map  the  sections
                                          specified  in PA.GSS and PA.GDS
                                          together.

                           2    PA.GDC    On  a  create,   any   existing
                                          section   is   emptied.   On  a
                                          delete, ignore  a  non-existant
                                          section.

                         If  PA.GMS  is  set,   give   the   source   and
                         destination sections using the following format:

                         Bits   Symbol    Meaning

                          4-17  PA.GSS    The  section  number   of   the
                                          source section.

                         18-22            Reserved for use by DIGITAL.

                         22-35  PA.GDS    The  section  number   of   the
                                          destination section.














                                   22-359
   PAGE. [CALLI 145]


        Code   Symbol    Function

         13    .PAGBM    Returns  a  bit  map  that   indicates   whether
                         specified  page  accessibility attributes belong
                         to a certain page.  If, in the return,  the  bit
                         map  is  set  on,  the  page  has  the specified
                         attributes.

                         Each argument word is of the form:

                              EXP   count
                              EXP   attribute-settings
                              EXP   care-mask
                              EXP   starting-page-no

                         Where:

                         count is the number of arguments.

                         attribute-settings is the  word  indicating  the
                         desired  state of the given attribute.  The page
                         accessibility attribute bits  are  the  same  as
                         those given for .PAGCA.

                         care-mask is the word specifying which  bits  of
                         the attribute-settings word should be examined.

                         Note  that  PA.GSC,  the   independent   section
                         number, is checked only when PA.GIN is turned on
                         in both .PAGCA and in the care mask in .PAGBM.

                         Likewise,  PA.GPN,  the  SPY  page  number,   is
                         checked  only when PA.GSP is on in .PAGCA and in
                         the care mask in .PAGBM.

                         starting-page-no specifies the  page  number  of
                         the page that is mapped to Bit 0 of the mask.

         14    .PAGAL    Determines the type  of  access  allowed  for  a
                         given page.  The argument block is:

                              EXP   count
                              EXP   starting-page

                         where:

                         count is the number of arguments.

                         starting-page is the starting page of  the  area
                         in  which  information  is  to be returned.  The
                         bits returned are the same as for .PAGCA.
|  
|        15    .PAGLP    Locks and unlocks the specified pages  in  core.
|                        The argument word is formatted as:
                                   22-360
                                                        PAGE. [CALLI 145]


|                        Bits   Symbol    Meaning
|  
|                        1      PA.GEV    Modifier  bit.   If  set,  this
|                                         function  is  for  Exec Virtual
|                                         Memory.
|                        2-17   PA.GVP    Virtual  page  number   to   be
|                                         locked into core.
|                        21-35  PA.GPP    Physical page number where  the
|                                         virtual page will be locked.
|  
|        16    .PAGWL    Write-locks and write-enables low-segment pages.
|                        The argument list is formatted as:
|  
|                        Bits   Symbol    Meaning
|  
|                        0      PA.GAF    If set, write-locks  the  page.
|                                         If   clear,  write-enables  the
|                                         page.
|                        2      PA.GDC    Disables the  error  return  in
|                                         the   case  that  the  page  is
|                                         already write-locked (if PA.GAF
|                                         is  set)  or  write-enabled  if
|                                         PA.GAF is clear.
                         27-35            Page  number  of  page  to   be
                                          write-locked or write-enabled.

   Normal Return

        The specified function has been performed; the ac is unchanged.

|       To  perform  paging  functions  without  undo  interruption,  the
|       monitor  places  pages  in a private queue for the job.  Thus, if
|       the job blocks with successfully completing this call, the  pages
|       cannot be removed from the job.  On a successful return from this
|       monitor call, the pages are removed only as requested.
|  
|  Error Return
|  
|       On an error return, the pages are returned to the system queues.
|  
        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          0    PAGUF%    Function not implemented.
          1    PAGIA%    Illegal argument.
          2    PAGIP%    Illegal page number.
          3    PAGCE%    Page should not exist, but does.
          4    PAGME%    Page should exist, but does not.
          5    PAGMI%    Page should be in core, but is not.
          6    PAGCI%    Page should not be in core, but is.
          7    PAGSH%    Page is in sharable high segment.
         10    PAGIO%    Paging I/O error.
         11    PAGNS%    No swapping space available.
                                   22-361
   PAGE. [CALLI 145]


         12    PAGLE%    Core limit exceeded.
         13    PAGIL%    Function illegal if page locked.
         14    PAGNX%    Cannot allocate zero  page  with  virtual  limit
                         zero.
         15    PAGNP%    Not enough privileges.
         16    PAGSC%    Section should not exist, but does.
         17    PAGSM%    Section should exist, but does not.
         20    PAGIS%    Illegal section.
|        21    PAGAL%    Page is already locked in core.
|        22    PAGAU%    Page is already unlocked in core.
|        23    PAGNA%    Page  is  not  available.   (For  example,   the
|                        physical  page requested is already locked for a
|                        job.)
|        24    PAGNR%    Not enough memory space  was  reserved  for  the
|                        request to lock pages.
|        25    PAGNE%    Insufficient Exec Virtual Memory (EVM) space  is
|                        available for locking the requested pages.
|        26    PAGNN%    There are no free high segment numbers.
|        27    PAGNC%    There is no free core available.
|        30    PAGWL%    A specified page is already write-locked.
|        31    PAGWE%    A specified page is already write-enabled.

































                                   22-362
                                                        PATH. [CALLI 110]


   22.125  PATH.  [CALLI 110]




   Function

        Sets or reads a user's default directory path, reads the  default
        directory  path  for  a  device  or  channel,  or  sets  or reads
        pathological device name definitions.  A pathological device name
        is a logical name defining a directory search path in the form:

             dev:file.ext[UFD,SFD1,SFD2,...SFD5].

        Refer to Section 12.6.5 for more information.

   Calling Sequence

               MOVE    ac,[XWD len,addr]
               PATH.   ac,
                 error return
               normal return
               . . .
        addr:  argument list

        where:  len is the length of the argument  list.   The  value  in
                this  word  must  be  at  least 3.  If you specify 0, the
                length defaults to 3.

                addr is the address of the argument list.

        There are two types of argument blocks  for  the  PATH.   monitor
        call.   Type  1 is used for reading and setting default directory
        paths for users, channels,  or  devices.   Type  2  is  used  for
        reading or defining pathological names.

   Argument Block Type 1

        Argument Block Type 1 is used for  reading  and  setting  default
        directory  paths  for users, channels, or devices.  This argument
        type is used for all  functions  (specified  in  .PTFCN),  except
        functions  -6 and -5 (.PTFRN and .PTFSN).  The function codes are
        listed below.

        Offset  Symbol  Contents

          0    .PTFCN    A SIXBIT device name; or a  job  number  in  the
                         left  half and a function code or channel number
                         in the right half.

                         If  you  specify  a  device  name,  the  monitor
                         returns the default path for that device.


                                   22-363
   PATH. [CALLI 110]


        Offset  Symbol  Contents

                         If you specify a job number and  function  code,
                         or  a job number and channel number, the word is
                         formatted as follows:

                         Bits    Symbol  Contents

                          0-17   PT.JBN  Job  number.   This  job  number
                                         defaults  to  your job number if
                                         not in the range  of  1  to  the
                                         highest legal job number.

                         18-35   PT.FCN  Function code or channel number.
                                         The  function  codes  and  their
                                         meanings are listed below.

                                         If you specify a channel  number
                                         instead  of a function code, the
                                         monitor returns the default path
                                         for the device currently open on
                                         that channel.   If  accessing  a
                                         file   that   is   open  on  the
                                         specified channel,  the  monitor
                                         returns  the actual path for the
                                         file.

                                         The function codes are:

                                         Code  Symbol    Function

                                         -6    .PTFRN    Reads          a
                                                         pathological
                                                         name.  Refer  to
                                                         Argument   Block
                                                         Type 2.

                                         -5    .PTFSN    Sets           a
                                                         pathological
                                                         name.  Refer  to
                                                         Argument   Block
                                                         Type 2.












                                   22-364
                                                        PATH. [CALLI 110]


                                         Code  Symbol    Function

                                         -4    .PTFRL    Returns       an
                                                         additional  path
                                                         to  be  searched
                                                         when  a  file is
                                                         not   in    your
                                                         directory  path.
                                                         (For    example,
                                                         the      monitor
                                                         returns     SYS,
                                                         NEW,  or LIB, if
                                                         appropriate.
                                                         See  word .PTSWT
                                                         below.)

                                         -3    .PTFSL    Sets          an
                                                         additional  path
                                                         to  be  searched
                                                         when  a  file is
                                                         not   found   in
                                                         your   directory
                                                         path.       (See
                                                         .PTFRL.)    When
                                                         you specify this
                                                         function   code,
                                                         you must  supply
                                                         the    following
                                                         words   in   the
                                                         argument block:

                                                         .PTFCN
                                                         .PTSWT
                                                         .PTPPN

                                         -2    .PTFSD    Sets the default
                                                         path  to  search
                                                         if  no  path  is
                                                         specified.

                                         -1    .PTFRD    Reads        the
                                                         default     path
                                                         that is searched
                                                         if  no  path  is
                                                         specified.









                                   22-365
   PATH. [CALLI 110]


        Offset  Symbol  Contents

        1      .PTSWT    Flags.   The  flags  are  only   applicable   to
                         specific  functions.   All  flags  apply  if you
                         specify a device name or channel number  in  the
                         previous word (.PTFCN).

                         Bits    Symbol  Meaning

                          25     PT.EDA  Returned to  indicate  that  the
                                         device  or  channel  number  was
                                         both a pathological name and  an
                                         ersatz  device  name.  This flag
                                         is  ignored  for  all  functions
                                         that set the path.

                          26     PT.DLN  Returned to  indicate  that  the
                                         device  or  channel specified in
                                         .PTFCN is a  pathological  name.
                                         Therefore,    this    flag    is
                                         applicable only when a device or
                                         channel  number  is specified in
                                         .PTFCN.
|  
|                        27-29   PT.SLT  Returned to indicate the type of
|                                        search  list  associated  with a
|                                        device or channel.   The  search
|                                        list types are:

                                         Code  Symbol    Type

                                          0    .PTSLN    No  search  list
                                                         has         been
                                                         associated  with
                                                         the    specified
                                                         device        or
                                                         channel.
                                          1    .PTSLJ    Job search list.
                                          2    .PTSLA    ALL search list.
                                          3    .PTSLS    SYS search list.
                                                         .PTSLS        is
                                                         applicable  only
                                                         when  a   device
                                                         name  or channel
                                                         number        is
                                                         specified     in
                                                         .PTFCN.







                                   22-366
                                                        PATH. [CALLI 110]


                         Bits    Symbol  Meaning

                          30     PT.IPP  Returned to  indicate  that  the
                                         device  specified  in .PTFCN has
                                         an implied PPN, as in  the  case
                                         of  an  ersatz device name.  The
                                         implied PPN is returned  in  the
                                         following word, .PTPPN.

                          30     PT.DTL  Set to prevent any change to the
                                         status  of LIB, allowing changes
                                         to NEW and SYS without  changing
                                         LIB.   This  flag is useful only
                                         for function code .PTFSL.

                          31     PT.LIB  Returned to  indicate  that  LIB
                                         (if  defined  for your job) will
                                         be searched on each structure in
                                         your job search list, after your
                                         default path for each  structure
                                         in  the job search list has been
                                         exhausted in the attempt to find
                                         a  file.   The LIB ersatz device
                                         name  can   be   defined   using
                                         function  .PTFSL,  or by setting
                                         flag   PT.SEA   in    the    LIB
                                         pathological   name   definition
                                         using function .PTFRN.

                          32     PT.NEW  Returned to indicate that,  when
                                         SYS is specified or implied, the
                                         NEW area [1,5] will be  searched
                                         before the SYS area [1,4].

                          33     PT.SYS  Returned to  indicate  that  SYS
                                         (ersatz  device  name for [1,4])
                                         will   be   searched   on   each
                                         structure  in  your  job  search
                                         list after your default path  to
                                         each  structure  in  the  search
                                         list has been exhausted  in  the
                                         attempt to find a file.

                       34-35     PT.SCN  Controls      searching       of
                                         higher-level        directories.
                                         (Similar  to  /SCAN  switch   to
                                         SETSRC  program,  but  overrides
                                         the  setting  of   /SCAN.)   The
                                         values  of  this  field can be 0
                                         (use  same  scanning  status  as
                                         before  the PATH.  call), or one
                                         of the following:

                                         Value Symbol    Switch Setting
                                   22-367
   PATH. [CALLI 110]


                                           0             Use      default
                                                         setting.
                                           1   .PTSCN    Turns   scanning
                                                         off.
                                           2   .PTSCY    Turns   scanning
                                                         on.

                                         The scanning status is  returned
                                         if   you  specify  a  device  or
                                         channel number in .PTFCN, or  if
                                         you  use  function  .PTFRD.  The
                                         status  is  set  using  function
                                         .PTFSD.   These bits are checked
                                         when the path block is given for
                                         LOOKUP, GETSEG, RUN, MERGE., and
                                         FILOP. calls.

                          34     PT.SNW  Set to indicate that NEW (ersatz
                                         device  name  for [1,5]) will be
                                         searched before  [1,4]  whenever
                                         SYS is specified or implied.

                          35     PT.SSY  Returned to  indicate  that  SYS
                                         (ersatz  device  name for [1,4])
                                         will   be   searched   on   each
                                         structure  in  your  job  search
                                         list after your default path  to
                                         each  structure  in  the  search
                                         list has been exhausted  in  the
                                         attempt to find a file.
























                                   22-368
                                                        PATH. [CALLI 110]


        Table 22-1 lists the information that can be stored in .PTFCN and
        indicates the flags in .PTSWT that apply to each of the functions
        .PTFRD, .PTFSD, .PTFSL, and .PTFRL:


   Table 22-12:  PATH.  Functions and Flags



        +-----------------------------------------------------------+
        |       |              |     Functions                      |
        |       |   Device     |------------------------------------+
        |Flag   |  or Channel  | .PTFRD | .PTFSD | .PTFSL | .PTFRL  |
        +-----------------------------------------------------------+
        |PT.EDA |     X        |        |        |        |         |
        |-----------------------------------------------------------|
        |PT.DLN |     X        |        |        |        |         |
        |-----------------------------------------------------------|
        |PT.SLT |     X        |        |        |        |         |
        |-----------------------------------------------------------|
        |PI.IPP |     X        |        |        |        |         |
        |-----------------------------------------------------------|
        |PT.DTL |              |        |        |   X    |         |
        |-----------------------------------------------------------|
        |PT.LIB |     X        |   X    |        |        |         |
        |-----------------------------------------------------------|
        |PT.NEW |     X        |   X    |        |        |         |
        |-----------------------------------------------------------|
        |PT.SYS |     X        |   X    |        |        |         |
        |-----------------------------------------------------------|
        |PT.SCN |     X        |   X    |   X    |        |         |
        |-----------------------------------------------------------|
        |PT.SNW |              |        |        |   X    |    X    |
        |-----------------------------------------------------------|
        |PT.SSY |              |        |        |   X    |    X    |
        +-----------------------------------------------------------+


















                                   22-369
   PATH. [CALLI 110]


        Offset Symbol    Contents

          2    .PTPPN    The PPN (UFD) of the path.  For function .PTFRL,
                         the  library PPN, if any, is returned here.  For
                         function .PTFSL, the library  PPN  is  set  from
                         this word unless PT.DTL is set in .PTSWT.

          3    .PTSFD    The first level of SFD, as the SFD name,  stored
                         in   SIXBIT.   Subsequent  words  contain  lower
                         levels of SFDs.  TOPS-10 allows up to  5  nested
                         levels  of SFDs, but MONGEN allows this value to
                         be set at less  than  5.   You  can  obtain  the
                         maximum  number  of SFD levels allowed, from the
                         right half of the item %LDSFD  in  GETTAB  table
                         .GTLVD.

          4-10 .  .  .   Name of the following SFD levels.

          11   .PTMAX    Maximum length.  Contains a 0 to end  the  PATH.
                         block.

   Argument Block Type 2

        This argument block is used to read and define pathological names
        (logical names for directory paths) using functions .PTFSN to set
        the pathological name and .PTFRN to read the  pathological  name.
        The offsets into the argument block are:

        Offset Symbol    Contents

        0      .PTFCN    Job number and function code  in  the  following
                         format:

                         Bits    Symbol  Contents

                         0-17    PT.JBN  Ignored for functions .PTFSN and
                                         .PTFRN.

                         18-35   PT.FCN  Function  code.   The   function
                                         codes and their meanings are:

                                         Code  Symbol    Function

                                         -6    .PTFRN    Returns
                                                         information  (in
                                                         .PTLNM)    about
                                                         the      current
                                                         pathological
                                                         name  or returns
                                                         the         next
                                                         pathological
                                                         name in the list
                                                         of       defined
                                                         names.
                                   22-370
                                                        PATH. [CALLI 110]


                                         Code  Symbol    Function

                                         -5    .PTFSN    Defines       or
                                                         deletes        a
                                                         pathological
                                                         name.  To delete
                                                         a name, you must
                                                         also   set  flag
                                                         PT.UDF in .PTLNF
                                                         and  specify the
                                                         name    to    be
                                                         deleted       in
                                                         .PTLNM.
        Offset Symbol    Contents

        1      .PTLNF    Pathological name flags:

                         Bits    Symbol  Meaning

                           0     PT.SEA  The directories included in  the
                                         definition  of this pathological
                                         name will  be  searched  when  a
                                         file is not found in the default
                                         directory path when you issue  a
                                         LOOKUP  monitor  call.  (This is
                                         similar to  .PTFSL,  but  allows
                                         more flexibility.) PT.SEA can be
                                         set for  only  one  pathological
                                         device.      However,    several
                                         directories can be specified for
                                         a single pathological name.

                           1     PT.UDF  Deletes the  definition  of  the
                                         pathological  name  specified in
                                         .PTLNM.  You must  also  specify
                                         function code -5 (.PTFSN) above.

                           2     PT.RCN  Returns    data    about     the
                                         pathological  name  specified in
                                         .PTLNM when you specify function
                                         code  -6 (.PTFRN).  If this flag
                                         is 0 for  function  .PTFRN,  the
                                         monitor  returns, in .PTLNM, the
                                         next pathological  name  defined
                                         in the list.

                           3             Reserved for use by DIGITAL.







                                   22-371
   PATH. [CALLI 110]


                         Bits    Symbol  Meaning

                           4     PT.OVR  Indicates that the file name and
                                         extension   specified   in   the
                                         definition of  the  pathological
                                         device  should override those in
                                         the    argument    block     for
                                         LOOKUP/ENTER  calls.   Used with
                                         both .PTFRN and .PTFSN.

                                         For example,  when  FOO/OVERRIDE
                                         is defined as DSKA:FOO.DAT[1,2],
                                         a LOOKUP of FOO:BAR.DAT will not
                                         find   BAR.DAT;   it  will  find
                                         FOO.DAT.   When  PT.OVR  is  not
                                         set,  the  pathological  name is
                                         used to  define  defaults.   For
                                         example,  when FOO is defined as
                                         DSKA:FOO.DAT[1,2], a LOOKUP  for
                                         FOO:BAR would find BAR.DAT
        Offset Symbol    Contents

        2      .PTLNM    For function .PTFRN,  set  this  word  to  0  to
                         return  the  first pathological name in the list
                         of names defined for your job, or the next  path
                         name  in  this  word.   For the .PTFSN function,
                         this word contains the  path  name  (in  SIXBIT)
                         that you wish to define or delete.

        3      .PTLSB    First word of the pathological name sub-block.

                         Each sub-block is in  the  format  shown  below.
                         Offsets  are  from  the  start of the sub-block.
                         The SFD list for the path begins at Word  5  and
                         is  terminated  with a zero word.  The zero word
                         must not be past Word 12 (.PTLEL).

                         The entire list of sub-blocks must be terminated
                         by  two zero words following the last sub-block.
                         These must be reserved in addition to .PTLEL.

                         Each path sub-block is formatted as:

        Offset Symbol    Contents

           0   .PTNOD    Reserved to DIGITAL for future expansion.
           1   .PTLSL    SIXBIT device (such as DSKB, DSK, ALL, or SSL).
           2   .PTFIL    File name.
           3   .PTEXT    File extension.
           4   .PTLPP    PPN.
           5   .PTLSF    Start of SFD list.
         6-11            Subsequent SFD levels.


                                   22-372
                                                        PATH. [CALLI 110]


          12   .PTLEL    Zero word, to terminate SFD list.
          13   .PTLZT    First of the two-word zero  terminator  for  the
                         entire list of path blocks.

        You can include as many sub-blocks as you wish, up to 77 (octal),
        except   that  the  length  of  the  entire  list  of  sub-blocks
        (including the header) may not exceed 144 octal words.

   Normal Return

        For Read functions, the argument block  is  filled  in;  for  Set
        functions, the function is completed.

   Error Return

        One of the following error codes is returned in the ac:

        Code    Symbol    Error

        -1      PTNSS%    No such SFD as that specified in search list.
         0      PTNDD%    Specified channel was not  OPEN,  or  specified
                          device was not a disk device.
         1      PTTME%    Too many entries in PATH.  block.
         2      PTTMN%    Too many pathological names defined.
         3      PTNSN%    Attempt to delete nonexistent name.
         4      PTNFS%    No per-process free core.
         5      PTANE%    Tried  to  define  a  pathological  name   that
                          already exists.
         6      PTNEN%    Non-existent pathological name used in argument
                          block for .PTFRN and .PTFSN.
         7      PTNSJ%    No such job as the job number you specified  in
                          the argument block.
        10                Reserved for use by DIGITAL.
        11      PTNAI%    Invalid number  of  arguments  specified.   You
                          must  include  3 words in the block for calling
                          sequence 1; 5 words in the  block  for  calling
                          sequence 2.

















                                   22-373
   PATH. [CALLI 110]


   Examples

        This example defines the following pathological name:

        FOO/SEARCH=DSKB:[10,10,MON,NEW],DSKC:[10,11,OLD]

        The code to define the pathological name FOO is:

                MOVE    T1,[XWD ARGLEN,ARGLST]
                PATH.   T1,
                  JRST  ERROR
                JRST    CONTIN
        ARGLST: EXP     .PTFSN        ;Function code
                EXP     PT.SEA        ;/SEARCH attribute
                SIXBIT/FOO/           ;Logical path name to define
                EXP     0             ;Start of first group
                SIXBIT/DSKB/
                0                     ;File name
                0                     ;Extension
                XWD     10,10
                SIXBIT/MON/
                SIXBIT/NEW/
                EXP     0             ;Word terminating PATH spec
                EXP     0             ;Start of second group
                SIXBIT/DSKC/
                0                     ;File name
                0                     ;Extension
                XWD     10,11
                SIXBIT/OLD/
                EXP     0             ;Word terminating PATH spec
                EXP     0             ;Two words terminating PATH block
                EXP     0
        ARGLEN==.-ARGLST              ;Length of arg list





















                                   22-374
                                                          PEEK [CALLI 33]


   22.126  [33~1 PEEK [CALLI 33]




   Function

        Returns the contents of any location in the  monitor.   The  PEEK
        monitor  call  requires that your program have bit 16 (JP.SPA) or
        bit 17 (JP.SPM) set in the GETTAB table .GTPRV, or  your  program
        must  have  JACCT  privileges.   If  you  do  not have the proper
        privileges, the ac is cleared.

   Calling Sequence

                MOVE    ac,addr
                PEEK    ac,
                return

        where:  addr is the 30 bit address of the  word  in  the  monitor
                virtual address space to be returned.

        If you set UU.PHY in this call, using the instruction:

             PEEK ac,UU.PHY

        the specified address is assumed to be a physical memory  address
        instead of a virtual address.

   Return

        On return, the contents of the monitor location given by addr  is
        returned  in  the  ac.   If  the  calling  job  does not have the
        required privileges, the monitor clears the ac.

   Related Calls

        PAGE., POKE., SPY
















                                   22-375
   PERF. [CALLI 162]


   22.127  PERF. [CALLI 162]




   Function

        Allows privileged programs to perform system measurements over  a
        period of time.  The PERF. call works only on the KL10 processor.
        Note that only one job at a time may use the performance meter on
        each CPU.  The PERF. functions are discussed in Chapter 10.

   Calling Sequence

                MOVE    ac,[XWD n,addr]
                PERF.   ac,
                  error return
                normal return
                . . .
        addr:   XWD     fcncode,faddr
                . . .
                XWD     fcncode,faddr

        where:  n is the  number  of  function  words  specified  in  the
                argument block, which begins at addr.

                addr is the address of the argument block.  The  argument
                block  is  a  list of the functions to be enabled and the
                address of the argument list that defines each  function,
                allowing  you  to  specify multiple functions in a single
                monitor call.

                fcncode is one of the function  codes  described  on  the
                following pages of this manual.

                faddr is the address of the function code argument  list.
                Each  function  must  have a corresponding argument list.
                These argument lists  are  described  with  the  function
                codes.

        The function codes and their meanings are:

             Code   Symbol    Function

               1    .PRSET    Sets up the performance meter.
               2    .PRSTR    Starts the performance meter.
               3    .PRRED    Reads the performance meter.
               4    .PRSTP    Stops the performance meter.
               5    .PRRES    Releases the performance meter.
               6    .PRBPF    Turns background PERF analysis off.
               7    .PRBPN    Turns background PERF analysis on.



                                   22-376
                                                        PERF. [CALLI 162]


        The argument list at faddr for the .PRSET function is:

        Offset Symbol    Contents

           0   .PMLEN    Length of the argument list.

           1   .PMCPU    CPU type:

                         Bit    Symbol    CPU Type

                           0    PM.PD6    PDP-6.
                           1    PM.KA     KA10.
                           2    PM.KI     KI10.
                           3    PM.KL     KL10.
                           4    PM.KS     KS10.

           2   .PMMOD    CPU number and mode:

                         Bits   Symbol    Meaning

                         0-17   PM.CPN    CPU number.
                           18   PM.MOD    Interval mode.  If this bit  is
                                          not set, a count of the enabled
                                          events (specified in  following
                                          words)  is  kept.   If  on, the
                                          duration of the  enabled  event
                                          (in clock ticks) is kept.
                           19   PM.CLR    Clears    performance     meter
                                          counts.   Resets  the  counters
                                          when the call  is  issued.   If
                                          you  clear  this bit, the meter
                                          will  be  set  but  any  values
                                          currently  in  the counters are
                                          left unchanged.

           3   .PMCSH    Cache enable flags:

                         Flag   Symbol    Meaning

                           0    PM.CCR    Count references.
                           1    PM.CCF    Count fills.
                           2    PM.EWB    Count EBOX writebacks.
                           3    PM.SWB    Count sweep writebacks.
                           4    PM.SYN    Synchronize   performance   and
                                          accounting meters.

           4   .PMPIE    Priority interrupt enable flags:

                         Flag   Symbol    Meaning

                           0    PM.PI0    Enable for channel 0 (DTE).
                           1    PM.PI1    Enable for channel 1.


                                   22-377
   PERF. [CALLI 162]


        Offset Symbol    Contents

                         Flag   Symbol    Meaning

                           2    PM.PI2    Enable for channel 2.
                           3    PM.PI3    Enable for channel 3.
                           4    PM.PI4    Enable for channel 4.
                           5    PM.PI5    Enable for channel 5.
                           6    PM.PI6    Enable for channel 6.
                           7    PM.PI7    Enable for channel 7.
                           8    PM.NPI    Enable  for  no  interrupt   in
                                          progress.

           5   .PMPCE    Program counter enable flags:

                         Flag   Symbol    Meaning

                           0    PM.UPC    User-mode enable.
                           1    PM.XPC    Executive-mode enable.

           6   .PMMPE    Microcode probe enable flags:

                         Flag   Symbol    Meaning

                           0    PM.MPE    Enable microcode probe.

           7   .PMHPE    Hardware probe enable flags:

                         Flag   Symbol    Meaning

                           0    PM.P0L    Probe zero low.
                           1    PM.P0H    Probe zero high.

          10             .PMJOB Job enable flag:

                         Value  Symbol    Meaning

                           -2   .PMNUL    Enable for null job.
                           -1   .PMSLF    Enable for calling job.

          11   .PMCHN    Channel enable flags:

                         Flag   Symbol    Meaning

                           0    PM.EC0    Enable for channel 0.
                           1    PM.EC1    Enable for channel 1.
                           2    PM.EC2    Enable for channel 2.
                           3    PM.EC3    Enable for channel 3.
                           4    PM.EC4    Enable for channel 4.
                           5    PM.EC5    Enable for channel 5.
                           6    PM.EC6    Enable for channel 6.
                           7    PM.EC7    Enable for channel 7.


                                   22-378
                                                        PERF. [CALLI 162]


        The arguments at faddr and  following  for  the  .PRSTR,  .PRRED,
        .PRSTP, and .PRRES functions are:

                Offset   Symbol  Contents

                   0     .PMLEN  Length of the argument list.
                   1     .PMCPN  CPU number.
                   2     .PMHTB  High-order word of time-base.
                   3     .PMLTB  Low-order word of time-base.
                   4     .PMHPM  High-order word of performance counter.
                   5     .PMLPM  Low-order word of performance counter.
                   6     .PMHMC  High-order MBOX reference count.
                   7     .PMLMC  Low-order MBOX reference count.

        The argument offsets for the .PRBPF and .PRBPN functions are:

                Offset   Symbol  Contents

                   0     .PMLEN  Length of argument block.
                   1     .PMCPU  CPU type (same as .PRSET).
                   2     .PMMOD  CPU and flags (same as .PRSET).
                   3     .PMBPI  Sample interval in ticks.

   Normal Return

        For the .PRSET function, the performance meter is set.

        For the .PRSTR  function,  the  monitor  starts  the  performance
        meter.

        For the .PRRED function, the monitor  has  supplied  the  updated
        values for faddr+2 through faddr+7.

        For the .PRSTP  and  .PRRES  functions,  the  monitor  stops  the
        performance    meter   or   releases   the   performance   meter,
        respectively.


















                                   22-379
   PERF. [CALLI 162]


   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    PRCPU%    Invalid CPU specified.
          2    PRNXC%    Nonexistent CPU specified.
          3    PRMOD%    Improper mode specified.
          4    PRSET%    Meter not set up.
          5    PRUSE%    Meter already in use.
          6    PRRUN%    Meter already running.
          7    PRJOB%    Invalid job number.
         10    PRNRN%    Meter not running.
         11    PRNIM%    Function not implemented.
         12    PRFUN%    Invalid function code.
         13    PRPRV%    Not enough privileges.





































                                   22-380
                                                       PIBLK. [CALLI 212]


   22.128  PIBLK.  [CALLI 212]




   Function

        Returns the address of the 4-word interrupt control block for the
        current  interrupt  in  progress  on  the  Programmable  Software
        Interrupt (PSI) system.  Refer to Chapter 6 for more  information
        about using the (PSI) system.

        This call is used by generic  interrupt  processes  that  service
        multiple  interrupt  conditions.   Note  that  this call will not
        generate an interrupt when UUO interrupts are enabled.

   Calling Sequence

                PIBLK.  ac,
                  error return
                normal return

   Normal Return

        On a successful  return  from  this  call,  the  address  of  the
        interrupt control block is stored in the ac.

   Error Return

        The call can take the error return  with  one  of  the  following
        error codes stored in the ac:

         Code   Symbol    Error

         0      PSNIN%    The PSI system has  not  been  initialized  for
                          this job.

         1      PSNIP%    No interrupt is in progress.

   Related Calls

             DEBRK.    PIRST.
             PIFLG.    PISAV.
             PIINI.    PISYS.
             PIJBI.    PITMR.









                                   22-381
   PIFLG. [CALLI 216]


   22.129  PIFLG.  [CALLI 216]




   Function

        The PIFLG.  monitor call allows you to retrieve the PC  flags  of
        the  highest level pending interrupt that have been stored in the
        monitor.  Flags are stored  in  the  monitor  if  you  are  using
        extended  addressing  format, set by the PS.IEA bit of the PIINI.
        monitor call.

   Calling Sequence

              / MOVEI   ac,.PSFRD          \
              \ MOVE    ac,[flags,,.PSFWT] /
                PIFLG.  ac,
                  error return
                normal return

        where:  flags are one or more of the  interrupt  PC  flags.   The
                function codes are:

         Code   Symbol    Function

         0      .PSFRD    Read interrupt flags.

         1      .PSFWT    Write interrupt flags.

   Normal Return

        The requested action is performed.  Flags are returned in the ac.

   Error Return

        One of the following codes in returned in the ac:

         Code   Symbol    Error

         0      PSFNI%    PSI system not initialized.
         1      PSFNP%    No interrupt in progress.
         2      PSFEA%    Extended addressing format for PI system not in
                          use.
         3      PSFIF%    Illegal function code.

   Related Calls

             DEBRK.    PIRST.
             PIBLK.    PISAV.
             PIINI.    PISYS.
             PIJBI.    PITMR.


                                   22-382
                                                        PIINI [CALLI 135]


   22.130  PIINI.  [CALLI 135]




   Function

        Initializes the programmable software interrupt (PSI) facility by
        clearing  any  old interrupts and storing the base address of the
        interrupt vector block.  Refer to Chapter 6 for more  information
        about using the PSI system.

   Calling Sequence

                MOVE    ac, [flag + addr]
                PIINI.  ac,
                  error return
                normal return
                . . .
        addr:

        where:  flag is one or more of the following:

         Bits   Symbol    Meaning
|  
|          0    PS.UCS    Use the current (PC)  section  for  the  vector
|                         section.   (IFIW) If PS.UCS is not set, addr is
|                         treated as  a  30-bit  address.   This  bit  is
|                         ignored if PS.IEA is not set.
|  
|          1    PS.IEA    Use extended addressing format.   A  30-bit  PC
|                         word  is  stored  in the old PC location in the
|                         PSI block when an interrupt occurs.   No  flags
|                         are  stored in the PC.  Flags are stored in the
|                         monitor,  and  may  be   returned   using   the
|                         PIFLG. UUO.
|  
|                         If PS.IEA is clear, the entire contents of  the
|                         left half of the ac will be ignored.

                addr is the base address of the  first  interrupt  vector
                block.   The  interrupt  vector block is a list of one or
                more sub-blocks, each of which is formatted as follows:

        Offset Symbol    Contents
|  
|          0   .PSVNP    New program counter; this is the address of  the
|                        interrupt service routine.  This value is set by
|                        the user.
|  
|          1   .PSVOP    Old program counter; this is the address of  the
|                        next  instruction after the instruction that was


                                   22-383
   PIINI [CALLI 135]


|                        being  executed  when  the  interrupt  occurred.
|                        This  value  is  returned  by  the  monitor on a
|                        interrupt.

                         If the instruction was a  monitor  call,  .PSVOP
                         contains   the  return  address  for  the  call;
                         however, if the  monitor  terminated  the  call,
                         .PSVOP contains the address of the call itself.














































                                   22-384
                                                        PIINI [CALLI 135]


        Offset Symbol    Contents

           2   .PSVFL    Control flags, and either device condition flags
                         or  a non-I/O condition code.  The control flags
                         are set by the user.

                         The control flags are:

                         Bits   Symbol    Meaning

                           1    PS.VPO    Disable  all  interrupts;  they
                                          can    be    reenabled   by   a
                                          PISYS. monitor call.

                           2    PS.VTO    Disable   all   interrupts   of
                                          higher   priority   until   the
                                          program gives a  DEBRK. monitor
                                          call.

                           3    PS.VAI    Allow control block  to  accept
                                          additional   interrupts.    Use
                                          DEBRK.  to dismiss interrupts.

                           4    PS.VDS    Dismiss     any      additional
                                          interrupt   requests  for  this
                                          condition or device until  this
                                          interrupt  is  dismissed (using
                                          DEBRK.).

                           5    PS.VPM    Print any standard message that
                                          is  relevant  to this interrupt
                                          condition.

                           6    PS.VIP    Interrupts are in progress  for
                                          this  interrupt  control block.
                                          This  flag  is  used   by   the
                                          monitor.
|  
|                        17-35            The  right   half   of   .PSVFL
|                                         contains the condition (reason)
|                                         for the interrupt.   These  are
|                                         divided    into    device   I/O
|                                         conditions     and      non-I/O
|                                         conditions,  and  are described
|                                         under the PISYS.  monitor call.
|                                         The  reason code is returned by
|                                         the monitor on an interrupt.

          3    .PSVIS    Interrupt status.  When this auxiliary  word  is
                         returned by a device I/O interrupt, it contains:

                              udx,,file-status


                                   22-385
   PIINI [CALLI 135]


   Normal Return

        The program can use the PISYS. call to add  or  delete  interrupt
        conditions.

   Error Return

        The call can take the error return  with  one  of  the  following
        error codes stored in the ac:

        Code   Symbol    Meaning

          1    PIIBC%    Illegal bit or section number given.
          2    PIADC%    Address check occurred.
          3    PINFS%    The monitor does not have sufficient free core.

   Examples

        See Chapter 6.

   Related Calls

             DEBRK.    PIRST.
             PIBLK.    PISAV.
             PIFLG.    PISYS.
             PIJBI.    PITMR.




























                                   22-386
                                                        PIJBI [CALLI 175]


   22.131  PIJBI. [CALLI 175]




   Function

        The PIJBI.  monitor call allows one job to interrupt another with
        a  software  interrupt.   The interrupted job must be waiting for
        the interrupt; it cannot be busy handling a  previous  interrupt.
        The  receiver  enables  cross-job  interrupts by using the PISYS.
        UUO (non-I/O condition .PCJBI).

   Calling Sequence

                MOVE    ac,[XWD target,status]
                PIJBI.  ac,
                  error return
                normal return

        where:  target is either the job context number  of  the  job  to
                interrupt,  or  the  job  number of the job to interrupt.
                Status is the status of the interrupt.  The  status  word
                is described in Volume 1.
|  
|               Specifically, the ac contains the following:
|  
|            Bits   Symbol    Contents
|  
|            0-8    PS.CTX    Context number or zero.
|            9-17   PS.JOB    Job number.
|  
|                             (A  -1  in  the  left  half  of  this  word
|                             indicates  the  job  that  is executing the
|                             monitor call.)
|            18-35  PS.STS    Status.
|  
        The  job  to  be  interrupted  must  be  enabled  for   cross-job
        interrupts  or else the call will fail.  Note that this situation
        requires cooperation between two jobs, much like ENQ/DEQ or IPCF.
        If the target job is processing an interrupt, the sender must try
        again because requests are not queued.

   Normal Return

        The interrupted job will receive a word of the following form:

             [source,,status]

        where source is the job context number of the job that  performed
        the  PIJBI.   call,  and  the  status  is the status that the job
        included in the call.


                                   22-387
   PIJBI [CALLI 175]


   Error Return

        One of the following error codes is returned in the ac:

         Code  Symbol    Meaning

          0    PSJNE%    Job not enabled  or  the  program  specified  an
                         invalid job number.
          1    PSJOP%    Job  has  an  interrupt  in  progress.   Try  to
                         interrupt again.

   Related Calls

             DEBRK.    PIRST.
             PIBLK.    PISAV.
             PIFLG.    PISYS.
             PIINI.    PITMR.





































                                   22-388
                                                       PIRST. [CALLI 141]


   22.132  PIRST.  [CALLI 141]




   Function

        Restores the saved state of the interrupt  facility.   This  does
        not restore any pending interrupts.

   Calling Sequence

                MOVEI   ac,buffer
                PIRST.  ac,
                  error return
                normal return

        where:  buffer is the address of  the  data  saved  by  a  PISAV.
                monitor call.

   Normal Return

        The state of the  interrupt  facility  as  saved  by  PISAV.   is
        restored.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          0    PSNRS%    Not restoring what was saved.
          1    PSNME%    Not enough monitor core to contain data base.

   Related Calls

             DEBRK.    PIJBI.
             PIBLK.    PISAV.
             PIFLG.    PISYS.
             PIINI.    PITMR.














                                   22-389
   PISAV. [CALLI 140]


   22.133  PISAV.  [CALLI 140]




   Function

        Returns the monitor's data for the current state of the  software
        interrupt  facility.   Use PIRST. to restore this data to current
        state.

   Calling Sequence

                MOVE    ac,[XWD buflength,buffer]
                PISAV.  ac,
                  error return
                normal return
                . . .
        buffer: BLOCK   buflength

        where:  buflength is the length of the buffer for  returned  data
                (buflength  = 2 + (3 * blocks)).  The data is returned in
                a series of 3-word blocks, one block for  each  interrupt
                vector.

                buffer is the address of the buffer.

   Normal Return

        The interrupt data is returned at buffer in the format:

        Offset Symbol    Contents

           0   .PSSFC    Flags and count:

                         Bits   Symbol    Meaning

                            0   PS.SON    The interrupt facility is on.
                            1             Reserved.
                            2   PS.SEA    System      using      extended
                                          addressing.
                         3-17             Reserved.
                        18-35             Count of  words  returned.   If
                                          error   code   PSBTS%   (0)  is
                                          returned,  this  count  is  the
                                          number  of  words  required  to
                                          save  the   current   interrupt
                                          system.

           1   .PSSIV    Address of interrupt control block vector.

           2   .PSSBL    Address of first 3-word argument block.


                                   22-390
                                                       PISAV. [CALLI 140]


        Each 3-word argument block is in the form:

        Offset Symbol    Contents

           0   .PSECN    Condition or device.
           1   .PSEOR    Offset,,reasons.
           2   .PSEPR    Priority,,0.

        Refer to the PISYS. UUO for lists of device conditions and reason
        codes.
   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          0    PSBTS%    Block too small.
          1    PSBSZ%    Buffer size is 0 words.

   Examples

        See Chapter 6 for more information.

   Related Calls


             DEBRK.    PIJBI.
             PIBLK.    PIRST.
             PIFLG.    PISYS.
             PIINI.    PITMR.
























                                   22-391
   PISYS. [CALLI 136]


   22.134  PISYS.  [CALLI 136]




   Function

        Controls the program interrupt facility during execution.

   Calling Sequence

                MOVE    ac,[EXP flags+addr]
                PISYS.  ac,
                  error return
                normal return
                . . .
        addr: / SIXBIT/device/    \
             |  EXP     channo     |
             |  EXP     udx        |
              \ EXP     condition /
                XWD vector-offset,reasons
                XWD priority, 0

        where:  flags are one or more of  the  function  flags  described
                below.

                addr is the address of the argument list.

                device is the SIXBIT  physical  or  logical  name  of  an
                initialized device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

                condition is one of the non-I/O condition codes described
                below.

                vector-offset is the  relative  address  of  the  control
                block for the interrupt (maximum value for this is stored
                in GETTAB table .GTCNF, item %CNMVO).

                reasons are flags (described below) specifying the device
                I/O conditions that can cause an interrupt.

                priority is the priority level assigned to the interrupt.
                Priority  0  is the lowest level.  Higher values indicate
                which events may interrupt  other  events.   The  maximum
                priority  level is available in GETTAB table .GTCNF, item
                %CNMIP (normally 3).




                                   22-392
                                                       PISYS. [CALLI 136]


        The function flags and their meanings are listed below.



        Table 22-13:  PISYS.  Function Flags



        Bits   Symbol    Meaning

           1   PS.FOF    Turns off the interrupt facility.

           2   PS.FON    Turns on the interrupt facility.

           3   PS.FCP    Clears all pending interrupts.

           4   PS.FCS    Clears all pending interrupts for a given device
                         or condition.

           5   PS.FRC    Removes the specified device or condition.

           6   PS.FAC    Adds the specified device or condition.

        The non-I/O condition codes and their meanings are listed in  the
        following table.



        Table 22-14:  PSI Interrupt Codes (Non-I/O Interrupts)



        Code   Symbol    Meaning

          -1   .PCTLE    Time limit exceeded for batch job.  The job  run
                         time (in milliseconds) is returned in the status
                         word.  You can change the job's time limit  with
                         the SET TIME monitor command.

          -2   .PCTMR    Timer interrupt  occurred.   This  condition  is
                         enabled with the PITMR.  call.

          -3   .PCSTP    CTRL/C received from user terminal.  If the  job
                         was  in  terminal input wait state, bit 0 of the
                         status word is set.

          -4   .PCUUO    A monitor call is about  to  be  processed;  the
                         status word contains the monitor call.

          -5   .PCIUU    An illegal monitor call has been processed;  the
                         status word contains the monitor call.



                                   22-393
   PISYS. [CALLI 136]


          -6   .PCIMR    An illegal memory reference occurred; the status
                         word contains the effective address.

          -7   .PCACK    An  address  check  occurred;  the  status  word
                         contains the device name.

         -10   .PCARI    An exceptional arithmetic condition occurred.

         -11   .PCPDL    A pushdown list overflow occurred.

         -12   .PCNSP    The  DECnet   NSP.    monitor   call   interrupt
                         occurred.  Refer to the NSP.  UUO.










































                                   22-394
                                                       PISYS. [CALLI 136]


        Code   Symbol    Meaning

         -13   .PCNXM    A reference to nonexistent memory occurred.

         -14   .PCAPC    A line-frequency clock tick occurred  while  the
                         job  was  running.  Note that this does not mean
                         an interrupt occurs on  every  clock  tick,  but
                         only  on those that occur while the job is being
                         serviced by the CPU.  The status  word  contains
                         the date and time in universal format.

         -15   .PCUEJ    A fatal error occurred for the job.

         -16   .PCXEJ    An external condition caused a fatal  error  for
                         the job.

         -17   .PCKSY    A KSYS (end of  timesharing)  warning  occurred;
                         the  status  word contains the number of minutes
                         left until KSYS.

         -20   .PCDSC    The dataset status changed.
|  
|        -21   .PCDAT    An ATTACH or DETACH monitor call  was  executed.
|                        For   ATTACH   the   status  word  contains  the
|                        Universal Device Index number for the  terminal.
|                        For DETACH the status word contains -1.

         -22   .PCWAK    A WAKE monitor call  was  executed;  the  status
                         word contains the job number of the waker.

         -23   .PCABK    An address break condition occurred.

         -24   .PCIPC    An IPCF packet is in your job's input queue; the
                         status word contains the associate variable.

         -25   .PCDVT    DECnet logging event occurred.   Returns  DR.xxx
                         conditions,  indicating  that  an event occurred
                         that the DECnet management layer must handle.

         -26   .PCQUE    One  or   more   resources   requested   by   an
                         ENQ. monitor  call  is now available; the status
                         word  contains   the   inclusive   OR   of   the
                         request-ids of the granted requests.

         -27   .PCNET    The ANF-10 network topology  changed.   You  can
                         obtain   the   state  of  the  network  using  a
                         NODE. monitor call.

         -30   .PCJBI    Cross-job interrupt.





                                   22-395
   PISYS. [CALLI 136]


        Code   Symbol    Meaning

         -31   .PCDTC    Date/time changed.  The offset from the previous
                         UDT is returned in the status word.  This offset
                         should be added to a previously stored UDT.

         -32   .PCOOB    An out-of-band character was received.

         -33   .PCRC1    Reserved for customer use.

         -34   .PCRC2    Reserved for customer use.

         -35   .PCSCS    SCS event.

         -36   .PCETH    ETHERNET event.

        The device interrupt reason flags and their meanings  are  listed
        in the following table:



        Table 22-15:  PSI Reason Codes (I/O-Related Interrupts)



        Bit    Symbol    Device Condition

         19    PS.RID    Input done.
         20    PS.ROD    Output done.
         21    PS.REF    End-of-file.
         22    PS.RIE    Input error.
         23    PS.ROE    Output error.
         24    PS.RDO    Device off-line.
         25    PS.RDF    Device full.
         26    PS.RQE    Quota exceeded.
         27    PS.RWT    I/O wait.
         28    PS.ROL    Device on-line.
         29    PS.RRC    RIB has changed.
         30    PS.RDH    Device hung.
         31    PS.RSW    Reel switch.
         32    PS.RIA    Input available.

   Normal Return

        The specified function is executed or the condition is enabled.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error



                                   22-396
                                                       PISYS. [CALLI 136]


          0    PSTMA%    Although no bits in the  left  half  of  the  ac
                         require  an  argument  list,  the  right half is
                         nonzero.
          1    PSNFS%    The left half of the ac is zero.
          2    PSUKF%    Unknown function flag.
          3    PSOOF%    Both the on and off function flags are set.
          4    PSUKC%    Address check for addr.
          5    PSDNO%    Device not initialized.
          6    PSPRV%    Privilege failure.
          7    PSIVO%    Invalid vector offset; not a multiple of  4,  or
                         too  large.   This  value may not be larger than
                         the limit given in the item %CNMVO in the GETTAB
                         table .GTCNF.
         10    PSUKR%    Nonzero value at addr+2.
         11    PSPTL%    Priority too large.   Highest  priority  allowed
                         can be obtained from GETTAB table %CNMIP.
         12    PSNRW%    Nonzero right halfword in control block.
         13    PSPND%    Facility not initialized by PIINI.
         14    PSARF%    Function flags for both "add" and  "remove"  are
                         set.

   Examples

        See Chapter 6, Monitor Calls Manual, Volume 1.

   Related Calls

             DEBRK.    PIJBI.
             PIBLK.    PIRST.
             PIFLG.    PISAV.
             PIINI.    PITMR.























                                   22-397
   PITMR. [CALLI 203]


   22.135  PITMR.  [CALLI 203]




   Function

        Enables the PSI system to interrupt after  a  duration  of  time.
        The PSI system must be initialized with the PIINI.  call.

   Calling Sequence

                MOVE    ac,[XWD flag,interval]
                PITMR.  ac,
                  error return
                normal return
|  
|       where:  flag is Bit 0 (PS.TMS), which can be set to indicate that
|               the  interval  is specified in milliseconds.  If Bit 0 is
|               off, the interval is assumed to be the number of seconds.

                interval is the number of seconds to wait, then interrupt
                this  job; if bit 0 is set, then the interval is taken as
                the number of milliseconds.  If interval is specified  as
                0, the default is 1 clock tick.

   Restrictions

         o  The job must  enable  the  timer  condition  (.PCTMR),  using
            PISYS.

         o  A second request will override the first, because the job can
            have only one timer interrupt request pending at a time.

         o  Specified in milliseconds, the maximum  interval  is  262.143
            seconds.

         o  In seconds, the maximum interval is 1 hour,  12  minutes,  49
            seconds (at 60 Hz); or 1 hour, 27 minutes, and 22 seconds (at
            50 Hz).


   Normal Return

        The program continues at the skip return and is interrupted  with
        the timer condition after the specified interval.








                                   22-398
                                                       PITMR. [CALLI 203]


   Error Return

        The program receives one of the following error codes in the ac:

              Code   Symbol    Error

              0      PSTNE%    Timer interrupts are not enabled for  your
                               job.  Use PISYS.  call to enable for these
                               types of interrupts.
              1      PSUFB%    Unknown function bit.  The only  bit  that
                               may  be  set in the left half of the ac is
                               bit 0.

   Related Calls

             DEBRK.    PIJBI.
             PIBLK.    PIRST.
             PIFLG.    PISAV.
             PIINI.    PISYS.



































                                   22-399
   PJOB [CALLI 30]


   22.136  PJOB [CALLI 30]




   Function

        Returns the job number of your job.

   Calling Sequence

                PJOB    ac,
                only return

   Return

        Your job number is returned in the ac.

   Related Calls

        CTLJOB

































                                   22-400
                                                         POKE [CALLI 114]


   22.137  POKE.        [CALLI 114]





   Function

        Changes  the  value  of  a  word  in  monitor  core.   Using  the
        POKE. call requires [1,2], JACCT, or JP.POK privileges.

   Calling Sequence

                MOVE    ac,[XWD 3,addr]
                POKE.   ac,
                  error return
                normal return
                . . .
        addr:   monitor-addr
                oldvalue
                newvalue

        where:  addr is the address of the argument list.

                monitor-addr is the address of the  monitor  word  to  be
                changed.

                oldvalue is the value of the word before the change.

                newvalue is to be the value of the word after the change.

                If you set UU.PHY using the instruction:

                     POKE. ac,UU.PHY

                monitor-addr is assumed to be a physical memory  address.
                If  you  do not set UU.PHY, monitor-addr is assumed to be
                an executive virtual address.

   Normal Return

        The value of the specified monitor word is changed.












                                   22-401
   POKE [CALLI 114]


   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          0    PKNPV%    Your job is not properly privileged.
          1    PKDIF%    The value of the given word  is  different  from
                         the value of oldvalue.
          2    PKBAD%    The value of monitor-addr is not a valid monitor
                         address.

   Related Calls

        PAGE., PEEK., SPY







































                                   22-402
                                                       QUEUE. [CALLI 201]


   22.138  QUEUE.  [CALLI 201]


   Function

        Allows your program to communicate with system  components.   The
        actual  communication  is  accomplished  by QUEUE., using IPCF in
        your behalf, but the QUEUE. call allows you to  communicate  with
        system  components  using  standard argument block formats.  Some
        functions  provided  by  system  components  are  not  accessible
        through  QUEUE.,  and  in  these  cases  you must format your own
        IPCF. messages.  For example, QUEUE.  allows you to send messages
        to  the  GALAXY batch and spooling system, the accounting system,
        and site-specific components.

        Many of the implemented  functions  relate  directly  to  monitor
        commands.   Therefore,  information  about these functions can be
        obtained from the Commands Manual.

   Calling Sequence

                MOVE    ac,[XWD len,addr]
                QUEUE.  ac,
                  error return
                normal return
                . . .
        addr:   
|  
|       where:  len is the length of the argument list, and must be 3  or
|               greater.

                addr is the  address  of  the  argument  list,  which  is
                formatted as follows:

        Argument         |==============================================|
        Block     .QUFNC |    QF.FLG    |     QF.HLN    |    QF.FNC     |
        Header           |----------------------------------------------|
                  .QUNOD |                   Node-id                    |
                         |----------------------------------------------|
                         |  Length of (QR.LEN)  |  Pointer to (QR.BLK)  |
                  .QURSP |    Response Block    |    Response Block     |
                         |----------------------------------------------|
                  .QUTIM |                                 |   QT.TIM   |
                         |==============================================|
        Argument         |     |                |                       |
        Block            |     |                |                       |
                  .QUARH |  I  |      QA.LEN    |        QA.TYP         |
                         |----------------------------------------------|
                  .QUARV |               Value or Pointer               |
                         |==============================================|




                                   22-403
   QUEUE. [CALLI 201]


        Each word of the argument block header is described below:

        Word   Symbol    Contents

        0      .QUFNC    Flags, header block length, and  function  code.
                         The  flag  field (QB.FLG) is in Bits 0-11 of the
                         left half of the word, in which you can set  any
                         of the following flags:

                         Bit     Symbol  Meaning

                          0      QF.RSP  User wants acknowledgement  text
                                         returned    at    the    address
                                         specified  in  Word  2  of  this
                                         block, .QURSP.

                          1      QF.PIP  Your privileged job is  invoking
                                         privileges to perform privileged
                                         QUEUE.   call  functions.    You
                                         must   set   this  flag  to  use
                                         privileged functions of QUEUE.

                          2      QF.NBR  Non-blocking return.   The  call
                                         will  return  automatically, and
                                         the function will  be  performed
                                         while  your  program runs.  This
                                         flag     is     useful      with
                                         function .QUWTO   and   requires
                                         privileges.
|  
|                         3-16           Reserved.
|  
|                         12-17  QB.HLN  Contains  the  length   of   the
|                                        header block.  If you specify 0,
|                                        the length defaults to 3.
|  
|                         18-35  QU.FNC  Contains  the   function   code.
|                                        Function codes are listed at the
|                                        end of the argument header block
|                                        description.

        1      .QUNOD    ANF-10  network  node  identifier.    You   must
                         specify  whether the function is to be performed
                         at  the  central  site  (where  the  program  is
                         running)  or  at a remote station.  If this word
                         is 0, the central site is assumed.  If  you  set
                         this  word to -1, the located node (defined by a
                         LOCATE command or monitor call) is used.

        2      .QURSP    Pointer to the first word of  a  block  reserved
                         for  acknowlegement  response  from  the  system
                         component.  Data is read from this word if Bit 0
                         (QF.RSP)  is  set  in the function word.  If the
                         .QURSP word is not zero, it must be formatted as
                                   22-404
                                                       QUEUE. [CALLI 201]


                         follows:
|  
|                       Bits     Symbol  Contents
|  
|                       9-17     QR.LEN  Length of the response block.
|                       18-35    QR.BLK  Address of the response block.
















































                                   22-405
   QUEUE. [CALLI 201]


        Word   Symbol    Contents
|  
|       3      .QUTIM    This optional header word contains  the  maximum
|                        number  of  seconds to wait for a response.  The
|                        number  of  seconds  is  stored  in  Bits  26-35
|                        (QT.TIM).   If  the  time  is exceeded, the call
|                        returns error code 11.  If this word contains 0,
|                        or  is  non-existent,  there  is no implied time
|                        limit on the request.

   The function codes that you can specify in Word 0 (.QUFNC) are:

                Code     Symbol  Function

                  -n             Reserved for use by customers.
                  1      .QUPRT  Prints a file.
                  2      .QUCDP  Punches a file on cards.
                  3      .QUPTP  Punches a file on paper tape.
                  4      .QUPLT  Plots a file.
                  5      .QUBAT  Processes the  file  under  BATCON,  the
                                 batch controller.
                  6      .QUALC  Allocates a volume set.
                  7      .QUDAL  Deallocates a volume set.
                 10      .QUMNT  Mounts a volume set.
                 11      .QUDIS  Dismounts a volume set.
                 12      .QUWTO  Writes to operator.
                 13      .QUWTR  Writes to operator with reply.
                 14      .QUVAL  Validates an account.
                 15      .QUMAE  Makes an accounting entry by  sending  a
                                 message to the ACTDAE program.  Refer to
                                 ACTSYM.MAC for the format of  accounting
                                 entries.
|                16      .QUCAT  Makes a CATALOG validation request.
|                17      .QUMAI  Delivers a mail message.
|                20      .QUEVT  Creates an entry in the Event Queue.
|  
|       Each argument block header is followed by one  or  more  argument
|       blocks.   An  argument  block contains one header word and one or
|       more data words.
|  
|       The argument block is formatted as follows:
|  
|       Word   Symbol    Contents
|  
|        0     .QUARH    Argument  block  header  word,  which   contains
|                        information  abot  the  subsequent data word(s).
|                        The   header   word   contains   the   following
|                        information:
|  
|                Bits    Symbol  Contents
|  
|                 0      QA.IMM  If  this  bit  is  set,  data  for   the
|                                function  starts at .QUARV.  If this bit
|                                is clear, .QUARV contains the address of
                                   22-406
                                                       QUEUE. [CALLI 201]


|                                the data block.
|  
|                9-17    QA.LEN  This field contains the number of  words
|                                in  the  data block.  A value of zero is
|                                assumed  to  indicate  a  one-word  data
|                                block.

                 18-35   QA.TYP  This field contains  the  code  for  the
                                 type  of  data  block that the data word
                                 points to.  The  data  block  types  are
                                 listed below.

         1     .QUARV    Contains one of the following:


                          o  If QA.IMM in the previous word is set,  then
                             .QUARV   contains  the  first  word  of  the
                             argument.

                          o  If QA.IMM in the  previous  word  is  clear,
                             then  this  word  contains  the address of a
                             data block.


         2     .QUARD    Used only when QU.IMM is set, this word is  used
                         to   contain   a   second  argument  word,  when
                         necessary.

        Each function can be described by  one  or  more  types  of  data
        blocks.   The  data blocks are listed below in the order of their
        type codes.  Include  all  the  data  block  types  that  specify
        information  that is needed to perform the function you specified
        in .QUFNC.

        Use the value of QA.IMM to specify the location of the data.   If
        QA.IMM=1,  the  data  words (.QUARV and .QUARD) contain the data.
        If QA.IMM=0, .QUARV points to a data block.

        For the allocation, mounting, dismounting,  and  deallocation  of
        volume  sets  (Functions 6-11), you must first specify Block Type
        37 (.QBVSN) to specify  the  magtape  volume  set  name  or  disk
        structure  name.  Then list the data blocks that contain or point
        to data about the request.

        The data block types are:

        Type   Symbol    Contents

         10    .QBFIL    File specification block.  You must include this
                         type  of  data  block for any function on a file
                         (such as printing a file).

                         Offset  Symbol  Contents

                                   22-407
   QUEUE. [CALLI 201]


                           0     .QBFSR  SIXBIT structure name.
                           1     .QBFFL  SIXBIT file name.
                           2     .QBFEX  SIXBIT  extension.   The   right
                                         half of this word must be 0.
                           3     .QBFPP  UFD number (PPN).
                           4     .QBFS1  First level of SFD in SIXBIT.
                           5     .QBFS2  Second level of SFD.
                           6     .QBFS3  Third level of SFD.
                           7     .QBFS4  Fourth level of SFD.
                          10     .QBFS5  Fifth level of SFD.

        11     .QBCOP    Number of copies block:

                         Offset  Symbol  Contents

                           0     .QBCNO  Number of copies of the file  to
                                         be output.

        12     .QBFRM    Forms type block:

                         Offset  Symbol  Contents

                           0     .QBFTY  Forms type in SIXBIT.

        13     .QBPTP    Print  file  type  block  (for  function  .QUPRT
                         only):

                         Offset  Symbol  Contents

                           0     .QBPCD  File format code.   Include  one
                                         of the following codes:

                                         Code  Symbol    Format

                                         1     .QBPAS    ASCII.
                                         2     .QBPFR    FORTRAN.
                                         3     .QBPCB    COBOL.
                                         4     .QBPAI    Augmented image.
                                         5     .QBPSA    Stream ASCII.
                                         6     .QBP11    Eleven.
                                         7     .QBPIM    Image.
                                         10    .QBP8B    8-bit ASCII.












                                   22-408
                                                       QUEUE. [CALLI 201]


        Type   Symbol    Contents

        14     .QBODP    Output disposition block.  Specifies the fate of
                         the file after the file is spooled.

                         Offset  Symbol  Contents

                           0     .QBODB  Output file disposition, one  of
                                         the following:

                         Code    Symbol  Meaning

                           0     .QBODK  Preserve    the    file    after
                                         processing it.
                           1     .QBODD  Delete the file after processing
                                         it.
                           2     .QBODR  Rename   the   file   into   the
                                         spooling    area,    effectively
                                         deleting it  from  the  original
                                         area immediately.

        15     .QBUNT    Unit type:

                         Offset  Symbol  Contents

                           0     .QBUDA  Device attributes  in  the  left
                                         half.  If .QBUPH is specified in
                                         the left half, you must  specify
                                         the  unit  number  in  the right
                                         half of this word.   The  device
                                         attribute codes are:

                         Code    Symbol  Meaning

                           1     .QBULC  Lowercase printer.
                           2     .QBUUC  Uppercase printer.
                           3     .QBUPH  Physical  device  (specify  unit
                                         number in right half).
                           4     .QBUGN  Generic device.

        16     .QBAFT    Specifies the date and time at which the request
                         should be processed.

                         Offset  Symbol  Meaning

                           0     .QBADT  Time  in   universal   date/time
                                         format.







                                   22-409
   QUEUE. [CALLI 201]


        Type   Symbol    Contents

        17     .QBLIM    Specifies the maximum number of units  to  which
                         the  job is limited.  For printer requests, this
                         is the number of pages.  For  batch  processing,
                         this  refers  to number of seconds of processing
                         time, and so forth.

                         Offset  Symbol  Contents

                           0     .QBLNO  Number  of  pages,  seconds,  or
                                         appropriate limit.

        20     .QBUNI    Specifies whether a batch job can  be  processed
                         at the same time as others from the same PPN, or
                         if only one batch job from this PPN can run at a
                         time.

                         Offset  Symbol  Contents

                           0     .QBNVL  Uniqueness code:

                         Code    Symbol  Meaning

                            1    .QBNNO  Does not need to be unique.
                            2    .QBNYE  Must be unique.

        21     .QBRES    Specifies  whether  a  batch   job   should   be
                         restarted   by   the  operator  if  the  job  is
                         terminated unexpectedly (by  a  system  failure,
                         for example).

                         Offset  Symbol  Contents

                           0     .QBRVL  Restart code:

                         Code    Symbol  Meaning

                            1    .QBRNO  Do not restart the job.
                            2    .QBRYE  Restart the job.

        22     .QBLOG    Specifies the circumstances under which to print
                         a log file of the batch job.

                         Offset  Symbol  Contents

                           0     .QBLVL  Output type code:







                                   22-410
                                                       QUEUE. [CALLI 201]


        Type   Symbol    Contents

                         Code    Symbol  Meaning

                            1    .QBLNL  Never print a log file.
                            2    .QBLLG  Always print a log file.
                            3    .QBLLE  Print a log file only  when  the
                                         batch  job is terminated with an
                                         error.

        23     .QBACT    Account  string  block.   Specifies  the   ASCIZ
                         account  string for a batch job.  Argument words
                         .QBAC1 through .QBAC8 contain the ASCIZ string.

        24     .QBFNC    Reserved for use by DIGITAL.

        25     .QBNOD    Specifies the  node  at  which  the  actual  job
                         processing  should  be  done (destination node).
                         Node number must be a remote non-host station in
                         an ANF-10 network.

                         Offset  Symbol  Contents

                           0     .QBNND  Destination   node   number   or
                                         SIXBIT node name.

        26     .QBNAM    User's name block:

                         Offset  Symbol  Contents
|  
|                          0     .QBNN1  First word of SIXBIT user name.
|                          1     .QBNN2  Second word of SIXBIT user name.

        27     .QBOID    Specifies the owner's PPN:

                         Offset  Symbol  Contents

                           0     .QBOPP  Owner's PPN.

        30     .QBNOT    Specifies whether to notify  the  job  when  the
                         request is finished.

                         Offset  Symbol  Contents

                           0     .QBNTL  Notify value:

                         Code    Symbol  Meaning

                            1    .QBNTY  Notify  job  when   request   is
                                         complete.
                            2    .QBNML  Reserved for use by DIGITAL.
                            3    .QBNJB  Reserved for use by DIGITAL.


                                   22-411
   QUEUE. [CALLI 201]


        Type   Symbol    Contents

        31     .QBBLT    Specifies the action to take on  the  batch  log
                         file:

                         Offset  Symbol  Contents

                           0     .QBBVL  One of the following:

                         Code    Symbol  Meaning

                            1    .QBBND  Append  output   log   file   to
                                         existing log file.
                            2    .QBBDE  Supersede existing log file.
                            3    .QBBSP  Spool  log   file   to   printer
                                         without  preserving  it  in your
                                         area.

        32     .QBJBN    Specifies the job name:

                         Offset  Symbol  Contents

                           0     .QBJNM  SIXBIT job name.

        33     .QBCDI    Contains the batch job's default path block  for
                         batch requests.

                         Offset  Symbol  Contents

                           0     .QBCPP  PPN.
                           1     .QBCS1  First word of PATH block.
                           2     .QBCS2  Second word of PATH block.
                           3     .QBCS3  Third word of PATH block.
                           4     .QBCS4  Fourth word of PATH block.
                           5     .QBCS5  Fifth word of PATH block.


        34     .QBNTE    Specifies a note to  include  on  output  header
                         pages.

                         Offset  Symbol  Contents

                           0     .QBNM1  1 to 6 SIXBIT characters.
                           1     .QBNM2  1   to   6   SIXBIT   characters
                                         (maximum of 12 characters).









                                   22-412
                                                       QUEUE. [CALLI 201]


        Type   Symbol    Contents

        35     .QBBGN    Specifies the page number of the file  to  begin
                         printing,  or  the line number or tag in a batch
                         file where processing should begin.

                         Offset  Symbol  Contents

                           0     .QBBPN  Beginning   page   number   (for
                                         printing),   line   number  (for
                                         batch jobs), or tag (in  SIXBIT)
                                         at  which  to begin processing a
                                         batch job.

        36     .QBPRI    Specifies the relative priority of the  request.
                         Unprivileged   users   can   specify  priorities
                         between 1  and  20,  and  privileged  users  can
                         specify  a  priority  in  the  range of 1 to 62.
                         These limits  can  be  changed  by  GALGEN,  the
                         GALAXY   generation  program.   If  you  specify
                         priority  0  or  63,  the  default  priority  is
                         assumed.

                         Offset  Symbol  Contents

                           0     .QBPVL  Priority value (1 to 62).

        37     .QBVSN    Contains the ASCIZ volume set name.  This  block
                         must  precede  all  other  mount-specific blocks
                         when you perform a disk or tape mount.

                         Offset  Symbol  Contents

                           0     .QBVAS  Beginning of  ASCIZ  volume  set
                                         name.

        40     .QBMSG    Contains the WTO/WTOR message block:

                         Offset  Symbol  Contents

                           0     .QBMAS  Beginning of the  ASCIZ  message
                                         for the operator.

        41     .QBTYP    Contains the privileged  WTO/WTOR  message  type
                         block.   WTO  sends  message to operator without
                         requiring response.  WTOR requires response from
                         operator.

                         Offset  Symbol  Contents

                           0     .QBTAS  Beginning of ASCIZ  message  for
                                         the operator.


                                   22-413
   QUEUE. [CALLI 201]


        Type   Symbol    Contents

        42     .QBDEN    Specifies the tape density:

                         Offset  Symbol  Contents

                           0     .QBTDN  Tape density code.  Refer to the
                                         .TFDEN  function  of  the TAPOP.
                                         call.

        43     .QBTRK    Specified the tape track code:

                         Offset  Symbol  Contents

                           0     .QBDRV  Tape track request code:

                         Code    Symbol  Meaning

                            1    .QBDR9  9-track tape.
                            2    .QBDR7  7-track tape.

        44     .QBLTP    Specifies the tape label type.

                         Offset  Symbol  Contents

                           0     .QBLAB  Label type code.  Refer  to  the
                                         .TFLBL  function  of  the TAPOP.
                                         call.

        45     .QBRMK    Specifies the remark text:

                         Offset  Symbol  Meaning

                           0     .QBREM  Start of ASCIZ remark to be sent
                                         to operator with request.

        46     .QBVOL    Specifies the tape volume list:

                         Offset  Symbol  Meaning

                           0     .QBVLS  Start of  list  of  SIXBIT  tape
                                         volume  identifiers.   A maximum
                                         of 63 volumes is allowed.

        47     .QBLNM    Specifies the volume set logical name:

                         Offset  Symbol  Meaning

                           0     .QBLGN  SIXBIT  logical  name  for  this
                                         volume set.




                                   22-414
                                                       QUEUE. [CALLI 201]


        Type   Symbol    Contents

        50     .QBMFG    Specifies  MOUNT/DISMOUNT  flags,  indicated  by
                         setting/clearing bits in the following word:

                         Offset  Symbol  Meaning

                           0     .QBMDF  Flags to control  the  MOUNT  or
                                         DISMOUNT request:

                         Flag    Symbol  Meaning

                           0     QB.PAS  Add the structure to the passive
                                         search  list (active search list
                                         is default).
                           1     QB.EXC  Exclusive/sharable        access
                                         (sharable  is  default for disk,
                                         exclusive is default for tapes).
                           2     QB.NOC  Prevent files from being created
                                         on the volume set.  (The default
                                         is to allow file creation.)
                           3     QB.DSK  This is a  disk  file  structure
                                         request.
                           4     QB.TAP  This is a magtape request.
                           5     QB.WLK  Write-lock   the   volume    set
                                         (default for magtapes).
                           6     QB.WEN  Write-enable  the   volume   set
                                         (default for disk).
                           7     QB.REM  Ask  operator  to   remove   the
                                         structure when you dismount it.
                           8     QB.SCR  Ask  the  operator  to  mount  a
                                         scratch tape.
                           9     QB.ARD  Always recompute disk usage.
|                          10    QB.DTA  This is a DECtape request.
        51     .QBAFN    Specifies   the   accounting   daemon   (ACTDAE)
                         subfunction.    .QBAFN   is   not  intended  for
                         customer use.

        52     .QBAET    Specifies the usage entry type.   This  type  is
                         not intended for customer use.
|  
|       53     .QBTTY    Terminal name used by  monitor  for  "SEND  OPR"
|                        commands.    This  block  is  not  intended  for
|                        customer  use.    The   two-word   argument   is
|                        formatted as follows:
|  
|                        Word    Symbol  Contents
|  
|                          0     .QBTTN  SIXBIT terminal name of sender.
|                          1     .QBTNL  In the left half of  this  word,
|                                        the  ANF-10  node  number of the
|                                        user sending  the  message.   In
|                                        the right half of this word, the
|                                        line number of that user.
                                   22-415
   QUEUE. [CALLI 201]


        54     .QBFNT    Contains a  six-word  (maximum)  argument  block
                         that  specifies  a  font name.  LPTSPL uses this
                         ASCIZ string to locate the requested font  file.
                         Argument words are .QBFN0 to .QBFN5.


















































                                   22-416
                                                       QUEUE. [CALLI 201]


        Type   Symbol    Contents

        55     .QBEVT    Specifies an event to take place at the interval
                         requested  in  .QBREP  (Type 56).  .QBEV0 is the
                         argument word containing one  of  the  following
                         event codes:

                         Code    Symbol  Event
|  
|                          2     EV.KSY  KSYS
                           4     EV.ATO  Time-of-day
                           5     EV.USG  Usage file closure
                           6     EV.BIL  Billing file closure
                           7     EV.OPR  ORION log file closure

        56     .QBREP    Repeats the event requested  in  .QBEVT  at  the
                         interval  given  in  the  .QBRP0  argument word.
                         .QBRP0 contains one of the following flags:

                          Flag   Symbol  Meaning

                          0      QB.NOW  Event happens now.
                          1      QB.DLY  Event happens daily.
                          2      QB.WKY  Event happens weekly.
                          3      QB.TIM  Event happens at specified time
|  
|                        An alternative form of this  data  block  allows
|                        you  to  specify  a day of the week on which the
|                        event should be scheduled, based on the system's
|                        Universal   Date/Time.   The  day  of  the  week
|                        (symbolized by QB.DAT) is [day,,-1],  where  day
|                        is a number (from 0-6) that indicates the day of
|                        the week.  Specifically:
|  
|                                Number  Day
|  
|                                0       Wednesday
|                                1       Thursday
|                                2       Friday
|                                3       Saturday
|                                4       Sunday
|                                5       Monday
|                                6       Tuesday

        57     .QBESW    Contains the event  switch  block.   This  block
                         holds two words.
|  
|                Word    Symbol Contents
|  
|                 0      .QBESD Event-dependent switches.
|                 1      .QBESI Event-independent switches (listed below)

                           Flag  Symbol  Meaning

                                   22-417
   QUEUE. [CALLI 201]


                            0    QB.FSF  Failsoft option,  which  retains
                                         the  event  in the queue after a
                                         system reload.

                            1    QB.NFS  No failsoft.

        60     .QBAST    Sets the OPR intervention  bit  to  one  of  the
                         following:

                           Bit   Symbol  Meaning

                            1    .QBOIY  Enable OPR intervention.
                            2    .QBOIN  Disable OPR intervention.









































                                   22-418
                                                       QUEUE. [CALLI 201]


        Type   Symbol    Contents

        61     .QBPRC    Sets the IBM /PROCESSING node.

        62     .QBOPT    Specifies a SIXBIT batch option name.  .QBOP0 is
                         the offset to the option name.

        63     .QBDIS    Specifies   text   to   be   printed    for    a
                         DISTRIBUTION: header.   .QBDI0  is the offset to
                         the first word of ASCIZ data.

        64     .QBUSR    Specifies   text   to   be   printed    for    a
                         USERNAME: header.   .QBUS0  is the offset to the
                         first word of ASCIZ data.

        65     .QBUTY    Specifies a SIXBIT unit name, such as "LN01"  to
                         queue to an LN01 laser printer.

   Normal Return

        On the return from QUEUE., the IPCF messages have  been  sent  to
        appropriate  components.   If you requested a response by setting
        QF.RSP, the following information is returned in the ac:

        Bits   Symbol    Meaning

        18     QU.RBT    Response from GALAXY was too long  for  reserved
                         space  (as  specified  in  .QURSP) and had to be
                         truncated.
        19     QU.RBR    Response from GALAXY was returned.
|       26-35  QU.RBL    Contains the length  of  the  returned  response
|                        from GALAXY.

   Error Return

        The error codes and their meanings are:

         Code   Symbol    Meaning

           1    QUIAL%    Illegal argument list.
           2    QUILF%    Illegal function.
           3    QUNFS%    No monitor free core.
           4    QUADC%    Address check.
           5    QUCNR%    Component not running or has no system PID.
           6    QUFER%    Fatal error returned from ORION.
           7    QUSOC%    Invalid message from ORION.
          10    QUNPV%    Insufficient privileges.
          11    QUTMO%    Timeout limit exceeded.






                                   22-419
   REASSI [CALLI 21]


   22.139  REASSI [CALLI 21]




   Function

        Reassigns or deassigns a device for  a  job.   Your  program  can
        reassign a device if the device is assigned to your job, or if it
        is not  assigned  to  any  job.   Restricted  devices  cannot  be
        reassigned  by unprivileged jobs.  The logical name assignment is
        also cleared, unless the calling job has JACCT privileges  or  is
        logged in under [1,2].

   Calling Sequence

                MOVEI    ac,jobno
              / MOVE     ac,[SIXBIT/device/]  \
             |  MOVEI    ac,channo             |
              \ MOVEI    ac,udx               /
                REASSI   ac,
                return

        where:  jobno is the number of  a  logged-in  job  to  which  the
                device  is  to  be  reassigned.   Use  -1 to indicate the
                current job or 0 to deassign the device.

                device is the  SIXBIT  physical  or  logical  name  of  a
                device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

   Return

        If the ac is unchanged on the return from the call, the device is
        reassigned as requested.

        If the device is restricted and you  specified  0  for  jobno  to
        deassign  the  device,  it  is  returned  to the system's pool of
        restricted devices.

        A restricted device can be reassigned to an unprivileged job only
        by a privileged job.

        On the return from this call, the monitor  performs  an  implicit
        RELEAS  monitor call for the device, unless you specified 0 or -1
        for the jobno.

        If the ac is cleared on the return, the jobno was not a valid job
        number.


                                   22-420
                                                        REASSI [CALLI 21]


        If the ac contains -1 on the return, the device is  not  assigned
        to  the  specified  job.   The  device  is your job's controlling
        terminal, or the device name given is a duplicate of an  existing
        logical device name.

        If ac+1 is cleared on a return from the call, the device  is  not
        assigned  to  your job, or the device you specified was a disk or
        your job's controlling terminal.

   Common Errors

         o  Forgetting that there is only one return  location  from  the
            call.

         o  Attempting to assign a restricted device.

   Related Calls

        DEVLNM



































                                   22-421
   RECON. [CALLI 202]


   22.140  RECON.  [CALLI 202]




   Function

        Performs tasks to aid system reconfiguration and diagnosis.  This
        call is not recommended for use by customer programs and requires
        [1,2] or JACCT privileges.  It  is  used  by  the  CONFIG  system
        facility  to take system snapshots, suspend the system, and other
        system-wide functions.  To perform the functions offered  by  the
        RECON. call,  use  the  CONFIG command level from the OPR program
        (documented in the TOPS-10 Operator's Command Language  Reference
        Manual),  because  the functions must be performed in the correct
        order or the system will fail to continue.

   Calling Sequence

                MOVE    ac,[fcncode,,addr]
                RECON.  ac
                  error return
                normal return
        addr:   argument-block

        where:  fcncode is one of the functions described below.

                addr  contains  an  argument  block.   The  data  in  the
                argument   block  depends  on  the  function  code.   For
                functions that do not require  an  argument,  use  0  for
                addr.

        The function codes, their meanings, and argument blocks are:

        Code   Symbol    Meaning
|  
|         0    .RCROM    Unsupported.

          1    .RCSPN    Causes   an   orderly   suspension   of   system
                         operations, through the following process:

                         1.  The monitor sends the following  message  to
                             all users:

|                            "Expect an interruption of service."
|  
|  
|                        2.  The monitor performs an orderly shutdown  of
|                            services.
|  
|                        3.  The monitor  writes  a  copy  of  memory  to
|                            CRASH.EXE on disk.


                                   22-422
                                                       RECON. [CALLI 202]


|                        4.  The system is halted.
|  
                         This  function  does  not  require  an  argument
                         block.  The calling sequence is:

                                 MOVE    ac,[.RCSPN,,0]
                                 RECON.  ac,
                                   error return
                                 normal return

          2    .RCCI7    Causes the  monitor  to  perform  a  continuable
                         stopcode  (stopcode CI7), take a dump of memory,
                         and continue automatically.  This dump is called
                         a   "snapshot,"   and  allows  you  to  diagnose
                         problems by obtaining a dump without halting the
                         system.  The .RCCI7 function does not require an
                         argument block, so the  calling  sequence  looks
                         like:

                                 MOVE    ac,[.RCCI7,,0]
                                 RECON.  ac,
                                   error return
                                 normal return

          3    .RCNAR    Clears and sets the DF.NAR  bit  in  the  DEBUGF
                         word,  which  controls whether the system should
                         automatically    reload    on    non-continuable
                         stopcodes.

|                        When this bit is set, the  auto-reload  function
|                        is    disabled   and   the   system   will   not
|                        automatically reload.  When this bit  is  clear,
|                        auto-reload  is  enabled.   (This default can be
|                        changed in the MONGEN dialog.)
|  
                         The DEBUGF word is defined in the monitor symbol
                         file  S.MAC,  and is manipulated during analysis
                         of system errors.

                         You can clear  this  bit  to  prevent  automatic
                         reloads when you are debugging the system.  This
                         function requires that you be  logged  in  under
                         [1,2].











                                   22-423
   RECON. [CALLI 202]


        Code   Symbol    Meaning

                         The DF.NAR bit is set/cleared according  to  the
                         second word in the argument block.  If Word 1 of
                         the argument is 0, the DF.NAR  is  cleared,  and
                         automatic reload is enabled (default state).  If
                         you place a non-zero value in Word 1, DF.NAR  is
                         set,  and  the  system  will  not  automatically
                         reload  on  a  non-continuable  stopcode.    The
                         calling sequence for this function is:

                                 MOVE    ac,[.RCNAR,,addr]
                                 RECON.  ac,
                                   error return
                                 normal return
                                 . . .
                         addr:   2       ;length of argument block
                                 -1      ;to disable auto-reload

          4    .RCBTX    Changes the BOOTXT command string to the command
                         string you specify in the argument.  The calling
                         sequence for this function is:

                                 MOVE    ac,[.RCBTX,,addr]
                                 RECON.  ac,
                                   error return
                                 normal return
                                 . . .
                         addr:   n             ;length of argument block
                                 command-list  ;first word

                         where n is the length of the command string  (in
                         words) + 1.  The command string cannot exceed 16
                         words, and cannot include line-feeds; therefore,
                         the  maximum value for n is 17.  For information
                         about the BOOTXT command string, refer to BTXLEN
                         in the COMMON monitor source file.

          5    .RCRLD    Causes the system to be reloaded.   The  monitor
                         will  be  reloaded  from  the  file specified in
                         BOOTXT, and a crash dump may be taken.  You must
                         be logged into [1,2] to use this function (JACCT
                         privileges  alone  are  not  sufficient).   This
                         function  causes  an  RLD  stopcode and does not
                         require an argument list.  The calling  sequence
                         for this function is:

                                 MOVE    ac,[.RCRLD,,0]
                                 RECON.  ac,
                                   error return
                                 normal return



                                   22-424
                                                       RECON. [CALLI 202]


        Code   Symbol    Meaning

          6    .RCRAC    Causes auto-configuration (AUTCON) to run on the
                         specified   CPU(s)  to  automatically  configure
                         disks and tapes into the  monitor's  data  base.
                         You  must  be  logged  in  as  [1,2] to use this
                         function.   The  calling   sequence   for   this
                         function is:
|  
|                                MOVE    ac,[.RCRAC,,addr]
|                                RECON.  ac,
|                                  error return
|                                normal return
|  
|                      addr:     2       ;length of argument block
|                                n       ;CPU number

                         where n specifies the CPU number.  If  n  =  -1,
                         AUTCON will run on all CPUs.
|  
|         7    .RCDET    Obsolete.
|  
|         10   .RCATT    Obsolete

        Code   Symbol    Meaning

          11   .RCMON    Sets a given range of memory on-line.  The range
                         is  given  in  two  words of the argument block.
                         The first word specifies the first page  of  the
                         range,  and  the second word indicates the first
                         page beyond the range.  The calling sequence is:

                                  MOVE    ac,[.RCMON,,addr]
                                  RECON.  ac,
                                    error return
                                  normal return

                         addr:    3       ;length of argument block
                                  first page in range
                                  last page in range +1

          12   .RCMOF    Sets a given  range  of  memory  off-line.   You
                         specify  the  range  the same way as for .RCMON.
                         The calling sequence is:

                                  MOVE    ac,[.RCMOF,,addr]
                                  RECON.  ac
                                    error return
                                  normal return

                         addr:    3       ;length of argument block
                                  first page in range
                                  last page in range +1

                                   22-425
   RECON. [CALLI 202]


          13   .RCCPU    Returns the CPU accessibility  mask.   The  mask
                         indicates  which  CPU  is  using  the  specified
                         device.  The calling sequence for .RCCPU is:

                                  MOVE    ac,[.RCCPU,,addr]
                                  RECON.  ac,
                                    error return
                                  normal return

                         addr:    2       ;length of argument block
                                  SIXBIT device name
|  
|                        The bit mask returned in the ac indicates  which
|                        CPUs  can  access  the  device.   The  bits  are
|                        defined as follows:  Bit Symbol Meaning
|  
|                        0 SP.CR0 CPU0 can access the device.
|                        1 SP.CR1 CPU1 can access the device.
|                        2 SP.CR2 CPU2 can access the device.
|                        3 SP.CR3 CPU3 can access the device.
|                        4 SP.CR4 CPU4 can access the device.
|                        5 SP.CR5 CPU5 can access the device.
|  
|                        These bits are also defined for SETUUO  function
|                        .STCPU.

        Code   Symbol    Meaning
|  
|         14   .RCIOW    Obsolete

          15   .RCSDF    Sets bits in DEBUGF that cause  the  monitor  to
                         reload  for a CPU, DEBUG, or JOB stopcode.  This
                         function  is  used  by  ORION  for  the   CONFIG
                         program.  The calling sequence is:

                                  MOVE    ac,[.RCSDF,,addr]
                                  RECON.  ac,
                                    error return
                                  normal return

                         addr:    2       ;length of argument block
                                  DEBUGF bits

          16   .RCCDF    Clears DEBUGF bits so that the monitor  takes  a
                         continuable   dump  on  a  CPU,  DEBUG,  or  JOB
                         stopcode.  This function  is  not  intended  for
                         customer use.  The calling sequence is:

                                  MOVE    ac,[.RCCDF,,addr]
                                  RECON.  ac,
                                    error return
                                  normal return

                         addr:    2       ;length of argument block
                                   22-426
                                                       RECON. [CALLI 202]


                                  DEBUGF bits
|  
|         17   .RCRBM    Reads the bootstrap microcode information.  This
|                        function is not intended for customer use.
|  
|                                 MOVE    ac,[.RCRBM,,addr]
|                                 RECON.  ac,
|                                   error return
|                                 normal return
|  
|                        addr:  n ;length of argument block
|                                 0
|                                 BLOCK m
|  
|                        The argument block consists of  two  words,  the
|                        length  of  the argument block (n) followed by a
|                        zero word.  After the zero word, reserve  enough
|                        space  for  a  two-word  pair for each microcode
|                        supported by the BOOT program (m).   The  number
|                        of  words  you reserve should allow two returned
|                        words for each microcode.  Since the maximum  is
|                        5  microcodes,  you  should  reserve  12 (octal)
|                        words for microcode data.

                         The  argument  block  contains   the   following
                         information  on  a  successful  return from this
                         function:

                         addr:    2       ;length
                                  count
                                  two-word pair

                         In the returned block, the monitor fills in  the
                         number  of  microcode  entries  that it found at
                         addr+1.  Following the count word,  the  monitor
                         includes  the  following  two-word pair for each
                         microcode entry:

                                  XWD       ucode-index,length
                                  EXP       version


                          o  The ucode-index is the microcode name in the
                             form .BTxxx.

                          o  The length is the number  of  words  in  the
                             microcode.

                          o  The version is the microcode version number.

                         The two-word pair is repeated for each microcode
                         entry.

          20   .RCSBM    Supplies   information   about   new   bootstrap
                                   22-427
   RECON. [CALLI 202]


                         microcode  entries  in  the  BOOT program.  This
                         function (which is not intended to  be  used  in
                         customer  programs) provides a mechanism for the
                         monitor to replace microcode.  The new microcode
                         can   only  replace  an  older  version  of  the
                         microcode that is the same length.

                                  MOVE    ac,[.RCRBM,,addr]
                                  RECON.  ac,
                                    error return
                                  normal return

                         addr:    3       ;length of argument block
                                  XWD     ucode-index,length
                                  EXP     ucode-addr

                         The information in the argument  block  that  is
                         supplied  for  this  function  consists of three
                         words.   The  information  at  addr+1   is   the
                         microcode  index,  in  the  form of .BTxxx.  The
                         length of the  microcode  is  specified  in  the
                         right half of this word.  The address of the new
                         microcode is stored in addr+2.

   Normal Return

        The specified function is performed.



























                                   22-428
                                                       RECON. [CALLI 202]


   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    RCIAL%    Illegal argument list.
          2    RCNPU%    Not privileged.
          3    RCNTS%    Timesharing already stopped on some CPU.
          4    RCNIJ%    Illegal job number.
          5    RCNCD%    This function cannot be performed.
          6    RCNAC%    Address check.
          7    RCNIS%    Illegal command string for BOOTXT.
         10    RCICN%    Illegal CPU number.
         11    RCNCR%    CPU still running.
         12    RCNCA%    Can't attach disk.
         13    RCNDS%    Device is spooled.
         14    RCNAA%    Device is already attached.
         15    RCNID%    Illegal device.
         16    RCNDU%    Device is in use.
         17    RCNND%    Can't detach disk.
         20    RCNNL%    Can't set memory off-line.
         21    RCNMM%    Can't remove monitor memory.
         22    RCNTB%    Job or jobs too big.
         23    RCNLJ%    Can't move locked job(s).
|        24    RCNBN%    Bootstrap not available.
|        25    RCNEM%    Non-existent microcode was specified.
|        26    RCMLD%    Microcode lengths are different.
|  
|  RELATED CALLS
|  
|  SETUUO
|  





















                                   22-429
   RELEAS [OPCODE 071]


   22.141  RELEAS [OPCODE 071]




   Function

        Releases an I/O channel.  Use FILOP. to perform a  RELEAS  on  an
        extended I/O channel.

   Calling Sequence

                RELEAS  channo,
                return

        Where:  channo is the number of an initialized channel.

   Return

        The  device   is   released,   the   channel   is   closed,   any
        device-dependent  operations are performed, and any enqueue locks
        are released.

        If the given channel is not initialized,  the  monitor  takes  no
        action.

   Examples

        See Chapter 11, Volume 1.

   Common Errors

        Forgetting the comma after the channel number.

   Related Calls

        FILOP.

















                                   22-430
                                                         REMAP [CALLI 37]


   22.142  REMAP [CALLI 37]




   Function

        Moves the specified portion of a program's low segment  into  the
        high  segment,  discarding  the  old  high  segment from the user
        addressing space.  The new low segment will be the  previous  low
        segment  minus the amount remapped.  This monitor call is used by
        the LINK program when you use the EXECUTE monitor command.

        The .PAGCH function of the PAGE UUO has the  same  capability  as
        REMAP, but is more flexible.

   Calling Sequence

                MOVE  ac,[XWD origin,addr]
                REMAP ac,
                  error return
                normal return

        where:  addr is the highest address in the low segment (that  is,
                the first address of the new high segment).

                origin is the origin of the high segment.

        The monitor waits until all I/O is completed in the  low  segment
        before executing the REMAP monitor call.  Then the monitor rounds
        the address to the nearest  core  allocation  unit  (512  decimal
        words).

   Normal Return

        The monitor performs the following  functions  for  this  monitor
        call:

         o  Stores the value of addr in the location .JBREL  in  the  job
            data area.

         o  Sets the left half of .JBHRL to zero (it deletes the previous
            high segment).

         o  Stores the highest legal user address for the high segment in
            the right half of .JBHRL.

         o  Changes the hardware mapping.

         o  Sets the user-mode write-protect bit (the new high segment is
            non-sharable).

         o  Preserves the contents of the ac.

                                   22-431
   REMAP [CALLI 37]


|        o  Deletes any high segments that already exist in  the  current
|           PC section.


   Error Return

        The  monitor  takes  the  error  return   under   the   following
        conditions:

         o  A negative argument is specified.

         o  The requested remapping would cause  the  high  and  the  low
            segments to overlap.

         o  The sum of the high segment  origin  plus  its  length  would
            cause  the  high  segment  to  start  (or  end) at an address
            outside the program's virtual address space (that is, greater
            than or equal to 256K).

         o  The specified argument exceeds the length of the low segment.
            Also,  remapping  will  not  occur, and the high segment will
            remain unchanged in the user's address space.

         o  The segment is locked in memory.


   Related Calls

        CORE, GETSEG, MERGE., PAGE.

























                                   22-432
                                                      RENAME [OPCODE 055]


   22.143  RENAME [OPCODE 055]




   Function

        Performs one or more of the following functions:

         o  Alters  file  attributes,  including  the  file  name,   file
            extension, and access privilege code of the file.

         o  Changes an SFD name.

         o  Deletes the specified file.

         o  Performs an implicit CLOSE.

        Use FILOP. to perform a RENAME on an extended I/O channel.

   Calling Sequence

                RENAME  channo,addr
                  error return
                normal return

        where:  channo is the number of an initialized channel.   If  the
                channel  is  an  extended  channel,  use  FILOP. function
                .FORNM.

                addr is the address of the argument list.   The  argument
                list  is equivalent to that of LOOKUP and ENTER calls and
                is described in Section 11.13.

        RENAME has two forms of argument block:  the four-word block  and
        the  extended  argument  block.  The short-form (4-word) argument
        list is described in Section 11.13.1.  The extended argument list
        is  described  in  Section  11.13.2.  For DECtape files, refer to
        Chapter 13 for descriptions of the arguments.

        The only way that your program can RENAME a file into or  out  of
        an  SFD is to refer to an explicit path using the PATH.  argument
        block (by including  an  [XWD  0,addr]  instruction  as  the  PPN
        argument).   If  a  RENAME  is given that attempts to move a file
        into or out of an SFD without specifying  an  explicit  path,  it
        will  take  the normal return (assuming no other errors), but the
        file will not change directories.

        To delete a file after all read references have been  made,  your
        program  should  specify  the value of zero in the address of the
        file name word in the RENAME block.



                                   22-433
   RENAME [OPCODE 055]


        A delete function on a  channel  that  is  open  for  output,  to
        supersede  a  file,  simply  aborts the creation of the new file.
        This is equivalent to a CLOSE with CL.RST set.

        Although only a privileged job can delete a UFD, an  unprivileged
        job can delete an empty SFD.  Note that you must set your path to
        a different area before you can delete the current SFD.   If  the
        directory  is  not  empty  or  if  a  job  is currently using the
        directory, the monitor returns  the  DIRECTORY  NOT  EMPTY  error
        code.

        A CLOSE is optional after a RENAME because  a  RENAME  implicitly
        performs  a CLOSE.  A CLOSE should not be issued between a LOOKUP
        and a RENAME if the file is not in the  default  directory  path,
        because  the  CLOSE  erases all memory of the path.  If RENAME is
        performed and the file is not in the default  path,  the  monitor
        returns the FILE NOT FOUND error in the right half of addr+1.

   Restriction

        If your program attempts to change the extension  of  an  SFD,  a
        protection  error results.  An error also results if your program
        attempts to alter the name, extension, or PPN associated  with  a
        UFD or the PPN associated with an ersatz device name.

   Normal Return

        On a normal return, the monitor returns the same information on a
        RENAME as on a LOOKUP and ENTER.  Refer to Section 11.13.

   Error Return

        The error return is taken under the following conditions:

         o  No file has been opened on the specified channel.

         o  The specified file cannot be found.

         o  The specified file is  currently  in  the  process  of  being
            written, superseded, or renamed.

         o  Your program does not  have  the  appropriate  privileges  to
            RENAME the file.

         o  The new file name already exists (occurs when  changing  file
            names).

        The monitor returns the error code for the RENAME monitor call in
        the  right half of addr+1 of the 4-word argument block, or in the
        right half of addr+3 in the extended argument block.   The  error
        code  overwrites  the  high-order three bits of the creation date
        and the entire access date.


                                   22-434
                                                      RENAME [OPCODE 055]


        This overwriting of data does not cause any problems for programs
        that recover from RENAME errors by aborting or by re-initializing
        the argument list.  However, programs  that  attempt  to  recover
        from  an  error  by  fixing  only  the  incorrect  portion of the
        argument block and  then  reexecuting  the  monitor  call  should
        restore the right half of addr+1 or addr+3 before reexecuting the
        RENAME monitor call.  Error codes are restricted to a maximum  of
        15 bits to allow programs to recover from an error in a file with
        a zero creation date.  See Section 11.14  for  a  list  of  error
        codes.












































                                   22-435
   RESCAN [TTCALL 10,]


   22.144  RESCAN [TTCALL 10,]




   Function

        Resets the input buffer pointer to point to the beginning of  the
        previous  command.   Note  that if the RESCAN UUO is issued after
        the first terminal input or output instruction, the command is no
        longer in the buffer.

   Calling Sequence

                RESCAN  flag
                  return 1
                  return 2

        where:  flag controls the action of returning from the call.  The
                flag  is bit 35 of the word.  If the flag is not set, the
                call always returns at return 1.  If the flag is set, the
                call  returns at return 2 when no command is in the input
                buffer, otherwise, the call takes return 1.

   Example

                RESCAN 1        ;Read TTY input
                SKPINL          ;Is anything there?
                  JRST  PROMPT  ;No, must be typeahead
                                ;Read command line
                  . . .

   Common Errors

        Placing a comma after the flag.



















                                   22-436
                                                       RESDV. [CALLI 117]


   22.145  RESDV. [CALLI 117]




   Function

        Resets a specified channel.  RESDV. is similar to  RESET,  except
        that  only  one  channel  is  reset  and  any outstanding data is
        discarded.  If RESDV.  is performed on a disk device, the file is
        discarded (refer to the CLOSE function CL.RST).

   Calling Sequence

                MOVEI   ac,channo
                RESDV.  ac,
                  error return
                normal return

        where:  channo is the number of an initialized channel.

   Normal Return

        The channel is reset.  Files  that  were  being  created  on  the
        channel  are  deleted; any older files with the same name remain.
        All I/O for the channel is stopped, and device  allocations  made
        on  the  channel  by  INIT,  OPEN,  or FILOP. are closed.  If the
        device was not assigned by ASSIGN, ALLOCATE, REASSI, or MOUNT, it
        is returned to the monitor's pool of available devices.  (See the
        Commands Manual for descriptions of these three commands.)

   Error Return

        If the ac contains -1, no device was associated with the channel.

   Related Calls

        CLOSE, RELEASE, RESET

   Common Errors

        Placing the channel number in the ac field.












                                   22-437
   RESET [CALLI 0]


   22.146  RESET [CALLI 0]




   Function

        Initializes a program.  Resets the program's runtime  environment
        to its initial state.

   Calling Sequence

                RESET
                return

   Return

        The monitor initializes the program.  This includes the following
        functions:

         o  Clears  all  device  allocations  except  those  for  devices
            assigned by ASSIGN, REASSI, or MOUNT.

         o  Sets the job's first free location (right half of  .JBFF)  to
            its  starting value (left half of .JBSA).  This allows buffer
            space to be reclaimed when the program is restarted.

         o  Clears  the  left  half  of  .JBFF  (the  job's  first   free
            location).

         o  Aborts processing of any files that have not been  closed  to
            release the associated I/O channels.

         o  Sets the user-mode write-protect bit for  the  high  segment.
            This  prevents  inadvertent data storage in the high segment,
            and is done even if the segment is nonsharable.

         o  Unlocks your program, if it is locked in core.

         o  Releases any realtime devices.

         o  Resets any high-priority queue values to the value  given  in
            the last HPQ command.

         o  Resumes timesharing if it was stopped  by  a  TRPSET  monitor
            call.

         o  Resets any actions taken by APRENB, HIBER, or UTRP.   monitor
            calls in your program.

         o  Clears all program counter flags  for  your  program  (except
            USRMODE and PUBLIC) that may be set.


                                   22-438
                                                          RESET [CALLI 0]


         o  Clears any  process  identifications  (PIDs)  for  your  job,
            except job-wide PIDs.

         o  Clears the software interrupt facility for your job.

         o  Releases and dequeues any enqueue locks or requests for  your
            job.

         o  Clears all of the data mode bits and the  noecho  bit  for  a
            terminal.    However,   if   the  RESET  is  executed  for  a
            not-logged-in job, whose program name is  LOGIN,  the  noecho
            bit will not be cleared.  This allows noecho to be set by the
            LOGIN command.

         o  Removes and undefines all SNOOP.  breakpoints.

         o  Releases the performance meter.

         o  Clears any large disk buffers set by a UUO.

         o  Clears any address breaks set by a UUO.

































                                   22-439
   RTTRP [CALLI 57]


   22.147  RTTRP [CALLI 57]




   Function

        Connects a device to or releases it from the  realtime  interrupt
        facility.  For a discussion of realtime devices, interrupt modes,
        and traps, refer to Chapter 9, Volume 1.

        To use the RTTRP call, your job must have the  JP.RTT  privilege.
        To use an EPT-mode trap, your job must have the JP.TRP privilege.
        Your job must also have the JP.LCK privilege  in  order  to  lock
        itself in core on the correct CPU.

   Calling Sequence

                MOVEI ac,addr
                RTTRP ac,
                  error return
                normal return
                . . .
        addr:   argument list

        where:  addr is the address of the argument list.

        The contents of the argument list depend on  the  interrupt  mode
        your program is setting up.

   Normal Return

        The  device  is  connected  to  or  released  from  the  realtime
        interrupt facility.

   Error Return

        The monitor returns one or more of the following error  flags  in
        the  ac.  Before returning, the monitor scans the entire argument
        list to discover as many errors as possible.

                Bit      Symbol  Error

                 23      RTNEC%  Nonexistent CPU.
                 24      RTJNP%  Not enough privileges.
                 25      RTNC0%  Not runnable on CPU0.
                 26      RTDIU%  Device in use by another job.
                 27      RTIAU%  Illegal accumulator used during RTTRP at
                                 interrupt.
                 28      RTJNL%  Job not locked (or not privileged).
                 29      RTSLE%  System  limit   for   realtime   devices
                                 exceeded.
                 30      RTILF%  Illegal format for I/O instruction.

                                   22-440
                                                         RTTRP [CALLI 57]


                Bit      Symbol  Error

                 31      RTPWI%  Pointer word illegal.
                 32      RTEAB%  Error address out of bounds.
                 33      RTTAB%  Trap address bad.
                 34      RTPNB%  PI channel not currently  available  for
                                 BLKI/BLKO.
                 35      RTPNA%  PI channel not available.

   Related Calls

        HPQ, TRPSET, UJEN










































                                   22-441
   RUN [CALLI 35]


   22.148  RUN [CALLI 35]




   Function

        Transfers execution control from the current program  to  another
        program.   The monitor replaces both the high and low segments of
        your address space with the segments of the called program.   The
        function  of the RUN UUO is described in more detail in Chapter 2
        Volume 1.

   Calling Sequence
|  
|               MOVSI   ac,start-addr-increment
|               HRRI    ac,addr
|               RUN     ac,
|                 error return
|               . . .
|       addr:   SIXBIT/device/
|               SIXBIT/filename/
|               SIXBIT/extension/           ;or zero
|               EXP     0
|             / XWD     proj,prog \         ;PPN word
|             \ XWD     0,addr1    /
|             /  XWD    0,core     \        ;core word
|             \ XWD     -1,,addr2 /         ;(optional)

        where:  start-addr-increment is  an  increment  to  the  starting
                address of the called program.  This increment is used to
                call indirect command files and should be 0 or 1.  If any
                other value is used, the meddling bit is set for the job,
                unless the program is execute-only.  For an  execute-only
                program, this value can be only 0 or 1.

                addr is the address of the 6- or 7-word argument block.

                device is the logical or  physical  name  of  the  device
                where the program being called resides.

                filename is the name of the file being called (containing
                either or both high and low segments).

                extension is the file extension of the low  segment  file
                (normally .EXE or blank).








                                   22-442
                                                           RUN [CALLI 35]


                proj,prog specifies the owner of the called program.   If
                this  word  is  zero, the monitor assumes that the called
                program is in  your  directory  (that  is,  your  PPN  is
                assumed),  or  the  PPN  is determined from the directory
                name  (for  example,  SYS=[1,4]).   If   this   word   is
                [XWD 0,addr1],  addr1 points to a PATH.  block containing
                the complete path for the file.  Refer to the description
                of  the PATH.  monitor call for information pertaining to
                the format of the PATH.  block.

                core is the total amount of core to be reserved  for  the
                called  program.   This word must be included, but may be
                zero.  For a program that  contains  both  low  and  high
                segments,  the  amount  of core required to load the high
                segment is subtracted from  the  core  assignment  first.
                The amount reserved for the low segment is the remainder.

        addr2   contains a section  number  indicating  where  the  image
                should  be  loaded.   Using  this  argument results in an
                error if the .EXE file is not a single section program in
                Section 0.

        Normally your program sets up only the first  two  words  of  the
        argument  block,  leaving  the  rest of the words in the argument
        block zero.

        You can omit values and accept defaults for all parameters in the
        argument list except device and filename.  The defaults are:

                extension  defaults to .EXE.
                PPN        defaults to your PPN.
                core       defaults to the amount  required  by  the  new
                           program.

   Normal Return

        The  new  program  is   started   at   its   new   address   plus
        start-addr-increment.   The  contents of ac may be changed on the
        return, and the new contents are unpredictable, because they vary
        from one monitor release to the next.  The RUN call also performs
        an implicit RESET call.

   Error Return

        The error return is taken if any errors are detected; the monitor
        returns  an  error  code  in the ac.  Your program can attempt to
        recover from an error and continue the program's  execution.   If
        you set the left half of the error return location to a HALT, the
        monitor will not return to the program but will  print  an  error
        message.  Your terminal will be at monitor level.




                                   22-443
   RUN [CALLI 35]


        If you do not include a HALT in the left half of the error return
        location, your program can analyze the error code returned in the
        ac.  If the error code indicates an  error  from  which  you  can
        recover,  your  program  can  issue  another  RUN  monitor  call,
        possibly  including  a  HALT  instruction  in  the  error  return
        location.

        If your program is using overlays, the monitor will  not  attempt
        to  return  to your program.  Therefore, you should place the RUN
        monitor call in the low segment of  your  program,  in  case  the
        error is discovered after the high segment has been released.  If
        the call is issued from the low segment and an error occurs,  the
        high   segment   of   the   program   is   cleared  and  must  be
        re-initialized.

        If the call is issued from the high segment and an error  occurs,
        the monitor may halt the job and print the following message:

             ?Illegal address in UUO at user PC xxxxxx

        For this reason, the RUN  call  should  be  given  from  the  low
        segment.

        See Section 11.14 for a list of error codes.


   Related Calls

        GETSEG, MERGE.

























                                   22-444
                                                        RUNTIM [CALLI 27]


   22.149  RUNTIM [CALLI 27]




   Function

        Returns  the  cumulative  runtime   (in   milliseconds   or   ten
        microsecond units) for a specified job.

   Calling Sequence

                MOVEI    ac,jobno
                   HRLI  ac,(RN.PCN)        ;optional for high precision
                RUNTIM   ac,
                return

        where:  jobno is the number of a logged-in job (use  0  for  your
                own  job).   You  may  optionally  set  the  sign bit 1B0
                (RN.PCN), to return the runtime for the specified job  in
                ten microsecond units (high-precision runtime).

   Return

        The ac contains the cumulative runtime (in milliseconds) for  the
        specified job.  If no such job exists, the ac contains 0.

   Examples

                MOVEI   T1,0
                RUNTIM  T1,

        This code returns the cumulative runtime for the current  job  in
        T1.




















                                   22-445
   SAVE. [CALLI 210]


   22.150  SAVE.  [CALLI 210]


   Function

        Saves the program in memory as an executable (.EXE) file on disk.
        This call is similar to the SAVE monitor command.

   Calling Sequence
|  
|               MOVE    ac,[flag,,addr]
|               SAVE.   ac,
|                 error return
|               normal return
|               . . .
|       addr:   SIXBIT/device/
|               SIXBIT/filename/
|               SIXBIT/extension/     ;or zero
|               EXP     0
|             / XWD     proj,prog \
|            |  XWD     0,,addr1   |  ;PPN argument
|             \  XWD    0,0       /
|             /          -n,,addr2 \  ;core argument
|             \ XWD     0,core     /

        where:  the flag is bit 0 of the ac.  When set, this bit (SS%SSH)
                indicates  that  the  program  should  be  saved  with  a
                sharable high segment (similar to SSAVE monitor command).

                addr is the address  of  the  argument  block,  which  is
                formatted  like  the  argument  blocks  of GETSEG and RUN
                calls.  device is the disk name or logical  name  of  the
                disk  device  where the file should be written.  filename
                and extension contain the file name and file extension of
                the  new  file.   Note  that  extension  is  optional and
                defaults to .EXE.  The extension is optional because  the
                RUN monitor command will not accept file extensions other
                than .EXE.

                proj,prog specifies the owner of the called program.   If
                this   word  is  zero,  the  monitor  assumes  that  your
                directory contains the called program (that is, your  PPN
                is  assumed),  or  the  PPN is determined from the device
                name  (for  example,  SYS=[1,4]).   If   this   word   is
                [XWD 0,,addr1],  addr1 points to a PATH. block containing
                the  complete  path  for  the   file.    Refer   to   the
                PATH. monitor  call  for  information  pertaining  to the
                format of the PATH. block.






                                   22-446
                                                        SAVE. [CALLI 210]


   Normal Return

        The program in memory is written to disk  in  executable  format.
        The contents of all accumulators may be changed; the new contents
        are not reliable and are  subject  to  change  from  one  monitor
        release  to  the  next.   The  SAVE.   call  releases  channel  0
        implicitly.
|  
|       On any return from this call, if the  left  half  of  the  return
|       location  contains  HALT,  the job is stopped and the appropriate
|       error message is issued to the job.

   Error Return

        If an error occurs in the process of executing the  SAVE.   call,
        the non-skip return is taken and an error code is returned in the
        ac.  Refer to Section 11.14 for the list of error codes.





































                                   22-447
   SCHED. [CALLI 150]


   22.151  SCHED. [CALLI 150]




   Function

        Reads or sets  system  scheduling  parameters.   JACCT  or  [1,2]
        privileges   are  required  to  issue  the  SCHED. monitor  call.
        However, the read functions may  be  used  by  a  user  with  SPY
        privileges,  and  the write functions are available to users with
        POKE privileges.

   Calling Sequence

                MOVE    ac,[XWD len,addr]
                SCHED.  ac,
                  error return
                normal return
                . . .
        addr:   XWD     fcncode,fcnarg
                . . .
                XWD     fcncode,fcnarg

        where:  len is the length of the argument list.

                addr is the address of the argument list.

                fcncode is one of the function codes described below.

                fcnarg is the  address  of  the  argument  list  for  the
|               corresponding  function  code.   Each  argument  list  at
|               fcnarg is formatted as:
|  
|                    fcnarg:  length
|                             function-specific information

        The function codes, their meanings, and their arguments are:

          Code Symbol    Function

             0 .SCRSI    Reads  the  micro  scheduling   interval.    The
                         monitor   returns  the  scheduling  interval  at
                         fcnarg.

        400000 .SCSSI    Sets the micro scheduling interval.  The word at
                         fcnarg should contain:

                         Word    Symbol  Contents

                          0      .SCBSI  Scheduling interval.

             1 .SCRMI    Reads the minimum core usage function evaluation
                         interval.   The  monitor returns the interval at
                                   22-448
                                                       SCHED. [CALLI 150]


                         fcnarg.





















































                                   22-449
   SCHED. [CALLI 150]


          Code Symbol    Function

        400001 .SCSMI    Sets the minimum core usage evaluation interval.
                         The word at fcnarg should contain:

                         Word    Symbol  Contents

                          0      .SCBMI  Minimum core usage interval.

             2 .SCRCQ    Reads  class  quotas  and  flags.   The  monitor
                         returns  the  quotas  and  flags  at  fcnarg and
                         following in the form:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of following words.
                            1   .SCBCQ    Class and quota:

                                          Bits   Symbol    Meaning

                                             0   SC.FCQ    Set  if  quota
                                                           is fixed.
                                          1-17   SC.CLN    Class number.
                                          18-35  SC.CLQ    Class quota.

                         There is one word of the form of .SCBCQ for each
                         word specified in .SCBCT.

        400002 .SCSCQ    Sets class quotas and flags.  The data at fcnarg
                         is  the  same  as  that  returned  by the .SCRCQ
                         function.

             3 .SCRTS    Reads the base  quantum  runtime.   The  monitor
                         returns the time slices at fcnarg in the form:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of following words.
                            1   .SCBP1    Base quantum runtime for PQ1.
                            2   .SCBP2    Base quantum runtime for PQ2.

        400003 .SCSTS    Sets the base quantum runtime for  one  or  both
                         queues.   The data at fcnarg is the same as that
                         returned by the .SCRTS function.










                                   22-450
                                                       SCHED. [CALLI 150]


          Code Symbol    Function

             4 .SCRUF    Reads the desired channel  use  fraction.   This
                         fraction  is  the  swapping  channel utilization
                         percentage.  The monitor returns the channel use
                         fractions at fcnarg in the form:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of following words.
                            1   .SCBUF    Channel number  in  left  half;
                                          use fraction in right half.

                         There is one word of the form of .SCBUF for each
                         word specified in .SCBCT.

        400004 .SCSUF    Sets the desired channel use fraction.  The data
                         at  fcnarg  is  the same as that returned by the
                         .SCRUF function.

             5 .SCRJC    Reads  the  scheduler  class  for  a  job.   The
                         arguments at fcnarg are of the form:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of following words.
                            1   .SCBJC    Job number in  the  left  half;
                                          class in the right half.

        There is one word of the form of .SCBJC for each  word  specified
                         in  .SCBCT.   The  monitor returns the scheduler
                         class number for each given job.

        400005 .SCSJC    Sets  the  scheduler  class  for  a  job.    The
                         arguments  at  fcnarg  are the same as those for
                         the .SCRJC function.

             6 .SCRMC    Reads the minimum core usage per job.  The total
                         number  of  jobs  is  returned  at  .SCBCT.  The
                         monitor returns the minimum core usage for  each
                         job  starting  at fcnarg (.SCBMC).  There is one
                         word for each job specified in .SCBCT.

        400006 .SCSMC    Sets the minimum core usage per job.  Store  the
                         number of jobs in .SCBCT.  The monitor reads the
                         core usage for each of these  jobs  starting  at
                         fcnarg (.SCBMC).







                                   22-451
   SCHED. [CALLI 150]


          Code Symbol    Function

             7 .SCRCU    Reads  the  class  usage  since  startup.    The
                         monitor  returns the class runtimes at fcnarg in
                         the form:

                         Word    Symbol  Contents

                           0     .SCBCT  Count of following words.
                           1     .SCBCU  Runtime for class 0.

                         There is one word of the form of .SCBCU for each
                         word specified in .SCBCT.

            10 .SCREF    Obsolete.  The  offset  symbol  .SCBEF  is  also
                         obsolete.

        400010 .SCSEF    Obsolete.

            11 .SCRMM    Reads the minimum core  usage  multiplier.   The
                         monitor   returns   the   multiplier  at  fcnarg
                         (.SCBMM).

        400011 .SCSMM    Sets the minimum  core  usage  multiplier.   The
                         monitor   reads   the   multiplier  from  fcnarg
                         (.SCBMM).

            12 .SCRDC    Reads the  default  class  for  new  jobs.   The
                         monitor  returns  the  default  class  at fcnarg
                         (.SCBDC).

        400012 .SCSDC    Sets  the  default  class  for  new  jobs.   The
                         monitor  reads  the  default  class  from fcnarg
                         (.SCBDC).

            13 .SCRRC    Reads the minimum core usage  requeue  constant.
                         The  monitor  returns  the  constant  at  fcnarg
                         (.SCBRC).

        400013 .SCSRC    Sets the minimum core  usage  requeue  constant.
                         The  monitor  reads  the  constant  from  fcnarg
                         (.SCBRC).

            14 .SCRPM    Reads  the  minimum  core  usage  maximum.   The
                         monitor returns the maximum (in microseconds) at
                         fcnarg (.SCBPM).

        400014 .SCSPM    Sets  the  minimum  core  usage  maximum.    The
                         monitor reads the maximum (in microseconds) from
                         fcnarg (.SCBPM).




                                   22-452
                                                       SCHED. [CALLI 150]


          Code Symbol    Function

            15 .SCRML    Reads quantum  multipliers  for  PQ1,  PQ2,  and
                         scale factor.  The monitor returns the values at
                         fcnarg in the format:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of the following words.
                            1   .SCBMP    For PQ1, the  queue  number  in
                                          left  half,  quantum multiplier
                                          in right half.
                            2   .SCBMQ    For PQ2, the  queue  number  in
                                          left  half,  quantum multiplier
                                          in right half.
                            3   .SCBMR    3 in left half, scale factor in
                                          right half (SC.BMR==3,,0).

        400015 .SCSML    Sets quantum multipliers for PQ1, PQ2, and scale
                         factor.  The data at fcnarg must the the same as
                         that returned by the .SCRML function.

            16 .SCRMX    Reads the maximum quantum  run  for  PQ1  and/or
                         PQ2.   The  monitor  returns the maximum quantum
                         run at fcnarg in the format:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of the following words.
                            1   .SCBMX    Queue  number  in  left   half,
                                          maximum    time    slice    (in
                                          milliseconds)  in  right  half.
                                          The returned block contains one
                                          word of the form of .SCBMX  for
                                          each word specified in the word
                                          count.

        400016 .SCSMX    Sets the maximum quantum run for PQ1 and/or PQ2.
                         The data at fcnarg must be in the same format as
                         that returned by the .SCRMX function.

            17 .SCRSQ    Reads  secondary  class  quotas.   The   monitor
                         returns the quotas at fcnarg in the format:

                         Word   Symbol    Contents

                            0   .SCBCT    Count of following words.
                            1   .SCBSQ    Class in left  half,  quota  in
                                          right half.

                         The data at fcnarg contains one word of the form
                         of  .SCBSQ  for  each word indicated by the word
                         count.

                                   22-453
   SCHED. [CALLI 150]


          Code Symbol    Function

        400017 .SCSSQ    Sets secondary class quotas.  The data at fcnarg
                         must be in the same form as that returned by the
                         .SCRSQ function.

            20 .SCRIQ    Reads the time percentage  to  scan  queue  just
                         swapped   in   before  subqueues.   The  monitor
                         returns the time percentage at fcnarg (.SCBIQ).

        400020 .SCSIQ    Sets the time  percentage  to  scan  queue  just
                         swapped  in before subqueues.  The monitor reads
                         the time percentage from fcnarg (.SCBIQ).

            21 .SCRSS    Reads swap scan time.  The monitor  returns  the
                         swap scan time at fcnarg (.SCBSS).

        400021 .SCSSS    Sets swap scan time.  The monitor reads the swap
                         scan time from fcnarg (.SCBSS).

            22 .SCRBB    Reads number for background batch subqueue.  The
                         monitor returns the number at fcnarg (.SCBBB).

        400022 .SCSBB    Sets number for background batch subqueue.   The
                         monitor reads the number from fcnarg (.SCBBB).

            23 .SCRBS    Reads background batch swap time interval.   The
                         monitor returns the interval at fcnarg (.SCBBS).

        400023 .SCSBS    Sets background batch swap time  interval.   The
                         monitor reads the interval from fcnarg (.SCBBS).

            24 .SCRSF    Reads scheduler fairness  factor.   The  monitor
                         returns the fairness factor at fcnarg (.SCBSF).

        400024 .SCSSF    Sets scheduler  fairness  factor.   The  monitor
                         reads the fairness factor from fcnarg (.SCBSF).

            25 .SCRSW    Reads  swapper  fairness  factor.   The  monitor
                         returns the fairness factor at fcnarg (.SCBSW).

        400025 .SCSSW    Sets swapper fairness factor.  The monitor reads
                         the fairness factor from fcnarg (.SCBSW).

            26 .SCRIO    Reads in-core fairness.  The monitor returns the
                         fairness at fcnarg (.SCBIO).

        400026 .SCSIO    Sets in-core fairness.  The  monitor  reads  the
                         fairness from fcnarg (.SCBIO).





                                   22-454
                                                       SCHED. [CALLI 150]


          Code Symbol    Function

            27 .SCRSC    Reads SCDCOR.  The monitor returns the value  of
                         SCDCOR at fcnarg (.SCBSC).

        400027 .SCSSC    Sets SCDCOR.  The monitor reads  the  value  for
                         SCDCOR from fcnarg (.SCBSC).

            30 .SCRSO    Reads the CPU scan order.  The  monitor  returns
                         the  scan  order  for each CPU at fcnarg+1.  The
                         argument block at fcnarg  is  the  same  as  the
                         information  you  give  to set the scan order in
                         function 400030 (.SCSSO).

        400030 .SCSSO    Sets the CPU scan order.  The argument  list  at
                         fcnarg should appear as:

                         Word   Symbol    Contents

                           0    .SCBCT    Word count.
|                          1    .SCBSO    Scan order for CPU0.
|                          . . .
|  
|                        The number of CPUs is specified  in  .SCBCT.   A
|                        word for each CPU follows the count (starting at
|                        fcnarg) containing a  code  that  specifies  the
|                        scan  order for the CPU.  A 0 indicates that the
|                        scan order is [HPQ,PQ1,PQ2].  A 1 indicates that
|                        CPU has the scan order [HPQ,PQ2,PQ1].

            31 .SCRRT    Reads  dormant  segment   retention   time   (in
                         jiffies).  The monitor returns retention time at
                         fcnarg (.SCBRT).

        400031 .SCSRT    Sets  dormant  segment  retention   time.    The
                         monitor   reads   retention   time  from  fcnarg
                         (.SCBRT).

            32 .SCRFG    Reads the free core goal.  The  monitor  returns
                         the  free  core  goal at fcnarg in the following
                         format:

                         Word   Symbol    Meaning

                           0    .SCBFG    Minimum free core size (goal).

                           1    .SCBFL    Maximum free core size.

                         Both .SCBFG and .SCBFL are percentages  of  user
                         core as determined when the system was booted.

        400032 .SCSFG    Sets the free core goal.  The monitor reads  the


                                   22-455
   SCHED. [CALLI 150]


                         goal from fcnarg in the format given in function
                         .SCRFG.

   Normal Return

        The function has been performed.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    SCHAC%    Address check.
          2    SCHUF%    Unknown function code.
          3    SCHUJ%    Unknown job.
          4    SCHNP%    Not enough privileges.
          5    SCHUC%    Unknown class.
          6    SCHUQ%    Unknown queue.
          7    SCHNC%    Nonexistent channel.
         10    SCHEB%    Bad exponential factor.
         11    SCHMI%    Cannot set protection if MCUINT is nonzero.
|        12              Obsolete.
         13    SCHNH%    Not 100%.
         14    SCHFN%    Fairness not positive.
         15    SCHIC%    Illegal CPU number specified in function .SCSSO.
         16    SCHUO%    Unknown scan order specified in function .SCSSO.



























                                   22-456
                                                         SCS. [CALLI 213]


   22.152  SCS.  [CALLI 213]




   Function

        Provides the diagnostic interface to the  Systems  Communications
        Service layer of the System Communications Architecture, allowing
        information to be exchanged between  jobs  on  different  systems
        connected over a CI20.

        This monitor call is used in DIGITAL-supplied hardware diagnostic
        programs  and  is  not  intended to be used in customer programs.
        The calling sequences and arguments of SCS. are subject to change
        without  notice.   The  program  must  be run under [1,2] or have
        JACCT privileges to use the SCS. UUO.

   Calling Sequence
|  
|             / XMOVEI  ac,addr  \;for KL systems
|             \ MOVEI   ac,addr  /;for KS systems
|               SCS.    ac,
|                 error return
|               normal return

        addr:   len,,function

        where:  addr is the starting address of the argument  block,  len
                specifies  the  total  length  of the argument block, and
                function is one of the function  codes  described  below.
                The function word is formatted as follows:

                Word          Field
                Symbol  Bits  Symbol  Contents
|  
|               .SQFNC  0-5           Reserved
|                       6-8   SS.CPU  CPU number.
                        9-17  SS.LEN  Length of argument block, including
                                      this word.
                        18-35 SS.FNC  One of the  function  codes  listed
                                      below.

                Function codes are:

                Code   Symbol   Meaning

                  0    .SSCON   Requests a connection.
                  1    .SSLIS   Listens for a connection.
                  2    .SSREJ   Rejects a connection request.
                  3    .SSDIS   Disconnects and closes a connection.
                  4    .SSSDG   Sends a datagram.


                                   22-457
   SCS. [CALLI 213]


                  5    .SSQRD   Queues buffer(s) to receive datagram.
                  6    .SSSMG   Sends a message.




















































                                   22-458
                                                         SCS. [CALLI 213]


                Code   Symbol   Meaning

                  7    .SSQRM   Queues buffer(s) to receive message.
                 10    .SSCSP   Returns information about a status  of  a
                                connection.
                 11    .SSRCD   Returns configuration data for  a  remote
                                system.
                 12    .SSSTS   Returns information  about  status  of  a
                                connection.
                 13    .SSRMG   Receives a message.
                 14    .SSMAP   Maps a buffer for DMA transfer.
                 15    .SSUMP   Unmaps a buffer for DMA transfer.
                 16    .SSSND   Sends data to remove host.
                 17    .SSREQ   Requests delivery of data.
                20-21           Reserved.
                 22    .SSRDG   Receives a datagram.
                 23    .SSACC   Accepts a connection request.
                 24    .SSGDE   Returns entry from data request  complete
                                queue.
                 25    .SSEVT   Returns entry from event queue.
                 26    .SSCRD   Cancels datagram receive.
                 27    .SSCRM   Cancels message receive.
                 30    .SSGLN   Gets local node number.
                31-34           Reserved.
                 35    .SSRBS   Returns minimum buffer sizes.
                 36    .SSRPS   Returns path status.
|  
|       Each function requires a special form  of  argument  block.   The
|       following pages list the argument blocks for each function:
|  
|  
|       1.  Argument list for function .SSCON:
|  
|               Word   Symbol   Contents
|  
|                 1    .SQSPN   Byte pointer to source process name
|                 2    .SQDPN   Byte pointer to destination process name
|                 3    .SQSYS   Node number,,connect-id bits
|                 4    .SQCDT   Address of initial connection data
|                 5    .SQAMC   Address of message buffer chain
|                 6    .SQADC   Address of datagram buffer chain
|                 7    .SQRCI   Returned connect-id
|  
|       2.  Arguments for function .SSLIS:
|  
|               Word   Symbol   Contents
|  
|                 1    .SQSPN   Byte pointer to source process name
|                 2    .SQDPN   Byte pointer to destination process name
|                 3    .SQSYS   Node number,,connect-id bits
|                 4    .SQLCI   Returned connect-id



                                   22-459
   SCS. [CALLI 213]


|       3.  Arguments for function .SSREJ:
|  
|               Word   Symbol   Contents
|  
|                 1    .SQCID   Connect-id
|                 2    .SQREJ   Rejection reason code
|  
|       4.  Arguments for function .SSDIS:
|  
|               Word   Symbol   Contents
|  
|                 1    .SQCID   Connect-id
|                 2    .SQDIS   Disconnect reason code
|  
|       5.  Arguments for functions .SSSDG and .SSSMG:
|  
|               Word   Symbol   Contents
|  
|                 1    .SQCID   Connect-id
|                 2    .SQAPT   Address of datagram/message text
|                 3    .SQLPT   Length of datagram/message text
|                 4    .SQFLG   Flags and optional path specification, in
|                               the form:
|  
|                                Bits  Symbol    Contents
|  
|                                  0             Reserved
                                 1     SC%MOD    Mode   flag.    Set   if
                                                 industry-compatible,
                                                 clear if high-density.
                                 3-29  SC%FLG    Reserved.
|                                33-35 SC%OPS    Optional            path
|                                                specification code.
|  
|                                Code  Symbol    Meaning
|  
|                                 0    .SSAPS    Auto path select
|                                 1    .SSPTA    Use Path A
|                                 2    .SSPTB    Use Path B

        6.  Arguments for function .SSQRD and .SSQRM:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQAFB   Address of first buffer  in  chain.   The
                                buffer  contains  a  pointer  to the next
                                queue buffer, or zero.

        7.  Arguments for function .SSCSP:

                Word   Symbol   Contents


                                   22-460
                                                         SCS. [CALLI 213]


                1      .SQCID   Connect-id
                  2    .SQCST   Connection state
                  3    .SQDCI   Destination connect-id
                  4    .SQBDN   Byte pointer to destination process name
                  5    .SQNOD   Node number
                  6    .SQREA   Source,,destination disconnect codes

        8.  Arguments for function .SSRCD:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id (or zero to use node number)
                  2    .SQOND   Node number (used if .SQCID is zero)
                  3    .SQVCS   Virtual circuit  state,,destination  node
                                number
                  4    .SQSAD   System address (2 words)
                  6    .SQMDD   Maximum datagram size at destination
                  7    .SQMDM   Maximum message size at destination
                  10   .SQDST   Software type code at destination
                  11   .SQDSV   Software version at destination
                  12   .SQDSE   Software edit  level  at  destination  (2
                                words)
                  14   .SQDHT   Hardware type code at destination
                  15   .SQDHV   Hardware version at destination (3 words)
                  20   .SQNNM   Destination node name (2 words)
                  22   .SQPCW   Port characteristics
                  23   .SQLPN   Local channel number

        9. Arguments for function .SSSTS:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQFST   Status flags,,connection state

                                 Bits  Symbol    Meaning

                                   0   SC%MSA    Message available
                                   1   SC%DGA    Datagram available
                                   2   SC%DTA    DMA transfer complete
                                   3   SC%EVA    Event pending

                  3    .SQSBR   Destination node number

        10. Arguments for functions .SSRMG and SSRDG:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQARB   Address of returned buffer
                  3    .SQDFL   Flags and node number of  remote  system.
                                (See .SSSDG for definition of flag bits.)


                                   22-461
   SCS. [CALLI 213]


                  4    .SQLRP   Length  of   returned   message/datagram.
                                (Words   if   high   density,   bytes  if
                                industry-compatible.)

        11. Arguments for function .SSMAP:

                Word   Symbol   Contents
|  
|                 1    .SQXFL   Flags:
|  
|                                Bits  Symbol    Meaning
|  
|                                32    SQ%CVD    Do not clear  the  valid
|                                                bit if set
|                                33    SQ%WRT    If set, host  memory  is
|                                                writable
|                                34-35 SQ.DMD    Code for mode field.  If
|                                                clear,     this    field
|                                                indicates
|                                                Industry-compatible
|                                                mode.
|  
|                                  Code          Symbol Mode
|  
|                                  1   SQ%DCD    Core dump mode
|                                  2   SQ%DHD    High density mode

                  2    .SQBNA   Returned buffer name

                                 Buffer length and address parts:

                                 Word  Symbol    Contents

                                   0   .SQBLN    Length of buffer segment
                                   1   .SQBAD    Address    of     buffer
                                                 segment

        12. Arguments for function .SSUMP:

                Word   Symbol   Contents

                  1    .SQNAM   Buffer name

        13. Arguments for functions .SSSND and .SSREQ:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQSNM   Send buffer name
                  3    .SQRNM   Receive buffer name
                  4    .SQOFS   Transmit,,receive buffer offsets



                                   22-462
                                                         SCS. [CALLI 213]


        14. Arguments for function .SSACC:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQCDA   Pointer to connection data

        15. Arguments for function .SSGDE:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQBID   Buffer id offset

        16. Arguments for function .SSEVT:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQESB   Node number of remote system
                  3    .SQEVT   Event code:

                                 Code  Symbol    Event

                                   1   .SEVCC    VC broken
                                   2   .SECTL    Connect to listen
                                   3   .SECRA    Connection was accepted
                                   4   .SECRR    Connection was rejected
                                   5   .SEMSC    Message/Datagram    send
                                                 complete
                                   6   .SELCL    Little credit left
                                   7   .SENWO    Node went offline
                                   10  .SENCO    Node came online
                                   11  .SEOSD    OK to send data
                                   12  .SERID    Remote         initiated
                                                 disconnect
                                   13  .SEPBC    Port broke connection
                                   14  .SECIA    Credit is available
                                   15  .SEMDC    Maintenance         data
                                                 transfer complete

                  4    .SQDTA   Offset to event data (zero to four words)

        16. Arguments for functions .SSCRD and .SSCRM:

                Word   Symbol   Contents

                  1    .SQCID   Connect-id
                  2    .SQADB   Address of buffer to dequeue

        17. Arguments for function .SSGLN:



                                   22-463
   SCS. [CALLI 213]


                Word   Symbol   Contents

                  1    .SQLNN   (Returned) local node number

        18. Arguments for function .SSRBS:

                Word   Symbol   Contents

                  1    .SQLMG   Length of message buffer
                  2    .SQLDG   Length of datagram buffer

        19. Arguments for function .SSRPS:

                Word   Symbol   Contents

                  1    .SQRPN   Node number
                  2    .SQRPS   Path status (A,,B)

   Normal Return

        The function is performed successfully and the program  continues
        at the skip return.

   Error Return

        The function is not performed, and the error code is returned  in
        the ac.  The error codes and their meanings are:

        Code   Symbol    Error

         0     SSNPV%    Insufficient privileges.
         1     SSIFC%    Illegal function code.
         2     SSARG%    Bad argument list length.
         3     SSACR%    Address check reading argument block.
         4     SSACS%    Address check storing data.
         5     SSCPN%    CPU number is out of range.
         6     SSNPC%    No CI port on specified CPU.
         7     SSNNK%    CI node number on specified CPU is not known.
         10    SSINN%    Invalid CI node number.
         11    SSNFC%    No free core.
         12    SSVNO%    Virtual circuit is not open.
         13    SSICI%    Invalid connect identification.
         14    SSRQE%    Receive queue is empty.











                                   22-464
                                                         SCS. [CALLI 213]


        Code   Symbol    Error

         15    SSNBQ%    No buffer queued for packet reception.
         16    SSRCF%    Reject connection failed.
         17    SSDCF%    Disconnect connection failed.
         20    SSNFB%    No free buffers to send packet.
         21    SSQBF%    Queue buffers failed.
         22    SSCBF%    Cancel buffers failed.
         23    SSPSF%    Packet send failed.
         24    SSDQE%    Data entry queue empty.
         25    SSEQE%    Event queue empty.
         26    SSCRB%    Can't remove buffer from database.
         27    SSCUB%    Can't unmap buffer.
         30    SSNSB%    No such buffer name.
         31    SSTMS%    Too many buffer segment descriptions.
         32    SSIDM%    Illegal data mode.
         33    SSSCP%    Segment crosses page boundary.
         34    SSSTL%    Segment is greater than 1 page.




































                                   22-465
   SEBLK. [CALLI 214]


   22.153  SEBLK.  [CALLI 214]




   Function

        SEBLK.  is a privileged monitor call used  only  by  DAEMON.   It
        returns system error block data.

   Calling Sequence

                MOVE    ac,[arglen,,arglst]
                SEBLK.  ac
                  error return
                normal return

        where:  arglen is length of the argument list stored at arglst.

   Normal Return

        The monitor returns information about system errors in the  block
        starting  at arglst.  The number of words stored in the monitor's
        error block is returned in the ac.  This tells you  whether  your
        block  was  long enough to hold the information; if the block was
        not long enough, the monitor truncated the information.

   Error Return

        One of the following codes is returned in the ac:

        Code   Symbol    Error

          0    SBNPV%    Job not privileged.
          1    SBNEQ%    No error blocks on queue.



















                                   22-466
|                                                      SEGOP. [CALLI 230]


|  22.154  SEGOP.  [CALLI 230]
|  
|  
|  
|  
|  Function
|  
|       Provides functions by  which  an  assembly-language  program  can
|       manipulate   high   segments  in  the  program's  address  space.
|       Specifically, the SEGOP. UUO allows you to:
|  
|  
|        o  Put multiple high segments into a single program section.
|  
|        o  Remove some or all of the  high  segments  in  the  program's
|           address space.
|  
|        o  Read and write monitor data about high segments  in  sections
|           other  than  that  which  is the PC origin.  The monitor data
|           describes the size of the segments,  their  origin  sections,
|           their   sharable   characteristics,   and   their  write-only
|           protection status.
|  
|        o  Read and set writable characteristics of any high segment  in
|           the program's address space.
|  
|        o  Translate segment names to  segment  numbers  or  numbers  to
|           names.
|  
|        o  Change the size of any high segment in the program's  address
|           space.
|  
|        o  List all of the high segments in the program's address space.
|  
|        o  Remaps program segments in the program's address space.
|  
|  
|  Calling Sequence
|  
|                       XMOVEI ac,addr
|                       SEGOP. ac
|                         error return
|                       normal return
|  
|       addr:   length,,function
|                       flags word
|                       segment-number
|                       segment-name
|                       segment-origin
|                       segment-size
|                       filespec-pointer



                                   22-467
|  SEGOP. [CALLI 230]


|       For the SEGOP. UUO, store the address of the argument list in the
|       accumulator.   The  argument  list  (beginning at addr above), is
|       formatted differently depending on the function.   The  functions
|       and their appropriate argument lists are described below.
|  
|       The flags-word contains the SEGOP.  flags and fields  appropriate
|       to the function.  The following table shows the flags that can be
|       set for each function and which flags  may  be  returned  by  the
|       monitor.













































                                   22-468
|                                                      SEGOP. [CALLI 230]


|       Table 22-16:  SEGOP. UUO Flags
|  
|  
|  
|   Functions                           Flag Word
|  +---------------------------------------------------------------------------+
|  |     Flags:|SG.STP |SG.USN |SG.FFS |SG.NSR |SG.SEC |SG.CTX |SG.JOB |SG.UWP |
|  |-------------------|-------|-------|-------|-------|-------|-------|-------|
|  |      Bits:|  0    |   1   |  2    | 6-17  | 12-17 | 18-26 | 27-35 |  35   |
|  |===========|=======|=======|=======|=======|=======|=======|=======|=======|
|  |.SGINF (0) | set   |       |       |       |       |set/ret| set   |       |
|  |-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|  |.SGGET (1) |       |set/ret| set   |       |set/ret| ret'd | ret'd |       |
|  |-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|  |.SGREL (2) |       |  set  |       |       | set   |       |       |       |
|  |-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|  |.SGRMP (3) |       |       |       |       |       |       |       |       |
|  |-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|  |.SGSWP (4) |       |       |       |       |       |       |       |set/ret|
|  |-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|  |.SGCOR (5) |       |       |       |       |       |       |       |       |
|  |-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|  |.SGDMP (6) | set   |       |       | ret'd |       | set   | set   |       |
|  +---------------------------------------------------------------------------+
|  
|          Function    Symbol  Meaning
|  
|            0         .SGINF  Returns information about a specified high
|                              segment.    The  argument  list  for  this
|                              function is:
|  
|                                    addr:   length,,.SGINF
|                                            flag-word
|                                            BLOCK 4
|                                            filespec-pointer
|  
|                              The flags that  can  be  set  in  the  the
|                              flag-word for this function are:
|  
|                            Bits    Symbol  Meaning
|  
|                              0     SG.STP  If set,  the  function  will
|                                            step  through  the  list  of
|                                            high segments.
|                              1     SG.USN  If  set,  the  SG.SEC  field
|                                            contains  an  offset  to the
|                                            program   section   of   the
|                                            specified high segment.
|                            12-17   SG.SEC  Contains the offset  to  the
|                                            section  number  of the high
|                                            segment.
|                            18-26   SG.CTX  Contains the context  number


                                   22-469
|  SEGOP. [CALLI 230]


|                                            of the job context that owns
|                                            the high segment.
|                            27-35   SG.JOB  Contains the job  number  of
|                                            the  job  that owns the high
|                                            segment.
|  
|                              Use these flags and fields to perform  the
|                              following operations:
|  
|  
|                               o  To  step  through  a   list   of   all
|                                  segments, starting with the first, set
|                                  SG.STP  and  put  a  zero  in   addr+2
|                                  (.SGSGN).
|  
|                               o  To step through the list beginning  at
|                                  a  specified  point,  set  SG.STP  and
|                                  include the segment number  in  .SGSGN
|                                  that  is previous to the first segment
|                                  that you want  to  return  information
|                                  on.   ST.STP  always  returns the next
|                                  segment in the list.
|  
|                               o  To obtain information about a  segment
|                                  specified by name, clear ST.STP and do
|                                  not  specify  the  segment  number  in
|                                  .SGSGN.   Include  the segment name in
|                                  addr+3 (.SGSNM).
|  
|                               o  To  obtain   information   about   the
|                                  segments  owned  by  a specific job or
|                                  job context, include  the  job/context
|                                  handle in SG.CTX and SG.JOB.
|  
|                              On a normal return from this function, the
|                              monitor  fills  in  the  contents  of  the
|                              argument list.
|  
|                              This function will take the  error  return
|                              and  error code ERSII% will be returned if
|                              the  segment  number  and   segment   name
|                              specified  in  the  argument  list  do not
|                              match.
|  
|          Function    Symbol  Meaning
|  
|            1         .SGGET  Obtains  a  new   high   segment   without
|                              affecting   current  high  segments.   The
|                              argument list for this function is:
|  
|                                    addr:   length,,.SGGET
|                                            flags-word


                                   22-470
|                                                      SEGOP. [CALLI 230]


|                                            BLOCK 4
|                                            filespec-pointer
|  
|                              In the flags-word,  you  can  specify  the
|                              following flags for this function:
|  
|                              Bits  Symbol  Meaning
|  
|                              1     SG.USN  When set, indicates  that  a
|                                            section  number is stored in
|                                            SG.SEC.
|                              2     SG.FFS  If non-zero,  the  new  high
|                                            segment  is  placed into the
|                                            first free section.
|                              12-17 SG.SEC  If SG.USN is  set,  contains
|                                            the section number where the
|                                            new   segment   should    be
|                                            created.
|  
|                              On a normal return from this function, one
|                              of   the   following  functions  has  been
|                              accomplished:
|  
|  
|                               o  If SG.USN is set and SG.FFS is  clear,
|                                  the  contents  of  SG.SEC indicate the
|                                  section number to store the  new  high
|                                  segment in.
|  
|                               o  If both SG.USN and SG.FFS  are  clear,
|                                  the   same   section  from  which  the
|                                  argument list is given (usually the PC
|                                  section).
|  
|                               o  If SG.FFS is set, the  section  number
|                                  that is actually used will be returned
|                                  in the SG.SEC field of the Flags-word.
|                                  In  addition,  the  SG.USN flag is set
|                                  and the SG.FFS flag is  cleared  after
|                                  the return.
|  
|                              The monitor fills  in  the  argument  list
|                              with   information   about  the  new  high
|                              segment on a successful return  from  this
|                              call.
|  
|          Function    Symbol  Meaning
|  
|            2         .SGREL  Releases a segment or a list of  segments.
|                              The argument list for this function is:
|  
|                                    addr:   length,,.SGREL 


                                   22-471
|  SEGOP. [CALLI 230]


|                                            flags-word
|                                            segment-number
|                                            segment-number
|                                                .
|                                                .
|                                                .
|                                                0
|  
|                              In the flags-word,  you  can  specify  the
|                              following flags for this function:
|  
|                            Bits    Symbol  Meaning
|  
|                              1     SG.USN  Indicates  that  a   section
|                                            number   is   in  the  field
|                                            SG.SCN
|                            12-17   SG.SEC  Specifies the section number
|                                            of the section from which to
|                                            release high segments.
|  
|                              On a normal return from this function, one
|                              of   the   following  functions  has  been
|                              accomplished:
|  
|  
|                               o  To delete all  high  segments  in  the
|                                  program's  address space, clear SG.USN
|                                  and specify 0 for  the  segment-number
|                                  (.SGSGN).
|  
|                               o  To   delete   only   specified    high
|                                  segments, clear SG.USN and specify the
|                                  segment numbers  of  the  segments  to
|                                  release starting at .SGSGN.  Terminate
|                                  the list of  segment  numbers  with  a
|                                  zero word.
|  
|                               o  To delete all  high  segments  from  a
|                                  specific  program  section, set SG.USN
|                                  and  include  the  section  number  in
|                                  SG.SEC.     You   can   also   specify
|                                  additional segements to be released by
|                                  including    their   segment   numbers
|                                  starting at .SGSGN.
|  
|  
|          Function    Symbol  Meaning
|  
|            3         .SGRMP  Maps a local  segment  into  high  segment
|                              address  space  (similar  to  REMAP. UUO).
|                              The format of the argument list  for  this
|                              function is:


                                   22-472
|                                                      SEGOP. [CALLI 230]


|                                    addr:   length,,.SGRMP
|                                            0
|                                            BLOCK 1
|                                            local-segment number
|                                            new-segment name
|                                            segment-origin
|                                            segment-size
|  
|                              In  the  argument  list,   the   following
|                              information is stored in each word:
|  
|                            Word    Symbol  Contents
|  
|                              0     .SGFNC  Length,,.SGRMP
|                              1     .SGFLG  Zero
|                              2     .SGSGN  Segment number of the  local
|                                            segment   that   is   to  be
|                                            remapped.
|                              3     .SGSNM  Name  for   the   new   high
|                                            segment.
|                              4     .SGORG  Segment origins.
|                                            In the left  half  (SG.HSO),
|                                            specify  the  origin address
|                                            for the new high segment.
|                                            In the right half  (SG.LSO),
|                                            specify      the     current
|                                            low-segment origin  for  the
|                                            local segment.
|                              5     .SGSIZ  Specify the number of  pages
|                                            in  the  segment  to  remap,
|                                            starting at the location  in
|                                            SG.HSO above.
|                              6     .SGFSP  Include a pointer to a  file
|                                            specification   block   that
|                                            specifies the program in the
|                                            segment.
|  
|          Function    Symbol  Meaning
|  
|            4         .SGSWP  Sets  the  user-write-protection  bit  for
|                              specified   segments  (similar  to  SETUWP
|                              UUO).  The argument list for this function
|                              is:
|  
|                                    addr:   length,,.SGSWP
|                                            SG.UWP
|                                            segment-number
|  
|                              In the flags-word,  you  can  specify  the
|                              SG.SWP bit.  This bit specifies whether to
|                              set user-write-protection, or to clear the
|                              protection.  On a success return, this bit


                                   22-473
|  SEGOP. [CALLI 230]


|                              reflects  the  previous  setting  for  the
|                              segment.
|  
|          Function    Symbol  Meaning
|  
|            5         .SGCOR  Changes the length  of  an  existing  high
|                              segment.    The  argument  list  for  this
|                              function is:
|  
|                                    addr:   length,,.SGCOR
|                                            0
|                                            segment-number
|                                            segment-name
|                                            segment-origin
|                                            segment-size
|  
|                              The segment-number indicates the specified
|                              high segment.
|  
|                              The segment-size indicates the  number  of
|                              pages   to   be  allocated  for  the  high
|                              segment.
|  
|          Function    Symbol  Meaning
|  
|            6         .SGDMP  Returns the entire list  of  segments  for
|                              the  specified  job/context.  The argument
|                              list for this function is:
|  
|                                    addr:   length,,.SGDMP
|                                            flags-word
|                                            segment-number
|                                            BLOCK n
|  
|                              In the flags-word,  you  can  specify  the
|                              following flags for this function:
|  
|                            Bits    Symbol  Meaning
|  
|                              0     SG.STP  Indicates that the call will
|                                            step    through   the   list
|                                            starting at the beginning.
|                              18-26 SG.CTX  Specifies the job context.
|                              27-35 SG.JOB  Specifies the job number.
|  
|                              At addr+2 (.SGSGN),  specify  the  segment
|                              number  to  begin  returning, if SG.STP is
|                              not set.
|  
|                              On a normal return from this function, one
|                              of   the   following  functions  has  been
|                              accomplished:


                                   22-474
|                                                      SEGOP. [CALLI 230]


|                               o  To return the segments starting  at  a
|                                  specific  segment,  include  the first
|                                  segment number in .SGSGN.  The segment
|                                  numbers   are   returned  starting  at
|                                  addr+3.  The list is terminated with a
|                                  zero word.
|  
|                               o  On  a  success  return,  the   monitor
|                                  stores the total number of segments in
|                                  the flags-word in Bits 6-17 (SG.NSR).
|  
|                              On an error return, the error code  ERFNF%
|                              is  returned  in the accumulator if SG.STP
|                              is  clear  and   segment-number   (.SGSGN)
|                              contains zero.
|  
|  Normal Return
|  
|       On a normal return, the monitor performs the  requested  function
|       and  information  is  returned  in the argument list as described
|       above.
|  
|  Error Return
|  
|       On an error return, one of the LOOKUP/ENTER/RENAME extended error
|       codes  is  returned  in the accumulator.  Refer to Chapter 11 for
|       the list of extended error codes.
|  
|  Related Calls
|  
|       FILOP., REMAP., SETUWP























                                   22-475
   SENSE. [CALLI 133]


   22.155  SENSE. [CALLI 133]




   Function

        Returns the I/O status bits for a device.  I/O status bits can be
        cleared individually using the CLRST.  monitor call.

   Calling Sequence

                MOVE       ac,[XWD len,addr]
                SENSE.   ac,
                  error return
                normal return
                . . .
        addr: / SIXBIT/device/ \
             |  EXP      channo |

              \ EXP      udx   /
                XWD      length,status
                . . .
        status:          SIXBIT/name/
        status+1:        XWD 0,GETSTS-bits
        status+2:        DEVSTS-word

        where:  len is the length of the argument list, which must be 2.

                addr is the address of the argument list.

                device is the SIXBIT  physical  or  logical  name  of  an
                initialized device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

                Device, channo, and UDX are alternate ways of  specifying
                the device for which you desire the status bits.

                length specifies the number of words in the status block.
                This  value should equal the number of devices multiplied
                by 3.

                status is the address of the status block.








                                   22-476
                                                       SENSE. [CALLI 133]


        The status block is returned in the form:

        Offset Symbol    Contents

           0   .SNSDV    The SIXBIT name of the device.

           1   .SNSST    The status bits for the device (GETSTS).

           2   .SNSDS    The device status (DEVSTS) bits for the  device.
                         DEVSTS  bits  are  from  the device DDB, and are
                         different for each device.

   Normal Return

        The name and status bits for the device are returned at status.

   Error Return

        If the SENSE. monitor call is not implemented on your system, the
        ac  is unchanged; otherwise, the following error code is returned
        in the ac:

        Code   Symbol    Error

          1    SNSBD%    Illegal device specified.

   Related Calls

        CLRST.

























                                   22-477
   SETDDT [CALLI 2]


   22.156  SETDDT [CALLI 2]




   Function

        Sets the value of .JBDDT in the Job Data Area.  Note that  .JBDDT
        is  protected from a direct MOVEM because the monitor has its own
        copy of .JBDDT and restores its value at every context switch.

   Calling Sequence

                MOVE    ac,[last-addr,,start-addr]
                SETDDT  ac,
                return

        where:  last-addr is the last address for DDT and  start-addr  is
                the new start address.

   Return

        The start address and last address for DDT are set.































                                   22-478
                                                       SETLCH [TTCALL 7,]


   22.157  SETLCH [TTCALL 7,]




   Function

        Sets  the  line  characteristics  for  your   job's   controlling
        terminal.   The line characteristics can be read using the GETLCH
        call.

   Calling Sequence

                SETLCH  [XWD flags,lineno]
                return

        The flags, stored in Bits 0-17, are described below.

                The lineno, stored in Bits 18-35, is the numeric  portion
                of  the  terminal  name,  (such as 37 for TTY37) or a UDX
                (such as .UXTRM+37 for TTY37).

        If you give a  negative  number  for  lineno,  the  current  user
        terminal  is  assumed.   Flags  can be changed only for the job's
        controlling terminal.

        The flags are:

        Bit    Symbol    Characteristic
|  
|         2    GL.DSP    Terminal is a display (CRT) terminal.
|         4    GL.CNE    No characters are echoed.
|         6    GL.REM    Terminal is a remote terminal.
|        12    GL.SLV    Terminal has been slaved.
         13    GL.LCM    Terminal in lowercase mode.
         14    GL.TAB    Terminal has tab capability.
         15    GL.LCP    Local copy only (no echo).
         16    GL.PTM    The CTRL/Q papertape switch is on.
         17    GL.NEC    No echo from program.

   Return

        The line characteristics are  set  as  requested.   The  argument
        block is not changed.

   Related Calls

        GETLCH, TRMOP.

   Common Errors

        Using an ac in the calling sequence.


                                   22-479
   SETNAM [CALLI 43]


   22.158  SETNAM [CALLI 43]




   Function

        Changes the name of the current  program  in  the  monitor's  job
        table.   This  name  is  used  by  some monitor commands, such as
        USESTAT (CTRL/T) and SYSTAT.

        The SETNAM monitor call also clears the SYS program bit (which is
        used  by  GALAXY),  clears  the  execute-only and JACCT bits, and
        causes a version typeout if a version watch has been set with the
        SET  WATCH  VERSION  monitor  command  or with the .STWTC, ST.WVR
        function of SETUUO.

   Calling Sequence

                MOVE    ac,[SIXBIT/name/]
                SETNAM  ac,
                return

        where:  name is the new program name for the job.

   Return

        The new program name is entered in the monitor's job table.

   Example

                MOVE    T1,[SIXBIT/NEWNAM/]
                SETNAM  T1,

        This code changes the program name for the job to NEWNAM.



















                                   22-480
                                                      SETSTS [OPCODE 060]


   22.159  SETSTS [OPCODE 060]




   Function

        Sets bits in the file status word for a  device.   Use  FILOP. to
        perform a SETSTS for an extended I/O channel.

   Calling Sequence

                SETSTS channo,bits
                return

        where:  channo is the number of an initialized channel.

                bits are I/O status bits.  For a  complete  list  of  I/O
                status bits, see the appropriate device chapter in Volume
                1.

   Return

        The I/O status bits are set.

   Example

                GETSTS     CHN,T1        ;get status in T1
                TRZ        T1,IO.ERR     ;keep mode and device-status
                SETSTS     CHN,(T1)      ;clear errors

   Related Calls

        CLRST., GETSTS

   Common Errors

        1.  If the SETSTS monitor call is done for a channel that has not
            been initialized, the monitor stops the job and prints:

                 ?IO to unassigned channel at user PC nnnnnn

        2.  If the data mode is  illegal  for  the  device,  the  monitor
            prints:

                 ?Illegal data mode for device xxxnnn;  UUO  at  user  PC
                 nnnnnn







                                   22-481
   SETUUO [CALLI 75]


   22.160  SETUUO [CALLI 75]




   Function

        Sets system or job parameters.  To set  system  parameters,  your
        job  must  have  the  JACCT  bit  set, or must be logged in under
        [1,2], and may not be a batch job.

   Calling Sequence

                MOVE    ac,[XWD fcncode,argument]
                SETUUO  ac,
                  error return
                normal return

        where:  fcncode is one of the function codes described below.

                argument is an argument for the given function code.

        The function codes and their meanings are:

        Code   Symbol    Function

          0    .STCMX    Sets the maximum core size that a user  job  may
                         use  (the  sum  of  the  high  and low segments,
                         CORMAX).  The minimum value is  set  by  MONGEN.
                         The  maximum  value  is the size of user core in
                         words.

          1    .STCMN    Sets the guaranteed amount  of  contiguous  core
                         that  a  single  unlocked  job can use (CORMIN).
                         The valid values are in the range 0  to  CORMAX.
                         This argument is referred to as CORMIN.

          2    .STDAY    Obsolete (use the .STTIM function).

          3    .STSCH    Sets parameters in the  %CNSTS  word  in  GETTAB
                         Table  11.   The  argument gives the flags.  The
                         flags and their meanings are:

                         Bit    Symbol    Meaning

                          26    ST%NDL    No automatic down-line load  of
                                          DC72,   DC71,  or  DAS80-series
                                          remote station.
                          27    ST%NOP    No operator coverage.
                          28    ST%NSP    Allow device unspooling.
                          29    ST%ASS    Allow  device  assignment   and
                                          initialization.
                          32    ST%NRT    No remote TTYs.
                          33    ST%BON    LOGINs for batch jobs only.
                                   22-482
                                                        SETUUO [CALLI 75]


        Code   Symbol    Function

                         Bit    Symbol    Meaning

                          34    ST%NRL    No remote LOGINs.
                          35    ST%NLG    No LOGINs except CTY.

          4    .STCDR    Specifies the input name  for  the  card  reader
                         job, which is stored in the GETTAB Table .GTSPL.
                         The argument is  given  in  single  quotes  that
                         contain  three SIXBIT characters forming the job
                         name.  For example, the MOVE  statement  in  the
                         calling sequence might be:

                              MOVE AC1,[XWD .STCDR,'XYZ']

                         to specify the input name XYZ.

          5    .STSPL    Sets or clears the spooling state for the  job's
                         devices.   You  specify  the flag bits in the ac
                         and they are set in bits 31  to  35  of  .GTSPL.
                         The flags and their meanings are:

                         Bit    Symbol    Meaning

                          31    JS.PCR    Spool card reader.
                          32    JS.PCP    Spool card punch.
                          33    JS.PPT    Spool paper tape punch.
                          34    JS.PPL    Spool plotter.
                          35    JS.PLP    Spool line printer.

          6    .STWTC    Sets flags  for  SET  WATCH  routine  (refer  to
                         monitor  command SET WATCH).  The argument gives
                         one or more of the flags, which are:

                         Bits   Symbol    Meaning

                           9    ST.WCN    /MESSAGE:CONTINUATION.
                          10    ST.WFL    /MESSAGE:FIRST.
                          11    ST.WPR    /MESSAGE:PREFIX.
|                        9-11   ST.WMS    /MESSAGE:ALL (bit mask).
                          18    ST.WCX    Watch contexts.
                          19    ST.WDY    Watch daytime at start.
                          20    ST.WRN    Watch runtime.
                          21    ST.WWT    Watch wait time.
                          22    ST.WDR    Watch disk reads.
                          23    ST.WDW    Watch disk writes.
                          24    ST.WVR    Watch versions.
                          25    ST.WMT    Watch statistics for magtapes.
                          26    ST.WFI    Watch file accessed.
|                      18-26    ST.WAL    Watch all.



                                   22-483
   SETUUO [CALLI 75]


        Code   Symbol    Function

          7    .STDAT    Sets the system date as the number of days since
                         January  1,  1964, in 15-bit form.  The argument
                         gives the number of days as:

                         ((year-1964)*12+(month-1))*31+(day-1)

         10    .STOPR    Sets the SIXBIT name of the terminal to be  used
                         as  the  operator  terminal.  The argument gives
                         the address of the word containing the name.
|  
|        11    .STKSY    Sets  the  decimal  number  of   minutes   until
|                        timesharing   ends;  this  value  is  stored  in
|                        SYSKTM.   If  SYSKTM  is   0,   timesharing   is
|                        continued   indefinitely.    If  SYSKTM  is  -1,
|                        timesharing ends immediately.
|  
|        12    .STCLM    Sets the maximum number of words of memory  that
|                        the  job  can use.  This value is converted from
|                        words to pages (at 512 words/page) and stored in
|                        GETTAB  Table  .GTCVL.  This value may be set to
|                        zero, indicating that there is no maximum limit.

         13    .STTLM    Sets the maximum number of seconds the  job  can
                         run.   The  argument  is  the  number of seconds
                         permitted.  This  function  cannot  be  used  by
                         batch  jobs  that  already  have  a  time limit.
                         However, this function is allowed for  non-batch
                         jobs,   batch  jobs  with  no  time  limit,  and
                         privileged batch jobs with  or  without  a  time
                         limit.

         14    .STCPU    Specifies the CPU on which the job  is  to  run.
                         The argument gives any of the following flags:

                         Bit    Symbol    Meaning

                          30    SP.CR5    Run on CPU5.
                          31    SP.CR4    Run on CPU4.
                          32    SP.CR3    Run on CPU3.
                          33    SP.CR2    Run on CPU2.
                          34    SP.CR1    Run on CPU1.
                          35    SP.CR0    Run on CPU0.

                         .STCPU  is  a  privileged  function,   requiring
                         JP.CCC privileges.  The error return is taken if
                         you attempt to change the CPU specification on a
                         single-CPU system.





                                   22-484
                                                        SETUUO [CALLI 75]


        Code   Symbol    Function

         15    .STCRN    Sets runnability for CPUs.  The  argument  gives
                         one or more of the following flags:

                         Bit    Symbol    Meaning

                          30    SP.CR5    CPU5 is runnable.
                          31    SP.CR4    CPU4 is runnable.
                          32    SP.CR3    CPU3 is runnable.
                          33    SP.CR2    CPU2 is runnable.
                          34    SP.CR1    CPU1 is runnable.
                          35    SP.CR0    CPU0 is runnable.

                         The error return is  taken  if  you  attempt  to
                         issue this function on a single-CPU system.

         16    .STLMX    Sets the maximum number  of  jobs  that  can  be
                         logged  in at any one time; this value is stored
                         in location  LOGMAX.   The  argument  gives  the
                         maximum  number  of jobs; this number must be at
                         least 1, but no more than  the  system  maximum,
                         which  is  defined  by the symbol JOBN.  JOBN is
                         the system limit defined  when  the  monitor  is
                         generated by MONGEN.

                         If you give a number smaller than the number  of
                         jobs currently logged in, no new jobs can log in
                         until the number of jobs falls below LOGMAX.

                         You can obtain  the  number  of  jobs  currently
                         logged  in  from  the  location %CNLNM in GETTAB
                         table .GTCNF.

         17    .STBMX    Sets the maximum number of batch jobs  that  can
                         be  logged  in  at  any  one time; this value is
                         stored in location BATMAX.  The  argument  gives
                         the  maximum  number  of batch jobs; this number
                         must be less than the system maximum,  which  is
                         defined by the symbol JOBN.

                         You  can  obtain  the  number  of   batch   jobs
                         currently  logged in from the location %CNBNM in
                         GETTAB table .GTCNF.

         20    .STBMN    Sets the  number  of  jobs  reserved  for  batch
                         processing  (BATMIN).   The  argument  gives the
                         minimum number of jobs reserved.  The value must
                         be in the range 1 to the value of BATMAX-1.





                                   22-485
   SETUUO [CALLI 75]


        Code   Symbol    Function

         21    .STDFL    Sets the action to occur if the user disk  space
                         is  filled  for the job.  The argument is one of
                         the following codes:

                         Code   Symbol    Meaning

                           0    .DFPSE    Pause when disk filled for job.
                           1    .DFERR    Error when disk filled for  job
                                          or  the  user's  quota has been
                                          exceeded.

                         Any other value for argument returns the current
                         setting  for  .STDFL  in  the  ac;  the  initial
                         default setting is .DFERR.

         22    .STMVM    Sets  the  system-wide  virtual   memory   limit
                         (GVPL).  The value returned in ac depends on the
                         given argument:

                          o  If the  given  argument  is  less  than  the
                             current virtual memory page count, the value
                             returned is  the  total  amount  of  virtual
                             memory in use by all virtual memory users.

                          o  If the given argument is  greater  than  the
                             current  available swapping space, the value
                             returned is the total  amount  of  available
                             swapping space.

                          o  If the given argument is  greater  than  the
                             total  amount of virtual memory currently in
                             use,  the  value  returned  is   the   given
                             argument.

         23    .STMVR    Obsolete.   This  historical   SETUUO   function
                         always takes the error return and clears the ac.

         24    .STUVM    Sets the maximum virtual memory page  limit  and
                         the  maximum  physical  memory  page limit.  The
                         argument gives the address  of  the  word  whose
                         format is:

                              LH = maximum virtual page limit (MVPL)
                              RH = maximum physical page limit (MPPL)

                         If the left half of the word (MVPL)  is  0,  the
                         user cannot use the virtual memory option.  When
                         MVPL is set to 0, MPPL should also be set to  0.
                         If  the right half (MPPL) is 0, the user can use
                         all of the system's physical memory.


                                   22-486
                                                        SETUUO [CALLI 75]


        Code   Symbol    Function

         25    .STCVM    Sets the current memory maximum.   The  argument
                         is the address of a word whose format is:

                              LH = current virtual page limit (CVPL)
                              RH = current physical guideline or limit
                                   (CPPL)
|  
|                        The left half  of  the  word  at  the  indicated
|                        address  sets  the  current  virtual  page limit
|                        (CVPL).   The  right  half  sets   the   current
|                        physical  page  limit  (CPPL).  If you leave the
|                        entire word zero, both limits are  cleared,  and
|                        the  job  has  no constraints of memory use.  If
|                        one half of the argument word is zero, only  the
|                        limit for the non-zero half is changed.
|  
|                        If Bit 18 (ST.VSG) is 0, the right  half  (CPPL)
|                        contains the current physical page guideline; if
|                        Bit 18 is 1, CPPL contains the current  physical
|                        page  limit.   A  guideline  is  an  approximate
|                        physical page limit.

                         The guideline algorithm  allows  you  to  set  a
                         memory limit that will not be strictly enforced.
                         The page fault handler will attempt to meet  the
                         page  limit  within  a  window of approximation,
                         allowing slight over-allocation  to  accommodate
                         the  program.   If  you  set the ST.VSG bit, the
                         allocation is taken as a limit, and  that  limit
                         is strictly enforced.

         26    .STTVM    Sets the  time  interval  between  virtual  time
                         traps  in  milliseconds.   A  virtual  time trap
                         causes a Code 4 page fault  to  the  page  fault
                         handler each time the time interval has elapsed.
                         The argument gives the  number  of  milliseconds
                         between traps.

         27    .STABK    Sets the address break condition.  On  a  normal
                         return,  the new address break condition and the
                         break  address  have  been  set.   The   address
                         conditions  are specified in the word pointed to
                         by the argument.  These conditions are:

                         Bits   Symbol    Contents

                            0   ST.AEX    Set to break on EXECUTE.
                            1   ST.ARD    Set to break on READ.
                            2   ST.AWR    Set to break on WRITE.
                            3   ST.AUU    Set   to   break   on   monitor
                                          reference.
                          4-8   ST.ASN    Specify the section number  for
                                   22-487
   SETUUO [CALLI 75]


                                          the break address.





















































                                   22-488
                                                        SETUUO [CALLI 75]


        Code   Symbol    Function

                         Bits   Symbol    Contents

                         9-17   ST.ACT    The number of times  the  break
                                          address  is  to  be  referenced
                                          before an interrupt occurs.
                         18-35  ST.ADR    Sets the break address.

                         To clear the address break, clear Bits 0 through
                         3.

                         If  you   have   enabled   for   address   break
                         interrupts,  the PSI system will interrupt on an
                         address  break.   If  the  PSI  system  is   not
                         enabled,  the  monitor  will  stop  your job and
                         display the following message on your terminal:

                              %Address break at user PC xxxxxx

         30    .STPGM    Sets the name of a program that  will  run  when
                         the  current program session finishes executing.
                         You must run the program executing  this  SETUUO
                         from  SYS:, under [1,2], or with JACCT privilege
                         set.  The argument block is:

                             EXP     flag       ;Bits 1-35 reserved
                             SIXBIT /progra/    ;progra is program name

                         The  monitor  does  an  implied   RUN   UUO   on
                         SYS:progra.EXE  when the current program session
                         ends.  Program session termination occurs  under
                         one of the following conditions:

                          o  When Bit 0 of the flag is set,  the  session
                             terminates  whenever the job would otherwise
                             enter monitor mode (for instance, EXIT  UUO,
                             ^C,  illegal  memory reference, or swap read
                             error).   If  the  job   becomes   detached,
                             issuing  the unprivileged ATTACH command (or
                             the ATTACH UUO) does not attach you  to  the
                             job  in  monitor  mode.   You will attach in
                             user mode instead.  The DETACH  function  of
                             the ATTACH UUO allows you to detach, leaving
                             your terminal in monitor mode.









                                   22-489
   SETUUO [CALLI 75]


        Code   Symbol    Function

                          o  When Bit 0 of the flag is clear, the session
                             terminates  whenever  you  execute a command
                             that destroys the core image.  The  RUN  UUO
                             executes  SYS:progra.EXE instead of whatever
                             command you issued.   You  can  still  enter
                             monitor  mode  when your program terminates,
                             or when you issue an  ATTACH  command.   You
                             may  then  execute any command that does not
                             change the core image, as well as  the  KJOB
                             command.   Commands  that automatically save
                             the current context and push to a new one do
                             not change the core image.

                         The status of .STPGM remains in effect until  it
                         is  explicitly  cleared by a privileged program,
                         or the job logs  out.   Whenever  .STPGM  is  in
                         effect,  the program may execute RUN UUOs on any
                         file.  Control may even transfer  to  a  program
                         that is not privileged to execute this SETUUO.
|  
|                        If .STPGM specifies an  inaccessible  file,  the
|                        job  will be logged out when the program session
|                        terminates.

         31    .STDFR    Sets  deferred   spooling.    If   argument   is
                         non-zero,  spooled  output  will  not  be queued
                         until the job logs out.  If  argument  is  zero,
                         spooled  output  will  be queued as each file is
                         closed.

         32    .STHST    Sets the host system.  This  function  logically
                         attaches   the   controlling   terminal  to  the
                         specified host system in an ANF-10 network.  The
                         job  on  the  previous  system becomes detached.
                         The calling sequence is:

                                 MOVE    ac,[.STHST,,addr]
                                 SETUUO  ac,
                                   error return
                                 normal return
                                 . . .
                                 addr:   node number or SIXBIT node name










                                   22-490
                                                        SETUUO [CALLI 75]


        Code   Symbol    Function

         33    .STDEF    Sets default  values  for  job-wide  parameters.
                         The calling sequence for the .STDEF function is:

                                 MOVE    ac,[XWD .STDEF,addr]
                                 SETUUO  ac,
                                   error return
                                 normal return
                                 . . .
                         addr:   XWD arglen,subfcncode
                                 argument

                         where:  arglen gives the number of arguments  to
                         follow.

                         subfcncode is one of the  following  subfunction
                         codes:

                         Code   Symbol    Subfunction

                           0    .STDPC    Set  default  protection  code.
                                          addr+1 contains the new default
                                          protection code.
                           1    .STDNB    Set  default  number  of   disk
                                          buffers.   addr+1  contains the
                                          new  default  number  of   disk
                                          buffers.
                           2    .STDAD    Controls whether LOGIN will ask
                                          you about attaching to this job
                                          should  you   previously   have
                                          detached  from  it.  JD.DAD  in
                                          .GTDFL contains  the  value  of
                                          the flag.

                                          Argument  JD.DFL  Action

                                          zero      clear   LOGIN    will
                                                            ask     about
                                                            this job.
                                          non-zero  set     LOGIN    does
                                                            not   ask  if
                                                            you  want  to
                                                            attach     to
                                                            this job.

                           3    .STDSB    Sets the default size of a disk
                                          buffer.   Refer  to  SET BIGBUF
                                          monitor    command.      addr+1
                                          contains  the  new  disk buffer
                                          size (value is number of blocks
                                          per buffer).


                                   22-491
   SETUUO [CALLI 75]


        Code   Symbol    Function

         34    .STPRV    Sets the privilege and  capability  words.   The
                         calling sequence for the .STPRV function is:

                                 MOVE    ac,[XWD .STPRV,arglst]
                                 SETUUO  ac,
                                 . . .
                         arglst: XWD     0,subfcncode
                                 argument

                         subfcncode is one of the  following  subfunction
                         codes:

                        Code     Symbol  Subfunction

                          0      .STCPW  Sets entire privilege word.
                          1      .STCPS  Sets specified bits of privilege
                                         word.
                          2      .STCPC  Clears   specified    bits    of
                                         privilege word.
                          3      .STCCW  Sets entire capability word.
                          4      .STCCS  Sets    specified    bits     of
                                         capability word.
                          5      .STCCC  Clears   specified    bits    of
                                         capability word.


                                         NOTE

                 You can always clear bits  in  the  privilege  word.
                 However,   you  can  set  only  those  bits  in  the
                 privilege word that are set in the capability  word,
                 unless you are a privileged job.

         35    .STBSN    Sets batch stream number (settable only once per
                         instance).

         36    .STWTO    Sets write-to-operator values.  Refer to  GETTAB
                         table .GTOBI.

         37    .STCDN    Sets CPU up/down status.   To  control  the  CPU
                         up/down  status, set the appropriate bits in the
                         argument, from the following list:

                         Bit     Symbol  Function

                         18      ST.URE  Remove CPU from system.
                         19      ST.USU  Suspend the CPU.
|  
|                        If both Bits 18 and 19 are  clear,  the  CPU  is
|                        added.

                         The CPU number must be stored in Bits  33-35  of
                                   22-492
                                                        SETUUO [CALLI 75]


                         the argument.





















































                                   22-493
   SETUUO [CALLI 75]


        Code   Symbol    Function

         40    .STCSB    Sets or clears cache bits.   The  cache  can  be
                         enabled   or  disabled  for  the  monitor's  low
                         segment by setting the argument to 1  to  enable
                         cache, or 0 to disable cache.
|  
|        41    .STFPS    Sets  or  clears   floating   point   simulation
|                        (unsupported).

         42    .STOPP    Allows various levels of operators  to  run  OPR
                         without [1,2] privileges and without having full
                         file access.  This value may be read from GETTAB
                         table .GTOBI, and will be be used by LOGIN.
|  
|        43    .STQST    Sets  queue  structure.   This  sets  the   file
|                        structure on which GALAXY queues will be stored.
|                        Refer to GETTAB Table .GTLVD, item %LDQUS.
|  
|        44    .STCSZ    Sets the size of  the  software  disk  cache  in
|                        blocks.   This  value  can  be  set  with MONGEN
|                        symbol M.CBMX.  The default value of  M.CBMX  is
|                        the  number  of  jobs on the system.  The .STCSZ
|                        function is illegal if M.CBMX=0.   The  argument
|                        for  this  function specifies the number of disk
|                        blocks for the cache.   Refer  to  GETTAB  Table
|                        .GTLVD, item %LDCSZ.

         45    .STEBP    Sets the EDDT breakpoint facility.  The argument
                         to  this  function  is  either 0 (to disable the
                         facility) or 1 (to enable the facility).

         46    .STBPT    Sets the DDT breakpoint facility.  The  argument
                         to  this  function  is  either 0 (to disable the
                         facility) or 1 (to enable the facility).

         47    .STTMS    Sets the system time of day.  Specify  the  time
                         as the number of seconds past midnight.
|  
|        50    .STCXP    Sets the maximum number of pages of memory  that
|                        a user job may use (CORMAX).  Set Bit 18 of this
|                        word to reduce the maximum size gradually ("soft
|                        CORMAX").   Larger  jobs  will  continue  to run
|                        until they contract below the soft CORMAX limit,
|                        then  will  not be allowed to expand beyond this
|                        size again.

         51    .STCNP    Sets the guaranteed amount  of  contiguous  core
                         that  a  single  unlocked  job can use (CORMIN),
                         with the argument in pages.
|  
|        52    .STPCP    Changes the policy CPU.  The policy CPU  is  the
|                        processor  in a multi-processor system that will
|                        boot  the  software  on  a  system  crash.   The
                                   22-494
                                                        SETUUO [CALLI 75]


|                        calling sequence for this function is:
|  
|                                MOVSI   ac,.STPCP
|                                HRRI    ac,CPUn
|                                SETUUO  ac,
|                                  error return
|                                normal return
|  
|                        The value of CPUn is the CPU number of  the  CPU
|                        that  will  become  the policy CPU.  The monitor
|                        call takes the error return if there is no  such
|                        CPU or the specified CPU is not running.

   Normal Return

        The function is performed and the ac is unchanged.

   Error Return

        If the ac is cleared, you do not have  sufficient  privileges  or
        you gave an illegal job number, CPU number, or argument.

        If the ac is not changed on an error  return,  the  function  you
        requested is not implemented in the monitor.
|  
|       For functions .STQST, .STCPU, .STPCP,  and  .STCRN,  one  of  the
|       following error codes may be returned in the ac:
|  
|        Code   Symbol    Error
|  
|        0      STNAR%    Specified CPU(s) not running.
|        1      STDHP%    Insufficient privileges  to  perform  specified
|                         function.
|        2      STISN%    Illegal structure name.
|        3      STITM%    Illegal time (resulting time would  be  greater
|                         than 23:59:59).
|  
|  Related Calls
|  
|       JBSET.














                                   22-495
|  SETUWP [CALLI 36]


|  22.161  SETUWP [CALLI 36]
|  
|  
|  
|  
|  Function
|  
|       Sets or clears user-mode write  protection  for  the  job's  high
|       segment.   You must use the SETUWP call to clear write protection
|       before your program can modify its high segment.
|  
|       Because the previous setting of this bit is returned in  ac,  you
|       can  write  subroutines  that  preserve  the previous setting and
|       restore them before returning.
|  
|  Calling Sequence
|  
|               MOVEI     ac,fcncode
|               SETUWP    ac,
|                 error return
|               normal return
|  
|       where:  fcncode is one of the following function codes:
|  
|               Code     Function
|  
|                 0      Write-enables the high segment.
|                 1      Write-protects the high segment.
|  
|  Normal Return
|  
|       The user-mode write protection bit is set as specified,  and  the
|       previous setting is returned in the ac.
|  
|  Error Return
|  
|       The error return is taken under the following conditions:
|  
|        o  If the high segment is a SPY segment.
|  
|        o  If the high segment has been meddled.
|  
|        o  If the user does not have the access privileges  required  to
|           access the specified high segment.
|  
|        o  If there are multiple high segments in the PC section, the ac
|           contains 0 on an error return.  (Use the SEGOP. UUO.)
|  
|  Related Calls
|  
|       SEGOP.



                                   22-496
                                                      SKPINC [TTCALL 13,]


   22.162  SKPINC [TTCALL 13,]




   Function

        Skips the next program instruction if at least one character  can
        be  input  from  the job's controlling terminal.  The SKPINC call
        does not input a character.   SKPINC  clears  the  CTRL/O  output
        state  and  sets the terminal to "character mode", preventing the
        monitor from processing control characters, such  as  DELETE  and
        CTRL/U, as input line editing commands.

        This call is useful in a compute-bound program that should  check
        occasionally for user input.

   Calling Sequence

                SKPINC
                  return 1
                  return 2

        where:  the call returns to return 1 if there is no  user  input,
                or to return 2 is there is user input.

   Related Calls

        SKPINL

























                                   22-497
   SKPINL [TTCALL 14,]


   22.163  SKPINL [TTCALL 14,]




   Function

        Skips the next instruction if at least one line can be input from
        the  job's  controlling  terminal.   SKPINL  sets the terminal to
        "line mode" and clears the CTRL/O output state.
|  
|       In  deferred-echo  mode,  SKPINL  allows  the   first   line   of
|       unprocessed input from the terminal.

   Calling Sequence

                SKPINL
                  return 1
                  return 2

        where:  the call returns to return 1 if a complete line  has  not
                been  typed,  or  to return 2 if a complete line has been
                typed.

   Related Calls

        SKPINC



























                                   22-498
                                                         SLEEP [CALLI 31]


   22.164  SLEEP [CALLI 31]




   Function

        Causes your program to become dormant for a specified  number  of
        real-time seconds.

   Calling Sequence

                MOVEI ac,seconds
                SLEEP ac,
                return

        where:  seconds gives the number of seconds that the  job  is  to
                sleep.   If you give seconds as 0, the program will sleep
                for one clock tick.  The maximum sleep time is 68 seconds
                (or  82  seconds  for systems using 50 Hz frequency).  If
                you require a longer sleep period, use the HIBER  monitor
                call.

   Return

        Your job becomes dormant and the monitor  sets  the  JBTST2  bit,
        JS.SLP.   The monitor will clear this bit when the specified time
        has elapsed and your job becomes runnable again.   All  potential
        job-wakers  should  check this bit and wake a job only if the bit
        is cleared.

   Examples

                MOVEI T1,1
                SLEEP T1,

        This code puts your job to sleep for 1 second.

   Related Calls

        HIBER













                                   22-499
   SNOOP. [CALLI 176]


   22.165  SNOOP. [CALLI 176]




   Function

        Allows privileged programs to insert breakpoints in  the  monitor
        that  trap to a user program.  The user program must be locked in
        core when the trap occurs (refer to  LOCK  monitor  call).   This
        feature  is  used  for fault insertion, performance analysis, and
        trace functions.  Only one job can use SNOOP. at any time.


                                     CAUTION


                Improper use of the SNOOP.  call  can  cause  the
                system  to  fail  in  a  number  of  ways.   User
                programs   may   require   special    code    for
                multiprocessor systems because the monitor may be
                executing the same code simultaneously on several
                systems and at different interrupt levels.


        Refer to  Chapter  10  for  more  information  about  the  SNOOP.
        monitor  call.   Do  not  attempt  to use this call until you are
        familiar with its operation.


   Calling Sequence

                MOVE    ac,[XWD fcncode,addr]
                SNOOP.  ac,
                  error return
                normal return
                . . .
        addr:   argument list

        where:  fcncode is one of the function codes described below.

                addr is the address of the argument list.  The  words  at
                addr depend on the given function.











                                   22-500
                                                       SNOOP. [CALLI 176]


        The function codes and their meanings are:

        Code   Symbol    Function

          0    .SODBP    Defines breakpoints.  This function  is  illegal
                         if breakpoints have been inserted.

                         The argument list for the .SODPB function is:

                         arglst: EXP     arglength
                                 EXP     symbol checksum
                                 EXP     address
                                 instruction
                                 . . .
                                 EXP     address
                                 instruction

                         where:  arglength is the length of the  argument
                                 list.   This  must  be 2 + the number of
                                 address-instruction   pairs    in    the
                                 argument list times 2 .

                                 symbol checksum is the checksum from the
                                 current monitor's symbol table.

                         The checksum is required to ensure that the user
                         is setting breakpoints in the intended monitor.

                         Specifically,  the  argument  list  for   SNOOP.
                         Function 0 is:

                         Word    Symbol  Contents

                           0     .SOLEN  The length of the argument list,
                                         (the number of breakpoints being
                                         defined times two, plus two).

                           1     .SOMSC  The  checksum  of  the   monitor
                                         symbol table.

                           2     .SOMVA  Monitor  virtual  address  where
                                         new   instruction   is   to   be
                                         inserted.

                           3     .SOBPI  New instruction.

                         .SOMVA and .SOBPI are repeated for each replaced
                         instruction.

                         Your program  can  obtain  the  version  of  the
                         monitor  that  is  read  in by BOOTS from GETTAB
                         table .GTCNF, where the relevant items are:

                         Offset    Item      Contents
                                   22-501
   SNOOP. [CALLI 176]


                         137       %CNBCP    Bootstrap CPU number.
                         140       %CNBCL    Bootstrap line number.
                         141       %CNNCR    Number of CPUs allowed to
                                             run.
                         142       %CNMBS    Bootstrap file structure.
                         143       %CNMBF    Bootstrap file name.
                         144       %CNMBX    Bootstrap file extension.
                         145       %CNMBD    Bootstrap file directory.
                         155       %CNSF1    Bootstrap first SFD.
                         156       %CNSF2    Bootstrap second SFD.
                         157       %CNSF3    Bootstrap third SFD.
                         160       %CNSF4    Bootstrap fourth SFD.
                         161       %CNSF5    Bootstrap fifth SFD.









































                                   22-502
                                                       SNOOP. [CALLI 176]


        Code   Symbol    Function

                         The checksum is followed by  a  series  of  word
                         pairs,  each  of  which  defines a breakpoint by
                         specifying, in the first word of each pair,  the
                         monitor    virtual   address   where   the   new
                         instruction is to be placed, and, in the  second
                         word  of  the  pair,  the  new instruction to be
                         inserted.

          1    .SOIBP    Inserts all breakpoints that have  been  defined
                         using  function  0.  Your program must be locked
                         in contiguous executive virtual  memory  to  use
                         this function (see the LOCK monitor call).

          2    .SORBP    Removes inserted breakpoints from monitor code.

          3    .SOUBP    Undefines breakpoints  that  have  been  removed
                         using function 2.

          4    .SONUL    Null function.   This  function  allows  you  to
                         execute  code  inserted  at  label BP$000, after
                         ensuring that your job owns the SNOOP  resource.
                         This  may be used by a program that must execute
                         code in monitor context and wants to ensure that
                         only this program can invoke the inserted code.

                         If you  do  not  own  the  SNOOP  resource,  the
                         instruction  at  BP$000 is not executed, and the
                         error code SOSAS% is returned.
























                                   22-503
   SNOOP. [CALLI 176]


   Normal Return

        The indicated function has been performed.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    SOIAL%    Illegal argument list.
          2    SONPV%    Not enough privileges.
          3    SOSAS%    Another program already snooping.
          4    SOMBX%    Maximum number of breakpoints exceeded.
          5    SOIBI%    Breakpoints already inserted.
          6    SONFS%    No monitor free core available.
          7    SOADC%    Address check.
         10    SOINL%    Program  not  locked  in  contiguous   executive
                         virtual memory.
         11    SOWMS%    Monitor symbol table checksum does not match.

   Examples

        The monitor computes the symbol table checksum in the following
        manner:

                MOVE    T1,.JBSYM
                SETZM   CHKSUM
        LOOP:   MOVE    T2,(T1)
                EXCH    T2,CHKSUM
                ROT     T2,1
                ADD     T2,CHKSUM
                EXCH    T2,CHKSUM
                AOBJN   T1,LOOP

                        .
                        .
                        .
                MOVE    T1,[XWD .SODBP,PUTEM]
                SNOOP.  T1,
                  JRST  NOGOOD
                MOVE    T1,[XWD .SOIBP,0]
                SNOOP.  T1,
                  JRST  NOBTTR
                        .
                        .
                        .
        PUTEM:  EXP     6
                EXP     MONITOR-CHECKSUM
                EXP     12345
                JRST    HOOK1
                EXP     12355
                JRST    HOOK2

                                   22-504
                                                       SNOOP. [CALLI 176]


        At this point the breakpoints  have  been  inserted.   To  remove
        them:

                        .
                        .
                        .
                MOVE    T1,[XWD .SORBP,0]
                SNOOP.  T1,
                  JRST  BUMMER
                MOVE    T1,[XWD .SOUBP,0]
                SNOOP.  T1,
                  JRST  LOSTIT
                        .
                        .
                        .







































                                   22-505
   SPPRM. [CALLI 172]


   22.166  SPPRM. [CALLI 172]




   Function

        Sets parameters for spooled files.

   Calling Sequence

                MOVE    ac,[length,addr]
                SPPRM.  ac,
                  error return
                normal return
                . . .
        addr:   function code
                device-id
                parameters
                .
                .
                .

        where:  length is the length of the argument list.

                addr is the address of the argument list; and the data at
                addr is listed below.

                function code specifies the type of file.

                device-id identifies the device.

                parameters describes  the  characteristics  of  the  file
                processing   to   be  performed.   These  parameters  are
                optional.

        Specifically, the argument list is:

        Word   Symbol    Contents

          0    .SPPFN    Function code, one of the following:

                         Code   Symbol    Function

                           1    .SPSFP    Sets spooled file parameters.
                           2    .SPSPR    Sets  spooled  parameters   for
                                          renamed files.

          1    .SPPDN    SIXBIT name of spooled device, channel number of
                         spooled  file,  or  the  UDX of the device.  The
                         following words are optional

          2    .SPPCP    Number of copies.

                                   22-506
                                                       SPPRM. [CALLI 172]


        Word   Symbol    Contents

          3    .SPPFM    SIXBIT forms name.

          4    .SPPLM    Limit.

          5    .SPPSF    Spooling flags:

                         Bits   Symbol    Meaning

                          1-2   SP.DFR    Deferred/immediate flag.

                                          Value  Symbol    Setting

                                            1    .SPDFD    Deferred.  The
                                                           spooler should
                                                           not      start
                                                           processing the
                                                           file until the
                                                           user  job logs
                                                           out.
                                            2    .SPDFI    Immediate.
                                                           Begin spooling
                                                           immediately.

                        30-35   SP.TYP    Type of device, as reported  by
                                          DEVTYP monitor call.

          6    .SPPDA    Device attributes:

                         Bits   Symbol    Attribute

                            0   SP.UPC    Uppercase (LPT).
                            1   SP.LWC    Lowercase (LPT).
                           18   SP.PHY    Physical  unit  is   given   in
                                          SP.UNI.
                        28-35   SP.UNI    Physical unit number (if SP.PHY
                                          set).

          7    .SPPND    Node at which processing is to be done.

         10    .SPPAF    Time at which to begin  processing  (similar  to
                         /AFTER switch).

         11    .SPNM1    In-your-behalf user name (word 0 of  word  pair)
                         in SIXBIT.

         12    .SPNM2    Second word of user name, in SIXBIT.

         13    .SPMAX    Maximum length of argument block.




                                   22-507
   SPPRM. [CALLI 172]


   Normal Return

        The specified parameters are set.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

         -1    SPPAC%    Address check.
          0    SPPIA%    Illegal length for argument list.
          1    SPPID%    Illegal device.
          2    SPPNA%    Device not assigned or initialized.
          3    SPPNS%    Device not spooled.
          4    SPPNC%    No free core for spooled parameter block.
          5    SPPIF%    Illegal function code.





































                                   22-508
                                                           SPY [CALLI 42]


   22.167  SPY [CALLI 42]




   Function
|  
|       Maps the monitor's Section 0 low-segment address space into  your
|       program's  high  segment.  Your program must have Bit 16 (JP.SPA)
|       or Bit 17 (JP.SPM) set in the privilege word (.GTPRV).

        The SPY segment cannot be write-enabled.

        The SPY monitor call can be used to examine  the  monitor  during
        timesharing; it allows read-only access to monitor locations.

        The SPY segment size cannot be changed by a CORE monitor call; if
        you attempt to do this, the CORE call will take its error return.

   Calling Sequence

                MOVEI   ac,monitoraddr
                SPY     ac,
                  error return
                normal return
|  
|       where:  monitoraddr is the highest exec virtual (monitor) address
|               desired.   Monitor low-segment core from 0 to monitoraddr
|               is mapped into user high-segment core from  Page  400  or
|               the  first  free page above that, within the same program
|               section.  Therefore, the value of monitoraddr can be  any
|               value between 0 and 377777.

        Note that you cannot save this portion of memory with  the  SAVE.
        monitor call.

   Normal Return

        The desired monitor core  is  mapped  into  your  program's  high
|       segment.   This call deletes all high segments that already exist
|       in the current PC section.

   Error Return

        The  error  return  occurs  if  you  use  an  invalid  value  for
        monitoraddr,  or  if  your  program  does  not  have the required
        privileges.

   Example

        This code maps some of the monitor's section zero low segment.
|  
|               MOVE     T1,[%CNSIZ]
|               GETTAB   T1,
                                   22-509
   SPY [CALLI 42]


|                 HALT
|               SUBI     T1,1
|               SPY      T1,
|                 JRST      ERROR

   Related Calls
|  
|       PAGE., PEEK, POKE., SEGOP.














































                                   22-510
                                                       STATO [OPCODE 061]


   22.168  STATO [OPCODE 061]




   Function

        Tests the I/O status word for a device and skips if  any  of  the
        specified  bits  are  set.   Use FILOP. to perform a STATO for an
        extended  I/O  channel.   The  I/O  status   bits   are   defined
        differently  for each device.  Therefore, the bits appropriate to
        each device are described in Volume 1  in  the  chapter  on  that
        device.

   Calling Sequence

                STATO channo,mask
                  return 1
                  return 2

        where:  channo is the number of an initialized channel.

                mask is a  halfword  of  bits,  where  each  bit  sets  a
                corresponding bit in the I/O status word.  The I/O status
                word is described in  Volume  1,  in  each  chapter  that
                pertains to a specific device.

        The I/O status bits are a  set  of  18  bits  (right  half)  that
        reflect  the  current  state  of  a  file transmission.  They are
        initially set by your program with the  INIT/OPEN  monitor  call.
        Thereafter,  the monitor sets the bits, but your program can test
        and reset them with any of several monitor calls.

   Return

        The call returns to return 1 if all of the specified bits are  0,
        or to return 2 if any of the specified bits are set to 1.

   Examples

        See OPEN call.

   Related Calls

        GETSTS, STATZ









                                   22-511
   STATZ [OPCODE 063]


   22.169  STATZ [OPCODE 063]




   Function

        Tests the I/O status (also  called  "file  status")  word  for  a
        device  and  skips if all of the specified bits are cleared.  Use
        FILOP. to perform a STATZ on an  extended  I/O  channel.   For  a
        complete list of I/O status bits, refer to the appropriate device
        chapter in Volume 1.

   Calling Sequence

                STATZ channo,mask
                  return 1
                  return 2

        where:  channo is the number of an initialized channel.

                mask is a  halfword  in  which  each  bit  that  you  set
                corresponds to a bit in the I/O status word.

        The I/O status bits are a  set  of  18  bits  (right  half)  that
        reflect  the  current  state  of  a  file transmission.  They are
        initially set by your program with the  INIT/OPEN  monitor  call.
        Thereafter,  the monitor sets the bits, but your program can test
        and reset them with any of several monitor calls.

   Return

        The call returns to return 1 if one or more of the specified bits
        is 1, or to return 2 if all of the specified bits are 0.

   Related Calls

        STATO
















                                   22-512
                                                        STRUUO [CALLI 50]


   22.170  STRUUO [CALLI 50]




   Function

        Modifies the search list for a job or for the system.  Except for
        function  0,  the  functions  and calling sequence for the STRUUO
        monitor call are subject to change; therefore you should not  use
        anything but function 0 in user programs.  All functions except 0
        are privileged functions.

   Calling Sequence

                MOVE   ac,[XWD len,addr]
                STRUUO ac,
                  error return
                normal return
                . . .
        addr:   fcncode
                first argument
                . . .
                last argument

        where:  len is the length of the argument list.

                addr is the address of the argument list.  The format  of
                the argument block is different depending on the function
                code specified in the first word of the argument block.

                fcncode is one of the function codes described below; the
                words  up  through  last  argument  are arguments for the
                given function.  The function codes  and  their  meanings
                are described below:


        Code   Symbol    Function

          0    .FSSRC    Defines a new job search list.

                         The format of the argument block is shown below:

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSSRC)

                           1     .FSCSO  Offset to  first  word  of  file
                                         structure  block,  as  used  for
                                         argument list to JOBSTR  monitor
                                         call.



                                   22-513
   STRUUO [CALLI 50]


        Code   Symbol    Function

                         The first word of the argument block is followed
                         by  blocks of three words each.  Each three-word
                         block contains, in the first word, the structure
                         name; in the second word, zero; and in the third
                         word, flags that are described  for  the  JOBSTR
                         monitor call.

                         Your program  cannot  create  files  on  a  file
                         structure  unless  it  has  access  to  the file
                         structure.   However,  by   using   the   .FSSRC
                         function  your  program can add a file structure
                         to its search list.  If your program attempts to
                         delete  a  file  structure from its search list,
                         the monitor moves the file structure's name from
                         the  job's  active  search  list  to its passive
                         search list.  To remove the file structure  from
                         the  active  or  passive  search list, issue the
                         DISMOUNT monitor command.
|  
|         1    .FSDSL    Defines a new search list for a job or for  SYS.
|                        PULSAR   uses  this  function  to  complete  the
|                        mounting or dismounting procedures and to add or
|                        delete file structures from another job's search
|                        list.   The  argument  block  for   the   .FSDSL
|                        function is shown below:

                         Word    Symbol  Contents

                           0     .FSFCN  Function code (.FSDSL)

                           1     .FSDJN  The  number  of  the  job  whose
                                         search list is to be defined.

                           2     .FSDPP  The project-programmer number of
                                         the job.

                           3     .FSDFL  The flag word.   If  bit  35  is
                                         set,   (DF.SRM),   the   monitor
                                         removes   all    deleted    file
                                         structures from the job's search
                                         list  and  decrements  the  file
                                         structure's mount count.  If bit
                                         35  is  not  set,  the   monitor
                                         places    all    deleted    file
                                         structures in the passive search
                                         list.     To   delete   a   file
                                         structure,  it  must  have  been
                                         present  in  the  current search
                                         list  and  not  listed  in   the
                                         argument block.


                                   22-514
                                                        STRUUO [CALLI 50]


        Code   Symbol    Function

                         Word    Symbol  Contents

                           4     .FSDSO  Offset to first word  of  JOBSTR
                                         argument block.

                         The argument block contains as  its  first  four
                         words:   the  function  code,  a  job  number, a
                         project-programmer  number,  and  a  flag  word.
                         These  four  words  are  followed by one or more
                         three-word entries (each is  an  argument  block
                         like that used by the JOBSTR call).  The entries
                         specify the file structures to  be  included  in
                         the  search  list.   The order in which the file
                         structures appear in the argument block  is  the
                         order  in  which  they will appear in the search
                         list.

                         If the job  number  and  the  project-programmer
                         number  are  both  -1,  the  monitor assumes the
                         search list for your job is to be  defined.   If
                         the  job  number  is  0, the monitor ignores the
                         project-programmer  number  and   modifies   the
                         system search list (SYS).  If a value other than
                         -1 or 0 is specified, the  monitor  defines  the
                         search  list  of  the job with the specified job
                         number  and   project-programmer   number.    To
                         indicate the FENCE, your program must substitute
                         XWD 0,0 for SIXBIT/name/ in the  first  word  of
                         the   three-word   entry.    When  your  program
                         specifies  the  FENCE  there   will   be   three
                         consecutive zero words in the three-word entry.

          2    .FSDEF    Makes a new file structure  available  to  users
                         (for  example,  defines  a  new file structure).
                         The file structure name, status, list of  drives
                         and   their   associated   units   (packs),  and
                         information for initializing components  of  the
                         monitor  data base are specified in the argument
                         block.   Specifically,  the  function  does  the
                         following:

                          o  Builds a prototype structure data block.

                          o  Links and  initializes  all  necessary  Unit
                             Data Blocks.

                          o  Allocates  core  and  initializes  the   SPT
                             tables and SAB rings.

                          o  Sets the state of the units to PACK MOUNTED.


                                   22-515
   STRUUO [CALLI 50]


        Code   Symbol    Function

                          o  Creates a TABSTR entry (assigns a number  to
                             the file structure).

                         The argument block for the  .FSDEF  function  is
                         shown below:

                         Word    Symbol  Contents

                           0     .FSFCN  Function code (.FSDEF)

                           1     .FSNST  Pointer   to    the    structure
                                         parameter  block,  in  the  form
                                         (length,,address).

                           2     .FSNUN  Pointer to  the  unit  parameter
                                         block  for  unit  0, in the form
                                         (length,,address).

                           3             Pointer to  the  unit  parameter
                                         block  for  unit  1, in the form
                                         (length,,address).
                                 .
                                 .
                                 .

                         The structure parameter block  is  formatted  as
                         follows:

                         Word    Symbol  Contents

                           0     .FSSNM  File structure  name  in  SIXBIT
                                         (word HOMSNM in the HOME block).

                           1     .FSSNU  Number   of   units    in    the
                                         structure.

                           2     .FSSHL  Highest  logical  block   number
                                         (that  is,  .FSSBU  times .FSSNU
                                         - 1).

                           3     .FSSSZ  Size (in  blocks)  of  the  file
                                         structure.  (That is, the sum of
                                         the values of  UNIBPU  for  each
                                         unit.   The  value of UNIBPU can
                                         be found in word .DCUSZ returned
                                         by the DSKCHR. call).
|  
|                          4     .FSSRQ  Reserved-quota word (not used).




                                   22-516
                                                        STRUUO [CALLI 50]


|                        Word    Symbol  Contents
|  
|                          5     .FSSRF  Reserved free space (not used).

                           6     .FSSTL  Number  of   FCFS   (first-come,
                                         first-served)    blocks    left.
                                         (That is, the sum of the  values
                                         of .FSUTL for each unit).

                           7     .FSSOD  Number  of  blocks  allowed  for
                                         overdraw  (stored  as a negative
                                         number).  See HOMOVR in the HOME
                                         block.

                          10     .FSSMP  First   retrieval   pointer   to
                                         Master   File   Directory.   See
                                         HOMPT1 in the HOME block.

                          11     .FSSML  -1  if  .FSSMP   is   the   only
                                         retrieval  pointer  to  MFD.  To
                                         set this word, you must read the
                                         RIB  and  test its contents.  Do
                                         not use COPIPT  from  HOMUN1  in
                                         the HOME block.

                          12     .FSSUN  Logical unit number  within  the
                                         file structure where MFD begins.
                                         (See  HOMUN1   from   the   HOME
                                         block.)

                          13     .FSSTR  Number of retries on  an  error.
                                         The  suggested  value  for  this
                                         word is 10 (decimal).

                          14     .FSSBU  Largest block on unit.  (Largest
                                         value  of  UNIBPU,  returned  in
                                         .DCUSZ by DSKCHR.)

                          15     .FSSBC  Number     of     blocks     per
                                         super-cluster (see HOMBSC in the
                                         HOME block).

                          16     .FSSSU  Number  of  super-clusters   per
                                         unit  (see  HOMSCU  in  the HOME
                                         block).

                          17     .FSSIG  Obsolete.

                          20     .FSSCC  Byte pointer  to  cluster  count
                                         (see HOMCNP in the HOME block).

                          21     .FSSCK  Byte   pointer   to    retrieval
                                         pointer  checksum (see HOMCKP in
                                         the HOME block).
                                   22-517
   STRUUO [CALLI 50]


                         Word    Symbol  Contents

                          22     .FSSCA  Byte   pointer   to    retrieval
                                         pointer   cluster  address  (see
                                         HOMCLP in the HOME block).

                          23     .FSPVT  -1  if   this   is   a   private
                                         structure (see the HOPPVS bit in
                                         HOMPVS in the HOME block).

                          24     .FSPPN  PPN  of  file  structure   owner
                                         (each  half  is -1 if wild) (see
                                         HOMOPP in the HOME block).

                          25     .FSSCR  Block  in  structure  containing
                                         RIB for CRASH.EXE (see HOMCRS in
                                         the HOME block).

                          26     .FSK4C  Number  of  K  to  reserve   for
                                         CRASH.EXE on disk (see HOMK4C in
                                         the HOME block).
|  
|                         27     .FSSET  Set number.

                         The format of the unit parameter block is:

                         Word    Symbol  Contents

                           0     .FSUNM  Unit name  in  SIXBIT  (such  as
                                         RPA0).

                           1     .FSUID  Pack identifier  (that  is,  the
                                         pack  serial  number  in SIXBIT;
                                         see HOMHID in the HOME block).

                           2     .FSULN  Logical   name    within    file
                                         structure    (such   as   DSKB0,
                                         DSKB1,...DSKB77; see  HOMLOG  in
                                         the HOME block).

                           3     .FSULU  Logical unit-number within  file
                                         structure    (0,1,2,....FSSNU-1)
                                         (see HOMLUN in the HOME block).

                           4     .FSUDS  Status bits.  These are:

                                         Bit   Symbol   Meaning
|  
|                                         0    FS.UWL   Software
|                                                       write-lock.
|                                                       (Meaningful  only
|                                                       for   the   first


                                   22-518
                                                        STRUUO [CALLI 50]


|                                                       unit    in    the
|                                                       structure.)
|                                         1    FS.USA   Single-access
|                                                       (not used).
|                                         2    FS.UNC   Prevent   monitor
|                                                       I/O    on    this
|                                                       structure    from
|                                                       being cached.
|  













































                                   22-519
   STRUUO [CALLI 50]


                         Word    Symbol  Contents

                           5     .FSUGP  Number of sequential  blocks  to
                                         try  for  on  sequential  output
                                         (see HOMGRP in the HOME block).

                           6     .FSUTL  Number of free blocks  on  unit,
                                         minus   a  safety  factor.   The
                                         suggested safety factor  is  one
                                         block  of  safety  for every 500
                                         (decimal) blocks  of  disk.   Do
                                         not  allocate  safety blocks for
                                         the swapping space.   Thus,  the
                                         suggested   safety   factor   is
                                         (UNIBPU-HOMK4S*8)/500.      This
                                         value  should  be  truncated  to
                                         less than 500  (decimal)  blocks
                                         per unit.

                           7     .FSUBC  Number  of  blocks  per  cluster
                                         (see HOMBPC in the HOME block).

                          10     .FSUCS  Number of clusters per SAT (that
                                         is, (UNIBPU/HOMBPC-1)/HOMSPU+1).

                          11     .FSUWS  Number of words  per  SAT  (that
                                         is, (.FSUCS-1)/36 + 1).

                          12     .FSUSC  Number  of  SATs  in  core  (see
                                         HOMSIC in the HOME block).

                          13     .FSUSU  Number of  SATs  per  unit  (see
                                         HOMSPU in the HOME block).

                          14     .FSUSP  Pointer     to     SPT     table
                                         (length,,address).

                         The format of the SPT table is:

                         Word    Contents

                            0    Pointer to 1st SAT block.
                            1    Pointer to 2nd SAT block.
                            .
                            .
                            .
|                           n-1  Pointer to nth SAT block.

                          15     .FSUSB  First block  for  swapping  (see
                                         HOMSLB in the HOME block).

                          16     .FSUKS  Number of K for SWAP.SYS.   (See
                                         HOMK4S in the HOME block.)

                                   22-520
                                                        STRUUO [CALLI 50]


        Code   Symbol    Function

                         Each word in the SPT table is in the form:

                         Bits    Contain

                         0-12    Number of free clusters in this SAT.
                         13-35   Address of SAT (as a cluster number).

          3    .FSRDF    Allows your program to change the  status  of  a
                         file structure if its mount count is 0 or 1.  If
                         the  mount  count  is  1,  the  job  number  and
                         project-programmer   number  arguments  must  be
                         those for the job that has the structure mounted
                         (in  its  search  list).   If the job number and
                         project-programmer  number  are  both  -1,   the
                         search list for your job is assumed.

                         The argument block for the  .FSRDF  function  is
                         listed below.

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSRDF)

                           1     .FSRJN  The job number or -1.

                           2     .FSRPP  The project-programmer number or
                                         -1.

                           3     .FSRNM  The file structure name.

                           4     .FSRST  The  new  status  bits   to   be
                                         assigned:
|  
|                        Bits    Symbol  Meaning
|  
|                        0       FS.RWL  Write-lock all users.
|                        1       FS.RSA  Single-access.

          4    .FSLOK    Allows your program to place a file structure in
                         a  state  where  no  new  LOOKUPs  or ENTERs are
                         allowed.  The monitor will allow current reading
                         and writing to continue until a CLOSE is issued.
                         This function  can  be  used  to  force  a  file
                         structure into a dormant state so that it can be
                         removed from the system with minimal  damage  to
                         its  users.  For example, this function could be
                         followed by .FSREM.  The argument block for this
                         function is described below:

                         Word    Symbol  Contents


                                   22-521
   STRUUO [CALLI 50]


                           0     .FSFCN  The function code (.FSRDF).

                           1     .FSLNM  The  file  structure   name   in
                                         SIXBIT.


















































                                   22-522
                                                        STRUUO [CALLI 50]


      Code     Symbol    Function

        5      .FSREM    Removes a file structure from the system.   This
                         removal  takes place immediately, with no regard
                         for the users of the file structure.   Normally,
                         this function is preceded by the .FSLOK function
                         to   prepare   the   structure   for    removal.
                         Specifically,   the  .FSREM  function  does  the
                         following:

                          o  Takes  the  non-error  return  if  the  file
                             structure does not exist.

                          o  Removes the file  structure  name  from  the
                             search  list of all jobs and from the system
                             search list.

                          o  Unlinks and returns to the  free  core  pool
                             any UFB or access blocks.

                          o  For every unit, sets the state  to  NO  PACK
                             MOUNTED  and returns any core taken from the
                             free core pool.

                          o  Clears KNOWLEDGE bits in  the  PPB  and  NMB
                             blocks.

                          o  Unlinks STR data blocks and returns its core
                             if taken from the free core pool.

                          o  Deletes (or marks for deletion) all sharable
                             high  segments  initialized  from  the  file
                             structure.

                          o  Clears the TABSTR entry.

                          o  Takes the non-error return.

                         The argument block for the  .FSREM  function  is
                         shown below:

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSREM).

                           1     .FSMNM  The  file  structure   name   in
                                         SIXBIT.







                                   22-523
   STRUUO [CALLI 50]


        Code   Symbol    Function
|  
|          6   .FSULK    Tests  and  sets  the  software  interlock   bit
|                        associated  with  each  UFD.   This  function is
|                        used, along with the .FSUCL function, to control
|                        programs  (such  as PULSAR and LOGIN) attempting
|                        to modify a UFD at  the  same  time.   With  the
|                        interlock  bit  set, only one program can modify
|                        the UFD at a time.  Other programs  should  WAIT
|                        for  the  interlock to be cleared.  The argument
                         block for the .FSULK function is shown below.

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSULK).

                           1     .FSINM  The  file  structure   name   in
                                         SIXBIT.

                           2     .FSIPP  The PPN of the UFD.

                         If the interlock bit is set for a program  other
                         than  your program, your program takes the error
                         return.


           7   .FSUCL    Clears the software interlock associated with  a
                         UFD.   Once a program has cleared the interlock,
                         another program may set the interlock  (function
                         .FSULK)  and modify the UFD.  The argument block
                         for the .FSUCL function is shown below:

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSUCL).

                           1     .FSGNM  The  file  structure   name   in
                                         SIXBIT.

                           2     .FSGPP  The PPN of the UFD.














                                   22-524
                                                        STRUUO [CALLI 50]


        Code   Symbol    Function

         10    .FSETS    Tests error recovery procedures for the  monitor
                         and  your  programs  by  causing  hard  and soft
                         errors to be simulated  on  the  specified  disk
                         unit of the system.

                                               NOTE

                             This function is  obsolete  and  applies
                             only to RP10 and RC10 controllers.

                         All error recovery and reporting procedures  are
                         followed  through  by  the  monitor as if a real
                         error had occurred.  This  function  causes  the
                         monitor  to  enter  the simulated hard errors in
                         the BAT block just as  it  would  enter  a  real
                         error.    Therefore,  field  service  should  be
                         notified of any error simulations that are being
                         done.

                         This function is implemented only for disk packs
                         and  should  not be attempted for the fixed-head
                         disk because the counts will not be decremented.
                         When  a  unit  is  removed  from the system, the
                         error test sequence is terminated.

                         The argument block for the  .FSETS  function  is
                         listed below.

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSETS).

                           1     .FSEUN  The disk pack name.

                           2     .FSEGT  The  number  of  good   transfer
                                         interrupts  before simulation of
                                         error.
|  
|                          3     .FSEDB  The   number   of   bad    DATAI
|                                        operations before the end of the
|                                        simulated error.
|  
|                          4     .FSEDO  Error DATAI  bits  are  combined
|                                        with  DATAI  bits  received from
|                                        the    hardware,    using     OR
|                                        operation.
|  
|                          5     .FSEDA  Error DATAI  bits  are  combined
|                                        with  DATAI  bits  received from
|                                        the   hardware,   using    ANCAM


                                   22-525
   STRUUO [CALLI 50]


|                                        operation.





















































                                   22-526
                                                        STRUUO [CALLI 50]


|       Code   Symbol    Function
|  
|                        Word    Symbol  Contents
|  
|                          6     .FSECB  The   number   of    bad    CONI
|                                        operations   before  terminating
|                                        simulated error sequence.
|  
|                          7     .FSECO  Error  CONI  bits  are  combined
|                                        with CONI bits received from the
|                                        hardware, using OR operation.
|  
|                          10    .FSECA  Error CONI  bits  combined  with
|                                        CONI   bits  received  from  the
|                                        hardware,      using      ANDCAM
|                                        operation.

                         Note that the CONI mentioned above  is  executed
                         after  a  data  transfer  interrupt;  the  DATAI
                         mentioned above is executed before connecting to
                         the  unit  to  initiate  a  position or transfer
                         operation.
|  
|        11    .FSMNW    Modifies the 'nocreate' and 'write-lock'  status
|                        of  a  file  structure.   The argument block for
|                        this function is shown below.

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSNMW).

                           1     .FSMFS  The file structure name.

                           2     .FSMFL  The flag word:

                                         Bit   Symbol     Meaning

                                          0    FS.MWL     Write-lock bit.
                                          1    FS.MNC     No-create bit.

         12    .FSCLR    Unlocks a file structure.  The argument list is:

                         Word    Symbol  Contents

                           0     .FSFCN  The function code (.FSCLR).

                           1     .FSCFS  The  file  structure   name   in
                                         SIXBIT.
|        13    .FSRSL    Returns the job search list.
|  
|                        Word    Symbol  Contents



                                   22-527
   STRUUO [CALLI 50]


|                          0     .FSFCN  Function code (.FSRSL)
|                          1     .FSDJN  Job  number.   (Specify  0   for
|                                        system search list.)
|                          2     .FSDPP  Job's PPN (ignored if .FSDJN=0).
|                          3     .FSDNS  Number of structures  in  search
|                                        list,      including      FENCE.
|                                        (Returned for this function).
|                          4     .FSDSO  Start of returned structures.
|  
|                        The structures in the specified search list  are
|                        returned   starting  at  .FSDSO,  in  three-word
|                        triplets that reflect the following  words  from
|                        the JOBSTR UUO:
|  
|                        Word    Symbol  Contents
|  
|                          0     .DFJNM  Structure name.
|                          1     .DFJDR  Directory name.
|                          2     .DFJST  Status (accessibility bit).
|  
|                        The  value  of  .FSDNS   is   always   returned,
|                        regardless  of whether enough space was reserved
|                        for all the triplets to be  returned.   Thus,  a
|                        program  could  issue  this  call  with  a short
|                        argument list to get the count, then reissue the
|                        monitor  call  with  adequate  space for all the
|                        structures to be listed.
|  
|                        Alternatively, the  program  can  reserve  37.*3
|                        words, which will guarantee that enough space is
|                        reserved.
|  
|                        The FENCE is returned as three zero words.

   Normal Return

        The function is performed.

















                                   22-528
                                                        STRUUO [CALLI 50]


   Error Return

        Before the monitor  accepts  the  newly-defined  search  list  by
        copying  it  in  the PDB, it checks that the number of structures
        defined is less than the system-defined  maximum  limit  for  the
        job.  This limit is stored in GETTAB table %LDMSS.  If the number
        exceeds the maximum, the error return is  taken  and  the  ac  is
        cleared.

        Otherwise, one of the following error codes is  returned  in  the
        ac:

        Code         Symbol    Error

           0         FSILF%    An illegal function code was specified.
           1         FSSNF%    One  or  more  of  the  specified   file
                               structures were not found.
           2         FSSSA%    One  or  more  of  the  specified   file
                               structures are in single-access mode.
           3         FSILE%    One or more illegal entries are  in  the
                               argument block.
           4         FSTME%    There are too many entries in the search
                               list.
           5         FSUNA%    One or more of the specified  units  are
                               not available.
           6         FSPPN%    The    specified    job    number    and
                               project-programmer number do not match.
           7         FSMCN%    The mount count is greater than 1.
          10         FSNPV%    Your job is not  privileged  but  should
                               be.
          11         FSFSA%    The  specified  file  structure  already
                               exists.
          12         FSILL%    The  argument  block  length  has   been
                               specified incorrectly.
          13         FSUNC%    Unable to complete the call.
          14         FSNFS%    The  system  has  reached  the   maximum
                               number of file structures.
          15         FSNCS%    There is not enough free  core  for  the
                               data block.
          16         FSUNF%    An illegal unit has been specified.
          17         FSRSL%    A file structure name is repeated  in  a
                               search list
          20         FSASL%    Structure  contains  units   in   active
                               search list.
          21         FSISN%    An illegal structure name was specified.

   Related Calls

        DSKCHR, GOBSTR, JOBSTR





                                   22-529
   SUSET. [CALLI 146]


   22.171  SUSET. [CALLI 146]




   Function

        Selects a logical block number to be either read or written  on
        subsequent  IN/INPUT  or  OUT/OUTPUT  monitor calls relating to
        either a file structure or a unit  name.   This  call  requires
        your program to have [1,2] or JACCT privileges.

        The block number is relative to a file structure if the channel
        was  initialized  with  a  structure name (such as DSKB) and no
        file is open on the channel (that is, no LOOKUP  or  ENTER  was
        performed).
|  
|       The block number is relative to a unit number  if  the  channel
|       was  initialized  with a physical or logical unit name (such as
|       RPA4 or DSKB0) and no file is open on the channel (that is,  no
|       LOOKUP or ENTER was performed).

        Refer to Section 11.7.5 for more detailed discussion of SUSET.

   Calling Sequence

                MOVE    ac,[EXP flags]
                SUSET.  ac,
                  error return
                normal return

        where:  flags are as follows:

        Bits   Symbol    Meaning

           0             Reserved.
           1   SU.SOT    Output (input if not set).
           2   SU.SMN    Maintenance cylinder.  You can  set  this  bit
                         only  if  your  job  is logged in under [6,6].
                         SU.SBL (below) must  contain  the  maintenance
                         cylinder.
           3             Reserved.
        4-12   SU.SCH    Channel number.  The channel number may be  an
                         extended  channel  number  obtained  from  the
                         FILOP.  monitor call.
       13-35   SU.SBL    Block  number  or  maintenance  cylinder   (if
                         SU.SMN is on).







                                   22-530
                                                       SUSET. [CALLI 146]


   Normal Return

        The specified block will be the  next  one  read/written  on  a
        subsequent   IN/OUT  monitor  call.   The  SUSET. monitor  call
        returns with the I/O status bit IO.BKT set if your job does not
        have  enough  privileges,  or  if the given block number is too
        large.

   Error Return

        The following error code is returned in the ac:

        Code   Symbol    Error

         -1    SUSNP%    Not enough privileges.

   Related Calls

        FILOP., USETI, USETO



































                                   22-531
   SYSPHY [CALLI 51]


   22.172  SYSPHY [CALLI 51]




   Function

        Returns the name of a physical disk unit on the system.

   Calling Sequence

              / MOVEI   ac,0                \
              \ MOVE    ac,[SIXBIT/device/] /
                SYSPHY  ac,
                  error return
                normal return

        where:  device is the physical unit name returned by a previous
                call (such as SIXBIT/RPA0/).

   Normal Return

        If you set ac to 0, the monitor returns the first physical disk
        name  in  ac.   If  you  gave  the  name of a disk, the monitor
        returns the next physical disk name, or, if there are  no  more
        disks, the monitor returns 0 in the ac.

   Error Return

        The monitor takes the error return if the device you  gave  was
        neither 0 nor the name of a disk unit.

   Examples

        Example to get all unit names in system
|  
|                SETZB    T1,T2           ;T1=Table pointer, T2=unit
|                                         ; name
|       LOOP:    SYSPHY   T2,             ;Get next one
|                  JRST   ERROR
|                JUMPE    T2,CONTIN       ;Done if zero
|                MOVEM    T2,PHYTAB(T1)   ;Save in table
|                AOJA     T1,LOOP         
|       PHYTAB:  BLOCK    ^D36

   Related Calls

        DVPHY., SYSSTR






                                   22-532
                                                        SYSSTR [CALLI 46]


   22.173  SYSSTR [CALLI 46]




   Function

        Returns the name of a file structure on the system.

   Calling Sequence

              / MOVEI     ac,0                \
              \ MOVE      ac,[SIXBIT/device/] /
                 SYSSTR   ac,
                   error return
                 normal return

        where:  device is the structure name  returned  by  a  previous
                call.

   Normal Return

        If you set ac to 0, the monitor  returns  the  first  structure
        name  in  ac.  If you gave the name of a structure, the monitor
        returns the next structure name in ac, or if there are no  more
        structures, the monitor returns a 0 in the ac.

   Error Return

        The monitor takes the error return if the device you  gave  was
        neither 0 nor the name of a structure.

   Examples

        Example to get all file structure names on system

                 SETZB    T1,T2           ;Use T1 as table index, T2 as
                                          ; structure name
        LOOP:    SYSSTR   T2,             ;Get next structure
                   JRST   ERROR           
                 JUMPE    T2,CONTIN       ;Done if structure is zero
                 MOVEM    T2,STRTAB(T1)   ;Save in table
                 AOJA     T1,LOOP         ;Get next one
        STRTAB:  BLOCK    ^D64            ;Where to put structures

   Related Calls

        DVPHY., SYSPHY.






                                   22-533
   TAPOP. [CALLI 154]


   22.174  TAPOP. [CALLI 154]




   Function

        Performs various  magnetic  tape  operations.   Several  TAPOP.
        functions are identical to or extensions of other monitor calls
        such as MTAPE and MTCHR.  All TAPOP.  functions assume that the
        specified  device  has  been assigned to your job by the ASSIGN
        monitor command or the  OPEN/INIT  monitor  call  or  that  the
        calling job has SPY privileges.

   Calling Sequence
                MOVE    ac,[XWD len,addr]
                TAPOP.  ac,
                  error return
                normal return
                . . .
        addr:   EXP     fncode
              / SIXBIT/device/  \
             |  EXP     channo   |
              \ EXP     udx     /
                first argument
                . . .
                last argument

        where:  len is the length of the argument list.

                addr is the address of the argument list.

                fcncode is one of the function codes described below.

                device is the SIXBIT physical  or  logical  name  of  a
                device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device and  the
                words  up  through  last argument are arguments for the
                given function.

        The function codes fall into four groups:

           Codes         Functions

           0 -  777      Perform specific actions.

        1000 - 1777      Read parameters.




                                   22-534
                                                       TAPOP. [CALLI 154]


           Codes         Functions

        2000 - 2777      Set parameters.  These function codes are  not
                         explicitly  listed  in the descriptions below.
                         To set a parameter, use the corresponding read
                         function  name plus the offset .TFSET (=1000).
                         For example, to set the density indicator, use
                         the   read  density  indicator  mnemonic  plus
                         .TFSET:

                         .TFDEN+.TFSET

        3000 - 3777      Reserved for customer-defined functions.

        The function codes and their meanings are:

        Code   Symbol    Function

           1   .TFWAT    Waits for I/O to be completed.

           2   .TFREW    Rewinds tape to load point.

           3   .TFUNL    Rewinds and unloads tape.

           4   .TFFSB    Skips forward one block.

           5   .TFFSF    Skips forward one file.

           6   .TFSLE    Skips to logical end-of-tape.

           7   .TFBSB    Skips backward one block.

          10   .TFBSF    Skips backward one file.

          11   .TFWTM    Writes a tape mark.

          12   .TFWLG    Writes 3 inches of blank tape.

          13   .TFDSE    Erases entire tape (data  security,  TX01/TX02
                         on DX10/DX20 only).

          14   .TFWLE    Writes logical end-of-tape (two tape marks for
                         unlabeled tapes).

          15   .TFLBG    Gets  the  tape  label  device   data   block.
                         Returns  the name in ac.  This is a privileged
                         function for use by the label processor.

          16   .TFLRL    Releases the tape  label  device  data  block.
                         This  is  a privileged function for use by the
                         label processor.



                                   22-535
   TAPOP. [CALLI 154]


        Code   Symbol    Function

          17   .TFLSU    Swaps units.  This is  a  privileged  function
                         for use by the label processor.

          20   .TFLDD    Destroys the tape label data base.  This is  a
                         privileged  function  for  use  by  the  label
                         processor.

          21   .TFFEV    Forces end-of-volume processing.  This  allows
                         your  program to write the end-of-volume label
                         before  PULSAR  finds  the  end-of-tape.   The
                         monitor   assumes   a   multivolume  file  and
                         automatically issues an operator MOUNT request
                         for the next volume.

          22   .TFURQ    Requests label processing.  Set flag .TFCLE to
                         clear a tape labelling error.

          23   .TFSMM    Sets maintenance mode on the tape  controller.
                         This is a privileged function.

          24   .TFCMM    Clears   maintenance   mode   on   the    tape
                         controller.  This is a privileged function.

          25   .TFCEC    Clears  error   counters.    This   privileged
                         function  is  restricted  for  use by the tape
                         label processor.

        1000   .TFTRY    Returns in the ac the number of retries on the
                         last error.

        1001   .TFDEN    Returns in ac the density code for  the  tape.
                         To  set  the  density code, use .TFDEN+.TFSET;
                         the monitor reads the new  density  code  from
                         addr+2.  Note that in order to set the density
                         with this function code, IO.DEN must be  zero.
                         The density codes and their meanings are:

                         Code    Symbol  Density

                          0      .TFD00  Unit default.
                          1      .TFD20  200 bits/inch (8.1 rows/mm).
                          2      .TFD55  556 bits/inch (22.5 rows/mm).
                          3      .TFD80  800 bits/inch (32.2 rows/mm).
                          4      .TFD16  1600 bits/inch (65.3 rows/mm).
                          5      .TFD62  6250     bits/inch      (255.5
                                         rows/mm).






                                   22-536
                                                       TAPOP. [CALLI 154]


        Code   Symbol    Function

        1002   .TFKTP    Returns in the ac the controller type code for
                         the tape.  The controller type codes and their
                         meanings are:

                         Code   Symbol    Controller Type
|  
|                          0    .TFKTA    TM10A
|                          1    .TFKTB    TM10B
|                          2    .TFKTC    TM10C
|                          3    .TFKTX    TX01/TX02/TX03
|                          4    .TFKTM    TM02/TM03
|                          5    .TFKRH    TM02/TM03
|                          6    .TFKD2    TX02
|                          7    .TFK78    TM78
|  
|       1003   .TFRDB    Returns  in  the  ac  the  read-backwards  bit
|                        (TM02, TX01, and TX02 only).  The bit is on if
|                        the tape is set for read-backwards, or off for
|                        normal  read.   See  Chapter  14.   To set the
|                        read-backwards  bit,  use  .TFRDB+.TFSET;  the
|                        monitor reads the bit from addr+2.

        1004   .TFLTH    Returns in the ac the bit for read next record
                         at low threshold (TM10A/B/C only).  The bit is
                         on if the tape is set for  low  threshold,  or
                         off   if   not.    To   set   the   bit,   use
                         .TFLTH+.TFSET; The monitor reads the bit  from
                         addr+2.

        1005   .TFPAR    Returns in the  ac  the  status  of  the  even
                         parity  bit  (for 7-track tapes only).  To set
                         the  status  of  the  even  parity  bit,   use
                         .TFPAR+.TFSET;  the  monitor  reads the status
                         from addr+2.

        1006   .TFBSZ    Returns in the ac the block size for the tape.
                         The  returned  value  is  one greater than the
                         number of data words per record.  To  set  the
                         block  size,  use  .TFBSZ+.TFSET;  the monitor
                         reads the block size from addr+2.












                                   22-537
   TAPOP. [CALLI 154]


        Code   Symbol    Function

        1007   .TFMOD    Returns in the ac the data mode code  for  the
                         tape.    To   set  the  data  mode  code,  use
                         .TFMOD+.TFSET; the monitor reads the data mode
                         code  from  addr+2.   The  data mode codes and
                         their meanings are:

                         Code   Symbol    Data Mode

                           0    .TFMDD    DIGITAL-compatible core  dump
                                          mode  for 7-track and 9-track
                                          tapes.  The monitor uses  the
                                          default  mode,  either code 1
                                          (.TFMID) or code 5 (.TFM7T).
                           1    .TFMID    DIGITAL-compatible core  dump
                                          mode  for 9-track tapes.  The
                                          monitor  reads   and   writes
                                          36-bit  words  in  5  frames.
                                          This mode  is  also  settable
                                          with MTDEC.  monitor call.
                           2    .TFM8B    Industry-compatible     8-bit
                                          mode,  with 4 bytes per word.
                                          This mode  is  also  settable
                                          with the .MTIND monitor call,
                                          except   that   the   default
                                          density for this mode is 1600
                                          BPI.
                           3    .TFM6B    6-bit mode, 6 bytes per  word
                                          (9-track, TU70 only).
                           4    .TFM7B    ANSI/ASCII  7-bit   mode,   5
                                          bytes per word (TU70 only).
                           5    .TFM7T    DIGITAL-compatible    7-track
                                          core dump mode (SIXBIT).

        1010   .TFTRK    Returns in the ac the track status bit for the
                         tape (0 for 9-track, 1 for 7-track).

        1011   .TFWLK    Returns in the ac the write-lock bit  for  the
                         tape (1 if write-locked, 0 if not).

        1012   .TFCNT    Returns in the ac the character count  of  the
                         last record (the actual record length).

        1013   .TFRID    Returns   in   the   ac   the   SIXBIT    reel
                         identification  for the tape.  To set the reel
                         identification, use .TFRID+.TFSET; the monitor
                         reads  the  SIXBIT  reel  identification  from
                         addr+2.





                                   22-538
                                                       TAPOP. [CALLI 154]


        Code   Symbol    Function

        1014   .TFCRC    Returns in the ac the last  cyclic  redundancy
                         character (9-track NZRI only).

        1015   .TFSTS    Returns in the ac the unit  status  flags  for
                         the  tape.   The  unit  status flags and their
                         meanings are:

                         Bit    Symbol    Meaning

                          18    TF.UNS    Unit is not schedulable.
                          19    TF.BOT    Beginning-of-tape mark.
                          20    TF.WLK    Write-lock.
                          21    TF.REW    Unit is rewinding.
                         22-32            Reserved.
                          33    TF.STA    Unit is started.
                          34    TF.SEL    Unit is selected.
                          35    TF.OFL    Unit is off-line.

        1016   .TFSTA    Returns unit statistics for the  tape  device.
                         Your  program  supplies  the function code and
                         device at addr and addr+1.  (These values  are
                         identical  to  those  returned  for the MTCHR.
                         monitor call.) The monitor returns the  device
                         statistics at addr in the format:

                         Offset Symbol   Contents

                            0   .TSFUN   Function code (user-supplied).
                            1   .TSDEV   Device (user-supplied).
                            2   .TSRID   SIXBIT reel identifier.
                            3   .TSFIL   Number of files read since the
                                         beginning of the tape.
                            4   .TSREC   Number of records  since  last
                                         tape unload.
                            5   .TSCRD   Number  of   characters   read
                                         since last tape unload.
                            6   .TSCWR   Number of  characters  written
                                         since last tape unload.
                            7   .TSSRE   Soft read  errors  since  last
                                         tape unload.
                           10   .TSHRE   Hard read  errors  since  last
                                         tape unload.
                           11   .TSSWE   Soft write errors  since  last
                                         tape unload.
                           12   .TSHWE   Hard write errors  since  last
                                         tape unload.
                           13   .TSTME   Total number of  errors  since
                                         last tape unload.




                                   22-539
   TAPOP. [CALLI 154]


        Code   Symbol    Function

                         Offset Symbol   Contents

                           14   .TSTDE   Total  device   errors   since
                                         system startup.
                           15   .TSTUN   Total   unloads   since   last
                                         system reload.
                           16   .TSRTY   Number of retries  to  resolve
                                         last error.
                           17   .TSCCR   Character count of last record
                                         read or written.
                           20   .TSPBE   Position  before  last  error:
                                         file  number  (in  left half);
                                         record number (in right half).
                           21   .TSFES   Final error  state.   See  the
                                         TOPS-10/TOPS-20 SPEAR Manual.

        1017   .TFIEP    Returns in the ac the initial error pointer.

        1020   .TFFEP    Returns in the ac the final error pointer.

                                    NOTE

                  Function codes 1021 and 1022 return  the
                  blocks  pointed  to  by  1017  and 1020.
                  These blocks are  for  communication  of
                  errors  to DAEMON and may change without
                  notice.

        1021   .TFIER    Returns in the ac the initial error status.

        1022   .TFFER    Returns in the ac the final error status.

        1023   .TFFED    Returns in the ac the final error disposition.

        1024   .TFLBL    Returns in the  ac  the  label  processing  type
                         code.   To  set  the label processing type code,
                         use .TFLBL+.TFSET; the  monitor  reads  the  new
                         code  from  addr+2.   The  label processing type
                         codes and their meanings are:

                         Code   Symbol    Label Processing Type

                           0    .TFLBP    Bypass  label  processing.   To
                                          set this value, the job must be
                                          privileged.
                           1    .TFLAL    ANSI labels.
                           2    .TFLAU    ANSI labels with user labels.
                           3    .TFLIL    IBM labels.
                           4    .TFLIU    IBM labels with user labels.



                                   22-540
                                                       TAPOP. [CALLI 154]


        Code   Symbol    Function

                         Code   Symbol    Label Processing Type

                           5    .TFLTM    Leading tape mark.
                           6    .TFLNS    Nonstandard labels.
                           7    .TFLNL    No  labels.   When  tapes   are
                                          processed  with  no labels, the
                                          label processor is used only to
                                          verify  that  the tape does not
                                          contain    a    tape     label.
                                          Unlabeled  tapes  can be copied
                                          to create a labeled tape.
                          10    .TFCBA    DIGITAL COBOL ASCII labels.
                          11    .TFCBS    DIGITAL COBOL SIXBIT labels.
                          12    .TFLNV    Same as .TFLNL except that user
                                          program   is   responsible  for
                                          dealing with an EOT.  This type
                                          is   the  default.   To  switch
                                          reels  after  end-of-tape,  use
                                          TAPOP.  function .TFFEV.

        1025   .TFPLT    Performs  functions  identical  to  the   .TFLBL
                         function  1024  above,  except  that  it  allows
                         access to files and  tape  labels.   Using  this
                         function,   you   can  examine  and  modify  the
                         contents  of  a  label.   The  .TFPLT   function
                         requires the JP.POK, [1,2], or JACCT privilege.

        1026   .TFLTC    Returns the last  tape  label  termination  code
                         from   the   tape   label   processor.    It  is
                         recommended that you use DEVOP. function .DFRES,
                         because more information can be returned by that
                         function.  The return codes are:

                         Code    Symbol  Error

                           1     .TFTCP  Continue processing.
                           2     .TFTRE  Returned EOF.
                           3     .TFTLT  Label type error.
                           4     .TFTHL  Header label error.
                           5     .TFTTL  Trailer label error.
                           6     .TFTVL  Volume label error.
                           7     .TFTDV  Device error.
                           10    .TFTDE  Data error.
                           11    .TFTWL  Write lock error.
                           12    .TFPSE  Positioning error.
                           13    .TFBOT  Beginning of tape.
                           14    .TFIOP  Illegal operation.
                           15    .TFFNF  File not found.
                           16    .TFCAN  Operator cancelled request.
                           17    .TFTMV  Too many volumes requested.


                                   22-541
   TAPOP. [CALLI 154]


        Code   Symbol    Function

        1027   .TFDMS    Returns in the ac the diagnostic  mode  set  bit
                         (TX01/TX02  on  DX10  only).   This bit is 1 for
                         diagnostic mode, otherwise 0.  To set this  bit,
                         use .TFDMS+.TFSET; the monitor reads the new bit
                         from addr+2.

        1030   .TFFSO    Returns in the ac  the  bit  showing  whether  a
                         forced  SENSE  command  will  be  issued  to the
                         controller (TX01/TX02 on DX10/DX20  only)  after
                         the  completion  of every operation.  To set the
                         bit, use .TFFSO+.TFSET; the  monitor  reads  the
                         new  bit from addr+2.  This bit should be set by
                         diagnostic programs only, because it slows  down
                         tape operations considerably.

        1031   .TFMFC    Returns in the ac the maximum frame  count.   To
                         set  the  count,  use .TFMFC+.TFSET; the monitor
                         reads the  new  count  from  addr+2.   Use  this
                         function to speed tape throughput for a TU16, or
                         TU45, TU70, TU71, or TU72 that does not have  an
                         integral  number  of  bytes per word.  The count
                         stays in effect until your  program  performs  a
                         RESET  with another TAPOP. monitor call or until
                         the  tape  is  RELEASed  (if  the   device   was
                         ASSIGNed).   This  function  allows  a TU70 or a
                         TU16 to read and write tapes that do not have an
                         integral   number   of  bytes  per  word.   This
                         function provides tape compatibility with  other
                         systems.

        1032   .TFPDN    Returns in the ac  flags  showing  the  possible
                         densities  for  a  tape.   The  flags  and their
                         meanings are:

                         Bit    Symbol    Density

                          31    TF.DN5    6250 bits/inch (255.5 rows/mm).
                          32    TF.DN4    1600 bits/inch (65.3 rows/mm).
                          33    TF.DN3    800 bits/inch (32.2 rows/mm).
                          34    TF.DN2    550 bits/inch (22.5 rows/mm).
                          35    TF.DN1    200 bits/inch (8.1 rows/mm).











                                   22-542
                                                       TAPOP. [CALLI 154]


        Code   Symbol    Function

        1033   .TFLPR    Returns at addr+2  the  tape  label  parameters.
                         This  function  causes  the  first  input  label
                         processing if there is no file open  for  input.
                         To  set  the  parameters, use .TFLPR+.TFSET; the
                         monitor  reads  the  parameters   beginning   at
                         addr+2.   This  set  function  is  legal only if
                         there is no file open for output  on  the  given
                         channel.  The parameters given apply to the next
                         file  to  be  written.   The   format   of   the
                         parameters at addr is:

                         Offset Symbol    Contents

                            0   .TPFUN    Function code (user-supplied).
                            1   .TPDEV    Device (user-supplied).
                            2   .TPREC    Record format and form control:

                                          Bits  Symbol    Meaning

                                          0-17  TR.FCT    Forms  control
                                                          byte;  one   of
                                                          the   following
                                                          codes:

                                          Code  Symbol    Meaning

                                           1    .TFCNO    Records on tape
                                                          do  not contain
                                                          form    control
                                                          characters.
                                           2    .TFCAS    First character
                                                          of  each record
                                                          is    a    form
                                                          control
                                                          character.
                                           3    .TFCAM    Records on tape
                                                          contain     all
                                                          required   form
                                                          control
                                                          characters.

                                          Bits  Symbol    Meaning

                                          18-35 TR.RFM    Record format
                                                          byte;  one   of
                                                          the   following
                                                          codes:





                                   22-543
   TAPOP. [CALLI 154]


                                          Code  Symbol    Meaning

                                            0   .TRFDF    Default
                                                          (Fixed).
                                            1   .TRFFX    Fixed (F).
                                            2   .TRFVR    Variable (D).
                                            3   .TRFSP    Spanned (S).
                                            4   .TRFUN    Undefined (U).

                         Offset Symbol    Contents

                            3   .TPRSZ    Record size in characters.
                            4   .TPBSZ    Block size in characters.
                            5   .TPEXP    Expiration   date   in   15-bit
                                          format.

                                          Bits  Symbol    Meaning

                                           0-17 TP.ECR    Creation date.
                                          18-35 TP.EEX    Expiration
                                                          date.

                            6   .TPPRO    Protection code.
                            7   .TPSEQ    File sequence number.
                            10  .TPFNM    File name (17 ASCII  characters
                                          maximum).
                            14  .TPGEN    Generation and version numbers.

                                          Bits   Symbol   Meaning

                                           0-17  TP.GEN   Generation
                                                          number.
                                          18-35  TP.VER   Generation
                                                          version number.

                            Function code 1033 (to read label parameters)
                            always  returns  these numbers and causes the
                            first input label processing if there  is  no
                            file open for input.

   Normal Return

        The function is performed.











                                   22-544
                                                       TAPOP. [CALLI 154]


   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

         -1    TPACS%    Address check while storing answer.
          0    TPIFC%    Illegal function code.
          1    TPPRV%    Not enough privileges.
          2    TPNMT%    Not a magtape device.
          3    TPVOR%    Specified value out of range.
          4    TPACR%    Address check reading arguments.
          5    TPCBS%    Parameter cannot be set.
          6    TPNIA%    Tape not initialized or assigned.
          7    TPNLP%    No label processor.
         10    TPETC%    Termination code error.
         11    TPIJN%    Illegal job number.
         12    TPLRF%    Label release function required.
         13    TPLSI%    Set label parameter function illegal after first
                         output.
         14    TPLOE%    Attempted to read information from a  label  DDB
                         owned by someone else.
         15    TPDNC%    Drive not capable of specified density.
         16    TPWWL%    Write attempted to write-locked tape.

   Examples

                MOVE    T1,[XWD 2,ARGLST]  ;Pointer to arg list
                TAPOP.  T1,                ;Get controller type
                 JRST   ERROR              ;Error
                CAIE    T1,.TFKTX          ;If DX10
                CAIN    T1,.TFKD2          ;Or DX20
                SKIPA                      ;Data security erase
                                           ;  will work
                JRST    NODSE              ;Otherwise don't try it
                MOVE    T1,[XWD 2,DSELSI]  ;Pointer to arg list
                TAPOP.  T1,                ;Erase the entire tape
                 JRST   ERROR              ;Error
                JRST    CONTIN             ;Skip argument blocks
        ARGLST: EXP     .TFKTP             ;Function to read
                                           ;  controller types
                SIXBIT  /TAPE/             ;Device is "TAPE"
        DSELST: EXP     .TFDSE             ;Function to do
                                           ;  data security erase
                SIXBIT  /TAPE/             ;Device is "TAPE"
        CONTIN:                            ;Continue

        This example performs a data security erase on the logical device
        "TAPE"  if  and  only  if  the controller is capable of doing so.
        (DX10/DX20).

   Related Calls

        MTAID., MTAPE, MTCHR.
                                   22-545
   TIMER [CALLI 22]


   22.175  TIMER [CALLI 22]




   Function

        Returns the time of day since midnight (00:00)  in  jiffies.   (A
        jiffy is 1/60 second.)

                                      NOTE

                For systems using  50  Hz  power,  jiffy  =  1/50
                second.    Therefore   it   is  good  programming
                practice to use the MSTIME monitor  call  on  any
                system, because MTSIME call gives the time of day
                in milliseconds and is independent of the type of
                power used.

   Calling Sequence

                TIMER   ac,
                only return

   Return

        The number of jiffies since midnight is returned in the ac.

   Related Calls

        DATE, MSTIME























                                   22-546
                                                        TMPCOR [CALLI 44]


   22.176  TMPCOR [CALLI 44]




   Function

        Creates, reads, writes, or manipulates temporary  files  left  in
        core from the running of one program to another.  Those files are
        referenced by a three-character file name.  All files are deleted
        when  the  job  is  logged  out.  If the monitor call fails, your
        program should write DSK:nnnNAM.TMP, where nnn is the job number.
        This  arrangement improves response time and minimizes the number
        of disk reads.

   Calling Sequence

                MOVE    ac,[XWD fcncode,addr]
                TMPCOR  ac,
                  error return
                normal return
                . . .
        addr:   XWD     'nam',0
                IOWD    buflength,buffer

        where:  fcncode is one of the function codes described below.

                addr gives the address of the argument list.

                nam is a 3-character SIXBIT string that is the file name.

                buflength is the length of the buffer for the call.

                buffer gives the address of the buffer for the call.

        The function codes and their meanings are:

        Code   Symbol    Function

          0    .TCRFS    Obtains free space.  For this function, set  the
                         ac  to  0  before  the call; no argument list is
                         required.  On a normal return, the  ac  contains
                         the  number  of  free  words  available  to your
                         program (510 decimal).










                                   22-547
   TMPCOR [CALLI 44]


        Code   Symbol    Function

          1    .TCRRF    Reads  a  file.   The  length  of  the  file  is
                         returned  in  the ac, and as much of the file as
                         possible is copied into the buffer for the call.
                         You can check for truncation by comparing the ac
                         to buflength.

                         The error return occurs if the specified file is
                         not  found;  in  this  case,  the number of free
                         words available to your program is  returned  in
                         the ac.

          2    .TCRDF    Reads and deletes a file.  Performs all the same
                         functions  as .TCRRF and in addition deletes the
                         file.  Note that the file is deleted even if  it
                         is too long to fit in the buffer for the call.

          3    .TCRWF    Writes the contents of the buffer into  a  file.
                         The requested length of the file is the value of
                         buflength.  If there is already a  file  of  the
                         specified  name,  it is deleted and the space is
                         reclaimed.

                         The requested size of the file is  specified  by
                         buflength.   If  there  is  not  enough space to
                         write the entire file, nothing is  written,  the
                         ac  is  set to the number of free words of space
                         available to the user, and the error  return  is
                         taken.

                         If there is enough space, the file  is  written.
                         The  ac is set to the amount of space left after
                         the file has been written and the normal  return
                         is taken.

                         If insufficient space is available, none of  the
                         file  is  written,  the error return occurs, and
                         the number  of  free  words  available  to  your
                         program is returned in the ac.














                                   22-548
                                                        TMPCOR [CALLI 44]


        Code   Symbol    Function

          4    .TCRRD    Reads a directory.  The number of .TMP files  in
                         your  directory is returned in the ac, and their
                         file names are written into the buffer  for  the
                         call.   You  can  check  for  truncation  of the
                         directory list by comparing the ac to buflength.

                         Each entry in the buffer is of the form:

                              XWD  'nam',length

                         where:  length is the  length  of  the  file  in
                                 words.

                                 nam is the file name.

                         The error return occurs only if the call is  not
                         implemented.

          5    .TCRDD    Reads and deletes from directory.  This performs
                         all the same functions as .TCRRD and in addition
                         deletes all files from your directory.

   Examples

                MOVE    T1,[XWD .TCRWF,ARGLST]
                TMPCOR  T1,
                  JRST  TMCERR
                JRST    CONTIN
        ARGLST: XWD     'XYZ',0
                IOWD    <BUFEND-BUFFER>,BUFFER
        BUFFER: ASCIZ /THIS IS THE TEXT FOR THE FILE./
        BUFEND:
        CONTIN:

        This example writes the text at BUFFER into the file XYZ if space
        is available.
















                                   22-549
   TRMNO. [CALLI 115]


   22.177  TRMNO. [CALLI 115]




   Function

        Returns the number of the terminal controlling a specified job.

   Calling Sequence

              / MOVEI   ac,jobno \
              \ MOVNI   ac,1     /
                TRMNO.  ac,
                  error return
                normal return

        where:  jobno is the number of a logged-in job (use  -1  for  the
                current job).

   Normal Return

        Returns the UDX for the controlling  terminal  in  the  ac.   The
        format  of  Universal Device Index names is .UXxxx.  The range of
        values is 200000  through  200777  (octal).   The  symbol  .UXTRM
        (200000) is the offset for the terminal indexes.

   Error Return

        Zero is returned in the ac and indicates one of the errors listed
        below:

         o  The  job  is  currently  detached  (that  is,  there  is   no
            controlling terminal).

         o  The job number specified is unassigned.

         o  The job number specified is illegal.

         o  The job number specified is a negative number other than -1.














                                   22-550
                                                       TRMNO. [CALLI 115]


   Examples

        Your program can determine which of the  above  error  conditions
        occurred  by  using  the  JOBSTS  monitor  call.  An example of a
        program using this call for this purpose is shown below.

                MOVE    T1,JOBN
                TRMNO.  T1,
                  JRST  .+2
                JRST    OK            ;No error
                MOVN    T1,JOBN
                JOBSTS  T1,
                  JRST  ILLNUM        ;Job number illegal
                JUMPL   T1,DETJOB     ;Job is detached
                JRST    NOJOB         ;No such job

   Related Calls

        TRMOP.

   Common Errors

        Using .UXTRM as a mask instead of an offset.































                                   22-551
   TRMOP. [CALLI 116]


   22.178  TRMOP. [CALLI 116]




   Function

        Performs   various    operations    for    terminals.     Several
        TRMOP. functions  are  identical  to,  or  extensions  of, TTCALL
        monitor calls.

   Calling Sequence

                MOVE    ac,[XWD len,addr]
                TRMOP.  ac,
                  error return
                normal return
                . . .
        addr:   EXP     fcncode
                EXP     udx
                first argument
                . . .
                last argument

        where:  len is the length of the argument list.

                addr is the address of the argument list.

                fcncode is one of the function codes described below.

                udx is the Universal Device Index for a terminal,  or  -1
                can   be  used  to  indicate  the  program's  controlling
                terminal.   The  words  up  through  last  argument   are
                arguments for the given function.

        The argument list is formatted as follows:

        Word   Symbol    Contents

          0    .TOFNC    Function code.

          1    .TOUDX    Universal Device Index or -1.

          2    .TOAR2    Argument word.

          3    .TOAR3    Argument word.

          4    .TOAR4    Argument word.

          5    .TOAR5    Argument word.

          6    .TOAR6    Argument word.


                                   22-552
                                                       TRMOP. [CALLI 116]


        The argument words contain values that are read  or  set  by  the
        function  code,  and they differ for each function.  The function
        codes fall into four groups:

        Codes  Symbol    Actions

        0-777            Perform a specific action.

        1000-1777                Read parameters.

        1000   .TOSET    Add this  value  (symbol  .TOSET)  to  the  read
                                 function,  thus  setting  the  specified
                                 parameter(s).

        2000 - 2777      Set  parameters.   These   functions   are   not
                                 explicitly  listed  in  the descriptions
                                 below.  To  set  a  parameter,  use  the
                                 corresponding  Read  function  plus  the
                                 offset .TOSET (=1000).  For example,  to
                                 set  a terminal's receive speed, use the
                                 receive speed function plus .TOSET:

                                      .TORSP + .TOSET

        3000 - 3777      Reserved for customer-defined functions.

        The function codes and their meanings are:

        Code   Symbol    Function

           1   .TOSIP    Takes  the  error  (non-skip)  return   if   the
                         terminal's  input  buffer  is  empty.  The ac is
                         unchanged.

           2   .TOSOP    Takes  the  error  (non-skip)  return   if   the
                         terminal's  output  buffer  is empty.  The ac is
                         unchanged.

           3   .TOCIB    Clears the terminal's input buffer.

           4   .TOCOB    Clears the terminal's output buffer.

           5   .TOOUC    Outputs  a  character  to  the   terminal;   the
                         character is in bits 29 to 35 of .TOAR2.

           6   .TOOIC    Outputs an image-mode character to the terminal;
                         the character is in bits 28 to 35 of .TOAR2.







                                   22-553
   TRMOP. [CALLI 116]


        Code    Symbol   Function

           7    .TOOUS   Outputs an ASCIZ string  to  the  terminal;  the
                         address  of the string is in .TOAR2.  If the job
                         number at the receiving  terminal  is  different
                         from  your  job  number, the character string is
                         limited to 128 characters.  If  you  attempt  to
                         send  more  than  128  characters to a job other
                         than your own, characters may be lost.

          10    .TOINC   Inputs a character from  the  terminal  in  line
                         mode;  the  character is stored in bits 29 to 35
                         of the ac.

          11    .TOIIC   Inputs  an   image-mode   character   from   the
                         terminal;  the character is stored in bits 28 to
                         35 of the ac.  This function is not  implemented
                         by the monitor.
|  
|         12    .TODSE   Enables a modem (dataset)  for  outgoing  calls.
|                        This  function always takes the skip return, but
|                        it is not implemented by the monitor.

          13    .TODSC   Enables and places outgoing  calls  on  a  modem
                         with  a  dialer.  A telephone number of up to 17
                         decimal digits  is  stored  in  4-bit  bytes  in
                         .TOAR2  and .TOAR3 (terminated by a 17).  If the
                         caller must wait for a  second  dial  tone  (for
                         example,  after  dialing  9), a 5-second wait is
                         indicated by a 16 byte.

          14    .TODSF   Disconnects a call  (for  example,  hangs  up  a
                         modem).

          15    .TORSC   Rescans an input line.
|  
|         16    .TOELE   Sets the terminal element to the  number  stored
|                        in .TOAR2 (obsolete).

          17    .TOEAB   Enables autobaud detection.

          20    .TOISC   Inputs a character from the terminal to the  ac;
                         waiting   in  character  mode  if  no  input  is
                         available.

          21    .TOTYP   Puts an ASCIZ string into the  terminal's  input
                         buffer;  the address of the string is in .TOAR2.
                         A string of more than 300 characters results  in
                         a range error.





                                   22-554
                                                       TRMOP. [CALLI 116]


        Code    Symbol   Function

          22    .TOGMS   Returns terminal's MIC status  bits  in  addr+2.
                         If  MIC  is  not  controlling  the  job,  addr+2
                         contains 0.  The status bits are as follows:

                         Bits   Symbol    Meaning

                            0   TO.CHK    Flag bit for word.  If this bit
                                          is  set,  there  are  other set
                                          bits in the word.
                            1   TO.CCT    A CTRL/C was typed.
                            2   TO.OCS    An operator-sent character  was
                                          received.
                            3   TO.ECS    An    error    character    was
                                          received.
                            4   TO.CPT    A CTRL/P was typed.
                            5   TO.CBT    A CTRL/B was typed.
                            6   TO.STL    Silence this line.
                            7   TO.LMM    Line is in monitor mode.
                            8   TO.LUM    Line is in user mode.
                            9   TO.C1O    Line is in column 1 on output.
                           10   TO.CAT    A CTRL/A was typed.
                           11   TO.RSP    Error response.
                           12   TO.RSY    Response code sync.
                           13   TO.LOG    MIC is logging.
                           14   TO.LUI    Controlling  job  should  do  a
                                          JOBSTS  UUO  for the controlled
                                          job or terminal.
                        15-21   TO.AOC    The received operator character
                                          (ASCII).
                        22-28   TO.AEC    The  received  error  character
                                          (ASCII).
                        29-35   TO.MMJ    MIC master job number.

            23 .TOSMS    Sets the  terminal's  MIC  status  bits  to  the
                         contents  of  .TOAR2.   The bits are the same as
                         those returned by the .TOGMS function above.

            24 .TOCLR    Clears the MIC status bits.

            25 .TODSP    Displays an ASCIZ string on the  terminal.   The
                         address of the string is in .TOAR2.

            26 .TOGMR    Returns the MIC response buffer.  The address of
                         the 21-word buffer is in .TOAR2.

            27 .TOLOG    Returns the MIC log buffer.  The address of  the
                         21-word buffer is in .TOAR2.





                                   22-555
   TRMOP. [CALLI 116]


          Code  Symbol   Function

            30  .TODSS   A modem is present if bit 0 of the ac is set  on
                         return;  bits 1 to 35 are reserved.  If the line
                         is not a dataset line,  the  monitor  takes  the
                         error return and returns the TOIMP% error in ac.

            31  .TOSBS   Sets the terminal break  character  set.   Using
                         this  function,  you  can  define the characters
                         that,  when  typed  on  the  terminal,  will  be
                         interpreted  by the monitor as break characters,
                         indicating the end of the input  line.   In  the
                         argument block, you must specify the following:

                         addr:   .TOSBS          ;function code
                                 udx             ;terminal's UDX
                                 field-width     ;auto-break
                                 break mask      ;first word 
                                 . . .           ; of break table
                                 break mask      ;last word

                         Where the  field-width  defines  the  number  of
                         characters  to  be  accepted  on  an input line.
                         After the specified  number  of  characters  are
                         typed, a break is automatically made.  The field
                         width must be between 1 and 255.

                         The break mask is a 4-word block indicating  the
                         mask  of  bits (in the left-hand 32 bits of each
                         word from .TOAR3 through .TOAR6)  that  indicate
                         the  octal  representation  of  characters to be
                         defined as break characters.   You  must  enable
                         break set mode by setting flag IO.ABS in the I/O
                         status  word.   Refer  to  Volume  1  for   more
                         information.

          32   .TORBS    Reads the terminal  break  character  set.   The
                         field   width  is  returned  in  .TOAR2  of  the
                         argument block, and the break mask  is  returned
                         in   words  .TOAR3  through  .TOAR6.   Refer  to
                         .TOSBS.













                                   22-556
                                                       TRMOP. [CALLI 116]


          Code  Symbol   Function

          33    .TOISO   Sets counted image  output  string  mode.   This
                         function   allows   your  program  to  output  a
                         specified  number  of  characters  in  a  single
                         sequence.   This  function allows screen editors
                         and  display-oriented  programs  to  update  the
                         terminal  screen more efficiently.  The argument
                         block for this function is:

                         addr:   .TOISO          ;function
                                 udx             ;terminal's UDX
                                 byte-size,,byte-count
                                 string-address

                         Where the size  of  each  byte  (1-36  bits)  is
                         specified  in  byte-size,  and the length of the
                         string is specified in byte-count.   The  string
                         address  is  a  pointer  to  the location of the
                         output string.

          34   .TOFLM    Returns the carriage to the left margin.

          35   .TOGCS    Reads  the  special   character   status.    The
                         conditions   read   are   set   in   the  TC.VAL
                         field.  .TOSCS explains  TC.VAL.   The  argument
                         block for .TOGCS is:

                         addr:  .TOGCS
                                udx
                                len2,,addr2
                         addr2: characters to read

                         The number of words given in len at  addr2  have
                         the  TC.VAL  field  filled  in  from the current
                         settings described in .TOSCS.

        36      .TOSCS   Sets the special character status.   The  .TOSCS
                         argument block is:

                         addr:  .TOSCS
                                udx
                                len2,,addr2

                         addr2: mask + values + character
                                . . .








                                   22-557
   TRMOP. [CALLI 116]


        Codes   Symbol   Function

                         The fields in addr2 are:

                         Bits    Symbol   Meaning

                         0-13    TC.MOD   The  mask  of  the  fields   to
                                          change.
                         14-27   TC.VAL   The  conditions  read  or  set.
                                          See   below   for   a  list  of
                                          condition bits.
                         28-35   TC.CHR   The type of character which the
                                          condition(s) applies to.

                         Bits which may  be  selected  for  the  type  of
                         character are:

                         Bit     Symbol   Meaning

                         31      TC.CLR   For  control  characters  only,
                                          clears  the  input  buffer when
                                          the  character's  interrupt  is
                                          posted.
                         32      TC.DFR   Defer the character's interrupt
                                          type.
                         33      TC.OOB   An out-of-band character.  This
                                          character  causes  an interrupt
                                          when received.
                         34      TC.NSA   Disable special action.
                         35      TC.BRK   Line break character.

        37      .TOUNR   Allows   reading   of   only   already    echoed
                         characters.   No further echoing occurs until an
                         empty buffer is returned, a no  input  available
                         return   is   taken,  or  a  null  character  is
                         returned.  The argument block is:

                         addr:    .TOUNR
                                  udx       ;terminal UDX

        40      .TOASO   Sets counted  ASCII  output  string  mode.   The
                         argument  block is identical to .TOISO, function
                         33, except for the function code.

        41      .TODNT   Disconnects a network terminal, without  hanging
                         up the dataset.

        1000    .TOOIP   Returns, in the ac, the  output-in-progress  bit
                         (1 in Bit 35 if output is in progress, otherwise
                         ac=0).




                                   22-558
                                                       TRMOP. [CALLI 116]


        Code    Symbol   Function

        1001    .TOCOM   Returns, in the ac, the monitor-mode bit  (1  in
                         bit 35 if terminal is in monitor mode, otherwise
                         ac=0).

        1002    .TOXON   Returns, in the ac, the papertape bit (1 in  bit
                         35  if  terminal is in papertape mode, otherwise
                         ac=0).  To set the bit, use  .TOXON+.TOSET;  the
                         monitor  reads  the  bit from .TOAR2.  When this
                         bit is set, the functions of CTRL/S  and  CTRL/Q
                         are defined to control the papertape.  If CTRL/S
                         and CTRL/Q were defined previously for  stopping
                         and  continuing terminal output, these functions
                         are  temporarily  superseded  by  the  papertape
                         function.   When  you clear .TOXON, the terminal
                         output function is restored.

        1003    .TOLCT   Returns, in the ac, the lowercase bit (1 in  bit
                         35  if no lowercase capability, otherwise ac=0).
                         To set the bit, use .TOLCT+.TOSET;  the  monitor
                         reads the bit from .TOAR2.

        1004    .TOSLV   Returns, in the ac, the slave bit (1 in  bit  35
                         if  the terminal is slaved, otherwise ac=0).  To
                         set the  bit,  use  .TOSLV+.TOSET;  the  monitor
                         reads the bit from .TOAR2.

        1005    .TOTAB   Returns, in the ac, the tab-capability  bit  for
                         the  terminal  (1  in bit 35 if the terminal has
                         tab capability, otherwise  ac=0).   To  set  the
                         bit,  use  .TOTAB+.TOSET;  the monitor reads the
                         bit from .TOAR2.

        1006    .TOFRM   Returns, in the ac, the formfeed-capability  bit
                         for  the  terminal  (1 in bit 35 if the terminal
                         performs formfeeds, otherwise ac=0).  To set the
                         bit,  use  .TOFRM+.TOSET;  the monitor reads the
                         bit from .TOAR2.

        1007    .TOLCP   Returns, in the ac, the local-copy bit  for  the
                         terminal  (1  in  bit  35  if characters are not
                         echoed, otherwise ac=0).  To set  the  bit,  use
                         .TOLCP+.TOSET;  the  monitor  reads the bit from
                         .TOAR2.









                                   22-559
   TRMOP. [CALLI 116]


        Code    Symbol   Function

|       1010    .TONFC   Returns, in the ac, the free CRLF  bit  for  the
|                        terminal  (1  in  bit  35  if free CRLFs are not
|                        performed, otherwise ac=0).  To set the bit, use
|                        .TONFC+.TOSET;  the  monitor  reads the bit from
|                        .TOAR2.          The          free          CRLF
|                        (carriage-return/line-feed)  is  placed  in  the
|                        terminal output buffer when the maximum width of
|                        the  line  is  reached.   Set  the terminal line
|                        width  using  .TOWID,  SET  TTY  WIDTH   monitor
|                        command,  or  by setting the terminal type.  The
|                        default setting depends on the terminal type.

        1011    .TOHPS   Returns, in the ac, the horizontal  position  of
                         the  carriage or cursor (in the range 0 to octal
                         377).

        1012    .TOWID   Returns, in the ac, the carriage width  for  the
                         terminal  (in  the range 16 to 255 decimal).  To
                         set this value, use .TOWID+.TOSET;  the  monitor
                         reads the width from .TOAR2.

        1013    .TOSND   Returns, in the ac, the GAG bit for the terminal
                         (1  in bit 35 if NOGAG, otherwise ac=0).  To set
                         this bit, use .TOSND+.TOSET; the  monitor  reads
                         the  bit  from  .TOAR2.   Refer  to  the SET TTY
                         monitor command in the Commands Manual.
|  
|       1014    .TOHLF   Returns, in the ac, the half-duplex bit for  the
|                        terminal  (1  in  bit  35  if the terminal is in
|                        half-duplex mode, otherwise ac=0).  (Obsolete.)
|  
|       1015    .TORMT   Returns, in the  ac,  the  remote  bit  for  the
|                        terminal (1 in bit 35 if the terminal is remote,
|                        otherwise  ac=0).   To   set   this   bit,   use
|                        .TORMT+.TOSET;  the  monitor  reads the bit from
|                        .TOAR2.  Your program must have [1,2], JACCT, or
|                        POKE  privileges  to  set  this  bit.   This bit
|                        cannot be set through FRCLIN or on the CTY.

                         Refer to the SET  TTY  monitor  command  in  the
                         Commands Manual.











                                   22-560
                                                       TRMOP. [CALLI 116]


        Code    Symbol   Function

        1016    .TODIS   Returns, in the ac,  the  display  bit  for  the
                         terminal  (1  in  bit  35  if  the terminal is a
                         display device, otherwise ac=0).   To  set  this
                         bit,  use  .TODIS+.TOSET;  the monitor reads the
                         bit from  .TOAR2.   You  may  set  this  bit  to
                         indicate that the terminal is a display terminal
                         if the following are true:

                          o  The terminal can backspace the cursor.

                          o  A space character on the terminal erases the
                             character pointed to by the cursor.

                         Refer to the SET  TTY  monitor  command  in  the
                         Commands Manual.

        1017    .TOFLC   Returns, in the ac, the filler  class  code  for
                         the  terminal (in the range 0 to 3).  To set the
                         code, use .TOFLC+.TOSET; the monitor  reads  the
                         code  from .TOAR2.  Refer to the SET TTY monitor
                         command in the Commands Manual.

        1020    .TOTAP   Returns, in the ac, the papertape-enable bit for
                         the  terminal  (1  in  bit  35  if  papertape is
                         enabled, otherwise ac=0).  To set this bit,  use
                         .TOTAP+.TOSET;  the  monitor  reads the bit from
                         .TOAR2.  Refer to the SET TTY monitor command in
                         the Commands Manual.
|  
|       1021    .TOXNF   Process  XON/XOFF  signals  from  the  terminal.
|                        Returns,  in  the  ac, the bit setting for paged
|                        display mode (1 in bit 35 if the terminal is  in
|                        paged  display  mode,  otherwise  ac=0).  To set
|                        this bit, use .TOXNF+.TOSET; the  monitor  reads
|                        the bit from .TOAR2.

        1022    .TOSTP   Returns, in the ac, the output-stopped  bit  for
                         the terminal (1 in bit 35 if output has stopped,
                         otherwise ac=0).  The output-stopped bit is  set
                         when, for example, the terminal reaches its page
                         limit.

        1023    .TOPSZ   Returns, in the ac, the number of lines for  the
                         current page setting (in the range 0 to 63).  To
                         set the number of lines, use .TOPSZ+.TOSET;  the
                         monitor reads the number of lines from .TOAR2.

        1024    .TOPCT   Returns, in  the  ac,  the  value  of  the  page
                         counter (in the range 0 to 63).



                                   22-561
   TRMOP. [CALLI 116]


        Code    Symbol   Function

        1025    .TOBLK   Returns, in the ac, the bit  setting  for  blank
                         line  handling  (1  in  bit 35 if multiple blank
                         lines are to  be  reduced  to  one  blank  line,
                         otherwise   ac=0).    To   set   the   bit,  use
                         .TOBLK+.TOSET; the monitor reads the bit setting
                         from .TOAR2.

        1026    .TOALT   Returns, in the ac, the bit setting  for  ESCape
                         (altmode)  character handling (1 in bit 35 if no
                         conversion, 0 if the ASCII codes 175 and 176 are
                         converted   to   033).   To  set  the  bit,  use
                         .TOALT+.TOSET; the monitor reads the bit setting
                         from .TOAR2.

        1027    .TOAPL   Returns, in the ac, the bit setting for APL mode
                         (1  in  bit  35 if in APL mode, otherwise ac=0).
                         To set the bit, use .TOAPL+.TOSET;  the  monitor
                         reads the bit setting from .TOAR2.

        1030    .TORSP   Returns, in the ac, the code for the  terminal's
                         receive   speed.    To   set   the   code,   use
                         .TORSP+.TOSET; the monitor reads the  code  from
                         .TOAR2.   (Note that the send and receive speeds
                         cannot both be 0.)  The codes and their meanings
                         are:

                         Code   Symbol    Speed

                           1    .TO005    50 baud.
                           2    .TO007    75 baud.
                           3    .TO011    110 baud.
                           4    .TO013    134.5 baud.
                           5    .TO015    150 baud.
                           6    .TO020    200 baud.
                           7    .TO030    300 baud.
                          10    .TO060    600 baud.
                          11    .TO120    1200 baud.
                          12    .TO180    1800 baud.
                          13    .TO240    2400 baud.
                          14    .TO480    4800 baud.
                          15    .TO960    9600 baud.
                          16    .TOEXA    External A.
                          17    .TOEXB    External B.

        1031    .TOTSP   Returns, in the ac, the code for the  terminal's
                         transmit   speed.    To   set   the   code,  use
                         .TORSP+.TOSET; the monitor reads the  code  from
                         .TOAR2.   The  codes  and their meanings are the
                         same as those for the .TORSP function above.



                                   22-562
                                                       TRMOP. [CALLI 116]


        Code    Symbol   Function
|  
|       1032    .TODBK   Returns, in the ac,  the  bit  setting  for  the
|                        terminal's  debreak  capability  (1 in bit 35 if
|                        debreak is enabled, otherwise ac=0).  To set the
|                        bit,  use  .TODBK+.TOSET;  the monitor reads the
|                        bit setting from .TOAR2.  (Obsolete:  meaningful
|                        for model 2741 terminals only.)
|  
|       1033    .TO274   Returns, in the ac, the bit to show whether  the
|                        terminal is a 2741 (1 in bit 35 if so, otherwise
|                        ac=0).  To set the bit, use  .TO274+.TOSET;  the
|                        monitor  reads  the  bit from .TOAR2.  Obsolete,
|                        because  the  2741   terminal   is   no   longer
|                        supported.
|  
|       1034    .TOTDY   Returns, in the ac, the terminal's TIDY  setting
|                        (1  in bit 35 if TIDY, 0 if NOTIDY).  (Obsolete:
|                        meaningful for model 2741 terminals only.)

        1035    .TOACR   Returns, in the ac, the auto-CRLF column number.
                         If  this  value  is  not  zero,  the first space
                         character received from the terminal, after  the
                         specified    column,    is    converted   to   a
                         carriage-return/line-feed  sequence.    If   the
                         value in the ac is zero, no automatic conversion
                         on input is performed.  To set this  value,  use
                         .TOACR+.TOSET.   Include  the  column  number in
                         .TOAR2 as a decimal value from 0 to 255.

        1036    .TORTC   Returns, in the  ac,  the  bit  for  CTRL/R  and
                         CTRL/T   compatibility   (0   in   bit   35   if
                         compatibility is enabled, otherwise  ac=1).   To
                         set  the  bit, use .TORTC; the monitor reads the
                         bit from .TOAR2.

        1037    .TOPBS   Returns, in the ac, the word containing the  PIM
                         (packed   image  mode)  break  set  (four  9-bit
                         bytes).  To set this  word,  use  .TOPBS+.TOSET;
                         the  monitor reads the word from .TOAR2.  If the
                         ninth bit of the argument is set, the bytes  are
                         compared  as  7-bit  bytes.  If the ninth bit is
                         clear, the bytes are compared as 8-bit bytes.

        1040    .TODEM   Returns,  in  the  ac,  the  bit   showing   the
                         deferred-echo  mode  (1  in  bit  35  if echo is
                         deferred  until  input  is  required,  otherwise
                         ac=0).   To set this bit, use .TODEM+.TOSET; the
                         monitor reads the bit from .TOAR2.





                                   22-563
   TRMOP. [CALLI 116]


        Code    Symbol   Function

        1041    .TOTRM   Returns, in the ac, the  SIXBIT  terminal  type.
                         To    set    the   terminal   type   code,   use
                         .TOTRM+.TOSET; the monitor reads the SIXBIT name
                         of  the  terminal  type  from .TOAR2.  The valid
                         terminal types may be obtained from GETTAB table
                         .GTTNM.

        1042    .TOBCT   Returns, in the ac, number of commands processed
                         in  the  left  half,  and  the  number  of break
                         characters received in the right half.

        1043    .TOICT   Returns, in the ac, number of  input  characters
                         received.

        1044    .TOOCT   Returns, in the ac, number of output  characters
                         sent.

        1045    .TOOSU   Returns, in the  ac,  output  suppression  state
                         (CTRL/O).   (This is Bit 35 in the argument word
                         .TOAR2.)

        1046    .TOFCS   Returns, in the  ac,  Full  Character  Set  bit.
                         This bit can be set by the user.

        1047    .TOBKA   "Break on all characters" mode.  If this is off,
                         the  break  occurs  on each line.  If it is set,
                         breaks occur on each character.

        1050             Reserved for use by DIGITAL.

        1051             Reserved for use by DIGITAL.

        1052    .TOTIC   Returns number of characters in input buffer.

        1053             Reserved for use by DIGITAL.

        1054    .TOBKC   Returns number  of  break  characters  in  input
                         buffer.

        1055    .TOECC   Returns   number   of   unprocessed   (unechoed)
                         characters in input buffer.

        1056    .TOTTC   Returns total number of characters in  monitor's
                         input buffer.

        1057    .TOTOC   Returns total number of characters in  monitor's
                         output buffer.

        1060    .TOLNB   Returns length of terminal form/page.  This  bit
                         can be set by the user.


                                   22-564
                                                       TRMOP. [CALLI 116]


        1061    .TOLNC   Returns number of lines remaining in page.  This
                         bit can be set by the user.




















































                                   22-565
   TRMOP. [CALLI 116]


        Code    Symbol   Function

        1062    .TOSSZ   Returns stop size (number of  lines  to  output)
                         for  automatic  CTRL/S.   This can be set by the
                         user.

        1063    .TOSTC   Returns  page  stop  counter  (number  of  lines
                         remaining  on  page).   This  can  be set by the
                         user.

        1064-1066        Reserved for use by DIGITAL.

        1067    .TOSTO   Specifies that output will stop after the number
                         of  lines specified for .TOSSZ.  This can be set
                         by the user.

        1070    .TOSST   Does not reset page stop counters  after  CTRL/S
                         and CTRL/Q.  This can be set by the user.

        1071    .TOSBL   Sounds terminal bell  on  automatic  page  stop.
                         This can be set by the user.

        1072    .TOFSP   Provides pseudo-terminals with the sceen-editing
                         facilities  of  a  physical terminal.  This is a
                         read-only function.

        1073    .TOOFL   Returns offline bit.  If 0 is  returned  in  the
                         ac,  the  terminal  exists.  This is a read-only
                         function.

        1074    .TOECH   Returns  echo  status.   If  set,   echoing   is
                         enabled.  This can be set by the user.

        1075    .TOAPC   Returns asynchronous port characteristics.  This
                         is a read-only function.

                         Code  Symbol  Meaning

                         0     .TOUNK  Unknown.
                         1     .TOHWD  Hard-wired.
                         2     .TODSD  Dataset line.
                         3-4           Reserved
                         5     .TOADL  Auto-dial.
                         6             Reserved.
                         7     .TONRT  NRTSER line.
                         10    .TOLAT  LAT line.
                         11    .TOCTM  CTERM line.

        1076    .TOUNP   Enables  unpause  character;  continues   output
                         after   CTRL/S.    (The   enabled  character  is
                         interpreted, on input, like CTRL/Q.)



                                   22-566
                                                       TRMOP. [CALLI 116]


        1077    .TOESC   Enables ESCape character (behaves like ESC key).
                         In   other   words,  the  enabled  character  is
                         interpreted, on input, as the ESCape  character,
                         (ASCII character 033).


















































                                   22-567
   TRMOP. [CALLI 116]


        Code    Symbol   Function

        1100    .TOSWI   Enables two-character switch sequence.

        1101    .TO8BT   Enables 8-bit terminal I/O.

        1102    .TO8BI   Enables 8-bit I/O mode on a terminal.

        1103    .TOQOT   Enables the terminal quote (^V) character.  This
                         character,   when   combined   with   any  other
                         character, behaves as  a  single  character.   A
                         ^V-character  combination is deleted by a single
                         rubout,  and  echoes  as  one   character.    ^V
                         suppresses  special action on the next character
                         you type.  The character is echoed without being
                         processed.

        1104    .TOMXT   Returns maximum idle time  before  an  automatic
                         disconnect.  This can be set by the user.

        1105    .TOADT   Returns   time   remaining   before    automatic
                         disconnect.  This cannot be set by the user.

        1106    .TOCLE   Enables command-level echoing.
|  
|       1107    .TOEDT   Enables edit buffer (reserved for DIGITAL).
|  
|       1110    .TOTTN   Returns the terminal type name (model name).
|  
|       1111    .TOTCN   Returns the terminal class name (read-only).
|  
|       1112    .TOATR   Reads  and   sets   terminal   attributes   (bit
|                        definitions).   The  attributes are indicated by
|                        the bit settings in addr+2 of the argument list.
|                        The following attributes are defined:
|  
|                        Bits  Symbol    Meaning
|  
|                          0   TA.8BT    Eight-bit terminal
|                          1   TA.DIS    Display terminal
|                          2   TA.OVR    Overprinting is supported.
|                          3   TA.8BA    Eight-bit    architecture     is
|                                        supported.
|                          4   TA.NRC    National  replacement  character
|                                        sets are supported.
|                          5   TA.ISO    Eight-bit             represents
|                                        ISO/LATIN-1.
|                          6   TA.LID    Line   insertion/deletion    are
|                                        supported.
|                          7   TA.CID    Character insertion/deletion are
|                                        supported.
|                          8   TA.SRM    Scrolling regions are supported.


                                   22-568
                                                       TRMOP. [CALLI 116]


|                          9   TA.GAT    Guarded   area   transport    is
|                                        supported.
|                          10  TA.SEM    Selective erase is supported.
|                          11  TA.AVO    VT100 AVO option is supported or
|                                        emulated.
|                          12  TA.PPO    Printer    port    option     is
|                                        supported.
|                          13  TA.GPO    Regis  or  graphics  option   is
|                                        supported.
|                          14  TA.SXL    Sixel graphics are supported.
|                          15  TA.TEK    Emulates Tektronix 4010/4014.
|                          16  TA.RCS    Dynamically          redefinable
|                                        character sets
|                          17  TA.UDK    User-definable keys
|                          18  TA.VFW    Variable forms width
|                          19  TA.VFL    Variable forms length
|                          20  TA.V52    Emulates    the    VT52    model
|                                        terminal.
|                          21  TA.ESL    Contains an extra status line.
|                          22  TA.JTK    Contains the Katakana  character
|                                        set.
|                          23  TA.TCS    Contains   the   DEC   technical
|                                        character set.
|                          24  TA.TSI    Provides   response    to    DEC
|                                        terminal status interrogation.
|                          25  TA.BMT    Allows block-mode transfers.
|                          26  TA.BTA    Allows  block-mode  tranfers  in
|                                        ANSI-mode.
|                          27  TA.HSR    Allows horizontal scrolling.
|                          28  TA.UWN    User-definable    windows    are
|                                        supported.
|                          29  TA.SSU    Multiple sessions are supported.
|                          30  TA.CLR    Supports   a   color    terminal
|                                        screen.
|                          31  TA.NKB    Terminal has no  keyboard  (such
|                                        as    the    LN03   asynchronous
|                                        printer).
|  
|       1113    .TOAT2   Reads and sets terminal  attributes  (stored  in
|                        bytes).  The argument word is formatted as:
|  
|                        Bits  Symbol    Contents
|  
|                        0-2   T2.LDT    Type of locator device:
|  
|                                        Code Symbol Meaning
|  
|                                        0 .T2UNK Unknown
|                                        1 .T2MOU Mouse
|                                        2 .T2TAB Tablet
|  
|                        3-6   T2.ACL    ANSI level to which the terminal


                                   22-569
   TRMOP. [CALLI 116]


|                                        conforms.
|  
|                        7-10  T2.DCL    DEC-conformance level.
|  
|       1114    .TOAT3   Reads and sets  terminal-attributes  defined  at
|                        customer-site.   Symbols  should  be  defined as
|                        T3.xxx.

   Normal Return

        The monitor performs the function.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          0    TOILF%    Illegal function code.
          1    TOPRC%    Not privileged.
          2    TORGB%    Illegal range.
          3    TOADB%    Illegal argument list address or length.
          4    TOIMP%    Line is not a dataset line.
          5    TODIL%    Error in dialing routine.
          6    TOTNA%    Terminal not available.
          7    TONBM%    Terminal is not in break set mode.  You must set
                         IO.ABS  with  the OPEN UUO before you can define
                         and enable break characters.
          10   TONIB%    Illegal byte size specified.
|         11   TONET%    Not a network-based terminal (not on  a  LAT,  a
|                        DECnet node, or and ANF-10 remote station).























                                   22-570
                                                        TRPSET [CALLI 25]


   22.179  TRPSET [CALLI 25]




   Function

        Prevents jobs other than the calling job from running.   You  can
        (if  you  have  the  JP.TRP privilege) use this call to guarantee
        fast response to realtime interrupts.

        For  a  complete  discussion  of  realtime  traps   and   related
        programming practices, see Chapter 9, Volume 1.

   Calling Sequence

               MOVE      ac,[XWD len,addr]
               TRPSET    ac,
                 error return
               normal return
               . . .
        addr:    JSR     address
                 BLKI    address

        where:  len is the length of the argument list.

                addr is the address of the argument list.

                address is the address of a location  to  be  patched  to
                trap  directly  to your program.  This address must be in
                the range 40 to 57 (octal).

   Normal Return

        The monitor has suspended execution of other jobs.

   Error Return

        The error return occurs if the TRPSET call is not implemented, or
        if your job is not privileged.

   Related Calls

        HPQ, LOCK, RTTRP, UJEN










                                   22-571
   TSK. [CALLI 177]


   22.180  TSK.  [CALLI 177]




   Function

        Performs miscellaneous functions for network nodes.  This monitor
        call   can   be   used  by  applications  that  wish  to  perform
        non-blocking connects and disconnects.  Also, it can be  used  by
        applications  translating  ANF-10 protocol into another protocol.
        These applications usually require more control over the  connect
        message than that provided by the standard LOOKUP/ENTER sequence.

        The  TSK.   monitor  call  is  an  alternative   to   using   the
        LOOKUP/ENTER method for opening/defining network links.  Once the
        link enters the run state (.TKSOK), the normal OUT and IN monitor
        calls  can be used to send or receive data over the network link.
        The TSK device cannot be designated as an MPX-controlled  device,
        but asynchronous I/O can be performed.

        Refer to Chapter 5 for more  information  about  using  the  TSK.
        monitor call.

   Calling Sequence

                MOVE    ac,[XWD length,addr]
                TSK.    ac,
                  error return
                normal return

        addr:   EXP     func-code     ;.TKAFN
                EXP     channo        ;.TKACH
                EXP     arg1          ;.TKAA1
                EXP     arg2          ;.TKAA2
                EXP     arg3          ;.TKAA3

        where:  function is one of the function codes listed below.

                channo is the I/O channel number on which the device  TSK
                has been opened.

                Each argument is an argument for the  specified  function
                code.

        Most arguments will be pointers to  Network  Process  Descriptors
        (NPDs), having the following format:

                XWD  length,addr

        where:  length is the length of the NPD (must be at least 3).



                                   22-572
                                                         TSK. [CALLI 177]


                addr is the location of the NPD.





















































                                   22-573
   TSK. [CALLI 177]


        Associated with each task link  are  two  processes:   the  local
        process  and remote process.  The processes are named by the NPD.
        The format of the NPD is:

             Offset  Symbol  Meaning

               0     .TKNND  Node number (-1 implies any node, but is not
                             valid when used in the remote passive NPD).

               1     .TKNLN  Length of ASCII process  name  that  follows
                             (number of characters).

               2     .TKNPN  First word of the ASCII process name.

        The following lists the function codes for TSK.:

        Code   Symbol    Meaning

          1    .TKFRS    Returns the state of  the  link  in  arg1.   The
                         possible states are:

                         Code   State     Meaning

                           0    .TKSID    The link  is  idle.   The  call
                                          destroys  the  contents of arg2
                                          and stores the reason  for  the
                                          disconnect.  arg3 is unchanged.
                           1    .TKSCI    The  link  is  waiting  for   a
                                          connect  initiate  message.  It
                                          returns the local  NPD  in  the
                                          area  pointed  to  by arg2.  It
                                          returns the remote NPD  in  the
                                          area pointed to by arg3.
                           2    .TKSCC    The  link  is  waiting  for   a
                                          connect  confirmation  message.
                                          It returns the local NPD at the
                                          location  specified in arg2 and
                                          the remote NPD at the  location
                                          specified in arg3.
                           3    .TKSOK    The link  is  operational.   It
                                          returns  the  local  NPD at the
                                          location specified in arg2  and
                                          the  remote NPD at the location
                                          specified in arg3.
                           4    .TKSDC    The  link  is  waiting  for   a
                                          disconnect         confirmation
                                          message.  It returns the  local
                                          NPD  at  the location specified
                                          in arg2 and the remote  NPD  at
                                          the location specified in arg3.




                                   22-574
                                                         TSK. [CALLI 177]


        Code   Symbol    Meaning

                         You may include a  pointer  (len,,addr)  to  the
                         local  NPD in arg2.  You can include the pointer
                         to  the  remote  NPD  in  arg3.   These   words,
                         however, are optional.
|  
|         2    .TKFEP    Enters the link into  the  passive  state.   The
|                        link  must be in the .TKSID state.  (If not, the
|                        error return includes the  TKILS%  error  code.)
|                        The  monitor  reads  and  stores  the  local and
|                        remote NPDs pointed to by arg2 and arg3.
|  
|                        If, at a later  time,  the  monitor  receives  a
|                        Connect  Initiate  message  that  "matches"  the
|                        remote NPD, the following occurs:
|  
|                         o  The monitor deletes the remote NPD.
|  
|                         o  The monitor builds a new remote NPD from the
|                            information  given  in  the connect message.
|                            The job can read the new NPD  by  using  the
|                            .TKFRS  function  to  determine  the process
|                            that initiated the connection.
|  
|                         o  The monitor enters the link into the  .TKSOK
|                            state.
|  
|                         o  The  monitor   issues   a   device   on-line
|                            interrupt to the job if the job enabled this
|                            condition using the PSI system.
|  
|         3    .TKFEA    Enters the link into the active  state.   Before
|                        issuing  this  function  the link must be in the
|                        .TKSID state.  All other states cause  an  error
|                        code (TKILS%) to be returned.  When this code is
|                        issued, the monitor reads the local NPD  pointed
|                        to  by  arg1  and  the  remote NPD pointed to by
|                        arg2.  It then sends a Connect Initiate  request
|                        to  the  node/task  specified in the remote NPD.
|                        It puts the link into the .TKSCC state and takes
|                        the  normal  return.   The  link  remains in the
|                        TKSCC  state  until   a   Connect   Confirm   or
|                        Disconnect function is issued.
|  
|                        If a Connect  Confirm  is  issued,  the  monitor
|                        discards  the remote NPD pointed to by arg2.  It
|                        builds a new remote NPD using the information in
|                        the  Connect  Confirm message (so that it can be
|                        read by a .TKFRS function).  The link is  placed
|                        in  the  .TKSOK state and the controlling job is
|                        given  a  device  on-line  interrupt   (if   the


                                   22-575
   TSK. [CALLI 177]


|                        condition was enabled using the PSI system).





















































                                   22-576
                                                         TSK. [CALLI 177]


|       Code   Symbol    Meaning
|  
|                        If a Disconnect function is issued, the  monitor
|                        discards   both   the   local   and  remote  NPD
|                        specifications.  It places  the  link  into  the
|                        .TKSID  (idle)  state  and gives the controlling
|                        job a device  off-line  interrupt  (if  the  job
|                        enabled this condition using the PSI system).
|  
|         4    .TKFEI    Enters the  link  into  the  idle  state.   This
|                        function is illegal for those tasks in .TKSDC or
|                        .TKSCC states and is a no-op for  those  already
|                        in   the   idle  state  (.TKSID).   The  monitor
|                        performs the following for those links in .TKSCI
|                        and .TKSOK states:
|  
|                             .TKSCI  Both NPDs are released.   The  link
|                                     state is set to .TKSID.
|  
|                             .TKSOK  A Disconnect Initiate is sent.  The
|                                     link state is set to .TKSDC.
|  
|                        When Disconnect Confirmed message is issued at a
|                        later  time,  the  monitor frees both NPDs, sets
|                        the link state to .TKSID, and issues  a  "device
|                        off-line" interrupt.
|  
|         5    .TKFWT    Puts the link into the wait state.  If the  link
|                        is  in  either  the  .TKSID or .TKSOK state, the
|                        monitor takes  the  normal  return  immediately.
|                        The  monitor  performs  the  following for those
|                        links in the other states:
|  
|                             State   Function
|  
|                             .TKSCI  waits  for  a  transition  to   the
|                                     .TKSOK state and then returns.
|  
|                             .TKSCC  waits for a  transition  to  either
|                                     the  .TKSOK  or .TKSID states, then
|                                     returns.
|  
|                             .TKSDC  waits for a  transition  to  .TKSID
|                                     and then returns.










                                   22-577
   TSK. [CALLI 177]


|       Code   Symbol    Meaning
|  
|         6    .TKFOT    Performs  output   with   control   of   message
|                        disassembly.   This  function  is valid only for
|                        links  in  the  .TKSOK  state.   This   function
|                        performs  an  OUT  monitor call on the specified
|                        channel.  If the OUT is successful, the contents
|                        of  the  buffer will be sent without an EOF bit.
|                        If unsuccessful, the monitor places  error  code
|                        TKUDW%  in  the ac and returns the device status
|                        word in arg1.
|  
|         7    .TKFIN    Performs input with  message  reassembly.   This
|                        function  is  valid  only for those links in the
|                        .TKSOK state.  It performs an IN monitor call on
|                        the  specified channel.  If the IN is successful
|                        (non-skip return), and UU.DMR was not set on the
|                        OPEN,  the  monitor  reads  the  message  as one
|                        entire buffer  and  takes  a  skip  return.   If
|                        UU.DMR  was  set,  the  message  is read without
|                        reassembly.  If the IN fails, the monitor places
|                        error  code  TKUDW%  in  the  ac  and stores the
|                        device status word in ac+1.
|  
|         10   .TKFRX    Returns the status of  the  link  in  arg1  (see
|                        .TKFRS  for  a  list  of codes) and the "segment
|                        size," or the maximum  message  size,  in  arg2.
|                        Note  that  the segment size is only returned if
|                        the link is in "OK" state (.TKSOK).
|  
|  Normal Return
|  
|       The specified function has been performed.
|  




















                                   22-578
                                                         TSK. [CALLI 177]


|  Error Return
|  
|       One of the following error codes is returned in the ac.
|  
|       Code   Symbol   Meaning
|  
|         1    TKTNL%   TSKSER not loaded (intertask communication is not
|                       supported).
|         2    TKATS%   Argument list was too short.
|         3    TKUNP%   Insufficient privileges.
|         4    TKILF%   Illegal function.
|         5    TKILC%   Illegal channel (not a TSK device or channel  not
|                       open).
|         6    TKILN%   Illegal NPD.
|         7    TKNTS%   NPD too short.
|        10    TKILS%   Function is illegal in this state.
|        11    TKNFC%   Not enough  monitor  free-core  to  perform  this
|                       function.
|        12    TKNFL%   No free links.  (NETLAT is full.)
|        13    TKNXN%   Attempt to connect to a non-existent node.
|        14    TKUDW%   IN or OUT UUO (.TKFOT or .TKFIN) did not skip.
|  
|  Related Calls
|  
|       NODE.





























                                   22-579
|  TTCALL [OPCODE 051]


|  22.181  TTCALL [OPCODE 051]
|  
|  
|  
|  
|  Function
|  
|       Passes the monitor a code for an extended  set  of  calls;  these
|       calls perform terminal functions and are usually called TTCALLs.
|  
|       Each defined TTCALL code also has a symbolic  name;  the  TTCALLs
|       are  discussed  in  alphabetical order by their symbolic names in
|       this section.  For  example,  TTCALL 1,  has  the  symbolic  name
|       OUTCHR;  its  function is discussed under the name OUTCHR in this
|       section.
|  
|       The TTCALLs and their symbolic names are:
|  
|            Symbol              TTCALL Function
|  
|            INCHRW              [TTCALL 0,]
|            OUTCHR              [TTCALL 1,]
|            INCHRS              [TTCALL 2,]
|            OUTSTR              [TTCALL 3,]
|            INCHWL              [TTCALL 4,]
|            INCHSL              [TTCALL 5,]
|            GETLCH              [TTCALL 6,]
|            SETLCH              [TTCALL 7,]
|            RESCAN              [TTCALL 10,]
|            CLRBFI              [TTCALL 11,]
|            CLRBFO              [TTCALL 12,]
|            SKPINC              [TTCALL 13,]
|            SKPINL              [TTCALL 14,]
|            IONEOU              [TTCALL 15,]
|  
|       Note that  TTCALL  operations  are  performed  only  on  physical
|       terminals, not on a device with the logical name TTY.

















                                   22-580
|                                                      UGETF [OPCODE 073]


|  22.182  UGETF [OPCODE 073]
|  
|  
|  
|  
|  Function
|  
|       Returns the block number of the next free block on a DECtape; the
|       UGETF  call  is a no-op for other devices.  Use FILOP. to perform
|       UGETF for an extended I/O channel.
|  
|  Calling Sequence
|  
|               UGETF   channo,addr
|               return
|               . . .
|       addr:   BLOCK   1
|  
|       where:  channo is the channel number of an initialized device.
|  
|               addr is the address of the  location  where  the  monitor
|               will return a block number at addr.
|  
|  Return
|  
|       The block number of the next free block is returned at addr.   If
|       this  call precedes an ENTER, the inter-block spacing factor used
|       for output is reduced to that used for .SAV files.  This function
|       is  used  to  reduce  the  number  of times the tape must reverse
|       direction when reading a large file.
|  
|  Related Calls
|  
|       FILOP.




















                                   22-581
|  UJEN [OPCODE 100]


|  22.183  UJEN [OPCODE 100]
|  
|  
|  
|  
|  Function
|  
|       Dismisses a  realtime  interrupt  from  a  user-supplied  service
|       routine, if such a routine is in progress.
|  
|  Calling Sequence
|  
|               UJEN
|               return
|  
|  Return
|  
|       The  monitor  restores  all   accumulators   and   executes   the
|       instruction
|  
|               JEN @counter
|  
|       where:  counter is the address of the program counter stored by a
|               JSR instruction when the interrupt occurred.
|  
|       Note that you can dismiss a user-mode interrupt with a  JRST  12,
|       instruction.
|  
|  Related Calls
|  
|       RTTRP, TRPSET























                                   22-582
|                                                      UNLOK. [CALLI 120]


|  22.184  UNLOK. [CALLI 120]
|  
|  
|  
|  
|  Function
|  
|       Unlocks one or both segments for the current job.  Your  job  can
|       also be unlocked when the monitor implicitly executes a RESET for
|       your program.  This occurs in any of the following cases:
|  
|        o  Your program executes a RUN monitor call.
|  
|        o  You issue any of the monitor commands that invoke a program.
|  
|  Calling Sequences
|  
|       The UNLOK.  monitor call allows two  alternate  calling  methods.
|       Format  1  is  useful  for  unlocking  a  single segment or a low
|       segment.  Format 2 is used to unlock  a  list  of  multiple  high
|       segments.
|  
|       Format 1
|  
|               MOVE   ac,[XWD high,low]
|               UNLOK. ac,
|                 error return
|               normal return
|  
|       In the accumulator, the left half (high) contains 1 to unlock the
|       program's  high  segment.   The right half (low) is set to unlock
|       the low segment.  If either half is 0, the  segment's  status  is
|       not changed.
|  
|       Format 2
|  
|               MOVE ac,[-n,,addr]
|               UNLOK ac,
|                 error return
|               normal return
|  
|       addr:   EXP .UGSGL
|               EXP segment-number
|  
|       In the accumulator, specify -n  as  the  negative  value  of  the
|       number  of  words in the argument list and addr is the address of
|       the argment list.
|  
|       The first word of the argument  list  contains  a  function  code
|       (.ULSGL), followed by the list of segment numbers, stored in Bits
|       27-35 (UL.2SN).  If UL.2SN is zero, the low segment is unlocked.
|  
|       A high segment shared by several jobs cannot be  unlocked  unless
|       the  SN%LOK  bit is off for all those jobs.  This bit is bit 5 in
                                   22-583
|  UNLOK. [CALLI 120]


|       GETTAB table 14, .GTSGN.  This bit will be on for each  job  that
|       issued  the  LOCK  monitor call for the high segment, but has not
|       issued a subsequent UNLOK.  call for the high segment.
|  
|  Normal Return
|  
|       The specified segments  are  unlocked  and  become  eligible  for
|       swapping.   Any existing meter points (set by the METER.  monitor
|       call) are cleared, and any real-time devices are  reset.   CORMAX
|       is changed to show the newly available pages, if any.
|  
|  Error Return
|  
|       The error return with the  ac  unchanged  occurs  if  the  UNLOK.
|       monitor  call  is  not  implemented on your system.  You must use
|       either a RESET or an EXIT monitor call instead.
|  
|       The error return is taken with error code 0 (ULNSH%) returned  in
|       the   accumulator,   if   the   indicated  low  segment  requires
|       non-sharable high-segments to be locked in memory.
|  
|  Related Calls
|  
|       LOCK, SEGOP.






























                                   22-584
                                                       USETI [OPCODE 074]


   22.185  USETI [OPCODE 074]




   Function

        Specifies a block on disk or DECtape  to  be  read,  written,  or
        updated.  This function can also be performed by SUSET. and FILOP
        calls.  (Use FILOP. to perform USETI on an extended I/O channel.)

        The monitor call sequence  for  reading  a  file  starting  at  a
        specific block is listed below:

             LOOKUP
             USETI
             INPUT

        The monitor call sequence  for  writing  a  file  starting  at  a
        specific block is shown below:

             ENTER
             USETO
             OUTPUT

        The monitor call sequence for updating a file is:

             LOOKUP
             ENTER
             USETO      ;or USETI
             OUTPUT     ;or INPUT

        If your job is privileged (that is, running with  the  JACCT  bit
        set  or running under [1,2]) and your program does not perform an
        ENTER before a USETO or a LOOKUP  before  a  USETI,  the  monitor
        performs super I/O.
|  
|       This function is enabled and disabled  with  a  MONGEN  question.
|       The  IO.IMP bit is set in the I/O status word if you attempt this
|       call  when  the  function  has  been  disabled.   You   can   use
|       FILOP. function  .FOUSI  to  perform  the  function regardless of
|       whether it was disabled with MONGEN
|  
        If your job is not privileged and your program does  not  perform
        an  ENTER  before a USETO or a LOOKUP before a USETI, the monitor
        sets IO.BKT in the I/O status word.

        The OPEN-ENTER-USETI sequence does not  perform  super  I/O.   It
        returns  an IO.IMP error.  Likewise, an IO.IMP error results from
        OPEN-LOOKUP-USETO.  Refer to  Chapter  11,  Volume  1,  for  more
        information about using file positioning calls.

   Calling Sequence

                                   22-585
   USETI [OPCODE 074]


                USETI   channo,n
                return

        where:  channo is the channel number for an initialized device.

                n is the number of the block to be used for I/O.
















































                                   22-586
                                                       USETI [OPCODE 074]


                For  DECtape,  the  block  number  is  relative  to   the
                beginning of the tape.

                For disk, n is a block number, when  the  file  is  open.
                When  the  call  is  not  preceded  by a LOOKUP, n is the
                address of a word where the block number is stored.  This
                is  a super-USETI call, because this method allows you to
                specify a block number, greater than 18 bits, relative to
                the beginning of the structure.

        The action of the USETI call on disk devices is determined by the
        value of n as follows:

        Value                            Meaning

        -n, n = 2 to 10 (octal)          The nth extended RIB is read.

        -1                               IO.EOF is set in the I/O  status
                                         word,  causing an end-of-file on
                                         the next  INPUT.   On  the  next
                                         OUTPUT,  the data is appended to
                                         the file.

        0                                The prime RIB  is  read  on  the
                                         next INPUT.

        1 to file size                   The block specified is  read  on
                                         next INPUT.  If the file size is
                                         greater than or equal to 777770,
                                         it  is  recommended that you use
                                         FILOP. function .FOUSI.

        file size to 777770              The IO.EOF bit is set in the I/O
                                         status    word,    causing    an
                                         end-of-file on the next INPUT.

   Related Calls

        FILOP., SUSET., USETO

   Common Errors

         o  Not synchronizing I/O with USETI or USETO.

         o  Not initializing a device on channo.









                                   22-587
   USETO [OPCODE 075]


   22.186  USETO [OPCODE 075]




   Function

        Selects a block on disk or  DECtape  to  be  written  by  an  OUT
        monitor  call.   This  function  can  be performed by SUSET.  and
        FILOP.   (Use  FILOP.   to  perform  USETO  on  an  extended  I/O
        channel.)  Refer  to  the USETI UUO and Chapter 11, Volume 1, for
        more information.

   Calling Sequence

                USETO   channo,n
                return

        Where:  channo is the channel number for an initialized device.

                n is the number of the I/O block.

                For DECtape, n  is  the  block  number  relative  to  the
                beginning of the tape.

                For disk, n is a block number if  a  previous  ENTER  has
                been used to open a file.  Otherwise, n is the address of
                a word that contains the block  number  relative  to  the
                beginning   of   the  structure  or  unit  (super-USETO),
                allowing you to specify a block number  greater  than  18
                bits.

        The action of the USETO call for disk is determined by the  value
        of n as follows:

        Value                            Meaning

        -n for n = 2 to 10 (octal)       Equivalent To a USETO 777776  to
                                         777770; you may not write to the
                                         RIBs of a file.

        -1                               The  most  recently   input   or
                                         output  block  is  re-written on
                                         the next OUTPUT.

        0                                The IO.BKT is set  in  the  file
                                         status word.

        1 to file size                   The specified block  is  written
                                         on the next OUTPUT.  If the file
                                         size is greater than or equal to
                                         777777,  it  is recommended that
                                         you use FILOP. function .FOUSO.

                                   22-588
                                                       USETO [OPCODE 075]


        Value                            Meaning

        file size to 777776              The monitor allocates all blocks
                                         from  the  block after file size
                                         to  the  block  before  the  one
                                         specified.  Each block allocated
                                         is  written  with  zeros.    The
                                         block   specified  is  the  next
                                         block  written   in   the   next
                                         OUTPUT.

   Related Calls

        FILOP., SUSET., USETI

   Common Errors

         o  Not synchronizing I/O with USETI or USETO.

         o  Not initializing a device on channo.


































                                   22-589
   UTPCLR [CALLI 13]


   22.187  UTPCLR [CALLI 13]




   Function

        Clears a DECtape directory.  Use FILOP. to perform UTPCLR  on  an
        extended  I/O  channel.   The  UTPCLR monitor call is a no-op for
        other devices.

   Calling Sequence

                UTPCLR  channo,
                return

        where:  channo is the channel number for an initialized device.

   Normal Return

        The monitor clears the directory by clearing the first  83  words
        (except  those  7-bit  bytes  describing blocks 0, 1, 2, 100, and
        1102 through 1105 octal).

   Common Errors

         o  I/O to unassigned channel at user PC xxxxxx.

         o  Forgetting  to  place  the  channel  number  in   channo   or
            forgetting the comma after channo.

         o  Not initializing a DECtape on channo.






















                                   22-590
                                                        UTRP. [CALLI 174]


   22.188  UTRP. [CALLI 174]




   Function

        Sets or reads user trap instructions.  This UUO allows a user  to
        handle  non-zero section LUUOs, arithmetic overflows, or pushdown
        list overflows by depositing instructions in locations  420,  421
        and  422  in  the  UPMP.  Usually these instructions are calls to
        user-supplied subroutines.

   Calling Sequence

                MOVE   ac,[XWD fcncode,addr]
                UTRP. ac,
                  error return
                normal return
                . . .
        addr:   length
                trapno
                trapinstr
                . . .
                trapno
                trapinstr

        where:  fcncode is one of the function codes described below.

                addr is the address of the argument list.

                length is the number of words in the argument list.

                trapno is the number of a trap.  Trap numbers are  listed
                below.

                trapinstr is the instruction to call the trap routine.

        The function codes and their meanings are:

        Code   Symbol    Meaning

          0    .UTRED    Reads the contents of the trap location.  A zero
                         opcode cannot be used as a trap instruction, but
                         a  zero  fullword  here  will  restore   monitor
                         handling of the specific condition.

          1    .UTSET    Sets the contents of the trap location.






                                   22-591
   UTRP. [CALLI 174]


        The trap numbers are:

        Code   Symbol    Meaning
|  
|         0    .UTLUU    Stores the address of the 4-word LUUO trap block
|                        in the UPT.
|  
|         1    .UTAOF    Arithmetic overflow trap  instruction  (location
|                        421 in the UPMP).
|         2    .UTPOV    Pushdown   list   overflow   trap    instruction
|                        (location 422 in the UPMP).

   Normal Return

        The specified traps are cleared or set.

   Error Return

        One of the following error codes is returned in the ac:

        Code   Symbol    Error

          1    UTIAD%    Illegal address.
          2    UTUKF%    Unknown function.
          3    UTITN%    Illegal trap number.
          4    UTIUT%    Illegal user trap instruction.

   Related Calls

        ABRENB, .JBINT trapping, PSI system
























                                   22-592
                                                          WAIT [CALLI 10]


   22.189  WAIT [CALLI 10]




   Function

        Causes program execution to wait until all data transmissions  on
        a  given channel are completed.  Use FILOP. to perform WAIT on an
        extended I/O channel.

   Calling Sequence

                WAIT    channo,
                return

        where:  channo is the channel number for an initialized device.

   Normal Return

        The monitor stops your program's execution until transmissions on
        the channel are completed.

   Common Errors

         o  Using WAIT on a tape which is spacing (see MTWAT.).

         o  Not initializing a device on channo.

         o  Omitting the comma after channo.
























                                   22-593
   WAKE [CALLI 73]


   22.190  WAKE [CALLI 73]




   Function

        Sets the wake bit for a specified job.

   Calling Sequence

                MOVEI   ac,jobno
                WAKE    ac,
                  error return
                normal return

        Where:  jobno is the number of a logged-in job (use  -1  for  the
                current job).

        You can design a real-time  process  control  job  to  run  other
        process  control jobs when specific alarm conditions occur.  WAKE
        can be called from an RTTRP job running at interrupt level;  this
        allows  the  real-time  job  to  wake its background quickly when
        necessary.  See  the  RTTRP  monitor  call  for  restrictions  on
        accumulators when calling from the interrupt level.

        If your job does not have  the  required  privileges,  the  error
        return  occurs  and  the monitor clears the ac.  A JACCT or [1,2]
        job may WAKE any job.  If any condition enabled in the last HIBER
        call  occurs, the wake bit for the job is set.  At the next HIBER
        call, the wake bit is cleared and  the  monitor  returns  at  the
        normal  return  immediately.   The wake bit prevents the job from
        oversleeping a wake condition.

   Normal Return

        The specified job is awake and resumes execution  at  the  normal
        return for the HIBER call that made the job dormant.

   Error Return

        Your job did  not  have  the  required  privileges.   The  ac  is
        cleared.

   Related Calls

        Refer to the HIBER monitor call.







                                   22-594
                                                         WHERE [CALLI 63]


   22.191  WHERE [CALLI 63]




   Function

        Returns the node number for a device.

   Calling Sequence

              / MOVE     ac,[SIXBIT/device/]  \
             |  MOVEI    ac,channo             |
              \ MOVEI    ac,udx               /
                WHERE     ac,
                  error return
                normal return

        where:  device is the  SIXBIT  physical  or  logical  name  of  a
                device.

                channo is the number of an initialized channel.

                udx is the Universal Device Index for a device.

        When your program  specifies  OPR  as  the  device,  the  monitor
        returns  the  node number at which your job is logically located.
        Refer to the LOCATE command description in the Commands Manual.

        When your program  specifies  CTY  as  the  device,  the  monitor
        returns the node number of your job's host system.

        When your program  specifies  TTY  as  the  device,  the  monitor
        returns  the  node  number  to  which your terminal is physically
        located.

   Normal Return

        The monitor returns the status flags for the node  and  the  node
        number  for  the  given  device  in  the  ac.   The format of the
        returned word is:

        Bits   Symbol    Meaning

        0-12             Reserved for use by DIGITAL.
          13   RM.SDU    Dial-up node.








                                   22-595
   WHERE [CALLI 63]


        Bits   Symbol    Meaning

       14-17   RM.SUP    Status of the node:

                         Value  Symbol    Status

                           1    .RMSUN    Not  in  contact  with  central
                                          site.
                           2    .RMSUD    Down.
                           4    .RMSUG    Loading.
                          10    .RMSUL    Loaded.

       18-35             Node number for device.

   Error Return

        A nonexistent device was specified.

   Related Calls

        LOCATE, NODE., NETOP.

































                                   22-596











                                 CHAPTER 23

                               GETTAB TABLES



   The TOPS-10 monitor maintains  tables  that  contain  system  and  job
   information.   Values  from some of these tables can be retrieved by a
   program using the GETTAB monitor call.



   23.1  HOW TO USE GETTAB TABLES

   The calling sequence for GETTAB is:

           MOVE    ac,[XWD index,table]
           GETTAB  ac,
             error return
           normal return

   where:  ac is an accumulator.

           index is the index into the table, which may be a job  number,
           a  table  item number, a high-segment number, or a class code,
           depending on the table's organization.

           table is the symbolic name of the desired table.

   For those tables indexed by table item numbers, it is easier and  more
   reliable to use the calling sequence:

           MOVE   ac,[item]
           GETTAB ac,
             error return
           normal return

   where:  item is the symbolic name of the desired item  as  defined  in
           UUOSYM.   Using  this  calling sequence eliminates the need to
           name both the table and the item desired.   In  the  following
           table  descriptions, items marked by a * are described in more
           detail at the end of the table.



                                    23-1
   GETTAB TABLES


   For tables indexed by job numbers, use the index  -1  to  specify  the
   current  job;  use  the  index  -2  to  specify the job's current high
   segment.



   23.2  HOW TO USE GETTAB SUBTABLES

   Some GETTAB tables have subtables.  In this section, each subtable  is
   described  after  the  description  of  the table containing it.  Each
   subtable description includes the calling sequence for accessing items
   in the subtable.

   Each subtable has a single entry in  the  GETTAB  table.   This  entry
   returns  <length>B8+offset, where length is the length of the subtable
   and offset is the first entry in the GETTAB table that corresponds  to
   the subtable.

        Contents  Offset                  GETTAB Table


                      0                     entry 0


                      1                        1


         5B8+10       2               subtable 1 pointers


                      3                     entry 3


         4B8+15       4               subtable 2 pointers


                      5                     entry 5


                      6                     entry 6


                      7                     entry 7


                     10               subtable 1 (entry 0)


                     11





                                    23-2
                                                            GETTAB TABLES


        Contents  Offset                  GETTAB Table

        subtable
           1         12


                     13                        s


                     14                        c


                     15


                     16

        subtable
           2         17


                     20


   An example of the use of GETTAB subtables follows below:


             TITLE   GTRSP - Example of CPU response sub-GETTAB
             SUBTTL  Hanley A. Strappman 13-June-80 /HAS

             SEARCH  UUOSYM           ;Use standard symbols

   T1=1                               ;Accumulators
   T2=T1+1
   P1=5
   P=17

   PLN=100                            ;Length of program stack
             ARRAY   PDL[PLN]         ;The program stack

   NCPUS==6                           ;How many CPUs this program allows

   GTRSP:    JFCL                     ;In case of CCL RUN
             RESET                    ;Reset the world
             MOVE    P,[IOWD PLN,PDL] ;Set up stack
             MOVSI   P1,-NCPUS        ;For loop control
   LOOP:     HRRZ    T1,P1            ;Get number of next CPU
             PUSHJ   P,GETIT          ;Get the data
               JRST  NEXT             ;No such table





                                    23-3
   GETTAB TABLES


   ;Insert here the code to process the data, then

   NEXT:     AOBJN   P1,LOOP          ;Go on to next CPU
             EXIT                     ;Done

   ;Subroutine to return in T2 the number of TTY input-to-input
   ;UUO responses for the CPU specified by T1.

   GETIT:    LSH     T1,1             ;Variables table numbers go up by twos
                                      ; (for example, .GTC1V=.GTC0V+2)
             MOVE    T2,[%CCRSP]      ;CPU0's subtable pointer
             ADD     T2,T1            ;CPUn's subtable pointer
             GETTAB  T2,              ;Get base index of subtable
               POPJ  P,               ; ??? Must be an old monitor
             JUMPE   T2,CPOPJ         ;No such subtable
             ADDI    T2,%CVRNI        ;Add entry offset to subtable base

             HRL     T2,T2            ;This becomes the item number
             HRRI    T2,.GTCOV        ;Right half is table number which
             ADD     T2,T1            ; equals <CPU0 index> + 2*<CPU number>
             GETTAB  T2,              ;Finally get the subtable entry
               POPJ  P,               ; ???Must be an old monitor
             AOS     (P)              ;Skip return means good data in T2
   CPOPJ:    POPJ    P,               ;All done
             END     GTRSP



   23.3  ADDING ITEMS TO THE MONITOR'S GETTAB TABLES

   System programmers can add  words  (items)  to  the  monitor's  GETTAB
   tables.  The items added must have negative indexes, and must be added
   at the top of the table in the order -n, -(n-1), -(n-2),  ... -2,  -1.
   When  the  monitor  is  assembled, the range of valid indexes for each
   table must begin with the lowest (most negative) index, and proceed to
   the highest index.

   It is good programming practice to use a .UNV file containing  symbols
   for these items for use in programs.  This usage is similar to that of
   searching UUOSYM.UNV.














                                    23-4
                                                            GETTAB TABLES


   23.4  ADDING NEW GETTAB TABLES TO THE MONITOR

   System programmers  can  add  completely  new  GETTAB  tables  to  the
   monitor.   These  tables must have negative table numbers, and must be
   added at the beginning of COMMON.MAC in the order -n, -(n-1),  -(n-2),
   ... -2,  -1.   When the monitor is assembled, the range of valid table
   numbers must begin with the lowest (most negative) table  number,  and
   proceed to the highest table number.  Within these added tables, items
   must be indexed sequentially.

   For example, the system programmer can add a new table with the number
   -1.  This table must be added to the source code in the monitor module
   UUOCON.  The items in this table could begin  and  end  with  negative
   indexes;  for  example,  the indexes could begin with -14 and end with
   -1.  The items could begin with  a  negative  index  and  end  with  a
   positive  index; for example, the indexes could begin with -10 and end
   with 27.  Or the items could begin and end with  nonnegative  indexes;
   for example the indexes could begin with 0 and end with 15.




































                                    23-5
   GETTAB TABLES


   23.5  ALPHABETIC LISTING

   Because GETTAB tables are often referred  to  by  symbolic  name,  the
   following list of GETTAB tables is provided in alphabetical order:

        Symbol    Table No.    Description

        .GTABS    111           Address Break Word
        .GTADR      1           Job Relocation and Protection
|       .GTBTX    206           BOOT Text String
        .GTC0C     55           CPU0 CPU Data Block Constants
        .GTC0V     56           CPU0 CPU Data Block Variables
        .GTC1C     57           CPU1 CPU Data Block Constants
        .GTC1V     60           CPU1 CPU Data Block Variables
        .GTC2C     61           CPU2 CPU Data Block Constants
        .GTC2V     62           CPU2 CPU Data Block Variables
        .GTC3C     63           CPU3 CPU Data Block Constants
        .GTC3V     64           CPU3 CPU Data Block Variables
        .GTC4C     65           CPU4 CPU Data Block Constants
        .GTC4V     66           CPU4 CPU Data Block Variables
        .GTC5C     67           CPU5 CPU Data Block Constants
        .GTC5V     70           CPU5 CPU Data Block Variables
        .GTCAP    153           Job Capability Word
|       .GTCCM    204           Site-Specific Commands
|       .GTCHN 207              Channel Data Block Offsets
        .GTCM2     43           SET Command Names 
        .GTCMP    112           Obsolete
        .GTCMT     75           SET TTY Command Names
        .GTCMW    101           SET WATCH Command Names
        .GTCNF     11           System Configuration Table
        .GTCNO     33           Charge Number   
        .GTCOJ    122           Obsolete
        .GTCOM     30           Monitor Command Names    
        .GTCOR     27           Obsolete
        .GTCQP    121           Scheduler Class Quota    
        .GTCRS     44           Hardware Status After Crash   
        .GTCRT    123           Class Runtime     
        .GTCTX    175           Context Table
        .GTCVL    102           Current Page Limits    
        .GTDBS     21           Obsolete     
        .GTDCD    160           CONI/DATAI To Device Status Block 
        .GTDCF    116           Obsolete
        .GTDCN    164           SET DEFAULT Command Argument(s)
        .GTDDB    200           I/O Wait DDB
|       .GTDDH    211           Device Data Block Chain Headers
        .GTDEV     24           Segment Device or Structure   
        .GTDFL    140           User Defaults for Job    
|       .GTDVL    110           Obsolete
        .GTEBR    132           EBOX Jiffy Remainder    
        .GTEBT    131           KL10 EBOX Time     
        .GTEDN     72           Ersatz Device Names    



                                    23-6
                                                            GETTAB TABLES


        Symbol    Table No.    Description

        .GTENQ    127           ENQ/DEQ Statistics    
        .GTEQJ    163           ENQ/DEQ Queue Header    
        .GTETH    202           Ethernet Information
        .GTFET     71           Feature Test Settings             
        .GTGTB    155           GETTAB Immediate    
        .GTIDX    154           Range of GETTAB Tables    
        .GTIMI    176           Job Page Count
        .GTIMO    177           Swapped-Out Page Count
        .GTIPA    104           IPCF Statistics     
        .GTIPC     77           IPCF Miscellaneous Data    
        .GTIPI    106           PID for [SYSTEM]INFO    
        .GTIPP    105           IPCF Pointers and Counts   
        .GTIPQ    107           IPCF Flags and Quotas    
        .GTISC     45           Swap-In Scan Tables     
        .GTJLT    130           LOGIN Time for Job    
        .GTJTC    120           Job Type and Scheduler Class   
        .GTKCT      5           Job Kilo-Core Ticks    
|       .GTKDB    210           Controller Data Block Chain Headers
        .GTLIM     40           Time Limit and Batch Status   
        .GTLOC     26           Remote Station Number    
        .GTLBS    165           Large Buffer Size
        .GTLVD     16           Level D Disk Parameters    
        .GTMBR    134           MBOX Jiffy Remainder    
        .GTMBT    133           KL10 MBOX Time     
        .GTMVL    103           Maximum Page Limits    
        .GTNDB    161           Byte Pointers to Node Data Block  
        .GTNM1     31           User Name (first 6 characters)    
        .GTNM2     32           User Name (last 6 characters)   
        .GTNSW     12           Nonswapping Data Table    
|       .GTNSP    172           Obsolete
        .GTNTP    141           Network Performance Data   
|       .GTNXM    205           Nonexistent Memory Bit Table
        .GTOBI    157           WTO and Batch Data    
        .GTODP     15           ONCE-only Disk Parameters   
        .GTOSC     46           Swap-Out Scan Tables     
        .GTPC     152           Wait DDB and User PC    
        .GTPDB    162           Job PDB Word     
        .GTPID     76           Process Communication ID (IPCF)   
        .GTPPN      2           Job's PPN     
        .GTPRG      3           User Program Name    
        .GTPRV      6           Job Privilege Flags    
        .GTPTR    166           Program To Run
        .GTQJB     42           Obsolete
        .GTQQQ     41           Obsolete
        .GTRCT     17           Disk Blocks Read    
        .GTRDI    136           Program Run Directory    
        .GTRDV    135           Program Run Device    
        .GTRFN    137           Program Run File name    




                                    23-7
   GETTAB TABLES


        Symbol    Table No.    Description

        .GTRS0    145           First SFD in Run Path    
        .GTRS1    146           Second SFD in Run Path    
        .GTRS2    147           Third SFD in Run Path    
        .GTRS3    150           Fourth SFD in Run Path    
        .GTRS4    151           Fifth SFD in Run Path    
        .GTRSP     50           Response Counter Table    
        .GTRTD     37           Realtime Status Words    
        .GTSCN     73           Scanner Data     
        .GTSDT     13           Swapping Data Table
        .GTSGN     14           High Segment Parameters    
|       .GTSG2    203           Obsolete
        .GTSID    126           Special PID Table    
        .GTSLF     23           GETTAB Table Data    
        .GTSNA     74           Last SEND ALL in 9-bit    
        .GTSPA    142           Scheduler Performance Data   
        .GTSPL     36           Spooling Control Flags    
        .GTSPS     54           Status of Subsequent Processors   
        .GTSQ     125           Obsolete
        .GTSQH    124           Obsolete
        .GTSSC     47           Scheduler Scan Tables    
        .GTSST    115           Scheduler Statistics    
        .GTST2    117           Second Job Status Word    
        .GTSTS      0           Job Status Word     
        .GTSWP      7           Job Swapping Parameters    
        .GTSYS     51           System-Wide Data    
|       .GTTCN    212           Terminal Class Names
        .GTTDB     22           Obsolete
        .GTTIM      4           User Runtime     
        .GTTMP     34           Obsolete
        .GTTNM    156           Terminal Type Names    
        .GTTRQ     53           Time in Run Queue    
        .GTTTY     10           Job's Controlling Terminal   
        .GTUPM    100           Physical Page Number of UPMP   
        .GTUUC    144           Monitor Calls Executed            
        .GTVIR    201           Job's Virtual Size
        .GTVKS    143           Virtual Kilo-Core Ticks    
        .GTVM     113           Virtual Memory Data    
        .GTVRT    114           Paging Rage     
        .GTWCH     35           Watch Bits     
        .GTWCT     20           Disk Blocks Written    
        .GTWHY     52           Operator Reload Comments   
        .GTWSN     25           Names of Wait States    




   23.6  TOPS-10 GETTAB TABLES

   The remainder of this chapter describes  the  TOPS-10  GETTAB  tables.
   For  each  table,  the contents of the table, the indexing scheme, the


                                    23-8
                                                            GETTAB TABLES


   GETTAB calling sequence, and a word map for the table  are  described.
   The  description  of  each  GETTAB  table also includes the associated
   monitor table.  The  monitor  tables  are  described  in  the  TOPS-10
   Monitor   Tables  descriptions,  available  in  the  TOPS-10  Software
   Notebook Set.

















































                                    23-9
   GETTAB TABLES


                                  .GTSTS - Job Status Word
                                       GETTAB Table 0



   Contents         One word for each job running on the  system,  giving
                    the  status word for the job.  (There is a second job
                    status word in GETTAB table .GTST2, Number 117.)  The
                    bits  in the job status word may vary from monitor to
                    monitor; therefore you should not reference .GTSTS in
                    a program that is monitor-independent.

   Indexed by       Job number or segment number
|  
|  Monitor table    JBTSTS

   Calling                  MOVE    ac,[XWD jobno,.GTSTS]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job) or a high-segment number (use -2
                    for the current high segment).

                    |=======================================================|
                    |                      Job status                       |
                    |=======================================================|

                    The only documented bit in this word  is  JS.XO  (Bit
                    25),  which indicates a program that is execute-only.
                    Refer to the Monitor  Tables  descriptions  for  more
                    information about the job status bits.





















                                   23-10
                                                            GETTAB TABLES


                                .GTADR - Job Relocation Worda
                                       GETTAB Table 1



   Contents         One word for each job running on the  system,  giving
                    the  relocation memory address and the length of each
                    job.  vary from monitor  to  monitor;  therefore  you
                    should  not  reference  .GTADR  in  a program that is
                    monitor-independent.

   Indexed by       Job number or segment number.

   Monitor Table    JBTADR

   Calling                  MOVE    ac,[XWD jobno,.GTADR]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job) or a high-segment number (use -2
                    for the current high segment).
|  
|                   |=======================================================|
|                   |  Length-1             | Job Relocation address        |
|                   |=======================================================|



























                                   23-11
   GETTAB TABLES


                             .GTPPN - Project-programmer Number
                                       GETTAB Table 2



   Contents         One word for each job running on the  system,  giving
                    the project-programmer number (PPN) for the job.

   Indexed by       Job number or segment number.

   Monitor Table    JBTPPN

   Calling                  MOVE    ac,[XWD jobno,.GTPPN]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job) or a high-segment number (use -2
                    for the current high segment).

                    |=======================================================|
                    |               Project-programmer number               |
                    |=======================================================|

                    where project-programmer number is the job's  PPN  or
                    the segment owner's PPN.

                    If the high segment's file is in an SFD, this word is
                    returned  as 0,,path-pointer, where path-pointer is a
                    pointer to a path  block  in  monitor  memory.   PEEK
                    privileges  are  required  to read the monitor's path
                    block.





















                                   23-12
                                                            GETTAB TABLES


                                 .GTPRG - User Program Name
                                       GETTAB Table 3



   Contents         One word for each job running on the  system,  giving
                    the SIXBIT name of the current user program.

   Indexed by       Job number or segment number.
|  
|  Monitor Table    JBTPRG

   Calling                  MOVE    ac,[XWD jobno,.GTPRG]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job) or a high-segment number (use -2
                    for the current high segment).

                    |=======================================================|
                    |                  SIXBIT program name                  |
                    |=======================================================|

                    For jobs, this is the program name that can be set by
                    SETNAM.  The default is the file name of the runnable
                    program (.EXE  file).   For  segments,  this  is  the
                    segment  name.   If the segment is not sharable, 0 is
                    returned.  If sharable, it is the file  name  of  the
                    .EXE file.























                                   23-13
   GETTAB TABLES


                                    .GTTIM - User Runtime
                                       GETTAB Table 4



   Contents         One word for each job running on the  system,  giving
                    the total runtime (in jiffies) for the job.
|  
|  Indexed by       PDB Word
|  
|  Monitor Table    .PDTTM

   Calling                  MOVE    ac,[XWD jobno,.GTTIM]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job).

                    |=======================================================|
                    |                Total runtime in ticks                 |
                    |=======================================================|































                                   23-14
                                                            GETTAB TABLES


                                .GTKCT - Job Kilo-Core Ticks
                                       GETTAB Table 5



   Contents         One word for each job running on the  system,  giving
                    the total kilo-core ticks for the job.  This value is
                    equivalent to the product  of  the  number  of  clock
                    ticks  in the job's runtime and the average number of
                    Ks of core used in each tick.
|  
|  Indexed by       PDB Word
|  
|  Monitor Table    .PDKCT

   Calling                  MOVE    ac,[XWD jobno,.GTKCT]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                    Kilo-core ticks                    |
                    |=======================================================|




























                                   23-15
   GETTAB TABLES


                                .GTPRV - Job Privilege Flags
                                       GETTAB Table 6



   Contents         One word for each job running on the  system,  giving
                    the privilege bits for the job.

   Indexed by       Job number.

   Monitor Table    JBTPRV

   Calling                  MOVE    ac,[XWD jobno,.GTPRV]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |==================================================|
                    |                Job privilege bits                |
                    |==================================================|

                    Privilege bits for each job are as follows:

                    Bits   Symbol    Privilege

                      0    JP.IPC    IPCF privilege.
                     1-2   JP.DPR    Highest disk priority for the job (a
                                     value in the range 0 to 3).
                      3    JP.MET    METER. privilege.
                      4    JP.POK    POKE. privilege.
                      5    JP.CCC    Privilege     to     change      CPU
                                     specification  with either a command
                                     or a monitor call.
                     6-9   JP.HPQ    Highest     high-priority      queue
                                     available to the job (a value in the
                                     range 0 to 17 octal).
                     10    JP.NSP    Device unspooling privilege.
                     11    JP.ENQ    ENQ/DEQ privilege (allows you to use
                                     -2 (.EQFGL) in the ENQ. block to set
                                     global privileges).
                     12    JP.ADM    System Administrator privilege  (job
                                     can change REACT accounting files).
                     13    JP.RTT    RTTRP privilege.
                     14    JP.LCK    LOCK privilege.
                     15    JP.TRP    TRPSET privilege.
                     16    JP.SPA    PEEK and SPY privilege for any core.
                     17    JP.SPM    PEEK and SPY privilege  for  monitor
                                     core.

                    Bits in the right  half  are  reserved  for  customer
                    definition.
                                   23-16
                                                            GETTAB TABLES


                              .GTSWP - Job Swapping Parameters
                                       GETTAB Table 7



   Contents         One word for each job running on the  system,  giving
                    the swapping parameters for the job.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.
|  
|  Indexed by       Job number or segment number

   Monitor Table    JBTSWP

   Calling                  MOVE    ac,[XWD jobno,.GTSWP]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a  logged-in  job  or  a
                    program segment number.  Use -1 for the current job.

                    |=======================================================|
                    |                  Swapping parameters                  |
                    |=======================================================|


























                                   23-17
   GETTAB TABLES


                             .GTTTY - Job's Controlling Terminal
                                       GETTAB Table 10



   Contents         One word for each job running on the  system,  giving
                    the controlling terminal for the job.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Job number.

   Monitor Table    TTYTAB

   Calling                  MOVE    ac,[XWD jobno,.GTTTY]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.
|  
|                   |=======================================================|
|                   |       Reserved           | Controlling terminal's DDB |
|                   |=======================================================|

                    The right half contains the address of  the  DDB  for
                    the  job's  controlling  TTY.   This  is  always  the
                    address of the DDB, even if the job is detached.   If
                    0, there is no such job number.





















                                   23-18
                                                            GETTAB TABLES


                             .GTCNF - System Configuration Table
                                       GETTAB Table 11



   Contents         Data describing  the  current  configuration  of  the
                    system.

   Indexed by       Item number.

   Monitor Table    CNFTBL

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map  below.   When  an  item name is followed by a *,
                    that item is more fully described at the end  of  the
                    table.

   Word     Symbol    Map

                    +=======================================================+
   0,,11    %CNFG0  |          System name (1st of 5 ASCIZ words)           |
                    |-------------------------------------------------------|
   1,,11    %CNFG1  |          System name (2nd of 5 ASCIZ words)           |
                    |-------------------------------------------------------|
   2,,11    %CNFG2  |          System name (3rd of 5 ASCIZ words)           |
                    |-------------------------------------------------------|
   3,,11    %CNFG3  |          System name (4th of 5 ASCIZ words)           |
                    |-------------------------------------------------------|
   4,,11    %CNFG4  |          System name (5th of 5 ASCIZ words)           |
                    |=======================================================|
   5,,11    %CNDT0  |      System creation date (1st of 2 ASCIZ words)      |
                    |-------------------------------------------------------|
   6,,11    %CNDT1  |      System creation date (2nd of 2 ASCIZ words)      |
                    |=======================================================|
   7,,11    %CNTAP  |             SIXBIT name of system device              |
                    |=======================================================|
   10,,11   %CNTIM  |             Encoded time of day in jiffies            |
                    |=======================================================|
   11,,11   %CNDAT  |          Encoded date (15-bit binary format)          |
                    |=======================================================|
   12,,11   %CNSIZ  |             System memory size (in words)             |
                    |=======================================================|
   13,,11   %CNOPR  |              SIXBIT name of operator TTY              |
                    |=======================================================|
   14,,11   %CNDEV  |    Start of DDB chain     |         Reserved          |
                    |=======================================================|
   15,,11   %CNSJN  |-(Max number of high segs) |Max number of current jobs |
                    |=======================================================|

                                   23-19
   GETTAB TABLES


                    |=======================================================|
   16,,11   %CNTWR  |        Two-register hardware and software flag        |
                    |=======================================================|
   17,,11   %CNSTS* |   Feature test switches   |       Switch states       |
                    |=======================================================|
   20,,11   %CNSER  |                  CPU0 serial number                   |
                    |=======================================================|
   21,,11   %CNNSM  |        Number of nanoseconds per memory cycle         |
                    |=======================================================|
   22,,11   %CNPTY  | Number of 1st PTY (CTY+1) | Number of PTYs in system  |
                    |=======================================================|
   23,,11   %CNFRE  |           Pointer to bit map of core blocks           |
                    |=======================================================|
   24,,11   %CNLOC  |          Address of low-segment core blocks           |
                    |=======================================================|
   25,,11   %CNSTB  |                       Obsolete                        |
                    |=======================================================|
   26,,11   %CNOPL  |     Pointer to line data block (LDB) of OPR TTY       |
                    |=======================================================|
   27,,11   %CNTTF  |              Pointer to TTY free chunks               |
                    |=======================================================|
   30,,11   %CNTTC  |   Number of TTY chunks    | Address of 1st TTY chunk  |
                    |=======================================================|
   31,,11   %CNTTN  |               Number of free TTY chunks               |
                    |=======================================================|
   32,,11   %CNLNS  |            Pointer to current command TTY             |
                    |=======================================================|
   33,,11   %CNLNP  |-Number of TTY+PTY+CTY lines | Addr of LINTAB          |
                    |=======================================================|
   34,,11   %CNVER  |                Monitor version number                 |
                    |=======================================================|
   35,,11   %CNDSC  |-Len of dataset ctrl tbl  |  Address of control table  |
                    |=======================================================|
   36,,11   %CNDLS  |                       Obsolete                        |
                    |=======================================================|
   37,,11   %CNCCI  |                       Obsolete                        |
                    |=======================================================|
   40,,11   %CNSGT  | Ptr to last dormant seg deleted to free a seg number  |
                    |=======================================================|
   41,,11   %CNPOK  |     Last location changed by a POKE. monitor call     |
                    |=======================================================|
   42,,11   %CNPUC  | Job that made last POKE.  |   Number of POKE.s made   |
                    |=======================================================|
   43,,11   %CNWHY  |    SIXBIT reason for last reload (operator input)     |
                    |=======================================================|
   44,,11   %CNTIC  |           Number of clock ticks per second            |
                    |=======================================================|
   45,,11   %CNPDB  |  Pointer to process data block (PDB) pointer tables   |
                    |=======================================================|
   46,,11   %CNRTC  |        Resolution of runtime clock (units/sec)        |
                    |=======================================================|
   47,,11   %CNCHN  | Ptr to channel data block |         Reserved          |
                    |=======================================================|

                                   23-20
                                                            GETTAB TABLES


|                   |=======================================================|
|  50,,11   %CNLMX  |       Maximum number of logged-in jobs allowed        |
|                   |=======================================================|
|  51,,11   %CNBMX  |         Maximum number of batch jobs allowed          |
|                   |=======================================================|
|  52,,11   %CNBMN  |       Minimum number of jobs reserved to batch        |
|                   |=======================================================|
|  53,,11   %CNDTM  |        Date/time in universal date/time format        |
|                   |=======================================================|
|  54,,11   %CNLNM  |               Number of jobs logged in                |
|                   |=======================================================|
|  55,,11   %CNBNM  |            Number of batch jobs logged in             |
|                   |=======================================================|
|  56,,11   %CNYER  |                     Current year                      |
|                   |=======================================================|
|  57,,11   %CNMON  |                     Current month                     |
|                   |=======================================================|
|  60,,11   %CNDAY  |               Current day of the month                |
|                   |=======================================================|
|  61,,11   %CNHOR  |                  Current hour (0-23)                  |
|                   |=======================================================|
|  62,,11   %CNMIN  |                 Current minute (0-59)                 |
|                   |=======================================================|
|  63,,11   %CNSEC  |                 Current second (0-59)                 |
|                   |=======================================================|
|  64,,11   %CNGMT  |            Offset from Greenwich Mean Time            |
|                   |            (such that %CNGMT +%CNDTM = GMT)           |
|                   |=======================================================|
|  65,,11   %CNDBG_*|                     Debug status                      |
|                   |=======================================================|
|  66,,11   %CNFRU  |     Number of free core blocks in use by monitor      |
|                   |=======================================================|
|  67,,11   %CNTCM  |                Addr of last TTY chunk                 |
|                   |=======================================================|
|  70,,11   %CNCVN  |    Customer version number (JOBDAT loc. 136)          |
|                   |-------------------------------------------------------|
|  71,,11   %CNDVN  |    DIGITAL version number (JOBDAT loc. 137)           |
|                   |=======================================================|
|  72,,11   %CNDFC  |      Number of DF10 data channels on the system       |
|                   |=======================================================|
|  73,,11   %CNRTD  |              Number of realtime devices               |
|                   |=======================================================|
|  74,,11   %CNHPQ  |            Number of high-priority queues             |
|                   |=======================================================|
|  75,,11   %CNLDB  |   TTY device data blk wrd pointing to line data blk   |
|                   |=======================================================|
|  76,,11   %CNMVO  |           Maximum vector offset for PISYS.            |
|                   |-------------------------------------------------------|
|  77,,11   %CNMIP  |              Maximum priority for PISYS.              |
|                   |=======================================================|
|  100,,11  %CNMER  |Offset of MTA err rep word |  Address of 1st MTA DDB   |
|                   |=======================================================|


                                   23-21
   GETTAB TABLES


|                   |=======================================================|
|  101,,11  %CNET1  |        User address of exec AC T1 (for DAEMON)        |
|                   |=======================================================|
|  102,,11  %CNLSD  |           Length of short device data block           |
|                   |-------------------------------------------------------|
|  103,,11  %CNLLD  |           Length of long device data block            |
|                   |-------------------------------------------------------|
|  104,,11  %CNLDD  |           Length of disk device data block            |
|                   |=======================================================|
|  105,,11  %CNEXM  |   Addr in JOBDAT of last Examine or Deposit command   |
|                   |=======================================================|
|  106,,11  %CNST2* |             Software configuration flags              |
|                   |=======================================================|
|  107,,11  %CNPIM  |              Minumum condition in PISYS.              |
|                   |=======================================================|
|  110,,11  %CNPIL  |                Length of internal PITs                |
|                   |=======================================================|
|  111,,11  %CNPIA  |                   Address of JBTPIA                   |
|                   |=======================================================|
|  112,,11  %CNMNT* |                     Monitor type                      |
|                   |=======================================================|
|  113,,11  %CNOCR  |    Addr of 1st CDR DDB    |   Offset to card count    |
|                   |-------------------------------------------------------|
|  114,,11  %CNOCP  |    Addr of 1st CDP DDB    |   Offset to card count    |
|                   |=======================================================|
|  115,,11  %CNPGS  |          Unit of core allocation (in words)           |
|                   |-------------------------------------------------------|
|  116,,11  %CNMMX  |Maximum allowable CORMAX (total phys mem for all jobs  |
|                   |=======================================================|
|  117,,11  %CNNSC  |              Number of scheduler classes              |
|                   |=======================================================|
|  120,,11  %CNUTF  |             Exponential user time factor              |
|                   |=======================================================|
|  121,,11  %CNHSO  |       Address of start of monitor high segment        |
|                   |=======================================================|
|  122,,11  %CNHSL  |            Length of monitor high segment             |
|                   |=======================================================|
|  123,,11  %CNNWC  | Number of words in core (highest addr of on-line mem) |
|                   |=======================================================|
|  124,,11  %CNNXM  |    AOBJN pointer to NXMTAB used to scan for zeros     |
|                   |=======================================================|
|  125,,11  %CNNDB  |          Addr of 1st network node data block          |
|                   |=======================================================|
|  126,,11  %CNTKB  |           Offset in MTA KDB of addr of CDB            |
|                   |=======================================================|
|  127,,11  %CNDDC  | Offset into TTY DDB of character counts (Obsolete)    |
|                   |=======================================================|
|  130,,11  %CNHDL  |             Potentially hung device list              |
|                   |=======================================================|
|  131,,11  %CNBTX  |         Address of reload .CCL text for BOOT          |
|                   |=======================================================|



                                   23-22
                                                            GETTAB TABLES


|                   |=======================================================|
|  132,,11  %CNTDB  |           Offset in MTA UDB of addr of DDBs           |
|                   |=======================================================|
|  133,,11  %CNMTK  |  Address of first MTA KDB in system (Obsolete)        |
|                   |=======================================================|
|  134,,11  %CNCPU  |         Number of CPUs monitor was built for          |
|                   |=======================================================|
|  135,,11  %CNDJB  |             Byte pointer to jobno in DDB              |
|                   |=======================================================|
|  136,,11  %CNSUP  |                     System uptime                     |
|                   |=======================================================|
|  137,,11  %CNBCP  |                 Bootstrap CPU number                  |
|                   |=======================================================|
|  140,,11  %CNBCL  |               Bootstrap CTY line number               |
|                   |=======================================================|
|  141,,11  %CNNCR  |             Number of CPUs allowed to run             |
|                   |=======================================================|
|  142,,11  %CNMBS  |     Monitor bootstrap file structure (from BOOT)      |
|                   |-------------------------------------------------------|
|  143,,11  %CNMBF  |              Monitor bootstrap file name              |
|                   |-------------------------------------------------------|
|  144,,11  %CNMBX  |           Monitor bootstrap file extension            |
|                   |-------------------------------------------------------|
|  145,,11  %CNMBD  |           Monitor bootstrap file directory            |
|                   |=======================================================|
|  146,,11  %CNBPM  |     Maximum number of SNOOP. breakpoints allowed      |
|                   |=======================================================|
|  147,,11  %CNMXF  |    First free virtual address above the monitor       |
|                   |=======================================================|
|  150,,11  %CNLVO  |          Virtual address where LDBs start             |
|                   |=======================================================|
|  151,,11  %CNHXC  |     Maximum number of FILOP. extended channels        |
|                   |=======================================================|
|  152,,11  %CNVSH  |    Monitor virtual start address of high segment      |
|                   |=======================================================|
|  153,,11  %CNRST  |       Universal date/time of last role switch         |
|                   |               on multiple CPU systems                 |
|                   |=======================================================|
|  154,,11  %CNDCH  |              Offset into LDB of LDBDCH                |
|                   |=======================================================|
|  155,,11  %CNSF1  |              Monitor bootstrap 1st SFD                |
|                   |=======================================================|
|  156,,11  %CNSF2  |              Monitor bootstrap 2nd SFD                |
|                   |=======================================================|
|  157,,11  %CNSF3  |              Monitor bootstrap 3rd SFD                |
|                   |=======================================================|
|  160,,11  %CNSF4  |              Monitor bootstrap 4th SFD                |
|                   |=======================================================|
|  161,,11  %CNSF5  |              Monitor bootstrap 5th SFD                |
|                   |=======================================================|
|  162,,11  %CNFLN  |                TTY number of FRCLIN                   |
|                   |=======================================================|


                                   23-23
   GETTAB TABLES


|                   |=======================================================|
|  163,,11  %CNPNP  |                Pointer to PTY table                   |
|                   |=======================================================|
|  164,,11  %CNCAT  |         Pointer to network link address table         |
|                   |=======================================================|
|  165,,11  %CNLPD  |                   Length of PDB                       |
|                   |=======================================================|
|  166,,11  %CNJPK* |             Max. size of JOBPEK transfers             |
|                   |=======================================================|
|  167,,11  %CNDAE* |          Previous and current monitor versions        |
|                   |=======================================================|
|  170,,11  %CNHSH  |             AOBJN pointer to ENQ. HSHTAB              |
|                   |=======================================================|
|  171,,11  %CNACS  |           Offset to PDB for account string            |
|                   |=======================================================|
|  172,,11  %CNTOP  |           Pointer to TRMOP. dispatch table            |
|                   |=======================================================|
|  173,,11  %CNSFD  |                   Pointer to JBTSFD                   |
|                   |=======================================================|
|  174,,11  %CNCIP  |                   Pointer to CIPWT                    |
|                   |=======================================================|
|  175,,11  %CNPRV  |     Privilege word to be used by privileged jobs      |
|                   |                 (FRCLIN, INITIA)                      |
|                   |=======================================================|
|  176,,11  %CNCV1  |      First word of CTERM version string (8-bit)       |
|                   |=======================================================|
|  177,11   %CNCV2  |     Second word of CTERM version string (8-bit)       |
|                   |=======================================================|
|  200,11   %CNLHN  |         Pointer to LAT host node data base            |
|                   |=======================================================|
|  201,,11  %CNIVM  |         "AND" mask for .GTIMI/.GTIMO/.GTVIR           |
|                   |=======================================================|
|  202,,11  %CNACB  |      Address of first Allocation Control Block        |
|                   |=======================================================|
|  203,,11  %CNAHB  |      Address of first Allocation Header Block         |
|                   |=======================================================|
|  204,,11  %CNIDB  |         Address of IPA20 DRAM dump buffer             |
|                   |=======================================================|
|  204,,11  %CNDTT  |           System-default terminal type                |
|                   +=======================================================+














                                   23-24
                                                            GETTAB TABLES


   The items in the configuration table are defined below:

        Item   Symbol  Contains

        17     %CNSTS  Feature test switch flags and switch  state  flags
                       are as follows:

                       Bits   Symbol    Feature or State

                          0   ST%DSK    Disk system.
                          1   ST%SWP    Swapping system.
                          2   ST%LOG    LOGIN system.
                          3   ST%FTT    Full duplex TTY software.
                          4   ST%PRV    Privileged features exist.
                          5   ST%TWR    Software      is      two-segment
                                        (reentrant).
                          6   ST%CYC    System clock runs at 50 Hz.
                          9   ST%TDS    Type of disk system:
                                             0 = 4-series
                                             1 = 5-series
                                             2 = spooled disk
                         10   ST%IND    Independent PPNs on disk.
                         11   ST%IMG    Image mode supported on TTYs.
                         12   ST%DUL    Dual-processor system.
                         13   ST%MRB    Multiple RIBs supported.
                         14   ST%HPT    High-precision  time   accounting
                                        supported.
                         15   ST%EMO    Monitor  overhead  excluded  from
                                        accounting.
                         16   ST%RTC    System has realtime clock (DK10).
                         17   ST%MBF    System supports FOROTS.
                      18-25             Reserved.
                         26   ST%NDL    No automatic  down-line  load  of
                                        DC72,   DC71,  and  DAS80  series
                                        remote stations.
                         27   ST%NOP    No operator coverage.
                         28   ST%NSP    Device unspooling allowed without
                                        privilege.
                         29   ST%ASS    System     assigning/initializing
                                        restricted devices allowed.
                         32   ST%NRT    No remote TTYs.
                         33   ST%BON    Batch jobs only.
                         34   ST%NRL    No remote logging-in.
                         35   ST%NLG    No  logging-in  except   operator
                                        CTY.

        65     %CNDBG  Debugging flags are as follows:

                       Bits   Symbol    Meaning

                          0   ST%DBG    System debugging allowed.
                          1   ST%RDC    Reload system on DEBUG stopcode.
                          2   ST%RJE    Reload system on JOB stopcode.
                          3   ST%NAR    No automatic reloading.
                                   23-25
   GETTAB TABLES


|                         4   ST%CP1    Reload on CPU stopcode.
|                         5   ST%DDC    Don't dump on DEBUG stopcode.
|                         6   ST%DJE    Don't dump on JOB stopcode.
|                         7   ST%DCP    Don't dump on CPU stopcode.
|                      8-14             Reserved.
|                        15   ST%RLD    Last stopcode cause a reload.
|                     16-17             Reserved.
                         18   ST%BP0    CPU0 can enter  EDDT  mode  using
                                        XCT .C0DDT.
                         19   ST%BP1    CPU1 can enter  EDDT  mode  using
                                        XCT .C1DDT.
                         20   ST%BP2    CPU2 can enter  EDDT  mode  using
                                        XCT .C2DDT.
                         21   ST%BP3    CPU3 can enter  EDDT  mode  using
                                        XCT .C3DDT.
                         22   ST%BP4    CPU4 can enter  EDDT  mode  using
                                        XCT .C4DDT.





































                                   23-26
                                                            GETTAB TABLES


        Item   Symbol  Contains

                       Bits   Symbol    Meaning
                         23   ST%BP5    CPU5 can enter  EDDT  mode  using
                                        XCT .C5DDT.
                        77B23 ST%BPT    Mask for all CPU breakpoint bits.

        106    %CNST2  Configuration feature flags are as follows:

                       Bits   Symbol    Feature
|  
|                        5    ST%NSE    Disable KS10  soft  memory  error
|                                       messages.
                         6    ST%END    DECnet is running as an  Ethernet
                                        end node.
                         7    ST%NPP    Disabled     starting     primary
                                        protocol on DTEs.
                         8    ST%RCM    Restricted commands monitor.
                         9    ST%EXA    Extended addressing in effect.
                        10    ST%D36    Monitor  has  DECnet  Phase   III
                                        code.
                        11    ST%KLP    Monitor uses KL-paging.
                        12    ST%MDA    Mountable device allocation is in
                                        effect.
                        13    ST%LSC    Low segment of monitor is cached.
                        14    ST%ACV    Account validation.
                        15    ST%NER    Version 6.03 error reporting.
                        16    ST%NCS    Scheduler is not a  class  system
                                        scheduler.
                        17    ST%ITA    Interval timer available.
                        18    ST%NDN    Network devices have names of the
                                        form   gggnnu,  where  ggg  is  a
                                        generic  device  name  (such   as
                                        TTY),  nn  is the last two digits
                                        of the node number, and u is  the
                                        unit number.
                        19    ST%XPI    PI time excluded from runtime.
                        20    ST%ERT    EBOX/MBOX runtime (KL10 only).
                        21    ST%EXE    .EXE files written  by  SAVE  and
                                        SSAVE.
                        22    ST%NJN    System uses 9-bit job numbers.
                        23    ST%EER    Extended error reporting.
                        24    ST%TAP    TAPSER included in monitor.
                        25    ST%MBE    Massbus error reporting.
                        26    ST%GAL    GALAXY supported.
                        27    ST%ENQ    ENQ./DEQ. monitor calls included.
                        28    ST%SHC    Scheduler   is   a   class   type
                                        scheduler.
                        29    ST%NSE    Nonsuperseding ENTER call.
                        30    ST%MSG    MPX channels supported.
                        31    ST%PSI    Software interrupt supported.
                        32    ST%IPC    IPCF supported.
                        33    ST%VMS    VMSER included in monitor.
                        34    ST%MER    Magtape error reporting.
                                   23-27
   GETTAB TABLES


                        35    ST%SSP    Swapping done in page units.





















































                                   23-28
                                                            GETTAB TABLES


        Item   Symbol  Contains

        112    %CNMNT  Monitor type flags are as follows:

                       Bits   Symbol    Monitor Type

                          0   CN%MNX    Unknown monitor.

                      77B23   CN%MNT    Monitor type:

                                        Value  Symbol    Type

                                          1    .CNT10    TOPS-10
                                          2    .CNITS    ITS
                                          3    .CNTNX    TENEX
                                          4    .CNT20    TOPS-20
                                          5    .CNTCX    TYMCOM-X

                      24-29   CN%MNS    DIGITAL monitor subtype.

                      30-35   CN%MNC    Customer monitor subtype.

                      This word is used by operating  systems  that  have
                      TOPS-20 UUO compatibility packages.

                      For example, a calling sequence to read  this  word
                      may be:

                           MOVE ac,[112,,11]
                           GETTAB ac,
                              MOVEI ac,0
                           LDB ac,[POINT ac,CN/MNT]
                           CAIN ac,1
                              JRST TOPS10
                           CAIN ac,4
                              JRST TOPS20
                           JRST UNKNOWN

        166    %CNJPK  Bit 0 of this word is a flag.  If  not  set,  this
                       flag  indicates that JOBPEK transfers cannot cross
                       page boundaries.

        167    %CNDAE  In the left half is the previous  version  of  the
                       monitor  in  SIXBIT.   In  the  right  half is the
                       current version of the monitor in binary.









                                   23-29
   GETTAB TABLES


                               .GTNSW - Nonswapping Data Table
                                       GETTAB Table 12



   Contents         Data about nonswapping memory utilization.

   Indexed by       Item number.

   Monitor Table    NSWTBL

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

                    Some of this data is CPU-specific and exists in CDBs.

   Word     Symbol    Map

                    |=======================================================|
   10,,12   %NSCMX  |         System CORMAX (largest user job + 1)          |
                    |=======================================================|
   11,,12   %NSCLS  |          Byte pointer to last free core area          |
                    |=======================================================|
   12,,12   %NSCTL  |                  Virtual core tally                   |
                    |=======================================================|
   13,,12   %NSSHW  |                       Obsolete                        |
                    |=======================================================|
   14,,12   %NSHLF  |                       Obsolete                        |
                    |=======================================================|
   15,,12   %NSUPT  |               System uptime (in ticks)                |
                    |=======================================================|
   16,,12   %NSSHF  |                       Obsolete                        |
                    |=======================================================|
   17,,12   %NSSTU  |                       Obsolete                        |
                    |=======================================================|
   20,,12   %NSHJB  |               Highest job number in use               |
                    |=======================================================|
   21,,12   %NSCLW  |                Words cleared by system                |
                    |=======================================================|
   22,,12   %NSLST  |                       Lost time                       |
                    |=======================================================|
   23,,12   %NSMMS  |                  Memory size in words                 |
                    |=======================================================|






                                   23-30
                                                            GETTAB TABLES


                    |=======================================================|
   24,,12   %NSTPE  |              Total memory parity errors               |
                    |-------------------------------------------------------|
   25,,12   %NSSPE  |             Spurious memory parity errors             |
                    |-------------------------------------------------------|
   26,,12   %NSMPC  |             Multiple memory parity errors             |
                    |=======================================================|
   27,,12   %NSMPA  |     Absolute addr of last memory parity error         |
                    |-------------------------------------------------------|
   30,,12   %NSMPW  |        Contents of 1st bad wd on parity sweep         |
                    |-------------------------------------------------------|
   31,,12   %NSMPP  |       PC where last MEM PAR error was detected        |
                    |=======================================================|
   32,,12   %NSEPO  |      Number of exec PDL overflows not recovered       |
                    |-------------------------------------------------------|
   33,,12   %NSEPR  |        Number of exec PDL overflows recovered         |
                    |=======================================================|
   34,,12   %NSMXM  |                Maximum value of CORMAX                |
                    |=======================================================|
   35,,12   %NSKTM  |                      KSYS timer                       |
                    |=======================================================|
   36,,12   %NSCMN  | Amt of memory guaranteed to non-locked jobs (CORMIN)  |
                    |=======================================================|
   37,,12   %NSABC  |                Count of address breaks                |
                    |-------------------------------------------------------|
   40,,12   %NSABA  |                Address break addresses                |
                    |=======================================================|
   41,,12   %NSLJR  |                     Last job run                      |
                    |=======================================================|
   42,,12   %NSACR  |                       Obsolete                        |
                    |-------------------------------------------------------|
   43,,12   %NSNCR  |                       Obsolete                        |
                    |-------------------------------------------------------|
   44,,12   %NSSCR  |                       Obsolete                        |
                    |=======================================================|



















                                   23-31
   GETTAB TABLES


                                .GTSDT - Swapping Data Table
                                       GETTAB Table 13



   Contents         Contains data pertinent to swapping.

   Indexed by       Item number.

   Monitor Table    SWPTBL

   Calling                 MOVE      ac,[item]
   Sequence                GETTAB    ac,
                             error return
                           normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0,,13    %SWBGH  |        Size (in pages) of biggest hole in core        |
                    |=======================================================|
   1,,13    %SWFIN  |            Job number of job Being swapped            |
                    |  (Positive if swapping in, negative if swapping out)  |
                    |=======================================================|
   2,,13    %SWFRC  |      Job number of job being forced to swap out       |
                    |=======================================================|
   3,,13    %SWFIT  |         Job number of job waiting to swap in          |
                    |=======================================================|
   4,,13    %SWVRT  |  Number of 1P blocks of virtual core left in system   |
                    |=======================================================|
   5,,13    %SWERC* |              Swap error count and flags               |
                    |=======================================================|
   6,,13    %SWPIN* |                 PDB swapping flag                     |
                    |=======================================================|
   7,,13    %SWEUJ  |                  Segment,,UDB-address                 |
                    |=======================================================|



                    %SWERC contains the  count  of  swap  read  or  write
                    errors  in  its left half; bits 18 to 21 of the right
                    half are the same as status bits returned by a GETSTS
                    monitor  call for the disk; bits 22 to 35 contain the
                    count of bad 1K blocks.

                    %SWPIN is -1 if the monitor swaps Process Data Blocks
                    and a swap-in is in progress.




                                   23-32
                                                            GETTAB TABLES


                              .GTSGN - High Segment Parameters
                                       GETTAB Table 14



   Contents         One word for each job running on the  system,  giving
                    parameters for the job's high segment.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Job number.

   Monitor Table    JBTSGN

   Calling                  MOVE    ac,[XWD jobno,.GTSGN]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

   Word     Symbol    Map

                    |=======================================================|
   0,,14    .GTSGN* |                High segment parameters                |
                    |=======================================================|


                    .GTSGN parameters are as follows:

                    Bits   Symbol    Meaning

                       0   SN%SPY    Job  is  spying.   See  bits   18-35
                                     below.
                       1   SN%SHR    Job high segment is sharable.
                       2   SN%UWP    Job high segment is write-enabled.
                       3   SN%MDL    Job high segment has been meddled.
                       4             Reserved.
                       5   SN%LOK    Job  high  segment  is  locked  into
                                     memory.
                       6   SN%NCS    Job high segment is not cached.
                     7-9             Reserved.
                      10   SN%GTS    Job high  segment  was  obtained  by
                                     GETSEG.
                   18-35             Defined as described below:





                                   23-33
   GETTAB TABLES


                    The  right  half  of  .GTSGN  contains  one  of   the
                    following:

                     o  If bit 0 = 0, then the right  half  contains  the
                        job high segment index number.

                     o  If bit 0 = 1, then the  job  is  spying  and  the
                        right  half  contains  the  maximum  exec virtual
                        address that can be spied upon.













































                                   23-34
                                                            GETTAB TABLES


                             .GTODP - ONCE-Only Disk Parameters
                                       GETTAB Table 15

   Contents         Disk  parameters  that  are  established  at  monitor
                    generation time.

   Indexed by       Item number.

   Monitor Table    ODPTBL

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

                    |=======================================================|
                    |                       Obsolete                        |
                    |=======================================================|
   1,,15    %ODK4S  |    Number of K of disk words available for swapping   |
                    |=======================================================|
   2,,15    %ODPRT  |            In-core protect time multiplier            |
                    |=======================================================|
   3,,15    %ODPRA  |              In-core protect time offset              |
                    |=======================================================|
   4,,15    %ODPMN  |       Minimum ICPT after requeue to back of PQ2       |
                    |=======================================================|
   5,,15    %ODPMX  |                 Maximum value of ICPT                 |
                    |=======================================================|























                                   23-35
   GETTAB TABLES


                              .GTLVD - Level D Disk Parameters
                                       GETTAB Table 16


   Contents         Project-programmer numbers for libraries, file  data,
                    and  other  data.   These  PPNs  are  established  at
                    monitor generation time.

   Indexed by       Item number.

   Monitor Table    LVDTBL

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

                    |=======================================================|
   0,,16    %LDMFD  |                     MFD PPN [1,1]                     |
                    |=======================================================|
   1,,16    %LDSYS  |                     SYS PPN [1,4]                     |
                    |=======================================================|
   2,,16    %LDFFA  |              Full file access PPN [1,2]               |
                    |=======================================================|
   3,,16    %LDHLP  |                Not-logged-in PPN [2,5]                |
                    |=======================================================|
   4,,16    %LDQUE  |                 Queue area PPN [3,3]                  |
                    |=======================================================|
   5,,16    %LDSPB  |     Addr of first PPB     | Addr of next PPB to scan  |
                    |=======================================================|
   6,,16    %LDSTR  |First structure data block |Offset to next str data blk|
                    |=======================================================|
   7,,16    %LDUNI  |   First unit data block   |Offset to nxt unit data blk|
                    |=======================================================|
   10,,16   %LDSWP  |      First swap unit      | Offset to next swap unit  |
                    |=======================================================|
   11,,16   %LDCRN  |      Number of 4-wd blks allocated at ONCE-only       |
                    |=======================================================|
   12,,16   %LDSTP  |               Standard file protection                |
                    |=======================================================|
   13,,16   %LDUFP  |                Standard UFD protection                |
                    |=======================================================|
   14,,16   %LDMBN  |                   Obsolete                            |
                    |=======================================================|
   15,,16   %LDQUS  |             SIXBIT queue structure name               |
                    |=======================================================|
   16,,16   %LDCRP  |                   CRASH PPN [10,1]                    |
                    |=======================================================|



                                   23-36
                                                            GETTAB TABLES


                    |=======================================================|
   17,,16   %LDSFD  |            Maximum depth of SFDs to write             |
                    |=======================================================|
   20,,16   %LDSPP  |                Spooled file protection                |
                    |=======================================================|
   21,,16   %LDSYP  |               Standard SYS: protection                |
                    |=======================================================|
   22,,16   %LDSSP  |         Standard SYS:filename.SYS protection          |
                    |=======================================================|
   23,,16   %LDMNU  |    Maximum negative USETI that reads extended RIBs    |
                    |=======================================================|
   24,,16   %LDMXT  |   Maximum blocks to transfer with 1 I/O operation     |
                    |=======================================================|
   25,,16   %LDNEW  |              Experimental SYS PPN [1,5]               |
                    |=======================================================|
   26,,16   %LDOLD  |                  Old SYS PPN [1,3]                    | 
                    |=======================================================|
   27,,16   %LDUMD  |           User-mode diagnostics PPN [6,10]            |
                    |=======================================================|
   30,,16   %LDNDB  |             Default disk buffers in ring              |
                    |=======================================================|
   31,,16   %LDMSL  |         Maximum units in active swapping list         |
                    |=======================================================|
   32,,16   %LDALG  |                ALGOL library PPN [5,4]                |
                    |=======================================================|
   33,,16   %LDBLI  |                BLISS library PPN [5,5]                |
                    |=======================================================|
   34,,16   %LDFOR  |               FORTRAN library PPN [5,6]               |
                    |=======================================================|
   35,,16   %LDMAC  |            MACRO source library PPN [5,7]             |
                    |=======================================================|
   36,,16   %LDUNV  |           UNIVERSAL file library PPN [5,17]           |
                    |=======================================================|
   37,,16   %LDPUB  |             Public user library PPN [1,6]             |
                    |=======================================================|
   40,,16   %LDTED  |            Text editor library PPN [5,10]             |
                    |=======================================================|
   41,,16   %LDREL  |             .REL file library PPN [5,11]              |
                    |=======================================================|
   42,,16   %LDRNO  |               RUNOFF library PPN [5,12]               |
                    |=======================================================|
   43,,16   %LDSNO  |               SNOBOL library PPN [5,13]               |
                    |=======================================================|
   44,,16   %LDDOC  |             .DOC file library PPN [5,14]              |
                    |=======================================================|
   45,,16   %LDFAI  |                FAIL library PPN [5,15]                |
                    |=======================================================|
   46,,16   %LDMUS  |               Music library PPN [5,16]                |
                    |=======================================================|
   47,,16   %LDDEC  |           Standard DIGITAL software [10,7]            |
                    |=======================================================|



                                   23-37
   GETTAB TABLES


                    |=======================================================|
   50,,16   %LDSLP  |           AOBJN pointer to active swap list           |
                    |=======================================================|
   51,,16   %LDBAS  |                BASIC library PPN [5,1]                |
                    |=======================================================|
   52,,16   %LDCOB  |                COBOL library PPN [5,2]                |
                    |=======================================================|
   53,,16   %LDMXI  |               PDP-11 library PPN [5,3]                |
                    |=======================================================|
   54,,16   %LDNEL  |               NELIAC library PPN [5,20]               |
                    |=======================================================|
   55,,16   %LDDMP  |                    Dump PPN [5,21]                    |
                    |=======================================================|
   56,,16   %LDPOP  |                POP2 library PPN [5,22]                |
                    |=======================================================|
   57,,16   %LDTST  |                TEST library PPN [5,23]                |
                    |=======================================================|
   60,,16   %LDLSO* |     If nonzero, call DAEMON to log soft overruns      |
                    |=======================================================|
   61,,16   %LDMBR* |               Massbus register pointers               |
                    |=======================================================|
   62,,16   %LDBBP* |  Pointer to BAT pointer   |Channel terminal fail count|
                    |=======================================================|
   63,,16   %LDDBS  |                DBMS library PPN [5,24]                |
                    |=======================================================|
   64,,16   %LDEXP* |     Offset of expected channel term word in CDB       |
                    |=======================================================|
   65,,16   %LDMIC  |             MIC macro library PPN [5,25]              |
                    |=======================================================|
   66,16    %LDTPS  |       Text processing system library PPN [5,26]       |
                    |=======================================================|
   67,,16   %LDCTL  |             .CTL file library PPN [5,27]              |
                    |=======================================================|
   70,,16   %LDGAM  |               Games library PPN [5,30]                |
                    |=======================================================|
   71,,16   %LDACT  |              System accounting PPN [1,7]              |
                    |=======================================================|
   72,,16   %LDAPL  |                APL library PPN [5,31]                 |
                    |=======================================================|
   73,,16   %LDECT  |                  RIB error threshold                  |
                    |=======================================================|
   74,,16   %LDTOT  |                   Total RIB errors                    |
                    |=======================================================|
   75,,16   %LDDOR  |         Addr of first dormant acc table,,addr         |
                    |               of last dormant acc table               |
                    |=======================================================|
   76,,16   %LDCOR  |           Addr first free 4-wd core blk,,0            |
                    |=======================================================|
   77,16    %LDINT  |                Disk interference count                |
                    |=======================================================|
   100,16   %LDD60  |                D60 library PPN [5,32]                 |
                    |=======================================================|


                                   23-38
                                                            GETTAB TABLES


                    |=======================================================|
   101,,16  %LDERT  |   Address of queue table for DAEMON error reporting   |
                    |-------------------------------------------------------|
   102,,16  %LDPT1  |   Pointer to extract entries for DAEMON queue table   |
                    |-------------------------------------------------------|
   103,,16  %LDPT2  |   Pointer to insert entries for DAEMON queue table    |
                    |-------------------------------------------------------|
   104,,16  %LDLTH  |             Length of DAEMON queue table              |
                    |=======================================================|
   105,,16  %LDCDA  |                Offset of UNICDA in UDB                |
                    |=======================================================|
   106,,16  %LDDES  |                Offset of UNIDES in UDB                |
                    |=======================================================|
   107,,16  %LDPTR  |    Pointer to in-core copies of retrieval pointers    |
                    |=======================================================|
   110,,16  %LDMSS  |Max strs in sys search list|Max strs in job search list|
                    |=======================================================|
   111,,16  %LDSLB  |               Offset of UNISLB in UDB                 |
                    |=======================================================|
   112,,16  %LDUTP  |              Define ersatz device UTP                 |
                    |=======================================================|
   113,,16  %LDINI  |                       INI PPN                         |
                    |=======================================================|
   114,,16  %LDESZ  |              Size of 1 entry in ERPTBK                |
                    |=======================================================|
   115,,16  %LDKON  |       Pointer to first controller's data block        |
                    |=======================================================|
   116,,16  %LDLBF  |             Default number of disk buffers            |
                    |=======================================================|
   117,,16  %LDDVU  |              Offset to device unit number             |
                    |=======================================================|
   120,,16  %LDCSZ  |           Size of disk cache, in blocks               |
                    |=======================================================|
   121,,16  %LDRDC  |           Monitor cache block read calls              |
                    |=======================================================|
   122,,16  %LDRDH  |           Monitor cache block read hits               |
                    |=======================================================|
   123,,16  %LDWRC  |           Monitor cache block write calls             |
                    |=======================================================|
   124,,16  %LDWRH  |           Monitor cache block write hits              |
                    |=======================================================|
   125,,16  %LDHSF  |                   CSHFND calls                        |
                    |=======================================================|
   126,,16  %LDHSC  |           CSHFND collisions in hash table             |
                    |=======================================================|
   127,,16  %LDHSL  |           Length of cache hash table                  |
                    |=======================================================|
   130,,16  %LDHST  |           Address of cache hash table                 |
                    |=======================================================|
   131,,16  %LDCHD  |           Address of cache list header                |
                    |=======================================================|



                                   23-39
   GETTAB TABLES


|                   |=======================================================|
|  132,,16  %LDSPN  |           DDB offset for spooled file name            |
|                   |=======================================================|
|  133,,16  %LDSPM  |     DDB offset for spooled parameter block pointer    |
|                   |=======================================================|
|  134,,16  %LDBLK  |          DDB offset for I/O block number              |
|                   |=======================================================|
|  135,,16  %LDRSU  |         DDB offset to retrieval/acc blocks            |
|                   |=======================================================|
|  136,,16  %LDNMB  |          DDB offset for NMB of father SFD             |
|                   |=======================================================|
|  137,,16  %LDUPS  |       PPN for use by mail programs (UPS: device)      |
|                   |=======================================================|
|  140,,16  %LDSEB  |       Address of pointer to first system error block  |
|                   |=======================================================|
|  141,,16  %LDROD  |Number of times a Data Request Block was not available |
|                   |=======================================================|
|  142,,16  %LDFNT  |       Library PPN for printer fonts (FNT:)            |
|                   |=======================================================|
|  143,,16  %LDSET  |  Bit mask of disk sets mounted on the system.         |
|                   |=======================================================|
|  144,,16  %LDDET  |  First detached UDB   |    Offset to next UDB         |
|                   |=======================================================|
|  145,,16 %LDOCS  |  Original (configured) size of disk cache             |
|                  |=======================================================|
|  146,,16 %LDSRT  |  Swap read error threshold (compare with %LDECT)      |
|                  |=======================================================|
|  146,,16 %LDSRC  |  Swap read error count (compare with %LDTOT)          |
|                  +=======================================================+
|  


        Item        Contains

        60          %LDLSO contains a flag  for  DAEMON.   If  %LDLSO  is
                    nonzero,  and if an overrun is recovered on the first
                    retry, then DAEMON is called.

        61          %LDMBR contains massbus register pointers.  The  left
                    half  contains  the  offset into KBD of the number of
                    registers.  The right half contains the  offset  into
                    UBD of the number of registers.

        62          %LDBBP contains pointers.  The left half contains the
                    address  of a byte pointer to the number remaining in
                    the block access table.  The right half contains  the
                    offset  into  the  UDB  of  the channel terminal fail
                    count.

        64          %LDEXP contains the offset of  the  expected  channel
                    terminal word in the channel data block.



                                   23-40
                                                            GETTAB TABLES


                                  .GTRCT - Disk Blocks Read
                                       GETTAB Table 17



   Contents         One word for each job running on the  system,  giving
                    the number of disk blocks read by the job.

   Indexed by       Job number.

   Monitor Table    JBTRCT

   Calling                  MOVE    ac,[XWD jobno,.GTRCT]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                   Disk blocks read                    |
                    |=======================================================|

                    The word contains  the  number  of  incremental  disk
                    block  reads  in  Bits  0  to  11 (RC.INC==7777B11 in
                    UUOSYM), and the total number of disk block reads  in
                    Bits 12 to 35 (RC.TTL==77777777 in UUOSYM).


























                                   23-41
   GETTAB TABLES


                                .GTWCT - Disk Blocks Written
                                       GETTAB Table 20



   Contents         One word for each job running on the  system,  giving
                    the number of disk blocks written by the job.

   Indexed by       Job number.

   Monitor Table    JBTWCT

   Calling                  MOVE    ac,[XWD jobno,.GTWCT]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |===================================================|
                    |                  Disk blocks written              |
                    |===================================================|

                    The word contains  the  number  of  incremental  disk
                    block  writes  in  Bits  0  to 11 (WC.INC==7777B11 in
                    UUOSYM), and the total number of disk block writes in
                    Bits 12 to 35 (WC.TTL==77777777 in UUOSYM).


























                                   23-42
                                                            GETTAB TABLES


                                 .GTSLF - GETTAB Table Data
                                       GETTAB Table 23



   Contents         Data for each GETTAB table.

   Indexed by       GETTAB table number.

   Monitor Table    NUMTAB

   Calling                  MOVE    ac,[XWD table,.GTSLF]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where table is the symbolic name of the  table  whose
                    data is required.

   Word     Symbol    Map

                    |===================================================|
   0,,23    .GTSLF  |                   GETTAB table data               |
                    |===================================================|

                    The word contains one word  for  each  GETTAB  table.
                    The word gives the following information:

                    Bits   Symbol    Meaning

                     0-8   SL.MAX    If SL.TYP is 1, 2,  3,  or  4,  this
                                     field  is the largest item number in
                                     the table.  If  SL.TYP  is  5,  this
                                     field  is  the  index into the range
                                     table.

                    9-11   SL.TYP    Type of table.

                                     Value  Symbol    Type

                                       0    .SLNIC    Not   included   in
                                                      this system.
                                       1    .SLIXI    Indexed   by   item
                                                      number.
                                       2    .SLIXJ    Indexed   by    job
                                                      number.
                                       3    .SLIXS    Indexed   by    job
                                                      number  or  segment
                                                      number.
                                       4    .SLIXP    Indexed   by    job
                                                      number;   data   in
                                                      PDB.


                                   23-43
   GETTAB TABLES


                    Bits   Symbol    Meaning

                                     Value  Symbol    Type
|                                      5    .SLIXR    Indexed by negative
|                                                     and        positive
|                                                     offsets       (item
|                                                     numbers).

                   12-13             Reserved for DIGITAL.

                   14-17   SL.MAC    A monitor accumulator number.

                   18-35   SL.ADR    If SL.TYP=1, 2, or 3, this  halfword
                                     contains  the executive mode address
                                     of the  table.   If  SL.TYP=4,  this
                                     halfword   contains  the  offset  in
                                     job's PDB.  If  SL.TYP  is  5,  this
                                     halfword   is   the  executive  mode
                                     address  that  would  correspond  to
                                     offset 0 in the table.


































                                   23-44
                                                            GETTAB TABLES


                            .GTDEV - Segment Device or Structure
                                       GETTAB Table 24



   Contents         One word for each high segment running on the system,
                    giving  the device or file structure for the sharable
                    high segment.

|  Indexed by       Job number or segment number
|  
|  Monitor Table    JBTDEV
|  
|  Calling                  MOVE    ac,[XWD jobno,.GTDEV]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   Where jobno is a job number or  high-segment  number.
|                   Use  -2  for  the current high segment.  For the high
|                   segment of a different job, obtain the segment number
|                   using a GETTAB to .GTSGN.
|  
|                   |=======================================================|
|                   |          Device or structure (segments only)          |
|                   |=======================================================|
|  
|                   This returns 0 if there is no such segment or if  the
|                   segment is not sharable.

























                                   23-45
   GETTAB TABLES


|                               .GTWSN - Names of Wait States
|                                      GETTAB Table 25
|  
|  
|  
|  Contents         Names of wait states used in job queues.
|  
|  Restriction      The definitions of the bits in this  table  may  vary
|                   from  monitor  release  to monitor release; therefore
|                   you should not reference this  GETTAB  in  a  program
|                   that is monitor-independent.
|  
|  Indexed by       Item number.
|  
|  Monitor Table    STSTBL
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is one of the status names in the word map
|                   below.
|  
|                   +====================================================+
|                   | SIXBIT /name1/ | SIXBIT /name2/ | SIXBIT /name3/   |
|                   |----------------------------------------------------|
|                   | SIXBIT /name4/ | SIXBIT /name4/ | SIXBIT /name5/   |
|                   |----------------------------------------------------|
|                                           . . .
|  
|  
|                   Each SIXBIT name consists of  two  characters;  three
|                   names  are stored in each word.  The names are define
|                   in COMMON at STSTBL.



















                                   23-46
                                                            GETTAB TABLES


                               .GTLOC - Remote Station Number
                                       GETTAB Table 26



   Contents         One word for each job running on the  system,  giving
                    the station (ANF-10 network node) number for the job.
                    This is the  node  at  which  the  job  is  logically
                    located (LOCATE call and monitor command).

   Indexed by       Job number.

   Monitor Tables   JBTLOC

   Calling                  MOVE    ac,[XWD jobno,.GTLOC]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for  the  current  job  or  use 0 for the ANF-10 node
                    number of the central station.

                    |=======================================================|
                    |                  Network node number                  |
                    |=======================================================|




























                                   23-47
   GETTAB TABLES


                               .GTCOM - Monitor Command Names
                                       GETTAB Table 30



   Contents         Monitor command names as SIXBIT words.

   Indexed by       Item number

   Monitor Table    COMTAB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is  the  position  in  the  table  of  the
                    required command name.

                    |=======================================================|
                    |             SIXBIT monitor command name               |
                    |-------------------------------------------------------|
                                             . . .
                    |-------------------------------------------------------|
                    |             SIXBIT monitor command name               |
                    |=======================================================|

                    The HELP * command displays a list of  these  command
                    names.

























                                   23-48
                                                            GETTAB TABLES


                                .GTNM1 and .GTNM2 - User Name
                                   GETTAB Tables 31 and 32



   Contents         Two words for each job running on the system,  giving
                    the user's name in SIXBIT (up to 12 characters).
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PTNM1, .PDNM2

   Calling                  MOVE    ac,[XWD jobno,.GTNM1]
   Sequence                 GETTAB  ac,
                              error return
                            MOVEM   ac,uname1
                            MOVE    ac,[XWD jobno,.GTNM2]
                            GETTAB  ac,
                              error return
                            MOVEM   ac,uname2
                            . . .
                    uname1: block 1
                    uname2: block 1

                    where jobno is the number of a logged-in job (use  -1
                    for  the  current  job);  and  uname1  and uname1 are
                    locations for storing the user name.

                    |=======================================================|
                    |           First 6 SIXBIT chars of user name           |
                    |-------------------------------------------------------|
                    |           Last 6 SIXBIT chars of user name            |
                    |=======================================================|





















                                   23-49
   GETTAB TABLES


                                   .GTCNO - Charge Number
                                       GETTAB Table 33



   Contents         One word for each job running on the  system,  giving
                    the accounting charge number for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDCNO

   Calling                  MOVE    ac,[XWD jobno,.GTCNO]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                  User charge number                   |
                    |=======================================================|































                                   23-50
                                                            GETTAB TABLES


                                     .GTWCH - Watch Bits
                                       GETTAB Table 35



   Contents         One word for each job running on the  system,  giving
                    the  watch  bits  for the job.  These bits are set by
                    defaults, by the SETUUO or JBSET. monitor call, or by
                    the SET WATCH monitor command.

   Indexed by       Job number.

   Monitor Table    JBTWCH

   CALLING                  MOVE    ac,[XWD jobno,.GTWCH]
   SEQUENCE                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                      Watch flags                      |
                    |=======================================================|

                    Watch flags are as follows:

                    Flag   Symbol    Meaning

                       0   JW.WCX    Watch context changes.
                       1   JW.WDY    Watch daytime at start.
                       2   JW.WRN    Watch runtime.
                       3   JW.WWT    Watch wait time.
                       4   JW.WDR    Watch disk reads.
                       5   JW.WDW    Watch disk writes.
                       6   JW.WVR    Watch versions.
                       7   JW.WMT    Watch magtape statistics.
                       8   JW.WFI    Watch file.
|                   0-8    JW.WAL    Watch all.
                       9   JW.WCN    Message continuations.
                      10   JW.WFL    First line of message.
                      11   JW.WPR    Message prefixes.











                                   23-51
   GETTAB TABLES


                    Flag   Symbol    Meaning

                    7B11   JW.WMS    Message level:

                                     Value  Symbol   Message level

                                       1    .JWWPR   Prefix only.
                                       2    .JWWOL   One line.
                                       3    .JWWPO   Prefix   and   first
                                                     line.
                                       6    .JWWLG   Long without prefix.
                                       7    .JWWPL   Prefix and long.

                     12-35           Reserved.








































                                   23-52
                                                            GETTAB TABLES


                               .GTSPL - Spooling Control Flags
                                       GETTAB Table 36



   Contents         One word for each job running on the  system,  giving
                    the file spooling flags for the job.  These flags are
                    set by the SETUUO or JBSET. monitor call, or  by  the
                    SET SPOOL monitor command.

   Indexed by       Job number.

   Monitor Table    JBTSPL

   Calling                  MOVE    ac,[XWD jobno,.GTSPL]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                 Spooling control flags                |
                    |=======================================================|


                    Spooling control flags are as follows:

                    Flag   Symbol    Meaning
|  
|                   24-26  JS.PRI    Disk priority (spooling).
                    27     JS.DFR    Deferred spooling (old MPB style).
                    30               Reserved.
                    31     JS.PCR    Spool card reader.
                    32     JS.PCP    Spool card punch.
                    33     JS.PPT    Spool papertape punch.
                    34     JS.PPL    Spool plotter.
                    35     JS.PLP    Spool line printer.
                   31-35   JS.PAL    Spool all devices.














                                   23-53
   GETTAB TABLES


                                .GTRTD - Realtime Status Word
                                       GETTAB Table 37



   Contents         One word for each job running on the  system,  giving
                    the realtime status word for the job.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Job number.

   Monitor Table    JBTRTD

   Calling                  MOVE    ac,[XWD jobno,.GTRTD]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                    Realtime status                    |
                    |=======================================================|


























                                   23-54
                                                            GETTAB TABLES


                            .GTLIM - Time Limit and Batch Status
                                       GETTAB Table 40



   Contents         One word for each job running on the  system,  giving
                    the time limit and batch status for the job.

   Indexed by       Job number.

   Monitor Table    JBTLIM

   Calling                  MOVE    ac,[XWD jobno,.GTLIM]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                 Time and batch status                 |
                    |=======================================================|


                    Time and batch status flags are as follows:

                    Bits   Symbol    Meaning

                       0   JB.LTL    Time limit set  from  forced  DETACH
                                     command.
|                  0-9     JB.LCR    Core limit (obsolete).
|                     10   JB.LBT    Batch job.
|                     11   JB.LSY    Job using program from  system  area
|                                    (SYS:).
                   12-35   JB.LTM    Time to go, in jiffies


















                                   23-55
   GETTAB TABLES


                                 .GTCM2 - SET Command Names
                                       GETTAB Table 43



   Contents         The SIXBIT names of all SET monitor commands.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.
|  
|  Indexed by       Item number
|  
|  Monitor Table    COMTB2
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   Where item is the command word in the following table
|                   of SET commands.

                    |=======================================================|
                    |              SET command name in SIXBIT               |
                    |-------------------------------------------------------|
                                              . . .
                    |-------------------------------------------------------|
                    |              SET command name in SIXBIT               |
                    |=======================================================|

                    These names are defined by the SNAMES macro in COMCON
                    and will be displayed if you type the monitor command
                    HELP *.



















                                   23-56
                                                            GETTAB TABLES


                            .GTCRS - Hardware Status After Crash
                                       GETTAB Table 44
|  
|  
|  
|  Contents         Hardware status words after a crash.  (Refer  to  the
|                   CPU status block subtable for the CDB Variables area.

   Indexed by       Item number.

   Monitor Table    APRSTS

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

                    |=======================================================|
   0,,44    CR.SAP  |                       APR CONI                        |
                    |=======================================================|
   1,,44    CR.SPI  |                        PI CONI                        |
                    |=======================================================|
   2,,44    CR.SSW  |                  APR DATAI switches                   |
                    |=======================================================|



























                                   23-57
   GETTAB TABLES


                                .GTISC - Swap In Scan Tables
                                       GETTAB Table 45



   Contents         Swapper input scan list of queues.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Queue number.

   Monitor Table    Queue table for job scanning

   Calling                  MOVE    ac,[XWD index,.GTISC]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |       Queue-name       |  Addr of ISCAN routine       |
                    |=======================================================|






























                                   23-58
                                                            GETTAB TABLES


                                .GTOSC - Swap Out Scan Tables
                                       GETTAB Table 46



   Contents         Swapper output scan list of queues.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Item number

   Monitor Table    ISCAN

   Calling                  MOVE    ac,[XWD index,.GTOSC]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |       Queue-name       |  Addr of OSCAN routine       |
                    |=======================================================|






























                                   23-59
   GETTAB TABLES


                               .GTSSC - Scheduler Scan Tables
                                       GETTAB Table 47



   Contents         Scheduler scan list of queues.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Item number

   Monitor Table    SSCAN

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |  Queue-name             | Ptr to scheduler table      |
                    |=======================================================|






























                                   23-60
                                                            GETTAB TABLES


                               .GTRSP - Response Counter Table
                                       GETTAB Table 50



   Contents         One word for each job running on the  system,  giving
                    the  system  time  when  the  job  began its wait for
                    running.  This field  is  cleared  when  the  job  is
                    placed in the run queue by the scheduler.

   Indexed by       Job number.

   Monitor Table    JBTRSP

   Calling                  MOVE    ac,[XWD jobno,.GTRSP]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    The value of jobno is the number of a logged-in  job.
                    Use -1 for the current job.

                    |=======================================================|
                    | Response bits |    Time job started waiting           |
                    |=======================================================|





























                                   23-61
   GETTAB TABLES


                                  .GTSYS - System-Wide Data
                                       GETTAB Table 51



   Contents         System-wide data concerning errors and stopcodes.

   Indexed by       Item number.

   Monitor Table    SYSTBL (COMMON)

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

|                   |=======================================================|
|  0,,51    %SYERR  |           System-wide hardware error count            |
|                   |=======================================================|
|  1,,51    %SYCCO  |           Number of times COMCNT was wrong            |
|                   |=======================================================|
|  2,,51    %SYDEL  |             Disabled hardware error count             |
|                   |=======================================================|
|  3,,51    %SYSPC  |    Last 3-char stopcode  |   Last stopcode addr+1     |
|                   |=======================================================|
|  4,,51    %SYNDS  |               Number of DEBUG stopcodes               |
|                   |=======================================================|
|  5,,51    %SYNJS  |     Number of JOB stopcodes (+ DEBUGs if stopped)     |
|                   |=======================================================|
|  6,,51    %SYNCP  |             Number of commands processed              |
|                   |=======================================================|
|  7,,51    %SYSJN  |               Last stopcode job number                |
|                   |-------------------------------------------------------|
|  10,,51   %SYSTN  |                Last stopcode TTY name                 |
|                   |-------------------------------------------------------|
|  11,,51   %SYSPN  |              Last stopcode program name               |
|                   |-------------------------------------------------------|
|  12,,51   %SYSUU  |              Last stopcode monitor call               |
|                   |-------------------------------------------------------|
|  13,,51   %SYSUP  |                 Last stopcode user PC                 |
|                   |-------------------------------------------------------|
|  14,,51   %SYSPP  |                Last stopcode user PPN                 |
|                   |-------------------------------------------------------|
|  15,,51   %SYSCD  |              Last stopcode stopcode name              |
|                   |-------------------------------------------------------|
|  16,,51   %SYNCS  |             Total number of CPU stopcodes             |
|                   |-------------------------------------------------------|
|  17,,51   %SYNIS  |       Number of No Dump (INFO) stopcodes              |
|                   |-------------------------------------------------------|


                                   23-62
                                                            GETTAB TABLES


|                   |-------------------------------------------------------|
|  20,,51   %SYSTY  |                 Type of last stopcode                 |
|                   |-------------------------------------------------------|
|  21,,51   %SYSUD  |             Date/time of last stopcode                |
|                   |-------------------------------------------------------|
|  22,,51   %SYSCP  |              CPU number of last stopcode              |
|                   |=======================================================|















































                                   23-63
   GETTAB TABLES


                              .GTWHY - Operator Reload Comments
                                       GETTAB Table 52



   Contents         ASCIZ  string  giving  the  operator's   reason   for
                    reloading.

   Indexed by       Word of ASCIZ string.

   Monitor Table    CRSHAC

   Calling                  MOVE    ac,[XWD word,.GTWHY]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |            Operator input, in ASCIZ                   |
                    |=======================================================|


































                                   23-64
                                                            GETTAB TABLES


                                 .GTTRQ - Time in Run Queues
                                       GETTAB Table 53



   Contents         One word for each job running on the  system,  giving
                    the total time the job was in the run queues (even if
                    not running all the time).

                                            NOTE

                        This table is usually set to 0, because it is
                        expensive for the CPU to maintain.


   Indexed by       Job number.

   Monitor Table    JBTRQT

   Calling                  MOVE    ac,[XWD jobno,.GTTRQ]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |   Total time in RUN queues (whether or not running)   |
                    |=======================================================|
























                                   23-65
   GETTAB TABLES


                       .GTSPS - Status Word for Subsequent Processors
                                       GETTAB Table 54



   Contents         Status bits for processors other than CPU0.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Job number.

   Monitor Table    JBTSPS

   Calling                  MOVE    ac,[XWD jobno,.GTSPS]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |                Second processor status                |
                    |=======================================================|

                    Status flags are as follows:

                    Bits   Symbol    Meaning
|  
|                    28    SP.SC1    Can use SET CPU monitor command  for
|                                    CPU1.
|  
|                    29    SP.SC0    Can use SET CPU monitor command  for
|                                    CPU0.
|  
|                   34     SP.CR1    Can run on CPU1.
|  
|                    35    SP.CR0    Can run on CPU0.
















                                   23-66
                                                            GETTAB TABLES


                           .GTCnC - CPUn CPU Data Block Constants
                            GETTAB Tables 55, 57, 61, 63, 65, 67



   Contents         CPU data block constants for CPUn, where n is  a  CPU
                    number  from  0 to 5.  For CPUs 0 to 5, respectively,
                    these  tables  are  called  .GTC0C,  .GTC1C,  .GTC2C,
                    .GTC3C, .GTC4C, and .GTC5C.

   Indexed by       Item number.

   Monitor Table    .CnCDB

   Calling                  MOVE    ac,[item + <2 * n>]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map  below;  and  n is the number of a CPU (from 0 to
                    5).

   Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,55    %CCPTR  |    Pointer to next CDB    |         Reserved          |
|                   |=======================================================|
|  1,,55    %CCSER  |                   APR serial number                   |
|                   |=======================================================|
|  2,,55    %CCOKP  |Jiffies CPU has been down (OK if less than/equal to 0) |
|                   |=======================================================|
|  3,,55    %CCTOS  |               EPT address for this CPU                |
|                   |=======================================================|
|  4,,55    %CCLOG  |                  Logical name (CPUn)                  |
|                   |=======================================================|
|  5,,55    %CCPHY  |Physical name (CPxn) (x is I, L, or S; n is CPU number)|
|                   |=======================================================|
|  6,,55    %CCTYP* |  Customer processor code  |  DIGITAL processor code   |
|                   |=======================================================|
|  7,,55    %CCMPT* |   Pointer to bad address subtable in variable area    |
|                   |=======================================================|
|  10,,55   %CCRTC  |           Addr of realtime clock (DK10) DDB           |
|                   |=======================================================|
|  11,,55   %CCRTD  | Addr of realtime clock DDB (if precision accounting)  |
|                   |=======================================================|
|  12,,55   %CCPAR* |      Pointer to parity subtable in variable area      |
|                   |=======================================================|
|  13,,55   %CCRSP* |     Pointer to response subtable in variable area     |
|                   |=======================================================|
|  14,,55   %CCDKX  |              Number of DK10s on this CPU              |
|                   |=======================================================|


                                   23-67
   GETTAB TABLES


|                   |=======================================================|
|  15,,55   %CCEBS  |          Number of EBOX ticks/second on KL10          |
|                   |=======================================================|
|  16,,55   %CCMBS  |          Number of MBOX ticks/second on KL10          |
|                   |=======================================================|
|  17,,55   %CCNXT* |       Pointer to NXM subtable in variable area        |
|                   |=======================================================|
|  20,,55   %CCCSB* | Pointer to CPU status block subtable in variable area |
|                   |=======================================================|
|  21,,55   %CCDSB* | Ptr to device status block subtable in variable area  |
|                   |=======================================================|
|  22,,55   %CCSDP* |        Ptr to SBDIAG subtable in variable area        |
|                   |=======================================================|
|  23,,55   %CCBPA  |     Pointer to PERF. counts in variable subtable      |
|                   |=======================================================|
|  24,,55   %CCCIP  |                 CI port control block                 |
|                   |=======================================================|
|  25,,55   %CCNIP  |                 NI port control block                 |
|                   |=======================================================|
|  26,,55   %CCMSS* |         Pointer to KS10 memory error subtable         |
|                   |=======================================================|

        Word        Symbol  Contains

        6           %CCTYP  Processor types are as follows:

                    Value  Symbol    Processor Type

                      1    .CC166    PDP-6
                      2    .CCKAX    KA10
                      3    .CCKIX    KI10
                      4    .CCKLX    KL10
                      5    .CCKSX    KS10

        7           %CCMPT  The pointer to the bad address subtable is of
                    the form:

                    Bits   Symbol    Meaning

                     0-8   CC%BLN    Length-1 of bad address subtable.
                    9-17             Reserved.
                   18-35   CC%BRA    Offset into .GTCnV  of  bad  address
                                     subtable.      The    subtable    is
                                     documented after the  CDB  Variables
                                     Table.

        12          %CCPAR The pointer to the parity subtable is  of  the
                    form:

                    Bits   Symbol    Meaning

                     0-8   CC%PLN    Length-1 of parity subtable.
                    9-17             Reserved.
                   18-35   CC%PRA    Offset   into   .GTCnV   of   parity
                                   23-68
                                                            GETTAB TABLES


                                     subtable.     The    subtables   are
                                     documented after the  CDB  Variables
                                     Table.



















































                                   23-69
   GETTAB TABLES


        Word        Contains

        13          %CCRSP  The pointer to the response  subtable  is  of
                    the form:

                    Bits    Symbol  Meaning

                     0-8    CC%RLN  Length-1 of response subtable.
                    9-17            Reserved.
                   18-35    CC%RRA  Offset  into   .GTCnV   of   response
                                     subtable.     The    subtables   are
                                     documented after the  CDB  Variables
                                     Table.

        17          %CCNXT is of the form:

                    Bits    Symbol  Meaning

                     0-8    CC%NLN  Length-1 of NXM subtable.
                    9-17            Reserved.
                   18-35    CC%NRA  Offset into .GTCnV of NXM subtable.

        20          %CCCSB is of the form:

                    Bits    Symbol  Meaning

                     0-8    CC%CLN  Length-1   of   CPU   status    block
                                     subtable.
                    9-17            Reserved.
                   18-35    CC%CRA  Offset  into  .GTCnV  of  CPU  status
                                     block subtable.

        21          %CCDSB is of the form:

                    Bits    Symbol  Meaning

                     0-8    CC%DLN  Length-1  of  device   status   block
                                     subtable.
                    9-17            Reserved.
                   18-35    CC%DRA  Offset into .GTCnV of  device  status
                                     block subtable.

        22          %CCSDP is of the form:

                    Bits    Symbol  Meaning

                     0-8    CC%SLN  Length-1 of SBDIAG subtable.
                    9-17            Reserved.
                   18-35    CC%SRA  Offset   into   .GTCnV   of    SBDIAG
                                     subtable.
|  
|       23          %CCMSS is of the form:
|  
|                   Bits    Symbol  Meaning
                                   23-70
                                                            GETTAB TABLES


|                    0-8    CC%MLN  Length-1 of KS memory error subtable.
|                   9-17            Reserved.
|                  18-35    CC%MRA  Offset into .GTCnV of KS memory error
|                                    subtable.


















































                                   23-71
   GETTAB TABLES


                           .GTCnV - CPUn CPU Data Block Variables
                            GETTAB Tables 56, 60, 62, 64, 66, 70



   Contents         CPU data block variables for CPUn, where n is  a  CPU
                    number (from 0 to 5).  For CPUs 0 to 5, respectively,
                    these  tables  are  called  .GTC0V,  .GTC1V,  .GTC2V,
                    .GTC3V, .GTC4V and .GTC5V.

   Indexed by       Item number.

   Monitor Table    .CnVBG

   Calling                  MOVE    ac,[item + <2 * n>]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below and n is a CPU number (from 0 to 5).

   Words Symbol       Map
|  
|                   |=======================================================|
|  0-4,,56          |                       Reserved                        |
|                   |=======================================================|
|  5,,56    %CVUPT  |                  Uptime in jiffies                    |
|                   |=======================================================|
|  6-11,,56        |                       Reserved                        |
|                   |=======================================================|
|  12,,56   %CVLST  |                       Lost time                       |
|                   |=======================================================|
|  13,,56           |                       Reserved                        |
|                   |=======================================================|



















                                   23-72
                                                            GETTAB TABLES


|                   |=======================================================|
|  14,,56   %CVTPE  |              Total memory parity errors               |
|                   |=======================================================|
|  15,,56   %CVSPE  |             Spurious memory parity errors             |
|                   |=======================================================|
|  16,,56   %CVMPC  |             Multiple memory parity errors             |
|                   |=======================================================|
|  17,,56   %CVMPA  |          Absolute addr of last MEM PAR error          |
|                   |=======================================================|
|  20,,56   %CVMPW  |        Contents of 1st bad wd on parity sweep         |
|                   |=======================================================|
|  21,,56   %CVMPP  |            PC where last MEM PAR was found            |
|                   |=======================================================|
|  22-26,,56        |                       Reserved                        |
|                   |=======================================================|
|  27,,56   %CVABC  |                  Address break count                  |
|                   |=======================================================|
|  30,,56   %CVABA  |                 Address break address                 |
|                   |=======================================================|
|  31,,56   %CVLJR  |          Last job run  (obsolete)                     |
|                   |=======================================================|
|  32-34,56        |                       Reserved                        |
|                   |=======================================================|
|  35,,56   %CVSTS  |  Number of job that stopped timesharing on this CPU   |
|                   |=======================================================|
|  36,,56   %CVRUN* |            Operator-controlled scheduling             |
|                   |=======================================================|
|  37,,56   %CVNUL  |                       Null time                       |
|                   |=======================================================|
|  40,,56   %CVEDI  |            PC      |No. of exec don't care interrupts |
|                   |=======================================================|
|  41,,56   %CVJOB  |                      Current job                      |
|                   |=======================================================|
|  42,,56   %CVOHT  |         Overhead time in jiffies (exec UUOs)          |
|                   |=======================================================|
|  43,,56   %CVEVM  |       Max exec virtual memory for LOCK mapping        |
|                   |-------------------------------------------------------|
|  44,,56   %CVEVU  |       Exec virtual memory used for LOCK mapping       |
|                   |=======================================================|















                                   23-73
   GETTAB TABLES


|                   |=======================================================|
|  45,,56   %CVLLC  |    No. of times CPU has looped waiting for interlock  |
|                   |=======================================================|
|  46,,56   %CVTUC  |               Total monitor call count                |
|                   |=======================================================|
|  47,,56   %CVTJC  |            Total job context switch count             |
|                   |=======================================================|
|  50,,56   %CVTNE  |            Total nonexistent memory errors            |
|                   |=======================================================|
|  51,,56   %CVSNE  |           Total nonreproducible NXM errors            |
|                   |=======================================================|
|  52,,56   %CVNJA  |          Number of jobs affected by this NXM          |
|                   |=======================================================|
|  53,,56   %CVMNA  |             First memory address with NXM             |
|                   |=======================================================|
|  54,,56   %CVETJ  |              EBOX ticks/jiffy (computed)              |
|                   |=======================================================|
|  55,,56   %CVNTJ  |              MBOX ticks/jiffy (computed)              |
|                   |=======================================================|
|  56,,56   %CVBPA  | Phys addr of bad parity word on last AR/ARX trap (KL) |
|                   |=======================================================|
|  57,,56   %CVTBD  |             Bad data on last AR/ARX trap              |
|                   |=======================================================|
|  60,,56   %CVTGD  |       Good data after recovery from AR/ARX trap       |
|                   |=======================================================|
|  61,,56   %CVNPT  |          Number of AR/ARX traps since reload          |
|                   |=======================================================|
|  62,,56   %CVAER  |       RDERA results after unusual APR interrupt       |
|                   |=======================================================|
|  63,,56   %CVPCN  |            CONI APR after parity interrupt            |
|                   |=======================================================|
|  64,,56   %CVSB0  |          SBUS diagnostic function 0, word 0           |
|                   |-------------------------------------------------------|
|  65,,56   %CVS0A  |          SBUS diagnostic function 0, word 1           |
|                   |=======================================================|
|  66,,56   %CVSB1  |          SBUS diagnostic function 1, word 0           |
|                   |-------------------------------------------------------|
|  67,,56   %CVS1A  |          SBUS diagnostic function 1, word 1           |
|                   |=======================================================|
|  70,,56   %CVPPC  |                   PC on AR/ARX trap                   |
|                   |=======================================================|
|  71,,56   %CVPFW  |          Page fail word on last AR/ARX trap           |
|                   |=======================================================|
|  72,,56   %CVHPT  |              Number of hard AR/ARX traps              |
|                   |=======================================================|
|  73,,56   %CVSPT  |              Number of soft AR/ARX traps              |
|                   |=======================================================|
|  74,,56   %CVPTP  |          Number of page table parity errors           |
|                   |=======================================================|
|  75,,56   %CVCSN  |          Number of cache sweeps since reload          |
|                   |              (cache sweep serial number)              |
|                   |=======================================================|


                                   23-74
                                                            GETTAB TABLES


|                   |=======================================================|
|  76,,56   %CVCLN  | Number of times a job couldn't run due to cache state |
|                   |=======================================================|
|  77,,56   %CVCLT  |         Lost time accrued due to cache state          |
|                   |=======================================================|
|  100,,56  %CVCSD  |  Incr on swapper wait for cache sweep by another CPU  |
|                   |=======================================================|
|  101,,56  %CVCRN  |   Cache sweep request sweep count (see COMMON.MAC)    |
|                   |=======================================================|
|  102,,56  %CVCEC  | Count nonrecoverable AR/ARX prty errs involving cache |
|                   |=======================================================|
|  103,,56  %CVPTR  |    Retry word for AR/ARX parity error trap routine    |
|                   |=======================================================|
|  104,,56  %CVTSD  |    AR/ARX trap routine has saved APR ERA.SB Diags     |
|                   |=======================================================|
|  105,,56  %CVREP  |         Used by NXM/parity recovery routines          |
|                   |=======================================================|
|  106,,56  %CVNDB  |     Number of times this CPU's doorbell was rung      |
|                   |=======================================================|
|  107,,56  %CVSBR  |            Status blocks read on this CPU             |
|                   |=======================================================|
|  110,,56  %CVBPF  |        0 if performance counts being kept (%CCBPA)    |
|                   |=======================================================|
|  111,,56  %CVFBI  |          Number of file blocks input (read)           |
|                   |=======================================================|
|  112,,56  %CVFBO  |        Number of file blocks output (written)         |
|                   |=======================================================|
|  113,,56  %CVSBI  |        Number of swapping blocks input (read)         |
|                   |=======================================================|
|  114,,56  %CVSBO  |      Number of swapping blocks output (written)       |
|                   |=======================================================|
|  115,,56  %CVSNC  |        Number of CPU stopcodes on this CPU            |
|                   |=======================================================|
|  116,,56  %CVSND  |       Number of DEBUG stopcodes on this CPU           |
|                   |=======================================================|
|  117,,56  %CVSNJ  |        Number of JOB stopcodes on this CPU            |
|                   |=======================================================|
|  120,,56  %CVSJN  |        Last stopcode on this CPU - job number         |
|                   |=======================================================|
|  121,,56  %CVSNM  |  Last stopcode name      |  Last stopcode PC+1        |
|                   |=======================================================|
|  122,,56  %CVSPN  |          Program running at last stopcode             |
|                   |=======================================================|
|  123,,56  %CVSPP  |        PPN of user running at last stopcode           |
|                   |=======================================================|
|  124,,56  %CVSTN  |     TTY name of user running at last stopcode         |
|                   |=======================================================|
|  125,,56  %CVSUP  |              User PC at last stopcode                 |
|                   |=======================================================|
|  126,,56  %CVSUU  |               UUO at last stopcode                    |
|                   |=======================================================|



                                   23-75
   GETTAB TABLES


|                   |=======================================================|
|  127,,56  %CVEJN  |     Last parity/NXM error on this CPU - job number    |
|                   |=======================================================|
|  130,,56  %CVEPN  |      Last parity/NXM error on this CPU - job name     |
|                   |=======================================================|
|  131,,56  %CVPPI  |         CONI PI, at last parity/NXM interrupt         |
|                   |=======================================================|
|  132,,56  %CVTPI  |              CONI PI, at last error trap              |
|                   |=======================================================|
|  133,,56  %CVRQS  |           Requests for scheduler interlock            |
|                   |=======================================================|
|  134,,56  %CVTFI  |          Number of magnetic tape frames read          |
|                   |=======================================================|
|  135,,56  %CVTFO  |         Number of magnetic tape frames written        |
|                   |=======================================================|
|  136,,56  %CVSNI  |              Number of INFO stopcodes (no dumps)      |
|                   |=======================================================|
|  137,,56  %CVSTY  |           Type of last stopcode on this CPU           |
|                   |=======================================================|
|  140,,56  %CVSUD  |          Date/time of last stopcode on this CPU       |
|                   |=======================================================|
|  
|  Notes:
|  
|  The contents of Offset 36 (%CVRUN) include the following flag bits:
|  
|       Bit  Symbol    Meaning
|  
|       0    CV%RUN    Don't run jobs.
|       1    CV%RMV    Removed CPU.
|       2    CV%DET    Detached CPU.
|       3    CV%SPD    Suspended CPU.






















                                   23-76
                                                            GETTAB TABLES


                          Subtable: Bad Addresses
                             Subtable of .GTCnV



   Contents         Addresses generating parity errors on CPUn.

   Indexed by       Sequence of bad addresses found.

   Calling                  MOVE    ac,[%CCMPT+<2*n>]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

                    where n is the number of the required CPU (from 0  to
                    5);  and item is the item number of the required item
                    in the subtable.

   Word     Symbol    Map

                    |=======================================================|
   0                |                First bad address found                |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |                Last bad address found                 |
                    |=======================================================|

                    where last is the sequence number  of  the  last  bad
                    address  found.   The  value  of  last+1 is stored in
                    location %CVPTS in the parity subtable for  the  CPU.
                    The  maximum  length  for the bad address subtable is
                    stored in bits 0-8 of %CCMPT in table .GTCnC.
















                                   23-77
   GETTAB TABLES


                              Subtable: Parity
                             Subtable of .GTCnV



   Contents         Parity error data for CPUn, where n is a  CPU  number
                    (from 0 to 5).

   Indexed by       Item number.

   Calling                  MOVE    ac,[%CCPAR+<2*n>]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

                    where n is the number of the required CPU (from 0  to
                    5);  and item is one of the symbols given in the word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0        %CVPLA  |        Last (highest) address of parity error         |
                    |=======================================================|
   1        %CVPMR  |              Relative (not virtual) addr              |
                    |        in low or high segment of last PAR ERR         |
                    |=======================================================|
   2        %CVPTS  |      Number of PAR errors found on last sweep         |
                    |=======================================================|
   3        %CVPSC  |          Number of parity sweeps by monitor           |
                    |=======================================================|
   4        %CVPUE  |         Number of user-enabled parity errors          |
                    |=======================================================|
   5        %CVPAA  |        AND of bad address on last parity sweep        |
                    |=======================================================|
   6        %CVPAC  |            AND of bad contents last sweep             |
                    |=======================================================|
   7        %CVPOA  |        IOR of bad address on last parity sweep        |
                    |=======================================================|
   10       %CVPOC  |            IOR of bad contents last sweep             |
                    |=======================================================|
   11       %CVPCS  |           Number of spurious channel errors           |
                    |=======================================================|
   12       %CVMET  |                MOS errors this minute                 |
                    |=======================================================|
   13       %CVMEC  |               MOS errors sent to TGHA                 |
                    |=======================================================|
   14       %CVTME  |                   Total MOS errors                    |
                    |=======================================================|
                                   23-78
                                                            GETTAB TABLES


                                     Subtable: Responses
                                     Subtable of .GTCnV



   Contents         Response data.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%CCRSP+<2*n>]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

                    where n is the number of the required CPU (from 0  to
                    5);  and item is one of the symbols given in the word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0        %CVRSO* |      Sum of all terminal OUT UUO responses            |
                    |=======================================================|
   1        %CVRNO  |       Number of terminal OUT UUO responses            |
                    |=======================================================|
   2        %CVRHO  |    High-sum square of terminal OUT UUO responses      |
                    |=======================================================|
   3        %CVRLO  |     Low-sum square of terminal OUT UUO responses      |
                    |=======================================================|
   4        %CVRSI* |         Sum of terminal IN UUO responses              |
                    |=======================================================|
   5        %CVRNI  |       Number of terminal IN UUO responses             |
                    |=======================================================|
   6        %CVRHI  |     High-sum square of terminal IN UUO responses      |
                    |=======================================================|
   7        %CVRLI  |     Low-sum square of terminal IN UUO responses       |
                    |=======================================================|
   10       %CVRSR  |         Sum of CPU quantum requeue responses          |
                    |=======================================================|
   11       %CVRNR  |          Number of quantum requeue responses          |
                    |=======================================================|
   12       %CVRHR  |     High-sum square of quantum requeue responses      |
                    |=======================================================|
   13       %CVRLR  |      Low-sum square of quantum requeue responses      |
                    |=======================================================|
   14       %CVRSX* |  Sum of one of responses terminated by 1 of 3 above   |
                    |=======================================================|


                                   23-79
   GETTAB TABLES


|                   |=======================================================|
|  15       %CVRNX  |        Number of responses reflected in %CVRSX        |
|                   |=======================================================|
|  16       %CVRHX  |        High-sum square of responses in %CVRNX         |
|                   |=======================================================|
|  17       %CVRLX  |         Low-sum square of responses in %CVRNX         |
|                   |=======================================================|
|  20       %CVRSC* |                 Sum of CPU responses                  |
|                   |=======================================================|
|  21       %CVRNC  |                Number of CPU responses                |
|                   |=======================================================|
|  22       %CVRHC  |           High-sum square of CPU responses            |
|                   |=======================================================|
|  23       %CVRLC  |            Low-Sum Square of CPU Responses            |
|                   |=======================================================|
|  24-31            |                  Obsolete                             |
|                   |=======================================================|
|  32       %CVNRI  |            Number of characters received              |
|                   |=======================================================|
|  33       %CVNXI  |            Number of characters sent                  |
|                   |=======================================================|
|  34       %CVNEI  |            Number of characters echoed                |
|                   |=======================================================|
|  

             The Responses Subtable contains information  concerning  the
             response times calculated for user jobs, on a per-CPU basis.
             The responses subtable is made up of blocks  of  four  words
             each.   Each block contains information pertaining to a type
             of response that is measured.  The following format is  used
             for each block:

                  Word 1:       Sum of responses, where response time  is
                                measured in ticks

                  Word 2:       Number of responses

                  Words 3 - 4:  A double-word integer containing the  sum
                                of squares of response times.

             %CVRSI is the input response time.  This value is  increased
             every  time a job runs a program whose first event (of those
             measured and stored in %CVRSI,  %CVRSO,  and  %CVRSR)  is  a
             terminal input operation.  Note that the input response time
             is calculated only once for this program, the first time  it
             does  input from the terminal, and is measured from the time
             that the monitor receives the command to run the program, to
             the time the program does its first terminal input UUO.

             %CVRSO is the output response time and  is  similar  to  the
             input response time.  Only the first terminal output done by
             the program is calculated and added to this word.


                                   23-80
                                                            GETTAB TABLES


             %CVRSR is the quantum requeue response time.  This  time  is
             measured  for  compute-bound  jobs  (jobs  that finish a CPU
             quantum  without  performing  a  terminal  input  or  output
             operation),  and  measures  the amount of time from the time
             the monitor receives the command to run the program, to  the
             time  the  program  must  be  rescheduled for more CPU time.
             Again, this time is calculated only once  for  each  program
             execution.

             %CVRSX is the response time for the first of the above three
             events  to  occur  for  the job.  If a program does an input
             operation before an output and before a quantum expires, the
             input response time (also calculated in %CVRSI) is stored in
             %CVRSX.  If a second job runs a program that does an  output
             operation  first, the response time for the output is stored
             in %CVRSO and added to %CVRSX.

             Before the values in these locations can be  used,  however,
             it  is important to understand the way that response time is
             calculated.  The intention of counting response time  is  to
             understand  the  amount of time it takes to reach one of the
             three measured events (input operation, output operation, or
             quantum  expiration).   The  user  may,  for example, type a
             command.  The response time is the lag between the time  the
             monitor  accepts  the command and the time it takes to reach
             one of the three events.  Note that this  does  not  include
             the  time  the user spends typing the command.  The response
             time is counted in jiffies (ticks).

             The Responses Subtable collects response times for the first
             event  for  a  job when it begins running a program.  If the
             first event for a program is to output  a  *  as  a  command
             prompt,  the  amount  of  time  between  the  time  the "RUN
             program" command is accepted by the monitor and the time the
             monitor  sends  the  * to the user's terminal is measured as
             the response time for that program.  If a job runs a program
             that   immediately  begins  input  from  the  terminal,  the
             response time for that action is the amount of time  between
             the  time  the  "RUN  program"  command  is  accepted by the
             monitor  and  the  time  the  terminal  input  operation  is
             attempted.   The  response times are accumulated for all the
             jobs as they are scheduled to run.












                                   23-81
   GETTAB TABLES


                                Subtable: Nonexistent Memory
                                     Subtable of .GTCnV



   Contents         Nonexistent memory data.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%CCNXT+<2*n>]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

                    where n is the number of the required CPU (from 0  to
                    5);  and item is one of the symbols given in the word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0        %CVNLA  |                   Last NXM address                    |
                    |=======================================================|
   1        %CVNMR  |               Last NXM relative address               |
                    |=======================================================|
   2        %CVNTS  |            Number of NXMs found this sweep            |
                    |=======================================================|
   3        %CVNSC  |               Number of NXM sweeps done               |
                    |=======================================================|
   4        %CVNUE  |              Number of user-enabled NXMs              |
                    |=======================================================|
   5        %CVNAA  |                 AND of b1ad addresses                 |
                    |=======================================================|
   6        %CVNOA  |                 IOR of bad addresses                  |
                    |=======================================================|
   7        %CVNCS  |            Number of spurious channel NXMs            |
                    |=======================================================|












                                   23-82
                                                            GETTAB TABLES


                                 Subtable: CPU Status Block
                                     Subtable of .GTCnV



   Contents         CPU status block data.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%CCCSB+<2*n>]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

                    where n is the number of the required CPU (from 0  to
                    5);  and item is one of the symbols given in the word
                    map below.

   Word     Symbol    Map
|  
|                   |=======================================================|
|  0        %CVSAI  |                         APRID                         |
|                   |-------------------------------------------------------|
|  1        %CVSAP  |                       CONI APR,                       |
|                   |-------------------------------------------------------|
|  2        %CVSPI  |                       CONI PI,                        |
|                   |-------------------------------------------------------|
|  3        %CVSPD  |                      DATAI PAG,                       |
|                   |-------------------------------------------------------|
|  4        %CVSPC  |                       CONI PAG,                       |
|                   |=======================================================|
|  5-10             |                       Reserved                        |
|                   |=======================================================|
|  11       %CVSER  |                         RDERA                         |
|                   |=======================================================|
|  12       %CVSRD  |                CONI RH20 for First RH                 |
|                   |-------------------------------------------------------|
|                                             . . .                          
|                   |-------------------------------------------------------|
|                   |                CONI RH20 for eighth RH                |
|                   |=======================================================|
|  







                                   23-83
   GETTAB TABLES


|                   |=======================================================|
|  22       %CVSDT  |                    Four words for                     |
|                   |-------------------------------------------------------|
|                   |                      the 4 DTEs                       |
|                   |-------------------------------------------------------|
|                   |                         on a                          |
|                   |-------------------------------------------------------|
|                   |                          CPU                          |
|                   |=======================================================|
|  26       %CVSE0  |                    EPT location 0                     |
|                   |-------------------------------------------------------|
|                                             . . .                          
|                   |-------------------------------------------------------|
|                   |                    EPT location 37                    |
|                   |=======================================================|
|  66       %CVSE1  |                   EPT location 140                    |
|                   |-------------------------------------------------------|
|                                             . . .                          
|                   |-------------------------------------------------------|
|                   |                   EPT location 177                    |
|                   |=======================================================|
|  126      %CVSU1  |                   UPT location 500                    |
|                   |-------------------------------------------------------|
|                                             . . .                          
|                   |-------------------------------------------------------|
|                   |                   UPT location 503                    |
|                   |=======================================================|
|  132      %CVSA6  |                AC block 6, register 0                 |
|                   |-------------------------------------------------------|
|  133              |                AC block 6, register 1                 |
|                   |-------------------------------------------------------|
|  134              |                AC block 6, register 2                 |
|                   |-------------------------------------------------------|
|  135              |                AC block 6, register 3                 |
|                   |-------------------------------------------------------|
|  136              |                AC block 6, register 12                |
|                   |=======================================================|
|  137      %CVSA7  |                AC block 7, register 0                 |
|                   |-------------------------------------------------------|
|  140              |                AC block 7, register 1                 |
|                   |-------------------------------------------------------|
|  141              |                AC block 7, register 2                 |
|                   |=======================================================|
|  142  (1) %CVSSB  |               First word of SBDIAG data               |
|                   |-------------------------------------------------------|
|                                             . . .                          
|                   |-------------------------------------------------------|
|                   |               Up to 50 words of SBDIAG data           |
|                   |=======================================================|





                                   23-84
                                                            GETTAB TABLES


   Note (1)  Each SBDIAG Block has the format:

                  Number of sub-block blocks,,offset to first

             Each sub-block has the format:

                  Number of words,,logical
                  controller#
                  function 0 word 1
                  function 1 word 1












































                                   23-85
   GETTAB TABLES


                                Subtable: Device Status Block
                                     Subtable of .GTCnV



   Contents         Device status block data.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%CCDSB+<2*n>]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

                    where n is the number of the required CPU (from 0  to
                    5);  and item is the item number of the required item
                    in the subtable.

                    The table of device status for devices  on  this  CPU
                    contains the results of executing the instructions in
                    the table obtained with .GTDCD (GETTAB Table 160).
|  
|                   This table and .GTDCD  are  parallel  tables  with  a
|                   one-for-one  mapping  of  instructions  in .GTDCD and
|                   resumes  here.   Intentionally,  there  is  no  order
|                   specified.   It  is  intended that a program (such as
|                   DAEMON or SPEAR)  should  get  one  instruction  from
|                   .GTDCD,  display its symbol and device code in octal,
|                   and then display the value from this table.




















                                   23-86
                                                            GETTAB TABLES


                          Subtable: Background Performance Analysis
                                     Subtable of .GTCnV



   Contents         Disk/PI usage.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%CCSDP+<2*n>]
   Sequence                 GETTAB ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            HRRI    ac,.GTC0V+<2*n>
                            GETTAB  ac,
                              error return
                            normal return

   Word     Symbol    Map

                    |========================================================|
   0        %CVCH0  |                     RH20 #0 usage                      |
                    |========================================================|
   4        %CVCH1  |                     RH20 #1 usage                      |
                    |========================================================|
   10       %CVCH2  |                     RH20 #2 usage                      |
                    |========================================================|
   14       %CVCH3  |                     RH20 #3 usage                      |
                    |========================================================|
   20       %CVCH4  |                     RH20 #4 usage                      |
                    |========================================================|
   24       %CVCH5  |                     RH20 #5 usage                      |
                    |========================================================|
   30       %CVCH6  |                     RH20 #6 usage                      |
                    |========================================================|
   34       %CVCH7  |                     RH20 #7 usage                      |
                    |========================================================|
   40       %CVPI0  |        PI level 0 (DTE, KLIPA, and KLINI) usage        |
                    |========================================================|
   44       %CVPI1  |                    PI level 1 usage                    |
                    |========================================================|
   50       %CVPI2  |                    PI level 2 usage                    |
                    |========================================================|
   54       %CVPI3  |                    PI level 3 usage                    |
                    |========================================================|
   60       %CVPI4  |                    PI level 4 usage                    |
                    |========================================================|
   64       %CVPI5  |                    PI level 5 usage                    |
                    |========================================================|
   70       %CVPI6  |                    PI level 6 usage                    |
                    |========================================================|
   74       %CVPI7  |                    PI level 7 usage                    |
                    |========================================================|
                                   23-87
   GETTAB TABLES


|                                Subtable: KS Memory Errors
|                                    Subtable of .GTCnV
|  
|  
|  
|  Contents         Count  of  soft  and  hard  memory   errors   on   KS
|                   processors.
|  
|  Indexed by       Item number.
|  
|  Calling                  MOVE    ac,[%CCMSS+<2*n>]
|  Sequence                 GETTAB ac,
|                             error return
|                           ADDI    ac,item
|                           HRLZS   ac
|                           HRRI    ac,.GTC0V+<2*n>
|                           GETTAB  ac,
|                             error return
|                           normal return
|  
|  Word     Symbol    Map
|  
|                   |========================================================|
|  0        %CVKSE  |      Total number of soft memory errors                |
|                   |========================================================|
|  1        %CVKSS  |      Memory status register at last soft error         |
|                   |========================================================|
|  2        %CVKHE  |      Total number of hard memory errors                |
|                   |========================================================|
|  3        %CVKHS  |      Memory status register at last hard error         |
|                   |========================================================|























                                   23-88
                                                            GETTAB TABLES


                       .GTFET - Feature Test Settings
                              GETTAB Table 71



   Contents Feature test settings that describe the features included  in
                    the current monitor.

   Indexed by       Item number.

   Monitor Table    FETTBL

   Calling          MOVE ac,[item]
   Sequence         GETTAB ac,
                       error return
                     TLNN ac,<bit+777777>
                       JRST not-available-address
                     TRNN ac,<bit+777777>
                       JRST feature-test-off-address
                     JRST feature-test-on-address

                    where item is one of the symbols given  in  the  word
                    map  below; bit is one of the feature test bits given
                    below the word map.

   Word     Symbol    Map

                    |=======================================================|
   0,,71    %FTUUO* |                 Monitor call features                 |
                    |=======================================================|
   1,,71    %FTRTS* |            Realtime and scheduler features            |
                    |=======================================================|
   2,,71    %FTCOM* |                   Command features                    |
                    |=======================================================|
   3,,71    %FTACC* |                  Accounting features                  |
                    |=======================================================|
   4,,71    %FTERR* |           Error control and option features           |
                    |=======================================================|
   5,,71    %FTDEB* |                  Debugging features                   |
                    |=======================================================|
   6,,71    %FTSTR* |        File structure features and parameters         |
                    |=======================================================|
   7,,71    %FTDSK* |         Internal disk features and parameters         |
                    |=======================================================|
   10,,71   %FTSCN* |                Scanner option features                |
                    |=======================================================|
   11,,71   %FTPER* |              I/O features and parameters              |
                    |=======================================================|
   12,,71   %FTPE2* |           More I/O features and parameters            |
                    |=======================================================|
   13,,71   %FTDS2* |      More internal disk features and parameters       |
                    |=======================================================|


                                   23-89
   GETTAB TABLES


                    |=======================================================|
   14,,71   %FTST2* |      More file structure features and parameters      |
                    |=======================================================|
   15,,71   %FTUU2* |              More monitor call features               |
                    |=======================================================|


                    %FTUUO monitor  call  feature  test  flags  (more  at
                    %FTUU2 below) are as follows:

                    Bits   Symbol    Feature

                     19    F%MDA     Mountable device allocator.
                     20    F%MLOG    MIC log file support.
                     21    F%MIC     MACRO command processor.
                     22    F%EQDQ    ENQ./DEQ. monitor calls.
                     23    F%GALA    GALAXY (always set).
                     24    F%PI      Software PI system.
                     25    F%IPCF    IPCF.
                     26    F%CCIN    CTRL/C intercept.
|                    27    F%PTYU    JOBSTS  and  CTLJOB  monitor   calls
|                                    (always set).
|                    28    F%PEEK    PEEK monitor call.
|                    29    F%POKE    POKE. monitor call.
|                    30    F%JCON    Job continuation (always set).
|                    31    F%SPL     Spooling.
|                    32    F%PRV     Job privileges (always set).
|                    33    F%DAEM    DAEMON monitor call.
|                    34    F%GETT    GETTAB monitor call.
|                    35    F%2REL    2-register relocation (obsolete).
|  
|                   %FTRTS realtime and scheduler feature test flags  are
|                   as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    23    F%CMSR    Communication measurement.
|                    24    F%PSCD    Scheduler performance gathering.
|                    25    F%NSCH    New scheduler.
|                    26    F%VM      Virtual memory (always on).
|                    27    F%SWAP    Swapper (defined in S, always on).
|                    28    F%SHFL    Shuffler (obsolete).
|                    29    F%RTC     DK10 service.
|                    30    F%LOCK    LOCK monitor call.
|                    31    F%TRPS    TRPSET monitor call.
|                    32    F%RTTR    RTTRP monitor call.
|                    33    F%SLEE    SLEEP monitor call (always set).
|                    34    F%HIBW    HIBER and WAKE monitor calls (always
|                                    set).
|                    35    F%HPQ     HPQ monitor call.




                                   23-90
                                                            GETTAB TABLES


|                   %FTCOM command feature test flags are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    19    F%PJOB    Extended PJOB command (always set).
|                    20    F%EXE     .EXE file format.
|                    21    F%MOFF    Set memory off-line.
|                    22    F%MONL    Set memory on-line.
|                    23    F%CCL     COMPILE  commands  (defined  in   S,
|                                    always on).
|                    24    F%CCLX    COMPILE-class commands (always set).
|                    25    F%QCOM    QUEUE and related  commands  (always
|                                    set).
|                    26    F%SET     SET command and SETUUO monitor  call
|                                    (always set).
|                    27    F%VERS    Version.
|                    28    F%BCOM    Batch control files (always set).
|                    29    F%SEDA    Set daytime and date (always set).
|                    30    F%WATC    SET WATCH command and monitor call.
|                    31    F%FINI    FINISH and  CLOSE  commands  (always
|                                    set).
|                    32    F%REAS    REASSIGN command  and  monitor  call
|                                    (always set).
|                    33    F%EXAM    E and D commands (always set).
|                    34    F%TALK    SEND command (always set).
|                    35    F%ATTA    ATTACH  command  and  monitor   call
|                                    (always set).
|  
|                   %FTACC accounting feature test flags are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    28    F%ACCT    Accounting support (always set).
|                    29    F%EMRT    KL10    EBOX/MBOX    user    runtime
|                                    capability.
|                    30    F%FDAE    File DAEMON.
|                    31    F%TLIM    Limits for time, core, and so  forth
|                                    (always set).
|                    32    F%CNO     Accounting  charge  numbers  (always
|                                    set).
|                    33    F%UNAM    User names (always set).
|                    34    F%KCT     Kilo-core ticks (always set).
|                    35    F%TIME    Run time (always set).
|  
|                   %FTERR error control and option  feature  test  flags
|                   are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    19    F%SCA     Systems  Communication  Architecture
|                                    is supported.
|                    20    F%KLP     KL-paging is enabled.


                                   23-91
   GETTAB TABLES


|                    21    F%KS10    KS10 processor.
|                    22    F%MNXM    Nonexistent  memory  error  recovery
|                                    (always set).
|                    23    F%KL10    KL10 processor.
|                    24    F%KA10    KA10  processor  (obsolete,   always
|                                    off).
|                    25    F%22BI    22-bit channel (DF10C) (always set).















































                                   23-92
                                                            GETTAB TABLES


|                   Bits   Symbol    Feature
|  
|                    26    F%PDBS    Swapping PDB (obsolete, always off).
|                    27    F%KI10    KI10 processor.
|                    28    F%METR    METER. monitor call.
|                    29    F%EXON    Execute-only files (always on).
|                    30    F%KII     KI10  instruction  check   on   KA10
|                                    (always set).
|                    31    F%BOOT    BOOT bootstrap (always set).
|                    32    F%2SWP    Multi-swapping devices (always set).
|                    33    F%EL      DAEMON error logging.
|                    34    F%MS      Multi-processors.
|                    35    F%MEMP    Memory parity error recovery (always
|                                    set).
|  
|                   %FTDEB debugging feature test flags are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    27    F%2SEG    2-segment monitor (always on).
|                    28    F%RSP     Response time.
|                    29    F%WHY     Why reload logging (always set).
|                    30    F%PATT    Patch space in tables.
|                    31    F%TRAC    Back-tracking  features   (obsolete,
|                                    always off).
|                    32    F%HALT    Halts in monitor (always set).
|                    33    F%RCHK    Internal redundancy  checks  (always
|                                    set).
|                    34    F%MONP    Monitor  write-protected  (obsolete,
|                                    always off).
|                    35    F%CHEC    Monitor   check-summed    (obsolete,
|                                    always off).
|  
|                   %FTSTR file structure feature  test  flags  (more  at
|                   %FTST2 below) are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    19    F%DHIA    High availability features.
|                    20    F%DSIM    Simultaneous file update.
|                    21    F%NUL     NUL:  device.
|                    22    F%LIB     LIB/SYS/OLD/NEW,  and  other  device
|                                    names (always set).
|                    23    F%DPRI    Disk priority transfers.
|  
|                    24    F%APLB    Append to last file block.
|                    25    F%AIR     Append implies read (always set).
|                    26    F%GSRC    Generic device searching.
|                    27    F%DRDR    Rename across directories.
|                    28    F%DSEK    SEEK monitor call (obsolete,  always
|                                    off).
|                    29    F%DSUP    Super USETI/USETO monitor calls.
|                    30    F%DQTA    Disk quotas.
|                    31    F%STR     Multiple structures (always set).
                                   23-93
   GETTAB TABLES


|                    32    F%5UUO    Miscellaneous 5-series monitor calls
|                                    (always set).




















































                                   23-94
                                                            GETTAB TABLES


|                   Bits   Symbol    Meaning
|  
|                    33    F%PHYO    Physical devices only (always set).
|                    34    F%SFD     Subfile directories  (SFDs)  (always
|                                    set).
|                    35    F%MOUN    STRUUO   monitor   call    functions
|                                    (always set).
|  
|                   %FTDSK internal disk parameter flags (more at  %FTDS2
|                   below) are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    19    F%SLCK    Debug search list code.
|                    20    F%2ATB    2-part  access   blocks   (obsolete,
|                                    always off)
|                    21    F%CBDB    Debug CB interlock.
|                    22    F%LOGI    LOGIN (defined in S, always on).
|                    23    F%DISK    Disk system (defined  in  S,  always
|                                    on).
|                    24    F%FFRE    Prevent races in  FILFND  (obsolete,
|                                    always off).
|                    25    F%SWPE    Swap  read  error  recovery  (always
|                                    set).
|                    26    F%DBBK    Bad block marking.
|                    27    F%DUFC    UFD compressing.
|                    28    F%DETS    Disk  error   simulator   (obsolete,
|                                    always off).
|                    29    F%DMRB    Multi-RIBs.
|                    30    F%DSMC    Smaller  allocation  of  disk   core
|                                    blocks (obsolete, always off).
|                    31    F%DALC    Allocation optimization.
|                    32    F%DSTT    Disk-usage statistics.
|                    33    F%DHNG    Hung disk recovery (always set).
|                    34    F%DBAD    Disk offline recovery.
|                    35    F%DOPT    Latency optimization (always set).
|  
|                   %FTSCN scanner  option  feature  test  flags  are  as
|                   follows:
|  
|                   Bits   Symbol    Feature
|  
|                    20    F%RP04    RP04 support (always set).
|                    21    F%RDX     Remote data-entry service.
|                    22    F%DCXH    DC10-H  (2741   on   DC10)   support
|                                    (obsolete, always off).
|                    23    F%TVP     Fancy vertical positioning.
|                    24    F%TYPE    TYPESET-10    features    on    DC76
|                                    (obsolete, always off).
|                    25    F%2741    Support  for   2741-like   terminals
|                                    (obsolete, always off).
|                    26    F%CAFE    DC76 support (always set).


                                   23-95
   GETTAB TABLES


|                    27    F%TBLK    TTY BLANK command.
|                    28    F%TPAG    PAGE and display knowledge.
|                    29    F%DIAL    Auto-dialer.
|                    30    F%SCLC    Special line control (always set).
|                    31    F%SCNR    Hardware scanner (always set.)
|                    32    F%MODM    Modem control.
|                    33    F%630H    Single-scanner 630.
|                    34    F%GPO2    Modem  support   (obsolete,   always
|                                    off).
|                    35    F%HDPX    Truly     half-duplex      terminals
|                                    (obsolete, always off).











































                                   23-96
                                                            GETTAB TABLES


|                   %FTPER I/O parameter  feature  test  flags  (more  at
|                   %FTPE2 below) are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    19    F%RDBA    Read backwards on TU70 (always set).
|                    20    F%TAPO    TAPOP. monitor call (always set).
|                    21    F%TLAB    Tape label support.
|                    22    F%TASK    Task-to-task network support.
|                    23    F%DAS7    DAS78 (remote 360/370/2780) support.
|                    24    F%XTC     DA28-C network support.
|                    25    F%MSGS    MSGSER (MPX device) monitor module.
|                    26    F%HSLN    High-speed  logical  device   search
|                                    (always set).
|                    27    F%CPTR    CDP trouble intercept (always set).
|                    28    F%CRTR    CDR trouble intercept (always set).
|                    29    F%CTY1    Support device CTY1 (always on).
|                    30    F%NET     Network software.
|                    30    F%REM     Remote-station software.
|                    31    F%LPTR    LPT-device  error  recovery  (always
|                                    set).
|                    32    F%OPRE    Device errors  to  operator  (always
|                                    set).
|                    33    F%CDRS    CDR superimage mode (always set).
|                    34    F%MTSE    Magnetic  tape   SET   DENSITY/BLOCK
|                                    commands (always set).
|                    35    F%TMP     TMPCOR area (always on).
|  
|                   %FTPE2 I/O parameter  feature  test  flags  (more  at
|                   %FTPER above) are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    35    F%DX10    DX10 device-chaining (magtapes).
|  
|                   %FTDS2 internal disk  parameter  feature  test  flags
|                   (more at %FTDSK above) are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    35    F%DUAL    Dual-ported disks (RP04, RP06).
|  
|                   %FTST2 file structure parameter  feature  test  flags
|                   (more at %FTSTR above) are as follows:
|  
|                   Bits   Symbol    Feature
|  
|                    34    F%SETS    Disk sets.
|                    35    F%PSTR    Private file structures.

                    %FTUU2 monitor  call  feature  test  flags  (more  at
                    %FTUUO above) are as follows:


                                   23-97
   GETTAB TABLES


                    Bits   Symbol    Feature

                     35    F%MPB     MPB batch code.



















































                                   23-98
                                                            GETTAB TABLES


                                .GTEDN - Ersatz Device Names
                                       GETTAB Table 72



   Contents         SIXBIT names of ersatz devices.  The first blank name
                    is the end of the table.

   Indexed by       Item number.

   Monitor Table    SDVTBL

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is the item number of the required name.

   Word     Symbol    Map

                    |=======================================================|
   0                |               First ersatz device name                |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |                Last ersatz device name                |
                    |=======================================================|

                    where the entry following last is blank (0).

                    The ersatz device names  are  defined  in  the  EDEVS
                    macro in COMMOD.





















                                   23-99
   GETTAB TABLES


                                    .GTSCN - Scanner Data
                                       GETTAB Table 73



   Contents         Scanner data.

   Indexed by       Item number.

   Monitor Table    .GTSCN

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,73    %SCNRI  |             Number of receive interrupts              |
|                   |=======================================================|
|  1,,73    %SCNXI  |             Number of transmit interrupts             |
|                   |=======================================================|
|  2,,73    %SCNEI  |         Number of echo interrupts (in %SCNXI)         |
|                   |=======================================================|
|  3,,73    %SCNMB  |                  Maximum buffer size                  |
|                   |=======================================================|
|  4,,73    %SCNAL  |                Number of active lines                 |
|                   |=======================================================|
|  5,,73    %SCNPS  |              Size of buffer for PIM mode              |
|                   |=======================================================|
|  6,,73    %SCNRA  |         Address of receive interrupt routine          |
|                   |=======================================================|
|  7,,73    %SCNXA  |         Address of transmit interrupt routine         |
|                   |=======================================================|
|  10,,73   %SCNTA  |                   Obsolete                            |
|                   |=======================================================|
|  11,,73   %SCTFT  |        Address of first TTY chunk on free list        |
|                   |=======================================================|
|  12,,73   %SCTFP  |         Address of last TTY chunk on free list        |
|                   |=======================================================|
|  13,,73   %SCRCQ  |         Number of characters queued or deferred       |
|                   |=======================================================|
|  14,,73   %SCRQF  |         Number of characters lost for queue overflow  |
|                   |=======================================================|
|  15,,73   %SCNTW  |         Number of time LDBTIC was wrong               |
|                   |=======================================================|




                                   23-100
                                                            GETTAB TABLES


                               .GTSNA - Last SEND ALL in 9-Bit
                                       GETTAB Table 74



   Contents         Data for last send-all message.

   Indexed by       Item number.

   Monitor Table    SNDTMP

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0,,74    %SCNAE  |          Byte pointer to end byte in message          |
                    |=======================================================|
   1,,74    %SCNAS  |        Byte pointer to first-1 byte in message        |
                    |=======================================================|
   2,,74    %SCNAM  |             First word of data in message             |
                    |=======================================================|
                                                .                           
                                                .                           
                                                .                           
                    |=======================================================|
                    |             Last word of data in message              |
                    |=======================================================|




















                                   23-101
   GETTAB TABLES


                               .GTCMT - SET TTY Command Names
                                       GETTAB Table 75



   Contents         The SIXBIT names of the  SET  TTY  monitor  commands.
                    The last name is followed by a blank word.
|  
|  Indexed by       Item number

   Monitor Table    TTCWDT

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is the number of the name to be returned.

   Word               Map

                    |=======================================================|
   0                |              First SET TTY command name               |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |               Last SET TTY command name               |
                    |=======================================================|

                    where last is the number-1 of SET TTY commands in the
                    table.

                    The SET TTY command names are defined with the TTNAME
                    macro in COMCON and will be displayed if you type the
                    HELP * monitor command.



















                                   23-102
                                                            GETTAB TABLES


                          .GTPID - Process Communication ID (IPCF)
                                       GETTAB Table 76



   Contents         All process  communication  identifiers  (PIDs)  that
                    have been assigned by the system.  The default length
                    of the table is twice the number  of  jobs  that  can
                    run.

   Indexed by       Item number.

   Monitor Table    PIDTAB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is the number of the desired item  in  the
                    table.   The entry after the last PID in the table is
                    0.

   Word               Map

                    |=======================================================|
   0                |                    First IPCF PID                     |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |                     Last IPCF PID                     |
                    |=======================================================|

                    where last is the number-1 of PIDs in the table.




















                                   23-103
   GETTAB TABLES


                              .GTIPC - IPCF Miscellaneous Data
                                       GETTAB Table 77



   Contents         Miscellaneous IPCF data.

   Indexed by       Item number.

   Monitor Table    IPCTAB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,77    %IPCML  |              Maximum IPCF packet length               |
|                   |=======================================================|
|  1,,77    %IPCSI  |            PID of system-wide [SYSTEM]INFO            |
|                   |=======================================================|
|  2,,77    %IPCDQ  |                     Default data                      |
|                   |=======================================================|
|  3,,77    %IPCTS  |                  Total packets sent                   |
|                   |=======================================================|
|  4,,77    %IPCTO  |               Total packets outstanding               |
|                   |=======================================================|
|  5,,77    %IPCCP  |                  PID of [SYSTEM]IPCC                  |
|                   |=======================================================|
|  6,,77    %IPCPM  |                       PID mask                        |
|                   |=======================================================|
|  7,,77    %IPCMP  |                  Length of PID table                  |
|                   |=======================================================|
|  10,,77   %IPCNP  |              Number of PIDs now defined               |
|                   |=======================================================|
|  11,,77   %IPCTP  |            Total PIDs defined since reload            |
|                   |=======================================================|
|  12,,77   %IPCIC  |        Number of IPCF pages currently in core         |
|                   |=======================================================|
|  13,,77   %IPCSP  |                 PID of [SYSTEM]GOPHER                 |
|                   |=======================================================|
|  14,,77   %IPTWT  |             Total number of word transferred          |
|                   |=======================================================|
|  15,,77   %IPTPT  |Total number of pages transferred (word-mode packets)  |
|                   |=======================================================|
|  16,,77   %IPOPP  |     Overhead per packet (page-mode packets)           |
|                   |=======================================================|


                                   23-104
                                                            GETTAB TABLES


|  17,77    %IPDPQ  |             Default PID quota                         |
|                   |=======================================================|




















































                                   23-105
   GETTAB TABLES


                           .GTUPM - Physical Page of User Page Map
                                      GETTAB Table 100



   Contents         One word for each job running on the  system,  giving
                    the physical page number of the job's page map.

   Indexed by       Job number or segment number.

   Monitor Table    JBTUPM

   Calling                  MOVE    ac,[XWD jobno,.GTUPM]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job) or a high-segment number (use -2
                    for the current high segment).

                    For high segment entries, this is the page number  of
                    the  start  of  the high segment.  Note that only the
                    left half contains the page number.  The  right  half
                    contains other data and should be ignored.

                    |=======================================================|
                    |               User page map page number               |
                    |=======================================================|

























                                   23-106
                                                            GETTAB TABLES


                              .GTCMW - SET WATCH Command Names
                                      GETTAB Table 101



   Contents         The SIXBIT names of the SET WATCH monitor commands.

   Indexed by       Item number.

   Monitor Table    WATTAB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is the number of the desired item  in  the
                    table.

   Word               Map

                    |=======================================================|
   0                |             First SET WATCH command name              |
                    |-------------------------------------------------------|
                                             . . .                          
                    |-------------------------------------------------------|
   last             |              Last SET WATCH command name              |
                    |=======================================================|

                    where last is the number-1 of command  names  in  the
                    table.

                    The SET WATCH command  names  are  defined  with  the
                    WATTAB  macro  in COMCON and will be displayed if you
                    type the HELP * monitor command.



















                                   23-107
   GETTAB TABLES


                        .GTCVL - Current Virtual and Physical Limits
                                      GETTAB Table 102



   Contents         One word for each job running on the  system,  giving
                    the  current virtual and physical page limits for the
                    job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDCVL

   Calling                  MOVE    ac,[XWD jobno,.GTCVL]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |   Current virtual limit   |  Current physical limit   |
                    |=======================================================|






























                                   23-108
                                                            GETTAB TABLES


                        .GTMVL - Maximum Virtual and Physical Limits
                                      GETTAB Table 103



   Contents         One word for each job running on the  system,  giving
                    the  maximum virtual and physical page limits for the
                    job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDMVL

   Calling                  MOVE    ac,[XWD jobno,.GTMVL]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |   Maximum virtual limit   |  Maximum physical limit   |
                    |=======================================================|






























                                   23-109
   GETTAB TABLES


                              .GTIPA - IPCF Statistics for Job
                                      GETTAB Table 104



   Contents         One word for each job running on the  system,  giving
                    the IPCF statistics for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDIPA

   Calling                  MOVE    ac,[XWD jobno,.GTIPA]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                IPCF statistics for job                |
                    |=======================================================|

                    IPCF statistics bits are as follows:

                    Bits   Symbol    Meaning

                    0-17   IP.CQD    Count of sends since the job  logged
                                     in.
                   18-35   IP.CQC    Count  of  receives  since  the  job
                                     logged in.






















                                   23-110
                                                            GETTAB TABLES


                              .GTIPP - IPCF Pointers and Counts
                                      GETTAB Table 105



   Contents         IPCF pointers and counts for the system.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDIPC

   Calling                  MOVE    ac,[XWD jobno,.GTIPP]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |               IPCF pointers and counts                |
                    |=======================================================|

                    IPCF pointer and count bits are as follows:

                    Bits   Symbol    Meaning

                    0-17             Reserved.
                   18-26   IP.CQP    Outstanding sends.
                   27-35   IP.CQO    Outstanding receives.



























                                   23-111
   GETTAB TABLES


                             .GTIPI - PID for Job's [SYSTEM]INFO
                                      GETTAB Table 106



   Contents         One word for each job running on the  system,  giving
                    the  process  communication  identifier for the job's
                    [SYSTEM]INFO.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDIPI

   Calling                  MOVE    ac,[XWD jobno,.GTIPI]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |             PID for [SYSTEM]INFO for job              |
                    |=======================================================|






























                                   23-112
                                                            GETTAB TABLES


                           .GTIPQ - IPCF Flags and Quotas for Job
                                      GETTAB Table 107



   Contents         One word for each job running on the  system,  giving
                    the IPCF quotas and flags for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDIPQ

   Calling                  MOVE    ac,[XWD jobno,.GTIPQ]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |             IPCF flags and quotas for job             |
                    |=======================================================|

                    Quota and flag bits are as follows:

                    Bits     Symbol    Meaning
|  
|                      0     IP.CQX    Disabled.
|                      1     IP.CQQ    Quota set.
|                   3-17               PID quota.
|                  18-26     IP.CQS    Send quota.
|                  27-35     IP.CQR    Receive quota.





















                                   23-113
   GETTAB TABLES


                                 .GTABS - Address Break Word
                                      GETTAB Table 111



   Contents         The address break word.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDABS

   Calling                  MOVE    ac,[XWD jobno,.GTABS]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno  is the number of a logged-in  job.   Use
                    -1 for the current job.

   Word               Map

                     |=======================================================|
                     |                  Address break word                   |
                     |=======================================================|

























                                   23-114
                                                            GETTAB TABLES


                             .GTVM - General Virtual Memory Data
                                      GETTAB Table 113



   Contents         Data about virtual page handling.

   Indexed by       Item number.

   Monitor Table    .GTVM

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol   Map
|  
|                   |=======================================================|
|  0,,113   %VMSWP  |                      Swap count                       |
|                   |=======================================================|
|  1,,113   %VMSCN  |                      Scan count                       |
|                   |=======================================================|
|  2,,113   %VMSIP  |          Swaps and page operations in progress        |
|                   |=======================================================|
|  3,,113   %VMSLE  |               Number of SWPLST entries                |
|                   |=======================================================|
|  4,,113   %VMTTL  |              Total virtual memory in use              |
|                   |=======================================================|
|  5,,113   %VMCMX  |            Maximum value of %VMTTL allowed            |
|                   |=======================================================|
|  6,,113   %VMRMX  |                       Obsolete                        |
|                   |=======================================================|
|  7,,113   %VMCON  |        Constant used in swap rate computation         |
|                   |=======================================================|
|  10,,113  %VMQJB  |                       Obsolete                        |
|                   |=======================================================|
|  11,,113  %VMRMJ  |                       Obsolete                        |
|                   |=======================================================|
|  12,,113  %VMTLF  |                  Time of last fault                   |
|                   |=======================================================|
|  13,,113  %VMSPF  |               System page fault counts                |
|                   |=======================================================|
|  14,,113  %VMSW1  |                   Address of SWPLST                   |
|                   |=======================================================|
|  15,,113  %VMSW2  |                   Address of SW2LST                   |
|                   |=======================================================|
|  16,,113  %VMSW3  |                   Address of SW3LST                   |
|                   |=======================================================|


                                   23-115
   GETTAB TABLES


|                   |=======================================================|
|  17,,113  %VMEXP  |                Time constant exponent                 |
|                   |=======================================================|
|  20,,113  %VMDIF  |          Difference between %VMEXP and %VMCON         |
|                   |=======================================================|
|  21,,113  %VMMXI  |      Maximum interval for fault-rate computation      |
|                   |=======================================================|
|  22,,113  %VMIPC  |         Count of IPCF pages being swapped out         |
|                   |=======================================================|
|  23,,113  %VMUPJ  |             Offset of job number in UPMP              |
|                   |=======================================================|
|  24,,113  %VMUPR  |         Offset of end of low segment in UPMP          |
|                   |=======================================================|
|  25,,113  %VMLST  |      Offset of pointer to swappable DDBs in UPMP      |
|                   |=======================================================|
|  26,,113  %VMUPM  |                Virtual address of UPMP                |
|                   |=======================================================|
|  27,,113  %VMLNM  |      Offset of pointer to logical names in UPMP       |
|                   |=======================================================|
|  30,,113  %VMIC1  |       Number of swap input requests in SWPLST         |
|                   |=======================================================|
|  31,,113  %VMHUA  |             Highest unmapped EXEC address             |
|                   |=======================================================|
|  32,,113  %VMPPB  |       Address of beginning of per-process space       |
|                   |=======================================================|
|  33,,113  %VMPPE  |        Address of end + 1 of per-process space        |
|                   |=======================================================|
|  34,,113  %VMPPJ  |          Address of per-process user JOBDAT           |
|                   |=======================================================|
|  35,,113  %VMFCC  |               Offset in UPMP for TMPCOR               |
|                   |=======================================================|
|  36,,113  %VMCTA  |   Offset in UPMP for extended channel table pointer   |
|                   |=======================================================|
|  37,,113  %VMJDA  |             EXEC virtual address of USRJDA            |
|                   |=======================================================|
|  40,,113  %VMRMC  |                  Real maximum CORMAX                  |
|                   |=======================================================|
|  41,,113  %VMMPC  |   Number of modified pages (write-locked page faults  |
|                   |=======================================================|















                                   23-116
                                                            GETTAB TABLES


                                .GTVRT - Paging Rate for Job
                                      GETTAB Table 114



   Contents         One word for each job running on the  system,  giving
                    the page rate for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDVRT

   Calling                  MOVE    ac,[XWD jobno,.GTVRT]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |    Paging rate for job    |         Reserved          |
                    |=======================================================|































                                   23-117
   GETTAB TABLES


                                .GTSST - Scheduler Statistics
                                      GETTAB Table 115



   Contents         Statistics kept by and for the job scheduler.

   Indexed by       Item number.

   Monitor Table    .GTSST

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,115   %SSOSO  |     Number of jobs run out-of-order to allow them     |
|                   |           to give up resources for swap-out           |
|                   |=======================================================|
|  1,,115   %SSORJ  |     Number of jobs run out-of-order to allow them     |
|                   |      to give up resources required to run a job       |
|                   |=======================================================|
|  2,,115   %SSNUL  |                   Swapper null time                   |
|                   |=======================================================|
|  3,,115   %SSLOS  |                   Swapper lost time                   |
|                   |=======================================================|
|  4,,115   %SSRQC  |               Total number of requeues                |
|                   |=======================================================|
|  5,,115   %SSICM  |                       Obsolete                        |
|                   |=======================================================|
|  6,,115   %SSMSI  |            Medium-term scheduling interval            |
|                   |=======================================================|
|  7,,115   %SSAJS  |                   Average job size                    |
|                   |=======================================================|
|  10,,115  %SSTQT  |    Total runtime quota given to each subclass         |
|                   |=======================================================|
|  11,,115  %SSEAF  |                       Obsolete                        |
|                   |=======================================================|
|  12,,115  %SSEAT  |                       Obsolete                        |
|                   |=======================================================|
|  13,,115  %SSRSS  |   Total user time since SCHED. set class parameters   |
|                   |=======================================================|
|  14,,115  %SSCLS  |              Default class for new jobs               |
|                   |=======================================================|




                                   23-118
                                                            GETTAB TABLES


|                   |=======================================================|
|  15,,115  %SSJIL  |  Percentage of time scheduler scans just-swapped      |
|                   |               in list before subqueues                |
|                   |=======================================================|
|  16,,115  %SSSWP  | Min. no. of ticks swapper scans same primary subqueue |
|                   |=======================================================|
|  17,,115  %SSBBQ  |               Background batch subqueue               |
|                   |=======================================================|
|  20,,115  %SSBBS  |      No. of ticks between background batch swaps      |
|                   |=======================================================|
|  21,,115  %SSIOF  |% of time swapper scans PQ2 incore chain before outcore|
|                   |=======================================================|
|  22,,115  %SSSET  |             0 if round-robin scheduling;              |
|                   |   date/time when class runtime scheduling initiated   |
|                   |                  if class scheduling.                 |
|                   |=======================================================|
|  23,,115  %SSFLG  |             0 if round-robin scheduling;              |
|                   |        Count of CPU classes with nonzero quota        |
|                   |                  if class scheduling                  |
|                   |=======================================================|
|  24,,115  %SSCOR  |     Seconds to wait after swapping out a runnable     |
|                   |        job before ignoring incore protect time        |
|                   |=======================================================|































                                   23-119
   GETTAB TABLES


                               .GTST2 - Second Job Status Word
                                      GETTAB Table 117



   Contents         One word for each job running on the  system,  giving
                    the  second  job status word for the job.  (The first
                    job status word is in GETTAB table 0 (.GTSTS).)

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.

   Indexed by       Job number.

   Monitor Table    JBTST2

   Calling                  MOVE    ac,[XWD jobno,.GTST2]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job (use  -1
                    for the current job).

                    |=======================================================|
                    |                Second job status word                 |
                    |=======================================================|

























                                   23-120
                                                            GETTAB TABLES


                            .GTJTC - Job Type and Scheduler Class
                                      GETTAB Table 120



   Contents         One word for each job running on the  system,  giving
                    the  job  type  and scheduler class for the job.  The
                    bits in this word may vary from monitor  to  monitor;
                    therefore  you  should  not  reference  .GTJTC  in  a
                    program that is monitor-independent.

   Indexed by       Job number.

   Monitor Table    JBTSCD

   Calling                  MOVE    ac,[XWD jobno,.GTJTC]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |             Job type and scheduler class              |
                    |=======================================================|




























                                   23-121
   GETTAB TABLES


                         .GTCQP - Scheduler Quota Percent for Class
                                      GETTAB Table 121



   Contents         The scheduler class quota in percent for each class.
|  
|  Indexed by       Item number
|  
|  Monitor Table    CLSSTS
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is the class number  of  the  class  whose
|                   quota percentage is required.
|  
|                   |=======================================================|
|                   |           Class quota in percent for class            |
|                   |=======================================================|
































                                   23-122
                                                            GETTAB TABLES


|                          .GTCRT - Class Runtime Since Quota Set
|                                     GETTAB Table 123
|  
|  
|  
|  Contents         The runtime for each class  since  the  class  quotas
|                   were set.
|  
|  Indexed by       Scheduler class.
|  
|  Monitor Table    SIDOFS
|  
|  Calling                  MOVE    ac,[XWD class,.GTCRT]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where class is the class number of  the  class  whose
|                   runtime is required.
|  
|                   |=======================================================|
|                   |       Class runtime since quotas set for class        |
|                   |=======================================================|































                                   23-123
   GETTAB TABLES


|                                .GTSID - Special PID Table
|                                     GETTAB Table 126
|  
|  
|  
|  Contents         A list of  the  defined  system  process  identifiers
|                   (PIDs) used by the IPCF facility.
|  
|  Indexed by       Item number.
|  
|  Monitor Table    .GTSID
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is one of the symbols given  in  the  word
|                   map below.
|  
|  Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,126   %SIIPC  |                     [SYSTEM]IPCC                      |
|                   |=======================================================|
|  1,,126   %SIINF  |                     [SYSTEM]INFO                      |
|                   |=======================================================|
|  2,,126   %SIQSR  |                    [SYSTEM]QUASAR                     |
|                   |=======================================================|
|  3,,126   %SIMDA  |              Mountable device allocator               |
|                   |=======================================================|
|  4,,126   %SITLP  |               Magtape labeling process                |
|                   |=======================================================|
|  5,,126   %SIFDA  |                      File Daemon                      |
|                   |=======================================================|
|  6,,126   %SIMDC  |      Mountable device coordinator (historical)        |
|                   |=======================================================|
|  6,,126   %SITOL  |                   Tape AVR process                    |
|                   |=======================================================|
|  7,,126   %SIACT  |                  [SYSTEM]ACCOUNTING                   |
|                   |=======================================================|
|  10,,126  %SIOPR  |                  Operator interface                   |
|                   |=======================================================|
|  11,,126  %SISEL  |                  System error logger                  |
|                   |=======================================================|
|  12,,126  %SIDOL  |                   Disk AVR process                    |
|                   |=======================================================|
|  13,,126  %SITGH  |                     [SYSTEM]TGHA                      |
|                   |=======================================================|
|  14,,126  %SINML  |                   DECnet NML listener                 |
|                   |=======================================================|



                                   23-124
                                                            GETTAB TABLES


|                   |=======================================================|
|  15,,126  %SIGFR  |                   [SYSTEM]GOPHER                      |
|                   |=======================================================|
|  16,,126  %SICAT  |                   [SYSTEM]CATALOG                     |
|                   |=======================================================|
|  17,,126  %SIMAI  |                   [SYSTEM]MAILER                      |
|                   |=======================================================|
|  














































                                   23-125
   GETTAB TABLES


|                               .GTENQ - ENQ./DEQ. Statistics
|                                     GETTAB Table 127
|  
|  
|  
|  Contents         Statistics and quotas for the  ENQ. and  DEQ. monitor
|                   calls.
|  
|  Indexed by       Item number.
|  
|  Monitor Table    .EQTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is one of the symbols given  in  the  word
|                   map below.
|  
|  Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,127   %EQMSS  |                  Maximum string size                  |
|                   |=======================================================|
|  1,,127   %EQNAQ  |                Number of active queues                |
|                   |=======================================================|
|  2,,127   %EQESR  |                Total ENQ. since reload                |
|                   |=======================================================|
|  3,,127   %EQDSR  |                Total DEQ. since reload                |
|                   |=======================================================|
|  4,,127   %EQAPR  |           Number of active pooled resources           |
|                   |=======================================================|
|  5,,127   %EQDEQ  |                  Default ENQ. quota                   |
|                   |=======================================================|
|  6,,127   %EQMMS  |        Maximum pie-slice lock mask block size         |
|                   |=======================================================|
|  7,,127   %EQMTS  |          Maximum lock-associated table size           |
|                   |=======================================================|
|  10,,127  %EQLTL  |          Minutes that unused lock data is kept        |
|                   |=======================================================|
|  11,,127  %EQNDD  |          Number of deadlocks detected                 |
|                   |=======================================================|
|  12,,127  %EQNTO  |          Number of timeouts                           |
|                   |=======================================================|
|  13,,127  %EQMAQ  |          Maximum number of active queues              |
|                   |=======================================================|







                                   23-126
                                                            GETTAB TABLES


|                                .GTJLT - LOGIN Time for Job
|                                     GETTAB Table 130
|  
|  
|  
|  Contents         One word for each job running on the  system,  giving
|                   the  date/time  (in  universal  format)  that the job
|                   logged in.
|  
|  Indexed by       Job number.
|  
|  Monitor Table    JBTJLT
|  
|  CALLING                  MOVE    ac,[XWD jobno,.GTJLT]
|  SEQUENCE                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where jobno is the number of a logged-in job.  Use -1
|                   for the current job.
|  
|                   |=======================================================|
|                   |          LOGIN date/time in universal format          |
|                   |=======================================================|
|  
|                                   NOTE
|  
|          This table  is  adjusted  retroactively  whenever  the
|          current  system date/time is changed with the SET DATE
|          monitor command, the SET DAYTIME monitor  command,  or
|          the  appropriate  SETUUO function.  Subtracting values
|          in this table from %CNDTM will result in  the  elapsed
|          time since the job logged in.
|  




















                                   23-127
   GETTAB TABLES


|                            .GTEBT - KL10 EBOX Time in Jiffies
|                                     GETTAB Table 131
|  
|  
|  
|  Contents         The number of jiffies of KL10 EBOX time used.
|  
|  Restriction      The definitions of the bits in this  table  may  vary
|                   from  monitor  release  to monitor release; therefore
|                   you should not reference this  GETTAB  in  a  program
|                   that is monitor-independent.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDEBT

   Calling                  MOVE    ac,[XWD jobno,.GTEBT]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |               Jiffies of KL10 EBOX time               |
                    |=======================================================|






























                                   23-128
                                                            GETTAB TABLES


                                .GTEBR - EBOX Jiffy Remainder
                                      GETTAB Table 132



   Contents         The remainder resulting from dividing the contents of
                    .GTEBT by RTUPS.  Contents    The  number  of jiffies
                    of KL10 EBOX time used.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDEB2

   Calling                  MOVE    ac,[XWD jobno,.GTEBR]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |          Jiffy remainder - mod(.GTEBT,RTUPS)          |
                    |=======================================================|




























                                   23-129
   GETTAB TABLES


                             .GTMBT - KL10 MBOX Time in Jiffies
                                      GETTAB Table 133



   Contents         The number of jiffies of KL10 MBOX time used.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDMBT

   Calling                  MOVE    ac,[XWD jobno,.GTMBT]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
   0,,133   .GTMBT  |               Jiffies of KL10 MBOX time               |
                    |=======================================================|






























                                   23-130
                                                            GETTAB TABLES


                                .GTMBR - MBOX Jiffy Remainder
                                      GETTAB Table 134



   Contents         The remainder resulting from dividing the Contents of
                    .GTMBT by RTUPS.

   Restriction      The definitions of the bits in this  table  may  vary
                    from  monitor  release  to monitor release; therefore
                    you should not reference this  GETTAB  in  a  program
                    that is monitor-independent.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDMB2

   Calling                  MOVE    ac,[XWD jobno,.GTMBR]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |          Jiffy remainder - mod(.GTMBT,RTUPS)          |
                    |=======================================================|





























                                   23-131
   GETTAB TABLES


                                 .GTRDV - Program Run Device
                                      GETTAB Table 135



   Contents         One word for each job running on the  system,  giving
                    the device the program is run from.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDSTR

   Calling                  MOVE    ac,[XWD jobno,.GTRDV]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |              Device program is run from               |
                    |=======================================================|

                                    NOTE

           GETTAB  Tables  135,  136,  and  137  store  the  file
           specification  of  the  last  program  run by the job.
           Therefore, these words change when you  issue  a  RUN,
           GET, SAVE, or CORE 0 command.
























                                   23-132
                                                            GETTAB TABLES


                               .GTRDI - Program Run Directory
                                      GETTAB Table 136



   Contents         One word for each job running on the  system,  giving
                    the  project-programmer number (PPN) of the directory
                    from which the job's program is being run.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDDIR

   Calling                  MOVE    ac,[XWD jobno,.GTRDI]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |             Directory program is run from             |
                    |=======================================================|

                                    NOTE

           GETTAB  Tables  135,  136,  and  137  store  the  file
           specification  of  the  last  program  run by the job.
           Therefore, these words change when you  issue  a  RUN,
           GET, SAVE, or CORE 0 command.























                                   23-133
   GETTAB TABLES


                               .GTRFN - Program Run File name
                                      GETTAB Table 137



   Contents         One word for each job running on the  system,  giving
                    the  SIXBIT  name  of  the  file from which the job's
                    program is being run.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDNAM

   Calling                  MOVE    ac,[XWD jobno,.GTRFN]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |               File program is run from                |
                    |=======================================================|

                                    NOTE

           GETTAB  Tables  135,  136,  and  137  store  the  file
           specification  of  the  last  program  run by the job.
           Therefore, these words are changed when  you  issue  a
           RUN, GET, SAVE or CORE 0 command.























                                   23-134
                                                            GETTAB TABLES


                               .GTDFL - User Defaults for Job
                                      GETTAB Table 140



   Contents         One word for each job running on the  system,  giving
                    the  user  defaults  for  the  job  as set by the SET
                    DEFAULT command or SETUUO call.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDDFL

   Calling                  MOVE    ac,[XWD jobno,.GTDFL]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                     User defaults                     |
                    |=======================================================|

                    User default bits are as follows:

                    Bits         Symbol     Meaning
|  
|                     0-8        JD.PRT     Default file protection.
|                       9        JD.SDP     Set if user has  set  default
|                                           protection.
|                      12        JD.DAD     Set if  LOGIN  shouldn't  ask
|                                           about detached jobs.
|                   13-26        JD.MSK     Reserved for use by DIGITAL.
|                   27-35        JD.BUF     Number   of   default    disk
|                                           buffers.

















                                   23-135
   GETTAB TABLES


                              .GTNTP - Network Performance Data
                                      GETTAB Table 141



   Contents         Data for network performance analysis.

   Indexed by       Item number.

   Monitor Table    NETGTT

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map
|  
|                   |=======================================================|
|  0,,141   %NTCOR  |       Number of words of free space now in use        |
|                   |=======================================================|
|  1,,141   %NTMAX  |           Maximum value %NTCOR has reached            |
|                   |=======================================================|
|  2,,141   %NTAVG  |      Exponential average of %NTCOR (in K words)       |
|                   |=======================================================|
|  3,,141   %NTBAD  |      Number of bad messages received and ignored      |
|                   |=======================================================|
|  4,,141   %NTRTP* |       Ptr to received NCL message type subtable       |
|                   |=======================================================|
|  5,,141   %NTRMT* |  Ptr to received NCL numbered message type subtable   |
|                   |=======================================================|
|  6,,141   %NTRDL* |   Ptr to received NCL data message lengths subtable   |
|                   |=======================================================|
|  7,,141   %NTXTP* |     Ptr to transmitted NCL message type subtable      |
|                   |=======================================================|
|  10,,141  %NTXMT* | Ptr to transmitted NCL numbered message type subtable |
|                   |=======================================================|
|  11,,141  %NTXDL* | Ptr to transmitted NCL data message lengths subtable  |
|                   |=======================================================|
|  12,,141  %NTBLC  |      PC of detection      |PDB adr of last bad message|
|                   |=======================================================|
|  13,,141  %NTBYI  |            Number of input bytes processed            |
|                   |=======================================================|
|  14,,141  %NTBYO  |            Number of output bytes processed           |
|                   |=======================================================|






                                   23-136
                                                            GETTAB TABLES


                    The pointers %NTRTP, %NTRMT, %NTRDL, %NTXTP,  %NTXMT,
                    and %NTXDL are of the form:

                         <length-1>B8+<offset>B35

                    where length is the maximum length of  the  subtable;
                    and  offset is the offset into .GTNTP of the start of
                    the  subtable.   Subtables  are  documented  on   the
                    following pages.













































                                   23-137
   GETTAB TABLES


                            Subtable: Received NCL Message Types
                                     Subtable of .GTNTP



   Contents         Received NCL message types.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%NTRTP]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            ADDI    ac,.GTNTP
                            GETTAB  ac,
                              error return
                            normal return

                    where item is the number (starting  with  0)  of  the
                    required entry in the subtable.

   Word             Map

                    |=======================================================|
   0                |            First received NCL message type            |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |            Last received NCL message type             |
                    |=======================================================|























                                   23-138
                                                            GETTAB TABLES


                        Subtable: Received NCL Numbered Message Types
                                     Subtable of .GTNTP



   Contents         Received NCL numbered message types.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%NTRMT]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            ADDI    ac,.GTNTP
                            GETTAB  ac,
                              error return
                            normal return

                    where item is the number (starting  with  0)  of  the
                    required entry in the subtable.

   Word             Map

                    |=======================================================|
   0                |       First received NCL numbered message type        |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |        Last received NCL numbered message type        |
                    |=======================================================|























                                   23-139
   GETTAB TABLES


                         Subtable: Received NCL Data Message Lengths
                                     Subtable of .GTNTP



   Contents         Received NCL message lengths by powers of 2.

                         0 = 0 bytes, and message too long
                         1 = 1 byte
                         2 = 2 to 3 bytes
                         3 = 4 to 7 bytes
                         . . .
                         n = 2(n-1) to (2*n)-1 bytes


   Indexed by       Item number.

   Calling                  MOVE    ac,[%NTRDL]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            ADDI    ac,.GTNTP
                            GETTAB  ac,
                              error return
                            normal return

                    where item is the number (starting  with  0)  of  the
                    required entry in the subtable.

   Word             Map

                    |=======================================================|
   0                |        First received NCL data message length         |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |         Last received NCL data message length         |
                    |=======================================================|















                                   23-140
                                                            GETTAB TABLES


                           Subtable: Transmitted NCL Message Types
                                     Subtable of .GTNTP



   Contents         Transmitted NCL message types.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%NTXTP]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            ADDI    ac,.GTNTP
                            GETTAB  ac,
                              error return
                            normal return

                    where item is the number (starting  with  0)  of  the
                    required entry in the subtable.

   Word             Map

                    |=======================================================|
   0                |          First transmitted NCL message type           |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |           Last transmitted NCL message type           |
                    |=======================================================|























                                   23-141
   GETTAB TABLES


                      Subtable: Transmitted NCL Numbered Message Types
                                     Subtable of .GTNTP



   Contents         Transmitted NCL numbered message types.

   Indexed by       Item number.

   Calling                  MOVE    ac,[%NTXMT]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            ADDI    ac,.GTNTP
                            GETTAB  ac,
                              error return
                            normal return

                    where item is the number (starting  with  0)  of  the
                    required entry in the subtable.

   Word             Map

                    |=======================================================|
   0                |      First transmitted NCL numbered message type      | 
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |      Last transmitted NCL numbered message type       |
                    |=======================================================|























                                   23-142
                                                            GETTAB TABLES


                       Subtable: Transmitted NCL Data Message Lengths
                                     Subtable of .GTNTP



   Contents         Transmitted NCL message lengths by powers of 2.

                         0 = 0 bytes, and message too long
                         1 = 1 byte
                         2 = 2 to 3 bytes
                         3 = 4 to 7 bytes
                         . . .
                         n = 2**(n-1) to (2**n)-1 bytes


   Indexed by       Item number.

   Calling                  MOVE    ac,[%NTXDL]
   Sequence                 GETTAB  ac,
                              error return
                            ADDI    ac,item
                            HRLZS   ac
                            ADDI    ac,.GTNTP
                            GETTAB  ac,
                              error return
                            normal return

                    where item is the number (starting  with  0)  of  the
                    required entry in the subtable.

   Word             Map

                    |=======================================================|
   0                |             First NCL data message length             |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
   last             |             Last NCL data message length              |
                    |=======================================================|















                                   23-143
   GETTAB TABLES


                             .GTSPA - Scheduler Performance Data
                                      GETTAB Table 142



   Contents         Data for analysis of scheduler performance.

   Indexed by       Item number.

   Monitor Table    SCDPER

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0,,142   %SPDGS  |               DECtape-generated sleeps                |
                    |-------------------------------------------------------|
   1,,142   %SPMGS  |               Magtape-generated sleeps                |
                    |=======================================================|
   2,,142   %SPEWS  |                 Event-wait satisfied                  |
                    |=======================================================|
   3,,142   %SPTIS  |               Terminal input satisfied                |
                    |-------------------------------------------------------|
   4,,142   %SPTOS  |               Terminal output satisfied               |
                    |=======================================================|
   5,,142   %SPPIS  |            Pseudo-terminal input satisfied            |
                    |-------------------------------------------------------|
   6,,142   %SPPOS  |           Pseudo-terminal output satisfied            |
                    |=======================================================|
   7,,142   %SPRS1  |               Requeues from SS into PQ1               |
                    |-------------------------------------------------------|
   10,,142  %SPRW1  |              Requeues from WAKE into PQ1              |
                    |-------------------------------------------------------|
   11,,142  %SPRD1  |        Requeues from DAEMON-satisfied into PQ1        |
                    |-------------------------------------------------------|
   12,,142  %SPRO1  |                Other requeues into PQ1                |
                    |=======================================================|
   13,,142  %SPQR1  |   Number of PQ1 jobs that expired quantum runtime     |
                    |-------------------------------------------------------|
   14,,142  %SPQR2  |   Number of PQ2 jobs that expired quantum runtime     |
                    |-------------------------------------------------------|
   15,,142  %SPQRH  |   Number of HPQ jobs that expired quantum runtime     |
                    |=======================================================|




                                   23-144
                                                            GETTAB TABLES


                    |=======================================================|
   16,,142  %SPIP1  |      PQ1 jobs that expired in-core protect time       |
                    |-------------------------------------------------------|
   17,,142  %SPIP2  |      PQ2 jobs that expired in-core protect time       |
                    |-------------------------------------------------------|
   20,,142  %SPIPH  |      HPQ jobs that expired in-core protect time       |
                    |=======================================================|
   21,,142  %SPKS1  |           Number of swapped in for PQ1 jobs           |
                    |-------------------------------------------------------|
   22,,142  %SPKS2  |           Number of swapped in for PQ2 jobs           |
                    |-------------------------------------------------------|
   23,,142  %SPKSH  |           Number of swapped in for HPQ jobs           |
                    |=======================================================|
   24,,142  %SPNJ1  |             Number of PQ1 jobs swapped in             |
                    |=======================================================|
   25,,142  %SPNJ2  |             Number of PQ2 jobs swapped in             |
                    |=======================================================|
   26,,142  %SPNJH  |             Number of HPQ jobs swapped in             |
                    |=======================================================|
   27,,142  %SPTC1  |              Clock ticks charged to PQ1               |
                    |-------------------------------------------------------|
   30,,142  %SPTC2  |              Clock ticks charged to PQ2               |
                    |-------------------------------------------------------|
   31,,142  %SPTCH  |              Clock ticks charged to HPQ               |
                    |=======================================================|
   32,,142  %SPNRS  |        Number of responses for PQ1/CMQ swap-in        |
                    |-------------------------------------------------------|
   33,,142  %SPNTS  |      Total ticks of response for PQ1/CMQ swap-in      |
                    |-------------------------------------------------------|
   34,,142  %SPSSS  |  Sum of squares of PQ1/PQ2 swap-in (2-Word integer)   |
                    |=======================================================|
   35,,142          |                       Reserved                        |
                    |=======================================================|
   36,,142  %SPMWC  |         Number of measurements of wasted core         |
                    |-------------------------------------------------------|
   37,,142  %SPSWC  |              Sum of wasted core (pages)               |
                    |-------------------------------------------------------|
   40,,142  %SPSSC  |    Sum of squares of wasted core (2-word integer)     |
                    |=======================================================|















                                   23-145
   GETTAB TABLES


                          .GTVKS - Virtual Kilo-Core Ticks for Job
                                      GETTAB Table 143



   Contents         One word for each job running on the  system,  giving
                    the number of virtual kilo-core ticks for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDVKC

   Calling                  MOVE    ac,[XWD jobno,.GTVKS]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                Virtual kilo-core ticks                |
                    |=======================================================|































                                   23-146
                                                            GETTAB TABLES


                           .GTUUC - Monitor Calls Executed for Job
                                      GETTAB Table 144



   Contents         One word for each job running on the  system,  giving
                    the number of monitor calls executed for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDUNC

   Calling                  MOVE    ac,[XWD jobno,.GTUUC]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |          Count of monitor calls done for job          |
                    |=======================================================|































                                   23-147
   GETTAB TABLES


|                          .GTRSn - Next SFD Level in Job Run Path
|                               GETTAB Tables 145 through 151
|  
|  
|  
|  Contents         One word for each job running on the  system,  giving
|                   the   SFD   level  in  the  run  path  for  the  job.
|                   Specifically, the GETTABs for each SFD level are:
|  
|                   GETTAB Name     Number        Monitor Table
|  
|                   .GTRS0          145           .PDSFD
|                   .GTRS1          146           .PDSFD+1
|                   .GTRS2          147           .PDSFD+2
|                   .GTRS3          150           .PDSFD+3
|                   .GTRS4          151           .PDSFD+4
|  
|  Indexed by       Job number.
|  
|  Calling                  MOVE    ac,[XWD jobno,.GTRSn]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where jobno is the number of a logged-in job (use  -1
|                   for  the  current  job), and .GTRSn is .GTRS0 through
|                   .GTRS4 for the appropriate SFD level.
|  
|                   |=======================================================|
|                   |        SFD in path program was run from               |
|                   |=======================================================|

                              .GTPC - User PC
                              GETTAB Table 152



   Contents         One word for each job running on the  system,  giving
                    its user program counter.

   Indexed by       Job number.

   Monitor Table    JBTPC

   Calling           MOVE ac,[XWD jobno,.GTPC]
   Sequence          GETTAB ac,
                      error return
                    normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.



                                   23-148
                                                            GETTAB TABLES


                    |=======================================================|
                    |                       User PC                         |
                    |=======================================================|



















































                                   23-149
   GETTAB TABLES


                                .GTCAP - Job Capability Word
                                      GETTAB Table 153



   Contents         One word for each job running on the  system,  giving
                    the  maximum  privileges  that can be enabled for the
                    job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDCAP

   Calling                  MOVE    ac,[XWD jobno,.GTCAP]
   SEQUENCE                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |       Job capability word (maximum privileges)        |
                    |=======================================================|

                    Capability bits are as follows:

                    Bits   Symbol    Privilege

                       0   JP.IPC    IPCF privilege.
                     1-2   JP.DPR    Highest disk priority for the job (n
                                     is in the range 0 to 3).
                       3   JP.MET    METER. privilege.
                       4   JP.POK    POKE. privilege.
                       5   JP.CCC    Privilege     to     change      CPU
                                     specification  with  a  command or a
                                     monitor call.
                     6-9   JP.HPQ    Highest     high-priority      queue
                                     available  to  the  job (n is in the
                                     range 0 to 17 octal).
                      10   JP.NSP    Device unspooling privilege.
                      11   JP.ENQ    ENQ/DEQ privilege.
                      12   JP.ADM    System administrator privileges.
                      13   JP.RTT    RTTRP privilege.
                      14   JP.LCK    LOCK privilege.
                      15   JP.TRP    TRPSET privilege.
                      16   JP.SPA    PEEK and SPY privilege for any core.
                      17   JP.SPM    PEEK and SPY privilege  for  monitor
                                     core.
                    18-35            Reserved for users.




                                   23-150
                                                            GETTAB TABLES


                             .GTIDX - Range of Each GETTAB Table
                                      GETTAB Table 154



   Contents         The entry numbers of the minimum and maximum  entries
                    for each GETTAB table.
|  
|  Indexed by       Item number
|  
|  Monitor Table    RNGTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           HLREM   ac,minent
|                           HRREM   ac,maxent
|  
|                   where item is the symbol for the table whose range is
|                   required; minent is a memory location for the minimum
|                   entry number; and maxent is a memory location for the
|                   maximum entry number.

                    |=======================================================|
                    | Min table index (ID.MIN)  | Max table index (ID.MAX)  |
                    |=======================================================|

                    .GTIDX contains one word for each GETTAB table.   The
                    word gives the following information:
|  
|                   Bits   Symbol    Meaning
|  
|                   0-17   ID.MIN    Minimum programs should do a HLRE in
|                                    case negative
|  
|                   18-35  ID.MAX    Maximum programs should do a HRRE in
|                                    case negative.

















                                   23-151
   GETTAB TABLES


                         .GTGTB - GETTAB Immediate Using Range Table
                                      GETTAB Table 155



   Contents         Data for each GETTAB table.
|  
|  Indexed by       Item number
|  
|  Monitor Table    NUMTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is the mnemonic name of  the  table  whose
|                   data is required.

                    |=======================================================|
                    |                   GETTAB table data                   |
                    |=======================================================|


                    The word gives the  following  information  for  each
                    GETTAB table:

                    Bits   Symbol    Meaning

                     0-8   SL.MAX    If SL.TYP is 1, 2,  3,  or  4,  this
                                     field  is the largest item number in
                                     the table.  If  SL.TYP  is  5,  this
                                     field  is  the  index into the range
                                     table.
                    9-11   SL.TYP    Type of table:

                                     Value  Symbol    Type

                                       0    .SLNIC    Not   included   in
                                                      this system.
                                       1    .SLIXI    Indexed   by   item
                                                      number.
                                       2    .SLIXJ    Indexed   by    job
                                                      number.
                                       3    .SLIXS    Indexed   by    job
                                                      number  or  segment
                                                      number.
                                       4    .SLIXP    Indexed   by    job
                                                      number;   data   in
                                                      PDB.




                                   23-152
                                                            GETTAB TABLES


                    Bits   Symbol    Meaning

                                     Value  Symbol    Type

                                       5    .SLIXR    Indexed   by   item
                                                      number.   Range may
                                                      not be 0 to  length
                                                      -1.

                   12-13             Reserved for use by DIGITAL.
                   14-17   SL.MAC    A monitor accumulator number.
                   18-35   SL.ADR    If  SL.TYP=1,2,3,5,  this   halfword
                                     contains  the executive mode address
                                     of  the  table;  if  SL.TYP=4,  this
                                     halfword contains the offset to PDB.
                                     If SL.TYP is 5, this halfword is the
                                     executive  mode  address of offset 0
                                     into the table.




































                                   23-153
   GETTAB TABLES


                                .GTTNM - Terminal Type Names
                                      GETTAB Table 156



   Contents         The SIXBIT names  of  those  terminals  that  may  be
                    specifed  in  the  SET TTY TYPE monitor command or in
                    TRMOP. monitor call functions .TOTRM + .TOSET.
|  
|  Indexed by       Item number
|  
|  Monitor Table    TTTWDT
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is the number of the desired entry in  the
|                   table.

                    |=======================================================|
                    |              First SIXBIT terminal name               |
                    |-------------------------------------------------------|
                                              . . .                          
                    |-------------------------------------------------------|
                    |               Last SIXBIT terminal name               |
                    |=======================================================|

                    The terminal names are defined with the TTTWDT  macro
                    in COMCON.























                                   23-154
                                                            GETTAB TABLES


                          .GTOBI - Write-to-Operator and Batch Data
                                      GETTAB Table 157



   Contents         One word for each job running on the  system,  giving
                    flags defining the write-to-operator capabilities and
                    batch stream numbers and sets for the job.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDOBI

   Calling                  MOVE    ac,[XWD jobno,.GTOBI]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where jobno is the number of a logged-in job.  Use -1
                    for the current job.

                    |=======================================================|
                    |                  Operator batch data                  |
                    |=======================================================|

                    Operator and batch flags are as follows:

                    Flag   Symbol    Meaning

                     3B1   OB.WTO    Write-to-operator capabilities:

                                     Value  Symbol    Meaning

                                       0    .OBALL    WTO    and     WTOR
                                                      allowed.
                                       1    .OBNWR    No  WTOR   allowed;
                                                      WTO only.
                                       2    .OBNOM    No   messages    to
                                                      operator allowed.















                                   23-155
   GETTAB TABLES


                    Flag   Symbol    Meaning

                    7B4    OB.OPR    Operator privileges:

                                     Value  Symbol    Meaning

                                       0    .OBNOP    No         operator
                                                      privileges
                                       1    .OBSOP    System-wide
                                                      privileges
                                       2    .OBHOP    Host         system
                                                      privileges
                                       3    .OBROP    Remote     operator
                                                      privileges

                      10   OB.BSS    Batch stream number set.
                  177B17   OB.BSN    Batch stream number.





































                                   23-156
                                                            GETTAB TABLES


                          .GTDCD - CONI/DATAI Corresponding to DSB
                                      GETTAB Table 160



   Contents         Device status block subtable.

   Indexed by       Item number.
|  
|  Monitor Table    DVSXCT

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    |=======================================================|
                    |CONI/DATAI corresp to device status block (see %CCDSB) |
                    |=======================================================|



































                                   23-157
   GETTAB TABLES


                         .GTNDB - Byte Pointers Into Node Data Block
                                      GETTAB Table 161



   Contents         Pointers into an NDB to facilitate the  retrieval  of
                    data.

   Indexed by       Item number.

   Monitor Table    NDBTBL

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol    Map

                    |=======================================================|
   0,,161   %NDLEN  |          Length of NDB (not a byte pointer)           |
                    |=======================================================|
   1,,161   %NDNXT  |                  Address of next NDB                  |
                    |=======================================================|
   2,,161   %NDNNM  |                      Node number                      |
                    |=======================================================|
   3,,161   %NDSNM  |            Address of SIXBIT station name             |
                    |=======================================================|
   4,,161   %NDTIM  |                         Timer                         |
                    |=======================================================|
   5,,161   %NDNGH  |                 First neighbor entry                  |
                    |-------------------------------------------------------|
   6,,161   %NDNGL  |                  Last neighbor entry                  |
                    |=======================================================|
   7,,161   %NDNGN  |         Node number from %NDNGH (address = 0)         |
                    |=======================================================|
   10,,161  %NDOPR  |                  Address of OPR LDB                   |
                    |=======================================================|
   11,,161  %NDCTJ  |              Station control job number               |
                    |=======================================================|
   12,,161  %NDLAR  |                   Last ACK received                   |
                    |-------------------------------------------------------|
   13,,161  %NDLAP  |           Last output message acknowledged            |
                    |-------------------------------------------------------|
   14,,161  %NDLMS  |                   Last message sent                   |
                    |-------------------------------------------------------|
   15,,161  %NDLMA  |             Last message number assigned              |
                    |-------------------------------------------------------|



                                   23-158
                                                            GETTAB TABLES


                    |-------------------------------------------------------|
   16,,161  %NDLAS  |                     Last ACK sent                     |
                    |-------------------------------------------------------|
   17,,161  %NDLMR  |                 Last message received                 |
                    |-------------------------------------------------------|
   20,,161  %NDLMP  |                Last message processed                 |
                    |=======================================================|
   21,,161  %NDSDT  |             Address of system build date              |
                    |=======================================================|
   22,,161  %NDSID  |           Address of system identification            |
                    |=======================================================|
   23,,161  %NDMOM  |    Maximum number of outstanding messages allowed     |
                    |=======================================================|
   24,,161  %NDDEV  |                      First device                     |
                    |=======================================================|







































                                   23-159
   GETTAB TABLES


                                    .GTPDB - Job PDB Word
                                      GETTAB Table 162



   Contents         Number of monitor  per  process  pages,  and  monitor
                    address of the job's PDB.

   Indexed by       Job number.

   Monitor Table    JBTPDB

   Calling                  MOVE    ac,[XWD jobno,.GTPDB]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    |======================================================|
                    |     Number of monitor     |    Address (monitor)     |
                    |    "per process" pages    |       of job's PDB       |
                    |======================================================|

                    Where the left half of  this  word  is  divided  into
                    6-bit  fields.   Bits  0-5  are  reserved  for use by
                    DIGITAL.  Bits 6-11 contain the number of per-process
                    pages  to  be  swapped in, and bits 12-17 contain the
                    total number of per-process pages.   This  word  does
                    not include section maps for non-zero sections.


























                                   23-160
                                                            GETTAB TABLES


                      .GTEQJ - ENQ./DEQ. Queue Header
                              GETTAB Table 163



   Contents         ENQ/DEQ queue header.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDEQJ

   Calling                  MOVE    ac,[XWD jobno,.GTEQJ]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    |======================================================|
                    |                 ENQ/DEQ queue header                 |
                    |======================================================|



































                                   23-161
   GETTAB TABLES


                     .GTDCN - Default Command Arguments
                              GETTAB Table 164



   Contents         One word for each job running on the  system,  giving
                    the SET DEFAULT monitor command argument for the job.

   Indexed by       Item number.

   Monitor Table    DFLTTB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    Where item is the number of the command in  the  list
                    of  SET  DEFAULT  commands.   Use  the HELP * monitor
                    command to obtain the list of  SET  DEFAULT  commands
                    for your system.

                    |======================================================|
                    |             Set default command arguments            |
                    |======================================================|





























                                   23-162
                                                            GETTAB TABLES


                         .GTLBS - Large Buffer Size
                              GETTAB Table 165



   Contents         Size of disk buffers as adjusted by program  and  SET
                    BIGBUF  monitor command.  The program sets the buffer
                    size with the SETUUO; this setting overrides any that
                    might  have  been  set with the monitor command.  The
                    monitor command setting  takes  precedence  when  the
                    program is halted.
|  
|  Indexed by       PDB word
|  
|  Monitor table    .PDLBS

   Calling                  MOVE    ac,[XWD jobno,.GTLBS]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    |======================================================|
                    |  Set by program          |  Set by user command      |
                    |======================================================|
|  
|                   Where the data in  the  left  half  (LB.PGM)  is  the
|                   buffer  size  as  set by the program.  The right half
|                   (LB.CMD) contains the  buffer  size  as  set  by  the
|                   monitor command SET BIGBUF.

























                                   23-163
   GETTAB TABLES


                                   .GTPTR - Program To Run
                                      GETTAB Table 166



   Contents         The name of the program to run.  Refer to the  .STPGM
                    function of the SETUUO UUO.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDPGM

   Calling                  MOVE    ac,[XWD jobno,.GTPTR]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    |======================================================|
                    |             SIXBIT program name                      |
                    |======================================================|


































                                   23-164
                                                            GETTAB TABLES


                        .GTSTM - Time of Last Reset
                              GETTAB Table 167



   Contents         Time the program was last RESET.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDSTM

   Calling                  MOVE    ac,[XWD jobno,.GTSTM]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    |======================================================|
                    |             Universal date/time of last RESET        |
                    |======================================================|



































                                   23-165
   GETTAB TABLES


                       .GTDNT - DECnet Queue Headers
                              GETTAB Table 170



   Contents         Pointers to tables and  information  about  DECnet-10
                    Version 3.

   Indexed by       Item number.

   Monitor table    DCNGTB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac
                              error return
                            normal return

   Word     Symbol   Map
|  
|                  |======================================================|
|  0,,170  %DNRCH* |           Queue header for circuit blocks            |
|                  |======================================================|
|  1,,170  %DNNPH* |            Queue header for port blocks              |
|                  |======================================================|
|  2,,170  %DNETH* |              DTE control block table                 |
|                  |======================================================| 
|  3,,170  %DNNSJ* |   Pointer to session control job block for NRTSER    |
|                  |======================================================|
|  4,,170  %DNNCH* |      Pointer to NRTSER's internal channel table      |
|                  |======================================================|
|  5,,170  %DNNDQ* |      Queue block header for LLINK's node blocks      |
|                  |======================================================|
|  6,,170  %DNLOC  |                     Obsolete                         |
|                  |======================================================|
|  7,,170  %DNPTR  |                     Obsolete                         |
|                  |======================================================|
|  10,,170 %DNCHB* |   Pointer to start of blocks describing DECnet's     |
|                  |   fixed-size freecore                                |
|                  |======================================================|
|  11,,170 %DNKON* |       Pointer to table of DECnet controller names    |
|                  |======================================================|
|  12,,170 %DNNRV* |   Pointer to current routing vector (indexed by      |
|                  |   node number)                                       |
|                  |======================================================|
|  13,,170 %DNOFS* |   Pointer to offset from routing vector to           |
|                  |   secondary vector                                   |
|                  |======================================================|
|  14,,170 %DNRMX  |   Pointer to address of router maximum node number   |
|                  |======================================================|
|  15,,170 %DNCST  |           Address of byte pointer to cost            |
|                  |======================================================|



                                   23-166
                                                            GETTAB TABLES


                   |======================================================|
   16,,170 %DNHOP  |           Address of byte pointer to hops            |
                   |======================================================|
   17,,170 %DNLCL* |         Address of byte pointer to LOCAL bit         |
                   |======================================================|
   20,,170 %DNACT  |         Address of byte pointer to ACTIVE bit        |
                   |======================================================|
   21,,170 %DNNDT  |                      Obsolete                        |
                   |======================================================|
   22,,170 %DNSMX  |                      Obsolete                        |
                   |======================================================|
   23,,170 %DNACB  |     Address of DECnet Allocation Control Block       |
                   |======================================================|

                    For additional information (format of blocks  pointed
                    to by this table), refer to code as follows:

                    Item    Module    Label

                     0      D36PAR    BEGSTR RC

                     1      D36PAR    BEGSTR EL

                     2      DTEPRM    DTEGEN

                     3      Format returned is similar to  that  returned
                            by GETTAB .GTSJB.

                     4      NRTSER    BEGSTR NR

                     5      D36PAR    BEGSTR NN

                    10      D36COM    BEGSTR CH

                    11      Device names are listed in ASCII.

                    12      ROUTER    BEGSTR RN

                    13      Contains pointers to output  adjacency  block
                            for this node.

                    17      Set only for executor (local host) node.












                                   23-167
   GETTAB TABLES


               .GTSJB - DECnet Session Control Block Pointer
                              GETTAB Table 171



   Contents         Pointer to DECnet session control job block.
|  
|  Indexed by       PDB word
|  
|  Monitor Table    .PDSJB

   Calling                  MOVE    ac,[XWD jobno,.GTSJB]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    |======================================================|
                    |               Pointer                                |
                    |======================================================|



































                                   23-168
                                                            GETTAB TABLES


                            .GTNDA - NDB Address
                              GETTAB Table 173



   Contents         Pointers into the DECnet-10 node data  block  address
                    table.   This  table  contains the address of the NDB
                    for each node.
|  
|  Indexed by       Item number
|  
|  Monitor table    .GTNDA
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac
|                             error return
|                           normal return
|  
|  Where item is the number of the node in this table.

                    |======================================================|
                    |               Node data block address                |
                    |======================================================|































                                   23-169
   GETTAB TABLES


                  .GTAOT - ANF-10 Object Translation Table
                              GETTAB Table 174



   Contents         The ANF-10 object translation table for  each  DECnet
                    object type.

   Indexed by       Item number

   Monitor Table    OBJTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac
|                             error return
|                           normal return
|  
|  Where item is the NCL object type.

                   0              11        17                          35
                    |======================================================|
                    | Reserved     |  AO.TYP  |         AO.NAM             |
                    |======================================================|

                   Bits     Symbol  Contents

                   0-11     AO.XXX  Reserved for use by DIGITAL.
                   12-17    AO.TYP  Device type (refer to DEVTYP UUO).
                   18-35    AO.NAM  Device name (in SIXBIT).

























                                   23-170
                                                            GETTAB TABLES


                           .GTCTX - Context Table
                              GETTAB Table 175



   Contents         Information about contexts.

   Indexed by       Item number.
|  
|  Monitor table    CTXTAB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac
                              error return
                            normal return

                    where item is one of the symbols given  in  the  word
                    map below.

   Word     Symbol  Map

                    |===================================================|
   0,,175   %CTJCQ  |             Default job context quota             |
                    |===================================================|
   1,,175   %CTJPQ  |           Default job saved-pages quota           |
                    |===================================================|
   2,,175   %CTSCQ  |             System-wide context quota             |
                    |===================================================|
   3,,175   %CTSPQ  |           System-wide saved-pages quota           |
                    |===================================================|
   4,,175   %CTSCU  |        System-wide count of contexts in use       |
                    |===================================================|
   5,,175   %CTSPU  |     System-wide count of currently saved pages    |
                    |===================================================|
   6,,175   %CTTCS  |             Total context saves done              |
                    |===================================================|
   7,,175   %CTACE  |   No. of times auto-push exceeded context quota   |
                    |===================================================|
   10,,175  %CTAPE  | No. of times auto-push exceeded saved-pages quota |
                    |===================================================|
   11,,175  %CTPCE  |    No. of times a privileged program exceeded     |
                    |                 context quota                     |
                    |===================================================|
   12,,175  %CTPPE  |    No. of times a privileged program exceeded     |
                    |               pages-saved quota                   |
                    |===================================================|
   13,,175  %CPBDM  |  Byte pointer to returned context directory map   |
                    |===================================================|






                                   23-171
   GETTAB TABLES


                          .GTIMI - Job Page Count
                              GETTAB Table 176



   Contents         Number of memory pages in use by each job.
|  
|  Indexed by       Job number or segment number
|  
|  Monitor Table    JBTIMI
|  
|  Calling                  MOVE    ac,[XWD jobno,.GTIMI]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where jobno is the job number of a logged-in job  (-1
|                   for  your  current job), or the segment number of the
|                   program.

                   0 2 3          8 9         14 15                      35
                   |======================================================|
                   |  |   NZSICN   |   NZSSCN   |        Page Count       |
                   |======================================================|

                    Bit definitions:

                    Bits   Symbol    Contents

                    0-2              Reserved
                    3-8    NZSICN    Number  of  pages  to  allocate   on
                                     swap-in for non-zero section maps.
                   9-14    NZSSCN    Number of pages currently  allocated
                                     to non-zero section maps.
                  15-35    IMGIN     Number of  physical  pages  in  user
                                     portion of job.


















                                   23-172
                                                            GETTAB TABLES


                      .GTIMO - Swapped-Out Page Count
                              GETTAB Table 177



   Contents         Number of physical pages in swapped-out job, on disk.
|  
|  Indexed by       Job number or segment number
|  
|  Monitor Table    JBTIMO
|  
|  Calling                  MOVE    ac,[XWD jobno,.GTIMO]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where jobno is the job number of a logged-in job  (-1
|                   for  the  current  job), or the segment number of the
|                   program.
|  
|                  0                        17 18                        35
|                  |======================================================|
|                  |                          | Number of pages on disk   |
|                  |======================================================|






























                                   23-173
   GETTAB TABLES


|                          .GTDDB - I/O Wait DDB
|                             GETTAB Table 200
|  
|  
|  
|  Contents         Device data block for devices in I/O wait state.
|  
|  Indexed by       Job number.
|  
|  Monitor Table    JBTDDB
|  
|  Calling                  MOVE    ac,[XWD jobno,.GTDDB]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                  |======================================================|
|                  |                    Pointer to DDB                    |
|                  |======================================================|



































                                   23-174
                                                            GETTAB TABLES


|                       .GTVIR - Job's Virtual Size
|                             GETTAB Table 201
|  
|  
|  
|  Contents         Virtual size of program.
|  
|  Indexed by       Job number
|  
|  Monitor Table    JBTVIR

   Calling                  MOVE    ac,[XWD jobno,.GTVIR]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    Where jobno is the job number, or -1 for current job.

                    The  virtual  size  is  returned   with   Bits   6-14
                    containing   the   high   segment,   and  Bits  15-35
                    containing the low segment.

































                                   23-175
   GETTAB TABLES


                       .GTETH - Ethernet Information
                              GETTAB Table 202



   Contents         Data about Ethernet configuration.

   Indexed by       Item number.
|  
|  Monitor Table    ETHGTB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is the  symbol  representing  one  of  the
|                   words in the following word map.
|  
|  Word     Symbol  Map
|  
|                   |===================================================|
|  0,,202   %EINEC  |       Number of Ethernet channels on system       |
|                   |===================================================|
|  1,,202   %EICHN  |      Address of first Ethernet channel block      |
|                   |===================================================|
|  2,,202   %EINEK  |      Number of Ethernet controllers on system     |
|                   |===================================================|
|  3,,202   %EIKON  |     Address of first Ethernet controller block    |
|                   |===================================================|
|  4,,202   %EISYS  |       Offsets to .ECBSYS,,.EKBSYS                 |
|                   |===================================================|
|  5,,202   %EISTS  |       Offsets to .ECBSTS,,.EKBSTS                 |
|                   |===================================================|
|  6,,202   %EIBYR  |               Total bytes received                |
|                   |===================================================|
|  7,,202   %EIBYX  |             Total bytes transmitted               |
|                   |===================================================|
|  10,,202  %EIDGR  |             Total datagrams received              |
|                   |===================================================|
|  11,,202  %EIDGX  |            Total datagrams transmitted            |
|                   |===================================================|












                                   23-176
                                                            GETTAB TABLES


                      .GTCCM - Site-specific Commands
                              GETTAB Table 204



   Contents         Site-specific  commands,  defined  using  the  MONGEN
                    dialog.   (See  the  Software  Installation Guide for
                    information on defining commands with MONGEN.)
|  
|  Indexed by       Item number

   Monitor Table    CSTTAB

   Calling                  MOVE    ac,[item]
   Sequence                 GETTAB  ac,
                              error return
                            normal return

                    where item is the table position of the command name.

                   |======================================================|
                   |              MONGEN-defined command name             | 
                   |======================================================|
                                          .  .  . 
                   |======================================================|
                   |              MONGEN-defined command name             |
                   |======================================================|

                    When the user issues a monitor command,  the  monitor
                    first  searches  the  table of commands defined using
                    the DECLARE command.  If an exact match is not found,
                    the  table  of  MONGEN-defined  commands  is searched
                    next.  The HELP * command displays a  list  of  these
                    command names.




















                                   23-177
   GETTAB TABLES


|                  .GTNXM - Nonexistent Memory Bit Table
|                             GETTAB Table 205
|  
|  
|  
|  Contents         Bit table for tracking nonexistent memory errors.
|  
|  Indexed by       Item number
|  
|  Monitor Table    NXMTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is the page number divided by 36.
|  
|                  |========================================================|
|                  |Page 0 | Page 1 | Page 2 | Page 3 | Page 4 | Page 5 |...|
|                  |========================================================|
|                  |Page 36| Page 37| Page 38| Page 39| Page 40| Page 41|...|
|                  |========================================================|
|                                         .  .  . 
|                  |========================================================|
|  
|  
|                   Each bit in the table represents a page number, where
|                   the  bit  is  set when that page causes a nonexistent
|                   memory  error.   Thus,  Word  0  represents  Pages  0
|                   through  35,  Word  1 represents Pages 36 through 71,
|                   and so forth.
|  
|                   Item %CNNXM in the CPU  Data  Block  points  to  this
|                   table.



















                                   23-178
                                                            GETTAB TABLES


|                                 .GTBTX - BOOT Text String
|                                     GETTAB Table 206
|  
|  
|  
|  Contents         Auto-reload command string to be  read  by  the  BOOT
|                   program.
|  
|  Indexed by       Item number
|  
|  Monitor Table    BOOTXT
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   Where item is the offset into this table.
|  
|                  |======================================================|
|                  | First 5 ASCII characters of the BOOTXT command string|
|                  |======================================================|
|                  | Next 5 ASCII characters                              |
|                  |======================================================|
|                                     .  .  .
|                  |======================================================|




























                                   23-179
   GETTAB TABLES


|                   .GTCHN - Channel Data Block Offsets
|                             GETTAB Table 207
|  
|  
|  
|  Contents         Offsets to information in  the  channel  data  block.
|                   The offsets are used by the DAEMON system utility.
|  
|  Indexed by       Item number
|  
|  Monitor Table    .GTCHN
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is the offset in this table.
|  
|  Word    Symbol    Map
|                      |==================================================|
|  #0,,207   %CHSYS    | Link to next channel data block in system        |
|                      |==================================================|
|  #1,,207   %CHLUE    | Last UDB with hard or soft errors                |
|                      |==================================================|
|  #2,,207   %CHICW    | Initial control word on last error               |
|                      |==================================================|
|  #3,,207   %CHICL    | Number of words pointed to by %CHICW             |
|                      |==================================================|
|  #4,,207   %CHMPE    | Number of memory parity errors                   |
|                      |==================================================|
|  #5,,207   %CHDPE    | Number of data parity errors from the device     |
|                      |==================================================|
|  #6,,207   %CHNXM    |Number of NXM errors or Data Late (overrun) errors|
|                      |==================================================|
|  #7,,207   %CHTCW    | Expected termination control word                |
|                      |==================================================|

















                                   23-180
                                                            GETTAB TABLES


|               .GTKDB - Controller Data Block Chain Headers
|                             GETTAB Table 210
|  
|  
|  
|  Contents         Address of first KDB for each device type.
|  
|  Indexed by       Item number
|  
|  Monitor Table    KDBTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   where item is .TYxxx (a device type  as  defined  for
|                   DEVTYP UUO).
|  
|                  |======================================================|
|                  |  Address of first KDB for device .TYxxx              |
|                  |======================================================|
|                  |  Address of first KDB for device .TYxxx              |
|                  |======================================================|
|                                         .  .  . 
|  




























                                   23-181
   GETTAB TABLES


|                .GTDDH -- Device Data Block Chain Headers
|                             GETTAB Table 211
|  
|  
|  
|  Contents         Addresses of the first DDB for each device type.
|  
|  Indexed by       Item number
|  
|  Monitor Table    DDBTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   Where item is .TYxxx (the device symbol  as  obtained
|                   with the DEVTYP UUO).
|  
|                  |======================================================|
|                  |     Address of first DDB for device .TYxxx           |
|                  |======================================================|
|                  |     Address of first DDB for device .TYxxx           |
|                  |======================================================|
|                                         .  .  . 





























                                   23-182
                                                            GETTAB TABLES


|                      .GTTCN -- Terminal Class Names
|                             GETTAB Table 212
|  
|  
|  
|  Contents         Names of terminal classes.
|  
|  Indexed by       Item number
|  
|  Monitor Table    TCNTAB
|  
|  Calling                  MOVE    ac,[item]
|  Sequence                 GETTAB  ac,
|                             error return
|                           normal return
|  
|                   Where item is the terminal class number.
|  
|                  |======================================================|
|                  |  Terminal classes                                    |
|                  |======================================================|
|                                         .  .  . 
































                                   23-183
























































                                    A-1











                                 APPENDIX A

                                  GLOSSARY




   Absolute virtual address

        A fixed location in user virtual address  space  that  cannot  be
        relocated  by  the  software.  However, it can be translated to a
        physical address by the hardware.  For example, locations  0 - 17
        are  mapped  into  the  current  AC  block  by the hardware.  The
        corresponding locations in physical memory are never referenced.

   AC

        Refer to accumulator.

   ACCESS.USR

        Each user can create his own ACCESS.USR file to specify  who  can
        and cannot access his files.  See Appendix C.

   Access date

        The date on which a file on disk was last read or written.  If  a
        file  has  not  been  read  or  written since it was created, the
        creation date and the access date are the same.  The access  date
        is kept in the Retrieval Information Block (RIB) for the file.

   Access privileges

        Attributes of a file that specify the class of users  allowed  to
        access the file and the type of access they are allowed.

   Access table

        A table stored in the monitor that reflects the status of a file.
        There  is one access table for each file that is open for reading
        or writing, in addition to those files that were recently closed.
        This  information is kept in the monitor in order to decrease the
        time needed to access the files.


                                    A-1
                                  GLOSSARY


   Accumulator

        One of the registers and associated equipment in  the  arithmetic
        unit  in  which  data can be placed while it is being examined or
        manipulated (for example, the 16 high-speed registers at  address
        locations 0 through 17).

   Active search list

        An ordered list of  file  structures  established  for  each  job
        running on the system.  This list is used to translate references
        to the generic device DSK into the actual file structures  to  be
        used.   This  means  if  a  user  reads a file on device DSK, the
        system will look for the file  on  structures  contained  in  the
        active search list.  The active search list is separated from the
        passive search list by the FENCE.  The SETSRC program can be used
        to alter the contents of the job's active search list.

   Address

        1.  An identification represented by a name, label, or number for
            a  register,  a location in storage, or any other data source
            or destination in memory or on an addressable storage device.

        2.  The part of an instruction that specifies the location of  an
            operand of the instruction (also called "effective address").

   ?ADDRESS CHECK Error

        This error can occur  when  a  dump  mode  I/O  command  list  or
        LOOKUP/ENTER/RENAME  block  is  not  in your low segment.  It can
        also occur when an invalid address is encountered during any  I/O
        UUO processing.

   Address mapping

        The assignment of user virtual  address  space  to  the  physical
        address   space   in  computer  memory.   This  is  automatically
        performed by the TOPS-10  monitor  and  is  transparent  to  user
        programs.

   ALL search list

        The list of all structures currently  known  to  the  system  and
        physically  mounted.   This  list  is  the output from the SYSSTR
        monitor call.

   Alphanumeric

        The set of characters that includes the letters of  the  alphabet
        (A through Z), and the numerals (0 through 9).



                                    A-2
                                  GLOSSARY


   Arithmetic unit

        The portion of the central processing unit  in  which  arithmetic
        and logical operations are performed.

   ASCII code

        American Standard Code for Information Interchange.  A 7-bit code
        in  which  textual  information  is recorded.  The ASCII code can
        represent 128 distinct  characters.   These  characters  are  the
        upper  and lower case letters, numbers, common punctuation marks,
        and special control characters.

   Assembly language

        The machine-oriented symbolic programming language specific to  a
        given  computing  system.   The  assembly language for TOPS-10 is
        MACRO.

   ASCIZ

        A 7-bit ASCII string terminated by a zero byte.   The  string  is
        word aligned (left justified) unless specified by a byte pointer.
        The zero byte is not included in the string length, but  must  be
        present.

   Assigning a device

        Associating an I/O device  to  the  user's  job  either  for  the
        duration of the job or until the user relinquishes it.

   Associated variable

        Returned in the AC on a normal return for the IPCFR monitor  call
        and  returned  to  the  status  word when a IPCF-related software
        interrupt is generated.

   Associative memory

        High-speed, 32-word memory that is used by the KI10 processor  to
        provide  address mapping information for the operating system and
        user programs.

   Asynchronous

        1.  Pertaining to the procedure by which the hardware can begin a
            second operation before waiting for the first operation to be
            completed.

        2.  Pertaining to the method of data transmission in  which  each
            character  is sent with its own synchronizing information and
            no fixed time between consecutive characters.


                                    A-3
                                  GLOSSARY


   Backspace

        To move back the  logical  position  in  a  file  or  on  a  line
        according  to  a  prescribed  format.  For example, magnetic tape
        units can be backspaced over a file or a record.  Some  terminals
        allow backspacing in order to permit over-printing.

   Bad Allocation Table (BAT) block

        A block written on every disk unit to enumerate the  bad  regions
        of  consecutive  bad  blocks  on  that  unit so that they are not
        reused.  The BAT blocks appear in the HOME.SYS file.

   BADBLK.SYS

        The file that contains all bad blocks.  It may be  read  but  not
        deleted and is useful for testing error recovery.

   Baud

        A unit of signalling  speed  equal  to  the  number  of  discrete
        conditions or signal events per second.

   Binary code

        A code that uses two  distinct  characters  only;  usually  these
        characters are 0 and 1.

   Bit

        A binary digit (that is, 0 or 1).  Usually refers to the smallest
        unit  of  information storage, which can be on or off.  A word on
        TOPS-10 has 36 bits.

   Block

        A set of records, words, characters, or digits handled as a unit.
        On  the  TOPS-10,  a  128-word  unit of disk storage allocated by
        hardware and software;  128  words  are  always  written,  adding
        zeroes as necessary, although fewer than 128 words can be read.

   Bootstrap

        A routine designed to bring itself into a desired state by  means
        of  its  own  action  (for example, a machine routine whose first
        instructions are sufficient to bring the rest of itself into  the
        computer from an input device).







                                    A-4
                                  GLOSSARY


   Breakpoint

        A location at which program operation is suspended  in  order  to
        examine  partial  results.  Breakpoints are used in the debugging
        process.

   Break Set

        The set of characters used by the monitor to determine the end of
        a command line typed on the terminal.  The default terminal break
        set includes <ESC> and <RET>, but your program can be enabled  to
        recognize any set of characters as break characters.

   Buffer

        A device or area  used  to  temporarily  hold  information  being
        transmitted  between two processes, such as external and internal
        storage devices or I/O devices and internal  high-speed  storage.
        A  buffer  is  often  a  special register or a designated area of
        internal storage.

   Buffer pointer

        A position indicator that is located between two characters in  a
        buffer,  before  the  first character in the buffer, or after the
        last character in the buffer, to indicate the position  at  which
        the next operation will begin.

   Buffer Ring

        A ring of  buffers  used  to  allow  a  program  to  perform  I/O
        efficiently.    In   a  buffer  ring,  the  program  can  execute
        instructions while the monitor is filling buffers.

   Bug

        A deficiency in a program that causes it to execute  incorrectly,
        or a mistake made by a person when writing a program or designing
        hardware.

   Byte

        Any contiguous set of bits within a word.

   Call

        (verb) To transfer control to a specified closed subroutine.

   Call

        (noun) An instruction used to pass control  to  another  program,
        such as a "monitor call."


                                    A-5
                                  GLOSSARY


   Caller

        The program or routine which calls another  program  or  routine.
        The person who invoked the caller is referred to as the user.  As
        an example, the user types commands to SCAN which stores them  in
        core.   The caller then calls WILD to study this block and select
        files.  Thus the user has specified the request  but  the  caller
        actually invoked WILD.

   Calling sequence

        A specified  arrangement  of  instructions,  pointers,  and  data
        necessary  to  pass parameters and control to, and return from, a
        given subroutine.

   Card

        A punched card with  80  vertical  columns,  each  containing  12
        vertical rows.  Also, a unit of computer circuitry.

   Card column

        One of the vertical lines of 12 punching positions on  a  punched
        card.

   Card field

        A fixed number of consecutive card columns assigned to a unit  of
        information.

   Card hopper

        The tray on a card processing machine that holds the cards to  be
        processed and makes them available to the card feed mechanism.

   Card row

        One of the horizontal lines of punching positions  on  a  punched
        card.  A row is 80 columns long.

   Card stacker

        The tray on a card processing  machine  that  receives  processed
        cards.

   Carriage return

        1.  The operation that prepares for  the  next  character  to  be
            printed  or  displayed  at  the  first  position  on the same
            (current) line on a terminal or line printer.

        2.  The ASCII character with the octal code 015.


                                    A-6
                                  GLOSSARY


   CDP

        The generic device name for the card punch device.

   CDR

        The generic device name for the card reader device.

   Central processing unit (CPU)

        The portion of the computer  that  contains  the  arithmetic  and
        logical  facilities,  control  circuits, and basic I/O and memory
        interfaces.  There can be  more  than  one  CPU  in  a  computing
        system.

   Central site

        The location of the central computer in a computer network.  This
        term  is  used  in conjunction with remote communications to mean
        the location of the TOPS-10 central  processor  as  distinguished
        from the location of the remote station.  Refer to "Host."

   CFP

        See Compressed File Pointer.

   Channel

        1.  A path along which signals can be sent,  such  as  an  output
            channel.

        2.  A portion of TOPS-10 that can overlap I/O transmission  while
            computations proceed simultaneously (such as a data channel).

   Character

        One  symbol  of  a  set  of  elementary  symbols  such  as  those
        corresponding  to  the  keys  on  a  typewriter.   The characters
        usually include the decimal digits 0 through  9,  the  letters  A
        through  Z,  punctuation  marks, operation symbols, and any other
        special symbols which a computer may read, store, or write.

   Clear

        To erase the contents of a location, a block of memory, or a mass
        storage device by replacing the contents with blanks or zeroes.

   Cluster

        A single- or multi-block unit of disk  storage  assignment.   The
        number  of  blocks  per  cluster  is  a  parameter  of  each file
        structure.


                                    A-7
                                  GLOSSARY


   Command

        The part of an instruction that causes the computer to execute  a
        specified operation.

   Command List

        Specifies the memory area to be read or written  when  performing
        dump I/O.

   Communication link

        The physical means of connecting one device to  another  for  the
        purpose of transmitting and receiving data.

   Compressed file pointer

        An 18-bit pointer to the unit within the file  structure  and  to
        the  first  super-cluster of the file.  This pointer is stored in
        the UFD for each file in that UFD.  It points  to  the  retrieval
        information  block,  which  contains the information necessary to
        access the desired file.

   Computer operator

        A person who manipulates the controls of a computer and  performs
        all  functions  that  are  required  to  maintain and operate the
        system, such as adjusting parameters which affect  the  operation
        of the system, loading tape and disk drives, placing cards in the
        input hopper, and removing listings from the line printer.

   Computer program

        A series of instructions  or  statements  prepared  in  order  to
        achieve  a  specific  result  and  intended  for  execution  by a
        computer.  A program can be in either the binary form in which it
        can  be  directly  executed by a computer or a symbolic form that
        must be compiled and/or assembled before it can be executed.

   Concatenation

        The joining of two strings of  characters  to  produce  a  longer
        string,  often  used  to  create symbols in macro definitions, or
        combining two or more files into one larger file.

   Concealed mode

        The user submode on the KI  or  KL  processor  that  may  contain
        proprietary   coding.    Sections   of   proprietary   code   are
        hardware-protected from access by  public  mode  programs  except
        through predefined entry points (PORTAL instructions).



                                    A-8
                                  GLOSSARY


   Console

        The part of a computer used by  the  operator  to  determine  the
        status  of,  and to control the operation of, the computer (CTY).
        Also informally used to refer to the user's terminal.

   Context switching

        The saving of sufficient hardware and software information for  a
        process  so  that  it  may  be continued at a later time, and the
        restoring of similar information relevant to another process.   A
        common  use of context switching is the temporary suspension of a
        user program so that the monitor can execute a function.

   Continued directory

        The collection of all directories with a particular name and path
        on all file structures in the job's search list.

   Continued MFD

        The MFDs on all file structures in the job's search list.

   Continued SFD

        The SFDs on all file structures in the job's  search  list  which
        have the same name and path.

   Continued UFD

        The UFDs for the  same  project-programmer  number  on  all  file
        structures in the job's search list.

   Control character

        A character whose purpose is to control an action, such  as  line
        spacing  on  the  line  printer,  rather  than  to pass data to a
        program.  An ASCII control character has an octal  representation
        of  0-37.   It  is  typed  by  holding  down  the CTRL key on the
        terminal while striking a character key.  It can be punched on  a
        card using the multi-punch key.

   Controller

        The device or portion of a device which controls the operation of
        connected  units.   Some  controllers  can  initiate simultaneous
        positioning commands to some of its units and can then perform  a
        transfer for one of its units.

   Controller class name

        All file structures residing on all controllers of a given type.


                                    A-9
                                  GLOSSARY


   Controller name

        All file structures residing on a specific controller.

   Core

        Physical memory.

   Core storage

        A storage device normally used for main memory in a computer.

   CORMAX

        The maximum amount of core memory that a single job  can  use  at
        one time.  This value can range from MINMAX to total user core.

   CORMIN

        The amount of core guaranteed to unlocked jobs.  Locked jobs  are
        limited to total user core minus CORMIN.

   Counter

        A device, such  as  a  register  or  storage  location,  used  to
        represent the number of occurrences of a certain event.  Refer to
        program counter.

   CPU

        See central processing unit.

   Create

        To open, write, and close a file for the first  time.   Only  one
        user  at a time can create a file with a given name and extension
        in the same directory or subdirectory of a file structure.

   CRLF

        Carriage-return/line-feed sequence.  A "free CRLF" can be enabled
        for  terminal  output.   An  "automatic  CRLF" can be enabled for
        terminal input.

   CTY

        Console terminal used to load, control, and debug the system.

   CUSP

        A Commonly Used System Program, such as LOGIN, that works closely
        with the monitor to perform system functions.


                                    A-10
                                  GLOSSARY


   Customer

        A customer of Digital Equipment Corporation who has  purchased  a
        DECsystem-10  as  distinguished from a user at a terminal who may
        be purchasing time from a customer.

   Cylinder

        The hardware-defined region of consecutive  logical  disk  blocks
        which  can  be read or written without repositioning.  A cylinder
        usually consists of tracks  in  the  same  physical  position  on
        different disk surfaces.

   DAEMON

        A program for writing all or parts  of  a  job's  core  area  and
        associated monitor tables onto disk.

   Data

        A general term used to denote  any  or  all  information  (facts,
        numbers,  letters,  and  symbols  that  refer  to  or describe an
        object, idea, condition,  or  situation).   It  represents  basic
        elements of information which can be processed by a computer.

   Data channel

        The device which passes data between  the  memory  system  and  a
        controller.

   DDB

        A device data block.

   DDT

        The  Dynamic  Debugging  Technique  program  used   for   on-line
        checkout,   testing,   examination,   modification,  and  program
        composition of object programs.  Various types  of  DDT  programs
        are available, such as DDT11 for debugging PDP-11 remote stations
        and the RSX-20F front end, and EDDT for debugging the monitor.

   Deadlock

        The situation where two or more jobs are waiting for  each  other
        to complete use of a resource, but neither of the jobs can obtain
        a lock on the resource it needs for completion.

   Debug

        To detect,  locate,  and  correct  any  mistakes  in  a  computer
        program.


                                    A-11
                                  GLOSSARY


   DECtape

        A convenient, pocket-sized reel of random  access  magnetic  tape
        developed  by  Digital  Equipment  Corporation.   A standard reel
        consists of 578 (decimal) blocks, each  capable  of  storing  128
        (decimal) words of data.

   Default directory

        The directory that monitor searches when a disk directory has not
        been   specified  by  the  user.   Typically,  this  is  the  UFD
        (user-file    directory)    corresponding    to    the     user's
        project-programmer  number  but  it  may  be another UFD or a SFD
        (sub-file directory).

   Demand paging

        The operation in which all pages of a program are not resident in
        core during execution.  References to non-resident pages initiate
        the actions of moving in additional pages or  replacing  inactive
        pages.

   Dequeue

        The  function  of  releasing  or  relinquishing  ownership  of  a
        resource.  Refer to "Enqueue."

   Device substitution

        Your program can be written for  one  device,  and,  before  your
        program  is  executed, you can substitute another device by using
        the ASSIGN command.

   Device routines

        Routines that perform I/O for specific  hardware  devices.   They
        usually translate logical block numbers to physical addresses for
        those devices that associate addresses with data.  These routines
        also handle error recovery and ensure ease of programming through
        device independence.

   Diagnostic

        Pertaining  to  the  detection  and  isolation  of   a   hardware
        malfunction  or  bug.   A  program  which  tests the hardware and
        isolates any faults.

   Digit

        A symbol that represents one of the nonnegative integers  smaller
        than the base of the system.  For example, in the decimal system,
        a digit is one of the characters from 0 to 9.


                                    A-12
                                  GLOSSARY


   Direct address

        An address that specifies the location of an  operand.   Contrast
        with indirect address.

   Directory

        A file that contains the names and pointers to other files on the
        device.  The MFD, UFDs, and SFDs are directory files.  The MFD is
        the directory containing all the UFDs.  The UFD is the  directory
        containing  the  files  existing  in  a  given project-programmer
        number area.  The SFD is a directory pointed to by  a  UFD  or  a
        higher-level  SFD.   The  SFDs exist as files under the UFD.  The
        DIRECT monitor command lists a directory.

   Directory device

        A storage retrieval device, such as disk,  DECtape,  or  labelled
        magnetic  tape, that contains information describing the names of
        files and the layout of stored data (programs and  other  files).
        A directory device is randomly accessible.

   Directory path

        The ordered list of directory names, starting with  a  UFD  name,
        which  uniquely  specifies  a  directory without regard to a file
        structure.  A file structure name, a path, and a  file  name  and
        extension are needed to uniquely identify a file in the system.

   Directory specification

        The way that  the  user  specifies  the  directory  to  the  SCAN
        program.   It is always typed within square brackets.  Fields are
        separated by commas.  The first two fields are  the  project  and
        programmer  numbers which are octal.  They specify the particular
        UFD.  Additional fields are SFDs in order from the UFD down.  The
        following notations are allowed:

             [PPN]               UFD
             [PPN,sfd,...sfd]    full path to directory
             [-]                 default directory
             [,]                 your UFD

   DIS

        Display light pen.

   Disk

        A form of mass storage device in which information is  stored  on
        rotating magnetic platters.  A disk is a directory device.



                                    A-13
                                  GLOSSARY


   Disk address

        All references to disk addresses refer to a logical  or  relative
        address;  they  do  not  refer to any physical addressing scheme.
        The basic addressable unit is a 200 (octal) 36-bit word block.

   Dismounting a file structure

        Deleting a file structure from a user's  active  search  list  by
        using  the  DISMOUNT  command.   It  does  not  necessarily imply
        physical removal of the file structure from the system.

   Dormant file structure

        A file structure that is physically mounted but  has  no  current
        users; that is, when the mount count is zero.

   Dormant segment

        A sharable high segment kept on a swapping space, and possibly in
        core, which is in no user's addressing space.

   Double precision

        The use of two computer words to represent a number.

   DSK

        The generic device  name  for  disk-like  devices.   The  generic
        device DSK is translated by the system into actual file structure
        names which are defined for each job by the file structure search
        list.

   DSKLST

        A program that gives the status and statistics of all  user  disk
        files at a given time.

   DSKRAT

        A damage assessment program  that  scans  a  file  structure  and
        reports any inconsistencies detected.

   DTA

        The generic device name for DECtape.

   Dump

        A listing of variables and their values,  or  a  listing  of  the
        values of locations in core.



                                    A-14
                                  GLOSSARY


   Echoing

        A method of data transmission  in  which  the  received  data  is
        returned  to  the  sending  end.   Usually used in discussions of
        terminal I/O.

   Edit

        To modify the content or format of a program or data file (as  to
        insert or delete characters).

   Effective address

        The actual address  used;  that  is,  the  specified  address  as
        modified by any indexing or indirect addressing rules.

   ENQ/DEQ

        A facility that ensures that resources such as files  are  shared
        correctly.

   Enqueue

        The function of storing requests for ownership  of  some  limited
        resource in lists or queues until the requests can be granted.

   Entry point

        A point in a subroutine to which control is transferred when that
        subroutine is called.

   Error Interception

        When an error occurs,  the  monitor  intercepts  control  of  the
        program,  examines  location  .JBINT, and transfers control to an
        error intercepting routine.

   Ersatz device name

        A device name that  may  not  refer  to  an  actual  device,  but
        represents a UFD.  Ersatz device names are a specific set of such
        logical names, recognized by the monitor.

   Execute

        To interpret an instruction or command and perform the  indicated
        operation(s).

   Executive mode

        A central processor mode characterized  by  the  lack  of  memory
        protection  and  relocation  and  by  the normal execution of all
        defined operation codes.

                                    A-15
                                  GLOSSARY


   Extended file

        A file that has  more  than  one  RIB  in  which  to  record  the
        retrieval pointers.

   Extended argument block for LOOKUP, ENTER, and RENAME

        A detailed argument block for each of these calls that  describes
        information from the file's RIB.

   Extended RIBs

        Additional retrieval information blocks (RIBs) required when  the
        retrieval pointers in a file overflow the prime RIB.

   External symbol

        A global symbol which is referenced in one module but defined  in
        another  module.   The  EXTERN  statement  in MACRO-10 is used to
        declare a symbol to be external.  A subroutine name referenced in
        a  CALL  statement  in a FORTRAN module is automatically declared
        external.

   FENCE

        The boundary between the active and passive search  lists.   This
        distinction is maintained by the SETSRC program.

   File

        An ordered collection of characters or  36-bit  words  containing
        computer instructions and/or data.  A file is stored on a device,
        such as disk or magnetic tape, and can be of any length,  limited
        only  by the available space on the device and the user's maximum
        space allotment on that device.  A file is uniquely identified in
        the  system  by  a  file  structure  name  or  directory  name, a
        directory path, and a file name and extension.

   File Daemon

        The monitor calls the File Daemon (if F%FDAE=1) every  time  that
        someone  tries  to access a file that has a 4, 5, 6, or 7 code in
        the owner's protection field  and  the  access  fails  due  to  a
        protection error.  Refer to Appendix C.

   File directory

        See Directory.






                                    A-16
                                  GLOSSARY


   File extension

        One to  three  alphanumeric  characters  usually  chosen  by  the
        program  to  describe  the  class  of information in a file.  The
        extension is separated from the file name by a period.

   File name

        One to six alphanumeric characters chosen by the user to identify
        a file.

   File specification

        A list of identifiers which uniquely specifies a particular file.
        A  complete  file  specification  consists  of:   the name of the
        device on which  the  file  is  stored,  the  name  of  the  file
        including  its  extension, and the name of the directory in which
        the file is  contained.   File  specifications  are  ignored  for
        non-file-oriented  devices,  such  as cards and paper tape.  Your
        program specifies a file name and directory  name  in  a  LOOKUP,
        ENTER, RENAME, or FILOP.  monitor call.

   File specification area

        The area of core in which SCAN stores the result of scanning  the
        user's  file  specification.  This instructs WILD as to the files
        to select.

   File status word

        See I/O status word.

   File structure

        The logical arrangement of blocks (which are normally  128  words
        long)  on  one  or  more  disk  units  of the same type to form a
        collection of files and directories.

   File structure abbreviation

        An abbreviation of one or more file structures.  This  refers  to
        all those structures in the ALL search list whose names match the
        abbreviation.  For example, if there were structures  "PRIV"  and
        "PACK,"  "P"  would  refer to both structures but "PR" would mean
        just "PRIV."

   File structure owner

        The user whose project-programmer number is associated  with  the
        file structure in the administrative file STRLST.SYS.  The CATLOG
        program is used to enter or delete this project-programmer number
        or  any  of  the  other  information  that  is  contained  in  an
        STRLST.SYS entry.

                                    A-17
                                  GLOSSARY


   Flag

        An indicator that signals the occurrence of some condition,  such
        as the end of a word.

   Fragmentation

        The state existing when swapped segments cannot be  allocated  in
        one  contiguous set of blocks on the swapping space and therefore
        must be allocated in separate sections.

   Full-SCNSER PTY

        A  pseudo-terminal  (PTY)  that  contains   the   full   terminal
        characteristic  set, allowing echoing to the controlled job and a
        full break set.  Refer to "PTY."

   Fullword

        A contiguous sequence of bits  or  characters  that  comprises  a
        single  computer  word, or describing a word that can be referred
        to as a single unit.  On TOPS-10, a word is 36 bits long.

   Funny space

        Refer to "Per-process space."

   Generic device name

        The name of a class of  physical  units.   This  abbreviation  is
        usually three characters.  As an example, DTA is the generic name
        for DECtapes, and DTA0, DTA1, and so  forth,  are  specific  unit
        names.

   Global symbol

        A symbol that is accessible to modules  other  than  the  one  in
        which  it  is defined.  The value of a global symbol is placed in
        the loader's global symbol table when the module  containing  the
        symbol definition is loaded.

   Group

        A contiguous set of disk clusters allocated as a single  unit  of
        storage and described by a single retrieval pointer.

   Halfword

        A contiguous sequence of bits or characters which comprises  half
        of  a  computer word and may be addressed as a unit.  On TOPS-10,
        bits 0 through 17 comprise the left half word and bits 18 through
        35, the right half word.  Each half word is 18 bits long.


                                    A-18
                                  GLOSSARY


   Hardware

        Physical equipment of the computer (such as magnetic, mechanical,
        and  electronic devices), as contrasted with the computer program
        (software) or method of use.

   High segment

        That portion of the user's addressing space, usually beginning at
        virtual  address  400000, which generally is used to contain pure
        code that can be shared by other users.  This segment is  usually
        write-protected  in  order to protect its contents.  The user can
        place information into a high segment with the  TWOSEG  pseudo-op
        in  MACRO-10.  Higher-level languages, such as COBOL and FORTRAN,
        also have provisions for loading code into the high segment.

   HOME.SYS

        The file that contains a number of special blocks for system use.
        These blocks are the home blocks, the BAT blocks, the ISW blocks,
        and block zero.

   HOME block

        The block written twice on every unit that  identifies  the  file
        structure  the  unit  belongs  to  and  its  position on the file
        structure.  This block specifies all the parameters of  the  file
        structure  along  with  the  location of the MFD.  The home block
        appears in the HOME.SYS file.

   Host

        A processor or system in a computer network  that  processes  and
        executes  user  commands and programs.  For example, this term is
        used to distinguish a DECsystem-10 from a PDP-11 remote station.

   I/O

        An abbreviation for input or output, or both.  Pertaining to  all
        equipment  and activity that transfers information into or out of
        a computer.

   I/O status word

        Sometimes called "file status word," this word contains I/O error
        bits and data modes for the device that is OPEN for I/O.

   ICPT

        In-core protect time.  Minimum amount  of  time  that  a  job  is
        guaranteed to reside in core.



                                    A-19
                                  GLOSSARY


   Idle segment

        A sharable segment that is referenced by one or more  swapped-out
        jobs, but not by any jobs currently in core.

   Idle time

        That part of uptime in which no job could run  because  all  jobs
        were HALTed or waiting for some external action such as I/O.

   Immediate mode addressing

        The interpretation of certain instructions in which the effective
        address  of  the  instruction  is used as the value of an operand
        (rather than the address of an operand).

   Impure code

        The code that is modified by a program.

   Indexed address

        An address that is formed by  adding  the  content  of  an  index
        register  to  the  content of an address field prior to or during
        the execution of a computer instruction.

   Index register

        A register whose contents may be added  to  the  operand  address
        prior  to  or  during  the  execution  of a computer instruction.
        Accumulators 1 through 17 (octal) may be used as index registers.
        (Accumulator 0 may not be used as an index register.)

   Indirect address

        An address which indicates a storage location where  the  address
        of  the referenced operand (or another indirect address) is to be
        found.  Contrast with direct address.

   Initialize

        To set counters, switches, or addresses to zero or other starting
        values  at  prescribed  points  in  the  execution  of a computer
        routine,  particularly  in  preparation  for  reexecution  of   a
        sequence of code.

   Initialize a device

        A device must be initialized on a software I/O channel to do I/O.





                                    A-20
                                  GLOSSARY


   Input

        1.  Pertaining to a device, process, or channel involved  in  the
            acquisition of data.

        2.  Information that is read by a computer.

   Instruction

        A bit pattern which, when interpreted by  the  computer,  directs
        the  computer  to  execute  a specific operation.  An instruction
        generally contains the values or locations of its operands.

   Interleaving

        The  process  of  configuring  the  memory  addressing  so   that
        consecutive  addresses  are not stored in the same memory module.
        This  allows  the  possibility  of  increasing  memory  speed  by
        overlapping part of the operation of different memory modules.

   Internal date-time format

        The format for storing a combined date and time internally.  This
        format  is  used by SCAN and other programs.  It has the property
        that  it  is  one  35-bit  ("integer")  quantity  such  that  the
        difference  between  two  points  in  time  in internal format is
        constant if they are a constant time apart.  The format is:

        In the left halfword, the number of days since November 17, 1858.

        In the right half a fraction of the day since midnight.

        This results in a resolution of  approximately  one  third  of  a
        second.   The  date  field  will  not be exceeded until 2217 A.D.
        (November 17, 1858, is the origin date used  by  the  Smithsonian
        calendar.   This  calendar  is in use by several computer systems
        and many astrophysics programs.  Its origin was selected  because
        November  18,  1858  was  the date of the first "Harvard Plates,"
        which were the first accurate astronomical  photographs.   Hence,
        this  date  standard  minimizes  the date field while leaving all
        astrophysical measurements as positive dates).

   Internal storage

        Addressable high speed storage directly controlled by the central
        processing unit.








                                    A-21
                                  GLOSSARY


   Internal symbol

        A global symbol located in the module in which it is defined.  In
        a MACRO-10 program, a symbol is declared internal with the INTERN
        or  ENTRY  pseudo-op.   These  pseudo-ops   generate   a   global
        definition  which  is used to satisfy all global requests for the
        symbol.

   Interrupt

        A signal which, when activated, causes a transfer of control to a
        specific  location  in memory thereby breaking the normal flow of
        control of the routine being executed.  An interrupt is caused by
        an  external  event such as a done condition in a peripheral.  It
        is distinguished from a trap which is caused by the execution  of
        a processor instruction.

   IPCF

        The   Inter-Process   Communications   Facility,   which   allows
        communication among jobs and system processes.

   JACCT program

        A program running with the JACCT privilege bit.  This is  set  by
        the  monitor for special system programs such as LOGIN.  This bit
        gives the caller full file access; that is, it allows the  caller
        to  LOOKUP  and  read  any  file  in the system regardless of the
        file's protection code.

   Jiffy

        A period of time equal to 1/60 of a second (for 60 Hz  power)  or
        1/50  of  a  second  (for 50 Hz power), used to count CPU cycles.
        Synonym for "tick."

   Job

        The entire sequence of steps from beginning to end, that the user
        initiates  from his interactive terminal or batch control file or
        that the operator initiates from his operator's  console.   Thus,
        it  is  a specific group of steps presented as a unit of work for
        the computer.  A job  usually  includes  all  necessary  computer
        programs,  files,  linkages  and  instructions  to  the operating
        system.

   Job Data Area (JOBDAT)

        The first 140 octal locations of a user's virtual address  space.
        This  area  provides  storage for certain data items used by both
        the monitor and the user's program.



                                    A-22
                                  GLOSSARY


   Job search list

        The ordered list  of  file  structures  for  your  job  that  are
        searched  automatically  when  the  generic  device  name  DSK is
        specified or implied in the file specification.

   K

        A symbol used to represent 1024 (2000 octal); for example, 32K is
        equivalent to 32,768.

   Kernel mode

        The executive submode  in  the  processor  under  which  I/O  and
        system-wide  functions operate.  Code executed in kernel mode can
        access and alter all of memory.

   KL-paging

        The method of paging memory  used  by  the  hardware  of  the  KL
        processor  to extend the virtual memory space of the program to a
        multiple of 256K.  Refer to the Processor Reference Manual.

   Label

        A symbolic name used to identify a statement or an item  of  data
        in a program.

   Leader

        A blank section of tape at the beginning of a  reel  of  magnetic
        tape or the beginning or end of a stack of paper tape.

   Library

        A file containing one or more relocatable  binary  modules  which
        may be loaded in Library Search Mode.  MAKLIB is a system utility
        program which enables users to merge and  edit  a  collection  of
        relocatable  binary modules into a library file.  PIP can also be
        used to merge relocatable binary modules into a library,  but  it
        has no facilities for editing libraries.

   Library search mode

        The mode in which a module (one of many in a library)  is  loaded
        only  if  one  or  more  of  its declared entry points satisfy an
        unresolved global request.







                                    A-23
                                  GLOSSARY


   Library search symbol (entry symbol)

        A list of symbols that are matched against unresolved symbols  in
        order to load the appropriate modules.  This list is used only in
        library search mode.  A library search symbol is  defined  by  an
        ENTRY statement in MACRO-10.

   Line

        A string of characters terminated with a vertical tab, form feed,
        or  line  feed.   The  terminator  belongs  to  the  line that it
        terminates.

   Line feed

        1.  The operation that prepares for  the  next  character  to  be
            printed  or  displayed  at the same (current) position on the
            next line on a terminal or line printer.

        2.  The ASCII character with the octal code 012.

   Line printer

        An electro-mechanical computer peripheral which accepts a line of
        characters  from the computer at a high speed and then prints the
        entire line in one operation.

   Line

        To combine independently--translated modules into one  module  in
        which  all relocation of addresses has been performed relative to
        that module and all external  references  to  symbols  have  been
        resolved based on the definition of internal symbols.

   Load

        To produce a core image and/or a saved  file  from  one  or  more
        relocatable  binary files (REL files) by transforming relocatable
        addresses to absolute addresses.  This operation  is  not  to  be
        confused  with  the GET operation, which initializes a core image
        from a saved file (refer to GET).

   Local peripherals

        The I/O devices and other data processing equipment  and  memory,
        excluding  the  central  processor  and  memory,  located  at the
        central site.







                                    A-24
                                  GLOSSARY


   Local symbol

        A symbol known only  to  the  module  in  which  it  is  defined.
        Because  it  is  not accessible to other modules, the same symbol
        name with different values can appear in more  than  one  module.
        These  modules  can  be  loaded  and  executed  together  without
        conflict.   Local  symbols  are  primarily  used  when  debugging
        modules;  symbol conflicts between different modules are resolved
        by mechanisms in the debugging program.

   Lock

        An association between a job and a resource.

   Locked job

        A job  in  core  that  is  never  a  candidate  for  swapping  or
        shuffling.

   Logged-in UFD

        The UFD that corresponds to the project-programmer  number  under
        which the user is logged in.

   Logical device name

        An alphanumeric name you choose to represent a  physical  device.
        This  name can be used synonymously with the physical device name
        in all references to the  device.   Logical  device  names  allow
        device  independence  in that the most convenient physical device
        can then be  associated  with  the  logical  name  at  run  time.
        Logical  names  take  precedence  over  physical names.  With the
        exception of disks, only one logical name can be associated  with
        a physical name.

   Logical record

        A collection of related items stored together.  It is possible to
        have:

        1.  Several logical records stored in a single physical record.

        2.  Each logical record stored in a single physical record.

        3.  Each logical record occupy one or more physical records.

        4.  Logical records span several physical  records,  and  at  the
            same  time,  have  more  than  one logical record in a single
            physical record.





                                    A-25
                                  GLOSSARY


   LOGIN

        The system program by which the system users gain access  to  the
        computing system.

   Lost time

        The time that the null job was running, while at least one  other
        job  wanted  to  run (was not waiting for a device) but could not
        because one of the following was true:

        1.  The job was being swapped out.

        2.  The job was being swapped in.

        3.  The job was on disk waiting to be swapped in.

        4.  The job was  momentarily  stopped  so  devices  could  become
            inactive in order to shuffle jobs in core.

   Low segment

        The segment of user virtual address space beginning at zero.   It
        contains  the  Job  Data Area and I/O buffers.  The length of the
        low segment is stored in location .JBREL of the  Job  Data  Area.
        When  writing two-segment programs, it is advisable to place data
        locations and impure code in the low segment.

   LPT

        The generic device name for line printers.

   MACRO

        The symbolic assembly program on the TOPS-10.

   Macro

        A portion of code that is substituted for its name  whenever  its
        name is invoked.

   Magnetic tape

        A tape with a magnetic surface on which data  can  be  stored  by
        magnetizing selective portions of the surface.

   MAINT.SYS

        The area of the disk reserved for maintenance use only.





                                    A-26
                                  GLOSSARY


   Mask

        1.  A combination of bits that is used to control  the  retention
            or elimination of portions of any word, character, or byte in
            memory.

        2.  On half-duplex circuits, the characters typed on the terminal
            to make the password unreadable.


   Master/slave system

        A  specific  type  of  multiprocessing   system   involving   two
        processors where one processor has a more important role than the
        other.

   Master file directory (MFD)

        The file created when the disk is refreshed, which  contains  the
        names of all user file directories including itself.

   Meddling

        The action of attempting  to  modify  code  in  a  sharable  high
        segment.

   Memory cycle overlap

        The hardware feature that allows a second memory reference to  be
        made  before  data  from the first reference has been received by
        the processor.

   Memory protection

        A scheme for preventing read and/or write access to certain areas
        of storage.

   Metering

        A technique used to perform performance analysis.

   MINMAX

        The minimum value for CORMAX.

   Mnemonic symbol

        A symbolic representation for a  computer  instruction  or  other
        numeric   item.   All  defined  monitor  symbols  are  listed  in
        UUOSYM.MAC.




                                    A-27
                                  GLOSSARY


   Modes

        The data modes that can be used when performing I/O.

   Module

        The smallest entity that can be loaded  by  the  loader.   It  is
        composed  of  a collection of control sections.  In MACRO-10, the
        code between the TITLE and END statements  represents  a  module.
        In  FORTRAN,  the  code  between  the first statement and the END
        statement  is  a  module.   In  COBOL,  the  code   between   the
        IDENTIFICATION  DIVISION  statement  and  the last statement is a
        module.

   Module origin

        The first location occupied by the module in user virtual address
        space.

   MONGEN

        The monitor generator dialogue program that  enables  the  system
        programmer to define the hardware configuration of his individual
        installation and the set of software options that  he  wishes  to
        select for his system.

   Monitor

        The collection of  programs  which  schedules  and  controls  the
        operation  of  user and system programs, performs overlapped I/O,
        provides context switching, and allocates resources so  that  the
        computer's  time  is efficiently used.  Also called the operating
        system.

   Monitor command

        An instruction to the monitor to perform an operation.

   Mount count

        The count of  the  number  of  jobs  that  have  a  certain  file
        structure  in their active or passive search lists (plus 1 if the
        structure is in the system search list).

   Mounting a device

        To request both the system to assign an I/O unit and the operator
        to  physically  place the specified medium (for example, magnetic
        tape reel or disk pack) on that unit.





                                    A-28
                                  GLOSSARY


   Mounting a file structure

        The process of adding a file structure to a search list.  If  the
        file structure is not already defined and mounted, this action is
        requested of the operator.

   MPX-controlled device

        A device connected to a multiplexed channel.

   MPXable Devices

        The devices that can be connected to  an  MPX  channel  are  line
        printers,   terminals,  paper-tape  punches,  remote  data  entry
        devices, and pseudo-TTYs.

   MTA

        The generic device name referring to a magnetic tape unit.

   Multiprocessing

        Simultaneous execution of two or more computer programs by two or
        more processors.

   Multiprogramming

        A technique that allows scheduling in such a way that  more  than
        one  job is in an executable state at any one time.  TOPS-10 is a
        multiprogramming operating system in which there are two or  more
        independent  instruction  streams  that are simultaneously active
        but are not necessarily simultaneously executed.

   Nesting

        To include a loop, a macro definition, a routine, or a  block  of
        data within a larger loop, macro definition, routine, or block of
        data.

   No-op

        An instruction that specifically instructs  the  computer  to  do
        nothing.  The next instruction in sequence is then executed.

   Non-blocking I/O

        In buffered modes, the program does not block while waiting for a
        buffer to be filled or emptied.






                                    A-29
                                  GLOSSARY


   Non-directory device

        A device, such as unlabelled magnetic tape or  paper  tape,  that
        does  not  contain a file describing the names and layout of data
        files.

   Non-sharable segment

        A segment for which each user has his own copy.  This segment can
        be created by a CORE or REMAP UUO or initialized from a file.

   Octal

        1.  Pertaining to a characteristic or property in which there are
            eight possibilities.

        2.  Pertaining to the number system with a radix of eight.

   Offset

        The number of locations or bytes  relative  to  the  base  of  an
        array,  string,  or  block.  For example, the number of locations
        relative to zero that a Control Section must be moved  before  it
        can be executed.

   ONCE-only time

        The time at which the operator can change  a  number  of  monitor
        parameters when the monitor is started up.  This is done prior to
        scheduling any jobs, when the  ONCE  program  is  run  at  system
        startup.

   Operand

        1.  The data that is accessed when an operation (either a machine
            instruction or a higher level operation) is executed.

        2.  The  symbolic  expression  representing  that  data  or   the
            location in which that data is stored, for example, the input
            data or arguments of a pseudo-op or macro instruction.

   Operating system

        The collection of programs that administer the operation  of  the
        computing  system  by scheduling and controlling the operation of
        user and system programs,  performing  I/O  and  various  utility
        functions,  and  allocating  resources  for  efficient use of the
        hardware.






                                    A-30
                                  GLOSSARY


   OPR

        The operator's control program to monitor and maintain the GALAXY
        batch and spooling system (Version 4.1 and later), and the DECnet
        network environment (Version 3 or later).

   OPSER

        The OPerator SERvice program that  allows  multiple  job  control
        from a single terminal.

   Output

        1.  Pertaining to a device, process, or channel  involved  in  an
            output  process  (that  is,  the process of transferring data
            from memory to a peripheral device).

        2.  The data that has been transferred from memory  to  a  medium
            readable by a person (such as line printer listings).

   Pack

        1.  To compress data in memory or on a peripheral storage  device
            by  taking  advantage of known characteristics of the data so
            that the original data can be recovered.

        2.  A disk pack (that is, a removable set of disks mounted  on  a
            common shaft).

   Packet

        A group of words or block of data  passed  from  one  program  to
        anothers  cooperating  program.  This is accomplished through use
        of  the   IPCF   facility   or   through   task-to-task   network
        communication.

   Pack-ID

        A 6-character SIXBIT name or number used to uniquely  identify  a
        disk pack.














                                    A-31
                                  GLOSSARY


   Page

        1.  Any number of lines terminated with a form feed character.

        2.  The smallest mappable unit of  core  storage.   On  the  KL10
            processor, a page is 512 continuous words in core starting on
            boundaries which are even multiples of 512.  It is  also  the
            smallest  allocatable  unit of memory.  KL10 operations allow
            programs to be composed of up to 512 pages  scattered  within
            core.

        3.  To selectively remove parts of a  user's  program  from  core
            memory.

   Paper tape

        A tape on which data  is  represented  by  specific  patterns  of
        punched holes.

   Parameter

        A variable that is given a constant value for a specific  purpose
        or  process,  for  example,  an input argument to a subroutine or
        command, or a value specifically  assigned  to  a  symbol  in  an
        assembly in order to control exactly what code is assembled.

   Parity bit

        A binary digit attached to a group of bits to make the sum of all
        the  bits  always  odd  (for odd parity) or always even (for even
        parity).

   Parity check

        A check that tests whether the number of  ones  or  zeros  in  an
        array  of binary digits is correct.  This check helps ensure that
        the data read has not been unintentionally altered.

   Passive search list

        An unordered list of the file structures that have  been  in  the
        job's  active  search  list  but  have  been removed without ever
        having been dismounted.  This list is maintained  by  the  SETSRC
        program and is use for accounting purposed when you log out.

   Password

        The character string assigned to a user; it is known only to  the
        user,  the  installation  administration, and the monitor system.
        The password is used to verify that a user is entitled to  run  a
        job under a specific project-programmer number.



                                    A-32
                                  GLOSSARY


   Path

        See directory path.

   Pathological name

        The  logical  name  associated  with  a  directory   path.    The
        pathological   name   refers   to  the  list  of  structures  and
        directories (STR:[UFD,SFD1,SFD2,...,SFD5])  to  be  searched  any
        time the pathological name is specified as the device in the file
        specification.

   PC

        See "program counter."

   Peripheral equipment

        Any unit of equipment, distinct from the central processing unit,
        the console, and the memory, that can provide input to, or accept
        output from, the computer.

   Per-process space

        The portion of monitor memory used to store data specific to user
        jobs.  Also called "funny space."

   PHB

        Packet Header Block used to store information when using IPCF.

   Physical address space

        A set of physical memory locations where information is  actually
        stored  for  the  purpose  of  program execution.  (As opposed to
        virtual memory addresses, which  may  be  mapped,  relocated,  or
        translated  to  produce a physical memory address in the hardware
        memory units.  This physical address  is  22  bits  long  on  the
        DECsystem-10.

   Physical device name

        The name of a specific peripheral unit.   It  is  a  SIXBIT  name
        consisting  of  3  to 6 characters.  Examples:  FHA0, FHA1, DPA0,
        DPA7, LPT0, DTA3.

   PI

        See "priority interrupt."





                                    A-33
                                  GLOSSARY


   PID

        A Process IDentifier is used to identify a system program that is
        the target of communication using the IPCF facility.

   PIT

        PSI system's internal data base.

   PLT

        The generic device name for plotter.

   PMB

        The Packet Message Block where user data is stored to be sent  to
        another program, using IPCF.

   Pointer

        1.  A location or register  containing  an  address  rather  than
            data.   A  pointer  may  be used in indirect addressing or in
            indexing.

        2.  An instruction indicating the address, position,  and  length
            of a byte of information (such as a byte pointer).

   Policy CPU

        In a symmetric multi-processing system,  the  CPU  that  provides
        system  initialization  and other overhead functions for the rest
        of the central processors.

   Pool

        One or more logically complete file structures that provide  file
        storage  for  the users and that require no special action on the
        part of the user.

   Pooled Resource

        A pooled resource occurs  when  multiple  copies  of  a  resource
        exist.   You  specify  that a resource is to be a pooled resource
        with the ENQ.  monitor call.

   Positioning operation

        On the TOPS-10, the operation of moving the read-write heads of a
        disk  to  the  proper  cylinder  prior  to a data transfer.  This
        operation requires  the  control  for  several  micro-seconds  to
        initiate  activity,  but  does  not require the channel or memory
        system.


                                    A-34
                                  GLOSSARY


   Prime RIB

        The first retrieval information block  (RIB)  of  a  file.   This
        block contains all file attributes and pointers to data blocks on
        disk.  Refer to RIB definition.

   Priority interrupt

        An interrupt that usurps control of the computer from the program
        or  monitor  and  jumps  to  an  interrupt service routine if its
        priority is higher than the interrupt currently being serviced.

   Privileged program

        1.  Any program running under project number 1, programmer number
            2.

        2.  A monitor support program executed by a monitor command which
            has the JACCT (job status) bit set, for example, LOGOUT.

   Process

        A collection of segments that perform a particular task.  Usually
        synonymous with "job," "program," or "task."

   Program

        1.  The complete  plan  for  the  solution  of  a  problem,  more
            specifically  the  complete  sequence of machine instructions
            and routines necessary to solve a problem.

        2.  A collection of routines which have been linked and loaded to
            produce  a  saved  file  or  a  core  image.   These routines
            typically consist of a main program and a set of subroutines,
            some of which may have come from a library.

   Program counter (PC)

        A  register  that  contains  the  address  from  which  the  next
        instruction  to be executed is fetched.  At the beginning of each
        instruction on a PDP-10, the PC normally contains an address that
        is one greater than the location of the previous instruction.

   Programmed operators

        Instructions which, instead of performing a  hardware  operation,
        cause  a  jump  into  the  monitor  system  or the user area at a
        predetermined  point  and  perform  a  software  operation.   The
        monitor  (or  special  user  code)  interprets  these  entries as
        commands from the user program to perform specified operations.




                                    A-35
                                  GLOSSARY


   Program origin

        The location assigned by LINK to relocatable zero of a program.

   Program trap

        One of the software-defined operation codes which,  when  decoded
        by the processor, causes the next instruction to be executed from
        a specified address.

   Project-programmer number

        Two octal numbers, separated by commas, which, when considered as
        a  unit,  identify  the  user and his file storage area on a file
        structure.

   Protected location

        1.  A storage location which cannot  be  accessed  in  a  certain
            context.   For  example, a write-protected location cannot be
            written into.

        2.  A storage location reserved for  special  purposes  in  which
            data   cannot   be  stored  without  undergoing  a  screening
            procedure to establish suitability for storage therein.

   Protection address

        The maximum relative address that the user can reference.

   Protection code

        Each file has a protection code that indicates who may or may not
        access  the  file,  in  the form <opa>, where o is an octal digit
        representing accessability to the owner of the  file,  p  is  the
        digit  for  members  of  the  same  project  (possessing the same
        project number in their PPN), and a is the digit  for  all  other
        users.   Each  octal digit represents the level of access allowed
        to the appropriate type of user, from 0,  allowing  any  type  of
        access,  to  7, allowing no access to other users.  Note that the
        owner can always change the protection code associated  with  the
        file.

   PSI System

        Programmable software interrupt system.

   Pseudo-op

        An operation  that  is  not  part  of  the  computer's  operation
        repertoire  as  realized  by hardware; hence, an extension of the
        set of machine operations.  In MACRO, pseudo-ops  are  directions
        for assembly operations.

                                    A-36
                                  GLOSSARY


   Pseudo-terminal

        A simulation of a terminal device generated by  the  software  to
        accept  commands  from  a  data base rather than a physical input
        device.

   PTP

        The generic device name used to refer to the paper tape punch.

   PTR

        The generic device name used to refer to the paper tape reader.

   PTY

        The generic device name used to refer to a pseudo-terminal.

   Public disk pack

        A disk pack belonging to the storage pool and  whose  storage  is
        available to all users who have quotas on it.

   Public mode

        The user submode on the processor.

   Pure code

        Code which  is  never  modified  in  the  process  of  execution.
        Therefore,  it  is possible to let many users share the same copy
        of a program.

   Pushdown list

        A list that is constructed and maintained so that the next to  be
        retrieved  is  the  most  recently stored item in the list.  Also
        called "stack" and first-in/last-out (FILO) list.

   Pushup list

        A list that is constructed and maintained so that the  next  item
        to be retrieved and removed is the oldest item in the list.  Also
        known as a first-in/first-out (FIFO) list.

   Quantum time

        The processor time given to each job when it is assigned to run.






                                    A-37
                                  GLOSSARY


   Queue

        A list of items waiting to be scheduled or processed according to
        system,  operator, or user-assigned priorities.  Examples:  batch
        input queue, spooling queues, monitor scheduling queues.

   QUOTA.SYS

        The file that contains a list of users and their quotas  for  the
        private  file structure on which the file resides.  Created using
        PULSAR.

   Random access

        A process having the  characteristic  that  the  access  time  is
        effectively independent of the location of the data.

   RDA

        The generic device name used to refer to a Remote Data terminal.

   Read

        Input data from a file.

   Record

        A collection of adjacent related  items  of  data  treated  as  a
        logical unit.

   Record gap

        An area on a data medium  between  consecutive  records.   It  is
        sometimes used to indicate the end of a block or record.

   Recursive

        A repetitive process in which  the  result  of  each  process  is
        dependent upon the result of the previous one.

   Reentrant program

        A program consisting of sharable  code  which  can  have  several
        simultaneously independent users.

   Refresh

        To remove all files from  a  file  structure  and  to  build  the
        initial set of files based on information in the HOME block.





                                    A-38
                                  GLOSSARY


   Relative address

        The address before hardware or software relocation is added.

   REL file

        A file containing one or more relocatable object modules.

   Relocatable address

        An address within a module which is specified as an  offset  from
        the first location in that module.

   Relocate

        1.  To move a routine from one portion of storage to another  and
            to  adjust  the  necessary  address  references  so  that the
            routine can be executed in its new location.

        2.  To convert a relocatable binary module to an absolute  binary
            module.

   Relocation counter

        1.  The number assigned by LINK-10 as the beginning address of  a
            Control  Section.   This number is assigned in the process of
            loading specific Control Sections into a saved file or a core
            image  and  is  transformed from a relocatable quantity to an
            absolute quantity.

        2.  The address counter that  is  used  during  the  assembly  of
            relocatable code.

   Relocation factor

        The contents of the relocation counter  for  a  control  section.
        This  number  is  added to every relocatable reference within the
        Control Section.  The relocation factor is  determined  from  the
        relocatable  base  address for the control section (usually 0 and
        400000) and the actual address in user virtual address  space  at
        which the module is being loaded.

   Remote access

        Pertaining to communication with a data  processing  facility  by
        one or more stations that are distant from that facility.

   Remote peripherals

        The I/O devices and other  data  processing  equipment  that  are
        located at the site of the remote station.



                                    A-39
                                  GLOSSARY


   Removing a file structure

        The process of physically removing  a  file  structure  from  the
        system.  This is requested with the REMOVE switch in the DISMOUNT
        command string and requires the operator's approval.

   Resource

        Any entity  within  the  system.   The  actual  definition  of  a
        resource  is defined by the job(s) using that resource.  Refer to
        ENQ/DEQ.

   Response time

        The time between the generation of an inquiry or request and  the
        receipt  of  the  response or the accomplishment of the requested
        action.

   Restricted device

        Your program can use a restricted device only if it  is  assigned
        to  you  by  a  privileged  job.   You ask for this assignment by
        issuing the MOUNT command.

   Retrieval Information Block (RIB)

        The block that contains pointers to all the groups in a  specific
        file.   Each  file  has  two  copies of the RIB, one in the first
        block of the first group and the second in  the  block  following
        the last data block in the last group of the file.

   Return

        1.  The set of instructions at  the  end  of  a  subroutine  that
            transfers control to the proper point in the calling program.

        2.  The  point  in  the  calling  program  to  which  control  is
            returned.

        3.  Informally, the carriage-return/line-feed sequence.  Refer to
            CRLF.

   RIB

        See Retrieval Information Block.

   Routine

        A set of  instructions  and  data  for  performing  one  or  more
        specific functions.




                                    A-40
                                  GLOSSARY


   Run

        To transfer a save file from a device  into  core  and  to  begin
        execution.

   SAT.SYS

        The Storage Allocation Table file which contains a bit  for  each
        cluster  in  the  file  structure.   Clusters  which are free are
        indicated by zero and  clusters  which  are  bad,  allocated,  or
        nonexistent are indicated by one.

   Save

        To produce a file from a core image of a program in memory.  This
        results  in an executable file that can be loaded and run without
        relocation.

   Scan

        The process of examining and parsing a  text  string.   The  SCAN
        program parses commands for the monitor.

   Search

        1.  The process of locating an object by examining each object in
            the  set  to  determine if it is the desired object or if the
            desired object exists.

        2.  The process by which the disk controller reads  sector  heads
            to  find the correct sector.  The second step in the transfer
            operation.

   Search List

        A list of the file structures that may be searched when files are
        referenced.  (One of the ALL Search List, Job Search List, or SYS
        Search List.)

   Secondary storage

        Low speed magnetic storage such as disks or drums.

   Sector

        A physical portion of a mass storage device.








                                    A-41
                                  GLOSSARY


   Segment

        An absolute Control  Section.   A  logical  collection  of  data,
        either  program  data  or  code,  that is the building block of a
        program.  The monitor keeps a  segment  in  core  and/or  on  the
        swapping device.

   Segment resident block

        A block that  contains  all  the  information  that  the  monitor
        requires for a particular segment.

   Service routine

        A routine in general support of the operation of a computer.

   SETSRC

        A program that allows the user to list or change his search list.

   SFD (sub-file directory)

        A directory pointed to by a UFD or a higher-level SFD.  Each user
        has a UFD.  Within that, he may have as many SFDs as he wishes.

   Sharable segment

        A high segment that can be used by several programs at a time.

   Shared code

        Pure code residing in a shared segment.

   Sharer's Group

        A subset of those jobs desiring shared ownership of a  particular
        resource.

   Simultaneous Update

        Allowing more than one cooperating job to update a file.

   Single access

        The status of a file structure that allows  only  one  particular
        job  to  access  the  file  structure.  This job is the one whose
        project number matches the project number of  the  owner  of  the
        file structure.






                                    A-42
                                  GLOSSARY


   SIXBIT code

        A 6-bit code in which textual information is recorded.  It  is  a
        compressed  form  of the ASCII character set, and thus not all of
        the characters in ASCII are  available  in  SIXBIT,  notably  the
        nonprinting  characters  and  the lower case letters are omitted.
        The range of SIXBIT code is 00 to 77 (octal) which is equal to 40
        through 137 (octal) in ASCII.

   Skip

        The process by which an instruction, macro or  subroutine  causes
        control  to  bypass  one  instruction  and  proceed  to  the next
        instruction.

   Software Interrupt System

        Interrupts the sequential  flow  of  program  execution  under  a
        variety of conditions.  Also called PSI system.

   Spooling

        The technique by which output to  slow-speed  devices  is  placed
        into   queues   on   faster  devices  (such  as  disk)  to  await
        transmission to the slower devices; this  allows  more  efficient
        use of the computer.

   Storage Allocation Table

        A file reflecting the status of every addressable  block  on  the
        disk (SAT.SYS).

   String

        A set of contiguous items of a similar type.   Generally  strings
        are  sequences, of variable or arbitrary length; of bits, digits,
        or characters.

   STRLST.SYS

        The administrative file that describes each file structure in the
        system.  This file is used by the MOUNT command.

   Structure

        A File Structure.

   Sub-File Directory

        An extension of the user-file directory that allows the  user  to
        categorize his files into sub-groups.



                                    A-43
                                  GLOSSARY


   Subroutine

        A routine designed to be used by other routines to  accomplish  a
        specific task.

   Super-cluster

        A contiguous set of one or more clusters introduced  to  compress
        the  file  pointer  for  large  units  into  18  bits.   Refer to
        compressed file pointer.

   Super-USETI

        A style of reading a  disk  unit  or  file  structure  by  giving
        absolute addresses rather than locations within a file.

   Supersede

        To open a file for writing, write the file, and  close  the  file
        when  an  older  copy  of the same name already exists.  Only one
        user at a time may supersede a given file at any one  time.   The
        older  copy  of  the  file is deleted when all users are finished
        reading it.

   Supervisor mode

        The executive submode of the processor.  Similar to public  mode;
        however,  code executed in supervisor mode is able to access, but
        not alter, concealed mode code.

   SWAP.SYS

        The file containing the swapping area on a file structure.

   Swapping

        1.  The technique in multiprogramming of running more  jobs  than
            there  is physical memory for, by storing some of the jobs on
            secondary storage when they are not executing.

        2.  The action of moving user programs between core and secondary
            storage.

   Swapping class

        A category of swapping units distinguished from other  categories
        of  swapping  units  according  to  speed.   Class 0 contains the
        fastest swapping units.

   Swapping device

        Secondary storage  that  is  suitable  for  swapping,  usually  a
        high-speed disk or drum.

                                    A-44
                                  GLOSSARY


   Switch

        1.  The part of a file  specification  which  is  preceded  by  a
            slash.

        2.  One of several physical controls on the operator's console.

        3.  A flag used to control the path of execution within programs.

   Symbol

        Any identifier used to represent a value that may or may  not  be
        known  at  the  time  of  its  original  use in a source language
        program.  Symbols appear in source language statements as lables,
        addresses, operators, and operands.

   Symbolic address

        An address used to specify a storage location in the context of a
        particular  program.   Symbolic addresses must then be translated
        into relocatable (or absolute) addresses by the assembler.

   Symbol table

        A table containing entries and  binary  values  for  each  symbol
        defined  or  used within a module.  This table generally contains
        additional information about the way  in  which  the  symbol  was
        defined in the module.

   SYS

        A system-wide logical name for the system library.  This  is  the
        area where the standard programs of the system are maintained.

   SYS search list

        The file structure search list for device SYS.  This is also used
        for  several  of  the  ersatz  devices  because it is a constant,
        well-ordered list.

   SYSTAT

        A program that outputs to the user's terminal status  information
        on  the  system as a whole, on selected aspects of the system, or
        on a selected job or set of jobs.









                                    A-45
                                  GLOSSARY


   Terminal

        A device, normally consisting of both a keyboard and printing (or
        display)  mechanism,  that  is  used  to enter information into a
        computer and to accept output from a computer.  When it  is  used
        as  a timesharing terminal, the computer to which it is connected
        can be very close or many miles away.

   Tick

        See Jiffy.

   Total user core

        The amount of physical core which can  be  used  for  locked  and
        unlocked  jobs.   This is all of the physical core minus the core
        size of the monitor.

   Track

        The portion of a moving storage medium, such as  disk,  drum,  or
        tape, that is accessible to a given reading head position.

   Transfer operation

        The hardware operation of connecting a channel  to  a  controller
        and  a  controller  to a unit for passing data between the memory
        and the unit.   The  transfer  operation  involves  verification,
        search, and actual transfer.

   Translate

        To compile or assemble a source program into a  machine  language
        program, usually in the form of a (relocatable) object module.

   Trap

        An  unprogrammed  conditional   jump   to   a   known   location,
        automatically activated by a side effect of executing a processor
        instruction.  The location from which the jump occurred  is  then
        recorded.   It is distinguished from an interrupt which is caused
        by an external event.

   Trap Servicing Routines

        Allow programs to handle errors while a program is running.  Some
        of  the  errors  that  can  be handled in this manner are illegal
        memory references, and pushdown list overflows.






                                    A-46
                                  GLOSSARY


   TSK

        The generic device name for the  device  used  to  refer  to  one
        program   involved   in  inter-task  communication  with  another
        program.

   Two's complement

        A number used to represent the negative of a given  value.   This
        number  is obtained by substituting a zero for each one and a one
        for each zero in the bit configuration of the binary  number  and
        adding one to the result.

   UFD

        1.  A file whose entries are the names of  files  existing  in  a
            given project-programmer number area within a file structure.

        2.  The top-level directory for each user.  Also,  the  top-level
            directory   for  the  ersatz  devices  which  appear  as  one
            directory.

   Unconditional transfer

        An instruction which transfers control to a specified location.

   Unit

        The  smallest  portion  of  a  device  that  can  be   positioned
        independently  from  all  other units.  Several examples of units
        are:  a disk, a disk pack, and a drum.

   Universal Device Index (UDX)

        A number used to identify any device on the system.  The  monitor
        assigns  the  device  a  UDX  when  your program issues an IONDX.
        monitor call.

   Update

        To open a file for reading and writing simultaneously on the same
        software  channel, rewrite one or more blocks in place, and close
        the file.

   User's program

        All of the data and code running in a user virtual address space.

   User file directory

        See UFD.



                                    A-47
                                  GLOSSARY


   User I/O mode

        1.  The central processor mode that allows a user program  to  be
            run  with  automatic  protection and relocation in effect, as
            well as the normal execution of all defined  operation  codes
            (including I/O instructions).

        2.  The monitor mode which allows a job to run with the I/O  mode
            hardware on.

   User library

        Any user file containing one or more relocatable  binary  modules
        of which some or all can be loaded in library search mode.

   User mode

        A central processor mode during which instructions  are  executed
        normally  except  for all I/O and HALT instructions, which return
        control to the monitor.  This makes it possible  to  prevent  the
        user  from  interfering with other users or with the operation of
        the monitor.  Memory protection and relocation are in  effect  so
        that the user can modify only his area of core.

   User virtual address space

        A set of memory addresses within the range of 0 to 256K-1  words.
        These  addresses  are  mapped into physical core addresses by the
        paging  or  relocation-protection  hardware  when  a  program  is
        executed.

   UUO

        Refer to programmed operators (Unimplemented User Operations).

   Variable

        Any entity that can assume any of a given set  of  values.   When
        stored  in  core,  a variable can occupy part of a core location,
        exactly one core location, or more than one core location.

   Vestigial job data area

        The first 10 (octal)  locations  of  the  high  segment  used  to
        contain  data  for initializing certain locations in the job data
        area.   These  locations  are   usually   400000-400007   (octal)
        inclusive.







                                    A-48
                                  GLOSSARY


   Wildcard construction

        A  technique  used  to  designate  a  group  of   files   without
        enumerating  each  file separately.  The file name, extension, or
        project-programmer number in a file specification can be replaced
        totally  with  an  asterisk  or partially with a question mark to
        represent the group of files desired.

   Word

        An ordered set of bits which occupies one storage location and is
        treated  by  the computer circuits as a unit.  The word length of
        the DECsystem-10 is 36 bits.  This means that it is  possible  to
        store  36  bits  of  information  at  each  memory address and to
        transfer all 36 bits between memory and the CPU at the same time.

   Working set

        The collection of pages in physical core  immediately  accessible
        to  a  job.  Pages in core, but with the accessiblity bit off are
        also included in the working set.

   Zero compression

        The  technique  of  compressing  a  core  image  by   eliminating
        consecutive blocks of zeros and replacing them with an indication
        of the number of words of zeros that were removed.

   Zero length module

        A module containing symbol definitions but no instruction or data
        words (for example, JOBDAT).  Note that the word "length" in this
        context refers to the program length of the module after loading.





















                                    A-49
























































                                    B-1











                                 APPENDIX B

                                 .EXE FILES



   An .EXE file consists of a directory page  followed  by  one  or  more
   pages of data.

   The data in the directory  page  consists  of  a  variable  number  of
   chunks.   Each  chunk starts with a word containing a code in the left
   half and a count of the number of words in  the  chunk  in  the  right
   half.  The following codes are defined:

        1775     .SVSTA     Entry vector block.

        1776     .SVDIR     Directory.

        1777     .SVEND     End of directory.



   B.1  THE DIRECTORY

   The directory for an .EXE file starts with a .SVDIR  header  word  and
   contains  one  or  more  2-word entries that map the pages of the .EXE
   file into a process' address space.  This format is represented in the
   following diagram.

           |=======================================================|
           |           1776            |        Short Count        |
           |=======================================================|
   .SVFPF  |Flags |                                  | Page Number |
           |-------------------------------------------------------|
   .SVPPC  |Repeat Cnt |                             |Process Page |
           |=======================================================|
           \                                                       \
                                     . . .
           \                                                       \
           |=======================================================|
   .SVFPF  |Flags |                                  | Page Number |
           |-------------------------------------------------------|
   .SVPPC  |Repeat Cnt |                             |Process Page |
           |=======================================================|

                                    B-1
                                 .EXE FILES


   The format of each .SVFPF word is as follows:

        Bits   Symbol    Meaning

          B0   SV%HIS    Page is in high segment.
          B1   SV%SHR    Page is sharable.
          B2   SV%WRT    Page is writable.
          B3   SV%CON    Page is concealed.
          B4   SV%SYM    Page is part of symbol table.
        5-22             Reserved.
       23-35             The page number in the .EXE file  at  which  the
                         page starts.

   The format of each .SVPPC word is as follows:

        Bits   Symbol    Meaning

         0-8   SV%REP    Repeat count (the  number  of  contiguous  pages
                         minus 1 that are described by this entry).
        9-22             Reserved.
       23-35   SV%PPN    The process page  number  into  which  the  page
                         should be loaded.
































                                    B-2











                                 APPENDIX C

                                FILE DAEMON



   The File Daemon provides extended file protection.   The  File  Daemon
   described in this appendix is a prototype that you may use to help you
   in understanding the monitor  support  for  this  feature.   The  File
   Daemon  is  supplied  only to serve as a prototype for the File Daemon
   you may desire at your installation.

   Each installation will have  varying  types  of  accounting  and  file
   security  measures.  Therefore, each installation's File Daemon may be
   written to account for these  differences  and  varying  requirements.
   The  DIGITAL-supplied, prototype File Daemon supports access lists and
   access  logging  that  is  performed  on  a   user's   or   a   system
   administrator's request.



   C.1  USER INTERFACE

   The File Daemon allows any user to specify  who  can  and  who  cannot
   access his files.  Each user may create a file named ACCESS.USR (which
   is described in Section C.3).  This file optionally lists the names of
   some  or all of that user's files and specifies, on an individual file
   basis, the users  who  can  and  cannot  access  those  files.   Under
   specific  conditions,  the  File Daemon examines the user's ACCESS.USR
   file and may record information, in a separate file called ACCESS.LOG,
   regarding  specific  access  requests  to the listed files.  Note that
   ACCESS.USR can  be  created  only  by  the  owner  of  the  particular
   directory or by a job logged in under [1,2].



   C.2  THE FILE DAEMON

   The monitor calls the File Daemon (only if the  monitor  feature  test
   switch F%FDAE = -1) each time that someone tries to access a file that
   has a 4, 5, 6, or 7 protection code in  the  owner's  protection  code
   field  and the access fails due to a file protection error or due to a
   directory protection error.


                                    C-1
                                FILE DAEMON


   For example, if you protect a file against a specific  user  and  that
   user  attempts  to  access your file (with a LOOKUP, ENTER, RENAME, or
   FILOP.  monitor call), the  monitor  suspends  the  execution  of  the
   accessing  user's  program  and it sends a message to the File Daemon.
   This message includes the type of access the user  is  attempting  and
   that  user's  project-programmer number.  The monitor gives control to
   the  File  Daemon,  which  looks  for  your  file  called  ACCESS.USR.
   ACCESS.USR  must  be  on  the  same  file  structure  and  in the same
   directory area as the file being accessed.

   After examining ACCESS.USR, the File Daemon returns to the monitor the
   highest  type  of  access  you have specified that the user attempting
   access to your file may have.  Then, the File Daemon logs  the  access
   request  in  ACCESS.LOG (if you set the /LOG switch in your ACCESS.USR
   file; refer to Table C-1).

   All of this occurs, even when you attempt to access your own files, if
   a  file  has a 4, 5, 6, or 7 protection code in the owner's protection
   code field.  However, as the file's owner, you can read your file  and
   change  the  file's  protection  code  without  having the File Daemon
   called.  Depending on the information you specified in your ACCESS.USR
   file,  the File Daemon either grants or denies access to the accessing
   user.

   If the monitor attempts to pass control to the File  Daemon,  but  the
   File  Daemon  is  not  running,  the monitor denies access to the file
   unless the program attempting  access  has  full  file  access  rights
   ([1,2]  or  JACCT).   The same result occurs when one of the following
   conditions occurs:

        1.  The File Daemon cannot find ACCESS.USR in the  same  path  as
            the file being accessed.

        2.  The File Daemon cannot  find  ACCESS.USR  in  a  higher-level
            directory, when it scans up the directory structure.

   If the File Daemon finds ACCESS.USR but cannot find the  name  of  the
   accessed file in ACCESS.USR, the File Daemon denies file access to the
   accessing user.  The File Daemon also denies access to  the  accessing
   user  if the File Daemon finds he specified filename in ACCESS.USR but
   the  project-programmer   number   does   not   match   any   of   the
   project-programmer  numbers  you  have  specified that may access your
   file.

   All files listed in your ACCESS.USR are assumed to be in the same User
   File  Directory  (UFD) as the file named ACCESS.USR.  However, if your
   ACCESS.USR is in your UFD and it describes the type of accesses to  be
   allowed  to  files  contained  in  the  SFDs,  the accessing user must
   specify the full path to the file in the SFD before  the  File  Daemon
   will consider the file specification to match.




                                    C-2
                                FILE DAEMON


   The File Daemon treats all file accessors the same.  All accesses to a
   file  having a 4, 5, 6, or 7 protection code in the owner's protection
   code field cause the File Daemon to be called when a protection  error
   results.   The  File  Daemon  is always called when a protection error
   occurs as a result of the directory protection code.  Because of  this
   equal treatment, you should not do the following:

        1.  If a [1,2] job attempts to access a file  that  is  protected
            such  that  the File Daemon is called, that job may be denied
            access to the file.  This is a possible problem, for example,
            if  the  [1,2]  job  is  BACKUP  and  you have denied (either
            implicitly or  explicitly)  these  programs  access  to  your
            files.   When you do this, your file will not be backed up on
            magnetic tape.  Therefore, you must accept the responsibility
            of backing up your own files.

        2.  In general, full file access programs will not be allowed  to
            read  your files.  Therefore, under most circumstances, QUEUE
            would not be allowed to queue a file that was protected  such
            that the File Daemon was called.

        3.  If the file's owner protection code field is  such  that  the
            File  Daemon is called and the owner has neglected to include
            his own project-programmer  number  in  ACCESS.USR  for  this
            file,  the  File  Daemon  grants  the  owner the same type of
            access as if a 7 were in the owner's  protection  code  field
            (that  is,  the  owner  can  only read the file or change the
            file's protection code.)

        4.  ACCESS.USR  files  may  be  restored  at   arbitrary   times.
            Therefore, operators should not perform a full restore of the
            disk using BACKUP when the File Daemon is running.  If such a
            full  restore  is  done,  the  action may not allow BACKUP to
            restore files that ACCESS.USR allows them to BACKUP.

        5.  The CHKACC monitor call tells a program what  a  user's  file
            access privileges are.  Therefore, by using CHKACC, a program
            can tell if the File Daemon will be called, but it  will  not
            know the access privileges returned by the File Daemon.















                                    C-3
                                FILE DAEMON


   C.3  ACCESS.USR

   Every user can create his own ACCESS.USR file.  Note  that  ACCESS.USR
   files  can be created only by the owner of the specific directory or a
   [1,2] job.  ACCESS.USR is made up of one or more 'command lines'.  You
   must write each command line in the following format:

        file-spec/switches=[ppn]/switches,...,[ppn]/switches

   The  file-spec  is  a  full  file  specification  (that  is,   device:
   filename.extension  [path]).   The  File  Daemon  scans  each  line in
   ACCESS.USR until it matches a file specification on the  left  of  the
   equal  sign  and a project-programmer number on the right.  All access
   rights will then  be  determined  by  that  line  (there  will  be  no
   continued  scan).   The  user  should  minimally  specify  one  of the
   switches synonymous with protection codes  (such  as,  READ,  EXECUTE,
   ALL,...)  for  that file specification; refer to Table C-1.  If you do
   not specify a switch, a default of /NONE is  provided.   The  possible
   switches are listed in Table C-1.



































                                    C-4
                                FILE DAEMON


   Table C-1:  ACCESS.USR Switches



     Switch            Meaning

     /LOG              This  switch  causes  the File Daemon to log any
     /NOLOG            access attempt in the file named ACCESS.LOG.  If
                       you specify this switch, the File Daemon appends
                       a LOG entry to the end of ACCESS.LOG,  which  is
                       found  in the same directory as your ACCESS.USR.
                       The log entry includes the following:

                        o  the date of the access

                        o  the time of the access

                        o  the job number of the accessing job

                        o  the  project-programmer  number   and   name
                           associated with the accessing job

                        o  the name of the accessing program

                        o  the type of access attempted

                        o  the full file specification  of  the  access
                           file

                        o  the  access  permitted,  detailing   whether
                           access was permitted to the file


                       If you also specify the /EXIT or /CLOSE  switch,
                       the   File   Daemon   includes   the   following
                       information in the LOG entry (both  the  initial
                       entry and when the file is closed:

                        o  the accessing job's run time

                        o  kilo-core-seconds

                        o  disk reads

                        o  disk writes


                       If the File Daemon  cannot  find  ACCESS.LOG  in
                       your  area,  it  creates one, giving it the same
                       protection code as your ACCESS.USR.   Note  that
                       the File Daemon can always access ACCESS.USR and
                       ACCESS.LOG.


                                    C-5
                                FILE DAEMON


   Table C-1:  ACCESS.USR Switches (Cont.)


     Switch            Meaning

     /LOG:n            This switch allows the File Daemon to log access
                       attempts   based   on  the  switch  value.   The
                       following are the legal switch values:

                            ALL         Log  all   accesses   attempted
                                        (same as /LOG).

                            NONE        Do not log any  accesses  (same
                                        as /NOLOG).

                            SUCCESSES   Log only  those  accesses  that
                                        were permitted.

                            FAILURES    Log only  those  accesses  that
                                        were not permitted.

     /CLOSE            If  you  specify  the /LOG switch and the /CLOSE
     /NOCLOSE          switch, the File Daemon makes the log entry when
                       the file is closed.

     /EXIT             If  the  accessing  program is executing and you
     /NOEXIT           have specified the /LOG and /EXIT switches,  the
                       File Daemon makes the log entry when the program
                       has finished execution.

     /CREATE           This  switch allows a user who would  ordinarily
     /NOCREATE         not be allowed to create files in your directory
                       to  do  so.   This switch is used in conjunction
                       with one of the  ACCESS.USR  switches  that  are
                       synonymous   with   protection  codes  (such  as
                       /RENAME).  This switch can appear on either side
                       of the equal sign.  An example of a command line
                       with the /CREATE switch is as follows:

                            WONDER.TST=[10,3333]/CREATE/NONE

                       This command line allows any user  to  create  a
                       file  called  WONDER.TST  in your directory, but
                       none of these users may have any other access to
                       that file.

                       Another example is

                            WOND.TST=[10,10]/CREATE/READ,[*,*]/NONE

                       This  command  line  prevents  all  users   from
                       accessing  the  file  WOND.TST,  but allows user
                       [10,10] to create a file called WOND.TST.

                                    C-6
                                FILE DAEMON


   Table C-1:  ACCESS.USR Switches (Cont.)


     Switch            Meaning

     /PROT:nnn         This switch specifies the protection  code  with
                       which  a  file  will be created.  This switch is
                       allowed only on the left side of the equal sign.
                       The  value  nnn  must  be an octal number in the
                       range 0-777.   The  file  is  created  with  the
                       specified   protection  code  if  the  following
                       conditions occur:

                       1.  You specify the /PROTECTION switch.

                       2.  The File Daemon is  called  because  a  user
                           attempted  to  create  a file in a directory
                           protected against that user.

                       3.  The File Daemon allows the  user  to  create
                           the  file  (determined  by  the  contents of
                           ACCESS.USR).

     /PROG:file        This switch allows the specified program to have
                       the  desired  type  of access to the file.  This
                       switch can appear only on the right side of  the
                       equal sign in the command line.  For example:

                            ONE.TST/READ=[10,10],[10,65]/WRITE,[1,2]-

                                 #/PROGRAM:SYS:BACKUP

                       This command line specifies  that  [10,10]  jobs
                       can  read ONE.TST, and [10,65] jobs can read and
                       write ONE.TST,  a  job  logged  in  under  [1,2]
                       running  BACKUP  can read the file.  No one else
                       can access ONE.TST.

                       You may omit the device specification or you may
                       specify  DSK:  or ALL:  in the filespec argument
                       to the /PROGRAM switch.  However, this is not  a
                       recommended   procedure  because  there  may  be
                       potential security violations.  The File  Daemon
                       has no knowledge of your search list; therefore,
                       the File  Daemon  treats  DSK:   identically  to
                       ALL:.  It is recommended that the device name be
                       either a file structure name or an ersatz device
                       name (LIB:  is not allowed, however).






                                    C-7
                                FILE DAEMON


   Table C-1:  ACCESS.USR Switches (Cont.)

     Switch            Meaning


     /XONLY            This switch, when it appears in conjunction with
                       the  PROGRAM  switch,  considers  the  specified
                       program  to  match   the   program   doing   the
                       accessing,  only  if  the  accessing  program is
                       Execute-only.

     /ALL              This switch specifies that  ALL  access  to  the
                       file  is  allowed.   Specified accessors of this
                       file can change  the  protection  code  for  the
                       file, rename, write, execute, update, and append
                       to the file.  (This is equal to protection  code
                       0.)

     /RENAME           This switch  specifies  that  rename  access  is
                       allowed.   Specified  accessors of this file can
                       rename, execute, write, read, update, or  append
                       to  the file.  (This is equal to protection code
                       1.)

     /WRITE            This  switch  specifies  that  write  access  is
                       allowed.   Desired  accessors  of  this file can
                       write, read, execute, update, and append to  the
                       file.  (This is the same as protection code 2.)

     /UPDATE           This switch  specifies  that  update  access  is
                       allowed.   Specified  accessors  of the file can
                       update, append,  read,  and  execute  the  file.
                       (This is equal to protection code 3.)

     /APPEND           This switch  specifies  that  append  access  is
                       allowed.   Specified  accessors of this file can
                       append, read, or execute the file.  (This is the
                       same as protection code 4.)

     /READ             This  switch  specifies  that  read  access   is
                       allowed.   Specified  accessors of this file can
                       read or execute the file.  (This is the same  as
                       protection code 5.)

     /EXECUTE          This switch specifies  that  execute  access  is
                       allowed.   Specified  accessors of this file can
                       only execute the file.  (This  is  the  same  as
                       protection code 6.)

     /NONE             This switch specifies that no access is  allowed
                       to  the  file.   (This is the same as protection
                       code 7.)


                                    C-8
                                FILE DAEMON


   You  create  an  ACCESS.USR  file  to  specify  for  each  file  which
   project-programmer numbers can access the file and what type of access
   those accessors can have.  The switches indicate the  type  of  access
   allowed.

   Switches appearing on the left side  of  the  equal  sign  affect  all
   project-programmer  numbers  appearing  on the right side of the equal
   sign.  However, with the exception  of  the  /PROTECTION  switch,  the
   switch   on   the  left  side  can  be  overridden  for  one  or  more
   project-programmer numbers specified on the right side  of  the  equal
   sign.   You can override the switches by explicitly specifying another
   switch.   For  example,  if  the  following  line  appeared  in   your
   ACCESS.USR file:

        TST.TST/ALL=[10,*],[11,*],[27,*],[17,*]/NONE

   The File Daemon would allow all members of projects  10,  11,  and  27
   complete  access  to the file TST.TST.  However, the File Daemon would
   not  allow  members  of   project   17   to   access   TST.TST.    For
   project-programmer  numbers other than 10, 11, 27, 17, the File Daemon
   will search for a later TST.TST  that  contains  the  accessing  job's
   project-programmer  number.   If  no  match  is found, the File Daemon
   denies the accessing user's request.

   Full wildcard specifications are allowed both on the  left  and  right
   sides  of the equal sign.  Comments and continuation lines are allowed
   in  ACCESS.USR.   A  comment  must  begin  with  a  semicolon  or   an
   exclamation  point.   A  continuation line is indicated by inserting a
   hyphen (minus sign) immediately proceeding the  carriage  return  that
   terminates  a  line.   If  there  is  a  syntax  error  in  a  line in
   ACCESS.USR, the File Daemon ignores that line.  You should insure  the
   accuracy  of  your own ACCESS.USR files by proofing carefully.  If the
   following line were in your ACCESS.USR file:

        FOO.BAR+[*,*]

   The File Daemon would ignore the line because a + sign  appears  where
   an  =  sign  should  appear.  The File Daemon would deny access to all
   users desiring access to FOO.BAR, since the File Daemon denies  access
   to  all files whose names do not appear in ACCESS.USR.  Since the File
   Daemon ignores the line, it does not know that FOO.BAR  is  listed  in
   the file.

   The following is an example of an ACCESS.USR file that  uses  most  of
   the features of the File Daemon.

        Directory user = [13,675]

        Directory protection = <700>





                                    C-9
                                FILE DAEMON


        File           Protection

        ACCESS.USR     <777>
        ACCESS.LOG     <777>
        F1.TST         <077>          File Daemon will not be called.
        F2.TST         <457>          Project members may READ, otherwise
                                      call File Daemon.
        F3.TST         <477>          Only owner may access without  File
                                      Daemon.
        F4.TST         <777>          Call File Daemon on all accesses.

        ACCESS.USR

        ACCESS.*/NONE=[*,*]           ;No one can  touch  ACCESS.USR  and
                                      ACCESS.LOG   including   [1,2]  and
                                      JACCT users.  Note that these files
                                      cannot  be  backed  up  if the File
                                      Daemon is running.

        ALL:*.*/READ/LOG=[1,2]/PROGRAM:SYS:BACKUP/XONLY

                                      ;Allow  access  from  BACKUP  (from
                                      SYS,   execute  only,  and  running
                                      under [1,2] to read the file and to
                                      make LOG entry.

        F?.TST/LOG=[10,11]/NONE,[10,*]/EXECUTE/EXIT

                                      ;Log  all  access   attempts.    No
                                      access   allowed  to  [10,11],  but
                                      other project  members  [10,*]  can
                                      execute  the file.  Log entries are
                                      made  when  the  accessing  program
                                      exits.

        *.*/CREATE/PROTECTION:055=[12,21]/ALL,[12,17]

                                      ;[12,21]  has  privileges  for  all
                                      files  (except  ACCESS.*)  and  may
                                      create files that have a protection
                                      of  055.  [12,17] cannot access any
                                      file (/NONE is a default)  but  may
                                      create  files.  No log entries will
                                      be made.

        *.*/CREATE/PROTECTION:777/LOG=[123,456]/NONE

                                      ;[123,456] may create files at will
                                      but  may not access them (such as a
                                      student turning in homework).




                                    C-10
                                FILE DAEMON


        File           Protection

        *.*[13,675,A]/ALL/PROTECTION:057/CREATE=[1,2]/LOG

                                      ;[1/2] has all privileges  in  this
                                      SFD  and  may  create  files with a
                                      protection code of 057.

        [13,675].UFD/LOG/READ=[*,*]   ;Anyone may read this directory  as
                                      a file.

        F3.TST/LOG=[12,3]/EXECUTE
        *.*/LOG=[12,3]/NONE           ;[12,3] can only execute F3.TST.

        *.*=[*,*]/NONE                ;No other access is granted and  no
                                      LOG entry is made.

   Note that entries are scanned from left to right and  top  to  bottom.
   The  scan  stops on the first match of a file name on the left side of
   the equal sign and a project-programmer number on the  right  side  of
   the equal sign.

   When you create your ACCESS.USR file, you should take care to see that
   a  wild  card  specification  will  not match in a line earlier than a
   specific specification in a later line.   As  a  general  rule,  place
   specific  statements  first  in  the ACCESS.USR file, followed by more
   general "catch all" statements.  If you want to log entries, you  must
   use  the /LOG switch (and any of the other switches) on every line for
   which that switch applies.



   C.4  MONITOR INTERFACE TO A FILE DAEMON

   A File Daemon is a  privileged  program  that  can  be  used  for  the
   following purposes:

        1.  overseeing file accesses

        2.  aiding in proprietary billing

        3.  tracking program usage

   The interface  between  the  monitor  and  the  File  Daemon  that  is
   described in this section is supplied and supported by Digital.

   There is  a  privileged  program  called  the  File  Daemon.   Digital
   supplies  one unsupported version of a File Daemon, which is described
   in the preceding sections of this appendix.   But,  each  installation
   should  write its own File Daemon, because each installation will vary
   on its requirements for such a program.



                                    C-11
                                FILE DAEMON


   When a File Daemon is running, the monitor calls it every time someone
   tries to access a file or a directory that has a 4, 5, 6, or 7 code in
   the owner's protection code field  and  the  access  fails  due  to  a
   protection  error.   So that the monitor knows there is a File Daemon,
   the following must occur:

        1.  The feature test switch F%FDAE must be set to -1,  to  enable
            the condition.

        2.  The program that will be the File Daemon must  be  privileged
            (that  is, it must be running under [1,2] or running with the
            JACCT bit set).

        3.  This program must send an IPCF request to [SYSTEM] IPCC (code
            6, .IPCSC) requesting a special PID.

        4.  This  program  must  then  send  a  request  to  [SYSTEM]IPCC
            specifying  code  24  (.IPCWP).   This code requests that the
            File Daemon's PID be entered in the Special PID table.

   After  each  request  to  [SYSTEM]IPCC,  the  File   Daemon   receives
   verification  that  the  function  occurred.   After  the verification
   resulting from the File Daemon specifying code 24, the  monitor  sends
   an  IPCF packet to the File Daemon each time that a protection failure
   occurs on a file or a directory.

   The message portion of the IPCF packet that the monitor sends  to  the
   File Daemon when a protection failure occurs has the following format:

   +---------------------------------------------------------------------+
   |           Type of access         |             Code                 |
   |---------------------------------------------------------------------| 
   |                           File structure name                       |
   |---------------------------------------------------------------------|        
   |                               File name                             |
   |---------------------------------------------------------------------|  
   |                           File name extension                       |
   |---------------------------------------------------------------------| 
   |                  Project number  |        Programmer number         |
   |---------------------------------------------------------------------| 
   |                   Sub-file directory 1 or 0                         |
   |---------------------------------------------------------------------|
   |                   Sub-file directory 2 or 0                         |
   |---------------------------------------------------------------------| 
   |                   Sub-file directory 3 or 0                         |
   |---------------------------------------------------------------------| 
   |                   Sub-file directory 4 or 0                         |
   |---------------------------------------------------------------------| 
   |                   Sub-file directory 5 or 0                         |
   +---------------------------------------------------------------------+




                                    C-12
                                FILE DAEMON


   Where:  type of access is the type of access being  attempted  to  the
           file.  The Access Type Codes are listed in Table C-2.

           code is a File Daemon Code, all of which are listed  in  Table
           C-3.

   The remaining words in the IPCF  packet  message  are  the  full  file
   specification for the file being accessed.


   Table C-2:  Access Codes


        +------------------------------------------------+
        | Code  |  Symbol    |       Meaning             |
        +-------+------------+---------------------------+
        |   0   |  FNCNAA    |    No access is allowed.  |
        |------------------------------------------------|
        |   1   |  FNCEXE    |    Execute.               |
        |------------------------------------------------|
        |   2   |  FNCRED    |    Read.                  |
        |------------------------------------------------|
        |   3   |  FNCALL    |    Allocate.              |
        |------------------------------------------------|
        |   4   |  FNCDLL    |    Deallocate.            |
        |------------------------------------------------|
        |   5   |  FNCAPP    |    Append.                |
        |------------------------------------------------|
        |   6   |  FNCUPD    |    Update.                |
        |------------------------------------------------|
        |   7   |  FNCCRE    |    Create.                |
        |------------------------------------------------|
        |   10  |  FNCSUP    |    Supersede.             |
        |------------------------------------------------|
        |   11  |  FNCTRN    |    Truncate.              |
        |------------------------------------------------|
        |   12  |  FNCCAT    |    Change attributes.     |
        |------------------------------------------------|
        |   13  |  FNCDEL    |    Delete.                |
        |------------------------------------------------|
        |   14  |  FNCCNM    |    Change name.           |
        |------------------------------------------------|
        |   15  |  FNCCPR    |    Change protection.     |
        +------------------------------------------------+










                                    C-13
                                FILE DAEMON


   Table C-3:  File Daemon Codes



     Code     Mnemonic     Meaning

      1       .FLDCA       This code is set when the accessing  program
                           has  performed  a  LOOKUP, ENTER, RENAME, or
                           FILOP monitor call and a protection  failure
                           occurred.

      2       .FLDIC       This code is set as a result of  a  previous
                           call  to  the  File  Daemon, the File Daemon
                           requested that it be called when the program
                           issues  a  CLOSE.   This  code is set as the
                           result  of  the  program  issuing  an  input
                           CLOSE.  Refer to Table C-4, flag bit 1.

      3       .FLDOC       As a result of a previous call to  the  File
                           Daemon, the File Daemon requested that it be
                           called when  the  program  issues  a  CLOSE.
                           This  code  is  set  as  the  result  of the
                           program issuing an output CLOSE.   Refer  to
                           Table C-4, flag bit 1.

      4       .FLDXT       This code is set as a result of  a  previous
                           call  to  the  File  Daemon,  which occurred
                           because a job tried to issue a  R,  RUN,  or
                           GET  command  or  a  RUN  monitor call and a
                           protection error resulted.  The File  Daemon
                           requested  that the monitor call it when the
                           accessing program terminates execution.  The
                           termination  of  a  program's  execution  is
                           defined by the terminal user or by the batch
                           .CTL   file,   either   of  which  may  type
                           something that logically supersedes the core
                           image.   The  program may also terminate its
                           own execution by performing  a  RUN  monitor
                           call.  Refer to Table C-4, flag bit 2.

      5       .FLDPG       This code is set  because  a  job  tried  to
                           execute  a protected program by issuing a R,
                           RUN, or GET command or a RUN monitor call.

      6       .FLDDA       This  code  is  set  because   a   directory
                           protection failure occurred.

      7       .FLDPS       This code is set when a PUSH occurs  from  a
                           program that has /EXIT specified.

     10       .FLDPR       This code is set when  a  suspended  program
                           (with /EXIT) resumes with a POP.


                                    C-14
                                FILE DAEMON


   The File Daemon responds to the monitor by sending the monitor an IPCF
   packet.  The packet's message is in the following format:

        +---------------------------------------------------------+     
        |     reserved                | reserved  | job  number   |
        |---------------------------------------------------------|
        |   flags  |  0  |   create   |           access          |
        +---------------------------------------------------------+
           0-----3  4---8  9-------17  18-------27  28----------35

        Where:

        job number is the number of the job attempting to access a file.

        flags are bits 0 through 3 which are described in Table C-4.

        create is the protection code at which the file will  be  created
        if the specified job is creating a file.

        access is the highest access this job is allowed  to  this  file.
        Refer to Table C-3.

   The monitor grants or denies the job's access to the file based on the
   access  value  and  the type of access specified by the accessing job.
   If the access value in the packet from the File Daemon to the  monitor
   is  greater  than  or  equal  to  the type of access the accessing job
   desired, the monitor grants the job access to the file.



























                                    C-15
                                FILE DAEMON


   Table C-4:  File Daemon Flags


        +----------------------------------------------------------------+
        |   Code    |  Symbol  |            Meaning                      |
        +-----------+----------+-----------------------------------------+
        |    0      |  FL.DAA  | The monitor is to call the File Daemon  |
        |           |          | every time this file is accessed.       |
        |           |          | For example, if this bit is not set     |
        |           |          | and the program did a RENAME before a   |
        |           |          | LOOKUP, the File Daemon would get       |
        |           |          | called only on the LOOKUP.              |
        |----------------------------------------------------------------|
        |    1      |  FL.DCL  | The File Daemon is called when the file |
        |           |          | is CLOSED.                              |
        |----------------------------------------------------------------|
        |    2      |  FL.DXT  | The File Daemon is called when this     |
        |           |          | program terminates execution.           |
        |----------------------------------------------------------------|
        |    3      |  FL.DSP  | If the program is attempting to create  |
        |           |          | a file and this bit is set, the monitor |
        |           |          | assumes that the protection code for    |
        |           |          | the file is in bits 9 through 17 of     | 
        |           |          | this word.                              |
        |----------------------------------------------------------------|
        | 777B17    |  FL.DPT  | Protection code supplied by File Daemon.|
        |----------------------------------------------------------------|
        | 777777B35 |  FL.DHA  | Highest access allowed.                 |
        +----------------------------------------------------------------+

























                                    C-16
                                        


                                   INDEX



   Access types, 22-354                  closing, 22-29
   Access-allowed bit, 22-353            extended, 22-168
   Accessing files, 22-25                initializing, 22-327
   ACCLG. UUO, 22-3                      releasing, 22-430
   Account strings, 22-5                 resetting, 22-437
   ACCT. UUO, 22-5                     Character mode, 22-497
   Accumulators, 22-2                    input, 22-207
   Active swapping list, 22-99         Characteristics of disk devices,
   Address break condition, 22-487         22-109
   ANF-10                              Checking
     intertask communication, 22-572     file access, 22-24
     nodes, 22-312                       PPNs, 22-336, 22-342
   Appending to files, 22-172          Checkpointing files, 22-172
   APRENB UUO, 22-8                    CHGPPN UUO, 22-23
   Assigning                           CHKACC UUO, 22-24
     logical names, 22-67              Clearing
     reel identifiers, 22-285            DECtape directories, 22-176
   ATTACH UUO, 22-11                     DTEs, 22-116
   Auto-CRLF, 22-563                     DVCMDA, 22-72
                                         I/O status bits, 22-34
   Backspacing magtape                   logical names, 22-67
     files, 22-290                       terminal input buffer, 22-32
     records, 22-292                     terminal output buffer, 22-33
   BATMAX, 22-3                        CLOSE bits, 22-30
     setting, 22-485                   CLOSE UUO, 22-29
   BATMIN, 22-485                      Closing files, 22-172
   Blank tape, 22-289                  CLRBFI UUO, 22-32
   Block pointer positioning, 22-530   CLRBFO UUO, 22-33
   Break characters, 22-556            CLRST. UUO, 22-34
   Breakpointing the monitor, 22-500   CMAND. UUO, 22-36
   Buffer rings                        CNECT. UUO, 22-41
     control block, 22-308             Command list creation, 22-36
     for input, 22-205                 Commands
     for output, 22-339, 22-346          defining, 22-36
     recycling, 22-169                   forcing, 22-181
   Buffers, 22-78                      Communicating with system
                                           programs, 22-403
   Cache bit, 22-356, 22-494           Completing magtape I/O, 22-307
   CAL11. UUO, 22-18                   Concealed high segment, 22-188
   CALLI UUO, 22-14                    Condition codes, 22-393
   Cancelling enqueued requests,       CONFIG. program, 22-422
       22-60                           Connecting MPX devices, 22-41
   Capability bits, 22-492, 23-150     Contracting core, 22-43
   Changing                            Controller numbers, 22-87
     accounting strings, 22-5          Controller types
     file attributes, 22-433             for disk, 22-114
     high segments, 22-187               for magtape, 22-537
     memory space, 22-43               Controlling job number, 22-46


                                  Index-1
                                        


     PPNs, 22-23                       Controlling PSI interrupts,
     search lists, 22-513                  22-392
   Channels                            CORE UUO, 22-43



















































                                  Index-2
                                        


   CORMAX, 22-482, 22-494              Dequeuing enqueued requests,
   CORMIN, 22-482, 22-494                  22-60
   CPU diagnostics, 22-85              Destroying pages, 22-352
   Creating                            Detaching terminals, 22-12
     command lists, 22-36              DEVCHR UUO, 22-64
     .EXE files, 22-446                Device
     files, 22-143, 22-171               characteristics, 22-82
     pages, 22-352                         reading, 22-64
   Cross-job interrupts, 22-387          diagnostics, 22-85
   CTLJOB UUO, 22-46                     initialization, 22-327
   CTX. UUO, 22-47                       node numbers, 22-595
                                         types, 22-83
                                       Device interrupt codes, 22-396
   DAEFIN UUO, 22-52                   Device names
   DAEMON program, 22-149                reading, 22-69
     invoking, 22-53                   Device names
     requesting, 22-52                   physical, 22-123
   DAEMON UUO, 22-53                   Device status, 22-80
   DAP messages, 22-578                  on MPX devices, 22-147
   Data base, 22-142                   Devices
   Data mode specification, 22-331       realtime, 22-440
   Data output, 22-337, 22-344           reassigning, 22-420
   Dataset lines, 22-554                 removing restrictions, 22-126
   DATE UUO, 22-58                       restricting, 22-125
   DDBs, 22-80                         DEVLNM UUO, 22-67
   DDT                                 DEVNAM UUO, 22-69
     addresses, 22-478                 DEVOP. UUO, 22-71
     breakpoints, 22-494               DEVPPN UUO, 22-77
   Deassigning devices, 22-420         DEVSIZ UUO, 22-78
   DEBRK. UUO, 22-59                   DEVSTS UUO, 22-80
   Debugging                           DEVTYP UUO, 22-82
     flags, 23-25                      DIAG. UUO, 22-85
     front ends, 22-18                 Diagnostics, 22-85
   DECnet, 22-103                      Directory path, 22-363
     link status, 22-106               Disconnecting MPX devices, 22-41
   DECnet-10                           Disk
     intertask communication, 22-320     cache, 22-494
     network management, 22-323          characteristics, 22-109
   DECtape                               compatibility, 22-96
     blocks, 22-581                      controller types, 22-114
     LOOKUPs, 22-279                     I/O priority, 22-96
     on extended channels, 22-176        mount count, 22-110
   DECtape directories                   names, 22-532
     clearing, 22-590                    unit types, 22-114
   Deferred spooling, 22-490           DISK. UUO, 22-95
   Defining                            Dismissing
     commands, 22-36                     interrupts, 22-59
     symbols, 22-2                       realtime interrupts, 22-582
   Deleting                            DNET. UUO, 22-103
     commands, 22-37                   Dormant programs, 22-499
     files, 22-174                     DSKCHR UUO, 22-109
   Density codes for magtape, 22-536   DTE


                                  Index-3
                                        


   DEQ.                                  protocol type, 22-120
     error codes, 22-136                 status, 22-117
     UUO, 22-60                        DTE. UUO, 22-116



















































                                  Index-4
                                        


   DVCMDA, 22-72                         checking, 22-24
   DVPHY. UUO, 22-123                    simultaneous, 22-178
   DVRST. UUO, 22-125                  File specifications, 22-176
   DVURS. UUO, 22-126                  File structures, 22-513
                                       Files
   EDDT breakpoints, 22-494              creating, 22-143, 22-171
   Enabling                              merging, 22-281
     dataset lines, 22-554             FILOP.
     traps, 22-8                         error codes (see Chapter 11),
   Ending I/O, 22-29                         22-179
   ENQ.                                  UUO, 22-165
     data base, 22-142                 Forcing commands, 22-181
     error codes, 22-136               FRCUUO, 22-181
     quotas, 22-141                    Free CRLF, 22-560
     UUO, 22-127                       Free space in UFDs, 22-101
   ENQC.                               Front end
     error codes, 22-136                 testing, 22-18
     UUO, 22-139                         types, 22-21
   ENTER
     error codes (see Chapter 11)      GALAXY requests, 22-403
     UUO, 22-143                       GETLCH UUO, 22-183
   EOF mark, 22-298                    GETLIN UUO, 22-185
   EOT mark, 22-299                    GETPPN UUO, 22-186
   ERLST. UUO, 22-147                  GETSEG
   Error file                            error codes (see Chapter 11)
     entries, 22-54                      UUO, 22-187
     logging, 22-149                   GETSTS UUO, 22-190
   ERRPT. UUO, 22-149                  GETTAB UUO, 22-192
   Ersatz devices, 22-77               GOBSTR UUO, 22-193
   Eternal locks, 22-130               GTNTN. UUO, 22-196
   Ethernet protocols, 22-151          GTXTN. UUO, 22-198
   Examining                           Guideline, 22-487
     front ends, 22-20                 GVPL, 22-486
     monitor, 22-509
   Exchanging pages, 22-352            Header block for ENQ., 22-127
   Execute-only                        HIBER UUO, 22-199
     bit, 23-10                        Hibernating jobs, 22-594
     segment, 22-188                   High priority scheduler queue,
   Execution                               22-202
     suspending, 22-199                High segment origin, 22-431
     terminating, 22-163               High segments
   EXIT UUO, 22-163                      changing, 22-187
   Expanding core, 22-43                 write protection, 22-496
   Extended channels, 22-168           Host system, 22-490
     for DECtape, 22-176               HPQ UUO, 22-202
     for magtape, 22-176
                                       I/O
   FCFS blocks, 22-110                   MPX status, 22-147
   Feature test flags, 23-25             terminating, 22-29
   FILDAE, 22-24                       I/O status bits, 22-190, 22-327,
   File                                    22-476, 22-481
     input, 22-279                       clearing, 22-34


                                  Index-5
                                        


     operations, 22-165                Implied PPNs, 22-367
     protection, C-1                   IN UUO, 22-203
   File access                         In-behalf-of PPN, 22-170



















































                                  Index-6
                                        


   In-your-behalf function, 22-24      Limit, 22-487
   INBUF UUO, 22-205                   Line characteristics, 22-183
   INCHRS UUO, 22-207                  Line mode input, 22-209
   INCHRW UUO, 22-208                  Line printer characteristics,
   INCHSL UUO, 22-209                      22-73
   INCHWL UUO, 22-210                  Link status
   Incrementing LOGNUM, 22-3             ANF-10, 22-574
   Initializing                          reading, 22-106
     devices, 22-327                   Listing
     magtape channels, 22-297,           ANF-10 nodes, 22-316
         22-300                          commands, 22-38
     programs, 22-438                    DECnet nodes, 22-104
     PSI system, 22-383                  devices, 22-123
   Input buffer rings, 22-205          Loading
   INPUT UUO, 22-212                     RAM, 22-72
   Interrupt codes, 22-396               VFU, 22-72
   Interrupt control block, 22-381     LOCATE UUO, 22-269
   Interrupting jobs, 22-387           Lock
   Intertask communication               block, 22-129
     ANF-10, 22-572                      status, 22-139
     DECnet-10, 22-320                 LOCK UUO, 22-271
   Invoking DAEMON, 22-53              Lock-associated data block,
   IONDX. UUO, 22-214                      22-134
   IONEOU UUO, 22-215                  Locking jobs, 22-271
   IPCFQ.                              Logging errors, 22-149
     error codes, 22-220, 22-223       Logical name assignment, 22-67
     UUO, 22-219                       Logical node number, 22-269
   IPCFR.                              LOGIN UUO, 22-277
     error codes, 22-223               LOGMAX, 22-3
     UUO, 22-221                         setting, 22-485
   IPCFS.                              LOGNUM, 22-3
     error codes, 22-223               LOGOUT UUO, 22-278
     UUO, 22-227                       Long-term locks, 22-130
                                       LOOKUP
   JBSET. UUO, 22-229                    error codes (see Chapter 11)
   Job                                   UUO, 22-279
     capability word, 23-150
     number, 22-400                    Magtape
     privilege word, 23-16               controllers, 22-537
     resetting, 22-163                   densities, 22-536
   Job contexts, 22-47                   drive status, 22-293
   Job search list, 22-233               functions, 22-287
     reading, 22-193                     labels, 22-540
   Job status word, 23-10                operations, 22-534
   JOBPEK UUO, 22-230                    reel identifiers, 22-285
   JOBSTR UUO, 22-233                  Magtapes on extended channels,
   JOBSTS UUO, 22-235                      22-176
                                       Mapping
   KDP. UUO, 22-237                      pages, 22-358
   Kilo-core ticks, 23-15                segments, 22-431
   KL error                            Master DTE number, 22-117
     chunks, 22-119                    MDA


                                  Index-7
                                        


     timer, 22-119                       setting control, 22-72
   KMC-11, 22-237                        wait, 22-101
   KSYS, 22-484                        Measuring performance, 22-376



















































                                  Index-8
                                        


   Memory space, 22-43                 Output buffer rings, 22-339,
   MERGE.                                  22-346
     error codes (see Chapter 11)      OUTPUT UUO, 22-341, 22-348
     UUO, 22-281                       OUTSTR UUO, 22-342, 22-349
   MIC status bits, 22-555             Owner PPN, 22-111
   Monitor
     breakpoints, 22-500               Packet header block, 22-222
     checksum, 22-501                  PAGE. UUO, 22-350
   MONRT. UUO, 22-164, 22-283          Partitioned resources, 22-134
   Mount count                         PATH.
     for disk, 22-110                    block, 22-372
   Moving pages, 22-352                  UUO, 22-363
   MPX devices                         Pathological names, 22-363
     connecting, 22-41                 PC flags, 22-382
     status, 22-147                    PDB, 23-160
   MSTIME UUO, 22-284                  PDP-11 compatibility
   MTAID. UUO, 22-285                    for disks, 22-96
   MTAPE UUO, 22-287                   PEEK UUO, 22-375
   MTBLK. UUO, 22-289                  PERF. UUO, 22-376
   MTBSF. UUO, 22-290                  Performing measurements, 22-376
   MTBSR. UUO, 22-292                  Physical
   MTCHR. UUO, 22-293                    device names, 22-123
   MTDEC. UUO, 22-297                    unit names, 22-532
   MTEOF. UUO, 22-298                  PIBLK. UUO, 22-381
   MTEOT. UUO, 22-299                  PIFLG. UUO, 22-382
   MTIND. UUO, 22-300                  PIINI. UUO, 22-383
   MTLTH. UUO, 22-301                  PIJBI. UUO, 22-387
   MTREW. UUO, 22-302                  PIRST. UUO, 22-389
   MTSKF. UUO, 22-303                  PISAV. UUO, 22-390
   MTSKR. UUO, 22-304                  PISYS. UUO, 22-392
   MTUNL. UUO, 22-305                  PITMR. UUO, 22-398
   MTWAT. UUO, 22-307                  PJOB UUO, 22-400
   Multi-plexed devices, 22-41,        POKE. UUO, 22-401
       22-147                          Policy CPU, 22-494
   Multiple high segments, 22-273      Pooled ENQ. resources, 22-133
   MVHDR. UUO, 22-308                  Positioning block pointers,
                                           22-530
   NDB, 23-158                         PPNs
   Network information, 22-103           changing, 22-23
   /NEW searching, 22-77                 checking, 22-336, 22-342
   NODE. UUO, 22-312                     for disk devices, 22-77
   Non-blocking ENQ. requests,           implied, 22-367
       22-135                            owner, 22-111
   Non-I/O interrupt codes, 22-393       reading, 22-186
   NSP. UUO, 22-320                    Preallocating space, 22-174
   NTMAN. UUO, 22-323                  Primary protocol for DTEs, 22-116
   NUL device, 22-66                   Privilege bits, 23-16
                                       Privileges
                                         setting, 22-492
   OPEN UUO, 22-327                    Program execution, 22-593
   Opening files, 22-171               Programs
   OTHUSR UUO, 22-336, 22-342            name, 22-480


                                  Index-9
                                        


   OUT UUO, 22-337, 22-344               stopping, 22-163
   OUTBUF UUO, 22-339, 22-346          Protecting
   OUTCHR UUO, 22-340, 22-347            files, C-1



















































                                  Index-10
                                        


     high segments, 22-496             Renaming files, 22-173
   Pseudo-terminals, 22-46             Requesting
   PSI interrupts controlling,           ENQ. resources, 22-135
       22-392                            resources, 22-127
   PSI state                           RESCAN UUO, 22-436
     restoring, 22-389                 RESDV. UUO, 22-437
     saving, 22-390                    RESET UUO, 22-438
   PTYs, 22-46                         Resetting jobs, 22-163
                                       Resources
   Quantum requeue response, 23-81       releasing, 22-60
   Querying IPCF input queue, 22-219     requesting, 22-127
   QUEUE. UUO, 22-403                  Responses, 23-80
                                       Restoring PSI state, 22-389
   RAM loading, 22-72                  Restricting devices, 22-125
   Reading                             Rewinding magtape, 22-302
     device names, 22-69               Rewriting RIBs, 22-175
   Reading                             ROM word, 22-117
     account strings, 22-5             RTTRP UUO, 22-440
     data, 22-203                      RUN
     date, 22-58                         error codes (see Chapter 11)
     device characteristics, 22-64       UUO, 22-442
     ENQ. quotas, 22-141               RUNTIM UUO, 22-445
     file specifications, 22-176
     files, 22-174, 22-279             SAVE. UUO, 22-446
     GETTAB tables, 22-192             Saving PSI state, 22-390
     I/O status, 22-476                SCHED. UUO, 22-448
     I/O status bits, 22-190           Scheduler queue, 22-202
     IPCF packets, 22-221              Search lists, 22-366
     job search lists, 22-193,           changing, 22-513
         22-233                        Secondary bootstrap, 22-121
     lock status, 22-139               22-sector mode, 22-96
     monitor locations, 22-375         Segments, 22-583
     physical unit numbers, 22-87      Sending
     PPNs, 22-77, 22-186                 characters, 22-340, 22-347
     runtimes, 22-445                    data, 22-341, 22-348
     terminal input, 22-207              IPCF packets, 22-227
     terminal line characteristics,      strings, 22-342, 22-349
         22-183                        SENSE. UUO, 22-476
     terminal names, 22-185            SET WATCH bits, 22-483
     time, 22-284                      SETDDT UUO, 22-478
   Realtime                            SETLCH UUO, 22-479
     interrupt facility, 22-440        SETNAM UUO, 22-480
     interrupts, 22-582                SETSTS UUO, 22-481
     traps, 22-571                     Setting
   REASSI UUO, 22-420                    controllers off-line, 22-97
   RECON. UUO, 22-422                    controllers on-line, 22-98
   Recycling buffer rings, 22-169        disk I/O priority, 22-96
   Reel identifiers, 22-285              DVCMDA, 22-72
   RELEAS UUO, 22-430                    ENQ. quotas, 22-141
   Relinquishing requests, 22-60         I/O status bits, 22-34
   Reload ROM word, 22-117               .JBDDT, 22-478
   REMAP UUO, 22-431                     job parameters, 22-229


                                  Index-11
                                        


   RENAME                                terminal speed rate, 22-562
     error codes (see Chapter 11)      SETUUO UUO, 22-482
     UUO, 22-433                       SETUWP UUO, 22-496



















































                                  Index-12
                                        


   Sharable resources, 22-129          Terminal
   Sharer group, 22-134                  operations, 22-552
   Simultaneous file access, 22-178      speeds, 22-562
   Skipping                              status, 22-235
     magtape files, 22-303               UDX, 22-550
     magtape records, 22-304           Terminal break character sets,
     on input, 22-497, 22-498              22-556
   SKPINC UUO, 22-497                  Terminal input
   SKPINL UUO, 22-498                    buffer, 22-32
   SLEEP UUO, 22-499                     rescanning, 22-436
   Sleeping, 22-53                     Terminal line
   SNOOP. UUO, 22-500                    characteristics, 22-183, 22-479
   Soft CORMAX, 22-494                   numbers, 22-196
   Software disk cache, 22-494         Terminal names, 22-198
   Specifying                            reading, 22-185
     data mode, 22-331                 Terminal output buffer, 22-33
     ENQ. resources, 22-132            Terminals, 22-11
   Spooled files, 22-506               Terminating
   Spooling                              data transmission, 22-29
     deferred, 22-490                    execution, 22-163
   Spooling bits, 22-483               Testing
   SPPRM. UUO, 22-506                    clear bits, 22-512
   SPY UUO, 22-509                       front ends, 22-18
   STATO UUO, 22-511                     set bits, 22-511
   Status                              Timed interrupts, 22-398
     DECnet links, 22-106              TIMER UUO, 22-546
     I/O, 22-327, 22-476, 22-481       TMPCOR UUO, 22-547
     MIC, 22-555                       Trap
     of DTEs, 22-117                     conditions, 22-8
   STATZ UUO, 22-512                     instructions, 22-591
   Stopping programs, 22-163           Traps
   Structure parameter block, 22-516     enabling, 22-8
   STRUUO UUO, 22-513                    virtual time, 22-487
   Subjobs, 22-46                      TRMNO. UUO, 22-550
   Super-mode                          TRMOP. UUO, 22-552
     input, 22-585                     TRPSET UUO, 22-571
     output, 22-588                    TSK. UUO, 22-572
   Super-USETI/USETO, 22-530           TTCALL UUO, 22-580
   Superseding files, 22-143           Types of devices, 22-83
   SUSET. UUO, 22-530
   Suspending execution, 22-199        UFD
   Swapping pages, 22-351                compression, 22-99
   Symbolic definition, 22-2             quota, 22-109
   SYSPHY UUO, 22-532                  UGETF, 22-581
   SYSSTR UUO, 22-533                  UJEN UUO, 22-582
   System                              Unit numbers, 22-87
     date, 22-484                      Unit parameter block, 22-518
     dump list, 22-100                 Unit types, 22-114
     file structures, 22-533           Universal Device Index, 22-214
     scheduling, 22-448                Unloading
                                         disk, 22-97
   Tape labels, 22-540                   magtapes, 22-305


                                  Index-13
                                        


   TAPOP. UUO, 22-534                  UNLOK. UUO, 22-583
   Tasks, 22-572                       Unrestricting devices, 22-126
   Temporary files, 22-547             Updating files, 22-143, 22-171



















































                                  Index-14
                                        


   USETI UUO, 22-585                     GETTAB, 22-192
   USETO UUO, 22-588                     GOBSTR, 22-193
   UTPCLR UUO, 22-590                    GTNTN., 22-196
   UTRP. UUO, 22-591                     GTXTN., 22-198
   UUOs                                  HIBER, 22-199
     DEVNAM, 22-69                       HPQ, 22-202
   UUOs                                  IN, 22-203
     ACCLG., 22-3                        INBUF, 22-205
     ACCT., 22-5                         INCHRS, 22-207
     APRENB, 22-8                        INCHRW, 22-208
     ATTACH, 22-11                       INCHSL, 22-209
     CAL11., 22-18                       INCHWL, 22-210
     CHGPPN, 22-23                       INPUT, 22-212
     CHKACC, 22-24                       IONDX., 22-214
     CLOSE, 22-29                        IONEOU, 22-215
     CLRBFI, 22-32                       IPCFQ., 22-219
     CLRBFO, 22-33                       IPCFR., 22-221
     CLRST., 22-34                       IPCFS., 22-227
     CMAND., 22-36                       JBSET., 22-229
     CNECT., 22-41                       JOBPEK, 22-230
     CORE, 22-43                         JOBSTR, 22-233
     CTLJOB, 22-46                       JOBSTS, 22-235
     DAEFIN, 22-52                       KDP., 22-237
     DAEMON, 22-53                       LOCATE, 22-269
     DATE, 22-58                         LOCK, 22-271
     DEBRK., 22-59                       LOGIN, 22-277
     DEQ., 22-60                         LOGOUT, 22-278
     DEVCHR, 22-64                       LOOKUP, 22-279
     DEVLNM, 22-67                       MERGE., 22-281
     DEVOP., 22-71                       MONRT., 22-283
     DEVPPN, 22-77                       MSTIME, 22-284
     DEVSIZ, 22-78                       MTAID., 22-285
     DEVSTS, 22-80                       MTAPE, 22-287
     DEVTYP, 22-82                       MTBLK., 22-289
     DIAG., 22-85                        MTBSF., 22-290
     DISK., 22-95                        MTBSR., 22-292
     DNET., 22-103                       MTCHR., 22-293
     DSKCHR, 22-109                      MTDEC., 22-297
     DTE., 22-116                        MTEOF., 22-298
     DVPHY., 22-123                      MTEOT., 22-299
     DVRST., 22-125                      MTIND., 22-300
     DVURS., 22-126                      MTLTH., 22-301
     ENQ., 22-127                        MTREW., 22-302
     ENQC., 22-139                       MTSKF., 22-303
     ENTER, 22-143                       MTSKR., 22-304
     ERLST., 22-147                      MTUNL., 22-305
     ERRPT., 22-149                      MTWAT., 22-307
     EXIT, 22-163                        MVHDR., 22-308
     FILOP., 22-165                      NODE., 22-312
     FRCUUO, 22-181                      NSP., 22-320
     GETLCH, 22-183                      NTMAN., 22-323
     GETLIN, 22-185                      OPEN, 22-327


                                  Index-15
                                        


     GETPPN, 22-186                      OTHUSR, 22-336, 22-342
     GETSEG, 22-187                      OUT, 22-337, 22-344
     GETSTS, 22-190                      OUTBUF, 22-339, 22-346



















































                                  Index-16
                                        


     OUTCHR, 22-340, 22-347              SNOOP., 22-500
     OUTPUT, 22-341, 22-348              SPPRM., 22-506
     OUTSTR, 22-342, 22-349              SPY, 22-509
     PAGE., 22-350                       STATO, 22-511
     PATH., 22-363                       STATZ, 22-512
     PEEK, 22-375                        STRUUO, 22-513
     PERF., 22-376                       SUSET., 22-530
     PIBLK., 22-381                      SYSPHY, 22-532
     PIINI., 22-383                      SYSSTR, 22-533
     PIJBI., 22-387                      TAPOP., 22-534
     PIRST., 22-389                      TIMER, 22-546
     PISAV., 22-390                      TMPCOR, 22-547
     PISYS., 22-392                      TRMNO., 22-550
     PITMR., 22-398                      TRMOP., 22-552
     PJOB, 22-400                        TRPSET, 22-571
     POKE., 22-401                       TSK., 22-572
     QUEUE., 22-403                      TTCALL, 22-580
     REASSI, 22-420                      UGETF, 22-581
     RECON., 22-422                      UJEN, 22-582
     RELEAS, 22-430                      UNLOK., 22-583
     REMAP, 22-431                       USETI, 22-585
     RENAME, 22-433                      USETO, 22-588
     RESCAN, 22-436                      UTPCLR, 22-590
     RESDV., 22-437                      UTRP., 22-591
     RESET, 22-438                       WAIT, 22-593
     RTTRP, 22-440                       WAKE, 22-594
     RUN, 22-442                         WHERE, 22-595
     RUNTIM, 22-445
     SAVE., 22-446                     Variable bits for DECnet links,
     SCHED., 22-448                        22-106
     SENSE., 22-476                    VFU loading, 22-72
     SETDDT, 22-478                    Virtual time trap, 22-487
     SETLCH, 22-479
     SETNAM, 22-480
     SETSTS, 22-481                    WAIT UUO, 22-593
     SETUUO, 22-482                    WAKE UUO, 22-594
     SETUWP, 22-496                    WHERE UUO, 22-595
     SKPINC, 22-497                    Working set, 22-353
     SKPINL, 22-498                    Writing files, 22-171, 22-175
     SLEEP, 22-499                     Written blocks, 22-101














                                  Index-17