Trailing-Edge
-
PDP-10 Archives
-
tops10v704_docc
-
10,7/docupd/mcv2.mem
There is 1 other file named mcv2.mem in the archive. Click here to see a list.
TOPS-10
Monitor Calls Manual
Volume 2
|
|
| Electronically Distributed
|
|
|
| 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.
|
| This manual supersedes the TOPS-10 Monitor Calls
| Manual, Volume 2 published in October, 1988. The
| order number for that manual, AA-K039D-TB, is
| obsolete.
Operating System: TOPS-10 Version 7.04
Software: GALAXY Version 5.1
digital equipment corporation marlborough, massachusetts
| TOPS-10 Software Tape No. 03, September 1990
First Printing, August 1980
Updated, December 1981
Revised, February 1984
Revised, April 1986
Revised, October 1988
| Revised, September 1990
The information in this document is subject to change without notice
and should not be construed as a commitment by Digital Equipment
Corporation. Digital Equipment Corporation assumes no responsibility
for any errors that may appear in this document.
The software described in this document is furnished under a license
and may only be used or copied in accordance with the terms of such
license.
No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by Digital Equipment Corporation or its
affiliated companies.
| Copyright C 1980, 1981, 1984, 1986, 1988, 1990 Digital Equipment
| Corporation.
All Rights Reserved.
The following are trademarks of Digital Equipment Corporation:
CI DECtape LA50 SITGO-10
DDCMP DECUS LN01 TOPS-10
DEC DECwriter LN03 TOPS-20
DECmail DELNI MASSBUS TOPS-20AN
DECnet DELUA PDP UNIBUS
DECnet-VAX HSC PDP-11/24 UETP
DECserver HSC-50 PrintServer VAX
DECserver 100 KA10 PrintServer 40 VAX/VMS
DECserver 200 KI Q-bus VT50
DECsystem-10 KL10 ReGIS
DECSYSTEM-20 KS10 RSX d i g i t a l
CONTENTS
PREFACE
CHAPTER 22 MONITOR CALL DESCRIPTIONS
22.1 ACCLG. [CALLI 204] . . . . . . . . . . . . . . . 22-3
22.2 ACCT. [CALLI 167] . . . . . . . . . . . . . . . 22-4
22.2.1 Function 0 (.ACTCH) . . . . . . . . . . . . . 22-4
22.2.2 Function 1 (.ACTRD) . . . . . . . . . . . . . 22-5
22.3 APRENB [CALLI 16] . . . . . . . . . . . . . . . 22-7
22.4 ATTACH [CALLI 104] . . . . . . . . . . . . . . . 22-10
22.5 CALLI [OPCODE 047] . . . . . . . . . . . . . . . 22-13
22.6 CAL11. [CALLI 125] . . . . . . . . . . . . . . . 22-17
22.6.1 FUNCTION 0 (.C11DP) . . . . . . . . . . . . . 22-19
22.6.2 FUNCTION 1 (.C11EX) . . . . . . . . . . . . . 22-19
22.6.3 FUNCTION 2 (.C11QU) . . . . . . . . . . . . . 22-19
22.6.4 FUNCTION 3 (.C11NM) . . . . . . . . . . . . . 22-20
22.6.5 FUNCTION 4 (.C11UP) . . . . . . . . . . . . . 22-20
22.6.6 FUNCTION 5 (.C11SM) . . . . . . . . . . . . . 22-20
22.6.7 FUNCTION 6 (.C11RM) . . . . . . . . . . . . . 22-20
22.6.8 FUNCTION 7 (.C11TY) . . . . . . . . . . . . . 22-20
22.7 CHGPPN [CALLI 74] . . . . . . . . . . . . . . . 22-22
22.8 CHKACC [CALLI 100] . . . . . . . . . . . . . . . 22-23
22.9 CHTRN. [CALLI 223] . . . . . . . . . . . . . . . 22-26
22.10 CLOSE [OPCODE 070] . . . . . . . . . . . . . . . 22-28
22.11 CLRBFI [TTCALL 11,] . . . . . . . . . . . . . . 22-31
22.12 CLRBFO [TTCALL 12,] . . . . . . . . . . . . . . 22-32
22.13 CLRST. [CALLI 134] . . . . . . . . . . . . . . . 22-33
22.14 CMAND. [CALLI 211] . . . . . . . . . . . . . . . 22-35
22.14.1 FUNCTION 0 (.CMINT) . . . . . . . . . . . . . 22-35
22.14.2 FUNCTION 1 (.CMADD) . . . . . . . . . . . . . 22-36
22.14.3 FUNCTION 2 (.CMDEL) . . . . . . . . . . . . . 22-36
22.14.4 FUNCTION 3 (.CMLST) . . . . . . . . . . . . . 22-37
22.14.5 FUNCTION 4 (.CMRET) . . . . . . . . . . . . . 22-37
22.14.6 FUNCTION 5 (.CMDMP) . . . . . . . . . . . . . 22-38
22.15 CNECT. [CALLI 130] . . . . . . . . . . . . . . . 22-40
22.16 CORE [CALLI 11] . . . . . . . . . . . . . . . . 22-42
22.17 CTLJOB [CALLI 65] . . . . . . . . . . . . . . . 22-45
22.18 CTX. [CALLI 215] . . . . . . . . . . . . . . . . 22-46
22.18.1 FUNCTION 0 (.CTSVH) . . . . . . . . . . . . . 22-47
22.18.2 FUNCTION 1 (.CRSVR) . . . . . . . . . . . . . 22-48
22.18.3 FUNCTION 2 (.CVSVT) . . . . . . . . . . . . . 22-48
22.18.4 FUNCTION 3 (.CTSVS) . . . . . . . . . . . . . 22-48
22.18.5 FUNCTION 4 (.CTSVD) . . . . . . . . . . . . . 22-48
22.18.6 FUNCTION 5 (.CTRDB) . . . . . . . . . . . . . 22-48
22.18.7 FUNCTION 6 (.CTWDB) . . . . . . . . . . . . . 22-48
22.18.8 FUNCTION 7 (.CTRQT) . . . . . . . . . . . . . 22-49
22.18.9 FUNCTION 10 (.CTSQT) . . . . . . . . . . . . . 22-49
iii
22.18.10 FUNCTION 11 (.CTDIR) . . . . . . . . . . . . . 22-49
22.18.11 FUNCTION 12 (.CTINF) . . . . . . . . . . . . . 22-49
22.19 DAEFIN [CALLI 105] . . . . . . . . . . . . . . . 22-51
22.20 DAEMON [CALLI 102] . . . . . . . . . . . . . . . 22-52
22.20.1 FUNCTION 1 (Obsolete) . . . . . . . . . . . . 22-52
22.20.2 FUNCTION 2 (.CLOCK) . . . . . . . . . . . . . 22-52
22.20.3 FUNCTION 3 (Obsolete) . . . . . . . . . . . . 22-53
22.20.4 FUNCTION 4 (.DMQUE) . . . . . . . . . . . . . 22-53
22.20.5 FUNCTION 5 (.DMERR) . . . . . . . . . . . . . 22-53
22.20.6 FUNCTION 6 (.DMCTL) . . . . . . . . . . . . . 22-55
22.21 DATE [CALLI 14] . . . . . . . . . . . . . . . . 22-57
22.22 DEBRK. [CALLI 137] . . . . . . . . . . . . . . . 22-58
22.23 DEQ. [CALLI 152] . . . . . . . . . . . . . . . . 22-59
22.23.1 FUNCTION 0 (.DEQDR) . . . . . . . . . . . . . 22-59
22.23.2 FUNCTION 1 (.DEQDA) . . . . . . . . . . . . . 22-60
22.23.3 FUNCTION 2 (.DEQID) . . . . . . . . . . . . . 22-60
22.24 DEVCHR [CALLI 4] . . . . . . . . . . . . . . . . 22-63
22.25 DEVLNM [CALLI 107] . . . . . . . . . . . . . . . 22-66
22.26 DEVNAM [CALLI 64] . . . . . . . . . . . . . . . 22-68
22.27 DEVOP. [CALLI 171] . . . . . . . . . . . . . . . 22-69
22.27.1 FUNCTION 1 (.DFLLV) . . . . . . . . . . . . . 22-70
22.27.2 FUNCTION 2 (.DFENV) . . . . . . . . . . . . . 22-70
22.27.3 FUNCTION 3 (.DFDVL) . . . . . . . . . . . . . 22-70
22.27.4 FUNCTIONS 4-10 . . . . . . . . . . . . . . . . 22-70
22.27.5 FUNCTION 11 (.DFLR2) . . . . . . . . . . . . . 22-70
22.27.6 FUNCTION 12 (.DFLV2) . . . . . . . . . . . . . 22-71
22.27.7 FUNCTION 13 (.DFMDC) . . . . . . . . . . . . . 22-71
22.27.8 FUNCTION 14 (.DFMDS) . . . . . . . . . . . . . 22-71
22.27.9 FUNCTIONS 15-777 . . . . . . . . . . . . . . . 22-71
22.27.10 FUNCTION 1000 (.DFPCT) . . . . . . . . . . . . 22-71
22.27.11 FUNCTION 2000 (.DFPCT) . . . . . . . . . . . . 22-71
22.27.12 FUNCTION 1002 (.DFHCW) . . . . . . . . . . . . 22-72
22.27.13 FUNCTION 2002 (.DFHCW) . . . . . . . . . . . . 22-73
22.27.14 FUNCTION 1003 (.DFRES) . . . . . . . . . . . . 22-73
22.27.15 FUNCTION 1004 (.DFRDS) . . . . . . . . . . . . 22-74
22.27.16 FUNCTION 1005 (.DFFRM) . . . . . . . . . . . . 22-74
22.27.17 FUNCTION 1006 (.DFDTI) . . . . . . . . . . . . 22-74
22.28 DEVPPN [CALLI 55] . . . . . . . . . . . . . . . 22-76
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) . . . . . . . . . . . . . 22-86
22.32.2 FUNCTION 2 (.DIAAU) . . . . . . . . . . . . . 22-86
22.32.3 FUNCTION 3 (.DIRAU) . . . . . . . . . . . . . 22-86
22.32.4 FUNCTION 4 (.DISCP) . . . . . . . . . . . . . 22-86
22.32.5 FUNCTION 5 (.DIRCP) . . . . . . . . . . . . . 22-87
22.32.6 FUNCTION 6 (.DIGCS) . . . . . . . . . . . . . 22-87
22.32.7 FUNCTION 7 (.DIAKU) . . . . . . . . . . . . . 22-87
22.32.8 FUNCTION 10 (.DIACS) . . . . . . . . . . . . . 22-87
22.32.9 FUNCTION 11 (.DIADS) . . . . . . . . . . . . . 22-88
22.32.10 FUNCTION 12 (.DISCR) . . . . . . . . . . . . . 22-88
iv
22.32.11 FUNCTION 13 (Obsolete) . . . . . . . . . . . . 22-88
22.32.12 FUNCTION 14 (.DIGUI) . . . . . . . . . . . . . 22-88
22.32.13 FUNCTION 15 (Obsolete) . . . . . . . . . . . . 22-88
22.32.14 FUNCTION 16 (Obsolete) . . . . . . . . . . . . 22-88
22.32.15 FUNCTION 17 (.DIELD) . . . . . . . . . . . . 22-89
22.32.16 FUNCTION 20 (.DIDLD) . . . . . . . . . . . . . 22-89
22.32.17 FUNCTION 21 (.DILOD) . . . . . . . . . . . . . 22-89
22.32.18 FUNCTION 22 (.DIISM) . . . . . . . . . . . . . 22-89
22.32.19 FUNCTION 23 (.DIICM) . . . . . . . . . . . . . 22-89
22.32.20 FUNCTION 24 (.DISBD) . . . . . . . . . . . . . 22-89
22.32.21 FUNCTION 25 (.DIDSN) . . . . . . . . . . . . . 22-90
22.32.22 FUNCTION 26 (.DIRUR) . . . . . . . . . . . . . 22-90
22.32.23 FUNCTION 27 (.DIADB) . . . . . . . . . . . . . 22-90
22.32.24 FUNCTION 30 (.DIOKI) . . . . . . . . . . . . 22-91
22.32.25 FUNCTION 31 (.DIOUI) . . . . . . . . . . . . . 22-92
22.32.26 FUNCTION 32 (.DILKU) . . . . . . . . . . . . . 22-92
22.32.27 FUNCTION 33 (.DISDS) . . . . . . . . . . . . . 22-92
22.32.28 FUNCTION 34 (.DIDVR) . . . . . . . . . . . . . 22-93
22.32.29 FUNCTIONS 35-77 (Reserved for DIGITAL) . . . . 22-93
22.32.30 FUNCTION 100 (.DIGTM) . . . . . . . . . . . . 22-93
22.32.31 FUNCTION 101 (.DIGVM) . . . . . . . . . . . . 22-93
22.32.32 FUNCTIONS 102-104 (Reserved) . . . . . . . . . 22-93
22.32.33 FUNCTION 105 (.DIRRS) . . . . . . . . . . . . 22-94
22.32.34 FUNCTION 106 (.DISRS) . . . . . . . . . . . . 22-94
22.32.35 FUNCTION 107 (.DIACC) . . . . . . . . . . . . 22-94
22.32.36 FUNCTIONS 110-111 (Reserved for DIGITAL) . . . 22-94
22.32.37 FUNCTION 112 (.DIWCM) . . . . . . . . . . . . 22-94
22.32.38 FUNCTION 113 (.DIRCM) . . . . . . . . . . . . 22-95
22.33 DISK. [CALLI 121] . . . . . . . . . . . . . . . 22-96
22.33.1 FUNCTION 0 (.DUPRI) . . . . . . . . . . . . . 22-97
22.33.2 FUNCTION 1 (.DUSEM) . . . . . . . . . . . . . 22-97
22.33.3 FUNCTION 2 (.DUSTM) . . . . . . . . . . . . . 22-98
22.33.4 FUNCTION 3 (.DUUNL) . . . . . . . . . . . . . 22-98
22.33.5 FUNCTION 4 (.DUOLS) . . . . . . . . . . . . . 22-98
22.33.6 FUNCTION 5 (.DUOLN) . . . . . . . . . . . . . 22-99
22.33.7 FUNCTION 6 (.DUONL) . . . . . . . . . . . . . 22-99
22.33.8 FUNCTION 7 (.DUUFD) . . . . . . . . . . . . 22-100
22.33.9 FUNCTION 10 (.DUSWP) . . . . . . . . . . . . 22-100
22.33.10 FUNCTION 11 (.DUASW) . . . . . . . . . . . . 22-101
22.33.11 FUNCTION 12 (.DUASD) . . . . . . . . . . . . 22-101
22.33.12 FUNCTION 13 (.DURSD) . . . . . . . . . . . . 22-101
22.33.13 FUNCTION 14 (.DULEN) . . . . . . . . . . . . 22-102
22.33.14 FUNCTION 15 (.DUCLM) . . . . . . . . . . . . 22-102
22.33.15 FUNCTION 16 (.DUFRE) . . . . . . . . . . . . 22-102
22.34 DNET. [CALLI 207] . . . . . . . . . . . . . . 22-103
22.34.1 FUNCTION 1 (.DNLNN) . . . . . . . . . . . . 22-104
22.34.2 FUNCTION 2 (.DNNDI) . . . . . . . . . . . . 22-104
22.34.3 FUNCTION 3 (.DNSLS) . . . . . . . . . . . . 22-105
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
v
22.39 DVURS. [CALLI 123] . . . . . . . . . . . . . . 22-126
22.40 ENQ. [CALLI 151] . . . . . . . . . . . . . . . 22-127
22.41 ENQC. [CALLI 153] . . . . . . . . . . . . . . 22-138
22.41.1 FUNCTION 0 (.ENQCS) . . . . . . . . . . . . 22-138
22.41.2 FUNCTION 1 (.ENQCG) . . . . . . . . . . . . 22-140
22.41.3 FUNCTION 2 (.ENQCC) . . . . . . . . . . . . 22-140
22.41.4 FUNCTION 3 (.ENQCD) . . . . . . . . . . . . 22-141
22.42 ENTER [OPCODE 077] . . . . . . . . . . . . . . 22-142
22.43 ENTVC. [CALLI 225] . . . . . . . . . . . . . . 22-144
22.44 ERLST. [CALLI 132] . . . . . . . . . . . . . . 22-146
22.45 ETHNT. [CALLI 223] . . . . . . . . . . . . . . 22-148
22.46 EXIT [CALLI 12] . . . . . . . . . . . . . . . 22-159
22.47 FILOP. [CALLI 155] . . . . . . . . . . . . . . 22-161
22.47.1 FILOP. Extended Argument List . . . . . . . 22-162
22.47.2 FILOP. Functions . . . . . . . . . . . . . . 22-166
22.47.3 Simultaneous File Access with FILOP. UUO . . 22-173
22.48 FRCUUO [CALLI 106] . . . . . . . . . . . . . . 22-176
22.49 GETLCH [TTCALL 6,] . . . . . . . . . . . . . . 22-178
22.50 GETLIN [CALLI 34] . . . . . . . . . . . . . . 22-180
22.51 GETPPN [CALLI 24] . . . . . . . . . . . . . . 22-181
22.52 GETSEG [CALLI 40] . . . . . . . . . . . . . . 22-182
22.53 GETSTS [OPCODE 062] . . . . . . . . . . . . . 22-185
22.54 GETTAB [CALLI 41] . . . . . . . . . . . . . . 22-187
22.55 GOBSTR [CALLI 66] . . . . . . . . . . . . . . 22-188
22.56 GTNTN. [CALLI 165] . . . . . . . . . . . . . . 22-191
22.57 GTXTN. [CALLI 166] . . . . . . . . . . . . . . 22-193
22.58 HIBER [CALLI 72] . . . . . . . . . . . . . . . 22-194
22.59 HPQ [CALLI 71] . . . . . . . . . . . . . . . . 22-197
22.60 IN [OPCODE 056] . . . . . . . . . . . . . . . 22-198
22.61 INBUF [OPCODE 064] . . . . . . . . . . . . . . 22-200
22.62 INCHRS [TTCALL 2,] . . . . . . . . . . . . . . 22-202
22.63 INCHRW [TTCALL 0,] . . . . . . . . . . . . . . 22-203
22.64 INCHSL [TTCALL 5,] . . . . . . . . . . . . . . 22-204
22.65 INCHWL [TTCALL 4,] . . . . . . . . . . . . . . 22-205
22.66 INIT [OPCODE 041] . . . . . . . . . . . . . . 22-206
22.67 INPUT [OPCODE 066] . . . . . . . . . . . . . . 22-207
22.68 IONDX. [CALLI 127] . . . . . . . . . . . . . . 22-209
22.69 IONEOU [TTCALL 15,] . . . . . . . . . . . . . 22-210
22.70 IPCFM. [CALLI 217] . . . . . . . . . . . . . . 22-211
22.71 IPCFQ. [CALLI 144] . . . . . . . . . . . . . . 22-214
22.72 IPCFR. [CALLI 142] . . . . . . . . . . . . . . 22-216
22.73 IPCFS. [CALLI 143] . . . . . . . . . . . . . . 22-221
22.74 JBSET. [CALLI 113] . . . . . . . . . . . . . . 22-224
22.75 JOBPEK [CALLI 103] . . . . . . . . . . . . . . 22-225
22.76 JOBSTR [CALLI 47] . . . . . . . . . . . . . . 22-228
22.77 JOBSTS [CALLI 61] . . . . . . . . . . . . . . 22-230
22.78 KDP. [CALLI 200] . . . . . . . . . . . . . . . 22-233
22.79 LATOP. [CALLI 221] . . . . . . . . . . . . . . 22-235
22.79.1 FUNCTION 0 (.LASET) . . . . . . . . . . . . 22-235
22.79.2 FUNCTION 1 (.LACLR) . . . . . . . . . . . . 22-238
22.79.3 FUNCTION 2 (.LASCH) . . . . . . . . . . . . 22-238
22.79.4 FUNCTION 3 (.LASTC) . . . . . . . . . . . . 22-240
vi
22.79.5 FUNCTION 4 (.LASAS) . . . . . . . . . . . . 22-242
22.79.6 FUNCTION 5 (.LASCO) . . . . . . . . . . . . 22-243
22.79.7 FUNCTION 6 (.LAZCO) . . . . . . . . . . . . 22-244
22.79.8 FUNCTION 7 (.LARHC) . . . . . . . . . . . . 22-245
22.79.9 FUNCTION 10 (.LATHC) . . . . . . . . . . . . 22-247
22.79.10 FUNCTION 11 (.LASHC) . . . . . . . . . . . . 22-247
22.80 LLMOP. [CALLI 220] . . . . . . . . . . . . . . 22-250
22.80.1 FUNCTION 0 (.ELDIR) . . . . . . . . . . . . 22-250
22.80.2 FUNCTION 1 (.ELAST) . . . . . . . . . . . . 22-251
22.80.3 FUNCTION 2 (.ELRPY) . . . . . . . . . . . . 22-251
22.80.4 FUNCTION 3 (.ELAIC) . . . . . . . . . . . . 22-252
22.80.5 FUNCTION 4 (.ELABT) . . . . . . . . . . . . 22-252
22.80.6 FUNCTION 5 (.ELSTS) . . . . . . . . . . . . 22-252
22.80.7 FUNCTION 6 (.RCRID) . . . . . . . . . . . . 22-253
22.80.8 FUNCTION 7 (.RCRCT) . . . . . . . . . . . . 22-253
22.80.9 FUNCTION 10 (.RCIDS) . . . . . . . . . . . . 22-253
22.80.10 FUNCTION 11 (.RCRBT) . . . . . . . . . . . . 22-254
22.80.11 FUNCTION 12 (.RCRPY) . . . . . . . . . . . . 22-254
22.80.12 FUNCTION 13 (.RCRSV) . . . . . . . . . . . . 22-255
22.80.13 FUNCTION 14 (.RCREL) . . . . . . . . . . . . 22-255
22.80.14 FUNCTION 15 (.RCSND) . . . . . . . . . . . . 22-255
22.80.15 FUNCTION 16 (.RCPOL) . . . . . . . . . . . . 22-256
22.80.16 FUNCTION 17 (.RCAIC) . . . . . . . . . . . . 22-256
22.80.17 FUNCTION 20 (.RCABT) . . . . . . . . . . . . 22-257
22.80.18 FUNCTION 21 (.RCSTS) . . . . . . . . . . . . 22-257
22.80.19 FUNCTION 22 (.RCADR) . . . . . . . . . . . . 22-257
22.81 LOCATE [CALLI 62] . . . . . . . . . . . . . . 22-258
22.82 LOCK [CALLI 60] . . . . . . . . . . . . . . . 22-260
22.83 LOGIN [CALLI 15] . . . . . . . . . . . . . . . 22-266
22.84 LOGOUT [CALLI 17] . . . . . . . . . . . . . . 22-267
22.85 LOOKUP [OPCODE 076] . . . . . . . . . . . . . 22-268
22.86 MERGE. [CALLI 173] . . . . . . . . . . . . . . 22-270
22.87 MONRT. [CALL 1,12] . . . . . . . . . . . . . . 22-272
22.88 MSTIME [CALLI 23] . . . . . . . . . . . . . . 22-273
22.89 MTAID [CALLI 126] . . . . . . . . . . . . . . 22-274
22.90 MTAPE [OPCODE 072] . . . . . . . . . . . . . . 22-276
22.91 MTBLK. [MTAPE 13] . . . . . . . . . . . . . . 22-277
22.92 MTBSF. [MTAPE 17] . . . . . . . . . . . . . . 22-278
22.93 MTBSR. [MTAPE 7] . . . . . . . . . . . . . . . 22-280
22.94 MTCHR. [CALLI 112] . . . . . . . . . . . . . . 22-281
22.95 MTDEC. [MTAPE 100] . . . . . . . . . . . . . . 22-284
22.96 MTEOF. [MTAPE 3] . . . . . . . . . . . . . . . 22-285
22.97 MTEOT. [MTAPE 10] . . . . . . . . . . . . . . 22-286
22.98 MTIND. [MTAPE 101] . . . . . . . . . . . . . . 22-287
22.99 MTLTH. [MTAPE 200] . . . . . . . . . . . . . . 22-288
22.100 MTREW. [MTAPE 1] . . . . . . . . . . . . . . . 22-289
22.101 MTSKF. [MTAPE 16] . . . . . . . . . . . . . . 22-290
22.102 MTSKR. [MTAPE 6] . . . . . . . . . . . . . . . 22-291
22.103 MTUNL. [MTAPE 11] . . . . . . . . . . . . . . 22-292
22.104 MTWAT. [MTAPE 0] . . . . . . . . . . . . . . . 22-294
22.105 MVHDR. [CALLI 131] . . . . . . . . . . . . . . 22-295
22.106 NETOP. [CALLI 226] . . . . . . . . . . . . . . 22-296
vii
22.107 NODE. [CALLI 157] . . . . . . . . . . . . . . 22-299
22.107.1 FUNCTION 1 (.NDALN) . . . . . . . . . . . . 22-299
22.107.2 FUNCTION 2 (.NDRNN) . . . . . . . . . . . . 22-299
22.107.3 FUNCTION 3 (.NDSSM) . . . . . . . . . . . . 22-300
22.107.4 FUNCTION 4 (.NDRBM) . . . . . . . . . . . . 22-300
22.107.5 FUNCTION 5 (.NDRCI) . . . . . . . . . . . . 22-301
22.107.6 FUNCTION 6 (.NDOUT) . . . . . . . . . . . . 22-302
22.107.7 FUNCTION 7 (.NDIN) . . . . . . . . . . . . . 22-302
22.107.8 FUNCTION 10 (.NDTCN) . . . . . . . . . . . . 22-302
22.107.9 FUNCTION 11 (.NDTDS) . . . . . . . . . . . . 22-302
22.107.10 FUNCTION 12 (.NDLND) . . . . . . . . . . . . 22-303
22.107.11 FUNCTION 13 (.NDNDB) . . . . . . . . . . . . 22-303
22.107.12 FUNCTION 14 (.NDGNF) . . . . . . . . . . . . 22-305
22.108 NSP. [CALLI 205] . . . . . . . . . . . . . . . 22-307
22.109 NTMAN. [CALLI 206] . . . . . . . . . . . . . . 22-310
22.110 OPEN [OPCODE 050] . . . . . . . . . . . . . . 22-313
22.110.1 ARGUMENT WORD 0 (.OPMOD) . . . . . . . . . . 22-313
22.110.2 ARGUMENT WORD 1 (.OPDEV) . . . . . . . . . . 22-317
22.110.3 ARGUMENT WORD 2 (.OPBUF) . . . . . . . . . . 22-317
22.111 OTHUSR [CALLI 77] . . . . . . . . . . . . . . 22-319
22.112 OUT [OPCODE 057] . . . . . . . . . . . . . . . 22-320
22.113 OUTBUF [OPCODE 065] . . . . . . . . . . . . . 22-322
22.114 OUTCHR [TTCALL 1,] . . . . . . . . . . . . . . 22-323
22.115 OUTPUT [OPCODE 067] . . . . . . . . . . . . . 22-324
22.116 OUTSTR [TTCALL 3,] . . . . . . . . . . . . . . 22-325
22.117 PAGE. [CALLI 145] . . . . . . . . . . . . . . 22-326
22.117.1 FUNCTION 0 (.PAGIO) . . . . . . . . . . . . 22-327
22.117.2 FUNCTION 1 (.PAGCD) . . . . . . . . . . . . 22-327
22.117.3 FUNCTION 2 (.PAGEM) . . . . . . . . . . . . 22-328
22.117.4 FUNCTION 3 (.PAGAA) . . . . . . . . . . . . 22-329
22.117.5 FUNCTION 4 (.PAGWS) . . . . . . . . . . . . 22-329
22.117.6 FUNCTION 5 (.PAGGA) . . . . . . . . . . . . 22-330
22.117.7 FUNCTION 6 (.PAGCA) . . . . . . . . . . . . 22-330
22.117.8 FUNCTION 7 (.PAGCH) . . . . . . . . . . . . 22-331
22.117.9 FUNCTION 10 (.PAGCB) . . . . . . . . . . . . 22-331
22.117.10 FUNCTION 11 (.PAGSP) . . . . . . . . . . . 22-332
22.117.11 FUNCTION 12 (.PAGSC) . . . . . . . . . . . . 22-333
22.117.12 FUNCTION 13 (.PAGBM) . . . . . . . . . . . 22-333
22.117.13 FUNCTION 14 (.PAGAL) . . . . . . . . . . . . 22-334
22.117.14 FUNCTION 15 (.PAGLP) . . . . . . . . . . . . 22-335
22.117.15 FUNCTION 16 (.PAGWL) . . . . . . . . . . . . 22-335
22.118 PATH. [CALLI 110] . . . . . . . . . . . . . . 22-337
22.119 PEEK [CALLI 33] . . . . . . . . . . . . . . . 22-347
22.120 PERF. [CALLI 162] . . . . . . . . . . . . . . 22-348
22.121 PIBLK. [CALLI 212] . . . . . . . . . . . . . . 22-352
22.122 PIFLG. [CALLI 216] . . . . . . . . . . . . . . 22-353
22.123 PIINI. [CALLI 135] . . . . . . . . . . . . . . 22-355
22.124 PIJBI. [CALLI 175] . . . . . . . . . . . . . . 22-358
22.125 PIRST. [CALLI 141] . . . . . . . . . . . . . . 22-360
22.126 PISAV. [CALLI 140] . . . . . . . . . . . . . . 22-361
22.127 PISYS. [CALLI 136] . . . . . . . . . . . . . . 22-363
22.128 PITMR. [CALLI 203] . . . . . . . . . . . . . . 22-369
viii
22.129 PJOB [CALLI 30] . . . . . . . . . . . . . . . 22-371
22.130 POKE. [CALLI 114] . . . . . . . . . . . . . . 22-372
22.131 QUEUE. [CALLI 201] . . . . . . . . . . . . . . 22-374
22.132 REASSI [CALLI 21] . . . . . . . . . . . . . . 22-389
22.133 RECON. [CALLI 202] . . . . . . . . . . . . . . 22-391
22.134 RELEAS [OPCODE 071] . . . . . . . . . . . . . 22-399
22.135 REMAP [CALLI 37] . . . . . . . . . . . . . . . 22-400
22.136 RENAME [OPCODE 055] . . . . . . . . . . . . . 22-402
22.137 RESCAN [TTCALL 10,] . . . . . . . . . . . . . 22-405
22.138 RESDV. [CALLI 117] . . . . . . . . . . . . . . 22-406
22.139 RESET [CALLI 0] . . . . . . . . . . . . . . . 22-407
22.140 RTTRP [CALLI 57] . . . . . . . . . . . . . . . 22-409
22.141 RUN [CALLI 35] . . . . . . . . . . . . . . . . 22-411
22.142 RUNTIM [CALLI 27] . . . . . . . . . . . . . . 22-413
22.143 SAVE. [CALLI 210] . . . . . . . . . . . . . . 22-414
22.144 SCHED. [CALLI 150] . . . . . . . . . . . . . . 22-416
22.145 SCS. [CALLI 213] . . . . . . . . . . . . . . . 22-424
22.146 SEBLK. [CALLI 214] . . . . . . . . . . . . . . 22-431
22.147 SEGOP. [CALLI 230] . . . . . . . . . . . . . . 22-432
22.147.1 FUNCTION 0 (.SGINF) . . . . . . . . . . . . 22-433
22.147.2 FUNCTION 1 (.SGGET) . . . . . . . . . . . . 22-434
22.147.3 FUNCTION 2 (.SGREL) . . . . . . . . . . . . 22-435
22.147.4 FUNCTION 3 (.SGRMP) . . . . . . . . . . . . 22-436
22.147.5 FUNCTION 4 (.SGSWP) . . . . . . . . . . . . 22-436
22.147.6 FUNCTION 5 (.SGCOR) . . . . . . . . . . . . 22-437
22.147.7 FUNCTION 6 (.SGDMP) . . . . . . . . . . . . 22-437
22.148 SENSE. [CALLI 133] . . . . . . . . . . . . . . 22-439
22.149 SETDDT [CALLI 2] . . . . . . . . . . . . . . . 22-441
22.150 SETLCH [TTCALL 7,] . . . . . . . . . . . . . . 22-442
22.151 SETNAM [CALLI 43] . . . . . . . . . . . . . . 22-443
22.152 SETSTS [OPCODE 060] . . . . . . . . . . . . . 22-444
22.153 SETUUO [CALLI 75] . . . . . . . . . . . . . . 22-446
22.154 SETUWP [CALLI 36] . . . . . . . . . . . . . . 22-458
22.155 SKPINC [TTCALL 13,] . . . . . . . . . . . . . 22-459
22.156 SKPINL [TTCALL 14,] . . . . . . . . . . . . . 22-460
22.157 SLEEP [CALLI 31] . . . . . . . . . . . . . . . 22-461
22.158 SNOOP. [CALLI 176] . . . . . . . . . . . . . . 22-462
22.159 SPPRM. [CALLI 172] . . . . . . . . . . . . . . 22-466
22.160 SPY [CALLI 42] . . . . . . . . . . . . . . . . 22-468
22.161 STATO [OPCODE 061] . . . . . . . . . . . . . . 22-470
22.162 STATZ [OPCODE 063] . . . . . . . . . . . . . . 22-471
22.163 STRUUO [CALLI 50] . . . . . . . . . . . . . . 22-472
22.164 SUSET. [CALLI 146] . . . . . . . . . . . . . . 22-486
22.165 SYSPHY [CALLI 51] . . . . . . . . . . . . . . 22-488
22.166 SYSSTR [CALLI 46] . . . . . . . . . . . . . . 22-489
22.167 TAPOP. [CALLI 154] . . . . . . . . . . . . . . 22-490
22.168 TIMER [CALLI 22] . . . . . . . . . . . . . . . 22-502
22.169 TMPCOR [CALLI 44] . . . . . . . . . . . . . . 22-503
22.170 TRMNO. [CALLI 115] . . . . . . . . . . . . . . 22-506
22.171 TRMOP. [CALLI 116] . . . . . . . . . . . . . . 22-508
22.172 TRPSET [CALLI 25] . . . . . . . . . . . . . . 22-524
22.173 TSK. [CALLI 177] . . . . . . . . . . . . . . . 22-525
ix
22.174 TTCALL [OPCODE 051] . . . . . . . . . . . . . 22-530
22.175 UGETF [OPCODE 073] . . . . . . . . . . . . . . 22-531
22.176 UJEN [OPCODE 100] . . . . . . . . . . . . . . 22-532
22.177 UNLOK. [CALLI 120] . . . . . . . . . . . . . . 22-533
22.178 USETI [OPCODE 074] . . . . . . . . . . . . . . 22-535
22.179 USETO [OPCODE 075] . . . . . . . . . . . . . . 22-537
22.180 UTPCLR [CALLI 13] . . . . . . . . . . . . . . 22-539
22.181 UTRP. [CALLI 174] . . . . . . . . . . . . . . 22-540
22.182 WAIT [CALLI 10] . . . . . . . . . . . . . . . 22-542
22.183 WAKE [CALLI 73] . . . . . . . . . . . . . . . 22-543
22.184 WHERE [CALLI 63] . . . . . . . . . . . . . . . 22-544
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-3
23.4 ADDING NEW GETTAB TABLES TO THE MONITOR . . . . 23-3
23.5 ALPHABETIC LISTING . . . . . . . . . . . . . . . 23-4
23.6 TOPS-10 GETTAB TABLES . . . . . . . . . . . . . 23-7
APPENDIX A .EXE FILES
A.1 THE DIRECTORY . . . . . . . . . . . . . . . . . . A-1
APPENDIX B FILE DAEMON
B.1 USER INTERFACE . . . . . . . . . . . . . . . . . . B-1
B.2 THE FILE DAEMON . . . . . . . . . . . . . . . . . B-1
B.3 ACCESS.USR . . . . . . . . . . . . . . . . . . . . B-3
B.4 MONITOR INTERFACE TO A FILE DAEMON . . . . . . . B-10
GLOSSARY
INDEX
FIGURES
22-1 QUEUE. Argument List . . . . . . . . . . . . . 22-375
TABLES
22-1 Error File Entry Types . . . . . . . . . . . . . 22-53
22-2 FILOP Argument Block . . . . . . . . . . . . . 22-163
22-3 LATOP. Show Buffer Format . . . . . . . . . . 22-239
x
22-4 LATOP. Service Block . . . . . . . . . . . . . 22-240
22-5 LATOP. Short Connect Block . . . . . . . . . . 22-241
22-6 LATOP. Extended Connect Block . . . . . . . . 22-241
22-7 LATOP. Show Adjacent Servers Full-Format Block 22-242
22-8 LATOP. Show Adjacent Servers Short-Format Block 22-243
22-9 LATOP. Counter Block Format . . . . . . . . . 22-244
22-10 LATOP. Rejection Codes . . . . . . . . . . . . 22-246
22-11 LATOP. Status Block . . . . . . . . . . . . . 22-248
22-12 PATH. Functions and Flags . . . . . . . . . . 22-342
22-13 PISYS. Function Flags . . . . . . . . . . . . 22-364
22-14 PSI Interrupt Codes (Non-I/O Interrupts) . . . 22-364
22-15 PSI Reason Codes (I/O-Related Interrupts) . . 22-366
22-16 SEGOP. UUO Flags . . . . . . . . . . . . . . . 22-433
B-1 ACCESS.USR Switches . . . . . . . . . . . . . . . B-4
B-2 File Daemon Codes . . . . . . . . . . . . . . . B-12
B-3 File Daemon Flags . . . . . . . . . . . . . . . B-14
xii
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 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.
xiii
22-i
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
ACCLG. [CALLI 204]
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
LOGNUM had not been incremented.
22-3
ACCT. [CALLI 167]
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)
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-4
ACCT. [CALLI 167]
22.2.2 Function 1 (.ACTRD)
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 the monitor's buffer;
only 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.
22-5
ACCT. [CALLI 167]
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
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-6
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-7
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.
22-8
APRENB [CALLI 16]
COMMON PROGRAMMING ERRORS
o Not reenabling the interrupt after each trap has occurred.
o Failing to set up .JBAPR prior to the APRENB call.
RELATED CALLS
o PISYS.
o UTRP.
22-9
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.
22-10
ATTACH [CALLI 104]
Using the ATTACH UUO, you perform the following functions with the
following information:
To attach an arbitrary job to a terminal:
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.
22-11
ATTACH [CALLI 104]
EXAMPLE
MOVSI T1,-1
ATTACH T1,
JRST ATTERR
JRST CONTIN
. . .
ATTERR: error routine
CONTIN: success routine
This example detaches the current job from its terminal line; the mode
is not changed.
22-12
CALLI [OPCODE 047]
22.5 CALLI [OPCODE 047]
FUNCTION
Passes the monitor a function-index for an extended set of monitor
calls, called CALLIs. The negative CALLI indexes are reserved for
customer-defined monitor calls. All non-negative codes are reserved
for use by DIGITAL. Obsolete CALLIs. are marked as such, and they are
not described further in this manual.
The defined CALLIs also have symbolic function-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-index
error return
skip return
In the calling sequence, you can supply the function-index. The
alternate method of specifying a monitor call is to use the following
syntax:
function-name ac,
error return
skip return
The function-name is the name of the monitor call. For example, CTX.
is the function-name for the CALLI with function-index 215.
You can use the UU.PHY bit in the ac to indicate that addresses you
specify are physical references. For monitor calls that take device
names, this bit indicates that physical device referencing is being
used.
To indicate physical references, rather than virtual or logical, set
Bits 18 and 19 in the ac, or include the symbolic representation
(UU.PHY).
For example, to indicate physical referencing in DIGITAL CALLIs, such
as the CTX. UUO, use the following CALLI syntax:
CALLI ac,215!UU.PHY
Or you can specify UU.PHY in symbolic representation of the CALLI
using the following syntax:
CTX. ac,UU.PHY
22-13
CALLI [OPCODE 047]
For customer-supplied CAllIs, remember to use the negative
representation of UU.PHY:
CALLI ac,-1,-UU.PHY
Or, in symbolic representation:
LIGHTS ac,-UU.PHY
The UU.PHY symbol represents the settings of Bits 18 and 19 in the ac.
When the settings of these bits differ, physical referencing is
assumed by the monitor. For DIGITAL-supplied CALLIs, Bit 18 is clear
and Bit 19 is set to indicate physical referencing. For customer
CALLIs, Bit 18 is set; therefore, Bit 19 must be cleared to indicate
physical referencing.
The CALLI "function-index" is one of the following:
Function-Index Name Meaning
-n through -1 Reserved for customer definition.
0 RESET Refer to the description of the monitor call.
n DIGITAL-supplied CALLI functions.
The CALLIs and their symbolic names are listed in numerical order
below:
Symbol CALLI Function Symbol CALLI Function
LIGHTS (Obsolete) TIMER [CALLI 22]
RESET [CALLI 0] MSTIME [CALLI 23]
DDTIN (Unsupported) GETPPN [CALLI 24]
SETDDT [CALLI 2] TRPSET [CALLI 25]
DDTOUT (Unsupported) TRPJEN [CALLI 26]
DEVCHR [CALLI 4] RUNTIM [CALLI 27]
DDTGT (Obsolete) PJOB [CALLI 30]
DDTRL (Obsolete) SLEEP [CALLI 31]
GETCHR (Obsolete; use DEVCHR) SETPOV (Unsupported)
WAIT [CALLI 10] PEEK [CALLI 33]
CORE [CALLI 11] GETLIN [CALLI 34]
EXIT [CALLI 12] RUN [CALLI 35]
MONRT. [CALLI 1,12] SETUWP [CALLI 36]
UTPCLR [CALLI 13] REMAP [CALLI 37]
DATE [CALLI 14] GETSEG [CALLI 40]
LOGIN [CALLI 15] GETTAB [CALLI 41]
APRENB [CALLI 16] SPY [CALLI 42]
LOGOUT [CALLI 17] SETNAM [CALLI 43]
SWITCH (Obsolete) TMPCOR [CALLI 44]
REASSI [CALLI 21] DSKCHR [CALLI 45]
22-14
CALLI [OPCODE 047]
Symbol CALLI Function Symbol CALLI Function
SYSSTR [CALLI 46] DVURS. [CALLI 123]
JOBSTR [CALLI 47] XTTSK. (Unsupported)
STRUUO [CALLI 50] CAL11. [CALLI 125]
SYSPHY [CALLI 51] MTAID. [CALLI 126]
FRECHN (Obsolete) IONDX. [CALLI 127]
DEVTYP [CALLI 53] CNECT. [CALLI 130]
DEVSTS [CALLI 54] MVHDR. [CALLI 131]
DEVPPN [CALLI 55] ERLST. [CALLI 132]
SEEK (Obsolete) SENSE. [CALLI 133]
RTTRP [CALLI 57] CLRST. [CALLI 134]
LOCK [CALLI 60] PIINI. [CALLI 135]
JOBSTS [CALLI 61] PISYS. [CALLI 136]
LOCATE [CALLI 62] DEBRK. [CALLI 137]
WHERE [CALLI 63] PISAV. [CALLI 140]
DEVNAM [CALLI 64] PIRST. [CALLI 141]
CTLJOB [CALLI 65] IPCFR. [CALLI 142]
GOBSTR [CALLI 66] IPCFS. [CALLI 143]
ACTIVA (Unimplemented) IPCFQ. [CALLI 144]
DEACTI (Unimplemented) PAGE. [CALLI 145]
HPQ [CALLI 71] SUSET. [CALLI 146]
HIBER [CALLI 72] COMPT. (Reserved)
WAKE [CALLI 73] SCHED. [CALLI 150]
CHGPPN [CALLI 74] ENQ. [CALLI 151]
SETUUO [CALLI 75] DEQ. [CALLI 152]
DEVGEN (Unimplemented) ENQC. [CALLI 153]
OTHUSR [CALLI 77] TAPOP. [CALLI 154]
CHKACC [CALLI 100] FILOP. [CALLI 155]
DEVSIZ [CALLI 101] CAL78. (Unsupported)
DAEMON [CALLI 102] NODE. [CALLI 157]
| JOBPEK [CALLI 103] ERRPT. (Obsolete)
ATTACH [CALLI 104] ALLOC. [CALLI 161]
DAEFIN [CALLI 105] PERF. [CALLI 162]
FRCUUO [CALLI 106] DIAG. [CALLI 163]
DEVLNM [CALLI 107] DVPHY. [CALLI 164]
PATH. [CALLI 110] GTNTN. [CALLI 165]
METER. (Unsupported) GTXTN. [CALLI 166]
MTCHR. [CALLI 112] ACCT. [CALLI 167]
JBSET. [CALLI 113] DTE. [CALLI 170]
POKE. [CALLI 114] DEVOP. [CALLI 171]
TRMNO. [CALLI 115] SPPRM. [CALLI 172]
TRMOP. [CALLI 116] MERGE. [CALLI 173]
RESDV. [CALLI 117] UTRP. [CALLI 174]
UNLOK. [CALLI 120] PIJBI. [CALLI 175]
DISK. [CALLI 121] SNOOP. [CALLI 176]
DVRST. [CALLI 122] TSK. [CALLI 177]
22-15
CALLI [OPCODE 047]
Symbol CALLI Function Symbol CALLI Function
KDP. [CALLI 200] CTX. [CALLI 215]
QUEUE. [CALLI 201] PIFLG. [CALLI 216]
RECON. [CALLI 202] IPCFM. [CALLI 217]
PITMR. [CALLI 203] LLMOP. [CALLI 220]
ACCLG. [CALLI 204] LATOP. [CALLI 221]
NSP. [CALLI 205] KNIBT. (Obsolete)
NTMAN. [CALLI 206] CHTRN. [CALLI 223]
DNET. [CALLI 207] ETHNT. [CALLI 224]
SAVE. [CALLI 210] ENTVC. [CALLI 225]
CMAND. [CALLI 211] NETOP. [CALLI 226]
PIBLK. [CALLI 212] DDP. (Unsupported)
SCS. [CALLI 213] SEGOP. [CALLI 230]
SEBLK. [CALLI 214]
22-16
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
In the calling sequence, you may supply the following variables:
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.
22-17
CAL11. [CALLI 125]
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
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.1NO Port identifier, made up of the following fields:
9-14 C1.1NT Type of port (see .C11TY below).
15-17 C1.1NN Port 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
12-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 described in the following
sections:
22-18
CAL11. [CALLI 125]
22.6.1 FUNCTION 0 (.C11DP)
Deposits the specified data in the specified location. The argument
block for this function is:
Word Symbol Contents
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)
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)
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
22-19
CAL11. [CALLI 125]
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.6.4 FUNCTION 3 (.C11NM)
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 front end. The argument list for
this function contains only the function word, .C11FC.
22.6.5 FUNCTION 4 (.C11UP)
This function is obsolete.
22.6.6 FUNCTION 5 (.C11SM)
This function is obsolete.
22.6.7 FUNCTION 6 (.C11RM)
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)
Returns the node type and node number of the PDP-11. This function
requires only the first word of the argument list, .C11FC.
For DECnet and ANF-10 front ends, the node number is returned in the
left half of the ac. 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.
22-20
CAL11. [CALLI 125]
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:
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 C11DM% No DMR support in this monitor.
22-21
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. This call
always takes the skip return when the calling program has [1,2],
JACCT, or POKE privileged, or if the program has CHGPPN privileges as
set by MONGEN.
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-22
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
monitor ignores the file protection.
22-23
CHKACC [CALLI 100]
The function codes and their meanings are:
Code Symbol Access
Checks whether your job can:
0 .ACCPR change the protection for the file.
1 .ACREN rename the file.
2 .ACWRI write the file.
3 .ACUPD update the file (in old update mode).
4 .ACAPP append to the file.
5 .ACRED read the file.
6 .ACEXO execute the file.
7 .ACCRE create the file in the user's UFD.
10 .ACSRC 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-24
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 B.
22-25
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-26
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.
| CH.ISO Uses ISO Latin Alphabet number 1 instead of
| DEC/MCS.
SKIP RETURN
The ac is unchanged. The monitor returns 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-27
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.
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.)
22-28
CLOSE [OPCODE 070]
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
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.
22-29
CLOSE [OPCODE 070]
RETURN
The function is performed.
EXAMPLE
See Chapter 11, Monitor Calls Manual Vol. 1.
RELATED CALLS
o ENTER
o FILOP.
o LOOKUP
o RENAME
22-30
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-31
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-32
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.
22-33
CLRST. [CALLI 134]
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
chapter about the appropriate device.
SKIP RETURN
The I/O status bits for each specified device are cleared or set as
specified.
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-34
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 0 (.CMINT)
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 this definition.
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
7-10 Remaining SFD names
22-35
CMAND. [CALLI 211]
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
Command is uniquely identified by the:
10B17 CM.UN1 first character of its name.
4B17 CM.UN2 first two characters.
2B17 CM.UN3 first three characters.
1B17 CM.UN4 first four characters.
Command is:
1B12 CM.AUT 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)
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 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.
22-36
CMAND. [CALLI 211]
The length of the argument list is equal to the entire length of the
argument list, including .CMSIZ. The commands to be deleted are
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)
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)
Returns information about a command. You must include the argument
list as:
Word Symbol Contents
0 .CMSIZ Length of argument list
| 1 .CMCMN Command name for which information is to be
| returned.
22-37
CMAND. [CALLI 211]
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 .CMCMN. The information is returned in the form of a
| command block (same as argument list for .CMINT), for the command
name.
22.14.6 FUNCTION 5 (.CMDMP)
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.
22-38
CMAND. [CALLI 211]
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
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-39
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-40
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-41
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 with JACCT privileges expands the segment in physical
memory. A program without JACCT privileges must use UU.PHY to
indicate physical addressing.
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-42
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 a value less than 400001 (or the hiseg
origin), 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.
o You give a lowseg argument that would extend the low segment
into the high segment.
o One or both segments are locked.
22-43
CORE [CALLI 11]
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-44
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-45
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.
1-8 Reserved for DIGITAL.
22-46
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)
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-47
CTX. [CALLI 215]
22.18.2 FUNCTION 1 (.CRSVR)
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.18.3 FUNCTION 2 (.CVSVT)
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)
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)
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)
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)
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-48
CTX. [CALLI 215]
22.18.8 FUNCTION 7 (.CTRQT)
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
0 .CTJOB Job number, supplied by program.
1 .CTCTQ Returned context quota.
2 .CTPGQ Returned saved-pages quota.
22.18.9 FUNCTION 10 (.CTSQT)
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)
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)
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).
22-49
CTX. [CALLI 215]
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.
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-50
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-51
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)
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
22-52
DAEMON [CALLI 102]
In this argument list, you supply seconds as the number of seconds
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)
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.
22-53
DAEMON [CALLI 102]
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.
4 .SWERT RTTRP. function.
5 .SWMS1 Miscellaneous debugging
event number 1.
6 .SWMS2 Miscellaneous debugging
event number 2.
| 15 .ESCSC 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.
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.
22-54
DAEMON [CALLI 102]
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.
73 .ESULD Microcode load.
74 .ESCIE CI disk error
| 75 .ESDVD generic device 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.
22-55
DAEMON [CALLI 102]
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.
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 queues a request for a WAKE. UUO from the system DAEMON on
this job in 5 seconds.
RELATED CALLS
DAEFIN
22-56
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,^D1964
MOVEM T1,YEAR
>
RELATED CALLS
TIMER
22-57
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.
error return
skip return
SKIP RETURN
The DEBRK. call normally returns to the location before the interrupt
occurred. The skip return 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).
ERROR RETURN
The error return is taken if the DEBRK. UUO is not implemented.
RELATED CALLS
o PIBLK.
o PIINI.
o PIRST.
o PISAV.
o PISYS.
22-58
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)
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-59
DEQ. [CALLI 152]
22.23.2 FUNCTION 1 (.DEQDA)
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)
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-60
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
22-61
DEQ. [CALLI 152]
RELATED CALLS
o ENQ.
o ENQC.
22-62
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 sequence, 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.
22-63
DEVCHR [CALLI 4]
8 DV.LNG Device with long dispatch table; this means that
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.
22-64
DEVCHR [CALLI 4]
27 DV.M10 Mode 10, image. This is the same as IO.MOD =
.IOIMG returned from a GETSTS monitor call.
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-65
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
o DEVOP.
22-66
DEVLNM [CALLI 107]
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-67
DEVNAM [CALLI 64]
22.26 DEVNAM [CALLI 64]
FUNCTION
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
o DEVTYP
22-68
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
In the calling sequence, the following variables are supplied by the
program:
o length is the length of the argument block.
o addr is the address of the argument block.
o fcn-code is one of the function codes described below.
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.
o arglst begins the list of arguments for the given function.
All function codes listed below use the two-word argument list shown
above. Additionally, some function codes accept a longer argument
list. For those codes that accept an argument list longer than two
words, the argument list format is shown with the description of the
function code.
The function codes are defined within the following four ranges:
Range Usage
0000-0777 Performs a specific action.
1000-1777 Reads a parameter.
2000-2777 Sets a parameter.
3000-3777 Reserved for customer definition.
22-69
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, their calling sequences, and the actions taken are
listed in the following sections.
22.27.1 FUNCTION 1 (.DFLLV)
Loads the standard vertical forms control unit.
22.27.2 FUNCTION 2 (.DFENV)
Enables the system to load a non-standard vertical forms control unit.
22.27.3 FUNCTION 3 (.DFDVL)
Disables loading non-standard vertical forms control unit.
22.27.4 FUNCTIONS 4-10
Reserved for use by DIGITAL.
22.27.5 FUNCTION 11 (.DFLR2)
Loads a translation RAM into LP20. This function takes a four-word
argument list of the form:
addr: .DFLR2
/ SIXBIT /device/ \
| EXP channo |
\ EXP udx /
8-bit byte count for RAM
address of RAM buffer
22-70
DEVOP. [CALLI 171]
22.27.6 FUNCTION 12 (.DFLV2)
Loads a VFU through LP20. This function takes a four-word argument
list of the form:
addr: .DFLV2
/ SIXBIT /device/ \
| EXP channo |
\ EXP udx /
7-bit byte count of VFU
address of VFU data
22.27.7 FUNCTION 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.
22.27.8 FUNCTION 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.27.9 FUNCTIONS 15-777
Reserved for use by DIGITAL.
22.27.10 FUNCTION 1000 (.DFPCT)
Returns the line printer's page counter in the ac.
22.27.11 FUNCTION 2000 (.DFPCT)
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
22-71
DEVOP. [CALLI 171]
22.27.12 FUNCTION 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.
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.
22-72
DEVOP. [CALLI 171]
18-35 DF.CSN Character set name, in SIXBIT.
22.27.13 FUNCTION 2002 (.DFHCW)
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.
22.27.14 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.
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.
22-73
DEVOP. [CALLI 171]
24 IOVPF% MTA Volume Protection error.
25 IOFPF% MTA File protection failure.
26 IOUEF% MTA Unexpired file.
27 IONDD% Network device is disconnected.
22.27.15 FUNCTION 1004 (.DFRDS)
Reads the device status for a specified device. 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.
22.27.16 FUNCTION 1005 (.DFFRM)
Reads and sets the names of forms types. The name of the form type is
stored at addr+2.
22.27.17 FUNCTION 1006 (.DFDTI)
Reads and sets DECtape information. For example, you can read the
read/write counts. Use this function to set DECtape reelid
information. This DEVOP. function requires the following argument
list:
addr: .DFDTI
/ SIXBIT /device/ \
| EXP channo |
\ EXP udx /
SIXBIT /reelid/
EXP n (no. of words read)
EXP m (no. of words written)
SKIP RETURN
The specified function is executed.
22-74
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
o DEVCHR
o DEVLNM
o DEVNAM
o DEVPPN
o DEVSIZ
o DEVSTS
o DEVTYP
22-75
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
In the calling sequence, the program supplies the following variables:
o device is the SIXBIT physical, logical, or ersatz name of a
disk device.
o channo is a channel number for a disk device.
o 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.
22-76
DEVPPN [CALLI 55]
RELATED CALLS
o DEVCHR
o DEVLNM
o DEVNAM
o DEVOP.
o DEVSIZ
o DEVSTS
o DEVTYP
o 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 /
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument block. Normally, the
address points to the OPEN block used to initialize the
device.
o status is the I/O status word, which must match the
information given when the channel was initialized with INIT,
OPEN, or FILOP.
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.
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
o DEVCHR
o DEVLNM
o DEVNAM
o DEVOP.
o DEVPPN
o DEVSTS
o 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
In the calling sequence, the program supplies the following variables:
o device is the SIXBIT physical or logical name of a device.
o channo is the number of a channel.
o 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
o DEVCHR
o DEVLNM
o DEVNAM
o DEVOP.
o DEVPPN
22-80
DEVSTS [CALLI 54]
o DEVSIZ
o DEVTYP
The device status block is also returned by the .SNSDS function of the
SENSE. UUO.
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,
error return
skip return
In the calling sequence, the program provides the following variables:
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.
To specify physical device searching, use UU.PHY (Bit 19) in the ac.
(More information about UU.PHY is included in the description of
CALLI.)
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 .TYSAX SA10 device.
41-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
o DEVCHR
o DEVLNM
o DEVNAM
o DEVOP.
o DEVPPN
o DEVSIZ
o 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 controllers, 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 /MTA/)
o DDB name (as SIXBIT /MTA0/)
o Controller and drive name, formatted as shown below.
Bits Contents
0-6 Controller device code
7-8 Ignored
27-29 Unit number
33-35 Slave unit number (for multi-unit controllers)
22-85
DIAG. [CALLI 163]
The DIAG. functions and their arguments are described in the following
sections.
22.32.1 FUNCTION 1 (.DIASU)
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)
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 (.DIRAU)
|
Releases all units on the channel or controller. The format of the
argument list is:
| addr: EXP .DIRAU
SIXBIT /device/
22.32.4 FUNCTION 4 (.DISCP)
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)
Releases a channel program. The format of the argument list is:
addr: EXP .DIRCP
SIXBIT /device/
22.32.6 FUNCTION 6 (.DIGCS)
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)
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)
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)
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)
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)
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-88
DIAG. [CALLI 163]
22.32.15 FUNCTION 17 (.DIELD)
Enables microcode loading. The argument list is formatted as:
addr: XWD CPUno, .DIELD
SIXBIT /device/
22.32.16 FUNCTION 20 (.DIDLD)
Disables microcode loading. The format of the argument list is:
addr: XWD CPUno, .DIDLD
SIXBIT /device/
22.32.17 FUNCTION 21 (.DILOD)
Loads the microcode. The format of the argument block is:
addr: XWD CPUno, .DILOD
SIXBIT /device/
|
|
|
| 22.32.18 FUNCTION 22 (.DIISM)
|
Sets IPA channel (CI20 or NIA20) maintenance mode. The format of the
argument block is:
| addr: XWD CPUno, .DIISM
controller-device-code (Bits 0-6)
22.32.19 FUNCTION 23 (.DIICM)
Clears IPA channel maintenance mode. The format of the argument block
is:
addr: XWD CPUno, .DIICM
controller-device-code (Bits 0-6)
22.32.20 FUNCTION 24 (.DISBD)
Execute S-bus diagnostic function (SBDIAG). The format of the
argument block is:
22-89
DIAG. [CALLI 163]
| addr: XWD CPUno, .DISBD
To-memory word
From-memory word
In the argument list, you can supply the following information:
o CPUn is the CPU number.
o To-memory word, where, on a successful return from the UUO,
the monitor places the updated word into this argument.
o The monitor writes the From-memory word into addr+2.
22.32.21 FUNCTION 25 (.DIDSN)
Returns a unit's device serial number.
addr: EXP .DIDSN
SIXBIT /device/
Serial number (word 0)
Serial number (word 1)
The monitor returns the serial number in addr+2 and addr+3.
22.32.22 FUNCTION 26 (.DIRUR)
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)
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 SIXBIT /controller/
The monitor returns the address of the buffer containing the IPA20
DRAM in the ac.
22-90
DIAG. [CALLI 163]
22.32.24 FUNCTION 30 (.DIOKI)
Obtains controller information.
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 (indicated if DI.MUK is set,
above).
27-35 DI.DVC Device code (KL systems).
27-35 DI.IVI Interrupt vector address (KS systems).
At addr+4 (returned for KS systems only):
Bits Symbol Contents
14-35 DI.UBA UNIBUS address.
22-91
DIAG. [CALLI 163]
22.32.25 FUNCTION 31 (.DIOUI)
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
2-7 of the argument list is:
Word Contents
2 Program specifies -n,,addr1; where addr1 contains the KDB
names.
3 High-order word of drive serial number.
4 Low-order word of drive serial number.
5 In the left half, the CPU-accessibility mask. In the right
half, the physical drive number.
22.32.26 FUNCTION 32 (.DILKU)
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)
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
22-92
DIAG. [CALLI 163]
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.32.28 FUNCTION 34 (.DIDVR)
Reads the device status registers of devices that yield this
information.
The argument list for this function is:
addr: EXP .DIDVR
SIXBIT /device/
-n,,offset
In the argument list, you can supply the unit or controller name at
addr+1. At addr+2, you supply a negative expression of the number of
words to return, in the left half. In the right half, you can include
the offset into the appropriate data block.
22.32.29 FUNCTIONS 35-77 (Reserved for DIGITAL)
22.32.30 FUNCTION 100 (.DIGTM)
Gets MOS memory (defined in MOSSER).
22.32.31 FUNCTION 101 (.DIGVM)
Sets MOS memory (defined in MOSSER).
22.32.32 FUNCTIONS 102-104 (Reserved)
22-93
DIAG. [CALLI 163]
22.32.33 FUNCTION 105 (.DIRRS)
Resets remote CI node (defined in KLPSER).
22.32.34 FUNCTION 106 (.DISRS)
Starts remote CI node (defined in KLPSER).
22.32.35 FUNCTION 107 (.DIACC)
Manipulates the CI port counters (defined in 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.32.36 FUNCTIONS 110-111 (Reserved for DIGITAL)
22.32.37 FUNCTION 112 (.DIWCM)
Writes CI maintenance data (defined in KLPSER).
22-94
DIAG. [CALLI 163]
22.32.38 FUNCTION 113 (.DIRCM)
Reads CI maintenance data (defined in 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-95
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 and 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.
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
22-96
DISK. [CALLI 121]
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 described in the following sections.
22.33.1 FUNCTION 0 (.DUPRI)
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)
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-97
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)
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)
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)
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-98
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)
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)
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/
22-99
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 DUOIP% Specified controller/channel is being put
off-line.
2 DUOSK% Nonexistent controller.
5 DUOES% Not enough space for IOWDs.
6 DUOPI% Obsolete
22.33.8 FUNCTION 7 (.DUUFD)
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)
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.
6 DUOPI% Obsolete
22-100
DISK. [CALLI 121]
22.33.10 FUNCTION 11 (.DUASW)
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)
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)
Removes a structure from the system dump list. The argument list for
.DURSD is:
addr: SIXBIT /structure/
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-101
DISK. [CALLI 121]
22.33.13 FUNCTION 14 (.DULEN)
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)
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)
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
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 reachable nodes.
3 DN.FLE List information only about EXECUTOR nodes. See
the TOPS-10 DECnet-10 User's Guide for more
information.
22-103
DNET. [CALLI 207]
The function codes and argument lists are described in the following
sections.
22.34.1 FUNCTION 1 (.DNLNN)
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 reachable 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 2 (.DNNDI)
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:
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.
22-104
DNET. [CALLI 207]
o DN.FLK to list only known nodes.
o DN.FLR to list only reachable 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.
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.
4 .DNADR Node address.
5-10 .DNCKT Circuit name, up to 4 ASCIZ words. This string
may contain up to 16 characters.
22.34.3 FUNCTION 3 (.DNSLS)
Shows link status. You must specify the following at addr:
addr: DN.FLS+<.DNSLS,,length>
jobno,,channo
22-105
DNET. [CALLI 207]
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
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.
22-106
DNET. [CALLI 207]
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
Function has been performed successfully.
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.
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
not available. To obtain this information for
jobs other than your own, use the .DUFRE function
of the DISK. UUO.
22-109
DSKCHR [CALLI 45]
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.
16 .DCUID SIXBIT identification of the unit.
17 .DCUFS First logical block to be used for swapping.
22-110
DSKCHR [CALLI 45]
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.
41 .DCMRC Count of blocks read by monitor I/O.
42 .DCMWC Count of blocks written by monitor I/O.
22-111
DSKCHR [CALLI 45]
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 .DCSOF Last error status.
70 .DCHDI Last error status.
71 .DCSDI Last error status.
72 .DCNHG Count of non-recoverable transfer-hung errors.
73 .DCTHG Count of transfer-hung errors.
74 .DCPHG Count of position-hung errors.
22-112
DSKCHR [CALLI 45]
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:
Code Symbol Meaning
0 Monitor cannot determine the
status.
1 .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.
9 DC.MSB Unit has more than one SAT block.
22-113
DSKCHR [CALLI 45]
10 DC.NNA Belongs to a structure that has a lock to prevent
further INIT, LOOKUP, ENTER, OPEN, and
FILOP. calls (NNA indicates "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.
10 .DCCSX SA10 for IBM disks (3330, for
example).
27-29 DC.CNN Controller number; first one of each type is 0.
22-114
DSKCHR [CALLI 45]
30-32 DC.UNT Unit type:
Code Symbol Meaning When
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)
0 .DCUS0 3330 (DC.CNT=17)
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)
1 .DCUS1 3331 (DC.CNT=17)
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
In the calling sequence, the program provides the following variables:
o fcn-code is one of the function codes described below.
o 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
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>
22-116
DTE. [CALLI 170]
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.
10 .DTERJ Sets reload job number. The argument list for the
.DTERJ function is:
addr: EXP jobno
In the argument word, 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
22-117
DTE. [CALLI 170]
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
In the argument word:
o cpuno is the CPU number.
o 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
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:
22-118
DTE. [CALLI 170]
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
In the argument word, 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 Obsolete
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-119
DTE. [CALLI 170]
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.
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.
22-120
DTE. [CALLI 170]
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.
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.
22-121
DTE. [CALLI 170]
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
In the calling sequence, the program supplies the following variables:
o len is the length of the argument block (must be 2).
o addr is the address of the argument block. The first word of
the argument list specifies the devices to list:
o 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 [-n,,m]
format, where n is the number device types to return, and m is the
device type code.
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.
22-123
DVPHY. [CALLI 164]
ERROR RETURN
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
o SYSPHY
o 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
In the calling sequence, the program supplies the following variables:
o device is the SIXBIT physical or logical name of a device to
be designated as being restricted.
o channo is the number of an initialized channel.
o 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
In the calling sequence, the program supplies the following variables:
o device is the SIXBIT physical or logical name of a device
that is to be returned to unrestricted status.
o channo is the number of an initialized channel.
o 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>
.
.
.
In the calling sequence, the program supplies the following variables:
o fcn-code is one of the function codes listed below.
o 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.
6-17 EQ.LNL Number of lock blocks following
22-127
ENQ. [CALLI 151]
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.
The format of a lock block is shown here and described in more detail
on the following pages
Word Symbol Contents
0 .ENQFL flags+<level>B17+channo
1 .ENQBP / flags+user-code \
| user-code |
\ string-pointer /
22-128
ENQ. [CALLI 151]
2 .ENQPS / pool-size,,number \
\ 0,,sharer-group /
3 .ENQMS mask-length,,mask-addr
4 .ENQTB block-length,,block-addr
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.
| 1 EQ.FBL 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.FBL is not set,
| lower-level resources will be
| granted before higher-level
| resources are considered. The
| EQ.FBL flag prevents this
level-checking, allowing
22-129
ENQ. [CALLI 151]
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.
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.FBL (bypass level
22-130
ENQ. [CALLI 151]
| 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.
-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.
22-131
ENQ. [CALLI 151]
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.
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.
22-132
ENQ. [CALLI 151]
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.
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.
22-133
ENQ. [CALLI 151]
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.
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
22-134
ENQ. [CALLI 151]
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.
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.
22-135
ENQ. [CALLI 151]
4 ENQBB% You specified an illegal byte size for the byte
pointer. The byte size must be between 1 and 36,
inclusive.
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-136
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-137
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:
22.41.1 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
. . .
In the argument word:
o addr is the address of the argument list.
o buffer is the address of a buffer (of length locks*3) for
storing the returned three-word status blocks.
o parameters is a word of the form:
<size>B5+<locks>B17+<length>B35
22-138
ENQC. [CALLI 153]
o size is the size of the header block (1 to 3).
o locks is the number of lock blocks in the argument list.
o 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.
o 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.
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.
22-139
ENQC. [CALLI 153]
22.41.2 FUNCTION 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
In the argument word, jobno is the number of the job whose ENQ quota
is required. If jobno is -1, your own job is assumed.
22.41.3 FUNCTION 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
In the argument word:
o quota is the new ENQ/DEQ quota.
o 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-140
ENQC. [CALLI 153]
22.41.4 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
In the argument word:
o addr is the address of a buffer to receive the returned data.
o 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
o DEQ.
o ENQ.
22-141
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
In the call sequence, the program supplies the addr, which 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.
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
22-142
ENTER [OPCODE 077]
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
o CLOSE
o FILOP.
o INIT
o LOOKUP
o OPEN
o RENAME
22-143
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
vector-addr
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument list.
o flag indicates whether the vector is read (0) or set
(EN.SET).
o function is the function code described below.
o 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
vector-addr (if setting), or that the monitor is returning
the start address in vector-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.
o vector-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. The vector-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-144
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-145
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
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument block.
o length is the length of the argument block; the length should
be the number of devices connected to the channel plus two.
o 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
In the argument list, the program supplies the following variables:
o length and channo were given in the call.
o number of devices is the number of devices on the channel
that have encountered errors.
o udx is the Universal Device Index of a device having errors.
o 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-146
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
o CLRST.
o GETSTS
o SENSE.
22-147
ETHNT. [CALLI 223]
22.45 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
In the calling sequence, the program supplies the addr, which 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.
22-148
ETHNT. [CALLI 223]
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
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.
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.
22-149
ETHNT. [CALLI 223]
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.
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.
22-150
ETHNT. [CALLI 223]
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.
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.
22-151
ETHNT. [CALLI 223]
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.
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.
22-152
ETHNT. [CALLI 223]
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.
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.
22-153
ETHNT. [CALLI 223]
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
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-154
ETHNT. [CALLI 223]
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-155
ETHNT. [CALLI 223]
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).
21 .ETRKI Returns all information (except counters) about a
22-156
ETHNT. [CALLI 223]
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.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
22-157
ETHNT. [CALLI 223]
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-158
EXIT [CALLI 12]
22.46 EXIT [CALLI 12]
FUNCTION
Stops job execution and optionally resets the job.
CALLING SEQUENCE
EXIT fcn-code,
continue return
In the calling sequence, the program supplies the following variables:
o 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.
o 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-159
EXIT [CALLI 12]
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
o LOGOUT
o MONRT.
22-160
FILOP. [CALLI 155]
22.47 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.
2 .FOCRE Creates a file.
3 .FOWRT Write a file.
4 .FOSAU Updates a file in exclusive access mode.
5 .FOMAU Updates a file in multiple-access mode.
6 .FOAPP Appends data to a file.
7 .FOCLS Closes a file associated with a specified channel.
10 .FOURB Checkpoints a file.
11 .FOUSI Performs a USETI function.
12 .FOUSO Performs a USETO function.
13 .FORNM Renames a file.
22-161
FILOP. [CALLI 155]
14 .FODLT Deletes a file.
15 .FOPRE Allocates disk space for a file.
16 .FOSIO Opens a device for super-I/O.
17 .FOINP Performs an INPUT function.
20 .FOOUT Performs an OUTPUT function.
21 .FOSET Performs a SETSTS function.
22 .FOGET Performs a GETSTS function.
23 .FOREL Performs a RELEAS function.
24 .FOWAT Waits for I/O to finish.
26 .FORRC Updates a file's RIB.
27 .FOGTF Gets the block number of the first file on a
DECtape.
30 .FOMTP Performs a MTAPE function with extended channels.
31 .FOUTP Clears a DECtape.
32 .FORAW Renames a file with allocation specified in words.
33 .FOFIL Obtains the file specification of any file.
34 .FOFXI Performs a IN function.
35 .FOFXO Performs an OUT function.
Functions 1 through 6 and 13 through 16 use the FILOP. extended
argument list. This argument list is described below, followed by
detailed descriptions of each FILOP. function.
22.47.1 FILOP. Extended Argument List
The argument block for FILOP. Functions 1 through 6, and Functions 13
through 15, looks like this:
22-162
FILOP. [CALLI 155]
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:
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
22-163
FILOP. [CALLI 155]
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 indicated channel.
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.
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.
22-164
FILOP. [CALLI 155]
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.
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.
22-165
FILOP. [CALLI 155]
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.
8 .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 the SKIP RETURN section for the format of
the returned block.
9 .FOBSA Buffer starting address. The left half contains
the starting address of the output buffer ring,
(FO.OSA) the right half holds the starting address
of the input buffer ring, (FO.ISA).
10 .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.47.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
22-166
FILOP. [CALLI 155]
.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.
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.
22-167
FILOP. [CALLI 155]
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.
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
22-168
FILOP. [CALLI 155]
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.
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:
o 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.
o addr2 is the optional address of a word
containing the block number of the file to
perform a USETI to before writing.
22-169
FILOP. [CALLI 155]
The I/O status bits are returned in the ac.
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:
o 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.
o addr2 is the optional address of a word that
contains the block number of the file to
perform a USETO to before reading.
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
22-170
FILOP. [CALLI 155]
has not changed. The argument list for this
function is:
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-171
FILOP. [CALLI 155]
The second word contains the length (len) and
address (addr2) of the block where the file
specification should be stored. This block format
is described in the SKIP RETURN section.
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:
o channo is the channel number from which data
is read from the opened file.
o 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.
o addr2 is the optional 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:
o channo is the channel number on which data is
written to the opened file.
22-172
FILOP. [CALLI 155]
o addr1 is the address of the command list.
Command list format is described above in
.FOFXI.
o addr2 is the (optional) address of a word
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.47.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 although 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 first four words of the extended argument list.
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.
22-173
FILOP. [CALLI 155]
Word Symbol Contents
0 .FOFND Reserved for use by DIGITAL.
1 .FOFDV Device name.
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, as 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
22-174
FILOP. [CALLI 155]
o SETSTS
o SUSET.
o UGETF
o USETI/USETO
o UTPCLR
o WAIT
22-175
FRCUUO [CALLI 106]
22.48 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 /
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list. If you give a zero
len, the default is 1.
o addr is the address of the argument list.
o command is the name of a command (from the list below).
o jobno is the number of a logged-in job. If you omit the
jobno, or specify it as zero, the current job is assumed.
o 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.
.HELLO Connects (greets) the job; this command is forced when
a dataset or network connect occurs, and runs INITIA.
22-176
FRCUUO [CALLI 106]
.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-177
GETLCH [TTCALL 6,]
22.49 GETLCH [TTCALL 6,]
FUNCTION
Returns the line characteristics for a terminal line.
CALLING SEQUENCE
GETLCH addr
return
. . .
addr: XWD 0,lineno
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument list.
o lineno is the line number for the terminal whose
characteristics are required.
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).
22-178
GETLCH [TTCALL 6,]
17 GL.NEC Terminal is in no-echo mode. This characteristic
is set by setting IO.SUP in the OPEN call, or by
SETSTS, or by TRMOP function .TOECH. 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-179
GETLIN [CALLI 34]
22.50 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.
COMMON PROGRAMMING ERRORS
Omitting the comma after the ac.
22-180
GETPPN [CALLI 24]
22.51 GETPPN [CALLI 24]
FUNCTION
Returns the project-programmer number (PPN) for your job.
CALLING SEQUENCE
GETPPN ac,
normal return
skip return
NORMAL RETURN
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.
SKIP RETURN
The skip return is taken if your program has the JACCT bit set and
another job is logged in under the same PPN.
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-181
GETSEG [CALLI 40]
22.52 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
/ EXP 0 \
\ XWD -1,addr3 /
In the calling sequence, the program supplies addr, which is is the
address of the argument block. This argument block is identical to a
LOOKUP/ENTER argument block. These types of argument blocks are
described in Chapter 11 (Volume 1) of the TOPS-10 Monitor Calls
Manual.
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.
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
22-182
GETSEG [CALLI 40]
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.
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 ac.
RELATED CALLS
o MERGE.
o RELEAS
o RUN
o SEGOP.
22-183
GETSEG [CALLI 40]
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-184
GETSTS [OPCODE 062]
22.53 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
In the calling sequence, the program supplies the following variables:
o channo is the channel number of the channel for which the I/O
status word is desired.
o 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-185
GETSTS [OPCODE 062]
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
o CLRST.
o ERLST.
o FILOP.
o SENSE.
o SETSTS
o STATO
o 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-186
GETTAB [CALLI 41]
22.54 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
In the calling sequence, the program supplies the following variables:
o 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.
o 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-187
GOBSTR [CALLI 66]
22.55 GOBSTR [CALLI 66]
FUNCTION
Returns file structure names from a job search list or the system
search list. Privileges are not requires to examine the search list
of any job with your PPN or to examine the system search list.
To use the GOBSTR call for other jobs, 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
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o addr is the address of the argument list.
o 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.
o jobno is the number of a logged-in job (use -1 for the
current job; use 0 for the system search list).
o projno,progno is a project-programmer number (PPN).
o structure is the SIXBIT name of a file structure.
22-188
GOBSTR [CALLI 66]
GOBSTR 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 GOBSTR 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.
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
22-189
GOBSTR [CALLI 66]
RELATED CALLS
o DSKCHR
o JOBSTR
o STRUUO
o SYSSTR
22-190
GTNTN. [CALLI 165]
22.56 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
In the calling sequence, the program supplies the following variables:
o terminal-name is the monitor-assigned name of the terminal,
returned when you use the GETLIN monitor call.
o udx is the Universal Device Index for the terminal.
o 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.
22-191
GTNTN. [CALLI 165]
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.
2 NTTNC% Terminal is not connected.
RELATED CALLS
o GTXTN.
o NETOP.
22-192
GTXTN. [CALLI 166]
22.57 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
In the calling sequence, the program supplies the following variables:
o nodeno is the node number for a terminal.
o 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/
In the argument list, the program supplies the name, which 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
o GTNTN.
o NODE.
22-193
HIBER [CALLI 72]
22.58 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
In the calling sequence, the program supplies the following variables:
o flags specify conditions described below.
o 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 .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-194
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.
ERROR RETURN
The HIBER call takes the error return only if it is not implemented on
your system.
22-195
HIBER [CALLI 72]
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
o SLEEP
o 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-196
HPQ [CALLI 71]
22.59 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
In the calling sequence, the program supplies the queue, which 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
o RTTRP
o TRPSET
o UJEN
22-197
IN [OPCODE 056]
22.60 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
success return
skip return
In the calling sequence, the proram supplies the following variables:
o channo is the number of an initialized I/O channel.
o addr is one of the following:
- If the channel was initialized for dump mode, then addr
gives the address of an I/O command list.
- 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 success return follows the calling instruction and the
error return follows the success return.
SUCCESS RETURN
Data is input from the channel.
SKIP 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.
22-198
IN [OPCODE 056]
RELATED CALLS
o FILOP.
o INPUT
o OUT
o OUTPUT
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-199
INBUF [OPCODE 064]
22.61 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o 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.
RETURN
The buffer ring is set up.
RELATED CALLS
o FILOP.
o OUTBUF
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
22-200
INBUF [OPCODE 064]
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-201
INCHRS [TTCALL 2,]
22.62 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
In the calling sequence, the program supplies the addr, which is the
address of a word to contain the input character.
RETURN
If a character has been input, the monitor copies it, right-justified,
into the word at addr. The remainder of the word is cleared.
RELATED CALLS
o TRMOP.
o TTCALL
COMMON PROGRAMMING ERRORS
Typing a comma after addr.
22-202
INCHRW [TTCALL 0,]
22.63 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
In the calling sequence, the program supplies the addr, which is the
address of the word to receive the ASCII input character.
If no character has been input, the monitor waits for a character.
RETURN
If a character has been input, the monitor places the character,
right-justified, into the word at addr. The remainder of the word is
cleared.
RELATED CALLS
o TRMOP.
o TTCALL
COMMON PROGRAMMING ERRORS
Typing a comma after addr.
22-203
INCHSL [TTCALL 5,]
22.64 INCHSL [TTCALL 5,]
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
In the calling sequence, the program supplies the following variables:
o addr is the address of the word to receive the character
(right-justified; the rest of the word is cleared).
o return 1 is the return instruction when a line break has not
been input from the terminal
o 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, right-justified in
addr; if not, it returns at return 1.
RELATED CALLS
o TRMOP.
o TTCALL
COMMON PROGRAMMING ERRORS
Typing a comma after addr.
22-204
INCHWL [TTCALL 4,]
22.65 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
In the calling sequence, the program supplies the addr, which gives
the address of the word to contain the input character.
RETURN
The character is right-justified in the word at addr. The remainder
of the word is cleared.
RELATED CALLS
o TRMOP.
o TTCALL
COMMON PROGRAMMING ERRORS
Typing a comma after addr.
22-205
INIT [OPCODE 041]
22.66 INIT [OPCODE 041]
Obsolete; use OPEN or FILOP. monitor calls.
22-206
INPUT [OPCODE 066]
22.67 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o addr is one of the following:
- If the channel is initialized for dump mode, then addr
gives the address of an I/O command list.
- 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
o FILOP.
o IN
o OUT
o OUTPUT
22-207
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:
?Illegal address in UUO as 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-208
IONDX. [CALLI 127]
22.68 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
In the calling sequence, the program supplies the following variables:
o device is the SIXBIT physical or logical name of a device for
which its UDX is desired.
o 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-209
IONEOU [TTCALL 15,]
22.69 IONEOU [TTCALL 15,]
FUNCTION
Sends an 8-bit image character to the terminal's output buffer.
CALLING SEQUENCE
IONEOU addr
return
In the calling sequence, the program supplies the addr, which contains
the 8-bit character in bits 28 to 35.
RETURN
The 8-bit character is output to the terminal in image mode.
RELATED CALLS
OUTCHR
COMMON PROGRAMMING ERRORS
Typing a comma after addr.
22-210
IPCFM. [CALLI 217]
22.70 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
In the calling sequence, the program supplies the following variables:
o addr is the address of the packet header block.
o flags are one or both of the flags in the packet header
block.
o dest is the destination PID.
o 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-211
IPCFM. [CALLI 217]
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.
22-212
IPCFM. [CALLI 217]
The message block for [SYSTEM]INFO is:
Word Symbol Contents
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
o .IPCFQ
o .IPCFR
o .IPCFS
22-213
IPCFQ. [CALLI 144]
22.71 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
In this calling sequence, the program supplies the following
variables:
o len is the length of the block (4 to 6 words) at addr to
receive returned data.
o 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.
22-214
IPCFQ. [CALLI 144]
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
IPCF calls are listed under the IPCFR. call.
RELATED CALLS
o IPCFM.
o IPCFR.
o IPCFS.
22-215
IPCFR. [CALLI 142]
22.72 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
In the calling sequence, the program supplies the following variables:
o len is the length of the packet header block.
o addr is the address of the packet header block.
o flags is the flag word (.IPCFL) in the packet header block.
o 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.
o 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.
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
22-216
IPCFR. [CALLI 142]
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 an existing page, error code
IPCUP% 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
privileges.
1 IP.JLG Sender is logged in.
22-217
IPCFR. [CALLI 142]
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.
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.
22-218
IPCFR. [CALLI 142]
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.
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
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.
22-219
IPCFR. [CALLI 142]
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 [SYSTEM]INFO successed, and a normal return was taken.
The number of packets still in the queue is stored in the ac.
RELATED CALLS
o IPCFM.
o IPCFQ.
o IPCFS.
22-220
IPCFS. [CALLI 143]
22.73 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)
In the calling sequence, the program suppies the following variables:
o 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.
o addr is the address of the packet header block.
o flags is the flag word in the packet header block.
o sender's PID is Word 1 of the packet header block.
o receiver's PID is Word 2 in the packet header block.
o 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.
o addr2 is the address of the packet message block.
o message-word-0 through message-word-n are the words making up
the packet message block. Refer to Chapter 7 for more
information.
22-221
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
22-222
IPCFS. [CALLI 143]
RELATED CALLS
o IPCFM.
o IPCFQ.
o IPCFR.
22-223
JBSET. [CALLI 113]
22.74 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
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o addr is the address of the argument list.
o jobno is the number of the job for which the SETUUO function
is to be performed.
o fcn-code is one of the function codes described under SETUUO.
o 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-224
JOBPEK [CALLI 103]
22.75 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
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument list.
o flags are one or more of the optional flags listed below.
o jobno (JK.JOB) is the number of the logged-in job whose core
is to be read or written, stored in Bits 9-17.
o 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.
o readaddr is the location of the first word to be read.
o writeaddr is the location of the first word to be written.
22-225
JOBPEK [CALLI 103]
Format 2:
MOVE ac,[length,,addr]
JOBPEK ac,
error return
skip return
. . .
addr: EXP <flags>+countB17+JCHB35
EXP 0
XWD readaddr
XWD writeaddr
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument list.
o flags are one or more of the flags listed below.
o 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.
o JCH (JK.JCH) is the job/context handle of the job whose core
is to be read or written, stored in Bits 18-35.
o readaddr is the 30-bit address giving the location of the
first word to be read.
o 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.
22-226
JOBPEK [CALLI 103]
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.
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-227
JOBSTR [CALLI 47]
22.76 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
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list (.DFJBL).
o 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 -1 to obtain the first
structure in your active search list, or 0 to obtain the
first structure in your job's passive search list (after
FENCE in search list returned by SETSRC program).
o 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-228
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
o DVPHY.
o GOBSTR
o SYSPHY
o SYSTR
22-229
JOBSTS [CALLI 61]
22.77 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
In the calling sequence, the program supplies the following variables:
o udx is the Universal Device Index of the pseudo-terminal for
which information is desired.
o channo is the number of an I/O channel on which a terminal
device has been opened.
o 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.
22-230
JOBSTS [CALLI 61]
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
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.
22-231
JOBSTS [CALLI 61]
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-232
KDP. [CALLI 200]
22.78 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
In the calling sequence, the program supplies the following variables:
o len is the length of the argument block.
o 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.
22-233
KDP. [CALLI 200]
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.
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-234
LATOP. [CALLI 221]
22.79 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, the program supplies 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 connects.
4 .LASAS Shows adjacent servers.
5 .LASCO Shows LAT counters.
6 .LAZCO Clears LAT counters.
7 .LARHC Requests host-initiated connect.
10 .LATHC Terminates a host-initiated connect.
11 .LASHC Shows information about host-initiated
connects.
The argument list is different for each function code. Therefore, the
arguments are desribed for each function code in the following
sections.
22.79.1 FUNCTION 0 (.LASET)
Sets LAT parameters for the local node. The parameters you set using
this function are dynamic parameters stored only in the host software.
22-235
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 connections.
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.)
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.
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
22-236
LATOP. [CALLI 221]
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
rating has been set, then the rating is automatically
reset to the default value.
22-237
LATOP. [CALLI 221]
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.79.2 FUNCTION 1 (.LACLR)
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.79.3 FUNCTION 2 (.LASCH)
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
1 .LAFCN EXP .LASCH
2 .LABCT EXP buffer-length
3 .LABFA EXP buffer-addr
22-238
LATOP. [CALLI 221]
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.
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-239
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.79.4 FUNCTION 3 (.LASTC)
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 connect. If the bit
is clear, the short connect block
is returned. (Refer to Tables
22-6 and 22-5, respectively.)
1-17 Reserved for use by DIGITAL.
18-35 LA.BCT Number of words reserved for the
returned connect block. On a
skip return from the monitor
call, this field will be filled
in with actual number of words
used.
22-240
LATOP. [CALLI 221]
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 adjusted to reflect the actual number of words returned.
Each connect block returned starting at 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. Table 22-6
describes the Extended Connect Block. In this case, the extended
connect block format is returned for each active connection. The
Short Connect Block is described in Table 22-5.
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 |
|--------------------------------------------------------------|
| 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
22-241
LATOP. [CALLI 221]
3 .LAAPP LAT application terminal
22.79.5 FUNCTION 4 (.LASAS)
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.
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 |
22-242
LATOP. [CALLI 221]
|----------------------------------------------------------------|
| 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.79.6 FUNCTION 5 (.LASCO)
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
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.
22-243
LATOP. [CALLI 221]
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.79.7 FUNCTION 6 (.LAZCO)
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:
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-244
LATOP. [CALLI 221]
22.79.8 FUNCTION 7 (.LARHC)
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 will be
queued at the LAT server.
2-17 Reserved for DIGITAL.
18-35 LA.CID Contains the Connect-Id on the
return.
3 .LAVAL Contains the terminal number and UDX on a
successful return. If the return is unsuccessful,
this word contains a rejection code. Rejection
codes are listed in Table 22-10.
4 .LASVR Server name.
5 .LASVC Service name.
6 .LAPRT Port name.
Each of the last three words of the argument list specify:
1. the server name to connect to
2. the service name requested
3. 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.
22-245
LATOP. [CALLI 221]
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:
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.
22-246
LATOP. [CALLI 221]
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.79.9 FUNCTION 10 (.LATHC)
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.79.10 FUNCTION 11 (.LASHC)
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
22-247
LATOP. [CALLI 221]
1 .LAFCN EXP .LASHC
2 .LABCT Buffer count word. Store the length of the buffer
reserved for the information in the right half of
this word. The monitor will return the number of
words actually used in the left half of this word.
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 format of the Status
Block is shown in Table 22-11.
4 .LAQUA Connect-id word. The word is formatted as
follows:
Bits Symbol Meaning
0-1 Ignored.
2 LA.SYS Returns information on
host-initiated connects.
18-35 LA.CID Connect-id, or zero.
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) |
+-------------------------------------------------+
The status field in the left half of addr+1 may contain any of the
following:
o A rejection code (described in Table 22-10)
o A Universal Device Index for a terminal
22-248
LATOP. [CALLI 221]
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.
16 LACID% Invalid or unknown LAT connect-id.
17 LAABL% Argument list too large.
22-249
LLMOP. [CALLI 220]
22.80 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
In the calling sequence, the program supplies the following variables:
o fcncode is the function code. The argument block found at
addr is specific to the function code contained in ac1.
o addr is the address of the argument block.
Function codes for LLMOP. are described in the following subsections.
22.80.1 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-17 LM.PID Port ID.
18-35 LM.REQ Contains the request number
returned by LLMOP. This value
is used in function .ELRPY.
22-250
LLMOP. [CALLI 220]
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.
22.80.2 FUNCTION 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.
22.80.3 FUNCTION 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 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.
22-251
LLMOP. [CALLI 220]
22.80.4 FUNCTION 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.
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.
22.80.5 FUNCTION 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 aborted.
22.80.6 FUNCTION 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.
1 .LMSTF Status code for the request. The right half,
LM.RTC, contains one of the following status
codes:
22-252
LLMOP. [CALLI 220]
Code Symbol Status
0 .LMPND Request pending, incomplete.
1 .LMSUC Request was 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.
22.80.7 FUNCTION 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.
22.80.8 FUNCTION 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.80.9 FUNCTION 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.
22-253
LLMOP. [CALLI 220]
22.80.10 FUNCTION 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.
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.
6 .LMDID Device ID in an 8-bit byte string.
7 .LMSID Software ID in an 8-bit byte string.
22.80.11 FUNCTION 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.
22-254
LLMOP. [CALLI 220]
22.80.12 FUNCTION 13 (.RCRSV)
Transmits a reserve remote console MOP message. The argument block
contains .LMCID, .LMDST, and .LMPWD, as described in function .RCRBT.
22.80.13 FUNCTION 14 (.RCREL)
Transmits a release remote console MOP message. The argument block
contains .LMCID and .LMDST.
22.80.14 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.
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-255
LLMOP. [CALLI 220]
22.80.15 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.
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.
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.
22.80.16 FUNCTION 17 (.RCAIC)
Assigns an interrupt channel to a remote console. Argument block is
identical to that of .ELAIC.
22-256
LLMOP. [CALLI 220]
22.80.17 FUNCTION 20 (.RCABT)
Aborts an outstanding remote console request. The argument block is
identical to that of .ELABT.
22.80.18 FUNCTION 21 (.RCSTS)
Obtains status of a remote console request. The argument block is
identical to that of .ELSTS.
22.80.19 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 LMILF% 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-257
LOCATE [CALLI 62]
22.81 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
In the calling sequence, the program supplies the following variables:
o nodename is the SIXBIT physical name of a node.
o 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-258
LOCATE [CALLI 62]
EXAMPLES
MOVEI T1,3
LOCATE T1,
JRST ERROR
Locates your job at node number 3.
RELATED CALLS
WHERE
22-259
LOCK [CALLI 60]
22.82 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
In the calling sequence, the program supplies the flags, which include
one or more of the following bits:
Bit Symbol Function
13 LK.HHP Allows locking the high segment in core above the
first 256K of physical core, if LK.HNP is not set.
Without this provision, the UUO will fail if the
high segment cannot be fit entirely within the
first 256K of core.
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
22-260
LOCK [CALLI 60]
the locked high segment is required. To expand
| the physically contiguous high segment segment
| beyond 256K, set the LK.HHP bit (Bit 13) instead
of LK.HNP.
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.
| 31 LK.LHP Allows locking the low segment in core above the
first 256K of addressing space, if LK.LNP is not
| set. If you do not set LK.LHP, locking of
| physically contiguous memory is limited to 256K of
core memory.
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. In this
case, the low segment is restricted to 256K of
| memory. To expand beyond 256K, set the LK.LHP
| flag (Bit 31) instead of LK.LNP.
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.
22-261
LOCK [CALLI 60]
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.
CALLING SEQUENCE 2
MOVE ac,[XWD -n,addr]
LOCK ac,
error return
skip return
. . .
addr: argument-list
In the calling sequence, the program supplies the following variables:
o n is the number of arguments plus one, expressed as a
negative value.
o addr is the address of the argument list. The argument list
depends on the function code you specify in this word.
o fcn-code is one of the function codes described below.
o 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
22-262
LOCK [CALLI 60]
The contents of addr+1 include flag bits in the
left half and the segment number of the segment to
be locked in the right half. If you specify the
segment number as 0, the low segment will be
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 physical page number is
returned in Bits 6-17
(LK.2PP).
2 LK.2EV Lock the segments into Exec
Virtual Memory (EVM). On a
skip return, the virtual page
number will be returned in
Bits 6-17 (LK.2PP).
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).
26-35 LK.2SN This field specifies the
segment number that you want
locked. If this field is
zero, the low segment is
assumed.
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 page number of the high
segment (0 if no high segment exists). The right half contains
lowseg, the page number of the low segment.
If no contiguity is required, the ac is cleared.
22-263
LOCK [CALLI 60]
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).
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, has a sharable high
segment, or both segments were locked.
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.
22-264
LOCK [CALLI 60]
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
o RESET
o UNLOK.
22-265
LOGIN [CALLI 15]
22.83 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 # ;.PDCNO (.GTCNO)
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o 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
o ACCLG.
o CHGPPN
o LOGOUT
22-266
LOGOUT [CALLI 17]
22.84 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-267
LOOKUP [OPCODE 076]
22.85 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.
The calling sequence for the LOOKUP UUO is:
LOOKUP channo,addr
error return
skip return
In the call sequence, the program supplies the addr, which is the
address of the argument list. Refer to Volume 1, Section 11.13 for
more information about the argument list.
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.
22-268
LOOKUP [OPCODE 076]
2 Remainder of creation date:
Bits Contents
0-23 Reserved.
24-35 The low-order 12 bits of the file creation date.
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-269
MERGE. [CALLI 173]
22.86 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 /
/ low-page,,hi-page \
| -n,,addr2 |
| EXP 0 |
\ 0 (reserved) /
...
addr2: section-offset
low-page,,high-page*(n-1 times)
In the calling sequence, you supply addr, which is the address of the
argument block (identical to the LOOKUP/ENTER argument block). This
argument block is described more fully in Volume 1, Chapter 11.
At addr+5, however, 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.
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. Placing zero in the last word causes the low-segment pages in
the .EXE file to be merged.
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.
22-270
MERGE. [CALLI 173]
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-271
MONRT. [CALL 1,12]
22.87 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-272
MSTIME [CALLI 23]
22.88 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
o DATE
o RUNTIM
o TIMER
22-273
MTAID [CALLI 126]
22.89 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
In the calling sequence, the program supplies the following variables:
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.
o 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-274
MTAID [CALLI 126]
EXAMPLES
MOVE T1,[SIXBIT/MTA0/]
MOVE T1+1,[SIXBIT/REEL1/]
MTAID. T1,
JRST ERROR
RELATED CALLS
o MTAPE
o MTCHR.
o TAPOP.
22-275
MTAPE [OPCODE 072]
22.90 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 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.
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-276
MTBLK. [MTAPE 13]
22.91 MTBLK. [MTAPE 13]
FUNCTION
Writes three inches of blank tape. Use FILOP. to perform an MTBLK. on
an extended I/O channel.
CALLING SEQUENCE
MTBLK. channo,
return
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return where none exists.
Forgetting to include a comma after the channel number.
22-277
MTBSF. [MTAPE 17]
22.92 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
In the calling sequence, the program supplies the channo, which 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.
EXAMPLES
MTBSF. 5,
Backspaces over 1 file on the tape associated with channel 5.
22-278
MTBSF. [MTAPE 17]
RELATED CALLS
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-279
MTBSR. [MTAPE 7]
22.93 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return where none exists.
Forgetting to include a comma after the channel number.
22-280
MTCHR. [CALLI 112]
22.94 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
BLOCK 20
In the calling sequence, the program supplies the following variables:
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.
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.
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.
22-281
MTCHR. [CALLI 112]
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
Bits/inch: Rows/mm:
1 .MTDN2 200 8.1
2 .MTDN5 556 22.5
3 .MTDN8 800 32.2
4 .MTD16 1600 65.3
5 .MTD62 6250 255.5
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.)
If you use the optional argument list, the monitor returns data at
addr and the subsequent locations. The information, starting addr, 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.
22-282
MTCHR. [CALLI 112]
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.
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-283
MTDEC. [MTAPE 100]
22.95 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return where none exists.
Forgetting to include a comma after the channel number.
22-284
MTEOF. [MTAPE 3]
22.96 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-285
MTEOT. [MTAPE 10]
22.97 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-286
MTIND. [MTAPE 101]
22.98 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-287
MTLTH. [MTAPE 200]
22.99 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-288
MTREW. [MTAPE 1]
22.100 MTREW. [MTAPE 1]
FUNCTION
Rewinds a magtape. Use FILOP. to perform MTREW. on an extended I/O
channel.
CALLING SEQUENCE
MTREW. channo,
return
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-289
MTSKF. [MTAPE 16]
22.101 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-290
MTSKR. [MTAPE 6]
22.102 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
In the calling sequence, the program supplies the channo, which 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-291
MTUNL. [MTAPE 11]
22.103 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
In the calling sequence, the program supplies channo, which 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]
In the message, the following variables are supplied by the monitor:
o x is an alphabetic representing the tape controller.
o n is a number representing the drive number.
o reelid is the reel identification.
o a is the number of characters read.
o b is the number of hard-read errors.
o c is the number of soft-read errors.
o d is the number of characters written.
22-292
MTUNL. [MTAPE 11]
o e is the number of hard-write errors.
o 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
o FILOP.
o TAPOP.
COMMON PROGRAMMING ERRORS
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-293
MTWAT. [MTAPE 0]
22.104 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
In the calling sequence, the program supplies the channo, which 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.
Forgetting to include a comma after the channel number.
22-294
MVHDR. [CALLI 131]
22.105 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o outring is the new address of the output buffer ring control
block, or 0.
o 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-295
NETOP. [CALLI 226]
22.106 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
In the calling sequence, the program supplies the arglst, which 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-296
NETOP. [CALLI 226]
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.
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
22-297
NETOP. [CALLI 226]
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-298
NODE. [CALLI 157]
22.107 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
In the calling sequence, the program supplies the following variables:
o fcncode is one of the function codes described below.
o addr is the address of the argument list.
o 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 described in the following
sections.
22.107.1 FUNCTION 1 (.NDALN)
Reserved for use by DIGITAL.
22.107.2 FUNCTION 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
In the argument word, 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-299
NODE. [CALLI 157]
22.107.3 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
In the argument word:
o 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.
o node-id is the SIXBIT node name or octal node number of the
node.
o send-bytes is the number of 8-bit bytes to be sent.
o send-buffer is the address of the first byte of the message.
o 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.
o 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.107.4 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
22-300
NODE. [CALLI 157]
In the argument word:
o count is the number of 8-bit bytes to be received.
o 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.
22.107.5 FUNCTION 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
In the argument word:
o len is the length of the argument list (len-1 = number of
following arguments).
o 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.
o buflength is the number of words to reserve for the returned
data.
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
22-301
NODE. [CALLI 157]
22.107.6 FUNCTION 6 (.NDOUT)
Obsolete.
22.107.7 FUNCTION 7 (.NDIN)
Obsolete.
22.107.8 FUNCTION 10 (.NDTCN)
Connects remote terminals to the local system. The argument list for
.NDTCN is:
addr: EXP 2
XWD node,line
In the argument word:
o node is the octal number of the node to which the terminal is
connected.
o 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.
22.107.9 FUNCTION 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
In the argument word:
o m is the length of the argument block (either 2 or 3).
o TTYnnu is the terminal name of the local terminal to be
reconnected or disconnected.
o node-number is the number of the node to which you wish the
terminal to be reconnected. This word is optional.
22-302
NODE. [CALLI 157]
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.
22.107.10 FUNCTION 12 (.NDLND)
Returns the list of defined nodes. The argument list is:
addr: EXP n
arg1
...
argn
In the argument word, 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.
22.107.11 FUNCTION 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
In the argument word:
o n is the length of the argument block.
o node-id is either an octal node number or a SIXBIT node name.
o sub-fcn-code is the sub-function code that specifies the type
of information to be returned.
o arg1 through argn are words that your program reserves for
the information returned by the monitor.
22-303
NODE. [CALLI 157]
Code Symbol Meaning
1 ND.NNM Returns the number of the node.
2 ND.SNM Returns the SIXBIT name of the node.
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
In the argument word:
o cost is the line cost.
o 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.
16 ND.CNF Returns the device configuration for a node in the
following format:
XWD obj-type,number
In the argument word:
22-304
NODE. [CALLI 157]
o obj-type is the NCL device type.
o 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.
22.107.12 FUNCTION 14 (.NDGNF)
Sets or reads the "greeting" node flag. The format of the argument
list is:
addr: EXP 2
node-number
arg
In the argument word, 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.
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,
22-305
NODE. [CALLI 157]
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-306
NSP. [CALLI 205]
22.108 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
XMOVEI ac,addr
NSP. ac,
error return
skip return
. . .
addr: argument 1
argument 2
argument 3
In the calling sequence, the program supplies addr, 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.
14 .NSFIS Send interrupt data.
15 .NSFIR Receive interrupt data.
22-307
NSP. [CALLI 205]
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.
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.
22-308
NSP. [CALLI 205]
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-309
NTMAN. [CALLI 206]
22.109 NTMAN. [CALLI 206]
FUNCTION
Performs various functions for the network management 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
In the calling sequence, the program supplies the addr, which is the
address of the argument block.
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-310
NTMAN. [CALLI 206]
| 3 .NTFNC 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.
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.
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.
22-311
NTMAN. [CALLI 206]
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 NEINI% 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.
-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-312
OPEN [OPCODE 050]
22.110 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
In the calling sequence, the program supplies the following variables:
o channo is the number of a channel.
o addr is the address of the argument list.
The argument list is described in the following subsections.
22.110.1 ARGUMENT WORD 0 (.OPMOD)
Contains 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-313
OPEN [OPCODE 050]
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.
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.
22-314
OPEN [OPCODE 050]
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.SVF 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).
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).
22-315
OPEN [OPCODE 050]
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).
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.
13 .IOIBN Image binary mode (for disk,
DECtape, magtape, plotter,
card device, or papertape
device).
14 .IOBIN Binary mode (for same devices
as .IOIBN).
22-316
OPEN [OPCODE 050]
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).
22.110.2 ARGUMENT WORD 1 (.OPDEV)
SIXBIT physical or logical name or UDX of the device to be initialized
on the channel.
22.110.3 ARGUMENT WORD 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.
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
22-317
OPEN [OPCODE 050]
; 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
;Command list for output
OUTLST: IOWD BUFSIZ,BUFFER ;Write BUFSIZ words from buffer
EXP 0 ;End of command list
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
o FILOP.
o INIT
22-318
OTHUSR [CALLI 77]
22.111 OTHUSR [CALLI 77]
FUNCTION
Determines whether other jobs are logged in under your
project-programmer number (PPN).
CALLING SEQUENCE
OTHUSR ac,
error 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.
ERROR 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-319
OUT [OPCODE 057]
22.112 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
success return
error return
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
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 In dump mode, addr is the address of the first word of the
command list. See IN call.
SUCCESS 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-320
OUT [OPCODE 057]
RELATED CALLS
o FILOP.
o IN
o INPUT
o OUTPUT
COMMON PROGRAMMING ERRORS
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-321
OUTBUF [OPCODE 065]
22.113 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o 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
o FILOP.
o INBUF
COMMON PROGRAMMING ERRORS
See the INBUF call for some common errors and their explanations.
22-322
OUTCHR [TTCALL 1,]
22.114 OUTCHR [TTCALL 1,]
FUNCTION
Sends an ASCII character to the job's controlling terminal.
CALLING SEQUENCE
OUTCHR location
return
In the calling sequence, the program supplies the location, which is
the address of the word containing the output character; the ASCII
code for the character is right justified in bits 28-35 of location.
RETURN
The monitor takes a right-justified ASCII code from bits 28-35 of
location and displays the character on the user terminal.
o OUTSTR
o TRMOP.
COMMON PROGRAMMING ERRORS
o Typing a comma after location.
o Assuming OUTCHR takes an immediate value in the effective
address field.
22-323
OUTPUT [OPCODE 067]
22.115 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o addr is one of the following:
- If the channel was initialized for dump mode, then addr
is the address of an I/O command list.
- 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.
- 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
o FILOP.
o IN
o INPUT
o OUT
COMMON PROGRAMMING ERRORS
Same as IN call.
22-324
OUTSTR [TTCALL 3,]
22.116 OUTSTR [TTCALL 3,]
FUNCTION
Sends an ASCIZ string to the user terminal.
CALLING SEQUENCE
OUTSTR addr
return
. . .
addr: ASCIZ/string/
In the calling sequence, the program supplies the following variables:
o addr is the address of the ASCIZ string to be displayed on
the terminal.
o string is the string to be sent.
RETURN
The string is displayed on the user terminal.
EXAMPLES
See OPEN call.
RELATED CALLS
o OUTCHR
o TRMOP.
COMMON PROGRAMMING ERRORS
Typing a comma after addr.
22-325
PAGE. [CALLI 145]
22.117 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
skip return
. . .
addr: length
first argument
. . .
last argument
In the calling sequence, the program supplies the following
information:
o fcncode is one of the function codes described below.
o addr is the address of the argument list.
o 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 cannot be 0.
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 -2 in length, for a PAGEM.
function on the argument word [400,,200] includes the page
numbers [401,,201].
22-326
PAGE. [CALLI 145]
The pages you can specify are restricted by the following attributes:
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 described in the following
sections.
22.117.1 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
In the argument word:
o pageno is the number of the page to be swapped (in the range
0-511 on a KS, or 0-16383 on a KL).
o flags are optional and may include:
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.117.2 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
22-327
PAGE. [CALLI 145]
specified pages must be in ascending order. Each argument word is of
the form:
XWD flags,pageno
In the argument word:
o 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.
o flags are optional and may include:
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%.
22.117.3 FUNCTION 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
In the argument word:
o source is the page number of the page to be moved.
o destination is the page number of the location to receive the
page.
o 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-328
PAGE. [CALLI 145]
22.117.4 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
In the argument word:
o pageno is the page number of the page whose bit is to be
changed.
o flags are optional and may include:
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 the fact that the page does not
exist, suppressing error codes PAGME% and
PAGCE%.
22.117.5 FUNCTION 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-329
PAGE. [CALLI 145]
22.117.6 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.
22.117.7 FUNCTION 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 skip 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 and
PA.GSP is clear, 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.
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 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
22-330
PAGE. [CALLI 145]
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 and PA.GSP is clear.
22.117.8 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 skip 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.
22.117.9 FUNCTION 10 (.PAGCB)
Sets or clears the cache bit for the page.
This function sets or clears the cache bit on a per-page basis (KL10
and KS10 only). The argument word format is as follows:
Bits Meaning
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
22-331
PAGE. [CALLI 145]
cache bit is clear.
1 Reserved.
2 This bit, PA.GDC, ignores the fact that a page doesn't
exist, suppressing error code PAGME%.
3-26 Reserved.
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.
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 and does not have JACCT
privileges.
22.117.10 FUNCTION 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
In the arguments,
o flags are optional and may include:
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.
o source is the page number of the source page. If UU.PHY is
set in the PAGE. monitor call itself, source is a physical
22-332
PAGE. [CALLI 145]
page in memory. If UU.PHY is not set, source is a monitor
virtual address mapped through the executive page map.
o 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.117.11 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
In the argument, 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.117.12 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.
22-333
PAGE. [CALLI 145]
The argument list is of the form:
EXP count
EXP attribute-settings
EXP care-mask
EXP starting-page-no
In the argument list:
o count is the number of arguments.
o 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.
o 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.
o starting-page-no specifies the page number of the page that
is mapped to Bit 0 of the mask.
The bit map is returned starting at addr+4.
22.117.13 FUNCTION 14 (.PAGAL)
Determines the type of access allowed for a given page. The argument
block is:
EXP count
EXP starting-page
In the argument word:
o count is the number of arguments.
o 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.
This function returns the access type starting at addr+3.
22-334
PAGE. [CALLI 145]
22.117.14 FUNCTION 15 (.PAGLP)
Locks and unlocks the specified pages in core. The argument word is
formatted as:
Bits Symbol Meaning
0 PA.GAF Locks the page.
1 PA.GEV Modifier bit. If set, this function is for Exec
Virtual Memory.
2 PA.GDC Suppresses errors PAGWL% (already write-locked)
and PAGWE% (already write-enabled).
3-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.
22.117.15 FUNCTION 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.
SKIP RETURN
The specified function has been performed; the ac is unchanged.
To perform paging functions without undue interruption, the monitor
places pages in a private queue for the job. Thus, if the job blocks
without 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.
22-335
PAGE. [CALLI 145]
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.
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-336
PATH. [CALLI 110]
22.118 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
skip return
. . .
addr: argument list
In the calling sequence, the program supplies the following variables:
o 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.
o 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-337
PATH. [CALLI 110]
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.
-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.)
22-338
PATH. [CALLI 110]
-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.
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.
22-339
PATH. [CALLI 110]
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 is
associated with
the specified
device or
channel.
1 .PTSLJ Job search list.
2 .PTSLA ALL search list.
3 .PTSLS SYS search list.
PT.SLT is applicable only when a
device name or channel number is
specified in .PTFCN.
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: is
defined for your job. If LIB: is
defined, it 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 .PTFSN.
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].
22-340
PATH. [CALLI 110]
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
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-341
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 |
+-----------------------------------------------------------+
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.
22-342
PATH. [CALLI 110]
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.
-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.
22-343
PATH. [CALLI 110]
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.
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
22-344
PATH. [CALLI 110]
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.
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, except that the length
of the entire list of sub-blocks (including the header) may not exceed
144 octal words.
SKIP 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.
22-345
PATH. [CALLI 110]
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.
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-346
PEEK [CALLI 33]
22.119 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
In the calling sequence, the program supplies the addr, which 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
o PAGE.
o POKE.
o SPY
22-347
PERF. [CALLI 162]
22.120 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
skip return
. . .
addr: XWD fcncode,faddr
. . .
XWD fcncode,faddr
In the calling sequence, the program supplies the following variables:
o n is the number of function words specified in the argument
block, which begins at addr.
o 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.
o fcncode is one of the function codes described on the
following pages of this manual.
o 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-348
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.
2 PM.PI2 Enable for channel 2.
22-349
PERF. [CALLI 162]
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-350
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.
SKIP 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.
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-351
PIBLK. [CALLI 212]
22.121 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
skip return
SKIP 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
o DEBRK.
o PIFLG.
o PIINI.
o PIJBI.
o PIRST.
o PISAV.
o PISYS.
o PITMR.
22-352
PIFLG. [CALLI 216]
22.122 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.
This call does not cause an interrupt when UUO interrupts are enabled.
CALLING SEQUENCE
/ MOVEI ac,.PSFRD \
\ MOVE ac,[flags,,.PSFWT] /
PIFLG. ac,
error return
skip return
In the calling sequence, the program supplies the flags, which 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.
SKIP 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.
22-353
PIFLG. [CALLI 216]
RELATED CALLS
o DEBRK.
o PIBLK.
o PIINI.
o PIJBI.
o PIRST.
o PISAV.
o PISYS.
o PITMR.
22-354
PIINI [CALLI 135]
22.123 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
skip return
. . .
addr: interrupt vector block address
In the calling sequence, the program supplies the following variables:
o 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.
o addr is the base address of the first interrupt vector block
(described below).
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 program. The program supplies a 30-bit
address if you have not set PS.IEA (above). If
PS.IEA is not set, the left-hand half of this word
is ignored.
22-355
PIINI [CALLI 135]
1 .PSVOP Old program counter; this is the address of the
next instruction after the instruction that was
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.
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 Obsolete.
18-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.
22-356
PIINI [CALLI 135]
3 .PSVIS Interrupt status. When this auxiliary word is
returned by a device I/O interrupt, it contains:
udx,,file-status
SKIP 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
o DEBRK.
o PIBLK.
o PIFLG.
o PIJBI.
o PIRST.
o PISAV.
o PISYS.
o PITMR.
22-357
PIJBI [CALLI 175]
22.124 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
skip return
In the calling sequence, the program supplies the following variables:
o target is either the job context number of the job to
interrupt, or the job number of the job to interrupt.
o 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.
SKIP RETURN
The interrupted job will receive a word of the following form:
[source,,status]
22-358
PIJBI [CALLI 175]
In the argument word:
o source is the job context number of the job that performed
the PIJBI. call.
o status is the status that the job included in the call.
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
o DEBRK.
o PIBLK.
o PIFLG.
o PIINI.
o PIRST.
o PISAV.
o PISYS.
o PITMR.
22-359
PIRST. [CALLI 141]
22.125 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
skip return
In the calling sequence, the program supplies the buffer, which is the
address of the data saved by a PISAV. monitor call.
SKIP 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
o DEBRK.
o PIBLK.
o PIFLG.
o PIINI.
o PIJBI.
o PISAV.
o PISYS.
o PITMR.
22-360
PISAV. [CALLI 140]
22.126 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
skip return
. . .
buffer: BLOCK buflength
In the calling sequence, the program supplies the following variables:
o 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.
o buffer is the address of the buffer.
SKIP 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-361
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
o DEBRK.
o PIBLK.
o PIFLG.
o PIINI.
o PIJBI.
o PIRST.
o PISYS.
o PITMR.
22-362
PISYS. [CALLI 136]
22.127 PISYS. [CALLI 136]
FUNCTION
Controls the program interrupt facility during execution.
CALLING SEQUENCE
MOVE ac,[EXP flags+addr]
PISYS. ac,
error return
skip return
. . .
addr: / SIXBIT/device/ \
| EXP channo |
| EXP udx |
\ EXP condition /
XWD vector-offset,reasons
XWD priority, 0
In the calling sequence, the program supplies the following variables:
o flags are one or more of the function flags described below.
o addr is the address of the argument list.
o device is the SIXBIT physical or logical name of an
initialized device.
o channo is the number of an initialized channel.
o udx is the Universal Device Index for a device.
o condition is one of the non-I/O condition codes described
below. (See Table 22-14.)
o 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).
o reasons are flags (described below) specifying the device I/O
conditions that can cause an interrupt.
o 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-363
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. You can include these codes in addr to enable PISYS.
interrupts.
Table 22-14: PSI Interrupt Codes (Non-I/O Interrupts)
______________________________________________________________________
Code Symbol Meaning
______________________________________________________________________
-1 .PCTLE Time limit exceeded for non-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. After you enable this
condition with PISYS., use the PITMR. call to
control timer interrupts.
-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.
22-364
PISYS. [CALLI 136]
-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.
-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.
-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.
22-365
PISYS. [CALLI 136]
-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.
-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.
-37 .PCLLM LLMOP. event.
-40 .PCLVT LAT 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.
22-366
PISYS. [CALLI 136]
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.
______________________________________________________________________
SKIP 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
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.
22-367
PISYS. [CALLI 136]
EXAMPLES
See Chapter 6, Monitor Calls Manual, Volume 1.
RELATED CALLS
o DEBRK.
o PIBLK.
o PIFLG.
o PIINI.
o PIJBI.
o PIRST.
o PISAV.
o PITMR.
22-368
PITMR. [CALLI 203]
22.128 PITMR. [CALLI 203]
FUNCTION
Enables the PSI system to interrupt after an interval of time. The
PSI system must be initialized with the PIINI. call.
CALLING SEQUENCE
MOVE ac,[XWD flag,interval]
PITMR. ac,
error return
skip return
In the calling sequence, the program supplies the following variables:
o 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.
o 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).
SKIP RETURN
The program continues at the skip return and is interrupted with the
timer condition after the specified interval.
22-369
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
o DEBRK.
o PIBLK.
o PIFLG.
o PIINI.
o PIJBI.
o PIRST.
o PISAV.
o PISYS.
22-370
PJOB [CALLI 30]
22.129 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-371
POKE. [CALLI 114]
22.130 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
skip return
. . .
addr: monitor-addr
old-value
new-value
In the calling sequence, the program supplies the following variables:
o addr is the address of the argument list.
o monitor-addr is the address of the monitor word to be
changed.
o monitor-addr is assumed to be an executive virtual address,
unless you set UU.PHY to indicate physical memory
referencing.
o old-value is the value of the word before the change.
o new-value is to be the value of the word after the change.
You can set UU.PHY using the instruction:
POKE. ac,UU.PHY
SKIP RETURN
The value of the specified monitor word is changed.
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 old-value.
2 PKBAD% The value of monitor-addr is not a valid monitor
address.
22-372
POKE. [CALLI 114]
RELATED CALLS
o PAGE.
o PEEK.
o SPY
22-373
QUEUE. [CALLI 201]
22.131 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
skip return
. . .
addr: argument list
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list, and must be 3 or
greater.
o addr is the address of the argument list, which is formatted
as follows:
22-374
QUEUE. [CALLI 201]
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 |
|----------------------------------------------|
.QUPID | Process-indentifier Word |
|==============================================|
Argument | | | |
Block | | | |
.QUARH | I | QA.LEN | QA.TYP |
|----------------------------------------------|
.QUARD | Value or Pointer |
|==============================================|
Figure 22-1: QUEUE. Argument List
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 (QF.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.
22-375
QUEUE. [CALLI 201]
3-11 Reserved.
| 12-17 QF.HLN Contains the length of the header
| block. If you specify 0, the
length defaults to 3.
| 18-35 QF.FNC Contains the function code.
| Function codes are listed at the
end of the argument header block
description.
1 .QUNOD Optional 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 Optional 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 follows:
Bits Symbol Contents
9-17 QR.LEN Length of the response block.
18-35 QR.BLK Address of the response block.
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.
4 .QUPID Optional argument list word containing the
Process-ID of the process to receive messages from
[SYSTEM]GOPHER. If this word is 0, use the PID
implied by the function code.
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.
22-376
QUEUE. [CALLI 201]
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 about 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 .QUARD. If
this bit is clear, .QUARD
contains the address of 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 .QUARD When QA.IMM is set, this word is used to contain a
| second argument word. When QA.IMM is clear, this
| word is the address of the data block.
22-377
QUEUE. [CALLI 201]
NOTE
The former symbol for Word 1 (.QUARV) is obsolete.
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, .QUARD and the following words contain the data. If
QA.IMM=0, .QUARD 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
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.
22-378
QUEUE. [CALLI 201]
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.
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.
22-379
QUEUE. [CALLI 201]
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.
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.
22-380
QUEUE. [CALLI 201]
Offset Symbol Contents
0 .QBLVL Output type code:
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.
22-381
QUEUE. [CALLI 201]
2 .QBNML Reserved for use by DIGITAL.
3 .QBNJB Reserved for use by DIGITAL.
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).
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.
22-382
QUEUE. [CALLI 201]
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.
42 .QBDEN Specifies the tape density:
Offset Symbol Contents
0 .QBTDN Tape density code. Refer to the
.TFDEN function of the TAPOP.
call.
22-383
QUEUE. [CALLI 201]
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.
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:
22-384
QUEUE. [CALLI 201]
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.
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-385
QUEUE. [CALLI 201]
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 (TAKE file)
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):
22-386
QUEUE. [CALLI 201]
Flag Symbol Meaning
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 .QBINY Enable OPR intervention.
| 2 .QBINN Disable OPR intervention.
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 8-bit ASCIZ data.
65 .QBUTY Specifies a SIXBIT unit name, such as "LN01" to
queue to an LN01 laser printer.
SKIP 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.
22-387
QUEUE. [CALLI 201]
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-388
REASSI [CALLI 21]
22.132 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+1,[SIXBIT/device/] \
| MOVEI ac+1,channo |
\ MOVEI ac+1,udx /
REASSI ac,
return
In the calling sequence, the program supplies the following variables:
o 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.
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 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, if you specified 0 for the jobno.
If the ac is cleared on the return, the jobno was not a valid job
number.
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.
22-389
REASSI [CALLI 21]
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-390
RECON. [CALLI 202]
22.133 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
skip return
addr: argument-block
In the calling sequence, the program supplies the following variables:
o fcncode is one of the functions described below.
o 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.
4. The system is halted.
22-391
RECON. [CALLI 202]
This function does not require an argument block.
The calling sequence is:
MOVE ac,[.RCSPN,,0]
RECON. ac,
error return
skip 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
skip 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-392
RECON. [CALLI 202]
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
skip 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
skip return
. . .
addr: n ;length of argument block
command-list ;first word
In the argument list, 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
skip return
22-393
RECON. [CALLI 202]
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
skip return
addr: 2 ;length of argument block
n ;CPU number
In the argument list, n specifies the CPU number.
If n = -1, AUTCON will run on all CPUs.
7 .RCDET Obsolete.
10 .RCATT Obsolete
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
skip 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
skip return
addr: 3 ;length of argument block
first page in range
last page in range +1
22-394
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
skip 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
30 SP.CR5 CPU5 can access the device.
31 SP.CR4 CPU4 can access the device.
32 SP.CR3 CPU3 can access the device.
33 SP.CR2 CPU2 can access the device.
34 SP.CR1 CPU1 can access the device.
35 SP.CR0 CPU0 can access the device.
These bits are also defined for SETUUO function
.STCPU.
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
skip return
addr: 2 ;length of argument block
DEBUGF bits
22-395
RECON. [CALLI 202]
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
skip return
addr: 2 ;length of argument block
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
skip 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
22-396
RECON. [CALLI 202]
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 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
skip 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.
SKIP RETURN
The specified function is performed.
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.
22-397
RECON. [CALLI 202]
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-398
RELEAS [OPCODE 071]
22.134 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
In the calling sequence, the program supplies the channo, which 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 PROGRAMMING ERRORS
Forgetting the comma after the channel number.
RELATED CALLS
FILOP.
22-399
REMAP [CALLI 37]
22.135 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
skip return
In the calling sequence, the program supplies the following variables:
o addr is the highest address in the low segment (that is, the
first address of the new high segment).
o 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).
SKIP 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-400
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
o CORE
o GETSEG
o MERGE.
o PAGE.
22-401
RENAME [OPCODE 055]
22.136 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
skip return
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel. If the
channel is an extended channel, use FILOP. function .FORNM.
o 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 skip 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.
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.
22-402
RENAME [OPCODE 055]
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.
SKIP RETURN
On a skip 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-403
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-404
RESCAN [TTCALL 10,]
22.137 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
In the calling sequence, the program supplies the flag, which 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 PROGRAMMING ERRORS
Placing a comma after the flag.
22-405
RESDV. [CALLI 117]
22.138 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
skip return
In the calling sequence, the program supplies the channo, which is the
number of an initialized channel.
SKIP 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 TOPS-10 Operating System Commands
Manual for descriptions of these user commands.)
ERROR RETURN
If the ac contains -1, no device was associated with the channel.
RELATED CALLS
o CLOSE
o RELEASE
o RESET
COMMON PROGRAMMING ERRORS
Placing the channel number in the ac field.
22-406
RESET [CALLI 0]
22.139 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.
o Clears any process identifications (PIDs) for your job,
except job-wide PIDs.
22-407
RESET [CALLI 0]
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-408
RTTRP [CALLI 57]
22.140 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
skip return
. . .
addr: argument list
In the calling sequence, the program supplies the addr, which is the
address of the argument list.
The contents of the argument list depend on the interrupt mode your
program is setting up.
SKIP 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.
31 RTPWI% Pointer word illegal.
32 RTEAB% Error address out of bounds.
22-409
RTTRP [CALLI 57]
33 RTTAB% Trap address bad.
34 RTPNB% PI channel not currently available for BLKI/BLKO.
35 RTPNA% PI channel not available.
RELATED CALLS
o HPQ
o TRPSET
o UJEN
22-410
RUN [CALLI 35]
22.141 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 /
In the calling sequence, the program supplies the following variables:
o 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.
o addr is the address of the argument block, which is formatted
like the ENTER argument block. See Volume 1, Chapter 11 for
a description of ENTER/LOOKUP argument blocks.
o 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.
o addr2 contains a section offset indicating where the image
should be loaded. Using this argument results in an error if
the resulting section number is illegal.
When the monitor returns control to the program after RUN monitor
call, the accumulators are overwritten and Channel 0 is cleared.
22-411
RUN [CALLI 35]
SUCCESS 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.
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
o GETSEG
o MERGE.
o SEGOP.
22-412
RUNTIM [CALLI 27]
22.142 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
In the calling sequence, the program supplies the jobno, which 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-413
SAVE. [CALLI 210]
22.143 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
skip return
. . .
addr: SIXBIT/device/
SIXBIT/filename/
SIXBIT/extension/ ;or zero
EXP 0
/ XWD proj,prog \
| XWD 0,,addr1 | ;PPN argument
\ XWD 0,0 /
BLOCK 0
In the calling sequence, the program supplies the following variables:
o 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).
o addr is the address of the argument block, which is formatted
like the ENTER argument block. See Volume 1, Chapter 11 for
a description of ENTER/LOOKUP argument blocks.
When the monitor returns control to your program after a SAVE.
monitor call, the accumulators are overwritten and Channel 0 is
cleared.
Remember to leave addr+5 clear.
SKIP 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.
22-414
SAVE. [CALLI 210]
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.
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-415
SCHED. [CALLI 150]
22.144 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
skip return
. . .
addr: XWD fcncode,fcnarg
. . .
XWD fcncode,fcnarg
In the calling sequence, the program supplies the following variables:
o len, which is the length of the argument list.
o addr is the address of the argument list.
o fcncode is one of the function codes described below.
o 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.
22-416
SCHED. [CALLI 150]
1 .SCRMI Reads the minimum core usage function evaluation
interval. The monitor returns the interval at
fcnarg.
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-417
SCHED. [CALLI 150]
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-418
SCHED. [CALLI 150]
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).
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.
22-419
SCHED. [CALLI 150]
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.
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).
22-420
SCHED. [CALLI 150]
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).
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).
22-421
SCHED. [CALLI 150]
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
goal from fcnarg in the format given in function
.SCRFG.
SKIP RETURN
The function has been performed.
ERROR RETURN
One of the following error codes is returned in the ac:
22-422
SCHED. [CALLI 150]
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-423
SCS. [CALLI 213]
22.145 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.
KS systems do not support System Communications Architecture.
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 extended addressing
\ MOVEI ac,addr /
SCS. ac,
error return
skip return
addr: len,,function
In the calling sequence, the program supplies the addr, which 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.
5 .SSQRD Queues buffer(s) to receive datagram.
6 .SSSMG Sends a message.
22-424
SCS. [CALLI 213]
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.
3. Arguments for function .SSREJ:
Word Symbol Contents
1 .SQCID Connect-id.
2 .SQREJ Rejection reason code.
22-425
SCS. [CALLI 213]
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
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.
22-426
SCS. [CALLI 213]
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.)
4 .SQLRP Length of returned message/datagram. (Words if
high density, bytes if industry-compatible.)
22-427
SCS. [CALLI 213]
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.
14. Arguments for function .SSACC:
Word Symbol Contents
1 .SQCID Connect-id.
2 .SQCDA Pointer to connection data.
22-428
SCS. [CALLI 213]
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).
17. Arguments for functions .SSCRD and .SSCRM:
Word Symbol Contents
1 .SQCID Connect-id.
2 .SQADB Address of buffer to dequeue.
18. Arguments for function .SSGLN:
Word Symbol Contents
1 .SQLNN (Returned) local node number.
19. Arguments for function .SSRBS:
Word Symbol Contents
1 .SQLMG Length of message buffer.
2 .SQLDG Length of datagram buffer.
22-429
SCS. [CALLI 213]
20. Arguments for function .SSRPS:
Word Symbol Contents
1 .SQRPN Node number.
2 .SQRPS Path status (A,,B).
SKIP 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.
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-430
SEBLK. [CALLI 214]
22.146 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
skip return
In the calling sequence, the program supplies the arglen, which is
length of the argument list stored at arglst.
SKIP 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-431
SEGOP. [CALLI 230]
22.147 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
skip return
addr: length,,function
flags word
segment-number
segment-name
segment-origin
segment-size
filespec-pointer
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.
22-432
SEGOP. [CALLI 230]
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.
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/ret| |
|-----------|-------|-------|-------|-------|-------|-------|-------|-------|
|.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 | |
+---------------------------------------------------------------------------+
22.147.1 FUNCTION 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 of the job context
that owns the high segment.
22-433
SEGOP. [CALLI 230]
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 skip 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.
22.147.2 FUNCTION 1 (.SGGET)
Obtains a new high segment without affecting current high segments.
The argument list for this function is:
addr: length,,.SGGET
flags-word
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.
22-434
SEGOP. [CALLI 230]
On a skip 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.
22.147.3 FUNCTION 2 (.SGREL)
Releases a segment or a list of segments. The argument list for this
function is:
addr: length,,.SGREL
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 skip 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.
22-435
SEGOP. [CALLI 230]
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 segments to be released by including
their segment numbers starting at .SGSGN.
22.147.4 FUNCTION 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:
addr: length,,.SGRMP
0
BLOCK 1
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 returned
(GETTAB .GETSGN).
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.
22.147.5 FUNCTION 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
22-436
SEGOP. [CALLI 230]
a success return, this bit reflects the previous setting for the
segment.
22.147.6 FUNCTION 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.
22.147.7 FUNCTION 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.
22-437
SEGOP. [CALLI 230]
On a skip return from this function, one of the following functions
has been accomplished:
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.
SKIP RETURN
On a skip 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
o CORE.
o FILOP.
o GETSEG
o REMAP.
o SETUWP
22-438
SENSE. [CALLI 133]
22.148 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
skip return
. . .
addr: / SIXBIT/device/ \
| EXP channo |
\ EXP udx /
XWD length,status
. . .
status: SIXBIT/name/
status+1: XWD 0,GETSTS-bits
status+2: DEVSTS-word
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list, which must be 2.
o addr is the address of the argument list.
o device is the SIXBIT physical or logical name of an
initialized device.
o channo is the number of an initialized channel.
o 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.
o length specifies the number of words in the status block.
This value should equal the number of devices multiplied by
3.
o status is the address of the status block.
22-439
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.
SKIP 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
o CLRST.
o ERLST.
22-440
SETDDT [CALLI 2]
22.149 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
In the calling sequence, the program supplies the following variables:
o last-addr is the last address for DDT.
o start-addr is the new start address.
RETURN
The start address and last address for DDT are set.
22-441
SETLCH [TTCALL 7,]
22.150 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.
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
o GETLCH
o TRMOP.
COMMON PROGRAMMING ERRORS
Using an ac in the calling sequence.
22-442
SETNAM [CALLI 43]
22.151 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
In the calling sequence, the program supplies the name, which 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-443
SETSTS [OPCODE 060]
22.152 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o 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
o CLRST.
o ERLST.
o FILOP.
o GETSTS
o SENSE.
COMMON PROGRAMMING 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
22-444
SETSTS [OPCODE 060]
2. If the data mode is illegal for the device, the monitor
prints:
?Illegal data mode for device xxxnnn; UUO at user PC
nnnnnn
3. Forgetting that bits is an immediate argument, not an address
as in GETSTS.
22-445
SETUUO [CALLI 75]
22.153 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
skip return
In the calling sequence, the program supplies the following variables:
o fcncode is one of the function codes described below.
o 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-446
SETUUO [CALLI 75]
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-447
SETUUO [CALLI 75]
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 Obsolete. Use .STCVM instead.
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.
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.
22-448
SETUUO [CALLI 75]
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.
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-449
SETUUO [CALLI 75]
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.
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.
22-450
SETUUO [CALLI 75]
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 skip
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
the break address.
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
22-451
SETUUO [CALLI 75]
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.
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.
22-452
SETUUO [CALLI 75]
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, and requires
your program to have JACCT privileges or to run
under [1,2]. When this call is returned, the job
on the previous system becomes detached.
The calling sequence is:
MOVE ac,[.STHST,,addr]
SETUUO ac,
error return
skip return
. . .
addr: node number or SIXBIT node name
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
skip return
. . .
addr: XWD arglen,subfcncode
argument
In the argument word:
o arglen gives the number of arguments to
follow.
o 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.
22-453
SETUUO [CALLI 75]
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 this
flag. If this flag is
clear, LOGIN will ask about
this job. If the flag is
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. The
new disk buffer size is
stored in addr+1. The value
of the buffer size is
specified in terms of the
number of blocks per
buffer). Big buffers are
used until the program
performs a RESET or halts.
If the right half of this
word is zero and the left
half is non-zero, the buffer
size definition remains
constant until the job is
logged out or the buffer is
explicitly redefined.
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.
22-454
SETUUO [CALLI 75]
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
to the configuration.
The CPU number must be stored in Bits 33-35 of the
argument.
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.
22-455
SETUUO [CALLI 75]
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). .STEBP
requires [1,2] or JACCT privileges.
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 calling
sequence for this function is:
MOVSI ac,.STPCP
HRRI ac,CPUn
SETUUO ac,
error return
skip 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.
|
| 53 .STDAE Allows DAEMON to set its job number in the
| monitor.
22-456
SETUUO [CALLI 75]
| 54 .STITP Allows a job to set a patch at the interval timer.
| The job must have POKE privileges, be [1,2], or
| running with JACCT set, and must be contiguously
| locked in EVM. The calling sequence for this
| function is:
|
| MOVE AC,[.STITP,,addr]
| SETUUO AC,
| no privs, bad arguments
| success
|
| addr: CPU mask
| instruction to XCT (relocated)
SKIP 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-457
SETUWP [CALLI 36]
22.154 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
skip return
In the calling sequence, the program supplies the fcncode, which is
one of the following function codes:
Code Function
0 Write-enables the high segment.
1 Write-protects the high segment.
SKIP 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-458
SKPINC [TTCALL 13,]
22.155 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
In the calling sequence, the program supplies the call, which returns
to return 1 if there is no user input, or to return 2 is there is user
input.
RELATED CALLS
SKPINL
22-459
SKPINL [TTCALL 14,]
22.156 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
In the calling sequence, the program supplies the call, which 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-460
SLEEP [CALLI 31]
22.157 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
In the calling sequence, the program supplies the seconds, which 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-461
SNOOP. [CALLI 176]
22.158 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
skip return
. . .
addr: argument list
In the calling sequence, the program supplies the following variables:
o fcncode is one of the function codes described below.
o addr is the address of the argument list. The words at addr
depend on the given function.
The function codes and their meanings are:
Code Symbol Function
0 .SODBP Defines breakpoints. This function is illegal if
breakpoints have been inserted.
22-462
SNOOP. [CALLI 176]
The argument list for the .SODPB function is:
arglst: EXP arglength
EXP symbol checksum
EXP address
instruction
. . .
EXP address
instruction
In the argument word:
o arglength is the length of the argument list.
This must be 2 + the number of
address-instruction pairs in the argument list
times 2 .
o 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
137 %CNBCP Bootstrap CPU number.
140 %CNBCL Bootstrap line number.
141 %CNNCR Number of CPUs allowed to run.
22-463
SNOOP. [CALLI 176]
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.
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.
SKIP 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.
22-464
SNOOP. [CALLI 176]
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
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-465
SPPRM. [CALLI 172]
22.159 SPPRM. [CALLI 172]
FUNCTION
Sets parameters for spooled files.
CALLING SEQUENCE
MOVE ac,[length,addr]
SPPRM. ac,
error return
skip return
. . .
addr: function code
device-id
parameters
.
.
.
In the calling sequence, the program supplies the following variables:
o length is the length of the argument list.
o addr is the address of the argument list; and the data at
addr is listed below.
o function code specifies the type of file.
o device-id identifies the device.
o 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-466
SPPRM. [CALLI 172]
3 .SPPFM SIXBIT forms name.
4 .SPPLM Limit.
5 .SPPSF Spooling flags and device type.
Bits 1-2 (SP.DFR) contain the "deferred request"
flag. This field contains a 1 (.SPDFD) to
indicate the request should be deferred. A
deferred request is queued only after the user
logs out. If this field contains a 2 (.SPDFI),
the request is queued immediately. The device
type is stored in Bits 30-35 (SP.TYP) as returned
by the 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.
SKIP 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-467
SPY [CALLI 42]
22.160 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
skip return
In the calling sequence, the program supplies the monitoraddr, which
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.
SKIP 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.
22-468
SPY [CALLI 42]
EXAMPLE
This code maps some of the monitor's section zero low segment.
MOVE T1,[%CNSIZ]
GETTAB T1,
HALT
SUBI T1,1
SPY T1,
JRST ERROR
RELATED CALLS
o PAGE.
o PEEK
o POKE.
o SEGOP.
22-469
STATO [OPCODE 061]
22.161 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o 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
o FILOP.
o GETSTS
o SETSTS
o STATZ
COMMON PROGRAMMING ERRORS
Forgetting to initialize the I/O channel.
22-470
STATZ [OPCODE 063]
22.162 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
In the calling sequence, the program supplies the following variables:
o channo is the number of an initialized channel.
o 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
o FILOP.
o SETSTS
o STATO.
COMMON PROGRAMMING ERRORS
Forgetting to initialize the I/O channel.
22-471
STRUUO [CALLI 50]
22.163 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. Most functions require privileges.
CALLING SEQUENCE
MOVE ac,[XWD len,addr]
STRUUO ac,
error return
skip return
. . .
addr: fcncode
first argument
. . .
last argument
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o 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.
o fcncode is one of the function codes described in the
following subsections. The words up through last argument
are arguments for the given function.
The functions for STRUUO are:
0 .FSSRC Defines a new job search list. Never requires
privileges.
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-472
STRUUO [CALLI 50]
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.
.FSDSL requires privileges to define the search
list for another job or if you set DF.SRM (in word
3 below). 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-473
STRUUO [CALLI 50]
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. .FSDEF
requires privileges. 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.
o Creates a TABSTR entry (assigns a number to
the file structure).
22-474
STRUUO [CALLI 50]
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).
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).
22-475
STRUUO [CALLI 50]
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 .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).
22-476
STRUUO [CALLI 50]
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
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-477
STRUUO [CALLI 50]
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-478
STRUUO [CALLI 50]
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. .FSRDF requires
privileges.
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. .FSLOK requires privileges. The argument
block for this function is described below:
Word Symbol Contents
0 .FSFCN The function code (.FSRDF).
22-479
STRUUO [CALLI 50]
1 .FSLNM The file structure name in
SIXBIT.
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. .FSREM
requires privileges. 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 .FSREM function fails if any unit in the
structure is in the active swapping list.
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-480
STRUUO [CALLI 50]
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. .FSULK requires
privileges. 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, 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. .FSUCL requires
privileges. 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.
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. .FSETS requires privileges.
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.
22-481
STRUUO [CALLI 50]
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 operation.
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.
22-482
STRUUO [CALLI 50]
11 .FSMNW Modifies the 'nocreate' and 'write-lock' status of
a file structure. .FSMNW never requires
privileges. 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. This function requires
privileges. 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. .FSRSL requires no
privileges to read the system search list or the
search list of a job which has your PPN.
Word Symbol Contents
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).
22-483
STRUUO [CALLI 50]
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.
SKIP RETURN
The function is performed.
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.
22-484
STRUUO [CALLI 50]
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
o DISK.
o DSKCHR
o GOBSTR
o JOBSTR
22-485
SUSET. [CALLI 146]
22.164 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 ownership of the disk.
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
skip return
In the calling sequence, the program supplies the flags, which 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).
SKIP 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.
22-486
SUSET. [CALLI 146]
ERROR RETURN
The following error code is returned in the ac:
Code Symbol Error
-1 SUSNP% Not enough privileges.
RELATED CALLS
o FILOP.
o USETI
o USETO
22-487
SYSPHY [CALLI 51]
22.165 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
skip return
In the calling sequence, the program supplies the device, which is the
physical unit name returned by a previous call (such as SIXBIT/RPA0/).
SKIP 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 ^D64
RELATED CALLS
o DVPHY.
o SYSSTR
22-488
SYSSTR [CALLI 46]
22.166 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
skip return
In the calling sequence, the program supplies the device, which is the
structure name returned by a previous call.
SKIP 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 ^D36 ;Where to put structures
RELATED CALLS
o DVPHY.
o SYSPHY
22-489
TAPOP. [CALLI 154]
22.167 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
skip return
. . .
addr: EXP fncode
/ SIXBIT/device/ \
| EXP channo |
\ EXP udx /
first argument
. . .
last argument
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o addr is the address of the argument list.
o fcncode is one of the function codes described below.
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 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-490
TAPOP. [CALLI 154]
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 for purposes of data security.
This feature is supported on TX01/TX02 (on
DX10/DX20 only) and on TU78/TM78 tape drives.
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.
17 .TFLSU Swaps units. This is a privileged function for
use by the label processor.
22-491
TAPOP. [CALLI 154]
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. To clear a tape
labelling error, include a value (.TFCLE) in
addr+2. This function causes the tape to be
positioned at BOT.
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).
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
22-492
TAPOP. [CALLI 154]
3 .TFKTX TX01/TX02/TX03
4 .TFKTM TM02/TM03
5 .TFKRH TM02/TM03
6 .TFKD2 TX02
7 .TFK78 TM78
17 .TFKSX SA10 IBM channel magtape
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.
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.
22-493
TAPOP. [CALLI 154]
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.
1014 .TFCRC Returns in the ac the last cyclic redundancy
character (9-track NRZI 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.
22-494
TAPOP. [CALLI 154]
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.
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.
22-495
TAPOP. [CALLI 154]
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.
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.
22-496
TAPOP. [CALLI 154]
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.
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,
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.
22-497
TAPOP. [CALLI 154]
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).
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.
22-498
TAPOP. [CALLI 154]
Bits Symbol Meaning
18-35 TR.RFM Record format
byte; one of the
following codes:
Code Symbol Meaning
0 .TRFDF Default (Fixed).
1 .TRFFX Fixed (F).
2 .TRFVR Variable (D).
3 .TRFSP Spanned (S).
4 .TRFUN Undefined (U).
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.
SKIP RETURN
The function is performed.
22-499
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
MOVSI T2,-DSEKTN ;Length of table
CAME T1,DSEKTB(T2) ;Is this controller type
AOBJN T2,.-1 ; in the table?
JUMPGE T2,NODSE ;No, don't try it
MOVE T1,[XWD 2,DSELST] ;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"
DSEKTB: EXP .TFKD2 ;Data security erase works
EXP .TFKTX ; for DX20, DX10,
EXP .TFK78 ; and TM78
DSEKTN==.-DSEKTB ;Number of table entries
CONTIN: ;Continue
22-500
TAPOP. [CALLI 154]
This example performs a data security erase on the logical device
"TAPE" if and only if the controller is capable of doing so.
RELATED CALLS
o MTAID.
o MTAPE
o MTCHR.
22-501
TIMER [CALLI 22]
22.168 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
o DATE
o MSTIME
22-502
TMPCOR [CALLI 44]
22.169 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
skip return
. . .
addr: XWD 'nam',0
IOWD buflength,buffer
In the calling sequence, the program supplies the following variables:
o fcncode is one of the function codes described below.
o addr gives the address of the argument list.
o nam is a 3-character SIXBIT string that is the file name.
o buflength is the length of the buffer for the call.
o 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 skip return, the ac contains the
number of free words available to your program
(510 decimal).
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.
22-503
TMPCOR [CALLI 44]
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 skip 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.
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
In the argument word:
o length is the length of the file in words.
o 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.
22-504
TMPCOR [CALLI 44]
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-505
TRMNO. [CALLI 115]
22.170 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
skip return
In the calling sequence, the program supplies the jobno, which is the
number of a logged-in job (use -1 for the current job).
SKIP 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.
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
22-506
TRMNO. [CALLI 115]
RELATED CALLS
TRMOP.
COMMON PROGRAMMING ERRORS
Using .UXTRM as a mask instead of an offset.
22-507
TRMOP. [CALLI 116]
22.171 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
skip return
. . .
addr: EXP fcncode
EXP udx
first argument
. . .
last argument
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o addr is the address of the argument list.
o fcncode is one of the function codes described below.
o 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-508
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 right-justified in bits 28 to 35 of .TOAR2.
6 .TOOIC Outputs an image-mode character to the terminal;
the character is in bits 28 to 35 of .TOAR2.
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.
22-509
TRMOP. [CALLI 116]
10 .TOINC Inputs a character from the terminal in line mode;
the character is stored right-justified in bits 28
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 .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.
22-510
TRMOP. [CALLI 116]
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.
30 .TODSS A modem is present if the call takes a normal
return. Bit 0 of the ac is set on return if a
carrier is present. 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.
22-511
TRMOP. [CALLI 116]
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 an optional 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.
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.
22-512
TRMOP. [CALLI 116]
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.
Function 36 (.TOSCS) contains the explanation of
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 (right-justified) 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
. . .
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 ASCII character code to which
the condition(s) applies.
Bits which may be selected for special conditions
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.
22-513
TRMOP. [CALLI 116]
Note that bit locations documented here are
relevant to Function 36 (.TOSCS) only. The bit
locations of this field are right-justified in the
designated field; therefore, the specific bit
locations will differ depending on the field
defined for the specific function.
LSH offsets TC.MDO and TC.VLO are defined to shift
bits into the correct positions for use in TC.MOD
and TC.VAL (respectively).
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).
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 translation 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.
22-514
TRMOP. [CALLI 116]
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 the monitor is not
echoing characters; otherwise, ac=0). To set the
bit, use .TOLCP+.TOSET; the monitor reads the bit
from .TOAR2.
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.)
22-515
TRMOP. [CALLI 116]
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.
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.
22-516
TRMOP. [CALLI 116]
1023 .TOPSZ Obsolete. Use .TOLNB or .TOSSZ instead.
1024 .TOPCT Returns, in the ac, the value of the page counter
(in the range 0 to 63).
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. The codes and their meanings are:
Code Symbol Speed (Baud rate)
1 .TO005 50
2 .TO007 75
3 .TO011 110
4 .TO013 134.5
5 .TO015 150
6 .TO020 200
7 .TO030 300
10 .TO060 600
11 .TO120 1200
12 .TO180 1800
13 .TO240 2400
14 .TO480 4800
15 .TO960 9600
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-517
TRMOP. [CALLI 116]
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.
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.
22-518
TRMOP. [CALLI 116]
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.
1061 .TOLNC Returns number of lines remaining in page. This
bit can be set by the user.
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.
22-519
TRMOP. [CALLI 116]
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.)
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).
1100 .TOSWI Enables two-character switch sequence.
1101 .TO8BT Enables 8-bit terminal processing.
1102 .TO8BI Enables 8-bit I/O mode on a terminal.
22-520
TRMOP. [CALLI 116]
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 a user with
[1,2]/JACCT or POKE. privileges.
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.
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.
22-521
TRMOP. [CALLI 116]
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
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.
SKIP RETURN
The monitor performs the function.
22-522
TRMOP. [CALLI 116]
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 an ANF-10 remote station).
22-523
TRPSET [CALLI 25]
22.172 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
skip return
. . .
addr: JSR address
BLKI address
In the calling sequence, the program supplies the following variables:
o len is the length of the argument list.
o addr is the address of the argument list.
o 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).
SKIP 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
o HPQ
o LOCK
o RTTRP
o UJEN
22-524
TSK. [CALLI 177]
22.173 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
skip return
addr: EXP func-code ;.TKAFN
EXP channo ;.TKACH
EXP arg1 ;.TKAA1
EXP arg2 ;.TKAA2
EXP arg3 ;.TKAA3
In the calling sequence, the program supplies the following variables:
o function is one of the function codes listed below.
o 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
o length is the length of the NPD (must be at least 3).
o addr is the location of the NPD.
22-525
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-526
TSK. [CALLI 177]
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 skip
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 condition was
enabled using the PSI system).
22-527
TSK. [CALLI 177]
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:
State Function
.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 skip 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.
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.
22-528
TSK. [CALLI 177]
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).
SKIP RETURN
The specified function has been performed.
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-529
TTCALL [OPCODE 051]
22.174 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-530
UGETF [OPCODE 073]
22.175 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
In the calling sequence, the program supplies the following variables:
o channo is the channel number of an initialized device.
o 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-531
UJEN [OPCODE 100]
22.176 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
In the calling sequence, the program supplies the counter, which 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
o RTTRP
o TRPSET
22-532
UNLOK. [CALLI 120]
22.177 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
skip 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
skip return
. . .
| addr: EXP .ULSGL
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 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.
22-533
UNLOK. [CALLI 120]
SKIP 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
o LOCK
o SEGOP.
o PAGE.
22-534
USETI [OPCODE 074]
22.178 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 MONGEN symbol M.DSIO at the
end of the SYSGEN dialog. 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
USETI channo,n
return
22-535
USETI [OPCODE 074]
In the calling sequence, the program supplies the following variables:
o channo is the channel number for an initialized device.
o n is the number of the block to be used for I/O.
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
o FILOP.
o SUSET.
o USETO
COMMON PROGRAMMING ERRORS
o Not synchronizing I/O with USETI or USETO.
o Not initializing a device on channo.
22-536
USETO [OPCODE 075]
22.179 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
In the calling sequence, the program supplies the following variables:
o channo is the channel number for an initialized device.
o 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-537
USETO [OPCODE 075]
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
o FILOP.
o SUSET.
o USETI
COMMON PROGRAMMING ERRORS
o Not synchronizing I/O with USETI or USETO.
o Not initializing a device on channo.
22-538
UTPCLR [CALLI 13]
22.180 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
In the calling sequence, the program supplies the channo, which is the
channel number for an initialized device.
SKIP 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 PROGRAMMING 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-539
UTRP. [CALLI 174]
22.181 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
skip return
. . .
addr: length
trapno
trapinstr
. . .
trapno
trapinstr
In the calling sequence, the program supplies the following variables:
o fcncode is one of the function codes described below.
o addr is the address of the argument list.
o length is the number of words in the argument list.
o trapno is the number of a trap. Trap numbers are listed
below.
o 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-540
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).
SKIP 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
o ABRENB
o .JBINT trapping
o PSI system
22-541
WAIT [CALLI 10]
22.182 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
In the calling sequence, the program supplies the channo, which is the
channel number for an initialized device.
SKIP RETURN
The monitor stops your program's execution until transmissions on the
channel are completed.
COMMON PROGRAMMING 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-542
WAKE [CALLI 73]
22.183 WAKE [CALLI 73]
FUNCTION
Sets the wake bit for a specified job.
CALLING SEQUENCE
MOVEI ac,jobno
WAKE ac,
error return
skip return
In the calling sequence, the program supplies the jobno, which 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 skip return immediately. The
wake bit prevents the job from oversleeping a wake condition.
SKIP RETURN
The specified job is awake and resumes execution at the skip 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-543
WHERE [CALLI 63]
22.184 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
skip return
In the calling sequence, the program supplies the following variables:
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.
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.
SKIP 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.
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.
22-544
WHERE [CALLI 63]
18-35 Node number for device.
ERROR RETURN
A nonexistent device was specified.
RELATED CALLS
o LOCATE
o NODE.
o NETOP.
22-545
23-1
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
In the calling sequence, you provide the following variables:
o ac is an accumulator.
o 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 organization of the table.
o 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
In this form of the calling sequence, 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.
23-1
GETTAB TABLES
For tables indexed by job or segment number, use the index -1 to
specify the current job; use the index -2 to specify the job's current
high segment.
In the following table descriptions, items marked by a number or a
star in parentheses (such as (1) or (*)) are described in more detail
at the end of the table.
23.2 HOW TO USE GETTAB SUBTABLES
This chapter describes the GETTAB subtables after each GETTAB table
that points to them, including the calling sequence for reading 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.
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-2
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 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.
23-3
GETTAB TABLES
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 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
| .GTAOT 174 ANF-10 Object Translation Table
.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
23-4
GETTAB TABLES
.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
| .GTDNT 170 DECnet Queue Headers
.GTDVL 110 Obsolete
.GTEBR 132 EBOX Jiffy Remainder
.GTEBT 131 KL10 EBOX Time
.GTEDN 72 Ersatz Device Names
.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
.GTLBS 165 Large Buffer Size
.GTLIM 40 Time Limit and Batch Status
.GTLOC 26 Remote Station Number
| .GTLPN 213 Logged-In Project-Programmer Numbers
.GTLVD 16 Level D Disk Parameters
.GTMBR 134 MBOX Jiffy Remainder
.GTMBT 133 KL10 MBOX Time
.GTMVL 103 Maximum Page Limits
| .GTNDA 173 NDB Address
.GTNDB 161 Byte Pointers to Node Data Block
.GTNM1 31 User Name (first 6 characters)
.GTNM2 32 User Name (last 6 characters)
.GTNSP 172 Obsolete
.GTNSW 12 Nonswapping Data Table
.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)
23-5
GETTAB TABLES
.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
.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
| .GTSJB 171 DECnet Session Control Block Pointer
.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
| .GTSTM 167 Time of Last Reset
.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
23-6
GETTAB TABLES
.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
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-7
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSTS]
GETTAB ac,
error return
normal return
In the calling sequence, 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-8
GETTAB TABLES
.GTADR - Job Relocation Word
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 SEQUENCE
MOVE ac,[XWD jobno,.GTADR]
GETTAB ac,
error return
normal return
In the calling sequence, 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-9
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 SEQUENCE
MOVE ac,[XWD jobno,.GTPPN]
GETTAB ac,
error return
normal return
In the calling sequence 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 |
|=======================================================|
The 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-10
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 SEQUENCE
MOVE ac,[XWD jobno,.GTPRG]
GETTAB ac,
error return
normal return
In the calling sequence, 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-11
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 SEQUENCE
MOVE ac,[XWD jobno,.GTTIM]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job (use
-1 for the current job).
|=======================================================|
| Total runtime in ticks |
|=======================================================|
23-12
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 SEQUENCE
MOVE ac,[XWD jobno,.GTKCT]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Kilo-core ticks |
|=======================================================|
23-13
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 SEQUENCE
MOVE ac,[XWD jobno,.GTPRV]
GETTAB ac,
error return
normal return
In the calling sequence, 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).
23-14
GETTAB TABLES
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-15
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSWP]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job or a
program segment number. Use -1 for the current job.
|=======================================================|
| Swapping parameters |
|=======================================================|
23-16
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 SEQUENCE
MOVE ac,[XWD jobno,.GTTTY]
GETTAB ac,
error return
normal return
In the calling sequence, 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-17
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
23-18
GETTAB TABLES
|=======================================================|
14,,11 %CNDEV | Start of DDB chain | Reserved |
|=======================================================|
15,,11 %CNSJN |-(Max number of high segs) |Max number of current jobs |
|=======================================================|
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 |
23-19
GETTAB TABLES
|=======================================================|
46,,11 %CNRTC | Resolution of runtime clock (units/sec) |
|=======================================================|
47,,11 %CNCHN | Ptr to channel data block | Reserved |
|=======================================================|
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. |
|-------------------------------------------------------|
23-20
GETTAB TABLES
77,,11 %CNMIP | Maximum priority for PISYS. |
|=======================================================|
100,,11 %CNMER |Offset of MTA err rep word | Address of 1st MTA DDB |
|=======================================================|
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 | Obsolete |
|=======================================================|
23-21
GETTAB TABLES
131,,11 %CNBTX | Address of reload .CCL text for BOOT |
|=======================================================|
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-22
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 |
|=======================================================|
205,,11 %CNDTT | System-default terminal type |
|=======================================================|
206,,11 %CNSUM | System update, in milliseconds |
|=======================================================|
207,,11 %CNREM | Offset of LDBREMs in Line Data Blocks |
|=======================================================|
210,,11 %CNK4S | Offset of UNIK4S in Line Data Blocks |
|=======================================================|
211,,11 %CNOPT | SIXBIT startup option |
| 212,,11 %CNDJN | DAEMON job number |
+=======================================================+
23-23
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-24
GETTAB TABLES
4 ST%CP1 Reload on CPU stopcode.
Disable the dump function:
5 ST%DDC on a DEBUG stopcode.
6 ST%DJE on a JOB stopcode.
7 ST%DCP on a CPU stopcode.
8-14 Reserved.
15 ST%RLD Last stopcode that caused a reload.
16-17 Reserved.
CPUn can enter EDDT mode using XCT:
18 ST%BP0 .C0DDT.
19 ST%BP1 .C1DDT.
20 ST%BP2 .C2DDT.
21 ST%BP3 .C3DDT.
22 ST%BP4 .C4DDT.
23 ST%BP5 .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.
23-25
GETTAB TABLES
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.
35 ST%SSP Swapping done in page units.
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-26
GETTAB TABLES
.GTNSW - Nonswapping Data Table
GETTAB Table 12
CONTENTS
Data about nonswapping memory utilization.
INDEXED BY
Item number.
Monitor Table: NSWTBL
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-27
GETTAB TABLES
23,,12 %NSMMS | Memory size in words |
|=======================================================|
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-28
GETTAB TABLES
.GTSDT - Swapping Data Table
GETTAB Table 13
CONTENTS
Contains data pertinent to swapping.
INDEXED BY
Item number.
Monitor Table: SWPTBL
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-29
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSGN]
GETTAB ac,
error return
normal return
In the calling sequence, 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-30
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-31
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-32
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
23-33
GETTAB TABLES
|=======================================================|
15,,16 %LDQUS | SIXBIT queue structure name |
|=======================================================|
16,,16 %LDCRP | CRASH PPN [10,1] |
|=======================================================|
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] |
23-34
GETTAB TABLES
|=======================================================|
47,,16 %LDDEC | Standard DIGITAL software [10,7] |
|=======================================================|
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 |
|=======================================================|
23-35
GETTAB TABLES
100,,16 %LDD60 | D60 library PPN [5,32] |
| |=======================================================|
| 101,,16 %LDERT | Obsolete |
| |=======================================================|
| 102,,16 %LDPT1 | Obsolete |
| |=======================================================|
| 103,,16 %LDPT2 | Obsolete |
| |=======================================================|
| 104,,16 %LDLTH | Obsolete |
| |=======================================================|
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 | Obsolete |
| |=======================================================|
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-36
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) |
|=======================================================|
| 147,,16 %LDSRC | Swap read error count (compare with %LDTOT) |
| |=======================================================|
| 150,,16 %LDADL | Header of doubly-linked list of active DRBs |
| +=======================================================+
Item Symbol Contains
60 %LDLSO A flag for DAEMON. If %LDLSO is nonzero, and if an
overrun is recovered on the first retry, then DAEMON
is called.
61 %LDMBR 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 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 The offset of the expected channel terminal word in
the channel data block.
23-37
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRCT]
GETTAB ac,
error return
normal return
In the calling sequence, 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-38
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 SEQUENCE
MOVE ac,[XWD jobno,.GTWCT]
GETTAB ac,
error return
normal return
In the calling sequence, 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-39
GETTAB TABLES
.GTSLF - GETTAB Table Data
GETTAB Table 23
CONTENTS
Data for each GETTAB table.
INDEXED BY
GETTAB table number.
Monitor Table: NUMTAB
CALLING SEQUENCE
MOVE ac,[XWD table,.GTSLF]
GETTAB ac,
error return
normal return
In the calling sequence, 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.
5 .SLIXR Indexed by negative and positive
offsets (item numbers).
23-40
GETTAB TABLES
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-41
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 SEQUENCE
MOVE ac,[XWD jobno,.GTDEV]
GETTAB ac,
error return
normal return
In the calling sequence, 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-42
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 defined in COMMON at STSTBL.
23-43
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 Table: JBTLOC
CALLING SEQUENCE
MOVE ac,[XWD jobno,.GTLOC]
GETTAB ac,
error return
normal return
In the calling sequence, 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-44
GETTAB TABLES
.GTCOM - Monitor Command Names
GETTAB Table 30
CONTENTS
Monitor command names as SIXBIT words.
INDEXED BY
Item number.
Monitor Table: COMTAB
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-45
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 SEQUENCE
MOVE ac,[XWD jobno,.GTNM1]
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
In the calling sequence, jobno is the number of a logged-in job (use
-1 for the current job); and uname1 and uname2 are locations for
storing the user name.
|=======================================================|
| First 6 SIXBIT chars of user name |
|-------------------------------------------------------|
| Last 6 SIXBIT chars of user name |
|=======================================================|
23-46
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 SEQUENCE
MOVE ac,[XWD jobno,.GTCNO]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| User charge number |
|=======================================================|
23-47
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 SEQUENCE
MOVE ac,[XWD jobno,.GTWCH]
GETTAB ac,
error return
normal return
In the calling sequence, 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-8 JW.WAL Watch all of the following:
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.
9 JW.WCN Message continuations.
10 JW.WFL First line of message.
11 JW.WPR Message prefixes.
23-48
GETTAB TABLES
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-49
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSPL]
GETTAB ac,
error return
normal return
In the calling sequence, 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-50
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRTD]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Realtime status |
|=======================================================|
23-51
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 SEQUENCE
MOVE ac,[XWD jobno,.GTLIM]
GETTAB ac,
error return
normal return
In the calling sequence, 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-52
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-53
GETTAB TABLES
.GTCRS - Hardware Status After Crash
GETTAB Table 44
CONTENTS
Hardware status words after a crash. (See the CPU status block
subtable for the CDB Variables area.)
INDEXED BY
Item number.
Monitor Table: APRSTS
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-54
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 SEQUENCE
MOVE ac,[XWD index,.GTISC]
GETTAB ac,
error return
normal return
|=======================================================|
| Queue-name | Addr of ISCAN routine |
|=======================================================|
23-55
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 SEQUENCE
MOVE ac,[XWD index,.GTOSC]
GETTAB ac,
error return
normal return
|=======================================================|
| Queue-name | Addr of OSCAN routine |
|=======================================================|
23-56
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
|=======================================================|
| Queue-name | Ptr to scheduler table |
|=======================================================|
23-57
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRSP]
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-58
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
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 |
23-59
GETTAB TABLES
|-------------------------------------------------------|
15,,51 %SYSCD | Last stopcode stopcode name |
|-------------------------------------------------------|
16,,51 %SYNCS | Total number of CPU stopcodes |
|-------------------------------------------------------|
17,,51 %SYNIS | Number of No Dump (INFO) stopcodes |
|-------------------------------------------------------|
20,,51 %SYSTY | Type of last stopcode |
|-------------------------------------------------------|
21,,51 %SYSUD | Date/time of last stopcode |
|-------------------------------------------------------|
22,,51 %SYSCP | CPU number of last stopcode |
|=======================================================|
23-60
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: WHYTXT
CALLING SEQUENCE
MOVE ac,[XWD word,.GTWHY]
GETTAB ac,
error return
normal return
|=======================================================|
| Operator input, in ASCIZ |
|=======================================================|
23-61
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 SEQUENCE
MOVE ac,[XWD jobno,.GTTRQ]
GETTAB ac,
error return
normal return
In the calling sequence, 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-62
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSPS]
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-63
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 SEQUENCE
MOVE ac,[item + <2 * n>]
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 |
|=======================================================|
23-64
GETTAB TABLES
13,,55 %CCRSP* | Pointer to response subtable in variable area |
|=======================================================|
14,,55 %CCDKX | Number of DK10s on this CPU |
|=======================================================|
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.
23-65
GETTAB TABLES
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
subtable. The subtables are
documented after the CDB Variables
Table.
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.
23-66
GETTAB TABLES
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
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-67
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 SEQUENCE
MOVE ac,[item + <2 * n>]
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 |
|=======================================================|
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 |
|=======================================================|
23-68
GETTAB TABLES
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 |
|=======================================================|
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 |
|=======================================================|
23-69
GETTAB TABLES
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) |
|=======================================================|
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) |
23-70
GETTAB TABLES
|=======================================================|
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 |
|=======================================================|
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 |
| |=======================================================|
| 141,,56 %CVITP | Interval timer patch instruction |
| |=======================================================|
| 142,,56 %CVITJ | Job that patched the interval timer |
| |=======================================================|
23-71
GETTAB TABLES
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-72
GETTAB TABLES
Subtable: Bad Addresses
Subtable of .GTCnV
CONTENTS
Addresses generating parity errors on CPUn.
INDEXED BY
Sequence of bad addresses found.
CALLING SEQUENCE
MOVE ac,[%CCMPT+<2*n>]
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 Map
|=======================================================|
0 | First bad address found |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last bad address found |
|=======================================================|
In the data block, 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-73
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 SEQUENCE
MOVE ac,[%CCPAR+<2*n>]
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 |
|=======================================================|
23-74
GETTAB TABLES
12 %CVMET | MOS errors this minute |
|=======================================================|
13 %CVMEC | MOS errors sent to TGHA |
|=======================================================|
14 %CVTME | Total MOS errors |
|=======================================================|
23-75
GETTAB TABLES
Subtable: Responses
Subtable of .GTCnV
CONTENTS
Response data.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%CCRSP+<2*n>]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
23-76
GETTAB TABLES
|=======================================================|
13 %CVRLR | Low-sum square of quantum requeue responses |
|=======================================================|
14 %CVRSX* | Sum of one of responses terminated by 1 of 3 above |
|=======================================================|
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
23-77
GETTAB TABLES
calculated and added to this word.
%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-78
GETTAB TABLES
Subtable: Nonexistent Memory
Subtable of .GTCnV
CONTENTS
Nonexistent memory data.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%CCNXT+<2*n>]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
In the calling sequence, 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-79
GETTAB TABLES
Subtable: CPU Status Block
Subtable of .GTCnV
CONTENTS
CPU status block data.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%CCCSB+<2*n>]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
22 %CVSDT | Four words for |
23-80
GETTAB TABLES
|-------------------------------------------------------|
| 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 |
|=======================================================|
Notes:
1. Each SBDIAG Block has the format:
23-81
GETTAB TABLES
Number of sub-block blocks,,offset to first
2. Each sub-block has the format:
Number of words,,logical
controller#
function 0 word 1
function 1 word 1
23-82
GETTAB TABLES
Subtable: Device Status Block
Subtable of .GTCnV
CONTENTS
Device status block data.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%CCDSB+<2*n>]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
In the calling sequence, 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 17,,16Table 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-83
GETTAB TABLES
Subtable: Background Performance Analysis
Subtable of .GTCnV
CONTENTS
Disk/PI usage.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%CCSDP+<2*n>]
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 |
|========================================================|
23-84
GETTAB TABLES
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-85
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 SEQUENCE
MOVE ac,[%CCMSS+<2*n>]
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-86
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 SEQUENCE
MOVE ac,[item]
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
In the calling sequence, item is one of the symbols given in the word
map below, and 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 |
|=======================================================|
23-87
GETTAB TABLES
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 |
|=======================================================|
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-88
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.
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).
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).
23-89
GETTAB TABLES
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).
32 F%5UUO Miscellaneous 5-series monitor calls (always set).
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).
23-90
GETTAB TABLES
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).
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).
%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).
23-91
GETTAB TABLES
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:
Bits Symbol Feature
35 F%MPB MPB batch code.
23-92
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is the item number of the required name.
Word Map
|=======================================================|
0 | First ersatz device name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last ersatz device name |
|=======================================================|
In this data block, the entry following last is blank (0).
The ersatz device names are defined in the EDEVS macro in COMMOD.
23-93
GETTAB TABLES
.GTSCN - Scanner Data
GETTAB Table 73
CONTENTS
Scanner data.
INDEXED BY
Item number.
Monitor Table: .GTSCN
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
23-94
GETTAB TABLES
14,,73 %SCRQF | Number of characters lost for queue overflow |
|=======================================================|
15,,73 %SCNTW | Number of time LDBTIC was wrong |
|=======================================================|
23-95
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-96
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is the number of the name to be
returned.
Word Map
|=======================================================|
0 | First SET TTY command name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last SET TTY command name |
|=======================================================|
In this data block, 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-97
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
In the data block, last is the number-1 of PIDs in the table.
23-98
GETTAB TABLES
.GTIPC - IPCF Miscellaneous Data
GETTAB Table 77
CONTENTS
Miscellaneous IPCF data.
INDEXED BY
Item number.
Monitor Table: IPCTAB
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
23-99
GETTAB TABLES
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) |
|=======================================================|
17,,77 %IPDPQ | Default PID quota |
|=======================================================|
23-100
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 SEQUENCE
MOVE ac,[XWD jobno,.GTUPM]
GETTAB ac,
error return
normal return
In the calling sequence, 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-101
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
In this data block, 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-102
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 SEQUENCE
MOVE ac,[XWD jobno,.GTCVL]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Current virtual limit | Current physical limit |
|=======================================================|
23-103
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 SEQUENCE
MOVE ac,[XWD jobno,.GTMVL]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Maximum virtual limit | Maximum physical limit |
|=======================================================|
23-104
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 SEQUENCE
MOVE ac,[XWD jobno,.GTIPA]
GETTAB ac,
error return
normal return
In the calling sequence, 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-105
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 SEQUENCE
MOVE ac,[XWD jobno,.GTIPP]
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-106
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 SEQUENCE
MOVE ac,[XWD jobno,.GTIPI]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| PID for [SYSTEM]INFO for job |
|=======================================================|
23-107
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 SEQUENCE
MOVE ac,[XWD jobno,.GTIPQ]
GETTAB ac,
error return
normal return
In the calling sequence, 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-108
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 SEQUENCE
MOVE ac,[XWD jobno,.GTABS]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Address break word |
|=======================================================|
23-109
GETTAB TABLES
.GTVM - General Virtual Memory Data
GETTAB Table 113
CONTENTS
Data about virtual page handling.
INDEXED BY
Item number.
Monitor Table: .GTVM
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 | Obsolete |
| |=======================================================|
23-110
GETTAB TABLES
14,,113 %VMSW1 | Address of SWPLST |
|=======================================================|
15,,113 %VMSW2 | Address of SW2LST |
|=======================================================|
16,,113 %VMSW3 | Address of SW3LST |
|=======================================================|
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) |
| |=======================================================|
| 42,,113 %VMIWS | System count of "in working set" faults |
| |=======================================================|
| 43,,113 %VMNIW | System count of "not in working set" faults |
| |=======================================================|
| 44,,113 %VMPTB | Address of PAGTAB |
| |=======================================================|
| 45,,113 %VMPT2 | Address of PT2TAB |
| |=======================================================|
23-111
GETTAB TABLES
| 46,,113 %VMMTB | Address of MEMTAB |
| |=======================================================|
| 47,,113 %VMEVM | AOBJN pointer to EVM bitmap |
| |=======================================================|
| 50,,113 %VMPTR | Pointer to free pages (PAGPTR) |
| |=======================================================|
| 51,,113 %VMINQ | Header of the "in" queue |
| |=======================================================|
| 52,,113 %VMINC | Count of pages in the "in" queue |
| |=======================================================|
| 53,,113 %VMSNQ | Header of the slow "in" queue |
| |=======================================================|
| 54,,113 %VMSNC | Count of pages in the slow "in" queue |
| |=======================================================|
| 55,,113 %VMIPQ | Header of the in-progress paging queue |
| |=======================================================|
| 56,,113 %VMIPC | Count of pages in the in-progress queue |
| |=======================================================|
| 57,,113 %VMOUQ | Header of the "out" paging queue |
| |=======================================================|
| 60,,113 %VMOUC | Count of pages in the "out" queue |
| |=======================================================|
| 61,,113 %VMLPT | Header of the queue of locking pages |
| |=======================================================|
| 62,,113 %VMLPC | Number of pages in the lock queue |
| |=======================================================|
| 63,,113 %VMLCT | Number of available pages accounting for %VMLPC |
| |=======================================================|
23-112
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 SEQUENCE
MOVE ac,[XWD jobno,.GTVRT]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Paging rate for job | Reserved |
|=======================================================|
23-113
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
23-114
GETTAB TABLES
13,,115 %SSRSS | Total user time since SCHED. set class parameters |
|=======================================================|
14,,115 %SSCLS | Default class for new jobs |
|=======================================================|
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-115
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 SEQUENCE
MOVE ac,[XWD jobno,.GTST2]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Second job status word |
|=======================================================|
23-116
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 SEQUENCE
MOVE ac,[XWD jobno,.GTJTC]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Job type and scheduler class |
|=======================================================|
23-117
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is the class number of the class whose
quota percentage is required.
|=======================================================|
| Class quota in percent for class |
|=======================================================|
23-118
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 SEQUENCE
MOVE ac,[XWD class,.GTCRT]
GETTAB ac,
error return
normal return
In the calling sequence, class is the class number of the class whose
runtime is required.
|=======================================================|
| Class runtime since quotas set for class |
|=======================================================|
23-119
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
23-120
GETTAB TABLES
|=======================================================|
13,,126 %SITGH | [SYSTEM]TGHA |
|=======================================================|
14,,126 %SINML | DECnet NML listener |
|=======================================================|
15,,126 %SIGFR | [SYSTEM]GOPHER |
|=======================================================|
16,,126 %SICAT | [SYSTEM]CATALOG |
|=======================================================|
17,,126 %SIMAI | [SYSTEM]MAILER |
|=======================================================|
23-121
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-122
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 SEQUENCE
MOVE ac,[XWD jobno,.GTJLT]
GETTAB ac,
error return
normal return
In the calling sequence, 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-123
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 SEQUENCE
MOVE ac,[XWD jobno,.GTEBT]
GETTAB ac,
error return
normal return
|=======================================================|
| Jiffies of KL10 EBOX time |
|=======================================================|
23-124
GETTAB TABLES
.GTEBR - EBOX Jiffy Remainder
GETTAB Table 132
CONTENTS
The remainder resulting from dividing the contents of .GTEBT by RTUPS.
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 SEQUENCE
MOVE ac,[XWD jobno,.GTEBR]
GETTAB ac,
error return
normal return
|=======================================================|
| Jiffy remainder - mod(.GTEBT,RTUPS) |
|=======================================================|
23-125
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 SEQUENCE
MOVE ac,[XWD jobno,.GTMBT]
GETTAB ac,
error return
normal return
|=======================================================|
0,,133 .GTMBT | Jiffies of KL10 MBOX time |
|=======================================================|
23-126
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 SEQUENCE
MOVE ac,[XWD jobno,.GTMBR]
GETTAB ac,
error return
normal return
|=======================================================|
| Jiffy remainder - mod(.GTMBT,RTUPS) |
|=======================================================|
23-127
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRDV]
GETTAB ac,
error return
normal return
In the calling sequence, 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-128
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRDI]
GETTAB ac,
error return
normal return
In the calling sequence, 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-129
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRFN]
GETTAB ac,
error return
normal return
In the calling sequence, 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-130
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 SEQUENCE
MOVE ac,[XWD jobno,.GTDFL]
GETTAB ac,
error return
normal return
In the calling sequence, 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-131
GETTAB TABLES
.GTNTP - Network Performance Data
GETTAB Table 141
CONTENTS
Data for network performance analysis.
INDEXED BY
Item number.
Monitor Table: NETGTT
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
23-132
GETTAB TABLES
14,,141 %NTBYO | Number of output bytes processed |
|=======================================================|
15,,141 %NTNIP | ANF-10/Ethernet Protocol Number |
| (0 if function is not enabled) |
|=======================================================|
16,,141 %NTNIA | ANF-10/Ethernet Multicast Address |
| (Four highest bytes) |
|=======================================================|
17,,141 %NTNIM | ANF-10 Ethernet Multicast Address |
| (Low four bytes, or 0) |
|=======================================================|
20,,141 %NTNII | ANF-10/Ethernet broadcase interval maximum |
|=======================================================|
21,,141 %NTNIJ | ANF-10/Ethernet FEK Keep-Alive Timer value |
|=======================================================|
The pointers %NTRTP, %NTRMT, %NTRDL, %NTXTP, %NTXMT, and %NTXDL are of
the form:
<length-1>B8+<offset>B35
In this format, 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-133
GETTAB TABLES
Subtable: Received NCL Message Types
Subtable of .GTNTP
CONTENTS
Received NCL message types.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%NTRTP]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
In the calling sequence, 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-134
GETTAB TABLES
Subtable: Received NCL Numbered Message Types
Subtable of .GTNTP
CONTENTS
Received NCL numbered message types.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%NTRMT]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
In the calling sequence, 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-135
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 SEQUENCE
MOVE ac,[%NTRDL]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
In the calling sequence, 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-136
GETTAB TABLES
Subtable: Transmitted NCL Message Types
Subtable of .GTNTP
CONTENTS
Transmitted NCL message types.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%NTXTP]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
In the calling sequence, 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-137
GETTAB TABLES
Subtable: Transmitted NCL Numbered Message Types
Subtable of .GTNTP
CONTENTS
Transmitted NCL numbered message types.
INDEXED BY
Item number.
CALLING SEQUENCE
MOVE ac,[%NTXMT]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
In the calling sequence, 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-138
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 SEQUENCE
MOVE ac,[%NTXDL]
GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
In the calling sequence, 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-139
GETTAB TABLES
.GTSPA - Scheduler Performance Data
GETTAB Table 142
CONTENTS
Data for analysis of scheduler performance.
INDEXED BY
Item number.
Monitor Table: SCDPER
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|-------------------------------------------------------|
23-140
GETTAB TABLES
14,,142 %SPQR2 | Number of PQ2 jobs that expired quantum runtime |
|-------------------------------------------------------|
15,,142 %SPQRH | Number of HPQ jobs that expired quantum runtime |
|=======================================================|
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-141
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 SEQUENCE
MOVE ac,[XWD jobno,.GTVKS]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Virtual kilo-core ticks |
|=======================================================|
23-142
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 SEQUENCE
MOVE ac,[XWD jobno,.GTUUC]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| Count of monitor calls done for job |
|=======================================================|
23-143
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 SEQUENCE
MOVE ac,[XWD jobno,.GTRSn]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
23-144
GETTAB TABLES
.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 SEQUENCE
MOVE ac,[XWD jobno,.GTPC]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the number of a logged-in job. Use
-1 for the current job.
|=======================================================|
| User PC |
|=======================================================|
23-145
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 SEQUENCE
MOVE ac,[XWD jobno,.GTCAP]
GETTAB ac,
error return
normal return
In the calling sequence, 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-146
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
HLREM ac,minent
HRREM ac,maxent
In the calling sequence, 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-147
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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.
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.
23-148
GETTAB TABLES
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-149
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-150
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 SEQUENCE
MOVE ac,[XWD jobno,.GTOBI]
GETTAB ac,
error return
normal return
In the calling sequence, 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.
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.
23-151
GETTAB TABLES
10 OB.BSS Batch stream number set.
177B17 OB.BSN Batch stream number.
23-152
GETTAB TABLES
.GTDCD - CONI/DATAI Corresponding to DSB
GETTAB Table 160
CONTENTS
Device status block subtable.
INDEXED BY
Item number.
Monitor Table: DVSXCT
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
|=======================================================|
|CONI/DATAI corresp to device status block (see %CCDSB) |
|=======================================================|
23-153
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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 |
|=======================================================|
23-154
GETTAB TABLES
14,,161 %NDLMS | Last message sent |
|=======================================================|
15,,161 %NDLMA | Last message number assigned |
|=======================================================|
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 |
|=======================================================|
25,,161 %NDNVR | NCL version number of remote node |
|=======================================================|
23-155
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 SEQUENCE
MOVE ac,[XWD jobno,.GTPDB]
GETTAB ac
error return
normal return
|-------------------------------------------------------------------|
| Reserved |Number of monitor |Number of monitor |Address (monitor)|
| |per-process pages |per-process pages.|of job's PDB |
| |swapped-in | (total) | |
|-------------------------------------------------------------------|
0--------5 6---------------11 12-------------17 18-------------35
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-156
GETTAB TABLES
.GTEQJ - ENQ./DEQ. Queue Header
GETTAB Table 163
CONTENTS
ENQ/DEQ queue header.
INDEXED BY
PDB word.
Monitor Table: .PDEQJ
CALLING SEQUENCE
MOVE ac,[XWD jobno,.GTEQJ]
GETTAB ac
error return
normal return
|======================================================|
| ENQ/DEQ queue header |
|======================================================|
23-157
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 SEQUENCE
MOVE ac,[item]
GETTAB ac
error return
normal return
In the calling sequence, 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-158
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 SEQUENCE
MOVE ac,[XWD jobno,.GTLBS]
GETTAB ac
error return
normal return
|======================================================|
| Set by program | Set by user command |
|======================================================|
In this data block, 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-159
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 SEQUENCE
MOVE ac,[XWD jobno,.GTPTR]
GETTAB ac
error return
normal return
|======================================================|
| SIXBIT program name |
|======================================================|
23-160
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSTM]
GETTAB ac
error return
normal return
|======================================================|
| Universal date/time of last RESET |
|======================================================|
23-161
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 SEQUENCE
MOVE ac,[item]
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 |
|======================================================|
23-162
GETTAB TABLES
14,,170 %DNRMX | Pointer to address of router maximum node number |
|======================================================|
15,,170 %DNCST | Address of byte pointer to cost |
|======================================================|
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-163
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 SEQUENCE
MOVE ac,[XWD jobno,.GTSJB]
GETTAB ac
error return
normal return
|======================================================|
| Pointer |
|======================================================|
23-164
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 SEQUENCE
MOVE ac,[item]
GETTAB ac
error return
normal return
In the calling sequence, item is the number of the node in this table.
|======================================================|
| Node data block address |
|======================================================|
23-165
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 SEQUENCE
MOVE ac,[item]
GETTAB ac
error return
normal return
In the calling sequence, 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-166
GETTAB TABLES
.GTCTX - Context Table
GETTAB Table 175
CONTENTS
Information about contexts.
INDEXED BY
Item number.
Monitor Table: CTXTAB
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac
error return
normal return
In the calling sequence, 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 |
|===================================================|
23-167
GETTAB TABLES
12,,175 %CTPPE | No. of times a privileged program exceeded |
| pages-saved quota |
|===================================================|
13,,175 %CPBDM | Byte pointer to returned context directory map |
|===================================================|
23-168
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 SEQUENCE
MOVE ac,[XWD jobno,.GTIMI]
GETTAB ac,
error return
normal return
In the calling sequence, 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-169
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 SEQUENCE
MOVE ac,[XWD jobno,.GTIMO]
GETTAB ac,
error return
normal return
In the calling sequence, 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-170
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 SEQUENCE
MOVE ac,[XWD jobno,.GTDDB]
GETTAB ac,
error return
normal return
|======================================================|
| Pointer to DDB |
|======================================================|
23-171
GETTAB TABLES
.GTVIR - Job's Virtual Size
GETTAB Table 201
CONTENTS
Virtual size of program.
INDEXED BY
Job number.
Monitor Table: JBTVIR
CALLING SEQUENCE
MOVE ac,[XWD jobno,.GTVIR]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the job number, or -1 for current
job.
The virtual size is returned with Bits 6-14 containing the high
segment size and Bits 15-35 containing the low segment size.
23-172
GETTAB TABLES
.GTETH - Ethernet Information
GETTAB Table 202
CONTENTS
Data about Ethernet configuration.
INDEXED BY
Item number.
Monitor Table: ETHGTB
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-173
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-174
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-175
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is the offset into this table.
|======================================================|
| First 5 ASCII characters of the BOOTXT command string|
|======================================================|
| Next 5 ASCII characters |
|======================================================|
. . .
23-176
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-177
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is .TYxxx (a device type as defined for
the DEVTYP UUO).
|======================================================|
| Address of first KDB for device .TYxxx |
|======================================================|
| Address of first KDB for device .TYxxx |
|======================================================|
. . .
23-178
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 SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, 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-179
GETTAB TABLES
.GTTCN -- Terminal Class Names
GETTAB Table 212
CONTENTS
Names of terminal classes.
INDEXED BY
Item number.
Monitor Table: TCNTAB
CALLING SEQUENCE
MOVE ac,[item]
GETTAB ac,
error return
normal return
In the calling sequence, item is the terminal class number.
|======================================================|
| Terminal classes |
|======================================================|
. . .
23-180
GETTAB TABLES
.GTLPN -- Logged-In Project-Programmer Numbers
GETTAB Table 213
CONTENTS
Returns the PPN used by the job for logging in.
INDEXED BY
Job number.
Monitor Table: PDB Word .PDLPN
CALLING SEQUENCE
MOVE ac,[jobno]
GETTAB ac,
error return
normal return
In the calling sequence, jobno is the job number, or -1 for the
current job.
|======================================|
| Logged-in PPN |
|======================================|
. . .
23-181
A-1
APPENDIX A
.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.
A.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 |
|=======================================================|
A-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.
A-2
APPENDIX B
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.
B.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 B.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].
B.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.
B-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 B-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.
B-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.
B.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
B-3
FILE DAEMON
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 B-1. If you do
not specify a switch, a default of /NONE is provided. The possible
switches are listed in Table B-1.
Table B-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
B-4
FILE DAEMON
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.
/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.
B-5
FILE DAEMON
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.
/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).
B-6
FILE DAEMON
/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.)
______________________________________________________________________
B-7
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>
B-8
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).
B-9
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.
B.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.
B-10
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 |
+---------------------------------------------------------------------+
B-11
FILE DAEMON
In this data block, the type of access is the type of access being
attempted to the file. The Access Type Codes are listed below. The
File Daemon Codes are listed in Table B-2.
The remaining words in the IPCF packet message are the full file
specification for the file being accessed.
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
Table B-2: 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 B-3, 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 B-3, flag bit 1.
B-12
FILE DAEMON
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 B-3, 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.
______________________________________________________________________
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 B-3.
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.
B-13
FILE DAEMON
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.
Table B-3: 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.
______________________________________________________________________
B-14
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 B.
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.
Gloss-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).
Gloss-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.
Gloss-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).
Breakpoint
A location at which program operation is suspended in order to
examine partial results. Breakpoints are used in the debugging
process.
Gloss-4
GLOSSARY
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."
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
Gloss-5
GLOSSARY
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.
CDP
The generic device name for the card punch device.
Gloss-6
GLOSSARY
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.
Command
The part of an instruction that causes the computer to execute a
specified operation.
Gloss-7
GLOSSARY
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).
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.
Gloss-8
GLOSSARY
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.
Controller name
All file structures residing on a specific controller.
Core
Physical memory.
Gloss-9
GLOSSARY
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. See
"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.
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.
Gloss-10
GLOSSARY
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.
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.
Gloss-11
GLOSSARY
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. See 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.
Direct address
An address that specifies the location of an operand. Contrast
with indirect address.
Gloss-12
GLOSSARY
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.
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.
Gloss-13
GLOSSARY
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.
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.
Gloss-14
GLOSSARY
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.
Extended file
A file that has more than one RIB in which to record the
retrieval pointers.
Gloss-15
GLOSSARY
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. See Appendix B.
File directory
See Directory.
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.
Gloss-16
GLOSSARY
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.
Flag
An indicator that signals the occurrence of some condition, such
as the end of a word.
Gloss-17
GLOSSARY
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.
Hardware
Physical equipment of the computer (such as magnetic, mechanical,
and electronic devices), as contrasted with the computer program
(software) or method of use.
Gloss-18
GLOSSARY
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.
Idle segment
A sharable segment that is referenced by one or more swapped-out
jobs, but not by any jobs currently in core.
Gloss-19
GLOSSARY
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.
Input
1. Pertaining to a device, process, or channel involved in the
acquisition of data.
2. Information that is read by a computer.
Gloss-20
GLOSSARY
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.
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
Gloss-21
GLOSSARY
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.
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.
Gloss-22
GLOSSARY
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.
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.
Gloss-23
GLOSSARY
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.
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.
Gloss-24
GLOSSARY
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.
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.
Gloss-25
GLOSSARY
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.
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.
Gloss-26
GLOSSARY
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.
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.
Gloss-27
GLOSSARY
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.
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.
Gloss-28
GLOSSARY
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.
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.
Gloss-29
GLOSSARY
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.
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).
Gloss-30
GLOSSARY
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.
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.
Gloss-31
GLOSSARY
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.
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.
Gloss-32
GLOSSARY
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."
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.
Gloss-33
GLOSSARY
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.
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.
Gloss-34
GLOSSARY
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.
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
Gloss-35
GLOSSARY
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.
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.
Gloss-36
GLOSSARY
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.
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.
Gloss-37
GLOSSARY
Recursive
A repetitive process in which the result of each process is
dependent upon the result of the previous one. See "recursive".
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.
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
Gloss-38
GLOSSARY
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.
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.
Gloss-39
GLOSSARY
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.
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.)
Gloss-40
GLOSSARY
Secondary storage
Low speed magnetic storage such as disks or drums.
Sector
A physical portion of a mass storage device.
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.
Gloss-41
GLOSSARY
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.
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.
Soft CORMAX
Gradual reduction of CORMAX (see SETUUO function 50).
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.
Gloss-42
GLOSSARY
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.
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.
Gloss-43
GLOSSARY
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.
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.
Gloss-44
GLOSSARY
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.
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.
Gloss-45
GLOSSARY
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.
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.
Gloss-46
GLOSSARY
User file directory
See UFD.
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.
.b.i-5 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.
Gloss-47
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.
Gloss-48
INDEX
-A- Capability bits, 22-454, 23-146
Changing
Access types, 22-330 accounting strings, 22-4
Access-allowed bit, 22-329 file attributes, 22-402
Accessing files, 22-24 high segments, 22-182
ACCLG. UUO, 22-3 memory space, 22-42
Account strings, 22-4 PPNs, 22-22
ACCT. UUO, 22-4 search lists, 22-472
Accumulators, 22-2 Channels
Active swapping list, 22-100 closing, 22-28
Address break condition, 22-451 extended, 22-163
ANF-10 initializing, 22-313
intertask communication, 22-525 releasing, 22-399
nodes, 22-299 resetting, 22-406
Appending to files, 22-167 Character mode, 22-459
APRENB UUO, 22-7 input, 22-202
Assigning Characteristics of disk devices,
logical names, 22-66 22-109
reel identifiers, 22-274 Checking
ATTACH UUO, 22-10 file access, 22-23
Auto-CRLF, 22-518 PPNs, 22-319
Checkpointing files, 22-167
-B- CHGPPN UUO, 22-22
CHKACC UUO, 22-23
Backspacing magtape Clearing
files, 22-278 DECtape directories, 22-171
records, 22-280 DTEs, 22-116
BATMAX, 22-3 DVCMDA, 22-71
setting, 22-449 I/O status bits, 22-33
BATMIN, 22-449 logical names, 22-66
Blank tape, 22-277 terminal input buffer, 22-31
Block pointer positioning, 22-486 terminal output buffer, 22-32
Break characters, 22-512 CLOSE bits, 22-29
Breakpointing the monitor, 22-462 CLOSE UUO, 22-28
Buffer rings Closing files, 22-167
control block, 22-295 CLRBFI UUO, 22-31
for input, 22-200 CLRBFO UUO, 22-32
for output, 22-322 CLRST. UUO, 22-33
recycling, 22-165 CMAND. UUO, 22-35
Buffers, 22-78 CNECT. UUO, 22-40
Command list creation, 22-35
-C- Commands
defining, 22-35
Cache bit, 22-331, 22-455 forcing, 22-176
CAL11. UUO, 22-17 Communicating with system
CALLI UUO, 22-13 programs, 22-374
Cancelling enqueued requests, Completing magtape I/O, 22-294
22-59 Concealed high segment, 22-182
Index-1
Condition codes, 22-364 DECtape
CONFIG. program, 22-391 blocks, 22-531
Connecting MPX devices, 22-40 LOOKUPs, 22-268
Contracting core, 22-42 on extended channels, 22-171
Controller numbers, 22-87 DECtape directories
Controller types clearing, 22-539
for disk, 22-114 Deferred spooling, 22-453
for magtape, 22-492 Defining
Controlling job number, 22-45 commands, 22-35
Controlling PSI interrupts, symbols, 22-2
22-363 Deleting
CORE UUO, 22-42 commands, 22-36
CORMAX, 22-446, 22-456 files, 22-169
CORMIN, 22-446, 22-456 Density codes for magtape, 22-492
CPU diagnostics, 22-85 DEQ.
Creating error codes, 22-135
command lists, 22-35 UUO, 22-59
.EXE files, 22-414 Dequeuing enqueued requests,
files, 22-142, 22-166 22-59
pages, 22-328 Destroying pages, 22-328
Cross-job interrupts, 22-358 Detaching terminals, 22-11
CTLJOB UUO, 22-45 DEVCHR UUO, 22-63
CTX. UUO, 22-46 Device
characteristics, 22-82
reading, 22-63
-D- diagnostics, 22-85
initialization, 22-313
DAEFIN UUO, 22-51 node numbers, 22-544
DAEMON program Device interrupt codes, 22-366
invoking, 22-52 Device names
requesting, 22-51 physical, 22-123
DAEMON UUO, 22-52 reading, 22-68
DAP messages, 22-528 Device status, 22-80
Data base, 22-141 on MPX devices, 22-146
Data mode specification, 22-316 Devices
Data output, 22-320 realtime, 22-409
Dataset lines, 22-510 reassigning, 22-389
DATE UUO, 22-57 removing restrictions, 22-126
DDBs, 22-80 restricting, 22-125
DDT DEVLNM UUO, 22-66
addresses, 22-441 DEVNAM UUO, 22-68
breakpoints, 22-456 DEVOP. UUO, 22-69
Deassigning devices, 22-389 DEVPPN UUO, 22-76
DEBRK. UUO, 22-58 DEVSIZ UUO, 22-78
Debugging DEVSTS UUO, 22-80
flags, 23-24 DEVTYP UUO, 22-82
front ends, 22-17 DIAG. UUO, 22-85
DECnet, 22-103 Diagnostics, 22-85
link status, 22-105 Directory path, 22-337
DECnet-10 Disconnecting MPX devices, 22-40
intertask communication, 22-307 Disk
network management, 22-310 cache, 22-456
Index-2
Disk (Cont.) Examining
characteristics, 22-109 front ends, 22-19
compatibility, 22-97 monitor, 22-468
controller types, 22-114 Exchanging pages, 22-328
I/O priority, 22-97 Execute-only
mount count, 22-110 bit, 23-8
names, 22-488 segment, 22-182
unit types, 22-115 Execution
DISK. UUO, 22-96 suspending, 22-194
Dismissing terminating, 22-159
interrupts, 22-58 EXIT UUO, 22-159
realtime interrupts, 22-532 Expanding core, 22-42
DNET. UUO, 22-103 Extended channels, 22-163
Dormant programs, 22-461 for DECtape, 22-171
DSKCHR UUO, 22-109 for magtape, 22-171
DTE
protocol type, 22-120 -F-
status, 22-117
DTE. UUO, 22-116 FCFS blocks, 22-110
DVCMDA, 22-71 Feature test flags, 23-24
DVPHY. UUO, 22-123 FILDAE, 22-23
DVRST. UUO, 22-125 File
DVURS. UUO, 22-126 input, 22-268
operations, 22-161
-E- protection, B-1
File access
EDDT breakpoints, 22-456 checking, 22-23
Enabling simultaneous, 22-173
dataset lines, 22-510 File specifications, 22-171
traps, 22-7 File structures, 22-472
Ending I/O, 22-28 Files
ENQ. creating, 22-142, 22-166
data base, 22-141 merging, 22-270
error codes, 22-135 FILOP.
quotas, 22-140 error codes (see Chapter 11),
UUO, 22-127 22-174
ENQ/DEQ UUO, 22-161
lock block format, 22-129 Forcing commands, 22-176
ENQC. FRCUUO, 22-176
error codes, 22-135 Free CRLF, 22-515
UUO, 22-138 Free space in UFDs, 22-102
ENTER Front end
error codes (see Chapter 11) testing, 22-17
UUO, 22-142 types, 22-21
EOF mark, 22-285
EOT mark, 22-286
ERLST. UUO, 22-146 -G-
Error file
entries, 22-53 GALAXY requests, 22-374
Ersatz devices, 22-76 GETLCH UUO, 22-178
Eternal locks, 22-130 GETLIN UUO, 22-180
Ethernet protocols, 22-148 GETPPN UUO, 22-181
Index-3
GETSEG Interrupt control block, 22-352
error codes (see Chapter 11) Interrupting jobs, 22-358
UUO, 22-182 Intertask communication
GETSTS UUO, 22-185 ANF-10, 22-525
GETTAB UUO, 22-187 DECnet-10, 22-307
GOBSTR UUO, 22-188 Invoking DAEMON, 22-52
GTNTN. UUO, 22-191 IONDX. UUO, 22-209
GTXTN. UUO, 22-193 IONEOU UUO, 22-210
Guideline, 22-451 IPCFQ.
GVPL, 22-450 error codes, 22-215, 22-218
UUO, 22-214
-H- IPCFR.
error codes, 22-218
Header block for ENQ., 22-127 UUO, 22-216
HIBER UUO, 22-194 IPCFS.
Hibernating jobs, 22-543 error codes, 22-218
High priority scheduler queue, UUO, 22-221
22-197
High segment origin, 22-400 -J-
High segments
changing, 22-182 JBSET. UUO, 22-224
write protection, 22-458 Job
Host system, 22-453 capability word, 23-146
HPQ UUO, 22-197 number, 22-371
privilege word, 23-14
-I- resetting, 22-159
Job contexts, 22-46
I/O Job search list, 22-228
MPX status, 22-146 reading, 22-188
terminating, 22-28 Job status word, 23-8
I/O status bits, 22-185, 22-313, JOBPEK UUO, 22-225
22-439, 22-444 JOBSTR UUO, 22-228
clearing, 22-33 JOBSTS UUO, 22-230
Implied PPNs, 22-340
IN UUO, 22-198 -K-
In-behalf-of PPN, 22-166
In-your-behalf function, 22-23 KDP. UUO, 22-233
INBUF UUO, 22-200 Kilo-core ticks, 23-13
INCHRS UUO, 22-202 KL error
INCHRW UUO, 22-203 chunks, 22-119
INCHSL UUO, 22-204 timer, 22-119
INCHWL UUO, 22-205 KMC-11, 22-233
Incrementing LOGNUM, 22-3 KSYS, 22-448
Initializing
devices, 22-313
magtape channels, 22-284, -L-
22-287
programs, 22-407 Limit, 22-451
PSI system, 22-355 Line characteristics, 22-178
Input buffer rings, 22-200 Line mode input, 22-204
INPUT UUO, 22-207 Line printer characteristics,
Interrupt codes, 22-366 22-72
Index-4
Link status MERGE.
ANF-10, 22-526 error codes (see Chapter 11)
reading, 22-105 UUO, 22-270
Listing MIC status bits, 22-510
ANF-10 nodes, 22-303 Monitor
commands, 22-37 breakpoints, 22-462
DECnet nodes, 22-104 checksum, 22-463
devices, 22-123 MONRT. UUO, 22-160, 22-272
Loading Mount count
RAM, 22-70 for disk, 22-110
VFU, 22-70 Moving pages, 22-328
LOCATE UUO, 22-258 MPX devices
Lock connecting, 22-40
block, 22-129 status, 22-146
status, 22-138 MSTIME UUO, 22-273
LOCK UUO, 22-260 MTAID. UUO, 22-274
Lock-associated data block, MTAPE UUO, 22-276
22-134 MTBLK. UUO, 22-277
Locking jobs, 22-260 MTBSF. UUO, 22-278
Logical name assignment, 22-66 MTBSR. UUO, 22-280
Logical node number, 22-258 MTCHR. UUO, 22-281
LOGIN UUO, 22-266 MTDEC. UUO, 22-284
LOGMAX, 22-3 MTEOF. UUO, 22-285
setting, 22-449 MTEOT. UUO, 22-286
LOGNUM, 22-3 MTIND. UUO, 22-287
LOGOUT UUO, 22-267 MTLTH. UUO, 22-288
Long-term locks, 22-130 MTREW. UUO, 22-289
LOOKUP MTSKF. UUO, 22-290
error codes (see Chapter 11) MTSKR. UUO, 22-291
UUO, 22-268 MTUNL. UUO, 22-292
MTWAT. UUO, 22-294
-M- Multi-plexed devices, 22-40,
22-146
Magtape Multiple high segments, 22-262
controllers, 22-492 MVHDR. UUO, 22-295
densities, 22-492
drive status, 22-281 -N-
functions, 22-276
labels, 22-496 NDB, 23-154
operations, 22-490 Network information, 22-103
reel identifiers, 22-274 /NEW searching, 22-76
Magtapes on extended channels, NODE. UUO, 22-299
22-171 Non-blocking ENQ. requests,
Mapping 22-134
pages, 22-332 Non-I/O interrupt codes, 22-364
segments, 22-400 NSP. UUO, 22-307
Master DTE number, 22-117 NTMAN. UUO, 22-310
MDA NUL device, 22-65
setting control, 22-71
wait, 22-102 -O-
Measuring performance, 22-348
Memory space, 22-42 OPEN UUO, 22-313
Index-5
Opening files, 22-166 Privilege bits, 23-14
OTHUSR UUO, 22-319 Privileges
OUT UUO, 22-320 setting, 22-454
OUTBUF UUO, 22-322 Program execution, 22-542
OUTCHR UUO, 22-323 Programs
Output buffer rings, 22-322 name, 22-443
OUTPUT UUO, 22-324 stopping, 22-159
OUTSTR UUO, 22-325 Protecting
Owner PPN, 22-111 files, B-1
high segments, 22-458
-P- Pseudo-terminals, 22-45
PSI interrupts controlling,
Packet header block, 22-217 22-363
PAGE. UUO, 22-326 PSI state
Partitioned resources, 22-133 restoring, 22-360
PATH. saving, 22-361
block, 22-345 PTYs, 22-45
UUO, 22-337
Pathological names, 22-337 -Q-
PC flags, 22-353
PDB, 23-156 Quantum requeue response, 23-78
PDP-11 compatibility Querying IPCF input queue, 22-214
for disks, 22-97 QUEUE. UUO, 22-374
PEEK UUO, 22-347
PERF. UUO, 22-348 -R-
Performing measurements, 22-348
Physical RAM loading, 22-70
device names, 22-123 Reading
unit names, 22-488 account strings, 22-4
PIBLK. UUO, 22-352 data, 22-198
PIFLG. UUO, 22-353 date, 22-57
PIINI. UUO, 22-355 device characteristics, 22-63
PIJBI. UUO, 22-358 device names, 22-68
PIRST. UUO, 22-360 ENQ. quotas, 22-140
PISAV. UUO, 22-361 file specifications, 22-171
PISYS. UUO, 22-363 files, 22-169, 22-268
PITMR. UUO, 22-369 GETTAB tables, 22-187
PJOB UUO, 22-371 I/O status, 22-439
POKE. UUO, 22-372 I/O status bits, 22-185
Policy CPU, 22-456 IPCF packets, 22-216
Pooled ENQ. resources, 22-133 job search lists, 22-188,
Positioning block pointers, 22-228
22-486 lock status, 22-138
PPNs monitor locations, 22-347
changing, 22-22 physical unit numbers, 22-87
checking, 22-319 PPNs, 22-76, 22-181
for disk devices, 22-76 runtimes, 22-413
implied, 22-340 terminal input, 22-202
owner, 22-111 terminal line characteristics,
reading, 22-181 22-178
Preallocating space, 22-169 terminal names, 22-180
Primary protocol for DTEs, 22-116 time, 22-273
Index-6
Realtime Sending (Cont.)
interrupt facility, 22-409 IPCF packets, 22-221
interrupts, 22-532 strings, 22-325
traps, 22-524 SENSE. UUO, 22-439
REASSI UUO, 22-389 SET WATCH bits, 22-447
RECON. UUO, 22-391 SETDDT UUO, 22-441
Recycling buffer rings, 22-165 SETLCH UUO, 22-442
Reel identifiers, 22-274 SETNAM UUO, 22-443
RELEAS UUO, 22-399 SETSTS UUO, 22-444
Relinquishing requests, 22-59 Setting
Reload ROM word, 22-117 controllers off-line, 22-98
REMAP UUO, 22-400 controllers on-line, 22-99
RENAME disk I/O priority, 22-97
error codes (see Chapter 11) DVCMDA, 22-71
UUO, 22-402 ENQ. quotas, 22-140
Renaming files, 22-168 I/O status bits, 22-33
Requesting .JBDDT, 22-441
ENQ. resources, 22-134 job parameters, 22-224
resources, 22-127 terminal speed rate, 22-517
RESCAN UUO, 22-405 SETUUO UUO, 22-446
RESDV. UUO, 22-406 SETUWP UUO, 22-458
RESET UUO, 22-407 Sharable resources, 22-129
Resetting jobs, 22-159 Sharer group, 22-133
Resources Simultaneous file access, 22-173
releasing, 22-59 Skipping
requesting, 22-127 magtape files, 22-290
Responses, 23-77 magtape records, 22-291
Restoring PSI state, 22-360 on input, 22-459, 22-460
Restricting devices, 22-125 SKPINC UUO, 22-459
Rewinding magtape, 22-289 SKPINL UUO, 22-460
Rewriting RIBs, 22-171 SLEEP UUO, 22-461
ROM word, 22-117 Sleeping, 22-52
RTTRP UUO, 22-409 SNOOP. UUO, 22-462
RUN Soft CORMAX, 22-456
error codes (see Chapter 11) Software disk cache, 22-456
UUO, 22-411 Specifying
RUNTIM UUO, 22-413 data mode, 22-316
ENQ. resources, 22-132
-S- Spooled files, 22-466
Spooling
SAVE. UUO, 22-414 deferred, 22-453
Saving PSI state, 22-361 Spooling bits, 22-447
SCHED. UUO, 22-416 SPPRM. UUO, 22-466
Scheduler queue, 22-197 SPY UUO, 22-468
Search lists, 22-340 STATO UUO, 22-470
changing, 22-472 Status
Secondary bootstrap, 22-120 DECnet links, 22-105
22-sector mode, 22-97 I/O, 22-313, 22-439, 22-444
Segments, 22-533 MIC, 22-510
Sending of DTEs, 22-117
characters, 22-323 STATZ UUO, 22-471
data, 22-324 Stopping programs, 22-159
Index-7
Structure parameter block, 22-475 TMPCOR UUO, 22-503
STRUUO UUO, 22-472 Trap
Subjobs, 22-45 conditions, 22-7
Super-mode instructions, 22-540
input, 22-535 Traps
output, 22-537 enabling, 22-7
Super-USETI/USETO, 22-486 virtual time, 22-451
Superseding files, 22-142 TRMNO. UUO, 22-506
SUSET. UUO, 22-486 TRMOP. UUO, 22-508
Suspending execution, 22-194 TRPSET UUO, 22-524
Swapping pages, 22-327 TSK. UUO, 22-525
Symbolic definition, 22-2 TTCALL UUO, 22-530
SYSPHY UUO, 22-488
SYSSTR UUO, 22-489 -U-
System
date, 22-448 UFD
dump list, 22-101 compression, 22-100
file structures, 22-489 quota, 22-109
scheduling, 22-416 UGETF, 22-531
UJEN UUO, 22-532
-T- Unit numbers, 22-87
Unit parameter block, 22-477
Tape labels, 22-496 Unit types, 22-115
TAPOP. UUO, 22-490 Universal Device Index, 22-209
Tasks, 22-525 Unloading
Temporary files, 22-503 disk, 22-98
Terminal magtapes, 22-292
operations, 22-508 UNLOK. UUO, 22-533
speeds, 22-517 Unrestricting devices, 22-126
status, 22-230 Updating files, 22-142, 22-167
UDX, 22-506 USETI UUO, 22-535
Terminal break character sets, USETO UUO, 22-537
22-512 UTPCLR UUO, 22-539
Terminal input UTRP. UUO, 22-540
buffer, 22-31 UUOs
rescanning, 22-405 ACCLG., 22-3
Terminal line ACCT., 22-4
characteristics, 22-178, 22-442 APRENB, 22-7
numbers, 22-191 ATTACH, 22-10
Terminal names, 22-193 CAL11., 22-17
reading, 22-180 CHGPPN, 22-22
Terminal output buffer, 22-32 CHKACC, 22-23
Terminals, 22-10 CLOSE, 22-28
Terminating CLRBFI, 22-31
data transmission, 22-28 CLRBFO, 22-32
execution, 22-159 CLRST., 22-33
Testing CMAND., 22-35
clear bits, 22-471 CNECT., 22-40
front ends, 22-17 CORE, 22-42
set bits, 22-470 CTLJOB, 22-45
Timed interrupts, 22-369 DAEFIN, 22-51
TIMER UUO, 22-502 DAEMON, 22-52
Index-8
UUOs (Cont.) UUOs (Cont.)
DATE, 22-57 JOBSTR, 22-228
DEBRK., 22-58 JOBSTS, 22-230
DEQ., 22-59 KDP., 22-233
DEVCHR, 22-63 LOCATE, 22-258
DEVLNM, 22-66 LOCK, 22-260
DEVNAM, 22-68 LOGIN, 22-266
DEVOP., 22-69 LOGOUT, 22-267
DEVPPN, 22-76 LOOKUP, 22-268
DEVSIZ, 22-78 MERGE., 22-270
DEVSTS, 22-80 MONRT., 22-272
DEVTYP, 22-82 MSTIME, 22-273
DIAG., 22-85 MTAID., 22-274
DISK., 22-96 MTAPE, 22-276
DNET., 22-103 MTBLK., 22-277
DSKCHR, 22-109 MTBSF., 22-278
DTE., 22-116 MTBSR., 22-280
DVPHY., 22-123 MTCHR., 22-281
DVRST., 22-125 MTDEC., 22-284
DVURS., 22-126 MTEOF., 22-285
ENQ., 22-127 MTEOT., 22-286
ENQC., 22-138 MTIND., 22-287
ENTER, 22-142 MTLTH., 22-288
ERLST., 22-146 MTREW., 22-289
EXIT, 22-159 MTSKF., 22-290
FILOP., 22-161 MTSKR., 22-291
FRCUUO, 22-176 MTUNL., 22-292
GETLCH, 22-178 MTWAT., 22-294
GETLIN, 22-180 MVHDR., 22-295
GETPPN, 22-181 NODE., 22-299
GETSEG, 22-182 NSP., 22-307
GETSTS, 22-185 NTMAN., 22-310
GETTAB, 22-187 OPEN, 22-313
GOBSTR, 22-188 OTHUSR, 22-319
GTNTN., 22-191 OUT, 22-320
GTXTN., 22-193 OUTBUF, 22-322
HIBER, 22-194 OUTCHR, 22-323
HPQ, 22-197 OUTPUT, 22-324
IN, 22-198 OUTSTR, 22-325
INBUF, 22-200 PAGE., 22-326
INCHRS, 22-202 PATH., 22-337
INCHRW, 22-203 PEEK, 22-347
INCHSL, 22-204 PERF., 22-348
INCHWL, 22-205 PIBLK., 22-352
INPUT, 22-207 PIINI., 22-355
IONDX., 22-209 PIJBI., 22-358
IONEOU, 22-210 PIRST., 22-360
IPCFQ., 22-214 PISAV., 22-361
IPCFR., 22-216 PISYS., 22-363
IPCFS., 22-221 PITMR., 22-369
JBSET., 22-224 PJOB, 22-371
JOBPEK, 22-225 POKE., 22-372
Index-9
UUOs (Cont.) UUOs (Cont.)
QUEUE., 22-374 TAPOP., 22-490
REASSI, 22-389 TIMER, 22-502
RECON., 22-391 TMPCOR, 22-503
RELEAS, 22-399 TRMNO., 22-506
REMAP, 22-400 TRMOP., 22-508
RENAME, 22-402 TRPSET, 22-524
RESCAN, 22-405 TSK., 22-525
RESDV., 22-406 TTCALL, 22-530
RESET, 22-407 UGETF, 22-531
RTTRP, 22-409 UJEN, 22-532
RUN, 22-411 UNLOK., 22-533
RUNTIM, 22-413 USETI, 22-535
SAVE., 22-414 USETO, 22-537
SCHED., 22-416 UTPCLR, 22-539
SENSE., 22-439 UTRP., 22-540
SETDDT, 22-441 WAIT, 22-542
SETLCH, 22-442 WAKE, 22-543
SETNAM, 22-443 WHERE, 22-544
SETSTS, 22-444
SETUUO, 22-446 -V-
SETUWP, 22-458
SKPINC, 22-459 Variable bits for DECnet links,
SKPINL, 22-460 22-106
SLEEP, 22-461 VFU loading, 22-70
SNOOP., 22-462 Virtual time trap, 22-451
SPPRM., 22-466
SPY, 22-468 -W-
STATO, 22-470
STATZ, 22-471 WAIT UUO, 22-542
STRUUO, 22-472 WAKE UUO, 22-543
SUSET., 22-486 WHERE UUO, 22-544
SYSPHY, 22-488 Working set, 22-329
SYSSTR, 22-489 Writing files, 22-167, 22-170
Written blocks, 22-102
Index-10