Trailing-Edge
-
PDP-10 Archives
-
bb-bt99l-bb
-
moncal.mem
There are 7 other files named moncal.mem in the archive. Click here to see a list.
TOPS-10 Monitor Calls Manual
Volume 2
|
| Electronic distribution with Autopatch Tape 16
|
|
| May 1987
This manual describes the
monitor calls used by TOPS-10
MACRO programmers to request
services that are controlled
by the TOPS-10 monitor. The
TOPS-10 Monitor Calls Manual
consists of two volumes.
Volume 1 is an overview of the
services available to the
programmer. Volume 2 is a
detailed list of the calls and
coding sequences that are used
to invoke those services.
|
| This manual updates the
| TOPS-10 Monitor Calls Manual
| printed for TOPS-10 7.03.
| This version of the manual is
| not printed, and is not
| available from DIGITAL. It is
| distributed on the Autopatch
| Tape #16 for TOPS-10 7.03A in
| file form only.
|
| Operating System: TOPS-10 Version 7.03A(31735)
Software: GALAXY Version 5.1
digital equipment corporation marlboro, massachusetts
First Printing, August 1980
Updated, December 1981
Revised, February 1984
Revised, April 1986
| Autopatch Revision, May 1987
The information in this document is subject to change without notice
and should not be construed as a commitment by Digital Equipment
Corporation. Digital Equipment Corporation assumes no responsibility
for any errors that may appear in this document.
The software described in this document is furnished under a license
and may only be used or copied in accordance with the terms of such
license.
No responsibility is assumed for the use or reliability of software on
equipment that is not supplied by DIGITAL or its affiliated companies.
| Copyright C , 1971, 1980, 1981, 1984, 1986, 1987 Digital Equipment
| Corporation.
All Rights Reserved.
The postage-prepaid READER'S COMMENTS form on the last page of this
document requests the user's critical evaluation to assist us in
preparing future documentation.
The following are trademarks of Digital Equipment Corporation:
DEC DECnet IAS
DECUS DECsystem-10 MASSBUS
Digital Logo DECSYSTEM-20 PDT
PDP DECwriter RSTS
UNIBUS DIBOL RSX
VAX EduSystem VMS
VT
CONTENTS
PREFACE
CHAPTER 22 MONITOR CALL DESCRIPTIONS
CHAPTER 23 GETTAB TABLES
23.1 HOW TO USE GETTAB TABLES . . . . . . . . . . . . 23-1
23.2 HOW TO USE GETTAB SUBTABLES . . . . . . . . . . 23-2
23.3 ADDING ITEMS TO THE MONITOR'S GETTAB TABLES . . 23-4
23.4 ADDING NEW GETTAB TABLES TO THE MONITOR . . . . 23-5
23.5 ALPHABETIC LISTING . . . . . . . . . . . . . . . 23-6
23.6 TOPS-10 GETTAB TABLES . . . . . . . . . . . . . 23-8
TABLES
22-1 PATH. Functions and Flags . . . . . . . . . . 22-344
PREFACE
This is the second volume of the 2-volume TOPS-10 Monitor Calls
Manual. Volume 1 describes the facilities offered by the monitor for
assembly language programs. You can use the information in Volume 1
to learn how to implement these facilities in your programs.
Volume 2 contains a detailed description of each monitor call, its
calling sequence, functions, and error codes, if any. It is the
definitive list of the monitor call functions. For information on
using these calls, you should you read Volume 1 before attempting to
use Volume 2.
Not all devices are supported under current versions of TOPS-10. In
the interest of providing useful information, this manual includes
references to unsupported and obsolete hardware. For support status
of hardware and software, please refer to the current TOPS-10 Software
Product Description.
Obsolete monitor calls are marked, either in the CALLI UUO, or in the
chapter in which they were previously described. Appropriate
substitutes, (if any), for obsolete calls are also indicated. Section
23.5 lists the GETTAB Tables, and notes any obsolete tables.
|
| CONVENTIONS
|
| This electronic distribution of the Monitor Calls Manual, Vol. 2
| contains special notation to identify the following:
|
| Notation Meaning
|
| bolding bolding within an argument description
| defines a type of data that you must supply
| in your program.
|
| / \ / \
| | | or \ /
| \ / braces define a choice of argument types that
| you can supply for the same word.
|
| If you find any errors or have any suggestions for improving this
| manual, please fill out the Reader's Reply Form at the end of this
| manual and mail it to the address shown on the back of the form.
|
| All reported errors will be corrected as soon as possible and
| distributed with the next revision of the manual. Changes to this
| manual will be announced in the Software Dispatch newsletter.
xii
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 Normal Return: describes the result of a normal 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 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 normal 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]
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
normal return
where: flags are:
Bit Symbol Meaning
0 AC.MAX Check LOGMAX.
1 AC.BMX Check BATMAX.
2 AC.DCR Decrement LOGNUM count.
Normal Return
On a normal 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.
22-3
ACCLG. [CALLI 204]
Error Return
When this call takes the error return, one of the following error
codes will be returned in the ac.
Error Codes
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-4
ACCT. [CALLI 167]
ACCT. [CALLI 167]
Function
Reads or changes the account string for a job.
Calling Sequence
MOVE ac,[XWD fcn-code,addr]
ACCT. ac,
error return
normal return
. . .
addr: EXP len
. . .
last argument
where: fcn-code is one of the function codes described below.
addr is the address of the argument block.
len is the length of the argument block (not including
this word), and the words up through last argument are
arguments for the given function.
The function codes and their meanings are:
Code Symbol Function
0 .ACTCH Changes the account string for the specified
job. The first word of the argument block must
contain a 1 for the number of arguments; the
second word must contain either 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.
You must have JACCT privileges to use function
code 0. Note that [1,2] privileges alone do not
provide ability to perform this function.
1 .ACTRD Reads the account string for the specified job.
The first word of the argument block must
contain a 2 for the number of arguments; the
second word must contain the job number for the
desired account string (-1 for the calling job);
the third word must contain the address of where
to return the account string.
22-5
ACCT. [CALLI 167]
NOTE
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.
Normal Return
If the function was .ACTCH, the account string is changed. If
the function was .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 ac. The error codes and their
meanings are:
Code Symbol Error
1 ACTTL% Account string too long for your buffer; the
leftmost characters have been stored.
2 ACTAC% Address check error.
3 ACTIL% Illegal argument.
4 ACTNJ% Nonexistent job number.
5 ACTPS% JACCT privileges required.
Example
MOVE T1,[XWD .ACTRD,ARGLST]
ACCT. T1,
JRST ERROR
JRST CONTIN
ARGLST: EXP 2
JOBNO: EXP -1
ACCADR: EXP ACCSTR
ACCSTR: BLOCK ^D8
. . .
ERROR: error routine
CONTIN: success routine
This code sequence places the ASCIZ account string for the
calling job into the locations starting at ACCSTR.
Related Calls
GETPPN, PJOB
22-6
APRENB [CALLI 16]
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
where: flags is a halfword containing flag bits as follows:
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 routine address
; to handle overflow
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 Errors
Not reenabling the interrupt after each trap has occurred.
Failing to set up .JBAPR prior to the APRENB call.
Related Calls
UTRP., PISYS.
22-9
ATTACH [CALLI 104]
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
normal return
where: flag is one of the bits described below.
lineno is a line number (restricted to 16 bits).
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.
The flags and their meanings 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]
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.
Normal Return
The job is attached or detached as specified, and the terminal is
in the specified mode.
Error Return
The ac 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]
CALLI [OPCODE 047]
Function
Passes the monitor a code for an extended set of monitor calls,
called CALLIs. The negative CALLI codes, except CALLI -1, are
reserved for customer-defined monitor calls. All non-negative
codes and -1 are reserved for use by DIGITAL. Any CALLIs not
listed in the following table are not supported or not
implemented. Obsolete CALLIs. are marked as such, and some
indicate an appropriate, supported monitor call to substitute for
the obsolete call. Obsolete calls are not described in this
manual.
The defined CALLIs also have symbolic names; in this chapter they
are listed in alphabetical order by symbol name. For example,
CALLI -1 is named LIGHTS, and is described in this chapter under
LIGHTS.
The CALLIs and their symbolic names are listed in numerical order
on the following pages.
22-13
CALLI [OPCODE 047]
Symbol CALLI Function Symbol CALLI Function
LIGHTS (Obsolete) SYSPHY [CALLI 51]
RESET [CALLI 0] DEVTYP [CALLI 53]
DDTIN (Obsolete; use TTCALL) DEVSTS [CALLI 54]
SETDDT [CALLI 2] DEVPPN [CALLI 55]
DDTOUT (Obsolete; use OUTSTR) SEEK (Obsolete)
DEVCHR [CALLI 4] RTTRP [CALLI 57]
GETCHR (Obsolete; use DEVCHR) LOCK [CALLI 60]
WAIT [CALLI 10] JOBSTS [CALLI 61]
CORE [CALLI 11] LOCATE [CALLI 62]
EXIT [CALLI 12] WHERE [CALLI 63]
MONRT. [CALLI 1,12] DEVNAM [CALLI 64]
UTPCLR [CALLI 13] CTLJOB [CALLI 65]
DATE [CALLI 14] GOBSTR [CALLI 66]
LOGIN [CALLI 15] HPQ [CALLI 71]
APRENB [CALLI 16] HIBER [CALLI 72]
LOGOUT [CALLI 17] WAKE [CALLI 73]
SWITCH (Obsolete) CHGPPN [CALLI 74]
REASSI [CALLI 21] SETUUO [CALLI 75]
TIMER [CALLI 22] OTHUSR [CALLI 77]
MSTIME [CALLI 23] CHKACC [CALLI 100]
GETPPN [CALLI 24] DEVSIZ [CALLI 101]
TRPSET [CALLI 25] DAEMON [CALLI 102]
TRPJEN [CALLI 26] JOBPEK [CALLI 103]
RUNTIM [CALLI 27] ATTACH [CALLI 104]
PJOB [CALLI 30] DAEFIN [CALLI 105]
SLEEP [CALLI 31] FRCUUO [CALLI 106]
SETPOV (Obsolete; use APRNEB) DEVLNM [CALLI 107]
PEEK [CALLI 33] PATH. [CALLI 110]
GETLIN [CALLI 34] METER. (Obsolete; use SNOOP.)
RUN [CALLI 35] MTCHR. [CALLI 112]
SETUWP [CALLI 36] JBSET. [CALLI 113]
REMAP [CALLI 37] POKE. [CALLI 114]
GETSEG [CALLI 40] TRMNO. [CALLI 115]
GETTAB [CALLI 41] TRMOP. [CALLI 116]
SPY [CALLI 42] RESDV. [CALLI 117]
SETNAM [CALLI 43] UNLOK. [CALLI 120]
TMPCOR [CALLI 44] DISK. [CALLI 121]
DSKCHR [CALLI 45] DVRST. [CALLI 122]
SYSSTR [CALLI 46] DVURS. [CALLI 123]
JOBSTR [CALLI 47] XTTSK. [CALLI 124]
STRUUO [CALLI 50] CAL11. [CALLI 125]
22-14
CALLI [OPCODE 047]
Symbol CALLI Function Symbol CALLI Function
MTAID. [CALLI 126] QUEUE. [CALLI 201]
IONDX. [CALLI 127] RECON. [CALLI 202]
CNECT. [CALLI 130] PITMR. [CALLI 203]
MVHDR. [CALLI 131] ACCLG. [CALLI 204]
ERLST. [CALLI 132] NSP. [CALLI 205]
SENSE. [CALLI 133] NTMAN. [CALLI 206]
CLRST. [CALLI 134] DNET. [CALLI 207]
PIINI. [CALLI 135] SAVE. [CALLI 210]
PISYS. [CALLI 136] CMAND. [CALLI 211]
DEBRK. [CALLI 137] PIBLK. [CALLI 212]
PISAV. [CALLI 140] SCS. [CALLI 213]
PIRST. [CALLI 141] SEBLK. [CALLI 214]
IPCFR. [CALLI 142] CTX. [CALLI 215]
IPCFS. [CALLI 143] PIFLG. [CALLI 216]
IPCFQ. [CALLI 144] IPCFM. [CALLI 217]
PAGE. [CALLI 145] LLMOP. [CALLI 220]
SUSET. [CALLI 146] LATOP. [CALLI 221]
SCHED. [CALLI 150] KNIBT. [CALLI 222]
ENQ. [CALLI 151] CHTRN. [CALLI 223]
DEQ. [CALLI 152] ETHNT. [CALLI 224]
ENQC. [CALLI 153] ENTVC. [CALLI 225]
TAPOP. [CALLI 154] NETOP. [CALLI 226]
FILOP. [CALLI 155]
NODE. [CALLI 157]
ERRPT. [CALLI 160]
ALLOC. [CALLI 161]
PERF. [CALLI 162]
DIAG. [CALLI 163]
DVPHY. [CALLI 164]
GTNTN. [CALLI 165]
GTXTN. [CALLI 166]
ACCT. [CALLI 167]
DTE. [CALLI 170]
DEVOP. [CALLI 171]
SPPRM. [CALLI 172]
MERGE. [CALLI 173]
UTRP. [CALLI 174]
PIJBI. [CALLI 175]
SNOOP. [CALLI 176]
TSK. [CALLI 177]
KDP. [CALLI 200]
22-15
CAL11. [CALLI 125]
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 len,addr]
CAL11. ac,
error return
normal return
. . .
addr: XWD port,fcn-code ;.C11FC
address ;.C11AD
value ;.C11CN
qstart ;.C11EN
where: len is the length of the argument block.
addr is the address of the argument block. Starting at
this address, the call accepts up to four words,
depending on the function code.
The argument block for CAL11. UUOs depends on the function
specified in the right half of the function word (.C11FC) at
addr. The function word contains a port specification in the
left half, and the function code in the right half.
Therefore, the format of the argument list for CAL11. is:
Offset Symbol Meaning
0 .C11FC Function word, containing the port
specification and the function code. The
left half of this word contains the type of
port, in 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.
22-16
CAL11. [CALLI 125]
The old format for the left half is:
Bits Symbol Meaning
9-17 C1.CNO Type of PDP-11
(see .C11TY below).
9-14 C1.1NT Type of port
(see .C11TY below).
14-17 C1.1NN CPU number.
The new format for the left half of addr is
as follows. Note that this format is
signified by the setting of bit 0, the sign
bit.
Bits Symbol Meaning
0 C1.1NF New format for port
specification.
1-8 C1.1XX Reserved for use by
DIGITAL.
9-11 C1.1TY Type code, one of the
following:
Code Symbol Meaning
0 .C11DL DL-10
1 .C11DT DTE-20
2 .C11KD KMC/DUP
3 .C11DR DMR-11
11-14 C1.1CN CPU number.
15-17 C1.1PN Port number.
The right half of .C11FC (C1.1FC) contains
the function code. The arguments following
.C11FC depend on the function, so the
argument lists are described for each
function code listed below.
22-17
CAL11. [CALLI 125]
The function codes and their meanings are:
Code Symbol Function
0 .C11DP Deposits the specified data in the specified
location. The argument block for this function
is:
addr: XWD port,.C11DP ;.C11FC
EXP dpaddr ;.C11AD
EXP value ;.C11CN
where: dpaddr is the address to receive the
value.
value is the data to be deposited.
This function requires the JP.POK privilege.
This function works for DN60 and DN8x front ends
only.
1 .C11EX Examines the specified location. The argument
list for this function is:
addr: XWD port,.C11EX ;.C11FC
EXP exaddr ;.C11AD
where: exaddr is the address to be examined.
The data at the specified location is returned
in the ac.
This function requires the JP.POK privilege.
.C11EX works for DN60 and DN8x front ends only.
2 .C11QU Queues a request to the front end. The argument
list for this function is:
addr: XWD port,.C11QU ;.C11FC
BLOCK 2
EXP qstart ;.C11EN
where: qstart is the first word of a data block
containing information regarding the
front end function.
This function requires the JP.POK privilege.
.C11QU works only for DN60 front ends.
22-18
CAL11. [CALLI 125]
Code Symbol 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 DTE.
The argument list for this function is:
addr: XWD port,.C11NM ;.C11FC
4 .C11UP Returns the status of the PDP-11 (0 for down, 1
for up). The status is returned in the ac. The
argument list for this function is:
addr: XWD port,.C11UP ;.C11FC
5 .C11SM Sends a message. The argument list for this
function is:
addr: XWD port,.C11SM ;.C11FC
This function works only for a DN8x front end.
6 .C11RM Receives a message. The argument list for this
function is:
addr: XWD port,.C11RM ;.C11FC
This function works only for a DN8x front end.
7 .C11TY Returns the node type and node number. The
argument list for this function is:
addr: XWD port,.C11TY ;.C11FC
The node number is returned in the left half of
the ac, and the node type is returned in the
right half, as one of the following type codes:
Code Symbol Meaning
1 .C1D76 DC76.
2 .C1D75 DC75/DN87.
3 .C1D60 DN60.
4 .C1D8S DN87S.
5 .C1CFE Console front end.
6 .C1MCB DECnet-10 MCB front end.
22-19
CAL11. [CALLI 125]
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 C11DR% No DMR support in this monitor.
22-20
CHGPPN [CALLI 74]
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
normal return
where: projno,progno is the new project-programmer number (PPN).
Normal Return
The PPN for the current job is changed to the given number.
Error Return
Occurs if the calling job is already logged in, or if either the
project or programmer number is zero. The ac is unchanged.
Example
MOVE T1,[XWD 27,5031]
CHGPPN T1,
JRST ERROR
This code sequence changes the PPN for the current job to
27,5031.
Related Calls
GETPPN, LOGIN
22-21
CHKACC [CALLI 100]
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
normal return
. . .
addr: XWD fcn-code,<ufdprot>B26+<filprot>B35
XWD projno,progno ;For file
XWD projno,progno ;For accessing program
where: addr is the address of the argument block.
fcn-code is one of the function codes described below.
ufdprot is a directory protection code.
filprot is a file protection code.
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-22
CHKACC [CALLI 100]
The function codes and their meanings are:
Code Symbol Access
0 .ACCPR Checks whether your job can change the
protection for the file.
1 .ACREN Checks whether your job can rename the file.
2 .ACWRI Checks whether your job can write the file.
3 .ACUPD Checks whether your job can update the file (in
old update mode).
4 .ACAPP Checks whether your job can append to the file.
5 .ACRED Checks whether your job can read the file.
6 .ACEXO Checks whether your job can execute the file.
7 .ACCRE Checks whether your job can create the file in
the user's UFD.
10 .ACSRC Checks whether your job can read the directory
as a file.
The right to access a file is determined by:
o The type of access desired.
o The project-programmer number of the user desiring access to
the file.
o The project-programmer number of the directory containing the
file.
o The protection field of the file or the protection field of
the directory.
Note that access to a file is not dependent on the file name.
However, the file name is needed if your program is going to
perform a LOOKUP.
The owner of a UFD or an SFD can always read the UFD or SFD as a
directory.
22-23
CHKACC [CALLI 100]
Normal Return
The monitor returns 0 in the ac if access to the file is allowed,
or -1 if access is not allowed.
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 Errors
Assuming that the CHKACC call grants access to a file. Remember
that it only tests the accessibility of the file. FILDAE can
still deny access to the file on a LOOKUP, ENTER, RENAME, or
FILOP. call. The File Daemon program is described in Appendix C.
22-24
CHTRN. [CALLI 223]
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
normal return
addr: XWD flags, source count
EXP source byte pointer (word one)
EXP source byte pointer (word two)
XWD reserved, destination count
EXP destination byte pointer (word one)
EXP destination byte pointer (word two)
where: flags are one or more of the flags listed below.
source count is the number of bytes stored where the
source byte pointer indicates.
destination count is the number of bytes available at the
location the destination byte pointer indicates.
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.
22-25
CHTRN. [CALLI 223]
Normal Return
The ac is unchanged. The byte pointers returned will have any
indirection and indexing resolved. If you specify a one-word
global byte pointer, 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-26
CLOSE [OPCODE 070]
CLOSE [OPCODE 070]
Function
Terminates transmission of data to or from a file. Closes the
file for both input and output. The default functions of the
CLOSE call for unbuffered data modes are:
o The output side of the channel is closed. In unbuffered data
modes, the effect is to execute a device-dependent function.
o The input side of the channel is closed. The end-of-file
flag is cleared. Further actions depend on the data mode.
The effect is to execute a device-dependent function.
In buffered data modes, the following operations are performed on
the output side of the channel:
o All data in the buffers that have not been transmitted to the
the device is written to the device.
o Device-dependent functions are performed.
o The ring use bit is set to 1, indicating that the ring is not
in use.
o The buffer byte count, the third word of the buffer header,
is set to 0.
o Control returns to the user program when transmission is
complete.
In buffered data modes, if a ring buffer exists, the following
operations are performed to close the input side of the channel:
o The monitor waits until the device is inactive.
o The use bit of each buffer is cleared, to indicate that the
buffer is empty.
o The use bit of the buffer ring is set to 1, to indicate that
the ring is not in use.
o The buffer byte count is set to 0.
o Control returns to the user program.
22-27
CLOSE [OPCODE 070]
If a file is being written to disk at the time of the output
CLOSE, the unwritten blocks at the end of the disk file are
deallocated. On input CLOSE, the access date of a disk file is
updated if any data was actually read. (LOOKUP followed by CLOSE
does not change the access date.)
If the file is being output to the card punch, the last card is
punched, followed by an end-of-file card. This end-of-file card
and the header card contain the file identification punch in
column 1, which is ignored by the card reader service routine.
If a file is being output to magtape, two EOF marks are written
and the tape position is backspaced over one EOF.
If a file is being output to the line printer, a form-feed
character is appended to the last block of data.
Calling Sequence
CLOSE channel,flags
return
where: channel is the channel number for the file.
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.
22-28
CLOSE [OPCODE 070]
Bits Symbol Function
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.
Return
The function is performed.
Example
See Chapter 11, Monitor Calls Manual Vol. 1.
Related Calls
LOOKUP, ENTER, RENAME
22-29
CLRBFI [TTCALL 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
TTCALLs, TRMOP.
22-30
CLRBFO [TTCALL 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
CLRBFI, TTCALLs, TRMOP.
22-31
CLRST. [CALLI 134]
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
| normal return
| . . .
| addr: / SIXBIT/device/ \
| | EXP channo | ;.CLRSX
| \ EXP udx /
| XWD 0,setsts-value ;.CLRST
| / SIXBIT/device/ \
| | EXP channo | ;.CLRSX
| \ EXP udx /
| XWD 0,setsts-value ;.CLRST
| . . .
where: len is the length of the argument list.
addr is the address of the argument list, containing one
or more 2-word entries.
device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the universal device index for a device.
setsts-value is the halfword value of the I/O status bits
for the given device, channel, or udx; and it 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-32
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.
Normal Return
The I/O status bits for each specified device are cleared.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 CLRID% Illegal device specified.
2 CLRNO% Specified device does not belong to your job.
Example
MOVE T1,[XWD <CONTIN-ARGLST>,ARGLST]
CLRST. T1,
JRST ERROR
JRST CONTIN
ARGLST: SIXBIT /DTA0/
EXP 0
EXP CHANNO
EXP 0
. . .
CONTIN:
This code sequence clears the I/O status bits for DTA0 and the
device associated with the channel whose number is the value of
CHANNO.
Related Calls
ERLST., GETSTS, SENSE., SETSTS
22-33
CMAND. [CALLI 211]
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
normal return
where: fcn-code is the function code. The function codes are
listed below.
addr is the address of the argument list. The argument
list for each function code is described in the following
list of function codes.
The function codes and their meanings are:
Code Symbol Meaning
0 .CMINT Initializes (clears) any current command
definitions and creates a new command list as
specified at addr. The argument list stored at
addr is formatted as follows:
addr: flag,,length ;.CMFLA
command name ;.CMNAM
device name ;.CMDVC
file name ;.CMFLE
file extension ;.CMEXT
PPN ;.CMPPN
first SFD ;.CMSFD
second SFD
. . .
0 ;end of command list
22-34
CMAND. [CALLI 211]
Code Symbol Meaning
Where the flags to be stored in the left half of
.CMFLG indicates the number of characters in the
command that must be input to define the command
uniquely. The flags are:
Mask Symbol Meaning
10B17 CM.UN1 Command is uniquely
identified by the first
character of its name.
4B17 CM.UN2 Command is uniquely
identified by the first two
characters.
2B17 CM.UN3 Command is uniquely
identified by the first
three characters.
1B17 CM.UN4 Command is uniquely
identified by the first
four characters.
1B12 CM.AUT Command is defined as
automatically saving the
job's current context. The
command will create a new
context, in which the
called program will run.
The original context is
restored when the program
terminates.
And where the length is the number of words in
the command block, stored in the right half of
.CMFLA, and symbolized by CM.COU.
The rest of the command block contains the
command name (in SIXBIT), and the file
specification of the program to be run when the
command is used. Note that the command block is
of variable length, depending on the SFD level
of the directory where the file is stored.
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-35
CMAND. [CALLI 211]
Code Symbol Meaning
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).
2 .CMDEL Deletes one or more commands from the current
list of defined commands. The argument list for
this function is:
addr: length ;.CMSIZ
first command ;.CMCMN
.
.
.
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.
3 .CMLST Lists all the currently defined command names.
The argument list for this function is:
addr: length
BLOCK length-1
where length is the length of the argument
block, and length-1 is the number of commands to
return. On a successful return, the argument
block appears as:
addr: length ;.CMSIZ
first command ;.CMNAM
.
.
.
Where .CMSIZ contains 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-36
CMAND. [CALLI 211]
Code Symbol Meaning
4 .CMRET Returns information about a command. You must
include the argument list as:
addr: length ;.CMSIZ
command name ;.CMCNM
In this argument list, specify the length of the
block to be returned in .CMSIZ, and the name of
the defined command for which information is
desired, in .CMCNM. The information is returned
in the form of a command block (same as argument
list for .CMINT), for the command name.
5 .CMDMP Dumps the command data base. This function uses
the following argument list:
addr: length
BLOCK length-1
After the call returns successfully, a list of
all the command blocks for defined commands will
be returned at addr. 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.
Normal 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.
22-37
CMAND. [CALLI 211]
Code Symbol Error
4 CMDNF% Your program did not finish reading the command
list. The buffer size you allowed at addr was
not enough to contain all the information to be
returned.
5 CMNSN% No such command name. On a .CMRET or .CMDEL
function, you specified a command that is not
defined.
Example
MOVE AC,[XWD .CMADD,CMBLK]
CMAND. AC,
error return
success ;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. Might as well leave zero
XWD 1,4 ;PPN
This will define the XDDT command to run DSKA:DDT[1,4].
Common Errors
Assuming that .CMFLA in .CMINT or .CMADD specifies the length of
the entire argument list.
22-38
CNECT. [CALLI 130]
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
| normal return
| . . .
| addr: XWD fcn-code,channel
| / SIXBIT/device/ \
| \ EXP udx /
where: addr is the address of the argument block.
fcn-code is one of the function codes described below.
channel is the number of an initialized MPX channel.
device is the SIXBIT physical, generic, or logical name
of a device.
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-39
CNECT. [CALLI 130]
Normal 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-40
CORE [CALLI 11]
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.
Calling Sequence
MOVE ac,[XWD hiseg,lowseg]
CORE ac,flag
error return
normal return
where: hiseg is the highest relative address to be used in the
program high segment.
lowseg is the highest relative address to be used in the
program low segment.
flag is a flag bit (UU.PHY) to indicate that the core
assignment applies to physical memory. To set this flag,
set bit 19. When bit 19=0, virtual memory references are
allowed. When bit 19=1, all memory references are
accepted as physical addresses.
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 hiseg = 0, the core assignment for the high segment is left
unchanged; if lowseg = 0, the core assignment for the low segment
is left unchanged.
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-41
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.
Normal Return
The ac contains the current virtual memory limit in 1K blocks.
However, if the CORE monitor call is issued from a non-zero
section, the virtual memory limit is not returned in the ac.
Error Return
The error return occurs if any of the following conditions
occurs:
o You give hiseg < 400001, but you do not have write-access
privileges.
o You give both hiseg and lowseg as zero. In this case, the
number of free 1K blocks is returned in the ac.
o The sum of the requested new low segment and the previously
existing high segment exceeds your allowed program size.
Core assignment is not changed; the maximum allowed program
size (in 1K blocks) is returned in the ac.
o The sum of the requested new low and high segments exceeds
your allowed program size. Core assignment is not changed;
the maximum allowed program size (in 1K blocks) is returned
in the ac.
22-42
CORE [CALLI 11]
o You give a lowseg argument that would extend the low segment
into the high segment.
o One or both segments are locked.
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
PAGE.
22-43
CTLJOB [CALLI 65]
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
normal return
where: jobno is the number of the controlled job, or -1 to
specify your current job.
Normal 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-44
CTX. [CALLI 215]
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,argblk
CTX. ac
error return
normal return
where: argblk is the following argument block whose maximum
length is .CTMAX:
17 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:
Offset Symbol Contents
0 .CTFNC The function code word. It also contains one of
the following flags, and the length of the
argument block, in the following format:
Bits Symbol Meaning
0 CT.PHY Physical-only RUN UUO.
2-8 Reserved for DIGITAL.
22-45
CTX. [CALLI 215]
Offset Symbol Contents
Bits Symbol Meaning
9-17 CT.LEN Length of the argument block,
including .CTFNC.
18-35 CT.FNC 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 ac
(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
ac.
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 The 30-bit TMPCOR buffer address.
Valid function codes you can specify for .CTFNC are:
Code Symbol Function
0 .CTSVH Saves the current context and halts the job.
This has the effect of a PUSH command (see
Operating System Commands Manual, Chapter 1).
The context created is inferior. The inferior
context is deleted as soon as you switch from it
back to the superior one.
1 .CTSVR Saves the current context, and runs a program.
This is the equivalent of doing an auto-save,
then a restore, at monitor level.
22-46
CTX. [CALLI 215]
Code Symbol Function
2 .CTSVT 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.
3 .CTSVS Saves the current context, and switches to
another, (already existing) one. 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, and
restart the program in that context, without
waiting for it to re-initialize.
4 .CTSVD Switches to the specified context, deletes it,
and returns to the previous (saved) context. A
specific deletion is required for parallel
contexts only.
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.
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.
7 .CTRQT Reads the context quota and saved-page quota for
a job. The following offsets in the data buffer
are required:
Offset Symbol Contents
0 .CTJOB Job number, supplied by
program.
1 .CTCTQ Returned context quota.
2 .CTPGQ Returned saved-pages quota.
10 CTSQT Sets the context quota and saved-pages quota.
The data buffer offsets are the same as for
.CTRQT.
22-47
CTX. [CALLI 215]
Code Symbol Function
11 .CTDIR Returns a directory map of all contexts.
(GETTAB %CTBDM contains the byte pointer to the
directory byte-stream.) The data buffer offsets
returned are:
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.
12 .CTINF Returns information about a particular context.
The data buffer offsets returned are:
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).
On any return, the ac contains:
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. Returned
regardless of whether or not the data buffer
contains error text.
Normal Return
No errors will be flagged in CT.ETX, CT.RUN, or CT.ERR. Offsets
(if any) from requested functions are returned in the data
buffer.
22-48
CTX. [CALLI 215]
Error Return
One of the following error codes is returned in bits 28 through
35 of the ac. If a data buffer is specified, error text is also
returned.
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.
22-49
DAEFIN [CALLI 105]
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
normal return
. . .
addr: jobno
where: length is the length of the argument block.
addr is the address of the argument block.
jobno is the number of the logged-in job to be restarted.
Normal Return
The monitor leaves the ac unchanged, requeues the specified job,
and clears the JDC bit in the job status word .GTSTS.
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-50
DAEMON [CALLI 102]
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 GETTAB table .GTSTS) and wakes DAEMON. DAEMON
examines the status word .GTSTS for each job in the system; for
each job in the JD 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
normal return
. . .
addr: EXP fcn-code
. . .
last argument
where: length is the length of the argument block.
addr is the address of the argument block, which contains
fcn-code in the first word, followed by an argument list
which differs for each function code. The argument lists
are described below.
The function codes and their meanings are:
Code Symbol Function
1 .DCORE Obsolete
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.
22-51
DAEMON [CALLI 102]
Code Symbol Function
The argument list for the .CLOCK function is:
addr: .CLOCK
EXP seconds
where: seconds is the number of seconds before
the job DAEMON should wake. The
preferred method for awakening the
program after a short amount of time is
by using the HIBER. call.
3 .FACT Makes an entry in the system accounting file
FACT.SYS. Your job must have the JACCT
privilege, or be logged in under [1,2]. Note
that the USAGE accounting system should be used
instead of the FACT file accounting system, as
FACT is no longer supported. Refer to the
QUEUE. UUO and the TOPS-10/20 Usage Accounting
Manual for information about writing USAGE
accounting entries. The system accounting file
entry must require fewer than 24 words of
memory. This entry may be stored (by DAEMON)
for as long as 10 minutes before being written.
DAEMON closes the current FACT file when its
length reaches 2048 blocks, and opens a new FACT
file.
The argument list for the .FACT function is:
addr: .FACT
first word of entry
. . .
last word of entry
Your job must have the JACCT privilege, or be
logged in under [1,2]. Note that the USAGE
accounting system should be used instead of the
FACT file accounting system, as FACT is no
longer supported. Refer to the QUEUE. UUO and
the TOPS-10/20 Usage Accounting Manual for
information about writing USAGE accounting
entries.
4 .DMQUE Reserved for use by DIGITAL.
22-52
DAEMON [CALLI 102]
Code Symbol 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. Your job must have
JACCT or [1,2] privileges.
The argument block for the .DMERR function is:
addr: .DMERR
EXP ercode
first word of message
. . .
last word of message
where: ercode is a code to be entered in the
error file.
first word of message ... last word of message
are words of data to be entered in the error
file SYS:ERROR.SYS. The codes are:
Ercode Symbol Meaning
1 .ESWHY Answer to ONCE's Why Reload
question, and comment, if any.
2 .ESMSE Continuable stopcode.
3 .ESMPE KI memory parity error.
4 .ESNXM KI non-existent memory error.
5 .ESCIN Information extracted from a
crash.
6 .ESCPE Channel-detected memory parity
error or non-existent memory.
7 .ESDRE DAEMON restarted.
10 .ESHDE Hardware-detected device error.
11 .ESMDE Massbus device error.
12 .ESDXE DX20 device error.
14 .ESSWE Software event. The events are:
Code Symbol Event
1 .SWEPK POKE. function.
2 .SWESN SNOOP. function.
3 .SWETP TRPSET function.
4 .SWERT RTTRP. function.
5 .SWMS1 Miscellaneous debugging
event number 1.
6 .SWMS2 Miscellaneous debugging
event number 2.
22-53
DAEMON [CALLI 102]
Code Symbol Function
Ercode Symbol Meaning
15 .ESCSE Configuration status change.
The condition change codes are
listed below:
Code Symbol Status Change
0 .CSCAT Attach function
1 .CSCDT Detach function.
2 .CSCXC Exchange function.
3 .CSCTC Date/time change.
4 .CSCCF DETACH CPU function.
5 .CSCCO ATTACH CPU function.
6 .CSCNF Node off-line.
7 .CSCNO Node on-line.
10 .CSCMO Set memory on-line.
11 .CSCMF Set memory off-line.
16 .ESSLM System log message.
17 .ESDEB Software requests data.
21 .ESTAP Magnetic tape errors (see
TAPSER).
30 .ESKLE KL processor error data from
RSX-20F front end.
31 .ESFER Front end reload.
33 .ESHSB KS processor halt status block.
42 .ESTPS Magnetic tape performance
statistics code (see TAPSER).
43 .ESCFG Maximum configuration in
AVAIL.SYS.
44 .ESMRV Monitor run values in AVAIL.SYS.
45 .ESDSC Disk statistics (usually from a
crash).
46 .ESBAV Beginning of AVAIL.SYS time
stamp.
47 .ESEAV End of AVAIL.SYS time stamp.
50 .ESDLE DL10 hardware error.
51 .ESKIP KI parity/non-existent memory
interrupt.
52 .ESKLP KL parity/non-existent memory
interrupt.
54 .ESKSN KS non-existent memory trap.
55 .ESKPT KL/KS parity trap.
56 .ESSNX Non-existent memory scan.
57 .ESSPR Parity memory scan.
61 .ESKDT KL data parity trap.
22-54
DAEMON [CALLI 102]
Code Symbol Function
Ercode Symbol Meaning
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.
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 error file, refer to the SPEAR
Reference Manual.
6 .DMCTL Reserved for use by DIGITAL.
Normal 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 puts the program to sleep for 5 seconds.
Related Calls
DAEFIN
22-56
DATE [CALLI 14]
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]
DEBRK. [CALLI 137]
Function
Dismisses a PSI software interrupt, reenabling any conditions
disabled by the interrupt. See Chapter 6 for a discussion of the
software interrupt system.
On a DEBRK. monitor call, the monitor scans the queue of pending
interrupts, looking for conditions requiring service by an
interrupt routine. If one is found, the interrupt occurs and
control passes to the interrupt routine. If no such condition is
found, DEBRK. restarts the interrupted process beginning at the
point within your job where the interrupt occurred (usually the
instruction after the last instruction that was executed).
Calling Sequence
DEBRK.
return 1
return 2
Return
The DEBRK. call normally returns to old PC (see Chapter 6).
Return 1 is taken if DEBRK. is not implemented; return 2 is taken
if there is no interrupt in progress.
Related Calls
PIBLK., PIINI., PIRST., PISAV., PISYS.
22-58
DEQ. [CALLI 152]
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 .DEQDR,addr] \
| | MOVE ac,[XWD .DEQDA,0] |
| \ MOVE ac,[XWD .DEQID,request-id] /
| DEQ. ac,
| error return
| normal return
where: function is one of the function codes listed below.
addr is the address of an argument block, which is the
same as the one used for the ENQ. call.
request-id is a request identifier that you specified in
the ENQ. argument block.
For a discussion of these parameters and the format of each
request block, refer to the ENQ. call.
The function codes and their meanings are:
Code Symbol Function
0 .DEQDR This function dequeues a specific request.
After a normal 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]
Code Symbol Function
1 .DEQDA This function removes all of your requests for
ownership and dissolves all of your resource
locks. 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.
2 .DEQID This function requires the request-id in the
right half of the ac. 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.
Normal 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.
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.
22-60
DEQ. [CALLI 152]
The error codes for the DEQ. call are identical to those of the
ENQ. call. They are listed in the description of the ENQ.
call.
Example
DEQ. monitor calls that specify multiple requests are treated as
multiple DEQ. monitor calls, each specifying a single request.
This is not true for the ENQ. monitor call. For example:
MOVE T1 [XWD .DEQDR,DEQBLK]
DEQ. T1,
JRST ERROR
JRST SUBR
DEQBLK: 2,,^D8
0,,400000
0,,2
POINT 7,[ASCIZ/TEST/]
^D10,,1
0,,4
POINT 7,[ASCIZ/TESER/]
^D10,,1
The above code is, in effect, identical to the following, but the
following is less efficient:
MOVE T1,[XWD .DEQDR,DEQ1]
DEQ. T1,
JRST ERROR
DEQ: MOVE T1,[XWD .DEQDR,DEQ2]
DEQ. T1,
JRST ERROR
JRST SUBR
DEQ1: 1,,^D5
0,,400000
0,,2
POINT 7,[ASCIZ/TEST/]
^D10,,1
DEQ2: 1,,^D5
0,,400000
0,,4
POINT 7,[ASCIZ/TESER/]
^D10,,1
Related Calls
ENQ., ENQC.
22-61
DEVCHR [CALLI 4]
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
where: device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
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-62
DEVCHR [CALLI 4]
Bits Symbol Device or Mode
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.
22-63
DEVCHR [CALLI 4]
Bits Symbol Device or Mode
25 DV.M12 Mode 12, reserved for use by DIGITAL.
26 DV.M11 Mode 11, reserved for use by DIGITAL.
27 DV.M10 Mode 10, image. This is the same as IO.MOD =
.IOIMG returned from a GETSTS monitor call.
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
DEVLNM
22-64
DEVLNM [CALLI 107]
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
| normal return
where: device is the SIXBIT physical or logical name of a device
to which you wish to assign a logical name.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
name is the logical name to be assigned to the device.
If name is binary zero, any existing logical name
assignment will be cleared.
Normal Return
The logical name is assigned to the device; the ac and ac+1 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
DEVCHR, DEVNAM, DEVOP., DEVPPN, DEVSIZ, DEVSTS, DEVTYP, REASSI
Common Errors
Assuming that DEVLNM also causes the device to become associated
with your job. Use the REASSI call to actually obtain the
device.
22-65
DEVNAM [CALLI 64]
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
| normal return
where: device is the logical device name whose physical name is
desired.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Normal Return
The SIXBIT physical name of the device is returned in the ac.
|
| The normal 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
DEVCHR, DEVLNM, DEVOP., DEVPPN, DEVSIZ, DEVSTS, DEVTYP
22-66
DEVOP. [CALLI 171]
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
| normal return
| . . .
| addr: EXP fcn-code
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| addr+2: arglst
where: length is the length of the argument block.
addr is the address of the argument block.
fcn-code is one of the function codes described below.
device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
arglst begins the list of arguments for the given
function.
All function codes listed below use the 2-word argument list
shown above. Additionally, some function codes accept a longer
argument list. For those codes that accept an argument list
longer than 2 words, the argument list format is shown with the
description of the function code.
The function codes are defined within the following four ranges:
0000-0777 Performs a specific action.
1000-1777 Reads a parameter.
2000-2777 Sets a parameter.
3000-3777 Reserved for customer definition.
22-67
DEVOP. [CALLI 171]
The Read/Set function codes are parallel (for example, function
code 1002 reads a parameter and code 2002 sets the same
parameter). The symbol .DFSET is equal to 1000, and can be added
to the read parameter to establish the offset for the set
parameter. Therefore, to read the page counter, use function
.DFPCT. To set the page counter, use .DFPCT+.DFSET.
The monitor returns values in the ac for the Read functions.
The function codes and their meanings are:
Code Symbol Function
1 .DFLLV Loads the standard vertical forms control unit.
2 .DFENV Enables the system to load a non-standard
vertical forms control unit.
3 .DFDVL Disables loading non-standard vertical forms
control unit.
4-10 Reserved for use by Digital.
11 .DFLR2 Loads a translation RAM into LP20. This
function takes a 4-word argument list of the
form:
|
| addr: .DFLR2
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| 8-bit byte count for RAM
| address of RAM buffer
12 .DFLV2 Loads a VFU through LP20. This function takes a
4-word argument list of the form:
|
| addr: .DFLV2
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| 7-bit byte count of VFU
| address of VFU data
13 .DFMDC Clears DVCMDA. This is the flag indicating
whether the device is controlled by MDA (in
GALAXY Version 4.1 and later). This function
requires privileges.
14 .DFMDS Sets DVCMDA. This is the flag indicating
whether the device is controlled by MDA (in
GALAXY Version 4.1 and later). This function
requires privileges.
22-68
DEVOP. [CALLI 171]
Code Symbol Function
15-777 Reserved for use by Digital.
1000 .DFPCT Returns the line printer's page counter in the
ac.
2000 Sets the page counter value in addr+2. The page
counter is limited to 12 bits. The argument
list for .DFPCT is:
|
| addr: .DFPCT
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| EXP counter
1002 .DFHCW Reads the line printer characteristics. The
printer characteristics are returned in the ac
in the form:
Bits Symbol Meaning
0 DF.LCP Lowercase capability.
1 DF.PGC Has page counter.
2 Reserved.
3-5 DF.VFT Code for type of vertical forms
control unit (VFU). The type
codes are:
Code Symbol Type
0 .DFVTO Papertape VFU.
1 .DFVTD DAVFU.
2 .DFVTN No VFU.
6-8 DF.TYP Code for character set codes.
The set codes are:
Code Symbol Character set
0 .DFC64 Set of 64
characters.
1 .DFC95 Set of 95
characters.
2 .DFC28 Set of 128
characters.
3 .DFVAR Variable size
set.
22-69
DEVOP. [CALLI 171]
Code Symbol Function
Bits Symbol Meaning
9-11 DF.CLS Code for line printer class.
The class codes are:
Code Symbol Class
0 .DFSUK Unknown.
1 .DFSBX BA10.
2 .DFSLC LP100.
3 .DFS20 LP20 (20F).
4 .DFSA1 LP11.
5 .DFSA2 LP20 (ANF
DN8X).
12-14 DF.CLU Line printer class, as the type
of unit. The unit codes are:
Code Symbol Type
0 .DFUUK Unknown.
1 .DFUFG LP05-type.
2 .DFULN LN01-type.
18-35 DF.CSN Character set name, in SIXBIT.
2002 Sets the line printer characteristics. The
argument list for .DFHCW is:
|
| addr: .DFHCW
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| EXP characteristics
Defines the characteristics using the
definitions listed above for the Read function.
1003 .DFRES The extended I/O error status for the given
device is returned in the ac.
The error status is returned as a code. The
error codes are:
Code Symbol Error
1 IOPLE% Page limit exceeded (LPT).
2 IOVFE% VFU format error (LPT).
3 IOLTE% Label type error (MTA).
4 IOHLE% Header label error (MTA).
22-70
DEVOP. [CALLI 171]
Code Symbol Function
Code Symbol Error
5 IOTLE% Trailer label error (MTA).
6 IOVLE% Volume label error (MTA).
7 IODER% Hard device error.
10 IOPAR% Parity error.
11 IOWLE% Write-lock error.
12 IOIPO% Illegal positioning operation
(MTA).
13 IOBOT% Beginning of tape (MTA).
14 IOIOP% Illegal operation (MTA).
15 IOFNF% File not found (MTA).
16 IOCAN% Operator cancelled volume
switch request (MTA).
17 IOTMV% Too many volumes in volume set
(MTA).
20 IONND% Network node down.
21 IOUNC% Undefined character interrupt
(LP20).
22 IORPE% RAM parity error (LP20).
23 IOLRA% Tape labelling request was
aborted by a RESET UUO (MTA).
24 IOVPF% Volume protection failure
(MTA).
25 IOFPF% File protection failure (MTA).
26 IOUEF% Unexpired file (MTA).
27 IONDD% Network device disconnected.
1004 .DFRDS A status code for the specified device is
returned in the ac.
The status codes and their meanings are:
Bit Symbol Status
0 DF.OFL Device off-line.
34 DF.LLE DAVFU load-enabled.
35 DF.LVE A VFU error occurred.
The bits returned in the left half of the ac are
device-independent; the bits returned in the
right half are device-specific.
Normal Return
The specified function is executed.
22-71
DEVOP. [CALLI 171]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
-1 DFACS% Address check.
0 DFIFC% Illegal function code.
1 DFPRV% Not enough privileges.
2 DFIFD% Function invalid for device.
3 DFNLR% Value out of range.
4 DFNXD% Nonexistent device.
5 DFNDV% No DAVFU (LPT only).
6 DFNIA% Device not initialized.
7 DFDOL% Device off-line.
10 DFCNS% Page counter not set (LPT only).
11 DFNPC% No page counter (LPT only).
12 DFENI% Extended error recovery not implemented.
13 DFNVC% Non-variable character set.
If the monitor call has not been implemented on your system, the
error return is taken and the monitor leaves the ac unchanged.
Related Calls
DEVCHR, DEVLNM, DEVNAM, DEVPPN, DEVSIZ, DEVSTS, DEVTYP
22-72
DEVPPN [CALLI 55]
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
| normal return
where: device is the SIXBIT physical, logical, or ersatz name of
a disk device.
channo is a channel number for a disk device.
udx is the Universal Device Index for a disk device.
Normal Return
The PPN for the specified device is returned in the ac. Note
that if you have enabled /NEW in your search list, the returned
PPN for SYS will be [1,5] instead of [1,4].
Error Return
The error return occurs in two cases. The cause of the error is
indicated by the value returned:
o If zero is returned in the ac; the device does not exist, or
you have not initialized it.
o If your own PPN is returned; the device is not a disk device.
Related Calls
DEVCHR, DEVLNM, DEVNAM, DEVOP, DEVSIZ, DEVSTS, DEVTYP, PATH.
22-73
DEVSIZ [CALLI 101]
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
normal return
. . .
| addr: EXP status
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
where: addr is the address of the argument block. Normally, the
address points to the OPEN block used to initialize the
device.
status is the I/O status word, which must match the
information given when the channel was initialized with
INIT, OPEN, or FILOP.
device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Note that the format for the argument block is identical to the
format used for the OPEN monitor call and that the OPEN block is
ordinarily used as the DEVSIZ block. The number and sizes of
buffers differ among different data modes, and depending on mode
modifier bits.
Normal 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 normal return.
22-74
DEVSIZ [CALLI 101]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
-2 DVSIM% Illegal data mode.
-1 DVSNX% Nonexistent device.
0 DVSDM% Dump mode specified; therefore, buffer size is
not applicable.
Related Calls
DEVCHR, DEVLNM, DEVNAM, DEVOP., DEVPPN, DEVSTS, DEVTYP
22-75
DEVSTS [CALLI 54]
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
| normal return
where: device is the SIXBIT physical or logical name of a
device.
channo is the number of a channel.
udx is the Universal Device Index for a device.
You can specify any device on an I/O bus. Where multiple units
are on a single controller, the status of the controller is
returned.
Normal Return
The device status word is returned in the ac. If the service
routine for the device does not store a CONI, the returned word
may be useless. Devices having both a controller and data
interrupt store the controller CONI.
Error Return
If the device does not exist or is not initialized, the ac is
cleared.
Related Calls
DEVCHR, DEVLNM, DEVNAM, DEVOP., DEVPPN, DEVSIZ, DEVTYP
22-76
DEVSTS [CALLI 54]
Common 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-77
DEVTYP [CALLI 53]
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
| normal return
where: device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Normal 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.
14 TY.INT Interactive; there is output after each break
character.
22-78
DEVTYP [CALLI 53]
Bits Symbol Characteristic
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 DC11.
23 .TYWTY WTY device on a DC11.
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 DDP device.
34 .TYDMR DMR device.
35 .TYRX2 RX02 floppy disk controller.
36-57 Reserved for use by DIGITAL.
60-77 Reserved for use by customers.
22-79
DEVTYP [CALLI 53]
Error Return
The DEVTYP monitor call should never take the error return.
Related Calls
DEVCHR, DEVLNM, DEVNAM, DEVOP., DEVPPN, DEVSIZ, DEVSTS
Common Errors
Assuming that a normal return indicates that the device exists.
22-80
DIAG. [CALLI 163]
DIAG. [CALLI 163]
Function
Provides diagnostic functions for devices and CPUs.
Calling Sequence
MOVE ac,[-len,,addr]
DIAG. ac,
error return
normal return
. . .
addr: fcn-code
argument
where: len is the length of the argument list.
addr is the address of the argument list.
fcn-code is one of the function codes listed below.
argument is different for each function code; each type
of argument is described with its function code below.
Code Symbol Meaning
0-6 Reserved for use by DIGITAL.
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 normal return, Bits 0-8 contain 0, Bits
9-17 contain the controller device code, Bits
29-32 contain the unit number, and Bits 33-35
contain the slave unit number.
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 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 of the argument list is:
addr: EXP .DIACS
EXP CPU-number
22-81
DIAG. [CALLI 163]
Code Symbol Meaning
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
13 .DIANL Enables and disables automatic reload of
microcode in DX20 when the DX20 fails.
addr: EXP .DIANL
EXP flag,CPUn
where the flag specifies the action and CPUn is
the CPU number. If flag=0, automatic reloading
of the DX20 is enabled. A non-zero value for
the flag disables auto-reload. The CPU number
can be -1 to indicate all CPUs.
15 .DIASM Seizes the specified magnetic tape
controller(s). The argument list is formatted
as:
addr: EXP .DIASM
SIXBIT/device/
device may be either a device name, or zero to
indicate all units.
16 .DIARM Releases the specified magnetic tape
controllers. The argument list is formatted as:
addr: EXP .DIARM
SIXBIT/device/
device may be either a device name, or zero to
indicate all units.
17 .DIELD Enables microcode loading. The argument list is
formatted as:
addr: XWD CPUno, .DIELD
22-82
DIAG. [CALLI 163]
Code Symbol Meaning
20 .DIDLD Disables microcode loading. The format of the
argument list is:
addr: XWD CPUno, .DIDLD
21 .DILOD Loads the microcode. The format of the argument
block is:
addr: XWD CPUno, .DILOD
22 .DIISM Sets IPA channel (CI20 or NTA20) maintenance
mode. The format of the argument block is:
addr: XWD CPUno, .DIISM
23 .DIICM Clears IPA channel maintenance mode. The format
of the argument block is:
addr: XWD CPUno, .DIICM
107 .DIACC Manipulates the CI port counters. The format of
the argument list is:
addr: XWD CPUno, .DIACC
XWD channo,sub-ftn
The only valid channel number is 7. The
counters are manipulated in the manner indicated
in the sub-function. Valid sub-functions are:
Code Function
0 Gets counters.
1 Releases counters.
2 Point counters.
3 Reads counters.
Normal Return
The specified function has been performed.
22-83
DIAG. [CALLI 163]
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.
22-84
DISK. [CALLI 121]
DISK. [CALLI 121]
Function
Performs miscellaneous disk functions.
Calling Sequence
MOVE ac,[XWD fcn-code,addr]
DISK. ac,
error return
normal return
where: fcn-code is one of the function codes described below.
addr is the address of the argument list. Each function
code requires a different argument list. Therefore, the
argument lists are described below, with the appropriate
function codes.
Normal 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
-2 DUINP% Not enough privileges to perform the function.
-1 DUILF% Illegal function requested.
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 below:
device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
structure is the SIXBIT name of a file structure.
22-85
DISK. [CALLI 121]
The function codes, their meanings, argument lists, and error
codes are:
Code Symbol Function
0 .DUPRI Sets the disk priority level. The argument list
for .DUPRI is:
addr: XWD channo,priority
where: channo is an initialized channel number.
You can use -2 to indicate all channels
for the job, or -1 for all explicitly
initialized channels for this job.
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 and 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.
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-86
DISK. [CALLI 121]
Code Symbol Function
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.
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.
3 .DUUNL Unloads an RP04 or RP06 drive. .DUUNL is a
privileged function. The argument list for
.DUUNL is:
addr: SIXBIT/device/
where device is the name of a specific unit,
such as RPA0.
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-87
DISK. [CALLI 121]
Code Symbol 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:
addr: SIXBIT/controller/
where: controller is the name of a disk
controller, such as RPA.
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
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.
22-88
DISK. [CALLI 121]
Code Symbol Function
Code Symbol Meaning
4 DUOIS% Unit in structure cannot be set
off-line.
5 DUOES% Not enough space for IOWDs.
6 DUOPI% Obsolete
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/
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
7 .DUUFD Sets call for UFD compressor. The argument list
for .DUUFD is:
addr: EXP channo
where channo specifies a 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-89
DISK. [CALLI 121]
Code Symbol 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
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-90
DISK. [CALLI 121]
Code Symbol 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.
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.
14 .DULEN Returns the number of written blocks in the file
in ac. The argument list for .DULEN is:
addr: EXP channo
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-91
DISK. [CALLI 121]
Code Symbol 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 normal 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-92
DNET. [CALLI 207]
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
normal return
addr: argument list
where: addr is the address of the argument list. Each function
code requires a different argument list. The first word
of every argument list (.DNFFL) contains the following
information in the following bit fields:
addr: flags+fcn-code,,len
where flags (DN.FLA) are:
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.
22-93
DNET. [CALLI 207]
Bit Symbol Meaning
2 DN.FLR List information only about active
(reachable) nodes.
3 DN.FLE List information only about EXECUTOR
nodes. Refer to the DECnet-10 User's
Guide for more information.
The function codes and argument lists are described below:
Code Symbol Meaning
1 .DNLNN Lists node names. You specify the following at
addr:
addr: flag+<.DNLNN,,length>
BLOCK length-1
You must include one of the following flags:
Bit Symbol Meaning
1 DN.FLK List known nodes.
2 DN.FLR List active nodes.
3 DN.FLE List EXECUTOR nodes.
And length is the length of the block to
reserve.
The monitor returns the argument list in the
following form:
Offset Symbol Contents
1 .DNCNT Number of node names returned in
the list.
2 .DNNMS First node name
3 . . . Second node name
. . .
22-94
DNET. [CALLI 207]
Code Symbol Meaning
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:
Bit Symbol Meaning
0 DN.FLS 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.
1 DN.FLK List only known nodes.
2 DN.FLR List only active nodes.
3 DN.FLE 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:
Offset Symbol Contents
1 .DNNAM Node name.
2 .DNRTR Router information, in the
following format:
Bit 0 (DN.RCH) is set if the
node is reachable.
Bits 1-17 (DN.HOP) contain the
number of hops to the specified
node.
Bits 18-35 (DN.CST) contain the
cost of the path to the
specified node.
22-95
DNET. [CALLI 207]
Code Symbol Meaning
Offset Symbol Contents
3 .DNLLI Link information, in the
following format:
Bit 0 (DN.VLD) is on if the word
contains valid information.
Bits 1-17 (DN.LNK) contain the
number of active links to the
node.
Bits 18-35 (DN.DLY) contain 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.
3 .DNSLS Shows link status. You must specify the
following at addr:
addr: DN.FLS+<.DNSLS,,length>
jobno,,channo
where the flag DN.FLS (step through node list)
is optional, and length is the number of words
reserved for the returned argument 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.
The monitor returns the argument list in the
following form:
Offset Symbol Contents
1 .DNJCN Currently displayed job number
and link number.
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.
22-96
DNET. [CALLI 207]
Offset Symbol Contents
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.
6 DR Disconnect
message received.
7 DS Disconnect
message sent.
22-97
DNET. [CALLI 207]
Offset Symbol Contents
Code Symbol State
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.
22-98
DNET. [CALLI 207]
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.
Normal Return
If DECnet-10 Version 3 or 4 is included in your monitor, the
normal return is taken for every DNET. call except when it
reaches the end of the node list while returning information
about nodes in the list.
Example
The following example shows the programming sequence used to list
known nodes, up to the specified length, starting at location
DNARG.
MOVE T1,[DN.FLK+<.DNLNN,,100>]
MOVEM T1,DNARG
MOVEI T1,DNARG
DNET. T1,
HALT ;Error return
DNARG: BLOCK 100
On a normal return, the argument block is filled with the
following information:
DNARG: DN.FLK!<.DNLNN,,100> ;Fcn-code+flags
20 ;Number of nodes
SIXBIT/ONE/ ;Node names
SIXBIT/TWO/
SIXBIT/THREE/
SIXBIT/KL1026/
SIXBIT/JINX/
SIXBIT/GNOME/
.
.
.
22-99
DSKCHR [CALLI 45]
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
normal return
. . .
addr: SIXBIT/name/
BLOCK len-1
where: 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. The value of len
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.
Normal Return
On a successful return, the disk characteristics are returned in
addr+1 through addr+<length-1>, and disk status flags are
returned in the ac. For a complete list of I/O status bits,
refer to Chapter 11.
The contents of the returned argument block are:
Offset 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.
22-100
DSKCHR [CALLI 45]
Offset Symbol Contents
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.
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:
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.
22-101
DSKCHR [CALLI 45]
Offset Symbol Contents
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.
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.
22-102
DSKCHR [CALLI 45]
Offset Symbol Contents
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.
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.
22-103
DSKCHR [CALLI 45]
Offset Symbol Contents
56 .DCSDT Count of soft data errors.
57 .DCHDV Count of hard device/search errors.
60 .DCHDT Count of hard data errors.
61 .DCECT Count of retries on last error.
62 .DCSER Count of SAT errors.
63 .DCRER Count of RIB errors.
64 .DCCER Count of software checksum/consistency errors.
65 .DCHBN Logical block number of last error (within
unit).
66 .DCERR Last error status.
67 .DCSDF Last error status.
70 .DCHDI Last error status.
71 .DCSDI Last error status.
72 .DCNHG Count of non-recoverable transfer-hung errors.
73 .DCTHG Count of transfer-hung errors.
74 .DCPHG Count of position-hung errors.
75 .DCSHG Count of software-hung errors.
76 .DCMAX Length of DSKCHR argument block. The value of
this symbol may change as words are added to the
DSKCHR block.
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.
22-104
DSKCHR [CALLI 45]
Bits Symbol Meaning
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.
10 DC.NNA Belongs to a structure that has a lock to
prevent further INIT, LOOKUP, ENTER, OPEN, and
FILOP. calls (NNA - "no new access"). This lock
is set by a privileged STRUUO function.
11 DC.AWL Write-locked for all jobs.
12-13 DC.CPU CPU number of the CPU to which the device is
connected. DC.XCC in word .DCXCH supersedes
DC.CPU.
14 DC.ALT Dual-ported device.
15-17 DC.TYP Type of argument passed with the DSKCHR call:
Code Symbol Meaning
0 .DCTDS Generic name, such as DSK.
1 .DCTAB File structure subset, because
of abbreviation, such as D.
2 .DCTFS File structure name, such as
DSKA.
3 .DCTUF Unit within file structure, such
as DSKA0.
4 .DCTCN Controller class name, such as
FH.
5 .DCTCC Controller name, such as RPA.
6 .DCTPU Physical unit, such as RPA0.
18-20 DC.DCN Data channel number that software lists as
connected to hardware; first data channel is 0.
22-105
DSKCHR [CALLI 45]
Bits Symbol Meaning
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 HSC50 for CI disks.
27-29 DC.CNN Controller number; first one of each type is 0.
30-32 DC.UNT Unit type:
Code Symbol Meaning When
0 .DCUFD RD10 (DC.CNT=1)
0 .DCUS4 RS04 (DC.CNT=4)
0 .DCUR4 RP04 (DC.CNT=5)
0 .DCUN0 RP20 (DC.CNT=6)
0 .DCU80 RA80 (DC.CNT=7)
1 .DCUFM RM10-B (DC.CNT=1)
1 .DCUD2 RP02 (DC.CNT=2)
1 .DCUR6 RP06 (DC.CNT=5)
1 .DCU81 RA81 (DC.CNT=7)
2 .DCUD3 RP03 (DC.CNT=2)
2 .DCUR3 RM03 (DC.CNT=5)
2 .DCU60 RA60 (DC.CNT=7)
3 .DCUR7 RP07 (DC.CNT=5)
33-35 DC.UNN Physical unit number within the controller;
first one is 0.
Error Return
The error return occurs if any of the following conditions is
found:
o The argument at addr is 0.
o The device does not exist or channel is not initialized.
o The argument is illegal.
22-106
DSKCHR [CALLI 45]
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-107
DTE. [CALLI 170]
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
normal return
. . .
addr: argument list
where: fcn-code is one of the function codes described below.
addr is the address of the argument list. Each function
requires a different argument list. These are described
below.
In the following discussion of the DTE. functions,
o cpuno is the number of a CPU.
o dteno is the number of a DTE.
o fedno is the unit number of a front-end device.
The function codes and their meanings are:
Code Symbol Function
0 .DTECL Clears a PDP-11 on a DTE. The argument list for
the .DTECL function is:
addr: XWD cpuno,dteno
1 .DTEST Starts primary protocol on a DTE. The argument
list for the .DTEST function is:
addr: XWD cpuno,dteno
22-108
DTE. [CALLI 170]
Code Symbol Function
2 .DTETB Sets the byte pointer for messages being
transferred to the DECsystem-10. The argument
list for the .DTETB function is:
addr: XWD cpuno,dteno
EXP <byte pointer to DECsystem-10>
3 .DTEEB Sets the byte pointer for messages transmitted
to the PDP-11. The argument list for the .DTEEB
function is:
addr: XWD cpuno,dteno
EXP <byte pointer to PDP-11>
4 .DTERW Returns the PDP-11 reload ROM word in the ac.
The argument list for the .DTERW function is:
addr: XWD cpuno,dteno
If bit 4 (DT.RP4) is set on return, the PDP-11
got code from the disk.
5 .DTEMN Return (in ac) the master DTE number for the
CPU. The argument list for the .DTEMN function
is:
addr: XWD cpuno,dteno
6 .DTEPR Presses the PDP-11 reload button. The argument
list for the .DTEPR function is:
addr: XWD cpuno,dteno
7 .DTEGS Returns the status word for the DTE. The status
word for the specified DTE is returned in ac.
The argument list for the .DTEGS function is:
addr: XWD cpuno,dteno
The status flags that can be returned are:
Flag Symbol Meaning
6 DT.DTX DTE exists.
7 DT.DTM DTE is master DTE.
8 DT.PPC DTE is running primary
protocol.
9 DT.SPC DTE is running secondary
protocol.
10 DT.RLD DTE needs reloading.
22-109
DTE. [CALLI 170]
Code Symbol Function
10 .DTERJ Sets reload job number. The argument list for
the .DTERJ function is:
addr: EXP jobno
where: jobno is the job number for the reload.
|
| 11 .DTEGF Assigns the specified Front End Device (FED) to
| the current job in its current job context. The
| FED can then be operated using the DTE.
| functions for FEDs (.DTEIF, .DTEOF, .DTEFG.,
| .DTEFS, and .DTEFR). Privileged programs can
| use the FED functions to communicate with the
| software running on PDP-11 devices connected to
| the system with a DTE. That software includes
| GALAXY, DDT11, and the FE program.
|
| To assign a FED, use the following argument
| block:
|
| addr: XWD cpuno,dteno
| EXP fedno
|
| Where cpuno is the CPU number and dteno is the
| number of the DTE to which the FED is connected.
| In addr+1, specify the unit number of the FED.
| On a successful return from the DTE. function,
| the contents of the ac are indeterminate
|
| You can use this function to assign the first
| free FED unit on the specified CPU and DTE by
| specifying -1 for fedno. In this case, the FED
| unit number will be returned in the ac.
12 .DTEIF Front-end device input. The argument list for
the .DTEIF function is:
addr: XWD cpuno,dteno
EXP fedno
XWD byte-count, addr-of-input-buffer
13 .DTEOF Front-end device output. The argument list for
the .DTEOF function is:
addr: XWD cpuno,dteno
EXP fedno
XWD byte-count,addr-of-output-buffer
22-110
DTE. [CALLI 170]
Code Symbol Function
14 .DTEFG Returns (in ac) the front-end device status.
The argument list for the .DTEFG function is:
addr: XWD cpuno,dteno
EXP fedno
The returned device status flags are:
Flag Symbol Meaning
28 DT.FER Fatal error.
29 Reserved.
30 DT.EOF End of file.
31 DT.IOP I/O in progress.
32 DT.SER Soft error.
33 DT.HER Hard error.
34 DT.OFL Off-line.
35 DT.NXD Nonexistent device.
15 .DTEFS Sets front-end device status. The argument list
for the .DTEFS function is:
addr: XWD cpuno,dteno
EXP fedno
EXP status
where: status is the status word for the
front-end device.
16 .DTEFR Releases a front-end device. The argument list
for the .DTEFR function is:
addr: XWD cpuno,dteno
EXP fedno
17 .DTERC Releases KL error chunks. The argument list for
the .DTERC function is:
addr: XWD cpuno,0
20 .DTERT Releases the KL error timer. The argument list
for the .DTERT function is:
addr: XWD cpuno,0
22-111
DTE. [CALLI 170]
Code Symbol Function
21 .DTEDT Returns Universal Device Indexes for terminal
lines leading to the DL11s on the specified DTE.
The argument list for this function is:
addr: XWD cpuno,dteno
On a successful return, the UDX is returned in
the ac. However, for DTE 0, which is dedicated
to the console front end (RSX-20F), the ac
contains the KLINIK line's UDX in the left half,
and the CTY's UDX in the right half.
22 .DTESU Specifies the type of protocol that will run on
the DTE. The argument list for this function
is:
addr: XWD cpuno,dteno
SIXBIT/user-name/
where the user-name is one of the following
protocol types:
DECNET for DECnet-10.
ANF for ANF-10.
IBM for IBM communications.
NOBODY if the DTE is not running a
protocol.
PROGRA if the DTE is dedicated to a job.
23 .DTERU Reads the protocol type of the protocol that is
running on the DTE. The argument list is:
addr: XWD cpuno,dteno
BLOCK 2
The information is returned in the following
format:
addr: XWD cpuno,dteno
SIXBIT/user-name/
EXP jobn
where user-name is the name of the protocol
running on the DTE (refer to .DTESU above). The
job number (jobn) is returned in addr+2 only if
user-name is PROGRA.
22-112
DTE. [CALLI 170]
Code Symbol Function
24 .DTELS Loads a secondary bootstrap from your job's
memory area, using the PDP-11 bootstrap ROM.
This function must be preceded by the .DTECL
(clear) and .DTEPR (press reload) functions.
You must also use function .DTEDM (dump) before
you can load any bootstrap. The argument list
for this function is:
addr: XWD cpuno,dteno
POINT 16,addr1
EXP length
where addr+1 contains a byte pointer indicating
the location of the secondary loader, and length
is the length of the loader, in 16-bit bytes.
25 .DTEDM Dumps PDP-11 memory, using the PDP-11 bootstrap
ROM. Before you use this function, be sure to
use functions .DTECL (clear) and .DTEPR (press
reload). You must always dump the PDP-11 memory
before you can load a program into its memory.
The argument list for this function is:
addr: XWD cpuno,dteno
POINT 16,addr1
EXP count
where addr+1 contains a byte-pointer to the
memory that must be dumped, and where count is
the number of 16-bit bytes to dump from the
PDP-11.
26 .DTKPS Not intended for customer use.
27 .DTKPR Not intended for customer use.
Normal Return
The function is performed, and any requested value is stored in
the ac.
22-113
DTE. [CALLI 170]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 DTENP% Not enough privileges.
2 DTEUF% Illegal function code.
3 DTEDC% Illegal CPU or DTE number.
4 DTEAP% Primary protocol already running.
5 DTEPT% Power fail did not come up.
6 DTEDE% Doorbell did not clear.
7 DTTTE% To TOPS-10 error during BOOT sequence.
10 DTEDD% No response from PDP-11 after BOOT sequence.
11 DTEIJ% Illegal job number.
12 DTEIB% Illegal byte count.
13 DTENI% Front-end device not initialized.
14 DTEFB% Front-end device in use by another job.
15 DTENF% Nonexistent front-end device.
16 DTEFE% Fatal error on front-end device.
17 DTESE% Error starting primary protocol.
20 DTENC% No free core for front-end device buffers.
21 DTETE% KL error data timer expired.
22 DTECM% The FEDSER monitor module was told not to send
messages to the PDP-11.
23 DTEIU% Tried to set line to illegal user value.
24 DTEWU% Wrong line user for function.
25 DTEEV% No exec virtual memory to perform function.
26 DTEIP% Illegal byte pointer.
22-114
DVPHY. [CALLI 164]
DVPHY. [CALLI 164]
Function
Returns the physical names of all devices of a given type, or of
all devices supported by the system (except pseudo-terminals,
terminals, MPX devices, and disks).
Calling Sequence
|
| MOVE ac,[XWD len,addr]
| DVPHY. ac,
| error return
| normal return
| . . .
| addr: / EXP device-type \
| \ EXP -1 /
| BLOCK 1
where: len is the length of the argument block (must be 2).
addr is the address of the argument block.
device-type is one of the device type codes returned from
the DEVTYP monitor call, such as .TYLPT for a line
printer. A value of -1 means all devices supported by
the system.
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.
Normal 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 no more, 0. The ac is unchanged.
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.
22-115
DVPHY. [CALLI 164]
Example
The following example shows how to obtain the physical names of
all line printers on the system:
SETZB T1,ADDR+1 ;Initialize counter and device name
TAG1: MOVE T2,[XWD 2,ADDR] ;Set up call
DVPHY. T2, ;Get name
JRST ERROR ;Error
SKIPN T3,ADDR+1 ;Get name, skip if not at end
JRST TAG2 ;0 means we're done
MOVEM T3,LPTNAM(T1) ;Save in next block-slot
AOJA T1,TAG1 ;Increment count and loop
TAG2: MOVEM T1,NLPT ;Save count
JRST CONTIN
NLPT: BLOCK 1
LPTNAM: BLOCK 10
ADDR: EXP .TYLPT ;Type is LPT
EXP 0 ;Start with first device
CONTIN:
Related Calls
SYSPHY, SYSSTR
Common Errors
Using a SIXBIT name for device type.
22-116
DVRST. [CALLI 122]
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
| normal return
where: device is the SIXBIT physical or logical name of a device
to be designated as being restricted.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Normal 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-117
DVURS. [CALLI 123]
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
| normal return
where: device is the SIXBIT physical or logical name of a device
that is to be returned to unrestricted status.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Normal 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-118
ENQ. [CALLI 151]
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
normal return
. . .
addr: EXP <size>B5+<number>B17+<len>B35 ;header block
XWD 0,request-id
XWD time-limit
<lock block>
<lock block>
.
.
.
where: fcn-code is one of the function codes listed below.
addr is the address of the argument block, which consists
of a header block followed by one or more lock blocks.
The header block contains 1 to 3 words, in the following order:
Offset Symbol Contents
0 .ENQLL The header size, the number of lock requests, and
the total length of the argument, including the
header and all the words in all the lock blocks.
Specifically, the .ENQLL word is formatted as
follows:
Bits Symbol Value
0-5 EQ.BHS Size of the header block. This
value is between 1 and 3,
because the second and third
words are optional. If you omit
this value, the default is 2.
22-119
ENQ. [CALLI 151]
Offset Symbol Contents
Bits Symbol Value
6-17 EQ.LNL Number of lock blocks following
the header block. Include one
lock block for each resource
requested.
18-35 EQ.LLB Total length (in words) of the
argument block. All the lock
blocks in a single request must
be the same length. Thus, the
value of EQ.LLB is the header
block length (EQ.BHS) plus the
length of each lock block times
the number of resources
requested (EQ.LNL).
1 .ENQRI An 18-bit request-id identifying this request.
This optional value identifies the ENQ.
request, enabling you to identify it when it
causes a software interrupt. This is useful
when you use the ENQ/DEQ facility in conjunction
with the software interrupt (PSI) system. After
an interrupt is generated, the request-ids of
the granted requests are inclusively ORed into
the status word of the interrupt block. To
receive a software interrupt, use function code
2 (.ENQSI) when you issue the ENQ. monitor call.
The request-id can also be used with the DEQ.
call to dequeue a specific request.
2 .ENQTL Time limit specifying the number of seconds to
wait for each request in the call to be granted.
If any resource is not available within that
time limit, the call takes the error return with
the ENQTL% error code in the ac. This word is
optional. If you include the time limit in the
header block, specify 3 for size in word 0.
Each lock block represents a separate ENQ. request. There is no
limit to the number of locks that can be requested, but multiple
requests in the same ENQ. call must be given level numbers. The
locks will be granted in the order of the level numbers.
22-120
ENQ. [CALLI 151]
The format of a lock block is:
|
| / EXP <flags+level>B17+<channo>B35 \
| | EXP flags+user-code |
| \ EXP user-code /
| / XWD pool-size,number \
| \ XWD 0,sharer-group /
| XWD mask-len,mask-addr
| XWD block-len,block-addr
where a lock block is two to five words long, identifying the
resource to be locked and describing the characteristics of the
lock. The first requestor of a resource defines lock
characteristics. Subsequent requests for the same resource must
conform to those characteristics or wait until the resource is
released by the first requestor.
In the case of multiple-lock requests, all the lock blocks in a
single ENQ. request must be the same length. Specifically, a
lock block can contain the following words:
Offset Symbol Contents
0 .ENQFL Contains the flag bits, level number, and
channel number. The flags are:
Bit Symbol Meaning
0 EQ.FSR The lock request allows sharers.
If you do not set this bit, the
monitor assumes that you require
exclusive access to the
resource. Unless the first
requestor for the resource sets
this flag, no requests for the
same resource (specified in the
next word, .ENQBP) can be
granted until the first
requestor dequeues it (using
DEQ. or RESET). If the first
requestor sets this bit, other
programs with the same sharer
group number as that specified
in .ENQPS can obtain access to
the resource while it is locked
for your job.
22-121
ENQ. [CALLI 151]
Bit Symbol Meaning
1 EQ.FLB Bypass level checking. When
multiple request blocks are made
in a single ENQ. call, you must
assign a level number to each
request. When EQ.FLB is not
set, lower-level resources will
be granted before higher-level
resources are considered. The
EQ.FLB flag prevents this
level-checking, allowing
resources to be granted
regardless of their order by
level number.
2 EQ.FLT Grant a long-term lock. That
is, after the resource is
dequeued by all users, the lock
data is preserved for about 5
minutes.
3 EQ.FEL Grant an eternal lock. This
prevents the resources from
being dequeued automatically
when your program performs a
RESET function.
4 EQ.FAB Abort the resource. This
prevents the resource from being
accessible to any other user. A
request for an aborted lock
causes error code ENQAB% to be
returned in the ac. The
resource cannot be granted to
another user until it is
dequeued.
5 EQ.FDD Set deadlock detection. This
flag prevents your request from
causing a deadlock among
resource users. If this flag is
set, and granting your request
would cause a deadlock, the ENQ.
call takes the error return with
error code ENQDD% in the ac.
6 EQ.FCW Specifies that a 36-bit user
code is included in the next
word (.ENQBP). This is the
preferred method of specifying a
user code in the lock block.
22-122
ENQ. [CALLI 151]
Bit Symbol Meaning
7-8 Reserved for use by DIGITAL.
9-17 EQ.FLV 9-bit level-number that you
assign to each request in a
multiple-lock request. In a
multiple-lock request (a single
ENQ. call containing multiple
lock blocks), each lock block
must be assigned a level number;
the locks will be granted in
ascending numerical order
according to level number,
unless you set EQ.FLB (bypass
level checking) in the flag
word.
18-35 EQ.FCC The number of the channel on
which the resource is being
accessed (positive integer), to
associate the lock with the file
that is open on that channel.
Alternatively, you can specify a
negative number indicating one
of the following conditions:
Code Symbol Meaning
-3 .EQFPL The lock
requested is a
privileged
global lock and
the resource is
available only
to [1,2] or
JACCT jobs.
This code allows
privileged jobs
to define locks
on resources to
prevent access
from
unprivileged
jobs.
22-123
ENQ. [CALLI 151]
Offset Symbol Contents
Code Symbol Meaning
-2 .EQFGL The lock you are requesting is a
global lock. Specifying this
code prevents access to the
resource from any other job. To
use this code, your job must
have JP.ENQ set in its privilege
word.
-1 .EQFJB The lock is a job-wide lock,
preventing access to the
resource from any other requests
by your job.
1 .ENQBP Specifies the resource to be locked. You can
use a pointer to an ASCIZ string, or a user-code
in this word (more on this later). You must
include this word in every lock block because it
defines the resource you are requesting.
When the first program to request the resource
is granted a lock, it is said to have ownership
of the resource. When a second program makes an
ENQ. call with the same value in this word (if
a user-code is specified) or the same ASCIZ
string (if a byte pointer is used), the request
is for the same resource that was granted to the
first job. The contents of the word to which
the byte pointer refers, or the user code
itself, are purely arbitrary values to the
monitor. The monitor only checks lock requests
for matches, granting or preventing locks on the
basis of matching strings. This is the key to
the ENQ/DEQ access-checking mechanism.
If the flag EQ.FCW is set in the previous word
(.ENQFL), .ENQBP must contain a 36-bit value as
a user-code.
If EQ.FCW is not set, and the flag EQ.BUC is set
in .ENQBP (that is, a value of 5 is placed in
bits 0-2), the rest of the word must contain a
33-bit user-code.
22-124
ENQ. [CALLI 151]
Offset Symbol Contents
If neither flag is set, this word (.ENQBP) must
contain a pointer to an ASCIZ text string. This
may be either a standard byte pointer in the
form:
POINT 7,address,bit-location
Or, if the ASCIZ string is stored in 7-bit
bytes, starting at the first byte of the
location being referenced, the pointer can take
the form:
XWD -1,address
The ASCIZ string at address can be up to 30
(decimal) words. The maximum string length for
your system is stored in %EQMSS in GETTAB table
.GTENQ.
Cooperating programs (those requesting the same
resources) must specify exactly the same user
code or ASCIZ string.
2 .ENQPS Specifies either a pool number for a pooled
resource, or a sharer group number for a
sharable resource. This word is optional and
defaults to 0.
For a pooled resource, the word contains the
pool-size in the left half and the number of
resources requested from the pool in the right
half. For a sharable resource, the left half is
zero, and the right half contains the
sharer-group number. Thus, a resource cannot be
pooled and also be accessible to a sharer group.
A pooled resource is defined by the first
requestor of the resource. By specifying the
number of resources in the pool, the requestor
is defining the number of "copies" of the
resource to be made available. Each copy of the
resource can be requested for exclusive access
by specifying the same resource identifier in
word .ENQBP and the same pool-size in word
.ENQPS. The requestor must also specify, in the
right half of .ENQPS (EQ.PPR), the number of
copies of the resource to lock.
22-125
ENQ. [CALLI 151]
Offset Symbol Contents
If the left half of .ENQPS (EQ.PPS) is 0, the
right half (EQ.PPR) specifies the sharer-group
number, thus defining a group of jobs that can
simultaneously share the resource. Any program
that sets the flag EQ.FSR and specifies the same
resource and the same sharer group number will
be granted its request. Therefore, when you
share the ownership of a resource, only other
jobs in the same sharer group are allowed
ownership of the resource. The sharer group
number defaults to 0. Therefore, if the first
requestor specifies a sharable resource but
omits the sharer group number, all subsequent
sharable requests for the resource that also
omit the sharer group number, or that set it to
0, will be granted immediately.
3 .ENQMS Contains a pointer to the bit mask representing
the portions of a resource to be locked. The
pointer consists of the mask-len stored in the
left half, and the mask-addr in the right half.
The bit mask, describing fields of bits to be
locked, is stored at the location specified in
mask-addr, and the length of the bit mask (in
words) is stored in the mask-len. This provides
a facility for partitioning the resource,
allowing locks on portions of a resource. This
word is optional and defaults to 0.
4 .ENQTB Contains the block-length and block-addr of a
lock-associated data block. This data block can
be used to pass information to subsequent users
of a resource. To use this facility, you should
set EQ.FLT, thus preserving all lock request
data for the resource for at least 5 minutes
after you dequeue the resource. This word is
optional and defaults to 0.
22-126
ENQ. [CALLI 151]
The function codes and their meanings are:
Code Symbol Function
0 .ENQBL Requests ownership of a resource. Your job will
block if the resource is not available. Your
request is placed in a queue associated with the
specified resource. If more than one request
was included in your ENQ. call, your job will
block until all the requests have been granted.
After all requests have been granted, the normal
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 normal return is taken and the
monitor leaves the ac unchanged.
2 .ENQSI Requests ownership of a resource and, if the
resource is not immediately available, causes a
software interrupt when the resource becomes
available. You can use this function when the
Programmable Software Interrupt (PSI) system is
enabled, to prevent your job from blocking while
waiting for the requests to be granted.
If all the requests in the call can be granted
immediately, this function is equivalent to
function code 0 (.ENQBL). If any of the
requests are not available, the call takes the
error return with error code 1 (ENQRU%) in the
ac. In this case, your job can continue
processing until it receives a .PCQUE software
interrupt. The interrupt control block will
contain the request-ids of the requests that are
granted, inclusively ORed into the status word.
The PSI system is described in Chapter 6.
22-127
ENQ. [CALLI 151]
Code Symbol Function
3 .ENQMA Modifies an existing request made by your job.
If the modification you specify in this request
is identical to the request you made earlier, no
action is taken and the normal 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.
Normal Return
All requests in the call are granted, and the resources are
locked for your program.
Error Return
One of the following error codes is returned in the ac on an
error return. These error codes are also returned on an error
from a DEQ. or ENQC. call. They are described in more detail
in Chapter 8.
Code Symbol Error
1 ENQRU% At least one of the requested resources is not
available.
2 ENQBP% You requested an illegal number of pooled
resources.
3 ENQBJ% You specified an illegal job number.
4 ENQBB% You specified an illegal byte size for the byte
pointer. The byte size must be between 1 and
36, inclusive.
22-128
ENQ. [CALLI 151]
Code Symbol Error
5 ENQST% The ASCIZ string is too long. It must be less
than 30 (decimal) words. (Refer to GETTAB table
.GTENQ, item %EQMSS for current maximum message
length.)
6 ENQBF% You specified an illegal function code.
7 ENQBL% You specified an illegal argument list length.
The total argument list for the call must be
header-block-size plus (request-block-size times
number-of-requests).
10 ENQIC% You specified an illegal number of requests.
11 ENQBC% You specified an illegal channel number.
12 ENQPI% Your program does not have enough privileges for
the given function.
13 ENQNC% Not enough core available, or the maximum number
of active locks (item %EQMAQ in GETTAB table
.GTENQ) has been exceeded.
14 ENQFN% Device is not initialized or is not a disk.
15 ENQIN% The address for the byte pointer is indirect or
indexed; this is not allowed.
16 ENQNO% Your program cannot dequeue resources it does
not own.
17 ENQLS% Levels are not specified in ascending order.
20 ENQCC% Illegal modification of ownership; you cannot
change a request from shared to exclusive
ownership. You must DEQ. the request, then
ENQ. it with EQ.FSR set.
21 ENQQE% Your ENQ quota has been exceeded; your quota is
set by the system administrator.
22 ENQPD% The number of resources in the pool disagrees
with the number in your request.
23 ENQDR% Duplicate request; identical to a request
already in the queue.
24 ENQNE% Not enqueued on this lock.
25 ENQLD% Level in request does not match lock.
26 ENQED% Insufficient privileges for this function; you
must have JP.ENQ set.
27 ENQME% Mask too long or lengths do not match.
30 ENQTE% Lock-associated table is too long.
31 ENQAB% A resource that was requested has been marked as
aborted.
32 ENQGF% Attempt to ENQ. with EQ.FEL option on a ghost
file.
33 ENQDD% Deadlock detected.
34 ENQTL% Time limit exceeded.
22-129
ENQ. [CALLI 151]
Example
.
.
.
MOVE T2,[XWD 10,ADDR] ;Initialize channel
FILOP. T2,
JRST ERROR1 ;Error return
JRST ENQ ;Normal 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 ;Project-programmer
;Number
ENQ: MOVE T3,[XWD 0,ADDR3] ;Function and address
ENQ. T3,
JRST ERROR3 ;Error return
JRST NORM ;Normal 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
22-130
ENQ. [CALLI 151]
ERROR2: ASCIZ/ERROR WITH FILOP./
ERROR4: ASCIZ/ERROR WITH ENQ./
.
.
.
DONE: EXIT
Related Calls
DEQ., ENQC.
22-131
ENQC. [CALLI 153]
ENQC. [CALLI 153]
Function
Returns information about the current state of ENQ/DEQ requests
and sets access rights for the ENQ/DEQ facility (privileged).
Refer to Volume 1 for more information about using the ENQ/DEQ
calls. For more information about the contents of the argument
block, refer to the ENQ. call.
Calling Sequence
Each function of the ENQC. call requires a different calling
sequence. The calling sequence for each ENQC. function is
described below, for the appropriate function.
The ENQC. function codes and their meanings are:
Code Symbol Function
0 .ENQCS Returns a 3-word status block for each specified
lock. The calling sequence for the .ENQCS
function is:
MOVE ac,[XWD .ENQCS,addr]
MOVEI ac+1,buffer
ENQC. ac,
error return
normal return
. . .
addr: EXP parameters
XWD 0,request-id
EXP time limit
first word of first lock block
. . .
last word of last lock block
buffer: BLOCK <locks>*3
. . .
where: addr is the address of the argument
list.
buffer is the address of a buffer (of
length locks*3) for storing the returned
three-word status blocks.
parameters is a word of the form:
<size>B5+<locks>B17+<length>B35
22-132
ENQC. [CALLI 153]
Code Symbol Function
where: size is the size of the header block (1
to 3).
locks is the number of lock blocks in
the argument list.
length is the length of each lock block
(size plus number of locks times the
length of each lock block).
The right half of addr+1 may contain
request-id, an optional request
identifier.
time limit is an optional time limit for
the request to be granted.
On a normal return, the monitor returns a
three-word status block for each request, at
buffer. The format of each block is:
Offset Symbol Meaning
0 .ENQCF Flags:
Bits Symbol Meaning
0 EQ.CFI Invalid lock.
1 EQ.CFO This user is
owner.
2 EQ.CFQ This user is
in queue for
specified
resource.
3 EQ.CFX Owner's access
is exclusive.
4-8 Reserved.
9-17 EQ.CFL Level number.
18-26 EQ.CFC The owner's
context
number.
27-35 EQ.CFJ The owner's
job number or
an error code.
1 .ENQCT A time stamp, in universal
date-time format, indicating
the time that the lock was
granted; or 0, indicating that
the resource is available.
22-133
ENQC. [CALLI 153]
Code Symbol Function
Offset Symbol Meaning
2 .ENQCI The left half (EQ.CIQ) contains
the number of users sharing the
resource. The right half
(EQ.CID) contains the
request-id of the owner of the
lock.
1 .ENQCG Returns user's quota in ac. The calling
sequence for the .ENQCG function is:
MOVE ac,[XWD .ENQCG,addr]
ENQC. ac,
error return
normal return
. . .
addr: XWD 0,jobno
where: jobno is the number of the job whose ENQ
quota is required. If jobno is -1, your
own job is assumed.
2 .ENQCC Changes user's quota. The calling sequence for
the .ENQCC function is:
MOVE ac,[XWD .ENQCC,addr]
ENQC. ac,
error return
normal return
. . .
addr: XWD quota,jobno
where: quota is the new ENQ/DEQ quota.
jobno is the number of the job whose
quota is to be changed. If jobno is -1,
your own job is assumed.
This function sets the lock quota for a specific
job. To perform this function, you must have
POKE privileges, be a [1,2] job, or be running
with the JACCT bit set. The ENQ/DEQ quota for
the specified job will be set to the value you
specify in the left half of the argument word on
a normal return. On a normal 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-134
ENQC. [CALLI 153]
Code Symbol Function
3 .ENQCD Dumps the data base. The calling sequence for
the .ENQCD function is:
MOVE ac,[XWD .ENQCD,addr]
ENQC. ac,
error return
normal return
. . .
addr: XWD 0,len
where: addr is the address of a buffer to
receive the returned data.
len is the length of the data block to
be returned, minus one word.
This function dumps the data base (all lock and
queue entries). The entire data base is placed
in your area, beginning with addr+1. If this
length is not large enough to accommodate the
entire data base, the monitor returns as much as
possible of the data base. The end of the data
base is indicated by a word containing -1. You
must have SPY privileges to specify this
function code. The format of the returned data
is described in Chapter 8.
Normal Return
The requested function is performed.
Error Return
The error codes that can be returned in the ac on an error return
are identical to those that can be returned from the ENQ. and
DEQ. calls. The error codes are listed in the description of
the ENQ. call.
Related Calls
DEQ., ENQ.
22-135
ENTER [OPCODE 077]
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
normal return
where: addr is the address of the argument list. Refer to
Section 11.13 for more information about the argument
list.
Normal Return
When you use the short form of the argument block, the monitor
returns a four-word argument block at addr.
Refer to Section 11.13.1 for information about the argument block
that is returned.
When you use the extended argument list, the monitor returns the
information that is listed on Section 11.13.2.
Error Return
On an error return from ENTER, the monitor returns an error code
in either of the following:
o For the short-form argument block, the error code is stored
in the right half of addr+1 of the 4-word argument block
o For the extended-form argument block, the error code is
returned in the right half of addr+3.
22-136
ENTER [OPCODE 077]
It is possible to LOOKUP/RENAME a file after using an ENTER to
specify the argument list, referring to the same argument list
with subsequent calls. Note, however, that on an error return
from the ENTER, the error code overwrites the high-order three
bits of the creation date and the entire access date. Because
most programs recover from these errors by either aborting or by
reinitializing the entire argument block, this overwriting of
data normally does not cause any problems. However, a program
may attempt to recover from an error by fixing only the incorrect
portion of the argument block and then reexecuting the monitor
call. These programs should always initialize the contents of
these locations before reexecuting the ENTER monitor call.
Error codes are restricted to a maximum of 15 bits to eliminate
problems when recovering from an error in a file with a zero
creation date. The error codes are described in Section 11.14.
Examples
See Chapter 11.
Related Calls
ENTER, FILOP., INIT, LOOKUP, OPEN, RENAME
22-137
ENTVC. [CALLI 225]
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
normal return
addr: flag,,function
length
exec-addr
where: addr is the address of the argument list.
flag indicates whether the vector is read (0) or set
(EN.SET).
function is the function code described below.
length is a value returned by the monitor on a read, and
supplied by you on a set. A (JRST) in the right half
indicates that you are supplying a start address only in
exec-addr (if setting), or that the monitor is returning
the start address in exec-addr (if reading). Otherwise,
you supply a length for the entry vector (0-37 words,
octal), or the monitor returns the length of the entry
vector.
exec-addr contains the 30-bit address of the entry vector
or the start address, returned on a read, or to be set
for the set function. exec-addr is a user address.
The function code for ENTVC. is:
Code Symbol Meaning
0 .ENVRS Reads or sets the entry vector. Set the EN.SET
flag in the left half of the first word of the
argument block to perform a set. 0 in the left
half indicates a read should be performed.
22-138
ENTVC. [CALLI 225]
Normal 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-139
ERLST. [CALLI 132]
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
normal return
. . .
addr: XWD length,channo
BLOCK length-1
where: addr is the address of the argument block.
length is the length of the argument block; the length
should be the number of devices connected to the channel
plus two.
channo is the number of an initialized channel.
Normal Return
The monitor returns data at addr+1 for devices on the channel
that have errors. The data at addr is in the format:
addr: XWD length,channo
EXP number of devices
XWD udx,status
. . .
XWD udx,status
where: length and channo were given in the call.
number of devices is the number of devices on the channel
that have encountered errors.
udx is the Universal Device Index of a device having
errors.
status is a halfword containing I/O status bits for the
device. These bits are identical to those returned for a
GETSTS monitor call.
22-140
ERLST. [CALLI 132]
The monitor continues to return device error information in the
argument block until all space allocated by your program has been
filled. Your program should check the value of addr+1. If
addr+1 is greater than the length of the argument block minus
two, the device error list is incomplete because of lack of
space.
For a list of I/O status bits, see the appropriate device in
Volume 1.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 ERLBC% Illegal channel number.
2 ERLNM% Not an MPX-channel.
Related Calls
CLRST., GETSTS, SENSE.
22-141
ERRPT. [CALLI 160]
ERRPT. [CALLI 160]
Function
ERRPT. is a privileged monitor call used only by the DAEMON
program to ask the monitor for the next error condition to be
logged in the error file.
Calling Sequence
MOVE ac,[XWD len,addr]
ERRPT. ac,
error return
normal return
. . .
addr: BLOCK 4
where: len is the length and addr is the address of the argument
list that is filled in by the monitor on a normal return.
Normal Return
If an error condition (such as a stopcode or a hardware error) is
found, the monitor places values in the locations at addr as
follows:
Offset Symbol Contents
0 .ERPT0 Address, job number, and error code:
Bits Symbol Meaning
0-17 ER.PAD Address used by DAEMON.
18-26 ER.PJN Job number.
27-35 ER.PCD Error code for the error file.
1 .ERPT1 Two monitor internal addresses:
Bits Symbol Meaning
0-17 ER.PDA Address of DDB for device with
error condition.
18-35 ER.PUA Address of UDB for device with
error.
22-142
ERRPT. [CALLI 160]
Offset Symbol Contents
2 .ERPT2 CPU number.
Bits Symbol Meaning
0-14 Reserved for use by DIGITAL.
15-17 ER.CPU CPU number on which error was
detected.
18-35 Reserved for use by DIGITAL.
3 .ERPT3 Reserved for use by Digital.
Error Return
One of the following conditions occurred:
o The ERRPT. call is not implemented.
o The calling sequence was improper.
o No appropriate error condition was found. In this case, the
values of the words at addr are unchanged.
22-143
ETHNT. [CALLI 223]
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
normal return
where: addr is the address of the ETHNT. argument block.
The argument block is:
|=======================================================|
| Flags | Function | Argument Block Length |
|=======================================================|
| |
| Function-Specific Arguments |
| |
|=======================================================|
22-144
ETHNT. [CALLI 223]
The format of the argument block is:
Offset Symbol Contents
0 .ETFCN Function code word for the argument block. This
word contains the length of the argument block,
and may also contain a flag. Its format is:
Bits Symbol Meaning
0-8 ET.FFL Function-specific flags.
Bit Symbol Meaning
1 ET.FZC Zero counters
after they
have been
read. Use
this flag
with
functions
.ETRCC,
.ETRPC, and
.ETRKC.
9-17 ET.FFN One of the function codes
listed at the end of the
argument block description.
18-35 ET.FLN Length of the argument
block.
1 .ETPSW Contains the portal status and the assigned
portal ID. ET.PST (Bits 0-8) may contain one or
more of the following flags:
Bit Symbol Meaning
0 ET.PON Portal is online.
1 ET.PXB Transmit buffers available.
2 ET.PRB Receive buffers available.
The rest of .ETPSW contains the portal ID,
.ETPID, assigned by the monitor.
1 .ETCSW Contains the channel status and channel ID.
ET.CST (Bits 0-8) contains the channel status.
If the ET.CON flag in ET.CST is on, the channel
is online. ET.CID (Bits 9-35) contains the
channel ID.
22-145
ETHNT. [CALLI 223]
Offset Symbol Contents
1 .ETKSW Contains the status and ID of a controller.
ET.KST (Bits 0-8) contains the controller
status. If the ET.KON flag in ET.KST is on, the
controller is online. ET.KID (Bits 9-35)
contains the controller ID.
2 .ETAR1 Contains the first function-specific argument.
Function-specific arguments are described in
each of the function codes below.
3 .ETAR2 Contains the second function-specific argument.
Valid function codes for .ETFCN are:
Code Symbol Meaning
1 .ETOPN Opens a user portal. This function requires
JP.POK privileges. This function specifies the
protocol type to be enabled, and protocol
specific flags. The argument block is:
Word Symbol Contents
0 .ETFCN Contains the function code .ETOPN
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETCIW Identifies the Ethernet channel
on which the protocol should be
enabled.
3 .ETPIW Identifies the protocol type to
be enabled on the Ethernet
channel. Set the ET.PAD flag in
the left half of .ETPIW to enable
padding for the protocol.
22-146
ETHNT. [CALLI 223]
Code Symbol Meaning
2 .ETCLS Closes a user portal and releases all resources
associated with it. The argument block
contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETCLS
in Bits 9-17, and the length of
the argument block, 2, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
3 .ETQRB Queues receive datagram buffers. The argument
block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETQRB
in Bits 9-17, and the length of
the argument block, 3, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETUBL Contains the address of the user
buffer descriptor list. Refer to
Chapter 5, Volume 1 for the
format of the user buffer
descriptor list.
4 .ETRRQ Reads receive queue. This function fills each
block in the buffer descriptor list with data
appropriate to a received datagram. The
argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRRQ
in Bits 9-17 and the length of
the argument block, 3, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
22-147
ETHNT. [CALLI 223]
Code Symbol Meaning
Word Symbol Contents
2 .ETUBL Contains the address of the user
buffer descriptor list. Refer to
Chapter 5, Volume 1 for the
format of the user buffer
descriptor list. The status
field in .UBSTS of the buffer
descriptor contains zero if the
datagram was received
successfully.
5 .ETQXB Transmits datagram buffer to the destination
Ethernet address specified in the buffer
descriptor block. The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETQXB
in Bits 9-17, and the length of
the argument block, 3, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETUBL Contains the address of the user
buffer descriptor list. Refer to
Chapter 5, Volume 1 for the
format of the user buffer
descriptor list.
6 .ETRXQ Returns data associated with transmitted
datagrams. The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRXQ
in Bits 9-17, and the length of
the argument block, 3, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
22-148
ETHNT. [CALLI 223]
Code Symbol Meaning
Word Symbol Contents
2 .ETUBL Contains the address of the user
buffer descriptor list. Refer to
Chapter 5, Volume 1 for the
format of the user buffer
descriptor list. On a successful
transmission, the returned status
is zero.
7 .ETEMA Enables a portal to receive datagrams destined
for an Ethernet multicast address. .ETEMA may
not be used while a promiscuous receiver is
active. The argument block for .ETEMA contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETEMA
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETMCA Contains the two word Ethernet
multicast address.
10 .ETDMA Disables a portal from receiving datagrams bound
for a multicast address. The multicast address
you disable must have been previously enabled
using the .ETEMA function. The argument block
contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETDMA
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETMCA Contains the two word Ethernet
multicast address.
22-149
ETHNT. [CALLI 223]
Code Symbol Meaning
11 .ETRCL Returns a list of all known channels. The
argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRCL
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETCSW Reserved.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
12 .ETRCI Returns information about a specific channel.
The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRCI
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETCSW Contains the channel-id in Bits
9-35. Returns an updated channel
status in Bits 0-8. Flag ET.CON
indicates whether the channel is
on- or off-line.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
22-150
ETHNT. [CALLI 223]
Code Symbol Meaning
13 .ETRCC Returns a list of the counters associated with a
channel, and (optionally) zeroes them. Zeroing
the counters requires JP.POK privileges. The
argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRCC
in Bits 9-17, and the length of
the argument block, 4, in the
right half. Set the ET.FZC flag
of .ETFCN if you want the
counters zeroed after information
is returned.
1 .ETCSW Contains the channel-id in Bits
9-35. Returns an updated channel
status in Bits 0-8. Flag ET.CON
indicates whether the channel is
on- or off-line.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
14 .ETSCA Sets the physical address associated with a
channel. The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETSCA
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETCSW Contains the channel-id in Bits
9-35. Returns an updated channel
status in Bits 0-8. Flag ET.CON
indicates whether the channel is
on- or off-line.
2 .ETEAD Specifies the physical address.
.ETEAD is two words long. It may
not be a multicast address.
22-151
ETHNT. [CALLI 223]
Code Symbol Meaning
15 .ETRPL Returns a list of all portals on a channel. The
argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRPL
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETCSW Contains the channel-id in Bits
9-35. Returns an updated channel
status in Bits 0-8. Flag ET.CON
indicates whether the channel is
on- or off-line.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
The list is returned in the specified buffer,
with each portal ID occupying a full word, right
justified (.ETPSW format).
16 .ETRPI Returns all information (except counters) about
a specific portal. The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRPI
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
The information is returned in the specified
buffer.
22-152
ETHNT. [CALLI 223]
Code Symbol Meaning
17 .ETRPC Returns a list of the counters associated with a
portal, and (optionally) zeroes them. Zeroing
the counters requires JP.POK privileges. The
argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRPC
in Bits 9-17, and the length of
the argument block, 4, in the
right half. Set the ET.FZC flag
if you want the counters zeroed
after the information is
returned.
1 .ETPSW Contains the portal-id in Bits
9-35. Returns an updated portal
status in Bits 0-8.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
20 .ETRKL Returns a list of all controllers on a channel.
The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRKL
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETCSW Contains the channel-id in Bits
9-35. Returns an updated channel
status in Bits 0-8. Flag ET.CON
indicates whether the channel is
on- or off-line.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
The list is returned in the specified buffer,
with each portal ID occupying a full word, right
justified (.ETKSW format).
22-153
ETHNT. [CALLI 223]
Code Symbol Meaning
21 .ETRKI Returns all information (except counters) about
a specific controller. The argument block
contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRKI
in Bits 9-17, and the length of
the argument block, 4, in the
right half.
1 .ETKSW Contains the controller-id in
Bits 9-35. Returns an updated
controller status in Bits 0-8.
Flag ET.KON indicates whether the
controller is on- or off-line.
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
The information is returned in the specified
buffer.
22 .ETRKC Returns a list of the counters associated with a
controller, and (optionally) zeroes them.
Zeroing the counters requires JP.POK privileges.
The argument block contains:
Word Symbol Contents
0 .ETFCN Contains the function code .ETRKC
in Bits 9-17, and the length of
the argument block, 4, in the
right half. Set the ET.FZC flag
if you want the counters zeroed
after the information is
returned.
1 .ETKSW Contains the controller-id in
Bits 9-35. Returns an updated
controller status in Bits 0-8.
Flag ET.KON indicates whether the
controller is on- or off-line.
22-154
ETHNT. [CALLI 223]
Word Symbol Contents
2 .ETBFL Contains the length of the
destination buffer.
3 .ETBFA Contains the address of the
destination buffer.
Normal 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-155
EXIT [CALLI 12]
EXIT [CALLI 12]
Function
Stops job execution and optionally resets the job.
Calling Sequence
EXIT fcn-code,
continue return
where: fcn-code is one of the function codes described below.
For either code, when you EXIT from a job in an
auto-pushed context, you are returned to the superior
context and the inferior one is deleted.
continue return is the instruction to be executed if the
user issues a valid CONTINUE monitor command.
The function codes and their meanings are:
Code Function
0 Performs the following:
o Releases all I/O devices, closing files if necessary.
o Unlocks the job from core.
o Sets the user-mode write-protect bit for the high
segment.
o Resets APR traps to zero.
o Clears PC flags.
o Performs a RESET and stops the job.
If timesharing was stopped by a TRPSET monitor call, the
monitor resumes timesharing. A RESET monitor call is
executed, and the word EXIT is typed on your terminal, and
the terminal is left in monitor mode. You cannot continue
with the CONT or CCONT monitor command.
22-156
EXIT [CALLI 12]
Code Function
1 Performs the following:
o Clears PC flags.
o Stops the job.
EXIT is not printed on your terminal, and you can continue
program execution with the CONT or CCONT monitor command.
If you use function code 1, you should first RELEASE all
devices and channels; a convenient way to do this is to
use the RESET monitor call. The symbol for EXIT 1, is
MONRT.
2-17 Reserved for use by DIGITAL.
Related Calls
LOGOUT, MONRT.
22-157
FILOP. [CALLI 155]
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 len,addr]
FILOP. ac,
error return
normal return
. . .
addr: arglst
where: len is the length of the argument list.
addr is the address of the argument list.
The argument block for FILOP. functions 1 through 6 and 13
through 15 looks like this:
0 9 17 18 35
!===============================================================!
! Flags ! FO.CHN ! Function Code !
!---------------------------------------------------------------!
! I/O mode !
!---------------------------------------------------------------!
! Device name or UDX !
!---------------------------------------------------------------!
! Output buffer header ! Input buffer header !
!---------------------------------------------------------------!
! Number of output buffers ! Number of input buffers !
!---------------------------------------------------------------!
! Ptr to RENAME block ! Ptr to LOOKUP block !
!---------------------------------------------------------------!
! Length of PATH block ! Ptr to PATH block !
!---------------------------------------------------------------!
! Project number ! Programmer number !
!---------------------------------------------------------------!
! Length of filespec block ! Ptr to filespec block !
!---------------------------------------------------------------!
! Output buffer starting addr ! Input buffer starting addr !
!---------------------------------------------------------------!
! Output buffer size ! Input buffer size !
!===============================================================!
22-158
FILOP. [CALLI 155]
The format of the argument list (for functions 1-6 and 13-15) is:
Offset Symbol Contents
0 .FOFNC Flags, channel number, and function code:
Bits Symbol Meaning
0 FO.PRV Indicates that the program with
appropriate privileges ([1,2]
or JACCT) will perform
privileged FILOP. functions.
You must set this bit to use
privileged FILOP. functions.
1 FO.ASC Assigns an extended channel
number, one that is greater
than 17. When you set this bit
for an OPEN function (function
codes 1 through 6) the monitor
assigns the next available
channel number. It then
performs the requested
function. On return, the
monitor returns the assigned
channel number in FO.CHN in the
argument block or, if FO.CFW is
set, in the address pointed to
by the left half of the word at
the location specified in
FO.FNC. The number will be
equal to or greater than 20 so
that existing channel number
allocations will not be
affected.
2 FO.UOC Specifies the file that is open
on the channel that is
indicated in the right half of
this word (.FOFNC). Normally,
a RENAME function is performed
on the file specified in the
right half of .FOLEB. When you
set this bit, however, the
right half of .FOLEB is
ignored, and the function is
performed on the file that is
open on the specified channel.
22-159
FILOP. [CALLI 155]
Offset Symbol Contents
Bits Symbol Meaning
3 FO.CFW Indicates that the right half
of this function word contains
an address. At that address,
you must store:
channel-addr,,function-code
where the channel-addr is the
address where the channel
number is stored. 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 (see below).
1 .FOIOS I/O status (open mode). Note that any bits
appearing here may also be set by OPEN call (see
.OPMOD in OPEN call).
2 .FODEV SIXBIT device name or Universal Device Index.
3 .FOBRH Buffer ring header pointers:
Bits Meaning
0-17 Address of output buffer ring header.
18-35 Address of input buffer ring header.
If the value of this word is 0, there is no
corresponding buffer ring header.
4 .FONBF Number of buffers needed. The left half is the
number of output buffers needed. The right half
is the number of input buffers needed. If zero
buffers are requested in a FILOP. monitor call,
the monitor does not set up any buffers. It
also does not clear any buffer ring that is
already set up, and does not clear the first
word of the buffer ring header. Thus, a FILOP.
causing an OPEN allows an old buffer ring to be
recycled.
22-160
FILOP. [CALLI 155]
Offset Symbol Contents
This word allows a user program to set up its
own buffer ring. If you specify 777777 octal,
the monitor sets up a ring of 2 buffers for
non-disk devices. If no default has been set
for this job, the monitor uses the system
default for non-disk devices, or a ring of n
buffers for disk devices, where n is specified
by the SET DEFAULT BUFFERS monitor command or
SETUUO. This argument to FILOP. performs the
same action as the INBUF and OUTBUF monitor
calls and is needed only for buffered I/O.
5 .FOLEB Pointers to RENAME and LOOKUP/ENTER blocks:
Bits Meaning
0-17 Address of RENAME block (see RENAME
monitor call).
18-35 Address of LOOKUP/ENTER block (see
LOOKUP/ENTER monitor call).
6 .FOPAT Length of, and pointer to PATH. block (see PATH.
monitor call). The actual path of the file
found or created is returned in this block. A
specific path for finding or creating the file
must still be specified in the LOOKUP, ENTER, or
RENAME argument block.
7 .FOPPN Project-programmer number. Set the FO.PRV flag
if you include this word and want it to take
effect. The monitor then performs the file
operation as if the current job were logged in
under the given PPN. If FO.PRV is set in Word 0
(.FOFNC), and a PPN is supplied in this word,
your program acquires the file access rights and
restrictions of that PPN. This allows you to do
file operations in behalf of the user whose PPN
you include here. If you specify [1,2] in this
word, you lose full file access. This word is
ignored if the job is not logged in under [1,2]
or does not have JACCT privileges.
10 .FOFSP Length of and pointer to a block in which the
full file specification of the new file should
be stored. If you include this word, the file
specification is returned automatically.
Alternatively, you can specify function 33
(.FOFIL) to only return the file specification.
Refer to .FOFIL for the format of the returned
block.
22-161
FILOP. [CALLI 155]
Offset Symbol Contents
11 .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).
12 .FOBSZ Size of the input and output buffers. The left
half, FO.OSZ, contains the output buffer size.
FO.ISZ, the right half, holds the size of the
input buffer.
13 .FOMAX Length of the FILOP. argument block.
The function codes and their meanings are:
Code Symbol Function
1 .FORED Opens the file described by the LOOKUP/ENTER
block for reading (duplicates LOOKUP call). You
must include the LOOKUP/ENTER block pointer for
directory devices when you are using this
function.
2 .FOCRE Creates the file described by the LOOKUP/ENTER
block. This function strictly requires creation
of the file; if a matching file is found in the
directory, the error return is taken. The
LOOKUP/ENTER block pointer is required for the
.FOCRE function.
3 .FOWRT Writes the file described by the LOOKUP/ENTER
block. This function supersedes any matching
file in the directory, or creates a new file.
The LOOKUP/ENTER block pointer is required for
the .FOWRT function.
4 .FOSAU Updates the file described by the LOOKUP/ENTER
block in exclusive access mode. No other user
can write to this file until it is closed. The
LOOKUP/ENTER block pointer is required for the
.FOSAU function. If the specified file does not
exist, it will be created automatically for this
function.
5 .FOMAU Updates the file described by the LOOKUP/ENTER
block, in multi-access mode. This allows other
users to read and write the file. The
LOOKUP/ENTER block pointer is required for the
.FOMAU function.
22-162
FILOP. [CALLI 155]
Code Symbol Function
6 .FOAPP Appends to the file described in the
LOOKUP/ENTER block. Note that if the buffers
were built by this FILOP. call, the last block
of the file will be read into the first buffer.
The byte count and byte pointer are set to write
data immediately after the last word of the
file. The LOOKUP/ENTER block pointer is
required for the .FOAPP function.
7 .FOCLS Closes the file associated with the channel
specified in the word at addr. This function
does not accept the standard FILOP. argument
list. Instead, you include the CLOSE flags
(refer to 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. If the argument
block is two or more words long, then the right
half of .FOIOS is taken to be the optional CLOSE
status bits (for example, CL.DAT or CL.NMB). If
there are errors, the monitor takes the error
return and returns an error code in the ac.
10 .FOURB Checkpoints the file associated with the channel
specified in the word at addr. Only the
function word of the FILOP. argument block is
required. The monitor writes all output buffers
to disk, updates directories, updates checksums
in RIB pointers, and updates the end-of-file
pointer. The file remains open for further I/O.
The .FOURB function is meaningful only for files
that are being written.
NOTE
If output is not complete, the monitor
writes the last partially filled word;
this may leave null bytes in the word.
22-163
FILOP. [CALLI 155]
Code Symbol Function
11 .FOUSI Performs a USETI monitor call (specifies next
block number to be input) for a specified block
of the file associated with the channel
specified at addr, setting that block for next
input. The format of the argument list for the
.FOUSI function is:
addr: XWD channo,.FOUSI
EXP blockno
where: channo and blockno give the channel
number and block number of the file. Refer to
the USETI call for more information.
On a normal 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
where: channo and blockno give the channel
number and block number of the file. Refer to
the USETO call for more information.
The monitor takes the error return if not enough
space is available or no previous ENTER was
executed. The I/O status word is returned in
the ac for a successful return. .FOUSO returns
error code %ERILU if the argument block is not
exactly two words long.
13 .FORNM Renames the file described by the RENAME block.
The LOOKUP/ENTER block pointer and the RENAME
block pointer are required for the .FORNM
function, unless the file is already open on the
specified channel. However, if a file is open
on the channel specified in .FOFNC, and if you
set the flag FO.UOC in the same word, then the
right half of .FOLEB is ignored, and the
function is performed on the open file.
22-164
FILOP. [CALLI 155]
Code Symbol Function
14 .FODLT Deletes the file described by the LOOKUP block.
Pointers to both LOOKUP and RENAME blocks are
required for this function, unless you set the
flag FO.UOC, and a file is open on the channel
specified in .FOFNC. In this case, the right
half of .FOLEB is ignored and the function is
performed on the open file.
15 .FOPRE Preallocates space for the file described by the
LOOKUP/ENTER block. This function is most
useful for batch jobs. If a preallocated file
is entered but not written, the space is still
allocated; a CLOSE for the file will not
deallocate the space.
If the file is entered immediately after being
preallocated, it is not superseded; any
subsequent ENTER to the file will supersede it.
The LOOKUP/ENTER block pointer is required for
the .FOPRE function.
16 .FOSIO Opens a device for super-I/O (refer to the
SUSET. UUO). The first four words of the
argument list are required for this function.
This function does not require .FOLEB.
17 .FOINP Performs INPUT monitor call. Reads data from
the file opened on the specified channel. The
argument list is:
addr: XWD channo,.FOINP
addr1
addr2
where: addr1 is the address of the next buffer
to be used in non-dump I/O, or the address of
the dump mode command list if using dump I/O.
This word is optional for non-dump I/O. addr2
is the optional address of a word containing the
block number of the file to perform a USETI to
before writing. The I/O status bits are
returned in the ac.
22-165
FILOP. [CALLI 155]
Code Symbol Function
20 .FOOUT Performs OUTPUT monitor call. Writes data to
the file opened on the specified channel. The
argument list is:
addr: XWD channo,.FOOUT
addr1
addr2
where: addr1 is the address of the next buffer
to be used in non-dump I/O, or the address of
the dump mode command list. addr2 is the
optional address of a word that contains the
block number of the file to perform a USETO to
before reading. .FOIOS is optional for buffered
I/O modes. The I/O status bits are returned in
the ac.
21 .FOSET Performs SETSTS monitor call. The format of the
argument list is:
addr: XWD channo,.FOSET
EXP setsts-bits
This function returns error code %ERILU if the
argument block is not exactly two words long.
22 .FOGET Performs GETSTS monitor call. The I/O status
bits are returned in the ac. The format of the
argument list is:
addr: XWD channo,.FOGET
23 .FOREL Performs RELEAS monitor call. The format of the
argument list is:
addr: XWD channo,.FOREL
24 .FOWAT Waits for I/O to finish. The format of the
argument list is:
addr: XWD channo,.FOWAT
25 .FOSEK Obsolete.
26 .FORRC Rewrites the RIB of a file if it has changed.
This function is ignored and the normal return
is taken if the channel is not a disk or if the
RIB has not changed. The argument list for this
function is:
addr: XWD channo,.FORRC
22-166
FILOP. [CALLI 155]
Code Symbol Function
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-167
FILOP. [CALLI 155]
Code Symbol Function
where the second word contains the length (len)
and address (addr2) of the block where the file
specification should be stored.
34 .FOFXI Performs an IN monitor call, using extended
addressing and dump mode I/O. The argument list
is:
addr: XWD channo, .FOFXI
addr1
addr2
where: channo is the channel number from which
data is read from the opened file. addr1 is the
address of the command list, which has a
two-word format. The first word of each command
word pair contains the length of the command
list. 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. 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
where: channo is the channel number on which
data is written to the opened file. addr1 is
the address of the command list. Command list
format is described above in .FOFXI. addr2 is
the (optional) address of a word containing the
block number of the file to perform a USETO to
before writing. The I/O status bits are
returned in the ac.
The file specification is returned when you use function .FOFIL
or when you specify an address in .FOFSP (offset 10 into 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-168
FILOP. [CALLI 155]
Offset 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 that words 5 through 10 are returned only where appropriate,
and that the entire 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.
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 6
(.FOAPP).
Note that even though an extended LOOKUP/ENTER/RENAME block can
be specified by the FILOP. monitor call, your program cannot
change the file attributes of a simultaneously updated file. The
current file attributes will be returned in the extended argument
block on a LOOKUP, and those same values will be used for the
ENTER. In other words, FILOP. uses the LOOKUP values on the
ENTER.
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.
Normal Return
The requested function has been performed.
22-169
FILOP. [CALLI 155]
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. Note that several
functions return the I/O status word in the ac.
Examples
See Chapter 11, Monitor Calls Manual, Volume 1.
Related Calls
CLOSE, ENTER, GETSTS, IN/INPUT, LOOKUP, MTAPE, OPEN, OUT/OUTPUT,
PATH., RELEAS, RENAME, SETSTS, SUSET., UGETF, USETI/USETO,
UTPCLR, WAIT
22-170
FRCUUO [CALLI 106]
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
normal return
. . .
addr: SIXBIT /command/
/ XWD 0,jobno \ ;optional arguments
\ XWD 0,udx /
where: len is the length of the argument list. If you give a
zero len, the default is 1.
addr is the address of the argument list.
command is the name of a command (from the list below).
jobno is the number of a logged-in job. If you omit the
jobno, or specify it as zero, the current job is assumed.
udx is the Universal Device Index for the terminal.
The names of the commands that can be forced are:
Command Meaning
.BPT Forces a DDT breakpoint trap, simulating
<CTRL/D>.
.BYE Detaches the job, this command is forced when a
dataset disconnects.
.FCONT Continues the job; this command is forced when a
job is continued after it was halted by "Waiting
for operator action." (Refer to JCONTINUE monitor
command in the Commands Manual.)
.HALT Stops the job; this command is forced when you
type CTRL/C.
22-171
FRCUUO [CALLI 106]
Command Meaning
.HELLO Connects (greets) the job; this command is forced
when a dataset or network connect occurs, and
runs INITIA.
.NETLD Invokes execution of the program which does
automatic down-line loading for ANF-10 series
remote software.
.RESTA Greets the job but does not run INITIA.
.TYPE Types the current input buffer; this is
equivalent to typing CTRL/R.
HALT Stops the job (regardless of CTRL/C trapping).
INITIA This command is forced when the system is
initialized and is used to run INITIA for certain
terminals (this is controlled by MONGEN).
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.
Normal 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-172
GETLCH [TTCALL 6,]
GETLCH [TTCALL 6,]
Function
Returns the line characteristics for a terminal line.
Calling Sequence
GETLCH addr
return
. . .
addr: XWD 0,lineno
where: addr is the address of the argument list.
lineno is the line number for the terminal whose
characteristics are required. If you use -1 for addr,
the monitor returns characteristics for your job's
controlling terminal.
Normal Return
If the job is detached and addr contained -1, the monitor returns
a 0 word. On a normal 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.
22-173
GETLCH [TTCALL 6,]
Bit Symbol Characteristic
11 GL.LIN User has typed some input.
12 GL.SLV TTY SLAVE is in effect.
13 GL.LCM Terminal in lowercase mode.
14 GL.TAB Terminal has tab capability.
15 GL.LCP Local copy only (no echo).
16 GL.PTM Papertape mode is on (CTRL/Q, CTRL/S, and so
forth, control papertape motion instead of
terminal output).
17 GL.NEC Terminal is in no-echo mode. This
characteristic is set by setting IO.SUP in the
OPEN call, or by SETSTS, or by TRMOP
function .TOCOB. This setting is overridden
when the job goes to monitor level, and echoing
resumes. You can clear this bit using a RESET
call.
If you use an invalid line number, the monitor returns 0 in the
left half of the word at addr.
Related Calls
GETLIN, SETLCH, SETSTS, TRMOP., TTCALL
Common Errors
Typing a comma after addr.
22-174
GETLIN [CALLI 34]
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,'nam'
Where: nam is the right half of the name of the terminal to
which your job was last attached (that is, nnn in
TTYnnn).
Examples
GETLIN T1, ;Get terminal name
TLNN T1,-1 ;Job detached?
JRST NOTTY ;Yes
. . . ;No
This sequence gets the name of the terminal for the job and
checks whether the job is currently detached.
22-175
GETPPN [CALLI 24]
GETPPN [CALLI 24]
Function
Returns the project-programmer number (PPN) for your job.
Calling Sequence
GETPPN ac,
normal return
alternate return
Where: alternate return is taken if your program has the JACCT
bit set and another job is logged in under the same PPN.
The GETPPN monitor call returns the project number in the left
half of the ac, and the programmer number in the right half of
the ac.
Examples
GETPPN T1,
JFCL
MOVEM T1,MYPPN
This code gets the PPN regardless of whether the program is
JACCTed.
Related Calls
OTHUSR
Common Errors
Forgetting the sequence of normal return followed by alternate
return.
22-176
GETSEG [CALLI 40]
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
| normal return
| . . .
| addr: SIXBIT/device/
| SIXBIT/filename/
| SIXBIT/extension/
| EXP 0
| XWD proj,prog ;or PATH. pointer
| / XWD 0,addr2 \ ;core argument
| \ XWD -1,addr3 /
where: addr is the address of the 6-word argument block.
addr2 is the address of a PATH block.
device is the name of the device on which the high
segment resides.
filename specifies the name of the file containing the
new high segment.
extension specifies the extension of the file containing
the new high segment.
proj,prog is the project-programmer number for the
directory in which the high segment file resides. If you
specify this word to be zero, your default directory path
is assumed. If you specify this word as [XWD 0,addr3],
addr3 points to a PATH. block containing the full path
specification for the file. Refer to the description of
the PATH. monitor call for the format of a PATH. block.
The core argument word is optional. If it is zero, the
high segment is placed into the current PC section.
Otherwise, addr3 is the address containing the section
number where the high segment will be placed.
22-177
GETSEG [CALLI 40]
The GETSEG monitor call allows your program to initialize a high
segment from a file or from a currently-loaded sharable segment
without affecting your program's low segment. This facility can
be used for shared data segments, shared program overlays, and
runtime routines (such as FORTRAN and COBOL object-time systems).
On KL processors, if the high segment obtained by the GETSEG
monitor call is an execute-only segment, it is a concealed high
segment. You can give zeros for any argument except the file
name or device. The defaults are:
extension .EXE
PPN default directory path
Normal 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 normal return for the call. Program execution returns to the
user program at the PC corresponding to the normal return from
the GETSEG UUO in the previous segment. It is the user's
responsibility to ensure that this PC contains instructions he
wishes to be executed.
22-178
GETSEG [CALLI 40]
Error Return
See Section 11.14 a list of GETSEG errors.
Related Calls
MERGE., RELEAS, RUN
Common 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-179
GETSTS [OPCODE 062]
GETSTS [OPCODE 062]
Function
Returns the I/O status bits for a device. Use FILOP. to perform
GETSTS on an extended I/O channel. The specific I/O status bits
for each device are listed in Volume 1 in the chapter specific to
the device.
Calling Sequence
GETSTS channo,addr
return
...
addr: BLOCK 1
where: channo is the channel number of the channel for which the
I/O status word is desired.
addr is the address of the word to receive the I/O status
word.
Return
The monitor returns the I/O status bits in the right half of the
word at addr, and the data mode for I/O in the left half of the
word at addr. The I/O status bits that are possible are:
Bits Symbol Meaning
18-21 IO.ERR Bit mask for device-independent I/O error flags.
18 IO.IMP Software detected improper data mode, or checksum
error occurred.
19 IO.DER Device error. Refer to specific device for cause
of this error.
20 IO.DTE Data error.
21 IO.BKT Block too large, quota exceeded, or file
structure is full.
22 IO.EOF End of file was reached.
23 IO.ACT Device is active.
24-29 Device-dependant error flags. These are listed
for each device in the appropriate chapter in
Volume 1.
22-180
GETSTS [OPCODE 062]
Bits Symbol Meaning
30 IO.SYN Synchronous mode I/O.
31 IO.UWC Use user's word count.
32-35 Data mode of the I/O, indicated by one of the
codes that are listed in Table 11-2 in Volume 1.
Related Calls
CLRST., ERLST., FILOP., SENSE., SETSTS, STATO, STATZ
Common 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-181
GETTAB [CALLI 41]
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
normal return
where: index is an index into the specified table. If the table
is indexed by job number, you can use -1 to obtain
information about your own job.
If the table is indexed by job number or segment number,
you can use -2 to return information about your own high
segment.
table gives the number of the GETTAB table.
Normal 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-182
GOBSTR [CALLI 66]
GOBSTR [CALLI 66]
Function
Returns file structure names from the search list for a job or
for the system.
To use the GOBSTR call for a job other than your own, you must
have either the JP.SPA privilege or the JP.SPM privilege set in
your .GTPRV word, or you must have JACCT privileges, or the job
must be logged into [1,2].
For a discussion of file structures in a search list, see the
SETSRC program in the TOPS-10 User Utilities Manual.
Calling Sequence
|
| MOVE ac,[XWD len,addr]
| GOBSTR ac,
| error return
| normal return
| . . .
| addr: EXP jobno ;.DFGJN
| XWD projno,progno ;.DFGPP
| / EXP -1 \ ;.DFGNM for first in list
| | EXP 0 | ;.DFGNM for first after FENCE
| \ SIXBIT/structure/ / ;.DFGNM for next in list
| EXP 0 ;.DFGDR
| BLOCK 1
where: len is the length of the argument list.
addr is the address of the argument list.
addr+2 contains the structure name, or 0, or -1.
Therefore you can begin with the first name in the list
by using -1 at addr+2; then when the monitor returns the
first name in the list, you can leave the name in addr+2
to call for the second name, and so forth. If the next
item in the list is FENCE, the monitor returns 0. If
there are no more items in the list, the monitor returns
-1.
22-183
GOBSTR [CALLI 66]
jobno is the number of a logged-in job (use -1 for the
current job; use 0 for the system search list).
projno,progno is a project-programmer number (PPN).
structure is the SIXBIT name of a file structure.
I/O status bits are returned at addr+4 as follows:
Bits Symbol Meaning
0 DF.SWL If on, software write-protect is set.
1 DF.SNC If on, creation of files is not allowed on this
structure, unless the structure name is
explicitly included in the file specification.
Refer to Chapter 12 for more information.
Normal Return
The monitor returns the required SIXBIT structure name (or 0 or
-1) at addr+2, and the I/O status word at addr+4.
Error Return
The monitor returns one of the following error codes in the ac:
Code Symbol Meaning
3 DFGIF% File structure name is not 0, -1, or a
file structure name in SIXBIT.
6 DFGPP% The specified job number and
project-programmer number do not
correspond.
10 DFGNP% Your job is not privileged.
12 DFGLN% The specified length of the argument
block is invalid.
22-184
GOBSTR [CALLI 66]
Examples
The following code reads all the structures in the job search
list.
MOVEI T1,0 ;Initialize counter
LOOP: MOVE T2,[.DFGST+1,,ADDR]
GOBSTR T2, ;Get next structure
JRST ERROR
MOVE T2,ADDR+.DFGNM ;Get structure name
MOVEM T2,STRTAB(T1) ;Save in table
AOJE T2,CONTIN ;Last one if -1
AOJA T1,LOOP ;Bump table pointer and loop
ADDR: EXP JOBNO ;Job number
XWD PROJ,PROG ;PPN
EXP -1 ;Get first one in list
EXP 0
EXP 0
STRTAB: BLOCK 30 ;Space to store search list
Related Calls
DSKCHR, JOBSTR, STRUUO, SYSSTR
22-185
GTNTN. [CALLI 165]
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
| normal return
|
| where: terminal-name is the monitor-assigned name of the
| terminal, returned when you use the GETLIN monitor call.
|
| udx is the Universal Device Index for the terminal.
|
| channo is the channel number of the channel to which the
| terminal is connected.
Normal 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-186
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
GTXTN., NETOP.
22-187
GTXTN. [CALLI 166]
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
normal return
Where: nodeno is the node number for a terminal.
lineno is the physical line number for the terminal at
the node.
Normal Return
The physical name of the terminal is returned in ac in the form:
SIXBIT/name/
Where: name is the physical name of the terminal (such as
TTY427).
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 XTUNT% Unknown terminal (node number or the line number
specified is not known or node or line is not
connected to the DECsystem-10).
1 XTNLT% Not a legal terminal.
Related Calls
GTNTN., NODE.
22-188
HIBER [CALLI 72]
HIBER [CALLI 72]
Function
Suspends execution of the job until a specified event occurs.
Calling Sequence
MOVE ac,[flags+sleeptime]
HIBER ac,
error return
normal return
Where: flags specify conditions described below.
sleeptime gives the amount of time for the job to sleep.
If HB.SEC is set in flags, the sleeptime is specified in
seconds; otherwise, it is specified in milliseconds.
The sleeptime is rounded upward to the next larger jiffy, with a
maximum of 262 seconds. If you set HB.SEC, the maximum sleeptime
is about 72 minutes (at 60 Hz) or 87 minutes (at 50 Hz). If you
need a longer sleeptime, use the PITMR. UUO, or the .CLOCK
function of the DAEMON UUO. If you give the sleeptime as 0, the
job sleeps until awakened by one of the specified events, or by a
WAKE monitor call.
If your job is hibernating, it can be woken by another job if
that job has sufficient privileges. Refer to the WAKE UUO.
To prevent your job from oversleeping and missing an event, the
monitor sets the wakeup bit even if the job is already awake.
You can use another HIBER call to clear the bit. You cannot
assume that any of the specified events actually occurred to WAKE
your job; therefore you should test for all the events that may
have caused your job to awaken, and explicitly execute another
HIBER call if you were WAKEd unexpectedly.
You can also clear the wake-enable bit for your job by using the
RESET monitor call. Note that until the first HIBER call is
executed, there is no protection against wakeup commands from
other jobs. To guarantee your job's protection, you should
execute a WAKE monitor call for your job, followed by a HIBER
call giving the protection you want. The HIBER will return
immediately, having set the protection codes as desired.
22-189
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.
Normal Return
When an enabled HIBER condition occurs, execution resumes at the
normal return.
22-190
HIBER [CALLI 72]
Error Return
The HIBER call takes the error return only if it is not
implemented on your system.
Examples
MOVSI T1,(HB.RWP+HB.RWT)
HIBER T1,
JRST ERROR
This code sequence causes the job to sleep until awakened by a
WAKE monitor call from another job having the same
project-programmer number. See also RTTRP call.
Related Calls
SLEEP, WAKE
Common Errors
o Forgetting to protect against WAKEs from other jobs.
o Assuming a particular event woke your job, without actually
checking.
22-191
HPQ [CALLI 71]
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
normal return
Where: queue is the number of the required high priority queue.
The lowest queue number is 1; the highest is a system
parameter. If you give queue as 0, your job returns to
the normal scheduler queue.
Normal Return
The monitor places your job in the given queue.
Error Return
The ac contains -1; you gave an illegal value for queue or you
are not a privileged user.
Related Calls
RTTRP, TRPSET, UJEN
22-192
IN [OPCODE 056]
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
normal return
error return
where: channo is the number of an initialized I/O channel.
addr is one of the following:
o If the channel was initialized for dump mode, then
addr gives the address of an I/O command list.
o If the channel was initialized for buffered mode,
then addr gives the address of the second word of the
next buffer to be used; if you give 0 (the normal
case), the next buffer in the ring is used.
Note that the return locations for this call are in the
reverse order from the convention for other calls,
because the normal return follows the calling instruction
and the error return follows the normal return.
Normal Return
Data is input from the channel.
Error Return
The monitor found an end-of-file mark or errors in the data
(reflected in the I/O status word). If using non-blocking I/O
mode, the error return could indicate no available data. This is
indicated by no error bits set in the I/O status word. Use the
GETSTS call to read the I/O status bits.
Examples
See LOOKUP call.
Related Calls
FILOP., INPUT, OUT, OUTPUT
22-193
IN [OPCODE 056]
Common 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-194
INBUF [OPCODE 064]
INBUF [OPCODE 064]
Function
Sets up an input buffer ring with the specified number of buffers
for a given initialized channel. Use FILOP. to perform an INBUF
on an extended I/O channel.
NOTE
Buffers are allocated by the monitor in the
user's address space starting at the location
pointed to by the contents of .JBFF. This symbol
represents a word in the Job Data Area. As the
JDA exists only in Section 0, you cannot
initialize a buffer in a non-zero section, unless
that section is mapped to section 0. Use the
FILOP. monitor call to specify buffer starting
addresses in a non-zero section.
Calling Sequence
INBUF channo,buffers
return
where: channo is the number of an initialized channel.
buffers is the number of buffers to set up in the ring.
For disk devices, if you give buffers as 0, the monitor
uses the value given in the SET DEFAULT BUFFERS monitor
command or SETUUO. If no value has been set, the system
default (a MONGEN parameter) is used. For non-disk
devices, 2 buffers are assumed.
Normal Return
The buffer ring is set up.
Related Calls
FILOP., OUTBUF
22-195
INBUF [OPCODE 064]
Common Errors
o If the channel was not initialized, the monitor stops the job
and prints:
?I/O to unassigned channel at user PC xxxxx
o If the monitor cannot allocate buffers in your address space,
the monitor stops the job and prints:
?Address check for device yyyyyy:UUO at user PC xxxxx
o If your program tries to use INBUF or OUTBUF to create
buffers outside the job's core image, the job cannot expand
because the system runs out of virtual memory and the monitor
stops the job and prints:
?Illegal address in UUO at user PC xxxxx
o If you use INBUF or OUTBUF to set up a buffer ring in a
non-zero section, the monitor stops the job and displays the
following error message:
?Illegal INBUF/OUTBUF for device yyyyyy;UUO at user PC
xxxxx
22-196
INCHRS [TTCALL 2,]
INCHRS [TTCALL 2,]
Function
Reads an ASCII character from the job's controlling terminal's
input buffer, skipping on return if a character was available.
INCHRS also sets "character mode," in which the program will not
wait for the end of the line of input from the terminal.
Therefore, CTRL/U, DELETE, and other line-editing characters will
not function as they do for the monitor. See Chapter 15 for more
specific information.
Calling Sequence
INCHRS addr
return 1 ;no character in buffer
return 2 ;character read from buffer
...
addr: BLOCK 1
where: addr is the address of a word to contain the input
character (in bits 29 to 35); the rest of the word is
cleared.
Return
If a character has been input, the monitor copies it to bits 29
to 35 of the word at addr.
Related Calls
TRMOP., TTCALL
Common Errors
Typing a comma after addr.
22-197
INCHRW [TTCALL 0,]
INCHRW [TTCALL 0,]
Function
Inputs an ASCII character from the terminal's input buffer. The
monitor waits for a character if none is available. INCHRW
inputs the character regardless of whether a complete line has
been typed. If the program is not prepared to handle every
possible control character, you should consider using the INCHWL
call instead of INCHRW.
Calling Sequence
INCHRW addr
return
where: addr is the address of the word to receive the ASCII
input character. The character is placed in bits 29-35
of the word; the rest of the word is cleared.
If no character has been input, the monitor waits for a
character.
Return
If a character has been input, the monitor places the character
in bits 29-35 of the word at addr.
Related Calls
TRMOP., TTCALL
Common Errors
Typing a comma after addr.
22-198
INCHSL [TTCALL ,]
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
where: addr is the address of the word to receive the character
(in bits 29 to 35); the rest of the word is cleared.
return 1 is the return instruction when a line break has
not been input from the terminal
return 2 is the return instruction when a line break
character has been input from the terminal.
Return
If a line break has been input from the terminal, the monitor
returns at return 2 with the next character of the line in bits
29-35 of addr; if not, it returns at return 1.
Related Calls
TRMOP., TTCALL
Common Errors
Typing a comma after addr.
22-199
INCHWL [TTCALL 4,]
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, Monitor Calls Manual, Vol. 1 for a discussion of
break characters.
Calling Sequence
INCHWL addr
return
where: addr gives the address of the word to contain the input
character; the rest of the word is cleared.
Return
The character is right-justified in the word at addr. The rest
of the word is cleared.
Related Calls
TRMOP., TTCALL
Common Errors
Typing a comma after addr.
22-200
INIT [OPCODE 041]
INIT [OPCODE 041]
Obsolete; use OPEN or FILOP..
22-201
INPUT [OPCODE 066]
INPUT [OPCODE 066]
Function
Inputs data from an initialized channel to memory. Use FILOP. to
perform an INPUT on an extended I/O channel. INPUT is the same
as IN, except INPUT does not give an error return if an error or
EOF condition occurs. The user must check for such conditions
with GETSTS, STATZ, or STATO.
NOTE
Programs doing non-blocking I/O should use the IN
monitor call or FILOP. function .FOINP.
Calling Sequence
INPUT channo,addr
return
where: channo is the number of an initialized channel.
addr is one of the following:
o If the channel is initialized for dump mode, then addr gives
the address of an I/O command list.
o If the channel is initialized for buffered mode, then addr
gives the address of the second word of the next buffer to be
used; if you give 0 (the default), the next buffer in the
ring is used.
Return
Data is input from the channel.
Related Calls
FILOP., IN, OUT, OUTPUT
22-202
INPUT [OPCODE 066]
Common 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:
?Address check for device yyyyyy:UUO at user PC xxxxx
22-203
IONDX. [CALLI 127]
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
| normal return
where: device is the SIXBIT physical or logical name of a device
for which its UDX is desired.
channo is the number of an initialized channel.
Normal 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 gave a nonexistent device or
SIXBIT/MPX/ as a device name.
22-204
IONEOU [TTCALL 15,]
IONEOU [TTCALL 15,]
Function
Sends an 8-bit image character to the terminal's output buffer.
Calling Sequence
IONEOU addr
return
where: addr contains the 8-bit character in bits 28 to 35.
Return
The 8-bit character is output to the terminal.
Related Calls
OUTCHR
Common Errors
Typing a comma after addr.
22-205
IPCFM. [CALLI 217]
IPCFM. [CALLI 217]
Function
Communicates with [SYSTEM]INFO and [SYSTEM]IPCC, replacing a
message exchange.
Calling Sequence
XMOVEI ac,addr
IPCFM. ac,
error return
normal return
addr: flags dest,,len
addr1
optional in-your-behalf process ID (PID)
addr1: message block
where: addr is the address of the packet header block.
flags are one or both of the flags in the packet header
block.
dest is the destination PID. len is the length of the
packet header block.
The argument block at addr is:
Offset 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-206
IPCFM. [CALLI 217]
Offset Symbol Contents
Bits Symbol Meaning
15-17 IP.CMD Destination process code, one
of the following:
Code Symbol Meaning
1 .IPCCC [SYSTEM]IPCC
2 .IPCCF System-wide [SYSTEM]INFO
3 .IPCCP Receiver's [SYSTEM]INFO
18-26 Reserved for DIGITAL.
|
| 27-35 IP.CML Total length of argument block,
| including .IPCMF.
1 .IPCMP Pointer to [SYSTEM]IPCC or [SYSTEM]INFO message
block detailed below. The pointer may be a
30-bit address or a section address (if an IFIW
is given), relative to the section the message
block is in. No indexing or indirection is
allowed.
2 .IPCMI In-your-behalf word; the PID on whose behalf to
perform this operation, 0 for your own job. If
this word is non-zero, IPCF privileges must be
enabled or the given PID must belong to your
current JCH. If .IPCMI is on, it contains the
address (30-bit or IFIW) of the PID.
The message block at addr 1 for [SYSTEM]IPCC is:
Offset Symbol Contents
0 .IPCS0 Holds the message length identifier in the left
half, and one of the following function codes in
the right half:
Code Symbol Meaning
1 .IPCSE Enables IPCF privileges.
2 .IPCSD Disables IPCF privileges.
3 .IPCSI Obtains PID of [SYSTEM]INFO for
user of PID.
4 .IPCSF Sets the program specified
in .IPCS1 to act as
[SYSTEM]INFO for the program
specified in .IPCS2. If you do
not specify .IPCS2, the system
is assumed as the default.
22-207
IPCFM. [CALLI 217]
Offset Symbol Contents
Code Symbol Meaning
5 .IPCSZ Deletes PID.
6 .IPCSC Creates PID for job.
7 .IPCSQ Sets PID quota.
10 .IPCSO Changes owner of PID, assign
new job number.
11 .IPCSJ Supplies job number of PID.
12 .IPCSP Gives PID list for job.
13 .IPCSR Reads job quota.
16 .IPCQS Sets PID quota.
17 .IPCQR Reads PID quota.
23 .IPCLP Locates PID in system PID table
and returns index.
24 .IPCWP Writes system PID table.
(Refer to GETTAB table .GTSID)
25 .IPCRP Reads system PID table.
1 .IPCS1 First argument.
2 .IPCS2 Second argument.
3 .IPCS3 Third argument.
The message block for [SYSTEM]INFO is:
Offset Symbol Contents
0 .IPCI0 The left half holds the message block length;
the right half contains one of the following
function codes:
Code Symbol Meaning
1 .IPCIW What is PID (ASCIZ).
2 .IPCIG Gets PID name.
3 .IPCII Assigns PID name until reset.
4 .IPCIJ Assigns PID name until logout.
5 .IPCID Drops specific PID.
6 .IPCIR Drops names set in .IPCII.
7 .IPCIL Drops names set in .IPCIJ.
10 .IPCIN Notifies when the PID is
dropped.
1 .IPCI1 First argument.
2 .IPCI2 Second argument.
22-208
IPCFM. [CALLI 217]
Normal Return
The system process returns data in a packet to the user's message
block.
Error Return
The ac will contain one of the error messages documented under
IPCFR. UUO.
Related Calls
.IPCFQ, .IPCFR, .IPCFS
22-209
IPCFQ. [CALLI 144]
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 of Monitor Calls Manual, Volume I.
Calling Sequence
MOVE ac,[XWD len,addr]
IPCFQ. ac,
error return
normal return
. . .
addr: BLOCK len
where: len is the length of the block (4 to 6 words) at addr to
receive returned data.
addr is the address of the block to receive the data.
Normal 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.
Offset 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.
22-210
IPCFQ. [CALLI 144]
Offset Symbol Contents
5 .IPCFC Sender's capability word:
Bits Symbol Meaning
0 IP.JAC Sender has JACCT privileges
set.
1 IP.JLG Sender is logged in.
2 IP.SXO Sender is execute-only.
3 IP.POK Sender has POKE. privilege
(JP.POK).
4 IP.IPC Sender has IPCF privilege
(JP.IPC).
5-17 Reserved.
18-26 IP.SCN Sender's context number.
27-35 IP.SJN Sender's job number.
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
IPCFM., IPCFR., IPCFS.
22-211
IPCFR. [CALLI 142]
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 of Monitor Calls Manual, Volume I.
Calling Sequence
MOVE ac,[XWD len,addr]
IPCFR. ac,
error return
normal return
. . .
addr: EXP flags
BLOCK 2
XWD len2,addr2
. . .
addr: BLOCK len2
where: len is the length of the packet header block.
addr is the address of the packet header block.
flags is the flag word (.IPCFL) in the packet header
block.
len2 is the length of the packet to be retrieved. If the
packet is going to be a page of data, this field must
contain 512 or an error code is returned in the ac and
the IPCFR. monitor call takes the error return.
addr2 is the address of the packet message block.
The retrieving process should check the contents of the flag word
(word 0, .IPCFL). If there is an error condition associated with
the packet, it will be indicated in bits 24-29. Error codes
received in the ac indicate an error with the monitor call (for
example, if the packet was not received).
If the IPCFR. monitor call is issued but there are no packets in
the input queue, the job cannot continue executing until a packet
is placed in the input queue. To prevent the job from blocking,
bit 0 (IP.CFB) should be set in the flag word. When IP.CFB is
set and there are no packets in the input queue when the IPCFR.
call is issued, the call will take the error return and the
monitor will return error code 3 (IPCNT%) in the ac.
22-212
IPCFR. [CALLI 142]
When a process is retrieving a page of data, bit 19 (IP.CFV) in
the flag word must be set and the length of the data message
block (left half of .IPCFP) must contain 1000 or the IPCFR.
monitor call fails and the monitor returns error code 21 (IPCPR%)
in the ac.
If the retrieved packet is shorter than the number of reserved
words (that is, len2), the packet is retrieved and the extra
words are left unchanged. If, however, the number of reserved
words is not long enough to store the packet, the IPCFR. monitor
call takes the error return and the monitor returns error code 5
(IPCTL%) in the ac. To prevent this error, the receiver can set
bit 4 (IP.CFT) in the flag word indicating that, if the packet is
too long for the reserved space, the message should be truncated.
Normal Return
On a normal 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:
Offset Symbol Contents
0 .IPCFL The left half remains the same, the right half
contains flags (see Chapter 7).
1 .IPCFS Sender's PID.
2 .IPCFR Receiver's PID.
3 .IPCFP Length and location of data:
Bits Contents
0-17 Message length.
18-35 Address of message, for short-form
messages (default), or page number of
long-form messages. If the page number
refers to a non-existent page, error code
IPCAC% is returned.
4 .IPCFU Sender's PPN. If the argument block length is
less than 5, this word is not returned.
22-213
IPCFR. [CALLI 142]
Offset Symbol Contents
5 .IPCFC Sender's capability word:
Bits Symbol Meaning
0 IP.JAC Sending program has JACCT
privileges.
1 IP.JLG Sender is logged in.
2 IP.SXO Sender is execute-only.
3 IP.POK Sender has POKE. privilege
(JP.POK).
4 IP.IPC Sender has IPCF privilege
(JP.IPC).
5-17 Reserved.
18-26 IP.SCN Sender's context number.
27-35 IP.SJN Sender's job number.
If the argument block length is less than 6,
this word is not returned.
Error Return
The packet is not retrieved and one of the following error codes
is returned in the ac:
Code Symbol Error
1 IPCAC% Address check.
2 IPCNL% Packet header not long enough.
3 IPCNP% No packet in receiving queue.
4 IPCIU% Page is in use (locked in core).
5 IPCTL% Data too long for user's buffer.
6 IPCDU% Receiver's PID unknown.
7 IPCDD% Receiver disabled.
10 IPCRS% No room in sender's quota.
11 IPCRR% No room in receiver's quota.
12 IPCRY% No room in system storage.
13 IPCUP% Unknown page (send) or duplicate page (receive).
14 IPCIS% Invalid sender PID.
15 IPCPI% Not enough privileges.
16 IPCUF% Unknown function code.
17 IPCBJ% Illegal job number.
20 IPCPF% PID table full.
21 IPCPR% Page requested, normal text.
22 IPCIE% Paging I/O error.
23 IPCBI% Bad index for system PID table.
24 IPCUI% Undefined PID in system table.
25 IPCRU% Receiver PID unknown or does not match job.
| 26 IPCRP% Insufficient physical memory space available.
| 27 IPCRV% Insufficient virtual memory space available to
| receive page.
22-214
IPCFR. [CALLI 142]
Code Symbol Error
70 IPCFU% [SYSTEM]INFO has unknown internal error.
71 IPCCF% [SYSTEM]IPCC request from [SYSTEM]INFO failed.
72 IPCFF% [SYSTEM]INFO failed to complete an ASSIGN.
73 IPCQP% PID quota exceeded.
74 IPCBP% Unknown PID.
75 IPCDN% Duplicate name.
76 IPCNN% No such name.
77 IPCBN% Name has illegal characters.
Examples
An example of the IPCFR. monitor call is shown below.
MOVE T2,[XWD 6,PHB] ;Length and address of packet
IPCFR. T2, ; To be retrieved.
JRST ERR
JRST NORM
PHB: EXP 0 ;No flags
EXP 0 ;Sender's PID
EXP 0 ;Receiver's PID
10,,PMB1 ;Length and address of packet
;Message block to be retrieved
EXP 0 ;PPN of sender
EXP 0 ;Capabilities of sender
PMB1: EXP 0
EXP 0
EXP 0
.
.
.
EXP 0
On a normal return from the IPCFR. monitor call, the packet has
been retrieved from the input queue. If no packet was in the
input queue, the call takes the error return, and error code 3 is
returned in the ac. Below is an example of what a response from
[SYSTEM]INFO could be after a request for a PID.
PHB 20 ;The packet was sent by [SYSTEM]INFO
PHB+1 2001 ;[SYSTEM]INFO's PID
PHB+2 31 ;Job number of receiver
PHB+3 4,,PMB1 ;Length and address of packet message
; block
PHB+4 1,,2 ;PPN of sender
PHB+5 260000,,1014 ;Capabilities of sender
PMB1 32,,3 ;User code and function code
22-215
IPCFR. [CALLI 142]
PMB1+1 400004,,1001 ;The requested PID
PMB1+2 ASCIZ/CORP/ ;The symbolic name
PMB1+3 0
22-216
IPCFR. [CALLI 142]
The IPCFR. monitor call can take the normal return and return an
error code in the flag word of the packet header block. For
example, word 0 of the packet header block could contain the
following:
PHB/ 0520
This means that the length of the packet message block specified
in the IPCFR. monitor call was not long enough, so the monitor
returned error code 5 in the flag word. The 20 in the flag word
indicates that the message in the receiver's input queue is from
[SYSTEM]INFO.
If a process sends a request to [SYSTEM]INFO to obtain the PID
associated with the symbolic name "FRED," the following could
result:
Location Contents
AC 0 ;indicating a normal return and no
;errors set in the AC; no more packets
;in queue.
PHB 7620 ;the flag word
PHB+1 2,,1003 ;the sender's PID
PHB+2 164,,1011 ;the receiver's PID
PHB+3 10,,PMB ;length and addr of message block
PMB 11,,1 ;user code and function code
PMB+1 0 ;no response
PMB+2 ASCIZ/FRED/ ;symbolic name
The first word of the packet, PHB, contains 7620. This value
indicates the following:
o 76 is the error code indicating that the symbolic
name "FRED" is not associated with any currently assigned
PID.
o 2 indicates that the call to [SYSTEM]INFO succeeded, and a
normal
return was taken. The number of packets still in the queue
is stored in
the ac.
o 0 indicates that the packet is not a "returned to sender"
packet.
The call to
Error code 76 in the flag word indicates that the symbolic name
"FRED" is not associated with any currently assigned PID.
22-217
IPCFR. [CALLI 142]
Related Calls
IPCFM., IPCFQ., IPCFS.
22-218
IPCFS. [CALLI 143]
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
normal return
. . .
addr: flags
sender's PID
receiver's PID
XWD len,addr2
. . .
addr2: message-word-0
.
.
.
message-word-(len-1)
where: len is the length of the packet header block. The length
of this block must be equal to or greater than 4 or the
monitor returns error code 2 (IPCNL%) in the ac.
addr is the address of the packet header block.
flags is the flag word in the packet header block.
sender's PID is Word 1 of the packet header block.
receiver's PID is Word 2 in the packet header block.
len2 is the length of the packet message block. When
sending a short-form message, this value should not
exceed 12 octal. The limit may be GETTABed in %IPCML.
addr2 is the address of the packet message block.
message-word-0 through message-word-n are the words
making up the packet message block. Refer to Chapter 7
for more information.
22-219
IPCFS. [CALLI 143]
Normal Return
On a normal 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.
Offset Symbol Contents
0 .IPCFL Flags are the same as those described in Chapter
7.
1 .IPCFS Sender's PID.
2 .IPCFR Receiver's PID. If you use the PID for
[SYSTEM]INFO or for [SYSTEM]IPCC, you can
retrieve information from the IPCF facility
itself (see Chapter 7).
3 .IPCFP Length and location of data:
Bits Contents
0-17 Message length.
18-35 Address of message.
Error Return
On an error return, an error code is returned in the ac and the
packet is not sent. The error codes are listed under the
IPCFR. call.
Examples
This code fragment sends a packet to [SYSTEM]INFO, asking that a
PID be assigned with the symbolic name LJC.
MOVE T1,[XWD 4,PHB] ;Length and address of packet
IPCFS. T1, ; header block
JRST ERROR
JRST NORMAL
PHB: 0 ;This is a packet header
0 ;Sender's PID
0 ;Receiver's PID (your [SYSTEM]INFO)
XWD 3,PMB ;Length and addr of message block
PMB: XWD 234,.IPCII ;Ack code and function (assigns PID)
0 ;No duplicate PID
ASCIZ/LJC/ ;Symbolic name
Related Calls
IPCFM., IPCFQ., IPCFR.
22-220
JBSET. [CALLI 113]
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
normal return
. . .
addr: XWD 0,jobno
XWD fcn-code,argument
where: len is the length of the argument list.
addr is the address of the argument list.
jobno is the number of the job for which the SETUUO
function is to be performed.
fcn-code is one of the function codes described under
SETUUO.
argument is an argument for the given function code.
Refer to the SETUUO description for a list of all function codes
and their meanings.
Normal 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-221
JOBPEK [CALLI 103]
JOBPEK [CALLI 103]
Function
Reads or writes another job's core.
To use the JOBPEK call, you must have POKE privileges (JP.POK),
your program must have JACCT set, or you must be logged in under
[1,2].
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
normal return
. . .
addr: EXP <flags>+jobnoB17+countB35
XWD readaddr,writeaddr
where: addr is the address of the argument list.
flags are one or more of the flags listed below.
jobno (JK.JOB) is the number of the logged-in job whose
core is to be read or written, stored in Bits 9-17.
count (JK.WCT) is the number of words to be read or
written (the maximum can be obtained using GETTAB to read
item %CNJPK from table .GTCNF), stored in Bits 18-35.
readaddr is the location of the first word to be read.
writeaddr is the location of the first word to be
written.
Format 2: MOVE ac,[length,,addr]
JOBPEK ac,
error return
normal return
. . .
addr: EXP <flags>+countB17+JCHB35
EXP 0
XWD readaddr
XWD writeaddr
22-222
JOBPEK [CALLI 103]
where: addr is the address of the argument list.
flags are one or more of the flags listed below.
count (JK.EWC) is the number of words to be read or
written (refer to GETTAB table .GTCNF, item %CNJPK),
stored in Bits 8-17.
JCH (JK.JCH) is the job/context handle of the job whose
core is to be read or written, stored in Bits 18-35.
readaddr is the 30-bit address giving the location of the
first word to be read.
writeaddr is the 30-bit address giving the location of
the first word to be written.
The flags and their meanings are:
Bit Symbol Meaning
0 JK.WRT Write the other job's core; if not set, read the
other job's core.
1 JK.UPM Read the other job's UPMP (user page map page or
user page table). JK.WRT must not be set.
2 JK.EVA Source address is between .MCFV and .UUPMP;
treat it as if it were an executive virtual
address mapped through the specified job's UPMP.
Both JK.WRT and JK.UPM must be off.
3 JK.AIO Do not block if data is inaccessible (due to the
state of cache on SMP systems); set this bit
only if you set either JK.UPM or JK.EVA.
Notice that if the other job's core is to be read (JK.WRT is
cleared), then readaddr is a location in the other job and
writeaddr is a location in the current program. If the other
job's core is to be written (JK.WRT is set), then readaddr is a
location in the current program and writeaddr is a location in
the other job.
Normal Return
The specified words are transferred between the other job and the
current job.
22-223
JOBPEK [CALLI 103]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Meaning
1 JKNPV% Job not privileged.
2 JKIJN% Illegal job number.
3 JKSWP% Job swapped out or in transit.
4 JKIAD% Illegal address (source or destination).
5 JKDNA% Data not addressable (if JK.AIO is set).
6 JKPNC% Page not in core.
7 JKIOE% I/O error occurred.
10 JKABZ% Target address is in an "allocated but zero"
page.
Examples
MOVEI T1,ADDR
JOBPEK T1,
JRST ERROR
JRST CONTIN
. . .
ADDR: EXP 14B17+1000B35
XWD 10000,12000
This example reads 1000 (octal) words from the core of job 14
into the current job's core. Reading begins at location 10000 in
the other job; writing begins at location 12000 in the current
job.
22-224
JOBSTR [CALLI 47]
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
normal return
. . .
addr: SIXBIT/str/ ;.DFJNM
EXP 0 ;reserved
EXP 0 ;.DFJST
where: len is the length of the argument list (.DFJBL).
addr is the address of the argument list. You can
include a structure name (str) at addr to obtain the name
of the next structure in your job search list, or 0 to
obtain the first structure in your active search list, or
-1 to obtain the first structure in your job's passive
search list (after FENCE in search list returned by
SETSRC program).
addr+1 (.DFJDR) is reserved.
At addr+2 (.DFJST), the monitor returns the write-protect
flag for the structure. The flags are:
Bits Symbol Meaning
0 DF.SWL Software write-protect.
1 DF.SNC Do not create files on this structure;
create only if specified as file
structure or a physical device name.
Normal 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-225
JOBSTR [CALLI 47]
If you give a SIXBIT structure name (or leave the one the monitor
last entered), the monitor returns the next structure name in the
search list. When there are no more structures in the list, the
monitor returns -1 at addr. If the next item in the list is
FENCE, the monitor returns 0.
Therefore you can begin with the first name in the list by using
-1 at addr. When the monitor returns the first name in the list,
you can leave the name in addr to call for the second name, and
so forth.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
3 DFGIF% Illegal file structure name.
12 DFGLN% Illegal argument length.
Examples
The following example reads all structures in the job's search
list:
MOVEI T1,0 ;Initialize counter
LOOP: MOVE T2,[.DFJBL,,ADDR] ;Pointer to argument block
JOBSTR T2, ;Get next structure (on 0 or -1)
JRST ERROR
MOVE T2,ADDR+.DFJNM ;Get structure
MOVEM T2,STRTAB(T1) ;Save in table
AOJE T2,CONTIN ;All done if -1
AOJA T1,LOOP ;Bump table pointer and loop
ADDR: EXP -1 ;Start with the first one
EXP 0
EXP 0
STRTAB: BLOCK 30 ;Where to store search list
CONTIN: .
.
.
Related Calls
DVPHY., GOBSTR, SYSPHY, SYSTR
22-226
JOBSTS [CALLI 61]
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
| normal return
where: udx is the Universal Device Index of the terminal for
which information is desired.
channo is the number of an I/O channel on which a
terminal device has been opened.
jobno is the number of a logged-in job associated with
the terminal. To obtain status of a pseudo-terminal,
provide the job number of the controlled job. Note that
the negative of the job number is used because positive
values are interpreted as channels or UDXs.
Normal Return
The monitor returns a status word for the job, with the
appropriate flags set from the following list.
Bits Symbol Meaning
0 JB.UJA The given job number is assigned.
1 JB.ULI The job is logged in.
2 JB.UML Terminal is at monitor level.
3 JB.UOA Terminal output is available.
4 JB.UDI The terminal is at user level and is in the
input wait state, or the terminal is at monitor
level and can accept a command. There is no
command waiting to be decoded, the job is not
running, and the job is not stopped waiting for
operator intervention.
22-227
JOBSTS [CALLI 61]
Bits Symbol Meaning
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 BATCON 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.
777B35 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 on INPUT for a PTY.
22-228
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-229
KDP. [CALLI 200]
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
normal return
...
addr: EXP fcn-code
argument 1
argument 2
argument 3
where: len is the length of the argument block.
addr is location of the argument block. At addr, store
the function code (fcn-code). The remainder of the
argument block depends on the function to be performed.
The function codes are:
Code Symbol Meaning
1 .KDPKN Returns in argument 1 the number of KMC-11s on
the system.
2 .KDPDN Returns in argument 2 the count of DUP-11s on
the KMC that you specify in argument 1.
3 .KDPSS Returns in argument 2 the status of KMC
specified in argument 1.
4 .KDPHA Halts the KMC-11 specified in argument 1.
5 .KDPMC Master-clears the KMC specified in argument 1.
6 .KDPST Starts the KMC specified in argument 1.
7 .KDPRE Reads the CRAM location from the KMC specified
in argument 1 and pointed to by the address in
argument 2. The CRAM location is stored in
argument 3.
22-230
KDP. [CALLI 200]
Code Symbol Meaning
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-231
KNIBT. [CALLI 222]
KNIBT. [CALLI 222]
Function
Provides functions for starting and stopping the NIA20
microprocessor, and reading and writing its control RAM (CRAM).
This call requires POKE privileges.
Calling Sequence
XMOVEI ac,addr
KNIBT. ac
error return
normal return
addr: fcncode,,len
CPUno,,channo
args
where: addr is the address of the argument list.
fcncode is one of the function codes described below.
len is the length of the argument block.
CPUno is the number of the CPU to which the NIA20 is
attached.
channo is the RH20 channel number of the NIA20
microprocessor.
args are arguments specific to the functions you want to
perform on the NIA20.
The format of the argument block is:
Offset Symbol Contents
0 .KBFCN This word holds the function code and the length
of the KNIBT. argument block. The left half,
KB.FCN, holds one of the function codes listed
below. KB.ALN, the right half, holds the
length.
1 .KBKID This is the NIA20 identification word. The left
half, KB.CPU, holds the CPU number. The right
half, KB.RH2, holds the RH20 channel number of
the NIA20. The only currently valid value of
KB.RH2 is 5.
22-232
KNIBT. [CALLI 222]
Offset Symbol Contents
2 .KBCRA CRAM address, the third word in the argument
block for functions .KBSTA, .KBRED, and .KBWRT
(see below).
3 .KBCCH Contains the high order bits (0-29) of the CRAM
for the NIA-20. This word is used in the .KBRED
and .KBWRT argument blocks.
4 .KBCCL Holds the low order bits (30-59) of the NIA-20
CRAM. .KBRED and .KBWRT also use this word.
The function codes for .KBFCN are as follows:
Code Symbol Meaning
1 .KBSTS Returns the status of the NIA20 in the user's
ac. Status information is returned in the
following format:
Bits Symbol Meaning
0 KS.RUN NIA20 is running.
1 KS.MAI NIA20 is in maintenance mode.
2 KS.RLD The NIA20 needs to be reloaded.
3 KS.ARD Auto-reload is disabled.
4 KS.RRQ The system requested an NIA20
reload.
5 KS.DRQ The system requested an NIA20
dump.
6-17 Reserved for DIGITAL.
18-35 KS.RJB Job number of job reloading
NIA20.
2 .KBSRJ Sets the current job as the job to reload the
NIA20.
3 .KBSTP Stops the NIA20. This must be done before
.KBSTA, .KBRED, or .KBWRT are performed.
4 .KBSTA Starts the NIA20 microprocessor at a specific
CRAM address given in .KBCRA.
5 .KBRED Reads the contents of the CRAM location given in
.KBCRA, placing the CRAM words into .KBCCH, and
.KBCCL.
6 .KBWRT Writes the contents of a specific CRAM location.
.KBCRA, .KBCCH, and .KBCCL are the argument
words for .KBWRT.
22-233
KNIBT. [CALLI 222]
Normal Return
The specified function is performed; status bits are returned in
the ac for function .KBSTS.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 KBPRV% Insufficient privileges.
2 KBADC% An address check has been performed.
3 KBIAL% Invalid argument list.
4 KBILF% Illegal function.
5 KBICS% Illegal CPU specified.
6 KBCNA% CPU not available.
7 KBKDE% NIA20 doesn't exist.
10 KBKMM% NIA20 is in maintenance mode.
11 KBDNS% NIA20 microprocessor didn't start.
12 KBDNI% NIA20 microprocessor didn't initialize.
Code Symbol Error
13 KBICA% Invalid CRAM address.
14 KBCRE% CRAM read error.
15 KBCWE% CRAM write error.
16 KBNRJ% Not the reload job.
Related Call
DIAG.
22-234
LATOP. [CALLI 221]
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
normal return
addr: EXP len
function code
argument list
. . .
where addr is the address of the argument list, len is the total
length of the argument list including this word, and function
code is the function code or symbol listed below. The remainder
of the argument list differs depending on the function code. The
appropriate argument list is described below for each function.
The functions are:
Code Symbol Meaning
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. Your program must have JACCT or [1,2]
privileges to set LAT parameters.
The parameters you can set with .LASET are:
Code Symbol Meaning
1 .LPMAC Maximum number of active circuits.
2 .LPMCO Maximum number of simultaneous connects.
3 .LPNUM Host number.
4 .LPLAS LAT access state.
5 .LPRLI Circuit retransmit limit.
6 .LPTIM Retransmit initial value.
7 .LPMTI Multicast timer initial value.
10 .LPCOD Group codes.
11 .LPNNM Host node name.
12 .LPNID Host node identification string.
13 .LPSRV Service rating and description.
22-235
LATOP. [CALLI 221]
To set parameters with codes 1 through 12, use the following
argument list 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)
contains the following:
Bit Symbol Meaning
0 LA%RAT Rating
1 LA%DSC Service description
5 .LADSC ASCIZ string pointer to service description
string (LA%DSC=1).
Argument Lists for .LASET
The .LASET function accepts the argument list that is appropriate
to the parameter code you specify in addr+2, .LAPRM. 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.
Parameter code 10 (group codes) requires the address of a bit
mask in .LAVAL. The bit mask is 8 words long, representing the
group codes of terminals that can access the host. The bit mask
is numbered decimally from 0 to 255, signified by bits 0 through
31 of each word. 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 1 2 3 4................................31 32-----35
---------------------------------------------------------
| Each bit represents a group number | Ignored |
---------------------------------------------------------
22-236
LATOP. [CALLI 221]
The group numbers that are represented by each word, starting at
ADDR:, 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 second
word of the bit mask.
Parameter codes 11 and 12 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.
Parameter code 13 allows you to set service rating and
description. The contents of .LAVAL include flags and service
rating. Depending on the flags you set, you may include a
pointer in the following word, .LADSC.
The flags you can set in .LAVAL for parameter code 13 are:
Bit Symbol Meaning
0 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 set to the default value.
1 LA%DSC Sets the service description as specified by the
next word.
If bit 1 is set, then .LADSC must 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-237
LATOP. [CALLI 221]
Code Symbol Meaning
1 .LACLR Clear specified LAT node parameters. 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 (see function
code 0).
3 .LAVAL Depends on parameter code in
.LAPRM.
For parameter code 10, contains
the address of the group code
bit mask. For parameter 13,
contains the ASCIZ pointer to
service name to clear. This
word is ignored for all other
parameters.
2 .LASCH Shows the LAT characteristics. You can use this
function to obtain 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 len1
3 .LABFA addr1
where len is the length of the argument block.
The value of len1 is the number of words you
have reserved to contain the returned
information. On the return, the left half of
len1 contains the actual number of words
returned. The value of addr1 is the location
where the information will be stored on the
return.
22-238
LATOP. [CALLI 221]
Code Symbol Meaning
3 .LASTC Shows connects. This function returns
information about the active LAT connections at
the local node.
The argument list is:
Word Symbol Contents
0 .LAACT EXP len
1 .LAFCN EXP .LASTC
2 .LABCT EXP len1
3 .LABFN addr1
where the value of len is the length of the
argument block. The value of len1 is the number
of words reserved for the information that will
be returned. On the return, the left half of
this word contains the actual number of words
returned. The value of addr1 is the address
where the information will be returned.
4 .LASAS Shows adjacent servers. This function returns
information about LAT servers that are able to
access the local node.
The argument block for this function is:
Word Symbol Contents
0 .LAACT EXP len
1 .LAFCN EXP .LASAS
2 .LABCT EXP len1
3 .LABFA addr1
4 .LAQUA pointer
where len is the length of the argument list.
The value of len1 is the number of words
reserved for the information. On the return,
the left half of this word contains the actual
number of words used. The value of addr1 is the
location where the information will be returned.
.LAQUA contains an ASCIZ string pointer to a
location containing the server name. You may
specify .LAQUA to receive information about a
specific LAT server. This returns a Full Format
Server Block. The default action, if this word
is zero, is to return a summary of all servers
(Short Format Server Block).
22-239
LATOP. [CALLI 221]
Code Symbol Meaning
5 .LASCO Shows counters. The argument list is:
Word Symbol Contents
0 .LAACT EXP len
1 .LAFCN EXP .LASCO
2 .LABCT EXP len1
3 .LABFA addr1
4 .LAQUA pointer
where len is the length of the argument block.
The value of len1 is the number of words
reserved for information that will be returned.
On the return, the left half of this word
contains the actual number of words returned.
The value of addr1 is the location where the
information will be returned.
The last word, .LAQUA, is optional and may
contain an ASCIZ string pointer (addr2) to a
word containing the server name, to obtain
counter information about the specific server.
To obtain totals information, leave .LAQUA zero.
6 .LAZRO Zeroes counters. This function requires JACCT
or [1,2] privileges. The argument list is:
Word Symbol Contents
0 .LAACT EXP len
1 .LAFCN EXP .LAZCO
2 .LABCT EXP len1
3 .LABFA addr1
4 .LAQUA pointer
where len is the length of the argument block.
The value of len1 is the number of words
reserved for information that will be returned.
On the return, the left half of this word will
contain the actual number of words returned.
The value of addr1 is the location where the
information will be returned.
The last word, .LAQUA, is optional and may
contain an ASCIZ string pointer to a word
containing the server name, to obtain counter
information about the specific server. To zero
all totals, zero the contents of .LAQUA.
22-240
LATOP. [CALLI 221]
Normal Return
On a successful completion of the monitor call, the skip return
is taken, the requested information is stored in the specified
locations, 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 below.
Function .LASCH (Show Characteristics)
Show Buffer Format
0-----------------------------17 18------------------------35
-----------------------------------------------------------------
| MAX-ALLOC-CIRCUITS | N-ALLOC-CIRCUITS |
-----------------------------------------------------------------
| MAX-ACTIVE-CIRCUITS | N-ACTIVE-CIRCUITS |
-----------------------------------------------------------------
| MAX-CONNECTS | N-CONNECTS |
-----------------------------------------------------------------
| HOST-NUMBER | LAT-TERMINAL-ACCESS-STA |
-----------------------------------------------------------------
| HOST-RETRANSMIT-LIMIT | HOST-CIRCUIT-TIMER |
-----------------------------------------------------------------
| HOST-MULTICAST-TIMER | Reserved |
-----------------------------------------------------------------
| HIGH-PROTOCOL-VERSION | LOW-PROTOCOL-VERSION |
-----------------------------------------------------------------
| PROTOCOL-ECO | CURRENT-PROTOCOL-VERSION|
-----------------------------------------------------------------
| MAX-SLOT-SIZE | MAX-SLOTS |
-----------------------------------------------------------------
| FRAME-SIZE | MAX-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) |
-----------------------------------------------------------------
22-241
LATOP. [CALLI 221]
Service Block Format
-----------------------------------------------------------------
| HOST-SERVICE-NAME-RATING |
-----------------------------------------------------------------
| SERVICE-NAME count | SERVICE-DESCRIPTION count |
-----------------------------------------------------------------
| SERVICE-NAME (4 words) |
-----------------------------------------------------------------
| SERVICE-DESCRIPTION (13 words) |
-----------------------------------------------------------------
Function .LASTC (Show Connects)
Connect Block Format
-----------------------------------------------------------------
| Terminal Number |
-----------------------------------------------------------------
| Server Name count | Indeterminate |
-----------------------------------------------------------------
| Server Name (4 words) |
-----------------------------------------------------------------
Function .LASAS (Show Adjacent Servers)
Full Format Block
-----------------------------------------------------------------
| Server Ethernet Address (2 words) |
-----------------------------------------------------------------
| FRAME-SIZE | SERVER-VERSION |
-----------------------------------------------------------------
| MAX-SLOTS | Indeterminate |
-----------------------------------------------------------------
| CIRCUIT-TIMER | KEEP-ALIVE-TIMER |
-----------------------------------------------------------------
| PRODUCT-TYPE | STATE |
-----------------------------------------------------------------
| SERVER-NUMBER | SERVER-NAME count |
-----------------------------------------------------------------
| SERVER-LOCATION count | Unused |
-----------------------------------------------------------------
| SERVER-NAME (4 words) |
-----------------------------------------------------------------
| SERVER-LOCATION (4 words) |
-----------------------------------------------------------------
22-242
LATOP. [CALLI 221]
Short Format Block
-----------------------------------------------------------------
| SERVER-NUMBER | SERVER-NAME count |
-----------------------------------------------------------------
| SERVER-NAME (4 words) |
-----------------------------------------------------------------
| ETHERNET-ADDRESS (2 words) |
-----------------------------------------------------------------
Functions .LASCO (Show Counters) and .LAZCO (Zero Counters)
Counter Block Format
-----------------------------------------------------------------
| Messages Received |
-----------------------------------------------------------------
| Messages Sent |
-----------------------------------------------------------------
| Messages Retransmitted |
-----------------------------------------------------------------
| Receive Sequence Errors |
|---------------------------------------------------------------|
| Illegal Messages Received |
-----------------------------------------------------------------
| Resource Failures |
-----------------------------------------------------------------
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.
22-243
LLMOP. [CALLI 220]
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
normal return
where: fcncode is the function code. The argument block found
at addr is specific to the function code contained in
ac1.
addr is the address of the argument block.
Function codes for LLMOP. are:
Code Symbol Function
0 .ELDIR Builds an Ethernet loopback message from data
supplied in the argument block, and transmits it
to the destination address. The argument block
is:
Offset Symbol Contents
0 .LMCID Channel ID. Bits 34 and 35
(LM.CID) contain the value of
the Ethernet port to use.
1-2 .LMDST Destination address.
3 .LMREQ Request number, containing:
Bits Symbol Meaning
0 LM.AIC Assigns
interrupt
channel
specified in
LM.ICH.
22-244
LLMOP. [CALLI 220]
Code Symbol Function
Bits Symbol Meaning
12-17 LM.ICH Contains PSI
channel to
interrupt when
the message
arrives.
18-35 LM.REQ Contains the
request number
returned by
LLMOP. This
value is used
in function
.ELRPY.
Offset Symbol Contents
4 .LMRBL Length of the loopback request
data buffer. The right half
(LM.MBL) contains the length
of the data portion of the
loopback message.
5 .LMRBP Pointer to loopback request
data buffer.
1 .ELAST Builds an Ethernet loopback message, and
transmits it according to the type of assistance
required. The first words in the argument
block, .LMCID, .LMDST, .LMREQ, .LMRBL, and
.LMRBP, are described in function .ELDIR. The
remainder of the argument block is:
Offset 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-245
LLMOP. [CALLI 220]
Code Symbol Function
2 .ELRPY Reads the loopback reply message. The argument
block is:
Offset 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.
3 .ELAIC Assigns interrupt channel for Ethernet loopback
reply. The argument block is:
Offset Symbol Contents
0 .LMCID Channel ID, where Bits 34 and
35 (LM.CID) contain the value
of the Ethernet port to use.
22-246
LLMOP. [CALLI 220]
Code Symbol Function
Offset Symbol Contents
1 .LMICF Interrupt channel flags, in
the form:
Bits Symbol Meaning
0 LM.AIC Assigns the
interrupt
channel given
in LM.ICH when
lit.
12-17 LM.ICH Contains the
PSI channel to
interrupt when
the loopback
message
arrives.
4 .ELABT Aborts the loop request. The argument block is:
Offset 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.
5 .ELSTS Obtains status of Ethernet loopback requests.
The argument block is:
Offset Symbol Contents
0 .LMCID Channel ID, where bits 34 and
35 contain the value of the
Ethernet port to use.
22-247
LLMOP. [CALLI 220]
Code Symbol Function
Offset Symbol Contents
1 .LMSTF Status code for the request.
The right half, LM.RTC,
contains one of the following
status codes:
Code Symbol Status
0 .LMPND Request
pending,
incomplete.
1 .LMSUC Request
completed
successfully.
2 .LMABT Request
aborted.
3 .LMTXF Transmit
failed.
4 .LMCCE Channel
communication
error.
2 .LMCST Status returned from the KLNI
port driver.
3 .LMREQ Request number. The right
half, LM.REQ, contains the
number of the request to be
aborted.
6 .RCRID Transmits a Read Identify protocol message to
the destination address node on the Ethernet.
Use the .RCRPY function to read the System ID
reply message. The argument block is identical
to that of function .ELDIR. The value returned
in LM.REQ of .LMREQ must be used in any
subsequent .RCRPY, .RCABT, or .RCSTS calls.
7 .RCRCT Transmits a Read Counters protocol message to
the destination address node on the Ethernet.
Use the .RCRPY function to read the System ID
reply message. The argument block is identical
to that of function .ELDIR.
22-248
LLMOP. [CALLI 220]
Code Symbol 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:
Offset Symbol Contents
0 .LMCID Channel ID, where bits 34 and
35 (LM.CID) contain the value
of the Ethernet port to use.
1-2 .LMDST Destination address.
11 .RCRBT Transmits a Boot protocol message to the
destination address node on the Ethernet.
.RCRBT blocks the issuing process until the
transmit is completed. The argument block is:
Offset Symbol Contents
0 .LMCID Channel ID, where bits 34 and
35 (LM.CID) contain the value
of the Ethernet port to use.
1-2 .LMDST Destination node address.
3-4 .LMPWD 8-byte verification code. The
code is transmitted to the
remote system, which uses it
in deciding whether to allow
the boot request. The 8-bit
bytes are packed four to a
word.
5 .LMCIF Control information, in the
form:
Bits Symbol Meaning
26 LM.BDV Specifies the
boot device,
where 0
indicates the
system
default, and 1
represents a
specified
device.
22-249
LLMOP. [CALLI 220]
Code Symbol Function
Bits Symbol Meaning
27 LM.BSV Specifies the
boot server,
where 0 is the
system
default, and 1
indicates
requesting a
system.
28-35 LM.PRO Specifies the
processor to
boot. 0
indicates the
system
processor, and
1 represents
the
communication
processor.
Offset Symbol Contents
6 .LMDID Device ID in an 8-bit byte
string.
7 .LMSID Software ID in an 8-bit byte
string.
12 .RCRPY Reads the response to a request ID or Read
Counters function. The format of the argument
block is the same as for .ELRPY. .LMSRC
contains the address of the responding node.
.LMRBL contains the returned message length, and
.LMRBP contains a pointer to the response
buffer.
13 .RCRSV Transmits a reserve remote console MOP message.
The argument block contains .LMCID, .LMDST, and
.LMPWD, as described in function .RCRBT.
14 .RCREL Transmits a release remote console MOP message.
The argument block contains .LMCID and .LMDST.
22-250
LLMOP. [CALLI 220]
Code Symbol Function
15 .RCSND Sends ASCII console command data to a remote
console and polls for response data. If no
command data is included, the function only
polls for response data. The argument block is:
Offset 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.
Offset Symbol Contents
1-2 .LMDST Destination address.
3 .LMREQ Request number, as described
in .ELDIR.
4 .LMRBL Length of console request
buffer. The right half,
LM.MBL, contains the maximum
buffer length.
5 .LMRBP Pointer to the remote console
data buffer.
22-251
LLMOP. [CALLI 220]
Code Symbol Function
16 .RCPOL Polls for completion of the Send Console Command
function. The argument block is:
Offset Symbol Contents
0 .LMCID Channel ID and returned flags,
in the form:
Bits Symbol Meaning
7 LM.RDL Indicates that
received data
was lost. The
flag is set by
the local
requestor if
the response
data buffer
was too small
to receive the
data from the
remote node.
15 LM.RDO Indicates that
response data
was lost, due
to a buffer
overrun or
error
condition.
16 LM.CDL Indicates that
command data
was lost.
This flag is
set if command
data in the
Console
Command
message was
lost. The
remote server
sets this bit.
22-252
LLMOP. [CALLI 220]
Code Symbol Function
Bits Symbol Meaning
17 LM.MNO Message
number, which
is a one-bit
sequence
number,
indicating the
current
Console
Requestor
command
message.
34-35 LM.CID Channel ID.
Offset Symbol Contents
1-2 .LMSRC Source node and physical
address of the node that sent
this reply.
3 .LMREQ Request ID, assigned by
.RCSND.
4 .LMRBL Length of console response
buffer. The format of the
buffer is described in .ELRPY
5 .LMRBP Pointer to the remote console
data buffer.
20 .RCABT Aborts an outstanding remote console request.
The argument block is identical to that of
.ELABT.
21 .RCSTS Obtains status of a remote console request. The
argument block is identical to that of .ELSTS.
22-253
LLMOP. [CALLI 220]
Code Symbol Function
22 .RCADR Obtains a channel address. The argument block
is:
Offset 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.
Normal Return
On a successful completion, the requested functions are
performed, and any returns are made as specified in the
description of the function code.
Error Return
One of the following codes is returned in the ac:
Code Symbol Error
1 LMPRV% Program has insufficient privileges.
2 LMIIF% Program specified an illegal function.
3 LMICN% Program specified an illegal channel number.
4 LMOFF% LLMOP. is off.
5 LMADC% An address check was performed.
22-254
LOCATE [CALLI 62]
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
normal return
where: nodename is the SIXBIT physical name of a node.
nodenumber is one of the following:
-1 Changes your job's location to the physical node
of your terminal.
0 Changes your job's location to that of the host
computer.
n Changes your job's location to node number n,
where n is a positive integer.
Normal 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-255
LOCATE [CALLI 62]
Examples
MOVEI T1,3
LOCATE T1,
JRST ERROR
Locates your job at node number 3.
Related Calls
WHERE
22-256
LOCK [CALLI 60]
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.
Calling Sequence 1
MOVE ac,[flags]
LOCK ac,
error return
normal return
where: flags include one or more of the following bits:
Bit Symbol Function
14 LK.HLC Locks the high segment in user core and sets its
cache bit. If this bit is off, the high segment
is locked with its cache bit off. KL10
processors will run your program faster if you
use LK.HLC; however, for a real-time program
that has direct access to memory, you should not
set LK.HLC.
15 LK.HNP Locks the high segment without forcing the job
to be locked into physically contiguous
locations. If this bit is not set, physical
contiguity for the locked high segment is
required.
22-257
LOCK [CALLI 60]
16 LK.HNE Locks the high segment without forcing it to
reside in executive virtual memory. If this bit
is not set, the locked high segment must reside
in executive virtual memory.
NOTE
For executive-mode, real-time trapping,
your high segment must be locked into
contiguous executive virtual memory.
17 LK.HLS Locks the high segment. Without this bit set,
the high segment will not be locked, and bits
14-16 will be ignored.
32 LK.LLC Locks the low segment in user core and sets its
cache bit. If this bit is off, the low segment
is locked with its cache bit off. Processors
will run your program faster if you use LK.LLC;
however, for a real-time program that has direct
access to memory, you should not set LK.LLC.
33 LK.LNP Locks the low segment without requiring
physically contiguous locations for the low
segment. If this bit is not set, the low
segment must be locked into physically
contiguous locations.
34 LK.LNE Locks the low segment without requiring the low
segment to reside in executive virtual memory.
If this bit is not set, the low segment must be
locked into executive virtual memory.
NOTE
For executive-mode, real-time trapping,
your low segment must be locked into
contiguous executive virtual memory.
35 LK.LLS Locks the low segment. If this bit is clear,
the lowseg will not be locked, and bits 32-35
will be ignored.
22-258
LOCK [CALLI 60]
Calling Sequence 2
MOVE ac,[XWD -n,addr]
LOCK ac,
error return
normal return
. . .
addr: fcn-code
hiseg,,lowseg
where: n is the number of arguments plus one, expressed as a
negative value.
addr is the address of the argument block.
fcn-code is the function code described below.
hiseg is set if the high segment is to be locked. lowseg
is set if the low segment is to be locked.
Code Symbol Meaning
0 .LKPPN Locks the high and/or the low segment into
contiguous physical pages, starting at the
physical page number specified in the argument.
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.
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.
Normal 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
where: hiseg is the address of the high segment (0 if no high
segment exists).
lowseg is the address of the low segment.
If no contiguity is required, the ac is cleared.
22-259
LOCK [CALLI 60]
The monitor will lock your program into memory and take the
normal 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, or has a sharable high
segment.
o The job is not virtual and has a contiguous core image.
When using Calling Sequence 2, the monitor locks the specified
segment (contiguously and physically) starting at the page in
physical memory specified in your program. If you specify that
the low segment is to be locked, the monitor locks your job into
the next higher physical page location than the one you specified
in the right half of your argument.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 LKNIS% The LOCK call, or a feature you requested, is
not implemented on your system; or you attempted
to lock a nonsharable high segment.
1 LKNLP% No locking privilege.
2 LKNCA% Not enough core available; your locked job would
prevent running an unlocked job.
3 LKNCM% Not enough core for CORMIN; your job would
prevent maintaining CORMIN for unlocked jobs.
4 LKNEM% Not enough core for executive virtual memory;
your locked job would exceed the maximum
allowable executive virtual memory. You can
obtain the executive virtual memory maximum and
in-use values from the GETTAB table .GTCnV,
where n is the CPU number. The maximum is in
word 43 (%CVEVM) of the table and the in-use
value is in word 44 (%CVEVU).
22-260
LOCK [CALLI 60]
Code Symbol Error
5 LKNIA% Illegal flags specified.
6 LKNPU% Specified page not available. You would receive
this error on an extended LOCK call if the two
segments would overlap, one or both segments
would overlap another locked job or the monitor,
or one or both segments would be outside the
range of on-line memory.
7 LKNAL% Illegal movement specified. You tried to move a
locked segment or place a segment into executive
virtual memory.
Examples
See Chapter 9.
22-261
LOGIN [CALLI 15]
LOGIN [CALLI 15]
Function
Informs the monitor that a job has successfully logged in, and
passes certain parameters to the monitor (including the
project-programmer number). The calling job must not be logged
in.
The LOGIN monitor call is used by the LOGIN and INITIA programs
and is not intended for customer use.
Calling Sequence
MOVE ac,[XWD -len,addr]
LOGIN ac,
return
...
addr: proj,,prog ;JBTPPN (.GTPPN)
privilege bits ;JBTPRV (.GTPRV)
user-name ;first half, .PDNM1 (.GTNM1)
user-name ;second half, .PDNM2 (.GTNM2)
charge # ;.PDCN0 (.GTCNO)
where: len is the length of the argument list.
addr is the address of the argument list. The data in
the argument list is to be passed to the monitor.
Return
The job is logged in, if it is not already logged in.
Related Calls
ACCLG., CHGPPN, LOGOUT
22-262
LOGOUT [CALLI 17]
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:LOGOUT.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 LOGOUT.EXE, this call logs out the
job. Otherwise, the call functions like an EXIT UUO.
Calling Sequence
LOGOUT
return
Related Calls
EXIT
22-263
LOOKUP [OPCODE 076]
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 normal 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.
Normal Return
For DECtape, the monitor returns a 4-word block at addr in the
following form:
Offset Contents
0 The SIXBIT file name.
1 The extension, creation date, and first block number:
Bits Contents
0-17 The SIXBIT file extension.
18-20 The high-order three bits of the file
creation date.
21-25 Reserved.
26-35 The first physical (data) block number.
2 Remainder of creation date:
Bits Contents
0-23 Reserved.
24-35 The low-order 12 bits of the file
creation date.
22-264
LOOKUP [OPCODE 076]
Offset Contents
3 Length and address of file:
Bits Contents
0-17 Negative of number of words in
zero-compressed file.
18-35 Address of word preceding the first word
of the file.
For disk files, and labelled magtape files, refer to Sections
11.13.1 and 11.13.2 for the argument blocks returned by LOOKUP,
ENTER, and RENAME UUOs.
Error Return
The error codes for LOOKUP are the same as those for ENTER, and
are documented in Section 11.14.
Examples
For more information about doing I/O and examples using the
LOOKUP call, refer to Chapter 11.
22-265
MERGE. [CALLI 173]
MERGE. [CALLI 173]
Function
Merges an .EXE file or a portion of an .EXE file into the
currently loaded low segment in memory, ignoring page 0 from the
.EXE file.
Calling Sequence
|
| MOVEI ac,addr
| MERGE. ac,
| error return
| normal return
| ...
| addr: SIXBIT/device/
| SIXBIT/filename/
| SIXBIT/extension/
| EXP 0
| XWD / proj,prog \
| \ 0,addr2 /
| XWD / low-page,hi-page \
| | -n,,addr3 |
| \ 0 /
where: addr is the address of the 6-word argument block.
device is the name of the device on which the .EXE file
resides.
filename specifies the name of the .EXE file.
extension specifies the extension of the .EXE file.
proj,prog is the project-programmer number representing
the directory in which the .EXE file resides. If you
specify this word as zero, your directory path is
assumed. If this word is [XWD 0,addr], addr points to a
PATH. block containing the full path specification for
the file. Refer to the description of the PATH. monitor
call for information pertaining to the format of the
PATH. block.
22-266
MERGE. [CALLI 173]
The last word of the argument block has three possible
forms: 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. Specifying -n,,addr3 indicates that each of the
n ranges of pages given in addr3 (in low-page, hi-page
form) are to be MERGEd. This format saves you from
performing multiple MERGEs. Finally, placing zero in the
last word causes the low-segment pages in the .EXE file
to be merged.
Normal Return
The .EXE file pages are merged into the current low segment in
memory. The accumulators are destroyed and channel 0 is
released.
Error Return
The error return is taken if any errors are detected; the monitor
returns an error code in the ac. The possible error codes are
listed in Chapter 11.
Related Calls
GETSEG, RUN
Common 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-267
MONRT. [CALL 1,12]
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-268
MSTIME [CALLI 23]
MSTIME [CALLI 23]
Function
Returns the current time of day.
Calling Sequence
MSTIME ac,
return
Return
The time elapsed (in milliseconds) since midnight is returned in
the ac.
Related Calls
DATE, RUNTIM, TIMER
22-269
MTAID [CALLI 126]
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
| normal return
where: device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
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.
Normal 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-270
MTAID [CALLI 126]
Examples
MOVE T1,[SIXBIT/MTA0/]
MOVE T1+1,[SIXBIT/REEL1/]
MTAID. T1,
JRST ERROR
Related Calls
MTAPE, MTCHR., TAPOP.
22-271
MTAPE [OPCODE 072]
MTAPE [OPCODE 072]
Function
Passes the monitor a code for an extended set of calls; these
calls perform functions for magnetic tapes and are usually called
MTAPEs. Use FILOP. or TAPOP. to perform magnetic tape or DECtape
functions on extended I/O channels.
Each defined MTAPE code also has a symbolic name; in this chapter
the MTAPEs are discussed in alphabetical order by their names.
For example, MTAPE 3 has the name MTEOF.; its function is
discussed under the name MTEOF.
Magtape I/O is described in Volume 1, Chapter 14.
The MTAPEs are:
MTWAT. [MTAPE 0]
MTREW. [MTAPE 1]
MTEOF. [MTAPE 3]
MTSKR. [MTAPE 6]
MTBSR. [MTAPE 7]
MTEOT. [MTAPE 10]
MTUNL. [MTAPE 11]
MTBLK. [MTAPE 13]
MTSKF. [MTAPE 16]
MTBSF. [MTAPE 17]
MTDEC. [MTAPE 100]
MTIND. [MTAPE 101]
MTLTH. [MTAPE 200]
After your program issues the MTAPE monitor call, the monitor
waits for the magnetic tape to complete any action in progress.
The monitor then clears bits 18-25 of the file status word,
initiates the indicated MTAPE function, and returns control
immediately to your program.
22-272
MTAPE [OPCODE 072]
The I/O service routine may be reading several blocks ahead of
your program when performing I/O in buffered mode. The execution
of the MTAPE monitor call affects only the physical position of
the magnetic tape and does not change the data that has already
been read into the buffer. Therefore, when your program issues
either an IN, INPUT, OUT, or OUTPUT call after the MTAPE monitor
call, the monitor may not retrieve the buffer containing the
block requested. To guarantee that the requested block will be
in the buffer, your program can set up a single buffer ring.
With a single buffer ring the monitor is prohibited from reading
ahead, and it stops the device after every IN, INPUT, OUT, or
OUTPUT monitor call. Alternatively, your program can set bit 30
(IO.SYN) in the I/O status word. Setting this bit causes the
monitor to stop the device after each buffer is filled on an IN,
INPUT, OUT, OUTPUT, or FILOP. monitor call. Note that the
FILOP. monitor call provides the functions of the MTAPE calls.
22-273
MTBLK. [MTAPE 13]
MTBLK. [MTAPE 13]
Function
Writes three inches of blank tape. Use FILOP. to perform an
MTBLR. on an extended I/O channel.
Calling Sequence
MTBLK. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
Three inches of blank tape are written on the device associated
with the given channel.
Examples
MTBLK. 5,
Three inches of blank tape is written to the magtape on the unit
associated with channel 5.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return where none exists.
Forgetting to include a comma after the channel number.
22-274
MTBSF. [MTAPE 17]
MTBSF. [MTAPE 17]
Function
Backspaces one file on a magtape. Use FILOP. to perform an
MTBSF. on an extended I/O channel.
Calling Sequence
MTBSF. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor backspaces over one file on the device associated
with the given channel. The monitor moves the tape in the
reverse direction until the tape has passed a tape mark or
reached the beginning of the tape. The backspace operation
positions the tape heads either immediately in front of a tape
mark or at the beginning of the tape.
In most cases, your program should skip forward over the file
mark to the beginning of the file. However, when you have
backspaced to the beginning of the tape and when your program
issues the MTSKF. call, the monitor skips the entire first file
on the tape, stopping at the beginning of the second file rather
than leaving the tape positioned at the beginning of the first
file. Therefore, a correct sequence for backspacing a file is:
1. MTBSF. to backspace the file.
2. MTWAT. to wait for completion
3. STATO MT,IO.BOT to determine whether this is the beginning of
the tape.
4. MTSKF. to skip over the file mark if it is not the beginning
of the tape.
It is necessary to wait after the MTBSF. instruction to ensure
that the move is complete before testing to see whether or not
this is the beginning of the tape, but your program can use the
MTWAT. call to wait for the spacing operation to be completed.
22-275
MTBSF. [MTAPE 17]
Examples
MTBSF. 5,
Backspaces over 1 file on the tape associated with channel 5.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-276
MTBSR. [MTAPE 7]
MTBSR. [MTAPE 7]
Function
Backspaces one record on a magtape device. Use FILOP. to perform
an MTBSR. on an extended I/O channel.
Calling Sequence
MTBSR. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor backspaces over one record on the device associated
with the given channel.
Examples
MTBSR. 7,
This call backspaces over a record on the magtape associated with
channel 7.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return where none exists.
Forgetting to include a comma after the channel number.
22-277
MTCHR. [CALLI 112]
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
| normal return
| . . .
| addr: device-identifier ;applicable only if ac contains
| BLOCK 20 ; len,,addr
where: device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Optionally, you can specify the length and location of
the argument list:
len is the length of the argument list.
addr is the address of the argument list, and the words
at addr+1 will be filled in by the monitor on return.
The argument list is used only if the length and address
are given in the ac instead of a device identifier
(device, channel number, or UDX).
device-identifier is set by the user program and contains
the device name, UDX, or channel number.
Normal Return
The monitor returns a value in the ac, and, if you used the
optional argument list, the monitor returns values beginning at
addr+1.
22-278
MTCHR. [CALLI 112]
The word returned in the ac is in the format:
Bits Symbol Meaning
0-17 MT.AWC The word count of the last record read or
written.
18-26 MT.CRC If a 9-track NRZI tape, this field contains the
last cyclic redundancy character (CRC);
otherwise, this field contains 0.
27-29 MT.NCR The number of characters not accounted for in
MT.AWC, read from the tape into the last
addressed location during the last read.
30 Reserved for use by DIGITAL. Should contain 0.
31 MT.7TR The unit is a 7-track unit.
32 MT.WLK The tape transport is write-locked.
33-35 MT.DEN The tape density code:
Code Symbol Density
1 .MTDN2 200 bits per inch (8.1 rows per
mm).
2 .MTDN5 556 bits per inch (22.5 rows
per mm).
3 .MTDN8 800 bits per inch (32.2 rows
per mm).
4 .MTD16 1600 bits per inch (65.3 rows
per mm).
5 .MTD62 6250 bits per inch (255.5 rows
per mm).
When the monitor determines the value of the density indicator to
be returned, it examines the I/O status bits you set in the OPEN
call. The monitor returns the density identifier you set in the
OPEN call. If you did not use OPEN to specify a density
indicator, the monitor determines whether or not you issued the
SET DENSITY monitor command. If you did, the monitor returns, in
the ac, the same value you specified in the monitor command. If
neither, the monitor returns the system-default density. (Note
that when you issue a GETSTS, the monitor examines only the I/O
status bits set by the OPEN. If you did not specify a density
indicator with OPEN, the monitor returns a 0 when you issue a
GETSTS. Therefore, when you issue a GETSTS, the monitor does not
further investigate the density indentifier or supply the
system-default density indicator.)
22-279
MTCHR. [CALLI 112]
If you use the optional argument list, the monitor returns data
at addr+1 and the subsequent locations. The information,
starting addr+1, is returned as:
Offset Symbol Contents
0 .MTCHN Channel number.
1 .MTRID SIXBIT reel identifier of the tape.
2 .MTWRD Number of files read since the beginning of the
tape.
3 .MTREC Number of records since last end-of-file.
4 .MTCRD Number of characters read since last tape
unload.
5 .MTCWR Number of characters written since last tape
unload.
6 .MTSRE Number of soft read errors since last unload.
7 .MTHRE Number of hard read errors since last unload.
10 .MTSWE Number of soft write errors since last unload.
11 .MTHWE Number of hard write errors since last unload.
12 .MTTME Total number of read and write errors since last
tape unload.
13 .MTTDE Number of device errors since system startup.
14 .MTTUN Number of unloads since system reload.
15 .MTRTY Number of retries to resolve last error; if bit
1 is set, the error is a hard error.
16 .MTCCR Character count of the last record read or
written.
17 .MTPBE Position before error. The file number before
last error (right half), and record number
before last error (left half).
20 .MTFES Final error state. Refer to the TOPS-10/TOPS-20
SPEAR Manual.
22-280
MTCHR. [CALLI 112]
Error Return
The error return is taken and -1 returned in the ac if the device
you specified was not a magnetic tape unit or was nonexistent.
Related Calls
TAPOP.
22-281
MTDEC. [MTAPE 100]
MTDEC. [MTAPE 100]
Function
Initializes a channel for DIGITAL-compatible mode tape handling.
Use FILOP. to perform an MTDEC. on an extended I/O channel.
In DIGITAL compatible mode, the monitor writes or reads 36 bits
in 5 frames of a 9-track magnetic tape. The tape can be any
density or parity and is not industry-compatible. DIGITAL
compatible mode is the default mode that is set when the channel
is opened.
The DIGITAL-compatible mode remains in effect until the channel
is released, or until you issue the MTIND. monitor call for the
channel.
Calling Sequence
MTDEC. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The device associated with the given channel is initialized for
DIGITAL-compatible mode handling.
Examples
MTDEC. 11,
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return where none exists.
Forgetting to include a comma after the channel number.
22-282
MTEOF. [MTAPE 3]
MTEOF. [MTAPE 3]
Function
Writes an end-of-file mark on a magtape. Use FILOP. to perform
an MTEOF. on an extended I/O channel.
Calling Sequence
MTEOF. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor writes an end-of-file mark on the specified device.
Examples
MTEOF. 10,
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-283
MTEOT. [MTAPE 10]
MTEOT. [MTAPE 10]
Function
Advances a magtape device to the logical or physical end-of-tape.
Use FILOP. to perform an MTEOT on an extended I/O channel.
The logical end-of-tape is indicated by two consecutive
end-of-file marks. The MTEOT. call positions the tape between
these two marks, allowing files to be appended to the tape.
Calling Sequence
MTEOT. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor positions the tape between the two end-of-file marks
that indicate the end-of-tape.
Examples
MTEOT. 6,
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-284
MTIND. [MTAPE 101]
MTIND. [MTAPE 101]
Function
Initializes a channel for industry-compatible mode tape handling.
Use FILOP. to perform an MTIND. on an extended I/O channel.
In industry-compatible mode, the monitor writes or reads 32 bits
in 4 frames of a 9-track magnetic tape, ignoring the low-order 4
bits of each PDP-10 word. MTIND. will set a default density to
1600 BPI, or the highest density allowed on the drive.
The industry-compatible mode remains in effect until the channel
is released, or until you issue the MTDEC. monitor call for the
channel.
Calling Sequence
MTIND. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The device associated with the given channel is initialized for
industry-compatible mode handling.
Examples
MTIND. 10,
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-285
MTLTH. [MTAPE 200]
MTLTH. [MTAPE 200]
Function
Sets a flag to read the next record on the given device at low
threshold (TM10 only). Use FILOP. to perform MTLTH. on an
extended I/O channel.
Calling Sequence
MTLTH. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor sets a flag to read the next record from the given
device at low threshold.
Examples
MTLTH. 5,
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-286
MTREW. [MTAPE 1]
MTREW. [MTAPE 1]
Function
Rewinds a magtape. Use FILOP. to perform MTREW. on an extended
I/O channel.
Calling Sequence
MTREW. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor rewinds the tape on the specified device.
Examples
MTREW. 5,
Rewind the magtape associated with channel 5.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-287
MTSKF. [MTAPE 16]
MTSKF. [MTAPE 16]
Function
Skips forward one file on a magtape device. Use FILOP. to
perform MTSKF on an extended I/O channel.
Calling Sequence
MTSKF. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor skips forward one file on the specified device, using
a series of skip record operations.
Examples
MTSKF. 7,
This call skips over a file on the magtape associated with
channel 7.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-288
MTSKR. [MTAPE 6]
MTSKR. [MTAPE 6]
Function
Skips forward one record on a magtape device. Use FILOP. to
perform MTSKR. on an extended I/O channel.
Calling Sequence
MTSKR. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor skips forward one record on the specified device.
Examples
MTSKR. 7,
This call skips a record on the magtape associated with channel
7.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-289
MTUNL. [MTAPE 11]
MTUNL. [MTAPE 11]
Function
Unloads a magnetic tape. Use FILOP. to perform MTUNL. on an
extended I/O channel. If the drive is under the control of MDA
(under GALAXY Version 4.1 and later), this call only rewinds the
tape.
Calling Sequence
MTUNL. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
The MTUNL. call initializes all automatic error reporting.
Therefore, reel-specific errors can be summarized regardless of
the method used to change reels. An entry into the system error
log file (refer to the TOPS-10/TOPS-20 SPEAR Manual) is written
in the following format:
Drive number (in the form MTxn)
SIXBIT/reelid/
Number of characters read since last MTUNL.
Number of characters written since the last MTUNL.
Number of soft-read errors since the last MTUNL.
Number of hard-read errors since the last MTUNL.
Number of soft-write errors since the last MTUNL.
Number of hard-write errors since the last MTUNL.
These numbers will be output on both the operator's terminal and
your terminal (if WATCH MTA is set) in the following format:
[MTxn:reelid READ (c/h/s)=a/b/c WRITE (c/h/s)=d/e/f]
where: x is an alphabetic representing the tape controller,
n is a number representing the drive number.
reelid is the reel identification.
a is the number of characters read.
b is the number of hard-read errors.
c is the number of soft-read errors.
d is the number of characters written.
22-290
MTUNL. [MTAPE 11]
e is the number of hard-write errors.
f is the number of soft-write errors.
When a, b, and c are 0, the information pertaining to READ will
not be printed.
When d, e, and f are 0, the information pertaining to WRITE will
not be printed.
To prevent this message from being printed, you can use SETUUO,
or type the .STWTC function of the following monitor command:
.SET WATCH NO MTA
Return
The monitor rewinds the tape on the specified device.
Examples
MTUNL. 7,
This call rewinds the tape associated with channel 7.
Related Calls
FILOP., TAPOP.
Common Errors
Including an error return when none exists.
Forgetting to include a comma after the channel number.
22-291
MTUNL. [MTAPE 11]
MTWAT. [MTAPE 0]
Function
Stops program execution until all spacing and I/O operations for
a magnetic tape device are completed. Use FILOP. to perform
MTWAT. on an extended I/O channel. Your program should execute
this call after all tape-positioning operations.
Calling Sequence
MTWAT. channo,
return
where: channo is the number of a channel initialized for a
magtape device.
Return
The monitor resumes execution at return after all spacing and I/O
operations for the specified device are completed.
Related Calls
TAPOP.
Common Errors
Including an error return.
22-292
MVHDR. [CALLI 131]
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
normal return
where: channo is the number of an initialized channel.
outring is the new address of the output buffer ring
control block, or 0.
inring is the new address of the input buffer ring
control block, or 0.
outring and inring must be in your current low segment.
If you give 0 as the address of either buffer ring control block,
the address is not changed.
Normal 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-293
NETOP. [CALLI 226]
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
normal return
where: arglst is the address of the argument list described
below:
Word Symbol Meaning
0 .NOFCN Contains the length of the argument block in the
left half, and a function code in the right
half. You supply this information. The only
valid code is .NOGDI, function 1. .NOGDI
obtains information about the specified
terminal's connection.
1 .NOFLG Returns flags that indicate how your terminal is
connected. If no flag is returned, the TTY is
on a local line. Flags are:
Flag Symbol Meaning
0 NO.ANF The TTY is on an ANF-10 node.
1 NO.DCN The TTY is hosted through
DECnet.
2 NO.LAT The TTY 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 TTY,
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 TTY, in
the same format as the return from a DEVTYP
monitor call. Refer to the DEVTYP description
for more information.
22-294
NETOP. [CALLI 226]
Word Symbol Meaning
5 .NONOD The user-supplied address of a string block that
contains the node name string on return. The
left half of the string block's first word
contains the length of the returned string. The
block will contain up to 16 characters of node
name.
6 .NOPNM The user-supplied address of a string block
which contains the port name string on return.
The left half contains the length of the
returned block. ANF port names are returned as
TTYnnn, where nnn is the node-local line number
in octal. CTERM returns nnnnnn, which is a
left-justified (octal) line number. NRT does
not report a port name. LAT port names can be a
maximum of 16 characters.
Normal Return
Information about the TTY's connection is returned as indicated
in the argument block description.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 NOADC% An address check was encountered.
2 NOILF% An illegal function code was specified.
3 NOLTS% The argument list is too short.
4 NONSD% No such device.
5 NODNC% The specified device is not connected.
6 NONTY% Device is not a TTY.
22-295
NETOP. [CALLI 226]
Example
Example of the NETOP.UUO, which indicates where your own job's
TTY is connected.
SETO T1, ;Refers to your job
TRMNO. T1, ;Get the TTY's UDX
HALT ;
MOVEM T1,ARGBLK+.NODEV ;Put into arg block
MOVEI T1,ARGBLK ;Point to arg block
NETOP. T1, ; or CALLI AC,226
HALT ;
ARGBLK: XWD 7,.NOGDI ;Length,,function code
ARGFLG: BLOCK 1 ;Flags returned from NETOP.
ARGDEV: BLOCK 1 ;User supplies device specifier
; here
ARGDCH: BLOCK 1 ;NETOP. returns DEVCHR UUO info here
ARGDTY: BLOCK 1 ;NETOP. returns DEVTYP UUO info here
ARGNOD: EXP NODSPC ;Address of string block to receive
; node name
ARGPNM: EXP PORSPC ;Address of string block to receive
; port name
NODSPC: XWD 0,5 ;Left half will receive string
; length and 4 words (16 chars)
BLOCK 4 ; worth of node name
PORSPC: XWD 0,5 ;Left half will receive string length
BLOCK 4 ; and 4 words worth of port name
22-296
NODE. [CALLI 157]
NODE. [CALLI 157]
Function
Performs miscellaneous functions associated with ANF-10 network
nodes.
Calling Sequence
MOVE ac,[XWD fcncode,addr]
NODE. ac,
error return
normal return
. . .
addr: EXP len
first argument
. . .
last argument
Where: fcncode is one of the function codes described below.
addr is the address of the argument list.
len is the length of the argument list (including this
word); and the words up through last argument are
arguments for the specified function.
The function codes and their meanings are:
Code Symbol Function
1 .NDALN Reserved for use by DIGITAL.
2 .NDRNN Given either a node number or a node name,
returns the other in the ac. The argument list
for .NDRNN is:
addr: EXP 2
node-id
Where node-id is the SIXBIT name or the octal
node number of the node. If you specify a node
name, the node number is returned in the ac. If
you specify the node number, the node name is
returned in the ac.
22-297
NODE. [CALLI 157]
Code Symbol Function
3 .NDSSM Sends special network station control
(maintenance) messages. This function requires
that the calling job be logged-in under [1,2] or
have POKE. privileges. The argument list for
.NDSSM is:
addr: XWD seconds,4
node-id
XWD send-bytes,send-buffer
XWD receive-bytes,receive-buffer
where seconds is the number of seconds to wait
before a timeout error (NDTOE%) occurs. This
field is ignored if an input buffer is not
specified; the default is eight seconds if 0 is
specified.
node-id is the SIXBIT node name or octal node
number of the node.
send-bytes is the number of 8-bit bytes to be
sent.
send-buffer is the address of the first byte of
the message.
receive-bytes is the number of bytes in the
receive buffer. When the receive buffer is
filled, the monitor will set receive-bytes to
the number of bytes actually stored in the
buffer.
receive-buffer is the address of the buffer to
store the response.
If the value for both receive-bytes and
receive-buffer is 0, the monitor returns control
to your program without waiting for a response
from the node.
22-298
NODE. [CALLI 157]
Code Symbol Function
4 .NDRBM Receives bootstrap messages from a remote node.
This function requires that the calling job be
logged-in under [1,2] or have POKE. privileges.
The argument list for .NDRBM is:
addr: EXP 4
0 ;returned node number
0 ;not used
XWD count,addr
where count is the number of 8-bit bytes to be
received.
addr is the first address of the buffer. If
there is a boot message to be read, the
following occurs:
1. The second word of the argument block is
filled in with the number of the node that
sent the boot request station control
message.
2. The boot request message is copied into the
input buffer.
3. The count field is updated to reflect the
actual number of bytes stored.
5 .NDRCI Returns the number of devices at each node for a
list of device types. The argument list for
.NDRCI is:
addr: EXP len
node-id
EXP 0 ;reserved
BLOCK buflength
where len is the length of the argument list
(len-1 = number of following arguments).
node-id is the SIXBIT name of the node or the
octal node number.
The word following the node-id must be zero
because it is reserved for use by DIGITAL.
buflength is the number of words to reserve for
the returned data.
22-299
NODE. [CALLI 157]
Code Symbol Function
Your program must supply the device types in the
right half of each word starting at addr+3. The
device types are returned by the DEVTYP call and
are documented under that call. The monitor
returns, in the left halves of these words, the
count of devices whose type is given in the
right half. Each word returned will appear as:
XWD device-count,device-type
6 .NDOUT Obsolete.
7 .NDIN Obsolete.
10 .NDTCN Connects remote terminals to the local system.
The argument list for .NDTCN is:
addr: EXP 2
XWD node,line
where node is the octal number of the node to
which the terminal is connected.
line is the remote line number of the terminal
to be connected. On a normal return, the
monitor returns the SIXBIT terminal number in
the ac. The normal return is taken if the
terminal is connected to the system on which the
program is running. Therefore, a normal return
from this call does not mean that the terminal
is connected to your job.
11 .NDTDS Disconnects a remote terminal from the local
system and, optionally, reconnects it to another
host system. The argument list is:
addr: EXP m
SIXBIT/TTYnnu/
EXP node-number
where m is the length of the argument block
(either 2 or 3).
TTYnnu is the terminal name of the local
terminal to be reconnected or disconnected.
node-number is the number of the node to which
you wish the terminal to be reconnected. This
word is optional.
22-300
NODE. [CALLI 157]
Code Symbol Function
On a normal return, the terminal specified by
TTYnnu is disconnected from the local system.
If a node-number is specified, the terminal will
be connected to that host. In this case, the
action performed is the same as if you issued a
SET HOST monitor command.
12 .NDLND Returns the list of defined nodes. The argument
list is:
addr: EXP n
arg1
...
argn
where n is the length of the argument list.
On a normal return, the ac contains the number
of known nodes and arg1 through argn contain the
node numbers of the known nodes. If the
argument block is not long enough to return the
complete list of known nodes, the list is
truncated.
13 .NDNDB Returns the specified type of information about
a specified node. The argument list is:
addr: EXP n
node-id
EXP sub-fcn-code
arg1
...
argn
where n is the length of the argument block.
node-id is either an octal node number or a
SIXBIT node name.
sub-fcn-code is the sub-function code that
specifies the type of information to be
returned. arg1 through argn are words that your
program reserves for the information returned by
the monitor.
Code Symbol Meaning
1 ND.NNM Returns the number of the node.
2 ND.SNM Returns the SIXBIT name of the
node.
22-301
NODE. [CALLI 157]
Code Symbol Meaning
3 ND.SID Returns the software ID as an
ASCIZ string.
4 ND.DAT Returns the date the NODE
software was generated as an
ASCIZ string.
5 ND.LMA Returns the last NCL (Network
Command Language) message
assigned (on output).
6 ND.LMS Returns the last NCL message
sent (on output).
7 ND.LAR Returns the last NCL ACK
received (on output).
10 ND.LAP Returns the last NCL ACK
processed (on output).
11 ND.LMR Returns the last NCL message
processed (on input).
12 ND.LMP Returns the last NCL message
received (on input).
13 ND.LAS Returns the last NCL ACK
message sent.
14 ND.MOM Returns the counter for maximum
outstanding messages.
15 ND.TOP Returns a list of network link
descriptors of the form:
XWD cost,node
where: cost is the line cost
and node is the name of a node
that is connected to the node
specified in addr+1. One
descriptor is returned for each
neighboring node. A zero word
signifies the end of the list.
22-302
NODE. [CALLI 157]
Code Symbol Function
Code Symbol Meaning
16 ND.CNF Returns the device
configuration for a node in the
following format:
XWD obj-type,number
where: obj-type is the NCL
device type and number is the
count of devices. One such
descriptor is returned for each
type of device on the node.
17 ND.CTJ Returns the station control job
number.
20 ND.OPR Returns the terminal number of
the OPR terminal.
14 .NDGNF Sets or reads the "greeted" node flag. The
format of the argument list is:
addr: EXP 2
node-number
arg
where the node-number is the number of the node
for which the "greeted" node flag is to be set
and/or read. The flag may be specified in arg
and is returned in arg. If the node-number is
specified as 0, the node number of the first
"ungreeted" node is returned in addr+1. This
function is intended to be used by privileged
programs that perform a node-specific function
to a node when it comes on line.
Normal Return
The function is performed.
22-303
NODE. [CALLI 157]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 NDIAL% Illegal argument list.
2 NDINN% Illegal node name or node number.
3 NDPRV% Not enough privileges.
4 NDNNA% Node not available.
5 NDNLC% Job not locked in core.
6 NDTOE% Timeout error.
7 NDRNZ% Reserved word is not zero.
10 NDNND% Channel not initialized or not a network device.
11 NDIOE% I/O error occurred. The left half of ac
contains I/O status bits. For a list of I/O
status bits, see Volume 1.
12 NDNFC% No free core.
13 NDIAJ% In use by another job.
14 NDNMA% No message available.
15 NDTNA% Terminal not available.
16 NDNLT% Not a legal terminal.
17 NDISF% Illegal sub-function.
20 NDRBS% Receive buffer too small.
21 NDNUG% No ungreeted nodes.
22 NDILN% Illegal line number in station-control message.
23 NDADC% Address check performed while reading or writing
arguments.
22-304
NSP. [CALLI 205]
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 Volume 1, Chapter 5.
Calling Sequence
MOVEI ac,addr
NSP. ac,
error return
normal return
. . .
addr: argument 1
argument 2
argument 3
Where addr is the address of an argument list appropriate to the
function code given in bits 9-17 of argument 1. The function
codes are:
Code Symbol Meaning
1 .NSFEA Enter active state.
2 .NSFEP Enter passive state.
3 .NSFRI Read connect information.
4 .NSFAC Accept connection.
5 .NSFRJ Reject connection.
6 .NSFRC Read connect confirm information.
7 .NSFSD Synchronous disconnect.
10 .NSFAB Abort connection.
11 .NSFRD Read disconnect data.
12 .NSFRL Release the channel.
13 .NSFRS Read the channel status.
22-305
NSP. [CALLI 205]
Code Symbol Meaning
14 .NSFIS Send interrupt data.
15 .NSFIR Receive interrupt data.
16 .NSFDS Send normal data.
17 .NSFDR Receive normal data.
20 .NSFSQ Set quotas.
21 .NSFRQ Read quotas.
22-23 Reserved for use by DIGITAL.
24 .NSFPI Set PSI reasons for software interrupts.
Normal Return
The specified function has been performed and the ac is not
changed.
Error Return
On an error return from NSP., one of the following error codes is
returned in the ac:
Code Symbol Error
1 NSABE% The argument block was formatted incorrectly.
2 NSALF% An allocation attempt failed.
3 NSBCN% An invalid channel number was specified.
4 NSBFT% An illegal format type was specified in the
process descriptor block.
5 NSCFE% The connect block was formatted incorrectly.
6 NSIDL% Interrupt data block pointed to a string block
that was too long.
7 NSIFM% Illegal flow control.
10 NSILF% Illegal function code specified.
11 NSJQX% Job quota exhausted.
12 NSLQX% Link quota exhausted.
13 NSNCD% No connect data to read.
14 NSPIO% Percentage input out of bounds.
15 NSPRV% Insufficient privileges to perform specified
function.
16 NSSTB% Segment size too big.
17 NSUKN% Unknown node name was specified.
20 NSUXS% Unexpected or unspecified state.
21 NSWNA% Wrong number of arguments.
22 NSWRS% Function call while connected in wrong state.
23 NSCBL% Wrong length for connect block.
22-306
NSP. [CALLI 205]
Code Symbol Error
24 NSPBL% Wrong length for process block.
25 NSSBL% Wrong length for string block.
26 NSUDS% Unexpected state: disconnect sent.
27 NSUDC% Unexpected state: disconnect confirmed.
30 NSUCF% Unexpected state: no confidence.
31 NSULK% Unexpected state: no link.
32 NSUCM% Unexpected state: no communication.
33 NSUNR% Unexpected state: no resources.
NSP. error codes 34 to 56 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-307
NTMAN. [CALLI 206]
NTMAN. [CALLI 206]
Function
Performs various functions for the network managment layer of the
DECnet-10 network product. This call is used only by the NML
program and is not intended for use by customer programs. The
NTMAN. call is common to both DECnet-10 and DECnet-20 products,
and therefore may change at any time without notice. This call
requires JACCT, [1,2], or JP.POK privileges.
Calling Sequence
MOVEI ac,addr
NTMAN. ac,
error return
normal return
. . .
addr: len
entity
ptr to entity-id
fcn-code
info-type
EXP 0
ptr to data
len of data
BLOCK 1
where addr is the address of the argument block, which is
formatted as:
Word Symbol Contents
0 .NTCNT The number of words in the argument block (len).
1 .NTENT The entity on which the action is to be
performed. The types of entities are:
Code Symbol Meaning
0 .NTNOD Network node.
1 .NTLIN Communications line.
2 .NTLOG Reserved for DIGITAL use.
3 .NTCKT Circuit.
2 .NTEID A byte pointer to an entity identification. The
byte pointer must point to a node number, line
number, or circuit number.
22-308
NTMAN. [CALLI 206]
Word Symbol Contents
3 .NTFCN Contains the function code. The function codes
are:
Code Symbol Function
-2 .NTMAP Returns node number for node
name, or node name for node
number.
-1 .NTREX Returns the node-id of the local
node.
0 .NTSET Sets a parameter.
1 .NTCLR Clears a parameter.
2 .NTZRO Zeroes counters.
3 .NTSHO Shows selected items.
4 .NTSZC Shows and zeroes counters.
5 .NTRET Returns a list of entities.
6 .NTEVQ Removes an item from the event
queue.
4 .NTSEL Selection criteria for function. The following
allow you to select the item on which the
function is to be performed:
Code Symbol Meaning
-3 to -1 Used by .NTRET:
-3 .NTLOP Loop.
-2 .NTACT Active items.
-1 .NTKNO Known items.
0 to 4 Used by .NTSHO:
0 .NTSUM Summary.
1 .NTSTA Status.
22-309
NTMAN. [CALLI 206]
Word Symbol Contents
Code Symbol Meaning
2 .NTCHA Characteristics.
3 .NTCOU Counters.
4 .NTEVT Reserved for DIGITAL use.
5 .NTQUA Reserved for DIGITAL use.
6 .NTBPT Byte pointer to data.
7 .NTBYT Byte count for data.
10 .NTERR Returned information or error code.
11 .NTMAX Quantity to place in .NTCNT.
Normal Return
The requested information is returned in the address pointed to
by .NTERR, or data is changed according to the function code. On
a successful return, error code 1 (NESUC%) is returned in .NTERR.
Error Return
The error code is returned in the ac and in the .NTERR offset
into the argument block. Note that a successful return from the
call places error code 1 (NESUC%) into the offset .NTERR into the
argument block, and error NEADC% is returned only in the ac. The
error codes for NTMAN. are defined with decimal values and are:
Code Symbol Error
1 NESUC% Successful call.
-1 NEUFO% Invalid function or option.
-2 NEIMF% Invalid message format.
-3 NEPRV% Insufficient privileges.
-4 Reserved for use by DIGITAL
-5 NEMPE% Management program error.
-6 NEUPT% Invalid parameter.
-7 Reserved for use by DIGITAL
-8 NEURC% Invalid entity.
-9 NTINI% Invalid entity identifier.
-10 NELCE% Line communication error.
-11 NECWS% Component in wrong state.
-12 to -14 Reserved for use by DIGITAL.
-15 NERES% Resource error.
-16 NEIPV% Invalid parameter value.
-17 to -19 Reserved for use by DIGITAL.
22-310
NTMAN. [CALLI 206]
Code Symbol Error
-20 NENRM% No room, or slot already taken.
-21 Reserved for use by DIGITAL.
-22 NEPNA% Parameter not applicable to entity.
-23 NEPVL% Parameter value too long.
-24 Reserved for use by DIGITAL.
-25 NEOPF% Operational failure.
-26 NEFNS% Function not supported.
-27 NEIPG% Invalid parameter grouping.
-28 Reserved for use by DIGITAL.
-29 NEPAM% Parameter missing from argument list.
-30 to -46 Reserved for use by DIGITAL.
-47 NEADC% Address check (returned in ac only).
22-311
OPEN [OPCODE 050]
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
normal return
. . .
addr: argument list
Where: channo is the number of a channel.
addr is the address of the argument list. The argument
list is:
Word Symbol Contents
0 .OPMOD Flags and status bits. The I/O status bits are
a set of 18 bits (right halfword) that reflect
the current state of a file transmission. They
are initially set by your program with the OPEN
monitor call. Thereafter, the monitor sets the
bits, but your program can test and reset them
using any of several monitor calls.
Bits Symbol Meaning
0 UU.PHS Only physical device names will
be used in the search. All
logical names defined by the
job will be ignored.
1 UU.DEL Disables error logging; only
user-mode diagnostic programs
may set this bit.
1 UU.FSP Specifies a full SCNSER PTY
(pseudo-terminal). That is,
all terminal characteristics
that are normally ignored for
PTYs will be set and enforced.
Refer to Chapter 15.
2 UU.DER Disables error retry; only
user-mode diagnostic programs
may set this bit.
22-312
OPEN [OPCODE 050]
Bits Symbol Meaning
2 UU.BJP If the given device is a PTY,
and if the calling program is
privileged, this bit specifies
that jobs logging on this PTY
are to be treated as batch
jobs.
2 UU.DMR Disables message re-assembly.
This bit is used in ANF-10
intertask communication to
allow the receipt of messages
that do not have the EOM bit
set. This flag should be set
if UU.AIO is set for TSK
devices. (Refer to Chapter 5.)
3 UU.AIO I/O is nonblocking. This
prevents the monitor from
stopping your job to wait for
I/O to be completed.
4 UU.IBC Disables clearing of buffers
after each output. Your
program must also set BF.IBC in
the .BFADR word of the buffer
ring header. (This is
applicable to buffered I/O
only. Refer to Chapter 11.)
5 UU.SOE Enables synchronization on each
I/O error. The monitor does
not perform more I/O until your
program clears the error bits.
6 UU.RRC Enables automatic rewrite of
RIB on change. This bit
pertains only to disk devices,
causing the monitor to rewrite
the file's RIB whenever a
change to the file requires it.
This is used to ensure file
integrity in the event of
system failure.
7 UU.LBF Allows the use of large buffers
(multiples of one block) for
disk I/O on this channel.
8-14 UU.DEC Reserved for use by DIGITAL.
15-17 UU.CUS Reserved for use by customers.
22-313
OPEN [OPCODE 050]
Bits Symbol Meaning
18-21 IO.ERR Error flags:
Flag Symbol Error
18 IO.IMP Improper mode flag.
19 IO.DER Error detected by
device.
20 IO.DTE Hard data error.
21 IO.BKT Block too large.
22 IO.EOF End-of-file reached.
23 IO.ACT I/O active.
24-29 Device-dependent flags (some
flags are repeated for
different devices). Refer to
the appropriate device chapter
in Volume 1 for more
information.
Flag Symbol Meaning
24 IO.BOT Beginning of tape
encountered (magtape
only).
24 IO.PTI Subjob is in terminal
input wait state (PTY
only).
25 IO.EOT End of tape encountered
(magtape only).
25 IO.PTO Subjob is in terminal
output wait state (PTY
only).
25 IO.ABS Enable user break mask
(terminals only).
26 IO.PAR Parity of tape, where
IO.PAR=1 for even
parity. Odd parity
(IO.PAR=0) is used only
for EBCDIC labelled
tapes (magtape only).
26 IO.PTM Subjob is in monitor
mode (PTY only).
22-314
OPEN [OPCODE 050]
Flag Symbol Meaning
26 IO.BKA Break on all characters
(terminals only).
27 IO.TEC Truth in echoing mode
(terminals only).
27 IO.MAI Maintenance DMR mode
(KDP and DTE devices
only).
27-28 IO.DEN Bit mask for tape
density, where:
0 = standard
1 = 200
2 = 556
3 = 800
For densities of 1600
and 6250, IO.DEN=0
(magtape only). This
flag is obsolete. Use
TAPOP. to set tape
density.
28 IO.SSD Semi-standard data mode
(DECtape devices only).
28 IO.SUP Suppress echoing
(terminals only).
29 IO.D29 DEC029 mode (card punch
only).
29 IO.SIM Super-image mode (card
reader only).
29 IO.WHD Write disk-pack headers
(disk only).
29 IO.NSD Non-standard data mode
(DECtape devices only).
29 IO.SFF Suppress form feeds
(line printers only).
29 IO.NRC Read with no reread
check (magtape only).
29 IO.FCS Obsolete (terminals
only).
29 IO.LEM Line editor mode
(terminals only).
22-315
OPEN [OPCODE 050]
Bits Symbol Meaning
30 IO.SYN Synchronous input.
31 IO.UWC Uses user word count. By
default this bit is not set,
and the monitor computes the
amount of data to be
transmitted using the byte
pointer in the buffer header.
If this flag is set, however,
the monitor uses the byte
count. Meaningful for output
only.
32-35 IO.MOD Data mode. In general, modes
0-14 are considered "buffered
I/O modes" and modes 15-17 are
"dump I/O modes." The possible
values for the data mode
(IO.MOD) in .OPMOD are:
Value Symbol Meaning
0 .IOASC ASCII mode (for any
device except display).
1 .IOASL ASCII line mode (for any
device except display).
2 .IOPIM Packed image mode
(terminal only).
3 .IOBYT Byte mode (magtape
device only).
4 .IOAS8 8-bit ASCII mode
(terminal,
pseudo-terminal, and
line printers only).
5 Reserved for use by
DIGITAL.
6-7 Reserved for use by
customers.
10 .IOIMG Image mode (for any
except display device).
11-12 Reserved for use by
DIGITAL.
22-316
OPEN [OPCODE 050]
Word Symbol Contents
Value Symbol Meaning
13 .IOIBN Image binary mode (for
disk, DECtape, magtape,
plotter, card device, or
papertape device).
14 .IOBIN Binary mode (for same
devices as .IOIBN).
15 .IOIDP Image dump mode (for
display devices only).
16 .IODPR Dump record mode (for
disk, DECtape, or
magtape devices).
17 .IODMP Dump mode (for disk,
DECtape, or magtape
devices).
1 .OPDEV SIXBIT physical or logical name or UDX of the
device to be initialized on the channel or UDX.
2 .OPBUF Buffer addresses (used for buffered I/O only):
Bits Meaning
0-17 Address of the control block for the
output buffers for the given channel.
If buffered I/O is not to be used,
specify 0 for the buffer control block
address.
18-35 Address of the control block for the
input buffers for the given channel. If
buffered I/O is not to be used, specify
0 for the buffer control block address.
Normal Return
The specified channel is initialized.
Error Return
The monitor takes the error return if the specified device is in
use, if the device does not exist, or if the device is
restricted. To assign a restricted device, use the MOUNT monitor
command before running the program, or use the .QUMNT function of
the QUEUE. call.
22-317
OPEN [OPCODE 050]
Examples
;Subroutine to OPEN the disk in dump mode
;Call with:
; PUSHJ P,DMPINI
; RETURN HERE
DMPINI: OPEN DSK,OPNBLK ;OPEN the disk on channel "DSK"
JRST NOTAVL ;Device is busy
ENTER DSK,FILE ;Create a new file
JRST FILBAD ;Cannot ENTER file name in
; disk directory.
POPJ P, ;Return - file is now open for
; Dump mode output.
;Here if device DSK: cannot be OPENed
NOTAVL: OUTSTR [ASCIZ "?CANNOT OPEN DSK:
"] ;Print an error message
EXIT ;Return to the monitor
;Here if file cannot be created
FILBAD: OUTSTR [ASCIZ "?CANNOT CREATE DSK:DUMP.BIN
"] ;Print an error message
EXIT ;Return to the monitor
OPNBLK: EXP .IODMP ;Select dump mode
SIXBIT /DSK/ ;Device name
EXP 0 ;No buffers
FILE: SIXBIT /DUMP/ ;File name
SIXBIT /BIN/ ;File name extension
EXP 0 ;Default protection
EXP 0 ;Default directory
;Subroutine to write data in buffer
;Call with:
; FILL BUFFER WITH DATA
; PUSHJ P,DMPOUT
; RETURN HERE
DMPOUT: OUT DSK,OUTLST ;Write data
POPJ P, ;No errors - Return to caller
OUTSTR [ASCIZ "?OUTPUT ERROR FOR DSK:DUMP.BIN
"] ;Output error message
EXIT ;Return to monitor
;Command list for output
OUTLST: IOWD BUFSIZ,BUFFER ;Write BUFSIZ words from buffer
EXP 0 ;End of command list
22-318
OPEN [OPCODE 050]
BUFFER: BLOCK BUFSIZ ;Output buffer
;Subroutine to close out file
;Call with:
; PUSHJ P,DMPDON
; RETURN HERE
;
DMPDON: CLOSE DSK, ;Write the end of file
STATO DSK,IO.ERR ;Are there any errors?
POPJ P, ;No-return
OUTSTR [ASCIZ "?ERROR CLOSING DSK:DUMP.BIN
"] ;Print error message
EXIT ;Return to the monitor
Related Calls
FILOP., INIT
22-319
OTHUSR [CALLI 77]
OTHUSR [CALLI 77]
Function
Determines whether other jobs are logged in under your
project-programmer number (PPN).
Calling Sequence
OTHUSR ac,
alternate return
normal return
Normal Return
The ac contains your project-programmer number; the normal return
occurs only if there are other jobs logged in under your
project-programmer number.
Alternate Return
The alternate return is taken if no other jobs are logged in
under your project-programmer number.
Examples
OTHUSR T1,
JRST ONLY1
If other jobs are logged in under your project-programmer number,
execution continues. If not, control is passed to ONLY1.
22-320
OUT [OPCODE 057]
OUT [OPCODE 057]
Function
Transmits data from your job's physical memory area to the file
selected for the given channel. Use FILOP. to perform an OUT UUO
on an extended I/O channel.
Calling Sequence
OUT channo,addr
normal return
error return
Where: channo is the number of an initialized channel.
In buffered mode, addr contains the address of the .BFHDR
(header) word of the buffer to be used. If you give addr
as 0, the next buffer is used.
In dump mode, addr is the address of the first word of
the command list. See IN call.
Normal Return
The data in the buffer at addr+1 is transferred.
Error Return
If an error occurs, you should examine the I/O status bits to
determine the cause of the error. Use the GETSTS call to obtain
I/O status bits.
NOTE
If, while using non-blocking I/O, your program
takes the error return with no error bits set,
that indicates you have exhausted all of the
output buffers. You must wait until a buffer
becomes available. The program at this point
should not attempt to store any more data based
on the state of the use bit. Instead, keep
trying the OUT call until it succeeds.
Examples
See Chapter 11.
22-321
OUT [OPCODE 057]
Related Calls
FILOP., IN, INPUT, OUTPUT
Common Error
o If the specified address is illegal, the monitor stops the
job and prints:
?Address check for device YYYYYY:;UUO at user PC xxxxx
o Failure to supply a command list address in dump mode.
o Forgetting to initialize the channel.
22-322
OUTBUF [OPCODE 065]
OUTBUF [OPCODE 065]
Function
Sets up an output buffer ring with the specified number of
buffers for the specified initialized channel. Use FILOP. to
perform an OUTBUF for an extended I/O channel.
NOTE
The monitor allocates buffers in the user's
address space starting at the location pointed to
by the contents of .JBFF. This has no meaning in
a non-zero section, unless that section is mapped
to section 0. Use the FILOP. monitor call to
specify buffer starting addresses in a non-zero
section.
Calling Sequence
OUTBUF channo,bufcnt
return
Where: channo is the number of an initialized channel.
bufcnt is the number of buffers to set up in the ring.
If you give buffers as 0, the monitor uses its default
number of buffers for the ring. This default varies
according to the device. For disks, the number of
buffers is a MONGEN parameter that can also be set with
the SET DEFAULT BUFFERS monitor command.
Return
The buffer ring is set up.
Related Calls
FILOP., INBUF
Common Errors
See the INBUF call for some common errors and their explanations.
22-323
OUTCHR [TTCALL 1,]
OUTCHR [TTCALL 1,]
Function
Sends an ASCII character to the job's controlling terminal.
Calling Sequence
OUTCHR location
return
Where: location is the address of the word containing the output
character; the ASCII code for the character is taken from
bits 29-35 of location.
Return
The monitor takes an ASCII code from bits 29-35 of location and
displays the character on the user terminal.
Related Calls
OUTSTR, TRMOP.
Common Errors
o Typing a comma after location.
o Assuming OUTCHR takes an immediate value in the effective
address field.
22-324
OUTPUT [OPCODE 067]
OUTPUT [OPCODE 067]
Function
Sends data from memory to an initialized channel. Use FILOP. to
perform an OUTPUT for an extended I/O channel. The OUTPUT
monitor call is the same as the OUT monitor call, except that OUT
takes the error return if any error bits are set in the I/O
status word, and OUTPUT ignores the error bits and has only one
return location.
Calling Sequence
OUTPUT channo,addr
return
Where: channo is the number of an initialized channel.
addr is one of the following:
o If the channel was initialized for dump mode, then
addr is the address of an I/O command list.
o If the channel was initialized for buffered mode,
then addr is the address of the second word of the
next buffer to be used; if you give 0 (the normal
case), the next buffer in the ring is used.
Return
Data is output to the device on the channel.
Related Calls
FILOP., IN, INPUT, OUT
Common Errors
Same as IN call.
22-325
OUTSTR [TTCALL 3,]
OUTSTR [TTCALL 3,]
Function
Sends an ASCIZ string to the user terminal.
Calling Sequence
OUTSTR addr
return
. . .
addr: ASCIZ/string/
Where: addr is the address of the ASCIZ string to be displayed
on the terminal and string is the string to be sent.
Return
The string is displayed on the user terminal.
Examples
See OPEN call.
Related Calls
OUTCHR, TRMOP.
Common Errors
Typing a comma after addr.
22-326
PAGE. [CALLI 145]
PAGE. [CALLI 145]
Function
Manipulates pages and the data associated with those pages in
your job's address space.
Calling Sequence
MOVE ac,[XWD fcncode,addr]
PAGE. ac,
error return
normal return
. . .
addr: len
first argument
. . .
last argument
where: fcncode is one of the function codes described below.
addr is the address of the argument list.
len is the 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 len must be
greater than 2 or the negative of a value greater than 2.
The len can be specified as a negative value. In this
case, only one argument follows. That 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. For example, when len 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.
22-327
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:
Code Symbol Function
0 .PAGIO Swaps a page in or out. Pages swapped in are
added to the working set; pages swapped out are
moved to secondary storage.
Use one word in the argument list for each page
to be swapped, or specify a negative list length
to specify a set of consecutive pages. If you
use more than one argument word, the page
numbers must be in ascending order. Each
argument word is in the form:
XWD flags,pageno
where: pageno is the number of the page to be
swapped (in the range 0-511 on a KS, or 0-16383
on a KL) and flags is one or both of the
following:
Bit Symbol Meaning
0 PA.GAF Swap the page out if this bit
is set; swap it in if not set.
1 PA.GSL Swap to slow swapping space if
this bit is set; swap to fast
space if not set.
2 PA.GDC Suppresses error codes PAGCE%,
PAGME%, PAGSC%, and PAGSM%.
22-328
PAGE. [CALLI 145]
Code Symbol Function
1 .PAGCD Creates or destroys a specified page. Use one
argument word for each page to be created or
destroyed. If you use more than one word, the
specified pages must be in ascending order.
Each argument word is of the form:
XWD flags,pageno
where: pageno specifies the number of the page
(in the range 0-511 on a KS, or 0-16383 on a KL)
to be created or destroyed and flags is one or
both of the following:
Bit Symbol Meaning
0 PA.GAF Destroy the page if this bit is
set; create the page if this
bit is not set.
1 PA.GCD Create the page on disk if this
bit is set; create a page in
the working set if this bit is
not set.
2 .PAGEM Moves or exchanges a page. The page is moved
from one virtual address to another, or two
pages exchange locations. You cannot move a
page to a location that is allocated to another
page and you cannot exchange pages unless the
source pages are allocated.
Use one argument word for each page to be moved
or exchanged. If you use more than one argument
word, the specified pages must be in ascending
order. Each argument word is of the form:
<flag>+<source>B17+<destination>B35
where: source is the page number of the page to
be moved, destination is the page number of the
location to receive the page, and the following
flag can be set:
Flag Symbol Meaning
0 PA.GAF Exchange the pages if this bit
is set; move the source page if
this bit is not set.
22-329
PAGE. [CALLI 145]
Code Symbol Function
3 .PAGAA Sets or clears the access-allowed bit for a
page. The access-allowed bit may be changed for
any page in the working set. If a page is
accessed that has this bit off, a page fault
occurs.
Use one argument word for each page whose
access-allowed bit is to be changed. If you use
more than one argument, the specified pages must
be in ascending order. Each argument word is of
the form:
XWD flags,pageno
where: pageno is the page number of the page
whose bit is to be changed, and flag is one or
more of the following:
Flag Symbol Meaning
0 PA.GAF Clear access-allowed for the
page if this bit is set; set
access-allowed if this bit is
not set.
1 PA.GSA Automatically sets
access-allowed on page fault;
dispatch to page handler on
page fault if this bit is not
set.
2 PA.GDC Ignores fact that page does not
exist, suppressing error code
PAGME%.
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-330
PAGE. [CALLI 145]
Code Symbol Function
5 .PAGGA Returns a bit map indicating which pages have
their access-allowed bits set. This bit map has
the same format as the one returned for function
code 4 (.PAGWS). If a bit in the map is set,
the page associated with that bit is accessible.
In the PAGE. monitor call, you specify the
number of words in the bit map that are to be
returned.
6 .PAGCA Determines the type of access allowed for a
given page. There is no argument block;
instead, you specify the function code in the
left half of the ac (bits 0-17) and the page
number in the right half of the ac (bits 18-35):
[function,,page-number]. On a normal return,
the monitor will set one or more of the bits
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.
8 PA.GSH Page is sharable.
9 PA.GSP Page is SPYing (mapped onto
running monitor).
10 PA.GLK Page is locked in memory.
11 PA.GNC Page is not cached (KL10 and
KS10 only).
12 PA.GSN Section does not exist.
13 PA.GVR Page is virtual (SPY page).
14 PA.GIN Page is in an indirect section,
that is, a section mapped onto
another section.
15 Reserved for use by DIGITAL.
16-20 PA.GSC Section is independent, that
is, a section that another
section is mapped onto. PA.GIN
must be set for PA.GSC to be
set.
21 Reserved for use by DIGITAL.
22-35 PA.GPN Page number of the SPY page
which the specified user page
is SPYing on.
22-331
PAGE. [CALLI 145]
Code Symbol Function
7 .PAGCH Changes the pages in a high segment, or creates
a high segment from a contiguous collection of
pages. The argument block is written in the
following format:
addr: Number of words following.
addr+1: Number of pages to be remapped.
addr+2: Start page number.
addr+3: Destination page number.
addr+3 is an optional word of the argument
block. If not specified, page 400 is assumed.
This function waits for all I/O to stop before
creating the high segment. On a normal return,
the specified pages are REMAPped into the high
segment, which begins at destination page
number. The error return is taken if all of the
pages specified by start page number and number
of pages to be remapped do not exist, or if a
page included in the list already exists in your
program's address space. If the number of pages
specified is negative, those pages are remapped
from the low segment to the high segment, and
appended to the existing hi-seg.
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.
10 .PAGCB Sets or clears the cache bit for the page.
(This flag is automatically set if PA.GAF is
on.) This function sets or clears the cache bit
on a per-page basis (KL10 and KS10 only). The
argument word format is as follows:
Bit 0 If this bit, PA.GAF, is set, the
cache bit is set in the
corresponding entry in the job's
page map. If clear, the cache bit
is clear.
Bit 1 Reserved.
Bit 2 This bit, PA.GDC, ignores the fact
that a page doesn't exist,
suppressing error code PAGME%.
Bits 3-26 Reserved.
Bits 27-35 The page number.
If there is more than one argument word in the
argument block, the page numbers specified in
those words must be in ascending numeric order.
22-332
PAGE. [CALLI 145]
Code Symbol Function
The error return is taken if any of the
following are true:
o The function or call is not implemented.
o A high segment page is specified in the
argument list.
o The argument list is not set up properly.
o The job is not locked in core.
11 .PAGSP Allows your program to map an arbitrary set of
pages from memory or from the monitor's virtual
address space into the program's address space.
Use one argument word for each page to be
mapped. If you use more than one argument word,
you must specify the pages in ascending order.
The argument word is formatted as follows:
<flags>+<source>B17+<destination>B35
where flags are one or more of the following:
Bit Symbol Meaning
0 PA.GAF Remove the page from the user's
addressing space. If not set,
add the monitor page to the
user's addressing space at the
specified page number.
2 PA.GDC On a create, this bit will
overlay an already existing
page. On a delete, if the page
does not exist, it is ignored
and error code PAGME% is
suppressed.
source is the page number of the source page.
If UU.PHY is set in the PAGE. monitor call
itself, source is a physical page in memory. If
UU.PHY is not set, source is a monitor virtual
address mapped through the executive page map.
destination is the page number of the page to be
mapped into your address space.
This function requires that the calling job have
PEEK privileges on all of core.
22-333
PAGE. [CALLI 145]
Code Symbol Function
12 .PAGSC Creates or destroys a specified section. Use
one argument word for each section to be created
or destroyed. For more than one word, the
sections or arguments must be specified in
ascending order. Each argument word is of the
form:
XWD <flag>+<source>B17+<destination>B35
where flag is one of the following:
Bits Symbol Meaning
0 PA.GSF Delete the section if this bit
is on, create the section if
this bit is off.
1 PA.GMS On a create, map the sections
specified in PA.GSS and PA.GDS
together.
2 PA.GDC On a create, any existing
section is emptied. On a
delete, ignore a non-existant
section.
If PA.GMS is set, give the source and
destination sections using the following format:
Bits Symbol Meaning
4-17 PA.GSS The section number of the
source section.
18-22 Reserved for use by DIGITAL.
22-35 PA.GDS The section number of the
destination section.
22-334
PAGE. [CALLI 145]
Code Symbol Function
13 .PAGBM Returns a bit map that indicates whether
specified page accessibility attributes belong
to a certain page. If, in the return, the bit
map is set on, the page has the specified
attributes.
Each argument word is of the form:
EXP count
EXP attribute-settings
EXP care-mask
EXP starting-page-no
where:
count is the number of arguments.
attribute-settings is the word indicating the
desired state of the given attribute. The page
accessibility attribute bits are the same as
those given for .PAGCA.
care-mask is the word specifying which bits of
the attribute-settings word should be examined.
Note that PA.GSC, the independent section bit,
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 the
care mask in .PAGBM.
starting-page-no specifies the page number of
the page that is mapped to bit 0 of the mask.
14 .PAGAL Determines the type of access allowed for a
given page. The argument block is:
EXP count
EXP starting-page
where:
count is the number of arguments.
starting-page is the starting page of the area
in which information is to be returned. The
bits returned are the same as for .PAGCA.
22-335
PAGE. [CALLI 145]
Normal Return
The specified function has been performed; the ac is unchanged.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 PAGUF% Function not implemented.
1 PAGIA% Illegal argument.
2 PAGIP% Illegal page number.
3 PAGCE% Page should not exist, but does.
4 PAGME% Page should exist, but does not.
5 PAGMI% Page should be in core, but is not.
6 PAGCI% Page should not be in core, but is.
7 PAGSH% Page is in sharable high segment.
10 PAGIO% Paging I/O error.
11 PAGNS% No swapping space available.
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.
22-336
PATH. [CALLI 110]
PATH. [CALLI 110]
Function
Sets or reads a user's default directory path, reads the default
directory path for a device or channel, or sets or reads
pathological device name definitions. A pathological device name
is a logical name defining a directory search path in the form:
dev:file.ext[UFD,SFD1,SFD2,...SFD5].
Refer to Section 12.6.5 for more information.
Calling Sequence
MOVE ac,[XWD len,addr]
PATH. ac,
error return
normal return
. . .
addr: argument list
where: len is the length of the argument list. The value in
this word must be at least 3. If you specify 0, the
length defaults to 3.
addr is the address of the argument list.
There are two types of argument blocks for the PATH. monitor
call. Type 1 is used for reading and setting default directory
paths for users, channels, or devices. Type 2 is used for
reading or defining pathological names.
Argument Block Type 1
Argument Block Type 1 is used for reading and setting default
directory paths for users, channels, or devices. This argument
type is used for all functions (specified in .PTFCN), except
functions -6 and -5 (.PTFRN and .PTFSN). The function codes are
listed below.
Offset Symbol Contents
0 .PTFCN A SIXBIT device name; or a job number in the
left half and a function code or channel number
in the right half.
If you specify a device name, the monitor
returns the default path for that device.
22-337
PATH. [CALLI 110]
Offset Symbol Contents
If you specify a job number and function code,
or a job number and channel number, the word is
formatted as follows:
Bits Symbol Contents
0-17 PT.JBN Job number. This job number
defaults to your job number if
not in the range of 1 to the
highest legal job number.
18-35 PT.FCN Function code or channel number.
The function codes and their
meanings are listed below.
If you specify a channel number
instead of a function code, the
monitor returns the default path
for the device currently open on
that channel. If accessing a
file that is open on the
specified channel, the monitor
returns the actual path for the
file.
The function codes are:
Code Symbol Function
-6 .PTFRN Reads a
pathological
name. Refer to
Argument Block
Type 2.
-5 .PTFSN Sets a
pathological
name. Refer to
Argument Block
Type 2.
22-338
PATH. [CALLI 110]
Code Symbol Function
-4 .PTFRL Returns an
additional path
to be searched
when a file is
not in your
directory path.
(For example,
the monitor
returns SYS,
NEW, or LIB, if
appropriate.
See word .PTSWT
below.)
-3 .PTFSL Sets an
additional path
to be searched
when a file is
not found in
your directory
path. (See
.PTFRL.) When
you specify this
function code,
you must supply
the following
words in the
argument block:
.PTFCN
.PTSWT
.PTPPN
-2 .PTFSD Sets the default
path to search
if no path is
specified.
-1 .PTFRD Reads the
default path
that is searched
if no path is
specified.
22-339
PATH. [CALLI 110]
Offset Symbol Contents
1 .PTSWT Flags. The flags are only applicable to
specific functions. All flags apply if you
specify a device name or channel number in the
previous word (.PTFCN).
Bits Symbol Meaning
|
| 25 PT.EDA Returned to indicate that the
| device or channel number was
| both a pathological name and an
| ersatz device name. This flag
| is ignored for all functions
| that set the path.
26 PT.DLN Returned to indicate that the
device or channel specified in
.PTFCN is a pathological name.
Therefore, this flag is
applicable only when a device or
channel number is specified in
.PTFCN.
29 PT.SLT Returned to indicate the type of
search list associated with a
device or channel. The search
list types are:
Code Symbol Type
0 .PTSLN No search list
has been
associated with
the specified
device or
channel.
1 .PTSLJ Job search list.
2 .PTSLA ALL search list.
3 .PTSLS SYS search list.
.PTSLS is
applicable only
when a device
name or channel
number is
specified in
.PTFCN.
22-340
PATH. [CALLI 110]
Bits Symbol Meaning
30 PT.IPP Returned to indicate that the
device specified in .PTFCN has
an implied PPN, as in the case
of an ersatz device name. The
implied PPN is returned in the
following word, .PTPPN.
30 PT.DTL Set to prevent any change to the
status of LIB, allowing changes
to NEW and SYS without changing
LIB. This flag is useful only
for function code .PTFSL.
31 PT.LIB Returned to indicate that LIB
(if defined for your job) will
be searched on each structure in
your job search list, after your
default path for each structure
in the job search list has been
exhausted in the attempt to find
a file. The LIB ersatz device
name can be defined using
function .PTFSL, or by setting
flag PT.SEA in the LIB
pathological name definition
using function .PTFRN.
32 PT.NEW Returned to indicate that, when
SYS is specified or implied, the
NEW area [1,5] will be searched
before the SYS area [1,4].
33 PT.SYS Returned to indicate that SYS
(ersatz device name for [1,4])
will be searched on each
structure in your job search
list after your default path to
each structure in the search
list has been exhausted in the
attempt to find a file.
22-341
PATH. [CALLI 110]
Bits Symbol Meaning
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-342
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-1: PATH. Functions and Flags
|
| +-----------------------------------------------------------+
| | | | Functions |
| | | Device |------------------------------------+
| |Flag | or Channel | .PTFRD | .PTFSD | .PTFSL | .PTFRL |
| +-----------------------------------------------------------+
| |PT.EDA | X | | | | |
| |-----------------------------------------------------------|
| |PT.DLN | X | | | | |
| |-----------------------------------------------------------|
| |PT.SLT | X | | | | |
| |-----------------------------------------------------------|
| |PI.IPP | X | | | | |
| |-----------------------------------------------------------|
| |PT.DTL | | | | X | |
| |-----------------------------------------------------------|
| |PT.LIB | X | X | | | |
| |-----------------------------------------------------------|
| |PT.NEW | X | X | | | |
| |-----------------------------------------------------------|
| |PT.SYS | X | X | | | |
| |-----------------------------------------------------------|
| |PT.SCN | X | X | X | | |
| |-----------------------------------------------------------|
| |PT.SNW | | | | X | X |
| |-----------------------------------------------------------|
| |PT.SSY | | | | X | X |
| +-----------------------------------------------------------+
22-343
PATH. [CALLI 110]
Offset Symbol Contents
2 .PTPPN The PPN (UFD) of the path. For function .PTFRL,
the library PPN, if any, is returned here. For
function .PTFSL, the library PPN is set from
this word unless PT.DTL is set in .PTSWT.
3 .PTSFD The first level of SFD, as the SFD name, stored
in SIXBIT. Subsequent words contain lower
levels of SFDs. TOPS-10 allows up to 5 nested
levels of SFDs, but MONGEN allows this value to
be set at less than 5. You can obtain the
maximum number of SFD levels allowed, from the
right half of the item %LDSFD in GETTAB table
.GTLVD.
4-10 . . . Name of the following SFD levels.
11 .PTMAX Maximum length. Contains a 0 to end the PATH.
block.
Argument Block Type 2
This argument block is used to read and define pathological names
(logical names for directory paths) using functions .PTFSN to set
the pathological name and .PTFRN to read the pathological name.
The offsets into the argument block are:
Offset Symbol Contents
0 .PTFCN Job number and function code in the following
format:
Bits Symbol Contents
0-17 PT.JBN Ignored for functions .PTFSN and
.PTFRN.
18-35 PT.FCN Function code. The function
codes and their meanings are:
Code Symbol Function
-6 .PTFRN Returns
information (in
.PTLNM) about
the current
pathological
name or returns
the next
pathological
name in the list
of defined
names.
22-344
PATH. [CALLI 110]
Code Symbol Function
-5 .PTFSN Defines or
deletes a
pathological
name. To delete
a name, you must
also set flag
PT.UDF in .PTLNF
and specify the
name to be
deleted in
.PTLNM.
Offset Symbol Contents
1 .PTLNF Pathological name flags:
Bits Symbol Meaning
0 PT.SEA The directories included in the
definition of this pathological
name will be searched when a
file is not found in the default
directory path when you issue a
LOOKUP monitor call. (This is
similar to .PTFSL, but allows
more flexibility.) PT.SEA can be
set for only one pathological
device. However, several
directories can be specified for
a single pathological name.
1 PT.UDF Deletes the definition of the
pathological name specified in
.PTLNM. You must also specify
function code -5 (.PTFSN) above.
2 PT.RCN Returns data about the
pathological name specified in
.PTLNM when you specify function
code -6 (.PTFRN). If this flag
is 0 for function .PTFRN, the
monitor returns, in .PTLNM, the
next pathological name defined
in the list.
3 Reserved for use by DIGITAL.
22-345
PATH. [CALLI 110]
Bits Symbol Meaning
4 PT.OVR Indicates that the file name and
extension specified in the
definition of the pathological
device should override those in
the argument block for
LOOKUP/ENTER calls. Used with
both .PTFRN and .PTFSN.
For example, when FOO/OVERRIDE
is defined as DSKA:FOO.DAT[1,2],
a LOOKUP of FOO:BAR.DAT will not
find BAR.DAT; it will find
FOO.DAT. When PT.OVR is not
set, the pathological name is
used to define defaults. For
example, when FOO is defined as
DSKA:FOO.DAT[1,2], a LOOKUP for
FOO:BAR would find BAR.DAT
Offset Symbol Contents
2 .PTLNM For function .PTFRN, set this word to 0 to
return the first pathological name in the list
of names defined for your job, or the next path
name in this word. For the .PTFSN function,
this word contains the path name (in SIXBIT)
that you wish to define or delete.
3 .PTLSB First word of the pathological name sub-block.
Each sub-block is in the format shown below.
Offsets are from the start of the sub-block.
The SFD list for the path begins at Word 5 and
is terminated with a zero word. The zero word
must not be past Word 12 (.PTLEL).
The entire list of sub-blocks must be terminated
by two zero words following the last sub-block.
These must be reserved in addition to .PTLEL.
Each path sub-block is formatted as:
Offset Symbol Contents
0 .PTNOD Reserved to DIGITAL for future
expansion.
1 .PTLSL SIXBIT device (such as DSKB,
DSK, ALL, or SSL).
2 .PTFIL File name.
3 .PTEXT File extension.
22-346
PATH. [CALLI 110]
Offset Symbol Contents
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,
up to 77 (octal), except that the length of the
entire list of sub-blocks (including the header)
may not exceed 144 octal words.
Normal Return
For Read functions, the argument block is filled in; for Set
functions, the function is completed.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
-1 PTNSS% No such SFD as that specified in search list.
0 PTNDD% Specified channel was not OPEN, or specified
device was not a disk device.
1 PTTME% Too many entries in PATH. block.
2 PTTMN% Too many pathological names defined.
3 PTNSN% Attempt to delete nonexistent name.
4 PTNFS% No per-process free core.
5 PTANE% Tried to define a pathological name that
already exists.
6 PTNEN% Non-existent pathological name used in argument
block for .PTFRN and .PTFSN.
7 PTNSJ% No such job as the job number you specified in
the argument block.
10 Reserved for use by DIGITAL.
11 PTNAI% Invalid number of arguments specified. You
must include 3 words in the block for calling
sequence 1; 5 words in the block for calling
sequence 2.
22-347
PATH. [CALLI 110]
Examples
This example defines the following pathological name:
FOO/SEARCH=DSKB:[10,10,MON,NEW],DSKC:[10,11,OLD]
The code to define the pathological name FOO is:
MOVE T1,[XWD ARGLEN,ARGLST]
PATH. T1,
JRST ERROR
JRST CONTIN
ARGLST: EXP .PTFSN ;Function code
EXP PT.SEA ;/SEARCH attribute
SIXBIT/FOO/ ;Logical path name to define
EXP 0 ;Start of first group
SIXBIT/DSKB/
0 ;File name
0 ;Extension
XWD 10,10
SIXBIT/MON/
SIXBIT/NEW/
EXP 0 ;Word terminating PATH spec
EXP 0 ;Start of second group
SIXBIT/DSKC/
0 ;File name
0 ;Extension
XWD 10,11
SIXBIT/OLD/
EXP 0 ;Word terminating PATH spec
EXP 0 ;Two words terminating PATH block
EXP 0
ARGLEN==.-ARGLST ;Length of arg list
22-348
PEEK [CALLI 33]
PEEK [CALLI 33]
Function
Returns the contents of any location in the monitor. The PEEK
monitor call requires that your program have bit 16 (JP.SPA) or
bit 17 (JP.SPM) set in the GETTAB table .GTPRV, or your program
must have JACCT privileges. If you do not have the proper
privileges, the ac is cleared.
Calling Sequence
MOVE ac,addr
PEEK ac,
return
where: addr is the 30 bit address of the word in the monitor
virtual address space to be returned.
If you set UU.PHY in this call, using the instruction:
PEEK ac,UU.PHY
the specified address is assumed to be a physical memory address
instead of a virtual address.
Return
On return, the contents of the monitor location given by addr is
returned in the ac. If the calling job does not have the
required privileges, the monitor clears the ac.
Related Calls
PAGE., POKE, SPY
22-349
PERF. [CALLI 162]
PERF. [CALLI 162]
Function
Allows privileged programs to perform system measurements over a
period of time. The PERF. call works only on the KL10 processor.
Note that only one job at a time may use the performance meter on
each CPU. The PERF. functions are discussed in Chapter 10.
Calling Sequence
MOVE ac,[XWD n,addr]
PERF. ac,
error return
normal return
. . .
addr: XWD fcncode,faddr
. . .
XWD fcncode,faddr
where: n is the number of function words specified in the
argument block, which begins at addr.
addr is the address of the argument block. The argument
block is a list of the functions to be enabled and the
address of the argument list that defines each function,
allowing you to specify multiple functions in a single
monitor call.
fcncode is one of the function codes described on the
following pages of this manual.
faddr is the address of the function code argument list.
Each function must have a corresponding argument list.
These argument lists are described with the function
codes.
The function codes and their meanings are:
Code Symbol Function
1 .PRSET Sets up the performance meter.
2 .PRSTR Starts the performance meter.
3 .PRRED Reads the performance meter.
4 .PRSTP Stops the performance meter.
5 .PRRES Releases the performance meter.
6 .PRBPF Turns background PERF analysis off.
7 .PRBPN Turns background PERF analysis on.
22-350
PERF. [CALLI 162]
The argument list at faddr for the .PRSET function is:
Offset Symbol Contents
0 .PMLEN Length of the argument list.
1 .PMCPU CPU type:
Bit Symbol CPU Type
0 PM.PD6 PDP-6.
1 PM.KA KA10.
2 PM.KI KI10.
3 PM.KL KL10.
4 PM.KS KS10.
2 .PMMOD CPU number and mode:
Bits Symbol Meaning
0-17 PM.CPN CPU number.
18 PM.MOD Interval mode. If this bit is
not set, a count of the enabled
events (specified in following
words) is kept. If on, the
duration of the enabled event
(in clock ticks) is kept.
19 PM.CLR Clears performance meter
counts. Resets the counters
when the call is issued. If
you clear this bit, the meter
will be set but any values
currently in the counters are
left unchanged.
3 .PMCSH Cache enable flags:
Flag Symbol Meaning
0 PM.CCR Count references.
1 PM.CCF Count fills.
2 PM.EWB Count EBOX writebacks.
3 PM.SWB Count sweep writebacks.
4 PM.SYN Synchronize performance and
accounting meters.
4 .PMPIE Priority interrupt enable flags:
Flag Symbol Meaning
0 PM.PI0 Enable for channel 0 (DTE).
1 PM.PI1 Enable for channel 1.
22-351
PERF. [CALLI 162]
Offset Symbol Contents
Flag Symbol Meaning
2 PM.PI2 Enable for channel 2.
3 PM.PI3 Enable for channel 3.
4 PM.PI4 Enable for channel 4.
5 PM.PI5 Enable for channel 5.
6 PM.PI6 Enable for channel 6.
7 PM.PI7 Enable for channel 7.
8 PM.NPI Enable for no interrupt in
progress.
5 .PMPCE Program counter enable flags:
Flag Symbol Meaning
0 PM.UPC User-mode enable.
1 PM.XPC Executive-mode enable.
6 .PMMPE Microcode probe enable flags:
Flag Symbol Meaning
0 PM.MPE Enable microcode probe.
7 .PMHPE Hardware probe enable flags:
Flag Symbol Meaning
0 PM.P0L Probe zero low.
1 PM.P0H Probe zero high.
10 .PMJOB Job enable flag:
Value Symbol Meaning
-2 .PMNUL Enable for null job.
-1 .PMSLF Enable for calling job.
11 .PMCHN Channel enable flags:
Flag Symbol Meaning
0 PM.EC0 Enable for channel 0.
1 PM.EC1 Enable for channel 1.
2 PM.EC2 Enable for channel 2.
3 PM.EC3 Enable for channel 3.
4 PM.EC4 Enable for channel 4.
5 PM.EC5 Enable for channel 5.
6 PM.EC6 Enable for channel 6.
7 PM.EC7 Enable for channel 7.
22-352
PERF. [CALLI 162]
The arguments at faddr and following for the .PRSTR, .PRRED,
.PRSTP, and .PRRES functions are:
Offset Symbol Contents
0 .PMLEN Length of the argument list.
1 .PMCPN CPU number.
2 .PMHTB High-order word of time-base.
3 .PMLTB Low-order word of time-base.
4 .PMHPM High-order word of performance counter.
5 .PMLPM Low-order word of performance counter.
6 .PMHMC High-order MBOX reference count.
7 .PMLMC Low-order MBOX reference count.
The argument offsets for the .PRBPF and .PRBPN functions are:
Offset Symbol Contents
0 .PMLEN Length of argument block.
1 .PMCPU CPU type (same as .PRSET).
2 .PMMOD CPU and flags (same as .PRSET).
3 .PMBPI Sample interval in ticks.
Normal Return
For the .PRSET function, the performance meter is set.
For the .PRSTR function, the monitor starts the performance
meter.
For the .PRRED function, the monitor has supplied the updated
values for faddr+2 through faddr+7.
For the .PRSTP and .PRRES functions, the monitor stops the
performance meter or releases the performance meter,
respectively.
22-353
PERF. [CALLI 162]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 PRCPU% Invalid CPU specified.
2 PRNXC% Nonexistent CPU specified.
3 PRMOD% Improper mode specified.
4 PRSET% Meter not set up.
5 PRUSE% Meter already in use.
6 PRRUN% Meter already running.
7 PRJOB% Invalid job number.
10 PRNRN% Meter not running.
11 PRNIM% Function not implemented.
12 PRFUN% Invalid function code.
13 PRPRV% Not enough privileges.
22-354
PIBLK. [CALLI 212]
PIBLK. [CALLI 212]
Function
Returns the address of the 4-word interrupt control block for the
current interrupt in progress on the Programmable Software
Interrupt (PSI) system. Refer to Chapter 6 for more information
about using the (PSI) system.
This call is used by generic interrupt processes that service
multiple interrupt conditions. Note that this call will not
generate an interrupt when UUO interrupts are enabled.
Calling Sequence
PIBLK. ac,
error return
normal return
Normal Return
On a successful return from this call, the address of the
interrupt control block is stored in the ac.
Error Return
The call can take the error return with one of the following
error codes stored in the ac:
Code Symbol Error
0 PSNIN% The PSI system has not been initialized for
this job.
1 PSNIP% No interrupt is in progress.
Related Calls
DEBRK., PIFLG., PIINI., PIJBI., PIRST., PISAV., PISYS., PITMR.
22-355
PIFLG. [CALLI 216]
PIFLG. [CALLI 216]
Function
The PIFLG. monitor call allows you to retrieve the PC flags of
the highest level pending interrupt that have been stored in the
monitor. Flags are stored in the monitor if you are using
extended addressing format, set by the PS.IEA bit of the PIINI.
monitor call.
Calling Sequence
/ MOVEI ac,.PSFRD \
\ MOVE ac,[flags,,.PSFWT] /
PIFLG. ac,
error return
normal return
where: flags are one or more of the interrupt PC flags. The
function codes are:
Code Symbol Function
0 .PSFRD Read interrupt flags.
1 .PSFWT Write interrupt flags.
Normal Return
The requested action is performed. Flags are returned in the ac.
Error Return
One of the following codes in returned in the ac:
Code Symbol Error
0 PSFNI% PSI system not initialized.
1 PSFNP% No interrupt in progress.
2 PSFEA% Extended addressing format for PI system not in
use.
3 PSFIF% Illegal function code.
Related Calls
PIBLK., PIINI., PIJBI., PISAV., PISYS., PITMR.
22-356
PIINI [CALLI 135]
PIINI. [CALLI 135]
Function
Initializes the programmable software interrupt (PSI) facility by
clearing any old interrupts and storing the base address of the
interrupt vector block. Refer to Chapter 6 for more information
about using the PSI system.
Calling Sequence
MOVE ac, [flag + addr]
PIINI. ac,
error return
normal return
. . .
addr:
where: flag is one or more of the following:
Bits Symbol Meaning
0 PS.UCS Use the current (PC) section for the vector
section. (IFIW) If PS.UCS is not set, addr is
treated as a 30-bit address.
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.
addr is the base address of the first interrupt vector
block. The interrupt vector block is a list of one or
more sub-blocks, each of which is formatted as follows:
Offset Symbol Contents
0 .PSVNP New program counter; this is the address of the
interrupt service routine.
1 .PSVOP Old program counter; this is the address of the
next instruction after the instruction that was
being executed when the interrupt occurred. If
the instruction was a monitor call, .PSVOP
contains the return address for the call;
however, if the monitor terminated the call,
.PSVOP contains the address of the call itself.
22-357
PIINI [CALLI 135]
Offset Symbol Contents
2 .PSVFL Control flags, and either device condition flags
or a non-I/O condition code.
The control flags are:
Bits Symbol Meaning
1 PS.VPO Disable all interrupts; they
can be reenabled by a
PISYS. monitor call.
2 PS.VTO Disable all interrupts of
higher priority until the
program gives a DEBRK. monitor
call.
3 PS.VAI Allow control block to accept
additional interrupts. Use
DEBRK. to dismiss interrupts.
4 PS.VDS Dismiss any additional
interrupt requests for this
condition or device until this
interrupt is dismissed (using
DEBRK.).
5 PS.VPM Print any standard message that
is relevant to this interrupt
condition.
6 PS.VIP Interrupts are in progress for
this interrupt control block.
This flag is used by the
monitor.
17-35 The right half of .PSVFL
contains the condition (reason)
for the interrupt. These are
divided into device I/O
conditions and non-I/O
conditions, and are described
under the PISYS. monitor call.
3 .PSVIS Interrupt status. When this auxiliary word is
returned by a device I/O interrupt, it contains:
udx,,file-status
22-358
PIINI [CALLI 135]
Normal Return
The program can use the PISYS. call to add or delete interrupt
conditions.
Error Return
The call can take the error return with one of the following
error codes stored in the ac:
Code Symbol Meaning
1 PIIBC% Illegal bit or section number given.
2 PIADC% Address check occurred.
3 PINFS% The monitor does not have sufficient free core.
Examples
See Chapter 6.
Related Calls
DEBRK., PIFLG., PIJBI., PIRST., PISAV., PISYS.
22-359
PIJBI [CALLI 175]
PIJBI. [CALLI 175]
Function
The PIJBI. monitor call allows one job to interrupt another with
a software interrupt. The interrupted job must be waiting for
the interrupt; it cannot be busy handling a previous interrupt.
The receiver enables cross-job interrupts by using the PISYS.
UUO (non-I/O condition .PCJBI).
Calling Sequence
MOVE ac,[XWD target,status]
PIJBI. ac,
error return
normal return
where: target is either the job context number of the job to
interrupt, or the job number of the job to interrupt.
Status is the status of the interrupt. The status word
is described in Volume 1.
A -1 for the job number will interrupt the job that is
executing the monitor call.
The job to be interrupted must be enabled for cross-job
interrupts or else the call will fail. Note that this
situation requires cooperation between two jobs, much
like ENQ/DEQ or IPCF. If the target job is processing an
interrupt, the sender must try again because requests are
not queued.
Normal Return
The interrupted job will receive a word of the following form:
[source,,status]
where source is the job context number of the job that performs
the PIJBI. call, and the status is the status that the job
included in the call.
22-360
PIJBI [CALLI 175]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Meaning
0 PSJNE% Job not enabled or the program specified an
invalid job number.
1 PSJOP% Job has an interrupt in progress. Try to
interrupt again.
Related Calls
DEBRK., PIFLG., PIINI., PISAV., PIRST., PISYS.
22-361
PIRST. [CALLI 141]
PIRST. [CALLI 141]
Function
Restores the saved state of the interrupt facility. This does
not restore any pending interrupts.
Calling Sequence
MOVEI ac,buffer
PIRST. ac,
error return
normal return
where: buffer is the address of the data saved by a PISAV.
monitor call.
Normal Return
The state of the interrupt facility as saved by PISAV. is
restored.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 PSNRS% Not restoring what was saved.
1 PSNME% Not enough monitor core to contain data base.
Related Calls
DEBRK., PIFLG., PIINI., PIJBI., PISAV., PISYS.
22-362
PISAV. [CALLI 140]
PISAV. [CALLI 140]
Function
Returns the monitor's data for the current state of the software
interrupt facility. Use PIRST. to restore this data to current
state.
Calling Sequence
MOVE ac,[XWD buflength,buffer]
PISAV. ac,
error return
normal return
. . .
buffer: BLOCK buflength
where: buflength is the length of the buffer for returned data
(buflength = 2 + (3 * blocks)). The data is returned in
a series of 3-word blocks, one block for each interrupt
vector.
buffer is the address of the buffer.
Normal Return
The interrupt data is returned at buffer in the format:
Offset Symbol Contents
0 .PSSFC Flags and count:
Bits Symbol Meaning
0 PS.SON The interrupt facility is on.
1 Reserved.
2 PS.SEA System using extended
addressing.
3-17 Reserved.
18-35 Count of words returned. If
error code PSBTS% (0) is
returned, this count is the
number of words required to
save the current interrupt
system.
1 .PSSIV Address of interrupt control block vector.
2 .PSSBL Address of first 3-word argument block.
22-363
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.
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, Monitor Calls Manual, Volume 1.
Related Calls
DEBRK., PIFLG., PIINI., PIJBI., PIRST., PISYS.
22-364
PISYS. [CALLI 136]
PISYS. [CALLI 136]
Function
Controls the program interrupt facility during execution.
Calling Sequence
|
| MOVE ac,[EXP flags+addr]
| PISYS. ac,
| error return
| normal return
| . . .
| addr: / SIXBIT/device/ \
| | EXP channo |
| | EXP udx |
| \ EXP condition /
| XWD vectoroffset,reasons
| XWD priority, 0
where: flags are one or more of the function flags described
below.
addr is the address of the argument list.
device is the SIXBIT physical or logical name of an
initialized device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
condition is one of the non-I/O condition codes described
below.
vectoroffset is the relative address of the control block
for the interrupt (maximum value for this is stored in
GETTAB table .GTCNF, item %CNMVO).
reasons are flags (described below) specifying the device
conditions that can cause an interrupt.
priority is the priority level assigned to the interrupt.
Priority 0 is the lowest level. Higher values indicate
which events may interrupt other events. The maximum
priority level is available in GETTAB table .GTCNF, item
%CNMIP (normally 3).
22-365
PISYS. [CALLI 136]
The function flags and their meanings are:
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:
Code Symbol Meaning
-1 .PCTLE Time limit exceeded for batch job. The job run
time (in milliseconds) is returned in the status
word. You can change the job's time limit with
the SET TIME monitor command.
-2 .PCTMR Timer interrupt occurred. This condition is
enabled with the PITMR. call.
-3 .PCSTP CTRL/C received from user terminal. If the job
was in terminal input wait state, bit 0 of the
status word is set.
-4 .PCUUO A monitor call is about to be processed; the
status word contains the monitor call.
-5 .PCIUU An illegal monitor call has been processed; the
status word contains the monitor call.
-6 .PCIMR An illegal memory reference occurred; the status
word contains the effective address.
-7 .PCACK An address check occurred; the status word
contains the device name.
-10 .PCARI An exceptional arithmetic condition occurred.
-11 .PCPDL A pushdown list overflow occurred.
-12 .PCNSP The DECnet NSP. monitor call interrupt
occurred. Refer to the NSP. UUO.
22-366
PISYS. [CALLI 136]
Code Symbol Meaning
-13 .PCNXM A reference to nonexistent memory occurred.
-14 .PCAPC A line-frequency clock tick occurred while the
job was running. Note that this does not mean
an interrupt occurs on every clock tick, but
only on those that occur while the job is being
serviced by the CPU. The status word contains
the date and time in universal format.
-15 .PCUEJ A fatal error occurred for the job.
-16 .PCXEJ An external condition caused a fatal error for
the job.
-17 .PCKSY A KSYS (end of timesharing) warning occurred;
the status word contains the number of minutes
left until KSYS.
-20 .PCDSC The dataset status changed.
-21 .PCDAT An ATTACH or DETACH monitor call was executed.
For ATTACH the status word contains -1; for
DETACH the status word contains the Universal
Device Index for the terminal.
-22 .PCWAK A WAKE monitor call was executed; the status
word contains the job number of the waker.
-23 .PCABK An address break condition occurred.
-24 .PCIPC An IPCF packet is in your job's input queue; the
status word contains the associate variable.
-25 .PCDVT DECnet logging event occurred. Returns DR.xxx
conditions, indicating that an event occurred
that the DECnet management layer must handle.
-26 .PCQUE One or more resources requested by an
ENQ. monitor call is now available; the status
word contains the inclusive OR of the
request-ids of the granted requests.
-27 .PCNET The ANF-10 network topology changed. You can
obtain the state of the network using a
NODE. monitor call.
-30 .PCJBI Cross-job interrupt.
22-367
PISYS. [CALLI 136]
Code Symbol Meaning
-31 .PCDTC Date/time changed. The offset from the previous
UDT is returned in the status word. This offset
should be added to a previously stored UDT.
-32 .PCOOB An out-of-band character was received.
-33 .PCRC1 Reserved for customer use.
-34 .PCRC2 Reserved for customer use.
-35 .PCSCS SCS event.
-36 .PCETH ETHERNET event.
The device interrupt reason flags and their meanings are:
Flag Symbol Device Condition
19 PS.RID Input done.
20 PS.ROD Output done.
21 PS.REF End-of-file.
22 PS.RIE Input error.
23 PS.ROE Output error.
24 PS.RDO Device off-line.
25 PS.RDF Device full.
26 PS.RQE Quota exceeded.
27 PS.RWT I/O wait.
28 PS.ROL Device on-line.
29 PS.RRC RIB has changed.
30 PS.RDH Device hung.
31 PS.RSW Reel switch.
32 PS.RIA Input available.
22-368
PISYS. [CALLI 136]
Normal Return
The specified function is executed or the condition is enabled.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 PSTMA% Although no bits in the left half of the ac
require an argument list, the right half is
nonzero.
1 PSNFS% The left half of the ac is zero.
2 PSUKF% Unknown function flag.
3 PSOOF% Both the on and off function flags are set.
4 PSUKC% Address check for addr.
5 PSDNO% Device not initialized.
6 PSPRV% Privilege failure.
7 PSIVO% Invalid vector offset; not a multiple of 4, or
too large. This value may not be larger than
the limit given in the item %CNMVO in the GETTAB
table .GTCNF.
10 PSUKR% Nonzero value at addr+2.
11 PSPTL% Priority too large. Highest priority allowed
can be obtained from GETTAB table %CNMIP.
12 PSNRW% Nonzero right halfword in control block.
13 PSPND% Facility not initialized by PIINI.
14 PSARF% Function flags for both "add" and "remove" are
set.
Examples
See Chapter 6, Monitor Calls Manual, Volume 1.
Related Calls
DEBRK., PIFLG., PIINI., PIJBI., PIRST., PISAV.
22-369
PITMR. [CALLI 203]
PITMR. [CALLI 203]
Function
Enables the PSI system to interrupt after a duration of time.
The PSI system must be initialized with the PIINI. call.
Calling Sequence
MOVE ac,[XWD flag,interval]
PITMR. ac,
error return
normal return
where: flag is bit 0, which can be set to indicate that the
interval is specified in milliseconds. If bit 0 is off,
the interval is assumed to be the number of seconds.
interval is the number of seconds to wait, then interrupt
this job; if bit 0 is set, then the interval is taken as
the number of milliseconds. If interval is specified as
0, the default is 1 clock tick.
Restrictions
o The job must enable the timer condition (.PCTMR), using
PISYS.
o A second request will override the first, because the job can
have only one timer interrupt request pending at a time.
o Specified in milliseconds, the maximum interval is 262.143
seconds.
o In seconds, the maximum interval is 1 hour, 12 minutes, 49
seconds (at 60 Hz); or 1 hour, 27 minutes, and 22 seconds (at
50 Hz).
Normal Return
The program continues at the skip return and is interrupted with
the timer condition after the specified interval.
22-370
PITMR. [CALLI 203]
Error Return
The program receives one of the following error codes in the ac:
Code Symbol Error
0 PSTNE% Timer interrupts are not enabled for your job.
Use PISYS. call to enable for these types of
interrupts.
1 PSUFB% Unknown function bit. The only bit that may be
set in the left half of the ac is bit 0.
Related Calls
DEBRK., PIFLG., PIINI., PIJBI., PIRST., PISAV., PISYS.
22-371
PJOB [CALLI 30]
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-372
POKE [CALLI 114]
POKE. [CALLI 114]
Function
Changes the value of a word in monitor core. Using the
POKE. call requires [1,2], JACCT, or JP.POK privileges.
Calling Sequence
MOVE ac,[XWD 3,addr]
POKE. ac,
error return
normal return
. . .
addr: monitor-addr
oldvalue
newvalue
where: addr is the address of the argument list.
monitor-addr is the address of the monitor word to be
changed.
oldvalue is the value of the word before the change.
newvalue is to be the value of the word after the change.
If you set UU.PHY using the instruction:
POKE. ac,UU.PHY
monitor-addr is assumed to be a physical memory address.
If you do not set UU.PHY, monitor-addr is assumed to be
an executive virtual address.
Normal Return
The value of the specified monitor word is changed.
22-373
POKE [CALLI 114]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 PKNPV% Your job is not properly privileged.
1 PKDIF% The value of the given word is different from
the value of oldvalue.
2 PKBAD% The value of monitor-addr is not a valid monitor
address.
Related Calls
PAGE., PEEK., SPY
22-374
QUEUE. [CALLI 201]
QUEUE. [CALLI 201]
Function
Allows your program to communicate with system components. The
actual communication is accomplished by QUEUE., using IPCF in
your behalf, but the QUEUE. call allows you to communicate with
system components using standard argument block formats. Some
functions provided by system components are not accessible
through QUEUE., and in these cases you must format your own
IPCF. messages. For example, QUEUE. allows you to send messages
to the GALAXY batch and spooling system, the accounting system,
and site-specific components.
Many of the implemented functions relate directly to monitor
commands. Therefore, information about these functions can be
obtained from the Commands Manual.
Calling Sequence
MOVE ac,[XWD len,addr]
QUEUE. ac,
error return
normal return
. . .
addr:
where: len is the length of the argument list, and must be 5 or
greater.
addr is the address of the argument list, which is
formatted as follows:
Argument |==============================================|
Block .QUFNC | QF.FLG | QF.HLN | QF.FNC |
Header |----------------------------------------------|
.QUNOD | Node-id |
|----------------------------------------------|
| Length of (QR.LEN) | Pointer to (QR.BLK) |
.QURSP | Response Block | Response Block |
|----------------------------------------------|
.QUTIM | | QT.TIM |
|==============================================|
Argument | | | |
Block | | | |
.QUARH | I | QA.LEN | QA.TYP |
|----------------------------------------------|
.QUARV | Value or Pointer |
|==============================================|
22-375
QUEUE. [CALLI 201]
Each word of the argument block header is described below:
Word Symbol Contents
0 .QUFNC Flags, header block length, and function code.
The flag field (QB.FLG) is in Bits 0-11 of the
left half of the word, in which you can set any
of the following flags:
Bit Symbol Meaning
0 QF.RSP User wants acknowledgement text
returned at the address
specified in Word 2 of this
block, .QURSP.
1 QF.PIP Your privileged job is invoking
privileges to perform privileged
QUEUE. call functions. You
must set this flag to use
privileged functions of QUEUE.
2 QF.NBR Non-blocking return. The call
will return automatically, and
the function will be performed
while your program runs. This
flag is useful with
function .QUWTO and requires
privileges.
The length of the header block is contained in
Bits 12-17, defined by the symbol QB.HLN.
The right half of word 0 contains the function
code. Function codes are listed at the end of
the argument header block description.
1 .QUNOD ANF-10 network node identifier. You must
specify whether the function is to be performed
at the central site (where the program is
running) or at a remote station. If this word
is 0, the central site is assumed. If you set
this word to -1, the located node (defined by a
LOCATE command or monitor call) is used.
2 .QURSP Pointer to the first word of a block reserved
for acknowlegement response from the system
component. Data is read from this word if
QF.RSP=1 in the function word. If non-zero, the
.QURSP word must contain the length of the
response block in the left half (QU.LEN) and the
address of the first word of the response block
in the right half (QU.BLK).
22-376
QUEUE. [CALLI 201]
Word Symbol Contents
3 .QUTIM This optional header word contains the maximum
number of seconds to wait for a response. If
the time is exceeded, the call returns error
code 11. If this word contains 0, or is
non-existent, there is no implied time limit on
the request.
The function codes that you can specify in Word 0 (.QUFNC) are:
Code Symbol Function
-n Reserved for use by customers.
1 .QUPRT Prints a file.
2 .QUCDP Punches a file on cards.
3 .QUPTP Punches a file on paper tape.
4 .QUPLT Plots a file.
5 .QUBAT Processes the file under BATCON, the batch
controller.
6 .QUALC Allocates a volume set.
7 .QUDAL Deallocates a volume set.
10 .QUMNT Mounts a volume set.
11 .QUDIS Dismounts a volume set.
12 .QUWTO Writes to operator.
13 .QUWTR Writes to operator with reply.
14 .QUVAL Validates an account.
15 .QUMAE Makes an accounting entry by sending a message
to the ACTDAE program. Refer to ACTSYM.MAC for
the format of accounting entries.
The argument header block is followed by the one or more argument
blocks. These argument blocks each consist of a header word and
one or more data words.
The header describes the data word. If Bit 0 of the header word
is set, the data words contain the value of the argument. If
however, Bit 0 in the header word is clear, the data word
contains the address of the data block. The remainder of the
header word provides the length and type code.
22-377
QUEUE. [CALLI 201]
The argument block, therefore, is formatted as follows:
Word Symbol Contents
0 .QUARH Contains information about the data word(s).
Specifically:
Bits Symbol Contents
0 QA.IMM If this bit is set, data for the
function starts at .QUARV.
If this bit is clear, the data
word contains the address of the
data block (IFIW or GFIW).
6-17 QA.LEN This field contains the number
of words in the data block. A
value of zero is interpreted as
one.
18-35 QA.TYP This field contains the code for
the type of data block that the
data word points to.
1 .QUARV Contains either the first word of the value of
an immediate argument for the function, or
contains the single-word address of a data block
that contains the argument.
Each function can be described by one or more types of data
blocks. The data blocks are listed below in the order of their
type codes. Include all the data block types that specify
information that is needed to perform the function you specified
in .QUFNC.
Use the value of QA.IMM to specify the location of the data. If
QA.IMM=1, the data words contain the data. If QA.IMM=0, the data
word 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.
22-378
QUEUE. [CALLI 201]
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 (SIXBIT).
6 .QBFS3 Third level of SFD (SIXBIT).
7 .QBFS4 Fourth level of SFD (SIXBIT).
10 .QBFS5 Fifth level of SFD (SIXBIT).
11 .QBCOP Number of copies block:
Offset Symbol Contents
0 .QBCNO Number of copies of the file to
be output.
12 .QBFRM Forms type block:
Offset Symbol Contents
0 .QBFTY Forms type in SIXBIT.
13 .QBPTP Print file type block (for function .QUPRT
only):
Offset Symbol Contents
0 .QBPCD File format code. Include one
of the following codes:
Code Symbol Meaning
1 .QBPAS ASCII.
2 .QBPFR FORTRAN.
3 .QBPCB COBOL.
4 .QBPAI Augmented image.
5 .QBPSA Stream ASCII.
6 .QBP11 Eleven.
7 .QBPIM Image.
10 .QBP8B 8-bit ASCII.
22-379
QUEUE. [CALLI 201]
Type Symbol Contents
14 .QBODP Output disposition block. Specifies the fate of
the file after the file is spooled.
Offset Symbol Contents
0 .QBODB Output file disposition, one of
the following:
Code Symbol Meaning
0 .QBODK Preserve the file after
processing it.
1 .QBODD Delete the file after processing
it.
2 .QBODR Rename the file into the
spooling area, effectively
deleting it from the original
area immediately.
15 .QBUNT Unit type:
Offset Symbol Contents
0 .QBUDA Device attributes in the left
half. If .QBUPH is specified in
the left half, you must specify
the unit number in the right
half of this word. The device
attribute codes are:
Code Symbol Meaning
1 .QBULC Lowercase printer.
2 .QBUUC Uppercase printer.
3 .QBUPH Physical device (specify unit
number in right half).
4 .QBUGN Generic device.
16 .QBAFT Specifies the date and time at which the request
should be processed.
Offset Symbol Meaning
0 .QBADT Time in universal date/time
format.
22-380
QUEUE. [CALLI 201]
Type Symbol Contents
17 .QBLIM Specifies the maximum number of units to which
the job is limited. For printer requests, this
is the number of pages. For batch processing,
this refers to number of seconds of processing
time, and so forth.
Offset Symbol Contents
0 .QBLNO Number of pages, seconds, or
appropriate limit.
20 .QBUNI Specifies whether a batch job can be processed
at the same time as others from the same PPN, or
if only one batch job from this PPN can run at a
time.
Offset Symbol Contents
0 .QBNVL Uniqueness code:
Code Symbol Meaning
1 .QBNNO Does not need to be unique.
2 .QBNYE Must be unique.
21 .QBRES Specifies whether a batch job should be
restarted by the operator if the job is
terminated unexpectedly (by a system failure,
for example).
Offset Symbol Contents
0 .QBRVL Restart code:
Code Symbol Meaning
1 .QBRNO Do not restart the job.
2 .QBRYE Restart the job.
22 .QBLOG Specifies the circumstances under which to print
a log file of the batch job.
Offset Symbol Contents
0 .QBLVL Output type code:
22-381
QUEUE. [CALLI 201]
Type Symbol Contents
Code Symbol Meaning
1 .QBLNL Never print a log file.
2 .QBLLG Always print a log file.
3 .QBLLE Print a log file only when the
batch job is terminated with an
error.
23 .QBACT Account string block. Specifies the ASCIZ
account string for a batch job. Argument words
.QBAC1 through .QBAC8 contain the ASCIZ string.
24 .QBFNC Reserved for use by DIGITAL.
25 .QBNOD Specifies the node at which the actual job
processing should be done (destination node).
Node number must be a remote non-host station in
an ANF-10 network.
Offset Symbol Contents
0 .QBNND Destination node number or
SIXBIT node name.
26 .QBNAM User's name block:
Offset Symbol Contents
0 .QBNM1 First word of SIXBIT user name.
1 .QBNM2 Second word of SIXBIT user name.
27 .QBOID Specifies the owner's PPN:
Offset Symbol Contents
0 .QBOPP Owner's PPN.
30 .QBNOT Specifies whether to notify the job when the
request is finished.
Offset Symbol Contents
0 .QBNTL Notify value:
Code Symbol Meaning
1 .QBNTY Notify job when request is
complete.
2 .QBNML Reserved for use by DIGITAL.
3 .QBNJB Reserved for use by DIGITAL.
22-382
QUEUE. [CALLI 201]
Type Symbol Contents
31 .QBBLT Specifies the action to take on the batch log
file:
Offset Symbol Contents
0 .QBBVL One of the following:
Code Symbol Meaning
1 .QBBND Append output log file to
existing log file.
2 .QBBDE Supersede existing log file.
3 .QBBSP Spool log file to printer
without preserving it in your
area.
32 .QBJBN Specifies the job name:
Offset Symbol Contents
0 .QBJNM SIXBIT job name.
33 .QBCDI Contains the batch job's default path block for
batch requests.
Offset Symbol Contents
0 .QBCPP PPN.
1 .QBCS1 First word of PATH block.
2 .QBCS2 Second word of PATH block.
3 .QBCS3 Third word of PATH block.
4 .QBCS4 Fourth word of PATH block.
5 .QBCS5 Fifth word of PATH block.
34 .QBNTE Specifies a note to include on output header
pages.
Offset Symbol Contents
0 .QBNM1 1 to 6 SIXBIT characters.
1 .QBNM2 1 to 6 SIXBIT characters
(maximum of 12 characters).
22-383
QUEUE. [CALLI 201]
Type Symbol Contents
35 .QBBGN Specifies the page number of the file to begin
printing, or the line number or tag in a batch
file where processing should begin.
Offset Symbol Contents
0 .QBBPN Beginning page number (for
printing), line number (for
batch jobs), or tag (in SIXBIT)
at which to begin processing a
batch job.
36 .QBPRI Specifies the relative priority of the request.
Unprivileged users can specify priorities
between 1 and 20, and privileged users can
specify a priority in the range of 1 to 62.
These limits can be changed by GALGEN, the
GALAXY generation program. If you specify
priority 0 or 63, the default priority is
assumed.
Offset Symbol Contents
0 .QBPVL Priority value (1 to 62).
37 .QBVSN Contains the ASCIZ volume set name. This block
must precede all other mount-specific blocks
when you perform a disk or tape mount.
Offset Symbol Contents
0 .QBVAS Beginning of ASCIZ volume set
name.
40 .QBMSG Contains the WTO/WTOR message block:
Offset Symbol Contents
0 .QBMAS Beginning of the ASCIZ message
for the operator.
41 .QBTYP Contains the privileged WTO/WTOR message type
block. WTO sends message to operator without
requiring response. WTOR requires response from
operator.
Offset Symbol Contents
0 .QBTAS Beginning of ASCIZ message for
the operator.
22-384
QUEUE. [CALLI 201]
Type Symbol Contents
42 .QBDEN Specifies the tape density:
Offset Symbol Contents
0 .QBTDN Tape density code. Refer to the
.TFDEN function of the TAPOP.
call.
43 .QBTRK Specified the tape track code:
Offset Symbol Contents
0 .QBDRV Tape track request code:
Code Symbol Meaning
1 .QBDR9 9-track tape.
2 .QBDR7 7-track tape.
44 .QBLTP Specifies the tape label type.
Offset Symbol Contents
0 .QBLAB Label type code. Refer to the
.TFLBL function of the TAPOP.
call.
45 .QBRMK Specifies the remark text:
Offset Symbol Meaning
0 .QBREM Start of ASCIZ remark to be sent
to operator with request.
46 .QBVOL Specifies the tape volume list:
Offset Symbol Meaning
0 .QBVLS Start of list of SIXBIT tape
volume identifiers. A maximum
of 63 volumes is allowed.
47 .QBLNM Specifies the volume set logical name:
Offset Symbol Meaning
0 .QBLGN SIXBIT logical name for this
volume set.
22-385
QUEUE. [CALLI 201]
Type Symbol Contents
50 .QBMFG Specifies MOUNT/DISMOUNT flags, indicated by
setting/clearing bits in the following word:
Offset Symbol Meaning
0 .QBMDF Flags to control the MOUNT or
DISMOUNT request:
Flag Symbol Meaning
0 QB.PAS Add the structure to the passive
search list (active search list
is default).
1 QB.EXC Exclusive/sharable access
(sharable is default for disk,
exclusive is default for tapes).
2 QB.NOC Prevent files from being created
on the volume set. (The default
is to allow file creation.)
3 QB.DSK This is a disk file structure
request.
4 QB.TAP This is a magtape request.
5 QB.WLK Write-lock the volume set
(default for magtapes).
6 QB.WEN Write-enable the volume set
(default for disk).
7 QB.REM Ask operator to remove the
structure when you dismount it.
8 QB.SCR Ask the operator to mount a
scratch tape.
9 QB.ARD Always recompute disk usage.
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 Contains a SIXBIT terminal name. This block is
not intended for customer use. .QBTTY is
included in the IPCF message the monitor sends
to ORION for a 'SEND OPR' command.
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-386
QUEUE. [CALLI 201]
Type Symbol Contents
55 .QBEVT Specifies an event to take place at the interval
requested in .QBREP (Type 56). .QBEV0 is the
argument word containing one of the following
options:
Code Symbol Event
1 EV.KSY KSYS
4 EV.ATO Time-of-day
5 EV.USG Usage file closure
6 EV.BIL Billing file closure
7 EV.OPR ORION log file closure
56 .QBREP Repeats the event requested in .QBEVT at the
interval given in the .QBRP0 argument word.
.QBRP0 contains one of the following options:
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
Or, you may specify .QBRP0 as day,,-1, where day
is the day of the week when the event occurs
(Wednesday=0, Thursday=1, and so on.)
57 .QBESW Contains the event switch block. This block
holds two words. .QBESD is the event-dependent
switch value word, and .QBESI is the
event-independent switch value word. You may
specify one of the following flags for .QBESI:
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 .QBOIY Enable OPR intervention.
2 .QBOIN Disable OPR intervention.
22-387
QUEUE. [CALLI 201]
Type Symbol Contents
61 .QBPRC Sets the IBM /PROCESSING node.
62 .QBOPT Specifies a SIXBIT batch option name. .QBOP0 is
the offset to the option name.
63 .QBDIS Specifies text to be printed for a
DISTRIBUTION: header. .QBDI0 is the offset to
the first word of ASCIZ data.
64 .QBUSR Specifies text to be printed for a
USERNAME: header. .QBUS0 is the offset to the
first word of ASCIZ data.
65 .QBUTY Specifies a SIXBIT unit name, such as "LN01" to
queue to an LN01 laser printer.
Normal Return
On the return from QUEUE., the IPCF messages have been sent to
appropriate components. If you requested a response by setting
QF.RSP, the following information is returned in the ac:
Bits Symbol Meaning
18 QU.RBT Response from GALAXY was too long for reserved
space (as specified in .QURSP) and had to be
truncated.
19 QU.RBR Response from GALAXY was returned.
23-35 QU.RBL Contains the length of the returned response
from GALAXY.
Error Return
The error codes and their meanings are:
Code Symbol Meaning
1 QUIAL% Illegal argument list.
2 QUILF% Illegal function.
3 QUNFS% No monitor free core.
4 QUADC% Address check.
5 QUCNR% Component not running or has no system PID.
6 QUFER% Fatal error returned from ORION.
7 QUSOC% Invalid message from ORION.
10 QUNPV% Insufficient privileges.
11 QUTMO% Timeout limit exceeded.
22-388
REASSI [CALLI 21]
REASSI [CALLI 21]
Function
Reassigns or deassigns a device for a job. Your program can
reassign a device if the device is assigned to your job, or if it
is not assigned to any job. Restricted devices cannot be
reassigned by unprivileged jobs. The logical name assignment is
also cleared, unless the calling job has JACCT privileges or is
logged in under [1,2].
Calling Sequence
|
| MOVEI ac,jobno
| / MOVE ac,[SIXBIT/device/] \
| | MOVEI ac,channo |
| \ MOVEI ac,udx /
| REASSI ac,
| return
where: jobno is the number of a logged-in job to which the
device is to be reassigned. Use -1 to indicate the
current job or 0 to deassign the device.
device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Return
If the ac is unchanged on the return from the call, the device is
reassigned as requested.
If the device is restricted and you specified 0 for jobno to
deassign the device, it is returned to the system's pool of
restricted devices.
A restricted device can be reassigned to an unprivileged job only
by a privileged job.
On the return from this call, the monitor performs an implicit
RELEAS monitor call for the device, unless you specified 0 or -1
for the jobno.
If the ac is cleared on the return, the jobno was not a valid job
number.
22-389
REASSI [CALLI 21]
If the ac contains -1 on the return, the device is not assigned
to the specified job. The device is your job's controlling
terminal, or the device name given is a duplicate of an existing
logical device name.
If ac+1 is cleared on a return from the call, the device is not
assigned to your job, or the device you specified was a disk or
your job's controlling terminal.
Common Errors
o Forgetting that there is only one return location from the
call.
o Attempting to assign a restricted device.
Related Calls
DEVLNM
22-390
RECON. [CALLI 202]
RECON. [CALLI 202]
Function
Performs tasks to aid system reconfiguration and diagnosis. This
call is not recommended for use by customer programs and requires
[1,2] or JACCT privileges. It is used by the CONFIG system
facility to take system snapshots, suspend the system, and other
system-wide functions. To perform the functions offered by the
RECON. call, use the CONFIG command level from the OPR program
(documented in the TOPS-10 Operator's Command Language Reference
Manual), because the functions must be performed in the correct
order or the system will fail to continue.
Calling Sequence
MOVE ac,[fcncode,,addr]
RECON. ac
error return
normal return
addr: argument-block
where: fcncode is one of the functions described below.
addr contains an argument block. The data in the
argument block depends on the function code. For
functions that do not require an argument, use 0 for
addr.
The function codes, their meanings, and argument blocks are:
Code Symbol Meaning
0 .RCROM Prevents execution of all jobs on the system
except the job number specified in addr+1. Use
-1 for current job. If the job number is 0, the
function is to resume normal timesharing. The
argument block for this call is:
MOVE ac,[.RCROM,,addr]
RECON. ac,
error return
normal return
. . .
addr: 2 ;length of argument block
jobno ;contains -1 for current job
22-391
RECON. [CALLI 202]
Code Symbol Meaning
1 .RCSPN Causes a suspension of the system. To
accomplish this, the monitor writes a copy of
memory to CRASH.EXE on disk, and the system is
halted. This last action is taken as the result
of the CONFIG command SUSPEND. This function
does not require an argument block, so the
calling sequence is:
MOVE ac,[.RCSPN,,0]
RECON. ac,
error return
normal return
2 .RCCI7 Causes the monitor to perform a continuable
stopcode (stopcode CI7), take a dump of memory,
and continue automatically. This dump is called
a "snapshot," and allows you to diagnose
problems by obtaining a dump without halting the
system. The .RCCI7 function does not require an
argument block, so the calling sequence looks
like:
MOVE ac,[.RCCI7,,0]
RECON. ac,
error return
normal return
3 .RCNAR Clears and sets the DF.NAR bit in the DEBUGF
word, which controls whether the system should
automatically reload on non-continuable
stopcodes. The DEBUGF word is defined in the
monitor symbol file S.MAC, and is manipulated
during analysis of system errors. By default,
DF.NAR is set, and automatic reload is enabled.
You can clear the bit to prevent auto-reload
when debugging the system, but this function
requires that you be logged in under [1,2].
22-392
RECON. [CALLI 202]
Code Symbol Meaning
The DF.NAR bit is set/cleared according to the
second word in the argument block. If Word 1 of
the argument is 0, the DF.NAR is cleared, and
automatic reload is enabled (default state). If
you place a non-zero value in Word 1, DF.NAR is
set, and the system will not automatically
reload on a non-continuable stopcode. The
calling sequence for this function is:
MOVE ac,[.RCNAR,,addr]
RECON. ac,
error return
normal return
. . .
addr: 2 ;length of argument block
-1 ;to disable auto-reload
4 .RCBTX Changes the BOOTXT command string to the command
string you specify in the argument. The calling
sequence for this function is:
MOVE ac,[.RCBTX,,addr]
RECON. ac,
error return
normal return
. . .
addr: n ;length of argument block
command-list ;first word
where n is the length of the command string (in
words) + 1. The command string cannot exceed 16
words, and cannot include line-feeds; therefore,
the maximum value for n is 17. For information
about the BOOTXT command string, refer to BTXLEN
in the COMMON monitor source file.
5 .RCRLD Causes the system to be reloaded. The monitor
will be reloaded from the file specified in
BOOTXT, and a crash dump will be taken. You
must be logged into [1,2] to use this function
(JACCT privileges alone are not sufficient).
This function causes an RLD stopcode and does
not require an argument list. The calling
sequence for this function is:
MOVE ac,[.RCRLD,,0]
RECON. ac,
error return
normal return
22-393
RECON. [CALLI 202]
Code Symbol Meaning
6 .RCRAC Causes auto-configuration (AUTCON) to run on the
specified CPU(s) to automatically configure
disks and tapes into the monitor's data base.
You must be logged in as [1,2] to use this
function. The calling sequence for this
function is:
MOVE ac,[.RCRAC,,n]
RECON. ac,
error return
normal return
where n specifies the CPU number. If n = -1,
AUTCON will run on all CPUs.
7 .RCDET Detaches a CPU or a device as specified in the
argument block. The calling sequence is as
follows:
MOVE ac,[.RCDET,,addr]
RECON. ac,
error return
normal return
addr: 2 ;length of argument block
SIXBIT CPU name
or
SIXBIT device name
10 .RCATT Attaches a CPU or device specified in the
argument block. The calling sequence for .RCATT
is:
MOVE ac,[.RCDET,,addr]
RECON. ac,
error return
normal return
addr: 2 ;length of argument block
SIXBIT CPU name
or
SIXBIT device name
22-394
RECON. [CALLI 202]
Code Symbol Meaning
11 .RCMON Sets a given range of memory on-line. The range
is given in two words of the argument block.
The first word specifies the first page of the
range, and the second word indicates the first
page beyond the range. The calling sequence is:
MOVE ac,[.RCMON,,addr]
RECON. ac,
error return
normal return
addr: 3 ;length of argument block
first page in range
last page in range +1
12 .RCMOF Sets a given range of memory off-line. You
specify the range the same way as for .RCMON.
The calling sequence is:
MOVE ac,[.RCMOF,,addr]
RECON. ac
error return
normal return
addr: 3 ;length of argument block
first page in range
last page in range +1
13 .RCCPU Returns the CPU accessibility mask. The mask
indicates which CPU is using the specified
device. The calling sequence for .RCCPU is:
MOVE ac,[.RCCPU,,addr]
RECON. ac,
error return
normal return
addr: 2 ;length of argument block
SIXBIT device name
The bit mask returned in the ac indicates which
CPU is associated with the device. For example,
Bit 35=CPU0, Bit 34=CPU1, and so forth.
22-395
RECON. [CALLI 202]
Code Symbol Meaning
14 .RCIOW Indicates when I/O on the system is complete.
The calling sequence is:
MOVSI ac,.RCIOW
RECON. ac,
error return
normal return
The return occurs after active I/O on the system
has finished.
15 .RCSDF Sets bits in DEBUGF that cause the monitor to
reload for a CPU, DEBUG, or JOB stopcode. This
function is used by ORION for the CONFIG
program. The calling sequence is:
MOVE ac,[.RCSDF,,addr]
RECON. ac,
error return
normal return
addr: 2 ;length of argument block
DEBUGF bits
16 .RCCDF Clears DEBUGF bits so that the monitor takes a
continuable dump on a CPU, DEBUG, or JOB
stopcode. This function is not intended for
customer use. The calling sequence is:
MOVE ac,[.RCCDF,,addr]
RECON. ac,
error return
normal return
addr: 2 ;length of argument block
DEBUGF bits
Normal Return
The specified function is performed.
22-396
RECON. [CALLI 202]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 RCIAL% Illegal argument list.
2 RCNPU% Not privileged.
3 RCNTS% Timesharing already stopped on some CPU.
4 RCNIJ% Illegal job number.
5 RCNCD% This function cannot be performed.
6 RCNAC% Address check.
7 RCNIS% Illegal command string for BOOTXT.
10 RCICN% Illegal CPU number.
11 RCNCR% CPU still running.
12 RCNCA% Can't attach disk.
13 RCNDS% Device is spooled.
14 RCNAA% Device is already attached.
15 RCNID% Illegal device.
16 RCNDU% Device is in use.
17 RCNND% Can't detach disk.
20 RCNNL% Can't set memory off-line.
21 RCNMM% Can't remove monitor memory.
22 RCNTB% Job or jobs too big.
23 RCNLJ% Can't move locked job(s).
22-397
RELEAS [OPCODE 071]
RELEAS [OPCODE 071]
Function
Releases an I/O channel. Use FILOP. to perform a RELEAS on an
extended I/O channel.
Calling Sequence
RELEAS channo,
return
Where: channo is the number of an initialized channel.
Return
The device is released, the channel is closed, any
device-dependent operations are performed, and any enqueue locks
are released.
If the given channel is not initialized, the monitor takes no
action.
Examples
See Chapter 11, Volume 1.
Common Errors
Forgetting the comma after the channel number.
Related Calls
FILOP.
22-398
REMAP [CALLI 37]
REMAP [CALLI 37]
Function
Moves the specified portion of a program's low segment into the
high segment, discarding the old high segment from the user
addressing space. The new low segment will be the previous low
segment minus the amount remapped. This monitor call is used by
the LINK program when you use the EXECUTE monitor command.
The .PAGCH function of the PAGE UUO has the same capability as
REMAP, but is more flexible.
Calling Sequence
MOVE ac,[XWD origin,addr]
REMAP ac,
error return
normal return
where: addr is the highest address in the low segment (that is,
the first address of the new high segment).
origin is the origin of the high segment.
The monitor waits until all I/O is completed in the low segment
before executing the REMAP monitor call. Then the monitor rounds
the address to the nearest core allocation unit (512 decimal
words).
Normal Return
o The monitor stores the value of addr in the location .JBREL
in the job data area.
o The monitor sets the left half of .JBHRL to zero (it deletes
the previous high segment).
o The monitor stores the highest legal user address for the
high segment in the right half of .JBHRL.
o The monitor changes the hardware mapping.
o The monitor sets the user-mode write-protect bit (the new
high segment is non-sharable).
o The contents of the ac are preserved.
22-399
REMAP [CALLI 37]
Error Return
The monitor takes the error return if any of the following
conditions is found:
o A negative argument is specified.
o The requested remapping would cause the high and the low
segments to overlap.
o The sum of the high segment origin plus its length would
cause the high segment to start (or end) at an address
outside the program's virtual address space (that is, greater
than or equal to 256K).
o The specified argument exceeds the length of the low segment.
Also, remapping will not occur, and the high segment will
remain unchanged in the user's address space.
o The segment is locked in memory.
Related Calls
CORE, GETSEG, MERGE., PAGE.
22-400
RENAME [OPCODE 055]
RENAME [OPCODE 055]
Function
Performs one or more of the following functions:
o Alters file attributes, including the file name, file
extension, and access privilege code of the file.
o Changes an SFD name.
o Deletes the specified file.
o Performs an implicit CLOSE.
Use FILOP. to perform a RENAME on an extended I/O channel.
Calling Sequence
RENAME channo,addr
error return
normal return
where: channo is the number of an initialized channel. If the
channel is an extended channel, use FILOP. function
.FORNM.
addr is the address of the argument list. The argument
list is equivalent to that of LOOKUP and ENTER calls and
is described in Section 11.13.
RENAME has two forms of argument block: the four-word block and
the extended argument block. The short-form (4-word) argument
list is described in Section 11.13.1. The extended argument list
is described in Section 11.13.2. For DECtape files, refer to
Chapter 13 for descriptions of the arguments.
The only way that your program can RENAME a file into or out of
an SFD is to refer to an explicit path using the PATH. argument
block (by including an [XWD 0,addr] instruction as the PPN
argument). If a RENAME is given that attempts to move a file
into or out of an SFD without specifying an explicit path, it
will take the normal return (assuming no other errors), but the
file will not change directories.
To delete a file after all read references have been made, your
program should specify the value of zero in the address of the
file name word in the RENAME block.
22-401
RENAME [OPCODE 055]
A delete function on a channel that is open for output, to
supersede a file, simply aborts the creation of the new file.
This is equivalent to a CLOSE with CL.RST set.
Although only a privileged job can delete a UFD, an unprivileged
job can delete an empty SFD. Note that you must set your path to
a different area before you can delete the current SFD. If the
directory is not empty or if a job is currently using the
directory, the monitor returns the DIRECTORY NOT EMPTY error
code.
A CLOSE is optional after a RENAME because a RENAME implicitly
performs a CLOSE. A CLOSE should not be issued between a LOOKUP
and a RENAME if the file is not in the default directory path,
because the CLOSE erases all memory of the path. If RENAME is
performed and the file is not in the default path, the monitor
returns the FILE NOT FOUND error in the right half of addr+1.
Restriction
If your program attempts to change the extension of an SFD, a
protection error results. An error also results if your program
attempts to alter the name, extension, or PPN associated with a
UFD or the PPN associated with an ersatz device name.
Normal Return
On a normal return, the monitor returns the same information on a
RENAME as on a LOOKUP and ENTER. Refer to Section 11.13.
Error Return
The error return is taken under the following conditions:
o No file has been opened on the specified channel.
o The specified file cannot be found.
o The specified file is currently in the process of being
written, superseded, or renamed.
o Your program does not have the appropriate privileges to
RENAME the file.
o The new file name already exists (occurs when changing file
names).
The monitor returns the error code for the RENAME monitor call in
the right half of addr+1 of the 4-word argument block, or in the
right half of addr+3 in the extended argument block. The error
code overwrites the high-order three bits of the creation date
and the entire access date.
22-402
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-403
RESCAN [TTCALL 10,]
RESCAN [TTCALL 10,]
Function
Resets the input buffer pointer to point to the beginning of the
previous command. Note that if the RESCAN UUO is issued after
the first terminal input or output instruction, the command is no
longer in the buffer.
Calling Sequence
RESCAN flag
return 1
return 2
where: flag controls the action of returning from the call. The
flag is bit 35 of the word. If the flag is not set, the
call always returns at return 1. If the flag is set, the
call returns at return 2 when no command is in the input
buffer, otherwise, the call takes return 1.
Example
RESCAN 1 ;Read TTY input
SKPINL ;Is anything there?
JRST PROMPT ;No, must be typeahead
;Read command line
. . .
Common Errors
Placing a comma after the flag.
22-404
RESDV. [CALLI 117]
RESDV. [CALLI 117]
Function
Resets a specified channel. RESDV. is similar to RESET, except
that only one channel is reset and any outstanding data is
discarded. If RESDV. is performed on a disk device, the file is
discarded (refer to the CLOSE function CL.RST).
Calling Sequence
MOVEI ac,channo
RESDV. ac,
error return
normal return
where: channo is the number of an initialized channel.
Normal Return
The channel is reset. Files that were being created on the
channel are deleted; any older files with the same name remain.
All I/O for the channel is stopped, and device allocations made
on the channel by INIT, OPEN, or FILOP. are closed. If the
device was not assigned by ASSIGN, ALLOCATE, REASSI, or MOUNT, it
is returned to the monitor's pool of available devices. (See the
Commands Manual for descriptions of these three commands.)
Error Return
If the ac contains -1, no device was associated with the channel.
Related Calls
CLOSE, RELEASE, RESET
Common Errors
Placing the channel number in the ac field.
22-405
RESET [CALLI 0]
RESET [CALLI 0]
Function
Initializes a program. Resets the program's runtime environment
to its initial state.
Calling Sequence
RESET
return
Return
The monitor initializes the program. This includes the following
functions:
o Clears all device allocations except those for devices
assigned by ASSIGN, REASSI, or MOUNT.
o Sets the job's first free location (right half of .JBFF) to
its starting value (left half of .JBSA). This allows buffer
space to be reclaimed when the program is restarted.
o Clears the left half of .JBFF (the job's first free
location).
o Aborts processing of any files that have not been closed to
release the associated I/O channels.
o Sets the user-mode write-protect bit for the high segment.
This prevents inadvertent data storage in the high segment,
and is done even if the segment is nonsharable.
o Unlocks your program, if it is locked in core.
o Releases any realtime devices.
o Resets any high-priority queue values to the value given in
the last HPQ command.
o Resumes timesharing if it was stopped by a TRPSET monitor
call.
o Resets any actions taken by APRENB, HIBER, or UTRP. monitor
calls in your program.
o Clears all program counter flags for your program (except
USRMODE and PUBLIC) that may be set.
22-406
RESET [CALLI 0]
o Clears any process identifications (PIDs) for your job,
except job-wide PIDs.
o Clears the software interrupt facility for your job.
o Releases and dequeues any enqueue locks or requests for your
job.
o Clears all of the data mode bits and the noecho bit for a
terminal. However, if the RESET is executed for a
not-logged-in job, whose program name is LOGIN, the noecho
bit will not be cleared. This allows noecho to be set by the
LOGIN command.
o Removes and undefines all SNOOP. breakpoints.
o Releases the performance meter.
o Clears any large disk buffers set by a UUO.
o Clears any address breaks set by a UUO.
22-407
RTTRP [CALLI 57]
RTTRP [CALLI 57]
Function
Connects a device to or releases it from the realtime interrupt
facility. For a discussion of realtime devices, interrupt modes,
and traps, refer to Chapter 9, Volume 1.
To use the RTTRP call, your job must have the JP.RTT privilege.
To use an EPT-mode trap, your job must have the JP.TRP privilege.
Your job must also have the JP.LCK privilege in order to lock
itself in core on the correct CPU.
Calling Sequence
MOVEI ac,addr
RTTRP ac,
error return
normal return
. . .
addr: argument list
where: addr is the address of the argument list.
The contents of the argument list depend on the interrupt mode
your program is setting up.
Normal Return
The device is connected to or released from the realtime
interrupt facility.
Error Return
The monitor returns one or more of the following error flags in
the ac. Before returning, the monitor scans the entire argument
list to discover as many errors as possible.
Bit Symbol Error
23 RTNEC% Nonexistent CPU.
24 RTJNP% Not enough privileges.
25 RTNC0% Not runnable on CPU0.
26 RTDIU% Device in use by another job.
27 RTIAU% Illegal accumulator used during RTTRP at
interrupt.
28 RTJNL% Job not locked (or not privileged).
29 RTSLE% System limit for realtime devices exceeded.
30 RTILF% Illegal format for I/O instruction.
22-408
RTTRP [CALLI 57]
Bit Symbol Error
31 RTPWI% Pointer word illegal.
32 RTEAB% Error address out of bounds.
33 RTTAB% Trap address bad.
34 RTPNB% PI channel not currently available for
BLKI/BLKO.
35 RTPNA% PI channel not available.
Related Calls
HPQ, TRPSET, UJEN
22-409
RUN [CALLI 35]
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 \
| | XWD 0,addr1 |
| | XWD 0,core | ;or zero
| \ XWD -1,,addr2 / ;optional
where: start-addr-increment is an increment to the starting
address of the called program. This increment is used to
call indirect command files and should be 0 or 1. If any
other value is used, the meddling bit is set for the job,
unless the program is execute-only. For an execute-only
program, this value can be only 0 or 1.
addr is the address of the 6- or 7-word argument block.
device is the logical or physical name of the device
where the program being called resides.
filename is the name of the file being called (containing
either or both high and low segments).
extension is the file extension of the low segment file
(normally .EXE or blank).
22-410
RUN [CALLI 35]
proj,prog specifies the owner of the called program. If
this word is zero, the monitor assumes that the called
program is in your directory (that is, your PPN is
assumed), or the PPN is determined from the directory
name (for example, SYS=[1,4]). If this word is
[XWD 0,addr1], addr1 points to a PATH. block containing
the complete path for the file. Refer to the description
of the PATH. monitor call for information pertaining to
the format of the PATH. block.
core is the total amount of core to be reserved for the
called program. This word must be included, but may be
zero. For a program that contains both low and high
segments, the amount of core required to load the high
segment is subtracted from the core assignment first.
The amount reserved for the low segment is the remainder.
addr2 contains a section number indicating where the image
should be loaded. Using this argument results in an
error if the .EXE file is not a single section program in
Section 0.
Normally your program sets up only the first two words of the
argument block, leaving the rest of the words in the argument
block zero.
You can omit values and accept defaults for all parameters in the
argument list except device and filename. The defaults are:
extension defaults to .EXE.
PPN defaults to your PPN.
core defaults to the amount required by the new
program.
Normal Return
The new program is started at its new address plus
start-addr-increment. The contents of ac may be changed on the
return, and the new contents are unpredictable, because they vary
from one monitor release to the next. The RUN call also performs
an implicit RESET call.
Error Return
The error return is taken if any errors are detected; the monitor
returns an error code in the ac. Your program can attempt to
recover from an error and continue the program's execution. If
you set the left half of the error return location to a HALT, the
monitor will not return to the program but will print an error
message. Your terminal will be at monitor level.
22-411
RUN [CALLI 35]
If you do not include a HALT in the left half of the error return
location, your program can analyze the error code returned in the
ac. If the error code indicates an error from which you can
recover, your program can issue another RUN monitor call,
possibly including a HALT instruction in the error return
location.
If your program is using overlays, the monitor will not attempt
to return to your program. Therefore, you should place the RUN
monitor call in the low segment of your program, in case the
error is discovered after the high segment has been released. If
the call is issued from the low segment and an error occurs, the
high segment of the program is cleared and must be
re-initialized.
If the call is issued from the high segment and an error occurs,
the monitor may halt the job and print the following message:
?Illegal address in UUO at user PC xxxxxx
For this reason, the RUN call should be given from the low
segment.
See Section 11.14 for a list of error codes.
Related Calls
GETSEG, MERGE.
22-412
RUNTIM [CALLI 27]
RUNTIM [CALLI 27]
Function
Returns the cumulative runtime (in milliseconds or ten
microsecond units) for a specified job.
Calling Sequence
MOVEI ac,jobno
HRLI ac,(RN.PCN) ;optional for high precision
RUNTIM ac,
return
where: jobno is the number of a logged-in job (use 0 for your
own job). You may optionally set the sign bit 1B0
(RN.PCN), to return the runtime for the specified job in
ten microsecond units (high-precision runtime).
Return
The ac contains the cumulative runtime (in milliseconds) for the
specified job. If no such job exists, the ac contains 0.
Examples
MOVEI T1,0
RUNTIM T1,
This code returns the cumulative runtime for the current job in
T1.
22-413
SAVE. [CALLI 210]
SAVE. [CALLI 210]
Function
Saves the program in memory as an executable (.EXE) file on disk.
This call is similar to the SAVE monitor command.
Calling Sequence
|
| MOVE ac,[flag,,addr]
| SAVE. ac,
| error return
| normal return
| . . .
| addr: SIXBIT/device/
| SIXBIT/filename/
| SIXBIT/extension/ ;or zero
| EXP 0
| / XWD proj,prog \
| | XWD 0,,addr1 |
| | XWD 0,0 | ;core argument
| | -n,,addr2 |
| \ XWD 0,core /
where: the flag is bit 0 of the ac. When set, this bit (SS%SSH)
indicates that the program should be saved with a
sharable high segment (similar to SSAVE monitor command).
addr is the address of the argument block, which is
formatted like the argument blocks of GETSEG and RUN
calls. device is the disk name or logical name of the
disk device where the file should be written. filename
and extension contain the file name and file extension of
the new file. Note that extension is optional and
defaults to .EXE. The extension is optional because the
RUN monitor command will not accept file extensions other
than .EXE.
proj,prog specifies the owner of the called program. If
this word is zero, the monitor assumes that your
directory contains the called program (that is, your PPN
is assumed), or the PPN is determined from the device
name (for example, SYS=[1,4]). If this word is
[XWD 0,,addr1], addr1 points to a PATH. block containing
the complete path for the file. Refer to the
PATH. monitor call for information pertaining to the
format of the PATH. block.
22-414
SAVE. [CALLI 210]
Normal Return
The program in memory is written to disk in executable format.
The contents of all accumulators may be changed; the new contents
are not reliable and are subject to change from one monitor
release to the next. The SAVE. call releases channel 0
implicitly.
Error Return
If an error occurs in the process of executing the SAVE. call,
the non-skip return is taken and an error code is returned in the
ac. Refer to Section 11.14 for the list of error codes.
22-415
SCHED. [CALLI 150]
SCHED. [CALLI 150]
Function
Reads or sets system scheduling parameters. JACCT or [1,2]
privileges are required to issue the SCHED. monitor call.
However, the read functions may be used by a user with SPY
privileges, and the write functions are available to users with
POKE privileges.
Calling Sequence
MOVE ac,[XWD len,addr]
SCHED. ac,
error return
normal return
. . .
addr: XWD fcncode,fcnarg
. . .
XWD fcncode,fcnarg
where: len is the length of the argument list.
addr is the address of the argument list.
fcncode is one of the function codes described below.
fcnarg is the address of the argument list for the
corresponding function code.
The function codes, their meanings, and their arguments are:
Code Symbol Function
0 .SCRSI Reads the micro scheduling interval. The
monitor returns the scheduling interval at
fcnarg.
400000 .SCSSI Sets the micro scheduling interval. The word at
fcnarg should contain:
Word Symbol Contents
0 .SCBSI Scheduling interval.
1 .SCRMI Reads the minimum core usage function evaluation
interval. The monitor returns the interval at
fcnarg.
22-416
SCHED. [CALLI 150]
Code Symbol Function
400001 .SCSMI Sets the minimum core usage evaluation interval.
The word at fcnarg should contain:
Word Symbol Contents
0 .SCBMI Minimum core usage interval.
2 .SCRCQ Reads class quotas and flags. The monitor
returns the quotas and flags at fcnarg and
following in the form:
Word Symbol Contents
0 .SCBCT Count of following words.
1 .SCBCQ Class and quota:
Bits Symbol Meaning
0 SC.FCQ Set if quota
is fixed.
1-17 SC.CLN Class number.
18-35 SC.CLQ Class quota.
There is one word of the form of .SCBCQ for each
word specified by the word count.
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]
Code Symbol Function
4 .SCRUF Reads the desired channel use fraction. This
fraction is the swapping channel utilization
percentage. The monitor returns the channel use
fractions at fcnarg in the form:
Word Symbol Contents
0 .SCBCT Count of following words.
1 .SCBUF Channel number in left half;
use fraction in right half.
There is one word of the form of .SCBUF for each
word specified by the word count.
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
by the word count. The monitor returns the
class 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
monitor returns the minimum core usage at fcnarg
(.SCBMC).
400006 .SCSMC Sets the minimum core usage per job. The
monitor reads the core usage from fcnarg
(.SCBMC).
22-418
SCHED. [CALLI 150]
Code Symbol Function
7 .SCRCU Reads the class usage since startup. The
monitor returns the class runtimes at fcnarg in
the form:
Word Symbol Contents
0 .SCBCT Count of following words.
1 .SCBCU Runtime for class 0.
There is one word of the form of .SCBCU for each
word specified by the word count.
10 .SCREF Obsolete. The offset symbol .SCBEF is also
obsolete.
400010 .SCSEF Obsolete.
11 .SCRMM Reads the minimum core usage multiplier. The
monitor returns the multiplier at fcnarg
(.SCBMM).
400011 .SCSMM Sets the minimum core usage multiplier. The
monitor reads the multiplier from fcnarg
(.SCBMM).
12 .SCRDC Reads the default class for new jobs. The
monitor returns the default class at fcnarg
(.SCBDC).
400012 .SCSDC Sets the default class for new jobs. The
monitor reads the default class from fcnarg
(.SCBDC).
13 .SCRRC Reads the minimum core usage requeue constant.
The monitor returns the constant at fcnarg
(.SCBRC).
400013 .SCSRC Sets the minimum core usage requeue constant.
The monitor reads the constant from fcnarg
(.SCBRC).
14 .SCRPM Reads the minimum core usage maximum. The
monitor returns the maximum (in microseconds) at
fcnarg (.SCBPM).
400014 .SCSPM Sets the minimum core usage maximum. The
monitor reads the maximum (in microseconds) from
fcnarg (.SCBPM).
22-419
SCHED. [CALLI 150]
Code Symbol Function
15 .SCRML Reads quantum multipliers for PQ1, PQ2, and
scale factor. The monitor returns the values at
fcnarg in the format:
Word Symbol Contents
0 .SCBCT Count of the following words.
1 .SCBMP For PQ1, the queue number in
left half, quantum multiplier
in right half.
2 .SCBMQ For PQ2, the queue number in
left half, quantum multiplier
in right half.
3 .SCBMR 3 in left half, scale factor in
right half (SC.BMR==3,,0).
400015 .SCSML Sets quantum multipliers for PQ1, PQ2, and scale
factor. The data at fcnarg must the the same as
that returned by the .SCRML function.
16 .SCRMX Reads the maximum quantum run for PQ1 and/or
PQ2. The monitor returns the maximum quantum
run at fcnarg in the format:
Word Symbol Contents
0 .SCBCT Count of the following words.
1 .SCBMX Queue number in left half,
maximum time slice (in
milliseconds) in right half.
The returned block contains one
word of the form of .SCBMX for
each word specified in the word
count.
400016 .SCSMX Sets the maximum quantum run for PQ1 and/or PQ2.
The data at fcnarg must be in the same format as
that returned by the .SCRMX function.
17 .SCRSQ Reads secondary class quotas. The monitor
returns the quotas at fcnarg in the format:
Word Symbol Contents
0 .SCBCT Count of following words.
1 .SCBSQ Class in left half, quota in
right half.
The data at fcnarg contains one word of the form
of .SCBSQ for each word indicated by the word
count.
22-420
SCHED. [CALLI 150]
Code Symbol Function
400017 .SCSSQ Sets secondary class quotas. The data at fcnarg
must be in the same form as that returned by the
.SCRSQ function.
20 .SCRIQ Reads the time percentage to scan queue just
swapped in before subqueues. The monitor
returns the time percentage at fcnarg (.SCBIQ).
400020 .SCSIQ Sets the time percentage to scan queue just
swapped in before subqueues. The monitor reads
the time percentage from fcnarg (.SCBIQ).
21 .SCRSS Reads swap scan time. The monitor returns the
swap scan time at fcnarg (.SCBSS).
400021 .SCSSS Sets swap scan time. The monitor reads the swap
scan time from fcnarg (.SCBSS).
22 .SCRBB Reads number for background batch subqueue. The
monitor returns the number at fcnarg (.SCBBB).
400022 .SCSBB Sets number for background batch subqueue. The
monitor reads the number from fcnarg (.SCBBB).
23 .SCRBS Reads background batch swap time interval. The
monitor returns the interval at fcnarg (.SCBBS).
400023 .SCSBS Sets background batch swap time interval. The
monitor reads the interval from fcnarg (.SCBBS).
24 .SCRSF Reads scheduler fairness factor. The monitor
returns the fairness factor at fcnarg (.SCBSF).
400024 .SCSSF Sets scheduler fairness factor. The monitor
reads the fairness factor from fcnarg (.SCBSF).
25 .SCRSW Reads swapper fairness factor. The monitor
returns the fairness factor at fcnarg (.SCBSW).
400025 .SCSSW Sets swapper fairness factor. The monitor reads
the fairness factor from fcnarg (.SCBSW).
26 .SCRIO Reads in-core fairness. The monitor returns the
fairness at fcnarg (.SCBIO).
400026 .SCSIO Sets in-core fairness. The monitor reads the
fairness from fcnarg (.SCBIO).
22-421
SCHED. [CALLI 150]
Code Symbol Function
27 .SCRSC Reads SCDCOR. The monitor returns the value of
SCDCOR at fcnarg (.SCBSC).
400027 .SCSSC Sets SCDCOR. The monitor reads the value for
SCDCOR from fcnarg (.SCBSC).
30 .SCRSO Reads the CPU scan order. The monitor returns
the scan order for each CPU at fcnarg+1. The
argument block at fcnarg is the same as the
information you give to set the scan order in
function 400030 (.SCSSO).
400030 .SCSSO Sets the CPU scan order. The argument list at
fcnarg should appear as:
Word Symbol Contents
0 .SCBCT Word count.
1 .SCBSO Scan order for CPU0.
2 .SCBSO Scan order for CPU1.
. . .
Where .SCBSO is 0 if the scan order is
[HPQ,PQ1,PQ2] or 1 if the order is
[HPQ,PQ2,PQ1].
31 .SCRRT Reads dormant segment retention time (in
jiffies). The monitor returns retention time at
fcnarg (.SCBRT).
400031 .SCSST 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.
22-422
SCHED. [CALLI 150]
Normal Return
The function has been performed.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 SCHAC% Address check.
2 SCHUF% Unknown function code.
3 SCHUJ% Unknown job.
4 SCHNP% Not enough privileges.
5 SCHUC% Unknown class.
6 SCHUQ% Unknown queue.
7 SCHNC% Nonexistent channel.
10 SCHEB% Bad exponential factor.
11 SCHMI% Cannot set protection if MCUINT is nonzero.
12 Reserved for use by DIGITAL.
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]
SCS. [CALLI 213]
Function
Provides the diagnostic interface to the Systems Communications
Service layer of the System Communications Architecture, allowing
information to be exchanged between jobs on different systems
connected over a CI20.
This monitor call is used in DIGITAL-supplied hardware diagnostic
programs and is not intended to be used in customer programs.
The calling sequences and arguments of SCS. are subject to change
without notice. The program must be run under [1,2] or have
JACCT privileges to use the SCS. UUO.
Calling Sequence
MOVEI ac,addr
SCS. ac,
error return
normal return
addr: len,,function
where: addr is the starting address of the argument block, len
specifies the total length of the argument block, and
function is one of the function codes described below.
The function word is formatted as follows:
Word Field
Symbol Bits Symbol Contents
.SSFNC 1-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]
Code Symbol Meaning
7 .SSQRM Queues buffer(s) to receive message.
10 .SSCSP Returns information about a status of a
connection.
11 .SSRCD Returns configuration data for a remote
system.
12 .SSSTS Returns information about status of a
connection.
13 .SSRMG Receives a message.
14 .SSMAP Maps a buffer for DMA transfer.
15 .SSUMP Unmaps a buffer for DMA transfer.
16 .SSSND Sends data to remove host.
17 .SSREQ Requests delivery of data.
20-21 Reserved.
22 .SSRDG Receives a datagram.
23 .SSACC Accepts a connection request.
24 .SSGDE Returns entry from data request complete
queue.
25 .SSEVT Returns entry from event queue.
26 .SSCRD Cancels datagram receive.
27 .SSCRM Cancels message receive.
30 .SSGLN Gets local node number.
31-34 Reserved.
35 .SSRBS Returns minimum buffer sizes.
36 .SSRPS Returns path status.
Normal Return
The function is performed successfully and the program continues
at the skip return.
Error Return
The function is not performed, and the error code is returned in
the ac. The error codes and their meanings are:
Code Symbol Error
0 SSNPV% Insufficient privileges.
1 SSIFC% Illegal function code.
2 SSARG% Bad argument list length.
3 SSACR% Address check reading argument block.
4 SSACS% Address check storing data.
5 SSCPN% CPU number is out of range.
6 SSNPC% No CI port on specified CPU.
7 SSNNK% CI node number on specified CPU is not known.
10 SSINN% Invalid CI node number.
11 SSNFC% No free core.
12 SSVNO% Virtual circuit is not open.
13 SSICI% Invalid connect identification.
14 SSRQE% Receive queue is empty.
22-425
SCS. [CALLI 213]
Code Symbol Error
15 SSNBQ% No buffer queued for packet reception.
16 SSRCF% Reject connection failed.
17 SSDCF% Disconnect connection failed.
20 SSNFB% No free buffers to send packet.
21 SSQBF% Queue buffers failed.
22 SSCBF% Cancel buffers failed.
23 SSPSF% Packet send failed.
24 SSDQE% Data entry queue empty.
25 SSEQE% Event queue empty.
26 SSCRB% Can't remove buffer from database.
27 SSCUB% Can't unmap buffer.
30 SSNSB% No such buffer name.
31 SSTMS% Too many buffer segment descriptions.
32 SSIDM% Illegal data mode.
33 SSSCP% Segment crosses page boundary.
34 SSSTL% Segment is greater than 1 page.
22-426
SEBLK. [CALLI 214]
SEBLK. [CALLI 214]
Function
SEBLK. is a privileged monitor call used only by DAEMON. It
returns system error block data.
Calling Sequence
MOVE ac,[arglen,,arglst]
SEBLK. ac
error return
normal return
where: arglen is length of the argument list stored at arglst.
Normal Return
The monitor returns information about system errors in the block
starting at arglst. The number of words stored in the monitor's
error block is returned in the ac. This tells you whether your
block was long enough to hold the information; if the block was
not long enough, the monitor truncated the information.
Error Return
One of the following codes is returned in the ac:
Code Symbol Error
0 SBNPV% Job not privileged.
1 SBNEQ% No error blocks on queue.
22-427
SENSE. [CALLI 133]
SENSE. [CALLI 133]
Function
Returns the I/O status bits for a device. I/O status bits can be
cleared individually using the CLRST. monitor call.
Calling Sequence
|
| MOVE ac,[XWD len,addr]
| SENSE. ac,
| error return
| normal return
| . . .
| addr: / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| XWD length,status
| . . .
| status: SIXBIT/name/
| status+1: XWD 0,GETSTS-bits
| status+2: DEVSTS-word
where: len is the length of the argument list, which must be 2.
addr is the address of the argument list.
device is the SIXBIT physical or logical name of an
initialized device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
Device, channo, and UDX are alternate ways of specifying
the device for which you desire the status bits.
length specifies the number of words in the status block.
This value should equal the number of devices multiplied
by 3.
status is the address of the status block.
22-428
SENSE. [CALLI 133]
The status block is returned in the form:
Offset Symbol Contents
0 .SNSDV The SIXBIT name of the device.
1 .SNSST The status bits for the device (GETSTS).
2 .SNSDS The device status (DEVSTS) bits for the device.
DEVSTS bits are from the device DDB, and are
different for each device.
Normal Return
The name and status bits for the device are returned at status.
Error Return
If the SENSE. monitor call is not implemented on your system, the
ac is unchanged; otherwise, the following error code is returned
in the ac:
Code Symbol Error
1 SNSBD% Illegal device specified.
Related Calls
CLRST.
22-429
SETDDT [CALLI 2]
SETDDT [CALLI 2]
Function
Sets the value of .JBDDT in the Job Data Area. Note that .JBDDT
is protected from a direct MOVEM because the monitor has its own
copy of .JBDDT and restores its value at every context switch.
Calling Sequence
MOVE ac,[last-addr,,start-addr]
SETDDT ac,
return
where: last-addr is the last address for DDT and start-addr is
the new start address.
Return
The start address and last address for DDT are set.
22-430
SETLCH [TTCALL 7,]
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
where: flags are described below.
lineno is the line number for a terminal that can be a
terminal line number (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:
Flag Symbol Characteristic
13 GL.LCM Terminal in lowercase mode.
14 GL.TAB Terminal has tab capability.
15 GL.LCP Local copy only (no echo).
16 GL.PTM The CTRL/Q papertape switch is on.
17 GL.NEC No echo from program.
Return
The line characteristics are set as requested. The argument
block is not changed.
Related Calls
GETLCH, TRMOP.
Common Errors
Using an ac in the calling sequence.
22-431
SETNAM [CALLI 43]
SETNAM [CALLI 43]
Function
Changes the name of the current program in the monitor's job
table. This name is used by some monitor commands, such as
USESTAT (CTRL/T) and SYSTAT.
The SETNAM monitor call also clears the SYS program bit (which is
used by GALAXY), clears the execute-only and JACCT bits, and
causes a version typeout if a version watch has been set with the
SET WATCH VERSION monitor command or with the .STWTC, ST.WVR
function of SETUUO.
Calling Sequence
MOVE ac,[SIXBIT/name/]
SETNAM ac,
return
where: name is the new program name for the job.
Return
The new program name is entered in the monitor's job table.
Examples
MOVE T1,[SIXBIT/NEWNAM/]
SETNAM T1,
This code changes the program name for the job to NEWNAM.
22-432
SETSTS [OPCODE 060]
SETSTS [OPCODE 060]
Function
Sets bits in the file status word for a device. Use FILOP. to
perform a SETSTS for an extended I/O channel.
Calling Sequence
SETSTS channo,bits
return
where: channo is the number of an initialized channel.
bits are I/O status bits. For a complete list of I/O
status bits, see the appropriate device chapter in Volume
1.
Return
The I/O status bits are set.
Examples
GETSTS CHN,T1 ;get status in T1
TRZ T1,IO.ERR ;keep mode and device-
; dependant bits
SETSTS CHN,(T1) ;clear errors
Related Calls
CLRST., GETSTS
Common Errors
1. If the SETSTS monitor call is done for a channel that has not
been initialized, the monitor stops the job and prints:
?IO to unassigned channel at user PC nnnnnn
2. If the data mode is illegal for the device, the monitor
prints:
?Illegal data mode for device xxxnnn; UUO at user PC
nnnnnn
22-433
SETUUO [CALLI 75]
SETUUO [CALLI 75]
Function
Sets system or job parameters. To set system parameters, your
job must have the JACCT bit set, or must be logged in under
[1,2], and may not be a batch job.
Calling Sequence
MOVE ac,[XWD fcncode,argument]
SETUUO ac,
error return
normal return
where: fcncode is one of the function codes described below.
argument is an argument for the given function code.
The function codes and their meanings are:
Code Symbol Function
0 .STCMX Sets the maximum core size that a user job may
use (the sum of the high and low segments,
CORMAX). The minimum value is set by MONGEN.
The maximum value is the size of user core in
words.
1 .STCMN Sets the guaranteed amount of contiguous core
that a single unlocked job can use (CORMIN).
The valid values are in the range 0 to CORMAX.
This argument is referred to as CORMIN.
2 .STDAY Obsolete.
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-434
SETUUO [CALLI 75]
Code Symbol Function
Bit Symbol Meaning
34 ST%NRL No remote LOGINs.
35 ST%NLG No LOGINs except CTY.
4 .STCDR Specifies the input name for the card reader
job, which is stored in the left half of
location .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:
Bit Symbol Meaning
9 ST.WCN /MESSAGE:CONTINUATION.
10 ST.WFL /MESSAGE:FIRST.
11 ST.WPR /MESSAGE:PREFIX.
11 ST.WMS /MESSAGE:ALL.
| 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.
19-26 ST.WAL Watch all.
22-435
SETUUO [CALLI 75]
Code Symbol Function
7 .STDAT Sets the system date as the number of days since
January 1, 1964, in 15-bit form. The argument
gives the number of days as:
((year-1964)12+(month-1))31+(day-1)
10 .STOPR Sets the SIXBIT name of the terminal to be used
as the operator terminal. The argument gives
the address of the word containing the name.
11 .STKSY Sets the decimal number of minutes until
timesharing ends; this value is stored in
SYSKTM. If SYSKTM is 0, timesharing is
continued indefinitely.
12 .STCLM Sets the maximum number of words of memory that
the job can use. This value is converted from
words to pages (at 512 words/page) and stored in
location JB.CLR in table .GTLIM. This value may
be set to zero, indicating that there is no
maximum limit.
13 .STTLM Sets the maximum number of seconds the job can
run. The argument is the number of seconds
permitted. This function cannot be used by
batch jobs that already have a time limit.
However, this function is allowed for non-batch
jobs, batch jobs with no time limit, and
privileged batch jobs with or without a time
limit.
14 .STCPU Specifies the CPU on which the job is to run.
The argument gives one of the following flags:
Bit Symbol Meaning
30 SP.CR5 Run on CPU5.
31 SP.CR4 Run on CPU4.
32 SP.CR3 Run on CPU3.
33 SP.CR2 Run on CPU2.
34 SP.CR1 Run on CPU1.
35 SP.CR0 Run on CPU0.
.STCPU is a privileged function, requiring
JP.CCC privileges. The error return is taken if
you attempt to change the CPU specification on a
single-CPU system.
22-436
SETUUO [CALLI 75]
Code Symbol Function
15 .STCRN Sets runnability for CPUs. The argument gives
one or more of the following flags:
Bit Symbol Meaning
30 SP.CR5 CPU5 is runnable.
31 SP.CR4 CPU4 is runnable.
32 SP.CR3 CPU3 is runnable.
33 SP.CR2 CPU2 is runnable.
34 SP.CR1 CPU1 is runnable.
35 SP.CR0 CPU0 is runnable.
The error return is taken if you attempt to
issue this function on a single-CPU system.
16 .STLMX Sets the maximum number of jobs that can be
logged in at any one time; this value is stored
in location LOGMAX. The argument gives the
maximum number of jobs; this number must be at
least 1, but no more than the system maximum,
which is defined by the symbol JOBN. JOBN is
the system limit defined when the monitor is
generated by MONGEN.
If you give a number smaller than the number of
jobs currently logged in, no new jobs can log in
until the number of jobs falls below LOGMAX.
You can obtain the number of jobs currently
logged in from the location %CNLNM in GETTAB
table .GTCNF.
17 .STBMX Sets the maximum number of batch jobs that can
be logged in at any one time; this value is
stored in location BATMAX. The argument gives
the maximum number of batch jobs; this number
must be less than the system maximum, which is
defined by the symbol JOBN.
You can obtain the number of batch jobs
currently logged in from the location %CNBNM in
GETTAB table .GTCNF.
20 .STBMN Sets the number of jobs reserved for batch
processing (BATMIN). The argument gives the
minimum number of jobs reserved. The value must
be in the range 1 to the value of BATMAX-1.
22-437
SETUUO [CALLI 75]
Code Symbol Function
21 .STDFL Sets the action to occur if the user disk space
is filled for the job. The argument is one of
the following codes:
Code Symbol Meaning
0 .DFPSE Pause when disk filled for job.
1 .DFERR Error when disk filled for job
or the user's quota has been
exceeded.
Any other value for argument returns the current
setting for .STDFL in the ac; the initial
default setting is .DFERR.
22 .STMVM Sets the system-wide virtual memory limit
(GVPL). The value returned in ac depends on the
given argument:
o If the given argument is less than the
current virtual memory page count, the value
returned is the total amount of virtual
memory in use by all virtual memory users.
o If the given argument is greater than the
current available swapping space, the value
returned is the total amount of available
swapping space.
o If the given argument is greater than the
total amount of virtual memory currently in
use, the value returned is the given
argument.
23 .STMVR Obsolete. This historical SETUUO function
always takes the error return and clears the ac.
24 .STUVM Sets the maximum virtual memory page limit and
the maximum physical memory page limit. The
argument gives the address of the word whose
format is:
LH = maximum virtual page limit (MVPL)
RH = maximum physical page limit (MPPL)
If the left half of the word (MVPL) is 0, the
user cannot use the virtual memory option. When
MVPL is set to 0, MPPL should also be set to 0.
If the right half (MPPL) is 0, the user can use
all of the system's physical memory.
22-438
SETUUO [CALLI 75]
Code Symbol Function
25 .STCVM Sets the current memory maximum. The argument
is the address of a word whose format is:
LH = current virtual page limit (CVPL)
RH = current physical guideline or limit
(CPPL)
The left half (CVPL) of the word at the
indicated address contains the current virtual
page limit.
If bit 18 (ST.VSG) is 0, the right half (CPPL)
contains the current physical page guideline; if
bit 18 is 1, bits 19 to 35 contain the current
physical page limit. A guideline is an
approximate physical page limit.
The guideline algorithm allows you to set a
memory limit that will not be strictly enforced.
The page fault handler will attempt to meet the
page limit within a window of approximation,
allowing slight over-allocation to accommodate
the program. If you set the ST.VSG bit, the
allocation is taken as a limit, and that limit
is strictly enforced.
26 .STTVM Sets the time interval between virtual time
traps in milliseconds. A virtual time trap
causes a Code 4 page fault to the page fault
handler each time the time interval has elapsed.
The argument gives the number of milliseconds
between traps.
27 .STABK Sets the address break condition. On a normal
return, the new address break condition and the
break address have been set. The address
conditions are specified in the word pointed to
by the argument. These conditions are:
Bits Symbol Contents
0 ST.AEX Set to break on EXECUTE.
1 ST.ARD Set to break on READ.
2 ST.AWR Set to break on WRITE.
3 ST.AUU Set to break on monitor
reference.
| 4-8 ST.ASN Specify the section number for
| the break address.
22-439
SETUUO [CALLI 75]
Code Symbol Function
Bits Symbol Contents
9-17 ST.ACT The number of times the break
address is to be referenced
before an interrupt occurs.
18-35 ST.ADR Sets the break address.
To clear the address break, clear bits 0 through
3.
If you have enabled for address break
interrupts, the PSI system will interrupt on an
address break. If the PSI system is not
enabled, the monitor will stop your job and
display the following message on your terminal:
%Address break at user PC xxxxxx
30 .STPGM Sets the name of a program that will run when
the current program session finishes executing.
You must run the program executing this SETUUO
from SYS:, under [1,2], or with JACCT privilege
set. The argument block is:
EXP flag ;Bits 2-35 reserved
SIXBIT /progra/ ;progra is program name
The monitor does an implied RUN UUO on
SYS:progra.EXE when the current program session
ends. Program session termination occurs under
one of the following conditions:
o When Bit 0 of the flag is set, the session
terminates whenever the job would otherwise
enter monitor mode (for instance, EXIT UUO,
^C, illegal memory reference, or swap read
error). If the job becomes detached,
issuing the unprivileged ATTACH command (or
the ATTACH UUO) does not attach you to the
job in monitor mode. You will attach in
user mode instead. The DETACH function of
the ATTACH UUO allows you to detach, leaving
your terminal in monitor mode.
22-440
SETUUO [CALLI 75]
Code Symbol Function
o When Bit 0 of the flag is clear, the session
terminates whenever you execute a command
that destroys the core image. The RUN UUO
executes SYS:progra.EXE instead of whatever
command you issued. You can still enter
monitor mode when your program terminates,
or when you issue an ATTACH command. You
may then execute any command that does not
change the core image, as well as the KJOB
command. Commands that automatically save
the current context and push to a new one do
not change the core image.
The status of .STPGM remains in effect until it
is explicitly cleared by a privileged program,
or the job logs out. Whenever .STPGM is in
effect, the program may execute RUN UUOs on any
file. Control may even transfer to a program
that is not privileged to execute this SETUUO.
If .STPGM specifies an inaccessible file,
SYS:LOGOUT will be run when the program session
terminates.
31 .STDFR Sets deferred spooling. If argument is
non-zero, spooled output will not be queued
until the job logs out. If argument is zero,
spooled output will be queued as each file is
closed.
32 .STHST Sets the host system. This function logically
attaches the controlling terminal to the
specified host system in an ANF-10 network. The
job on the previous system becomes detached.
The calling sequence is:
MOVE ac,[.STHST,,addr]
SETUUO ac,
error return
normal return
. . .
addr: node number or SIXBIT node name
22-441
SETUUO [CALLI 75]
Code Symbol Function
33 .STDEF Sets default values for job-wide parameters.
The calling sequence for the .STDEF function is:
MOVE ac,[XWD .STDEF,addr]
SETUUO ac,
error return
normal return
. . .
addr: XWD arglen,subfcncode
argument
where: arglen gives the number of arguments to
follow.
subfcncode is one of the following subfunction
codes:
Code Symbol Subfunction
0 .STDPC Set default protection code.
addr+1 contains the new default
protection code.
1 .STDNB Set default number of disk
buffers. addr+1 contains the
new default number of disk
buffers.
2 .STDAD Controls whether LOGIN will ask
you about attaching to this job
should you previously have
detached from it. JD.DAD in
.GTDFL contains the value of
the flag.
Argument JD.DFL Action
zero clear LOGIN will
ask about
this job.
non-zero set LOGIN does
not ask if
you want to
attach to
this job.
3 .STDSB Sets the default size of a disk
buffer. Refer to SET BIGBUF
monitor command. addr+1
contains the new disk buffer
size (value is number of blocks
per buffer).
22-442
SETUUO [CALLI 75]
Code Symbol Function
34 .STPRV Sets the privilege and capability words. The
calling sequence for the .STPRV function is:
MOVE ac,[XWD .STPRV,arglst]
SETUUO ac,
. . .
arglst: XWD 0,subfcncode
argument
subfcncode is one of the following subfunction
codes:
Code Symbol Subfunction
0 .STCPW Sets entire privilege word.
1 .STCPS Sets specified bits of
privilege word.
2 .STCPC Clears specified bits of
privilege word.
3 .STCCW Sets entire capability word.
4 .STCCS Sets specified bits of
capability word.
5 .STCCC Clears specified bits of
capability word.
NOTE
You can always clear bits in the privilege word.
However, you can set only those bits in the
privilege word that are set in the capability word,
unless you are a privileged job.
35 .STBSN Sets batch stream number (settable only once per
instance).
36 .STWTO Sets write-to-operator values. Refer to GETTAB
table .GTOBI.
37 .STCDN Sets CPU up/down status. To control the CPU
up/down status, set the appropriate bits in the
argument, from the following list:
Bit Function
18 Remove CPU from system.
19 Suspend the CPU.
20 Add the CPU to the system.
The CPU number must be stored in bits 33-35 of
the argument.
22-443
SETUUO [CALLI 75]
Code Symbol Function
40 .STCSB Sets or clears cache bits. The cache can be
enabled or disabled for the monitor's low
segment by setting the argument to 1 to enable
cache, or 0 to disable cache.
41 .STFPS Obsolete.
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.
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.
45 .STEBP Sets the EDDT breakpoint facility. The argument
to this function is either 0 (to disable the
facility) or 1 (to enable the facility).
46 .STBPT Sets the DDT breakpoint facility. The argument
to this function is either 0 (to disable the
facility) or 1 (to enable the facility).
47 .STTMS Sets the system time of day. Specify the time
as the number of seconds past midnight.
|
| 50 .STCXP Sets the maximum core size that a user job may
| use (CORMAX). The maximum value is the size of
| the user core in pages. Set Bit 18 of this word
| to reduce the maximum core size gradually
| ("soft" CORMAX). Larger jobs will continue to
| run until they contract below the soft CORMAX
| limit, then will not grow 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.
Normal Return
The function is performed and the ac is unchanged.
22-444
SETUUO [CALLI 75]
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.
Otherwise, one of the following error codes can be returned in
the ac:
Code Symbol Error
0 STNAR% Specified CPU(s) not running (functions .STCPU
and .STCRN).
1 STDHP% Insufficient privileges to perform specified
function.
2 STISN% Illegal structure name (function .STQST).
3 STITM% Illegal time (resulting time would be greater
than 23:59:59).
Related Calls
JBSET.
22-445
SETUWP [CALLI 36]
SETUWP [CALLI 36]
Function
Sets or clears user-mode write protection for the job's high
segment. You must use the SETUWP call to clear write protection
before your program can modify its high segment.
Because the previous setting of this bit is returned in ac, you
can write subroutines that preserve the previous setting and
restore them before returning.
Calling Sequence
MOVEI ac,fcncode
SETUWP ac,
error return
normal return
where: fcncode is one of the following function codes:
Code Function
0 Write-enables the high segment.
1 Write-protects the high segment.
Normal Return
The user-mode write protection bit is set as specified, and the
previous setting is returned in the ac.
Error Return
The error return is taken under the following conditions:
o If the high segment is a SPY segment.
o If the high segment has been meddled.
o If the user does not have the access privileges required to
access the specified high segment.
22-446
SKPINC [TTCALL 13,]
SKPINC [TTCALL 13,]
Function
Skips the next program instruction if at least one character can
be input from the job's controlling terminal. The SKPINC call
does not input a character. SKPINC clears the CTRL/O output
state and sets the terminal to "character mode", preventing the
monitor from processing control characters, such as DELETE and
CTRL/U, as input line editing commands.
This call is useful in a compute-bound program that should check
occasionally for user input.
Calling Sequence
SKPINC
return 1
return 2
where: the call returns to return 1 if there is no user input,
or to return 2 is there is user input.
Related Calls
SKPINL
22-447
SKPINL [TTCALL 14,]
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.
Calling Sequence
SKPINL
return 1
return 2
where: the call returns to return 1 if a complete line has not
been typed, or to return 2 if a complete line has been
typed.
Related Calls
SKPINC
22-448
SLEEP [CALLI 31]
SLEEP [CALLI 31]
Function
Causes your program to become dormant for a specified number of
real-time seconds.
Calling Sequence
MOVEI ac,seconds
SLEEP ac,
return
where: seconds gives the number of seconds that the job is to
sleep. If you give seconds as 0, the program will sleep
for one clock tick. The maximum sleep time is 68 seconds
(or 82 seconds for systems using 50 Hz frequency). If
you require a longer sleep period, use the HIBER monitor
call.
Return
Your job becomes dormant and the monitor sets the JBTST2 bit,
JS.SLP. The monitor will clear this bit when the specified time
has elapsed and your job becomes runnable again. All potential
job-wakers should check this bit and wake a job only if the bit
is cleared.
Examples
MOVEI T1,1
SLEEP T1,
This code puts your job to sleep for 1 second.
Related Calls
HIBER
22-449
SNOOP. [CALLI 176]
SNOOP. [CALLI 176]
Function
Allows privileged programs to insert breakpoints in the monitor
that trap to a user program. The user program must be locked in
core when the trap occurs (refer to LOCK monitor call). This
feature is used for fault insertion, performance analysis, and
trace functions. Only one job can use SNOOP. at any time.
CAUTION
Improper use of the SNOOP. call can cause the
system to fail in a number of ways. User
programs may require special code for
multiprocessor systems because the monitor may be
executing the same code simultaneously on several
systems and at different interrupt levels.
Refer to Chapter 10 for more information about the SNOOP.
monitor call. Do not attempt to use this call until you are
familiar with its operation.
Calling Sequence
MOVE ac,[XWD fcncode,addr]
SNOOP. ac,
error return
normal return
. . .
addr: argument list
where: fcncode is one of the function codes described below.
addr is the address of the argument list. The words at
addr depend on the given function.
22-450
SNOOP. [CALLI 176]
The function codes and their meanings are:
Code Symbol Function
0 .SODBP Defines breakpoints. This function is illegal
if breakpoints have been inserted.
The argument list for the .SODPB function is:
arglst: EXP arglength
EXP symbol checksum
EXP address
instruction
. . .
EXP address
instruction
where: arglength is the length of the argument
list. This must be 2 + the number of
address-instruction pairs in the
argument list times 2 .
symbol checksum is the checksum from the
current monitor's symbol table.
The checksum is required to ensure that the user
is setting breakpoints in the intended monitor.
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.
142 %CNMBS Bootstrap file structure.
143 %CNMBF Bootstrap file name.
144 %CNMBX Bootstrap file extension.
145 %CNMBD Bootstrap file directory.
155 %CNSF1 Bootstrap first SFD.
156 %CNSF2 Bootstrap second SFD.
157 %CNSF3 Bootstrap third SFD.
160 %CNSF4 Bootstrap fourth SFD.
161 %CNSF5 Bootstrap fifth SFD.
22-451
SNOOP. [CALLI 176]
Code Symbol Function
The checksum is followed by a series of word
pairs, each of which defines a breakpoint by
specifying, in the first word of each pair, the
monitor virtual address where the new
instruction is to be placed, and, in the second
word of the pair, the new instruction to be
inserted. 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.
1 .SOIBP Inserts all breakpoints that have been defined
using function 0. Your program must be locked
in contiguous executive virtual memory to use
this function (see the LOCK monitor call).
2 .SORBP Removes inserted breakpoints from monitor code.
3 .SOUBP Undefines breakpoints that have been removed
using function 2.
4 .SONUL Null function. This function allows you to
execute code inserted at label BP$000, after
ensuring that your job owns the SNOOP resource.
This may be used by a program that must execute
code in monitor context and wants to ensure that
only this program can invoke the inserted code.
If you do not own the SNOOP resource, the
instruction at BP$000 is not executed, and the
error code SOSAS% is returned.
22-452
SNOOP. [CALLI 176]
Normal Return
The indicated function has been performed.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 SOIAL% Illegal argument list.
2 SONPV% Not enough privileges.
3 SOSAS% Another program already snooping.
4 SOMBX% Maximum number of breakpoints exceeded.
5 SOIBI% Breakpoints already inserted.
6 SONFS% No monitor free core available.
7 SOADC% Address check.
10 SOINL% Program not locked in contiguous executive
virtual memory.
11 SOWMS% Monitor symbol table checksum does not match.
Examples
The monitor computes the symbol table checksum in the following
manner:
MOVE T1,.JBSYM
SETZM CHKSUM
LOOP: MOVE T2,(T1)
EXCH T2,CHKSUM
ROT T2,1
ADD T2,CHKSUM
EXCH T2,CHKSUM
AOBJN T1,LOOP
.
.
.
MOVE T1,[XWD .SODBP,PUTEM]
SNOOP. T1,
JRST NOGOOD
MOVE T1,[XWD .SOIBP,0]
SNOOP. T1,
JRST NOBTTR
.
.
.
PUTEM: EXP 6
EXP MONITOR-CHECKSUM
EXP 12345
JRST HOOK1
EXP 12355
JRST HOOK2
22-453
SNOOP. [CALLI 176]
At this point the breakpoints have been inserted. To remove
them:
.
.
.
MOVE T1,[XWD .SORBP,0]
SNOOP. T1,
JRST BUMMER
MOVE T1,[XWD .SOUBP,0]
SNOOP. T1,
JRST LOSTIT
.
.
.
22-454
SPPRM. [CALLI 172]
SPPRM. [CALLI 172]
Function
Sets parameters for spooled files.
Calling Sequence
MOVE ac,[length,addr]
SPPRM. ac,
error return
normal return
. . .
addr: function code
device-id
parameters
.
.
.
where: length is the length of the argument list.
addr is the address of the argument list; and the data at
addr is listed below.
function code specifies the type of file.
device-id identifies the device.
parameters describes the characteristics of the file
processing to be performed. These parameters are
optional.
Specifically, the argument list is:
Word Symbol Contents
0 .SPPFN Function code, one of the following:
Code Symbol Function
1 .SPSFP Sets spooled file parameters.
2 .SPSPR Sets spooled parameters for
renamed files.
1 .SPPDN SIXBIT name of spooled device, channel number of
spooled file, or the UDX of the device. The
following words are optional
2 .SPPCP Number of copies.
22-455
SPPRM. [CALLI 172]
Word Symbol Contents
3 .SPPFM SIXBIT forms name.
4 .SPPLM Limit.
5 .SPPSF Spooling flags:
Bits Symbol Meaning
1-2 SP.DFR Deferred/immediate flag.
Value Symbol Setting
1 .SPDFD Deferred. The
spooler should
not start
processing the
file until the
user job logs
out.
2 .SPDFI Immediate.
Begin spooling
immediately.
30-35 SP.TYP Type of device, as reported by
DEVTYP monitor call.
6 .SPPDA Device attributes:
Bits Symbol Attribute
0 SP.UPC Uppercase (LPT).
1 SP.LWC Lowercase (LPT).
18 SP.PHY Physical unit is given in
SP.UNI.
28-35 SP.UNI Physical unit number (if SP.PHY
set).
7 .SPPND Node at which processing is to be done.
10 .SPPAF Time at which to begin processing (similar to
/AFTER switch).
11 .SPNM1 In-your-behalf user name (word 0 of word pair)
in SIXBIT.
12 .SPNM2 Second word of user name, in SIXBIT.
13 .SPMAX Maximum length of argument block.
22-456
SPPRM. [CALLI 172]
Normal Return
The specified parameters are set.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
-1 SPPAC% Address check.
0 SPPIA% Illegal length for argument list.
1 SPPID% Illegal device.
2 SPPNA% Device not assigned or initialized.
3 SPPNS% Device not spooled.
4 SPPNC% No free core for spooled parameter block.
5 SPPIF% Illegal function code.
22-457
SPY [CALLI 42]
SPY [CALLI 42]
Function
Maps monitor section zero low-segment address space into your
program's high segment. Use of the SPY monitor call requires
that bit 16 (JP.SPA) or bit 17 (JP.SPM) in the privilege word
.GTPRV be set. The SPY segment cannot be write-enabled.
The SPY monitor call can be used to examine the monitor during
timesharing; it allows read-only access to monitor locations.
The SPY segment size cannot be changed by a CORE monitor call; if
you attempt to do this, the CORE call will take its error return.
Calling Sequence
MOVEI ac,monitoraddr
SPY ac,
error return
normal return
where: monitoraddr is the highest exec virtual (monitor) address
desired. Monitor low-segment core from 0 to monitoraddr
is mapped into user high-segment core from 400000 to
400000+monitoraddr. Therefore the value of monitoraddr
can be any value between 0 and 377777.
Note that you cannot save this portion of memory with the SAVE.
monitor call.
Normal Return
The desired monitor core is mapped into your program's high
segment.
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-458
SPY [CALLI 42]
Examples
This code maps some of the monitor's section zero low segment.
MOVE T1,[%CNSIZ]
GETTAB T1,
HALT
SPY T1,
JRST ERROR
Related Calls
PAGE., PEEK, POKE.
22-459
STATO [OPCODE 061]
STATO [OPCODE 061]
Function
Tests the I/O status word for a device and skips if any of the
specified bits are set. Use FILOP. to perform a STATO for an
extended I/O channel. The I/O status bits are defined
differently for each device. Therefore, the bits appropriate to
each device are described in Volume 1 in the chapter on that
device.
Calling Sequence
STATO channo,mask
return 1
return 2
where: channo is the number of an initialized channel.
mask is a halfword of bits, where each bit sets a
corresponding bit in the I/O status word. The I/O status
word is described in Volume 1, in each chapter that
pertains to a specific device.
The I/O status bits are a set of 18 bits (right half) that
reflect the current state of a file transmission. They are
initially set by your program with the INIT/OPEN monitor call.
Thereafter, the monitor sets the bits, but your program can test
and reset them with any of several monitor calls.
Return
The call returns to return 1 if all of the specified bits are 0,
or to return 2 if any of the specified bits are set to 1.
Examples
See OPEN call.
Related Calls
STATZ
22-460
STATZ [OPCODE 063]
STATZ [OPCODE 063]
Function
Tests the I/O status (also called "file status") word for a
device and skips if all of the specified bits are cleared. Use
FILOP. to perform a STATZ on an extended I/O channel. For a
complete list of I/O status bits, refer to the appropriate device
chapter in Volume 1.
Calling Sequence
STATZ channo,mask
return 1
return 2
where: channo is the number of an initialized channel.
mask is a halfword in which each bit that you set
corresponds to a bit in the I/O status word.
The I/O status bits are a set of 18 bits (right half) that
reflect the current state of a file transmission. They are
initially set by your program with the INIT/OPEN monitor call.
Thereafter, the monitor sets the bits, but your program can test
and reset them with any of several monitor calls.
Return
The call returns to return 1 if one or more of the specified bits
is 1, or to return 2 if all of the specified bits are 0.
Related Calls
STATO
22-461
STRUUO [CALLI 50]
STRUUO [CALLI 50]
Function
Modifies the search list for a job or for the system. Except for
function 0, the functions and calling sequence for the STRUUO
monitor call are subject to change; therefore you should not use
anything but function 0 in user programs. All functions except 0
are privileged functions.
Calling Sequence
MOVE ac,[XWD len,addr]
STRUUO ac,
error return
normal return
. . .
addr: fcncode
first argument
. . .
last argument
where: len is the length of the argument list.
addr is the address of the argument list. The format of
the argument block is different depending on the function
code specified in the first word of the argument block.
fcncode is one of the function codes described below; the
words up through last argument are arguments for the
given function. The function codes and their meanings
are described below:
Code Symbol Function
0 .FSSRC Defines a new job search list.
The format of the argument block is shown below:
Word Symbol Contents
0 .FSFCN The function code. (.FSSRC)
1 .FSCSO Offset to first word of file
structure block, as used for
argument list to JOBSTR monitor
call.
22-462
STRUUO [CALLI 50]
Code Symbol Function
The first word of the argument block is followed
by blocks of three words each. Each three-word
block contains, in the first word, the structure
name; in the second word, zero; and in the third
word, flags that are described for the JOBSTR
monitor call.
Your program cannot create files on a file
structure unless it has access to the file
structure. However, by using the .FSSRC
function your program can add a file structure
to its search list. If your program attempts to
delete a file structure from its search list,
the monitor moves the file structure's name from
the job's active search list to its passive
search list. To remove the file structure from
the active or passive search list, issue the
DISMOUNT monitor command.
1 .FSDSL Defines a new search list for a job or for SYS.
MOUNT uses this function to complete the
mounting or dismounting procedures and to add or
delete file structures from another job's search
list. The argument block for the .FSDSL
function is shown below:
Word Symbol Contents
0 .FSFCN Function code. (.FSDSL)
1 .FSDJN The number of the job whose
search list is to be defined.
2 .FSDPP The project-programmer number of
the job.
3 .FSDFL The flag word. If bit 35 is
set, (DF.SRM), the monitor
removes all deleted file
structures from the job's search
list and decrements the file
structure's mount count. If bit
35 is not set, the monitor
places all deleted file
structures in the passive search
list. To delete a file
structure, it must have been
present in the current search
list and not listed in the
argument block.
22-463
STRUUO [CALLI 50]
Code Symbol Function
Word Symbol Contents
4 .FSDSO Offset to first word of JOBSTR
argument block.
The argument block contains as its first four
words: the function code, a job number, a
project-programmer number, and a flag word.
These four words are followed by one or more
three-word entries (each is an argument block
like that used by the JOBSTR call).The entries
specify the file structures to be in the search
list. The order in which the file structures
appear in the argument block is the order in
which they will appear in the search list.
If the job number and the project-programmer
number are both -1, the monitor assumes the
search list for your job is to be defined. If
the job number is 0, the monitor ignores the
project-programmer number and modifies the
system search list (SYS). If a value other than
-1 or 0 is specified, the monitor defines the
search list of the job with the specified job
number and project-programmer number. To
indicate the FENCE, your program must substitute
XWD 0,0 for SIXBIT/name/ in the first word of
the three-word entry. When your program
specifies the FENCE there will be three
consecutive zero words in the three-word entry.
2 .FSDEF Makes a new file structure available to users
(for example, defines a new file structure).
The file structure name, status, list of drives
and their associated units (packs), and
information for initializing components of the
monitor data base are specified in the argument
block. Specifically, the function does the
following:
o Builds a prototype structure data block.
o Links and initializes all necessary Unit
Data Blocks.
o Allocates core and initializes the SPT
tables and SAB rings.
o Sets the state of the units to PACK MOUNTED.
22-464
STRUUO [CALLI 50]
Code Symbol Function
o Creates a TABSTR entry (assigns a number to
the file structure).
The argument block for the .FSDEF function is
shown below:
Word Symbol Contents
0 .FSFCN Function code. (.FSDEF)
1 .FSNST Pointer to the structure
parameter block, in the form
(length,,address).
2 .FSNUN Pointer to the unit parameter
block for unit 0, in the form
(length,,address).
3 Pointer to the unit parameter
block for unit 1, in the form
(length,,address).
.
.
.
The structure parameter block is formatted as
follows:
Word Symbol Contents
0 .FSSNM File structure name in SIXBIT
(word HOMSNM in the HOME block).
1 .FSSNU Number of units in the
structure.
2 .FSSHL Highest logical block number
(that is, .FSSBU times .FSSNU
- 1).
3 .FSSSZ Size (in blocks) of the file
structure. (That is, the sum of
the values of UNIBPU for each
unit. The value of UNIBPU can
be found in word .DCUSZ returned
by the DSKCHR. call).
4 .FSSRQ Obsolete.
22-465
STRUUO [CALLI 50]
Word Symbol Contents
5 .FSSRF Obsolete.
6 .FSSTL Number of FCFS (first-come,
first-served) blocks left.
(That is, the sum of the values
of .FSUTL for each unit).
7 .FSSOD Number of blocks allowed for
overdraw (stored as a negative
number). See HOMOVR in the HOME
block.
10 .FSSMP First retrieval pointer to
Master File Directory. See
HOMPT1 in the HOME block.
11 .FSSML -1 if .FSSMP is the only
retrieval pointer to MFD. To
set this word, you must read the
RIB and test its contents. Do
not use COPIPT from HOMUN1 in
the HOME block.
12 .FSSUN Logical unit number within the
file structure where MFD begins.
(See HOMUN1 from the HOME
block.)
13 .FSSTR Number of retries on an error.
The suggested value for this
word is 10 (decimal).
14 .FSSBU Largest block on unit. (Largest
value of UNIBPU, returned in
.DCUSZ by DSKCHR.)
15 .FSSBC Number of blocks per
super-cluster (see HOMBSC in the
HOME block).
16 .FSSSU Number of super-clusters per
unit (see HOMSCU in the HOME
block).
17 .FSSIG Obsolete.
20 .FSSCC Byte pointer to cluster count
(see HOMCNP in the HOME block).
21 .FSSCK Byte pointer to retrieval
pointer checksum (see HOMCKP in
the HOME block).
22-466
STRUUO [CALLI 50]
Word Symbol Contents
22 .FSSCA Byte pointer to retrieval
pointer cluster address (see
HOMCLP in the HOME block).
23 .FSPVT -1 if this is a private
structure (see the HOPPVS bit in
HOMPVS in the HOME block).
24 .FSPPN PPN of file structure owner
(each half is -1 if wild) (see
HOMOPP in the HOME block).
25 .FSSCR Block in structure containing
RIB for CRASH.EXE (see HOMCRS in
the HOME block).
26 .FSK4C Number of K to reserve for
CRASH.EXE on disk (see HOMK4C in
the HOME block).
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.
1 FS.USA Obsolete.
FS.UWL is meaningful only for
the first unit in the structure.
22-467
STRUUO [CALLI 50]
Word Symbol Contents
5 .FSUGP Number of sequential blocks to
try for on sequential output
(see HOMGRP in the HOME block).
6 .FSUTL Number of free blocks on unit,
minus a safety factor. The
suggested safety factor is one
block of safety for every 500
(decimal) blocks of disk. Do
not allocate safety blocks for
the swapping space. Thus, the
suggested safety factor is
(UNIBPU-HOMK4S*8)/500. This
value should be truncated to
less than 500 (decimal) blocks
per unit.
7 .FSUBC Number of blocks per cluster
(see HOMBPC in the HOME block).
10 .FSUCS Number of clusters per SAT (that
is, (UNIBPU/HOMBPC-1)/HOMSPU+1).
11 .FSUWS Number of words per SAT (that
is, (.FSUCS-1)/36 + 1).
12 .FSUSC Number of SATs in core (see
HOMSIC in the HOME block).
13 .FSUSU Number of SATs per unit (see
HOMSPU in the HOME block).
14 .FSUSP Pointer to SPT table
(length,,address).
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.)
The format of the SPT table is:
Word Contents
0 Pointer to 1st SAT block.
1 Pointer to 2nd SAT block.
.
.
.
n Pointer to nth SAT block.
22-468
STRUUO [CALLI 50]
Code Symbol Function
Each word in the SPT table is in the form:
Bits Contain
0-12 Number of free clusters in this SAT.
13-35 Address of SAT (as a cluster number).
3 .FSRDF Allows your program to change the status of a
file structure if its mount count is 0 or 1. If
the mount count is 1, the job number and
project-programmer number arguments must be
those for the job that has the structure mounted
(in its search list). If the job number and
project-programmer number are both -1, the
search list for your job is assumed.
The argument block for the .FSRDF function is
listed below.
Word Symbol Contents
0 .FSFCN The function code (.FSRDF).
1 .FSRJN The job number or -1.
2 .FSRPP The project-programmer number or
-1.
3 .FSRNM The file structure name.
4 .FSRST The new status bits to be
assigned.
4 .FSLOK Allows your program to place a file structure in
a state where no new LOOKUPs or ENTERs are
allowed. The monitor will allow current reading
and writing to continue until a CLOSE is issued.
This function can be used to force a file
structure into a dormant state so that it can be
removed from the system with minimal damage to
its users. For example, this function could be
followed by .FSREM. The argument block for this
function is described below:
Word Symbol Contents
0 .FSFCN The function code (.FSRDF).
1 .FSLNM The file structure name in
SIXBIT.
22-469
STRUUO [CALLI 50]
Code Symbol Function
5 .FSREM Removes a file structure from the system. This
removal takes place immediately, with no regard
for the users of the file structure. Normally,
this function is preceded by the .FSLOK function
to prepare the structure for removal.
Specifically, the .FSREM function does the
following:
o Takes the non-error return if the file
structure does not exist.
o Removes the file structure name from the
search list of all jobs and from the system
search list.
o Unlinks and returns to the free core pool
any UFB or access blocks.
o For every unit, sets the state to NO PACK
MOUNTED and returns any core taken from the
free core pool.
o Clears KNOWLEDGE bits in the PPB and NMB
blocks.
o Unlinks STR data blocks and returns its core
if taken from the free core pool.
o Deletes (or marks for deletion) all sharable
high segments initialized from the file
structure.
o Clears the TABSTR entry.
o Takes the non-error return.
The argument block for the .FSREM function is
shown below:
Word Symbol Contents
0 .FSFCN The function code (.FSREM).
1 .FSMNM The file structure name in
SIXBIT.
22-470
STRUUO [CALLI 50]
Code Symbol Function
6 .FSULK Tests and sets the software write-lock bit
associated with each UFD. This function is
used, along with the .FSUCL function, to control
programs (such as LOGOUT and LOGIN) attempting
to modify a UFD at the same time. With the
interlock bit set, only one program can modify
the UFD at a time. Other programs should WAIT
for the interlock to be cleared.
The argument block for the .FSULK function is
shown below.
Word Symbol Contents
0 .FSFCN The function code (.FSULK).
1 .FSINM The file structure name in
SIXBIT.
2 .FSIPP The PPN of the UFD.
If the interlock bit is set for a program other
than your program, your program takes the error
return.
7 .FSUCL Clears the software interlock associated with a
UFD. Once a program has cleared the interlock,
another program may set the interlock (function
.FSULK) and modify the UFD. The argument block
for the .FSUCL function is shown below:
Word Symbol Contents
0 .FSFCN The function code (.FSUCL).
1 .FSGNM The file structure name in
SIXBIT.
2 .FSGPP The PPN of the UFD.
22-471
STRUUO [CALLI 50]
Code Symbol Function
10 .FSETS Tests error recovery procedures for the monitor
and your programs by causing hard and soft
errors to be simulated on the specified disk
unit of the system.
NOTE
This function is obsolete and applies
only to RP10 and RC10 controllers.
All error recovery and reporting procedures are
followed through by the monitor as if a real
error had occurred. This function causes the
monitor to enter the simulated hard errors in
the BAT block just as it would enter a real
error. Therefore, field service should be
notified of any error simulations that are being
done.
This function is implemented only for disk packs
and should not be attempted for the fixed-head
disk because the counts will not be decremented.
When a unit is removed from the system, the
error test sequence is terminated.
The argument block for the .FSETS function is
listed below.
Word Symbol Contents
0 .FSFCN The function code (.FSETS).
1 .FSEUN The disk pack name.
2 .FSEGT The number of good transfer
interrupts before simulation of
error.
3 .FSEDB The number of bad DATAI's before
the end of simulated error.
4 .FSEDO Error DATAI bits ORed with DATAI
bits received from the hardware.
5 .FSEDA Error DATAI bits ANDCMed with
DATAI bits received from the
hardware.
22-472
STRUUO [CALLI 50]
Code Symbol Function
Word Symbol Contents
6 .FSECB The number of bad CONIs before
terminating simulated error
sequence.
7 .FSECO Error CONI bits ORed with CONI
bits received from the hardware.
10 .FSECA Error CONI bits ANDCMed with
CONI bits received from the
hardware.
Note that the CONI mentioned above is executed
after a data transfer interrupt; the DATAI
mentioned above is executed before connecting to
the unit to initiate a position or transfer
operation.
11 .FSNMW Modifies the 'nocreate' and 'write-lock' status
of a file structure. The argument block for
this function is shown below.
Word Symbol Contents
0 .FSFCN The function code (.FSNMW).
1 .FSMFS The file structure name.
2 .FSMFL The flag word:
Bit Symbol Meaning
0 FS.MWL Write-lock bit.
1 FS.MNC No create bit.
12 .FSCLR Unlocks a file structure. The argument list is:
Word Symbol Contents
0 .FSFCN The function code (.FSCLR).
1 .FSCFS The file structure name in
SIXBIT.
Normal Return
The function is performed.
22-473
STRUUO [CALLI 50]
Error Return
Before the monitor accepts the newly-defined search list by
copying it in the PDB, it checks that the number of structures
defined is less than the system-defined maximum limit for the
job. This limit is stored in GETTAB table %LDMSS. If the number
exceeds the maximum, the error return is taken and the ac is
cleared.
Otherwise, one of the following error codes is returned in the
ac:
Code Symbol Error
0 FSILF% An illegal function code was specified.
1 FSSNF% One or more of the specified file
structures were not found.
2 FSSSA% One or more of the specified file
structures are in single-access mode.
3 FSILE% One or more illegal entries are in the
argument block.
4 FSTME% There are too many entries in the search
list.
5 FSUNA% One or more of the specified units are
not available.
6 FSPPN% The specified job number and
project-programmer number do not match.
7 FSMCN% The mount count is greater than 1.
10 FSNPV% Your job is not privileged but should
be.
11 FSFSA% The specified file structure already
exists.
12 FSILL% The argument block length has been
specified incorrectly.
13 FSUNC% Unable to complete the call.
14 FSNFS% The system has reached the maximum
number of file structures.
15 FSNCS% There is not enough free core for the
data block.
16 FSUNF% An illegal unit has been specified.
17 FSRSL% A file structure name is repeated in a
search list
20 FSASL% Structure contains units in active
search list.
21 FSISN% You specified an illegal structure name.
Related Calls
DSKCHR, GOBSTR, JOBSTR
22-474
SUSET. [CALLI 146]
SUSET. [CALLI 146]
Function
Selects a logical block number to be either read or written on
subsequent IN/INPUT or OUT/OUTPUT monitor calls relating to
either a file structure or a unit name. This call requires
your program to have [1,2] or JACCT privileges.
The block number is relative to a file structure if the channel
was initialized with a structure name (such as DSKB) and no
file is open on the channel (that is, no LOOKUP or ENTER was
performed).
The block number is relative to a unit number if the channel
was initialized with a physical or logical unit name (such as
RPA4 or DSKB) and no file is open on the channel (that is, no
LOOKUP or ENTER was performed).
Refer to Section 11.7.5 for more detailed discussion of SUSET.
Calling Sequence
MOVE ac,[EXP flags]
SUSET. ac,
error return
normal return
where: flags are as follows:
Bits Symbol Meaning
0 Reserved.
1 SU.SOT Output (input if not set).
2 SU.SMN Maintenance cylinder. You can set this bit
only if your job is logged in under [6,6].
SU.SBL (below) must contain the maintenance
cylinder.
3 Reserved.
4-12 SU.SCH Channel number. The channel number may be an
extended channel number obtained from the
FILOP. monitor call.
13-35 SU.SBL Block number or maintenance cylinder (if
SU.SMN is on).
22-475
SUSET. [CALLI 146]
Normal Return
The specified block will be the next one read/written on a
subsequent IN/OUT monitor call. The SUSET. monitor call
returns with the I/O status bit IO.BKT set if your job does not
have enough privileges, or if the given block number is too
large.
Error Return
The following error code is returned in the ac:
Code Symbol Error
-1 SUSNP% Not enough privileges.
Related Calls
FILOP., USETI, USETO
22-476
SYSPHY [CALLI 51]
SYSPHY [CALLI 51]
Function
Returns the name of a physical disk unit on the system.
Calling Sequence
|
| / MOVEI ac,0 \
| \ MOVE ac,[SIXBIT/device/] /
| SYSPHY ac,
| error return
| normal return
where: device is the physical unit name returned by a previous
call (such as SIXBIT/RPA0/).
Normal Return
If you set ac to 0, the monitor returns the first physical disk
name in ac. If you gave the name of a disk, the monitor
returns the next physical disk name, or, if there are no more
disks, the monitor returns 0 in the ac.
Error Return
The monitor takes the error return if the device you gave was
neither 0 nor the name of a disk unit.
Examples
Example to get all unit names in system
SETZB T1,T2 ;T1=Table pointer, T2=unit
; name
LOOP: SYSPHY T2, ;Get next one
JRST ERROR
JUMPE T2,CONTIN ;Done if zero
MOVEM T2,PHYTAB(T1) ;Save in table
AOJA T1,LOOP
PHYTAB: BLOCK ^D64
Related Calls
DVPHY., SYSSTR
22-477
SYSSTR [CALLI 46]
SYSSTR [CALLI 46]
Function
Returns the name of a file structure on the system.
Calling Sequence
|
| / MOVEI ac,0 \
| \ MOVE ac,[SIXBIT/device/] /
| SYSSTR ac,
| error return
| normal return
where: device is the structure name returned by a previous
call.
Normal Return
If you set ac to 0, the monitor returns the first structure
name in ac. If you gave the name of a structure, the monitor
returns the next structure name in ac, or if there are no more
structures, the monitor returns a 0 in the ac.
Error Return
The monitor takes the error return if the device you gave was
neither 0 nor the name of a structure.
Examples
Example to get all file structure names on system
SETZB T1,T2 ;Use T1 as table index, T2 as
; structure name
LOOP: SYSSTR T2, ;Get next structure
JRST ERROR
JUMPE T2,CONTIN ;Done if structure is zero
MOVEM T2,STRTAB(T1) ;Save in table
AOJA T1,LOOP ;Get next one
STRTAB: BLOCK ^D64 ;Where to put structures
Related Calls
DVPHY., SYSPHY.
22-478
TAPOP. [CALLI 154]
TAPOP. [CALLI 154]
Function
Performs various magnetic tape operations. Several TAPOP.
functions are identical to or extensions of other monitor calls
such as MTAPE and MTCHR. All TAPOP. functions assume that the
specified device has been assigned to your job by the ASSIGN
monitor command or the OPEN/INIT monitor call or that the
calling job has SPY privileges.
Calling Sequence
| MOVE ac,[XWD len,addr]
| TAPOP. ac,
| error return
| normal return
| . . .
| addr: EXP fncode
| / SIXBIT/device/ \
| | EXP channo |
| \ EXP udx /
| first argument
| . . .
| last argument
where: len is the length of the argument list.
addr is the address of the argument list.
fcncode is one of the function codes described below.
device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device and the
words up through last argument are arguments for the
given function.
The function codes fall into four groups:
Codes Functions
0 - 777 Perform specific actions.
1000 - 1777 Read parameters.
22-479
TAPOP. [CALLI 154]
Codes Functions
2000 - 2777 Set parameters. These function codes are not
explicitly listed in the descriptions below.
To set a parameter, use the corresponding read
function name plus the offset .TFSET (=1000).
For example, to set the density indicator, use
the read density indicator mnemonic plus
.TFSET:
.TFDEN+.TFSET
3000 - 3777 Reserved for customer-defined functions.
The function codes and their meanings are:
Code Symbol Function
1 .TFWAT Waits for I/O to be completed.
2 .TFREW Rewinds tape to load point.
3 .TFUNL Rewinds and unloads tape.
4 .TFFSB Skips forward one block.
5 .TFFSF Skips forward one file.
6 .TFSLE Skips to logical end-of-tape.
7 .TFBSB Skips backward one block.
10 .TFBSF Skips backward one file.
11 .TFWTM Writes a tape mark.
12 .TFWLG Writes 3 inches of blank tape.
13 .TFDSE Erases entire tape (data security, TX01/TX02
on DX10/DX20 only).
14 .TFWLE Writes logical end-of-tape (two tape marks for
unlabeled tapes).
15 .TFLBG Gets the tape label device data block.
Returns the name in ac. This is a privileged
function for use by the label processor.
16 .TFLRL Releases the tape label device data block.
This is a privileged function for use by the
label processor.
22-480
TAPOP. [CALLI 154]
Code Symbol Function
17 .TFLSU Swaps units. This is a privileged function
for use by the label processor.
20 .TFLDD Destroys the tape label data base. This is a
privileged function for use by the label
processor.
21 .TFFEV Forces end-of-volume processing. This allows
your program to write the end-of-volume label
before PULSAR finds the end-of-tape. The
monitor assumes a multivolume file and
automatically issues an operator MOUNT request
for the next volume.
22 .TFURQ Requests label processing. Set flag .TFCLE to
clear a tape labelling error.
23 .TFSMM Sets maintenance mode on the tape controller.
This is a privileged function.
24 .TFCMM Clears maintenance mode on the tape
controller. This is a privileged function.
25 .TFCEC Clears error counters. This privileged
function is restricted for use by the tape
label processor.
1000 .TFTRY Returns in the ac the number of retries on the
last error.
1001 .TFDEN Returns in ac the density code for the tape.
To set the density code, use .TFDEN+.TFSET;
the monitor reads the new density code from
addr+2. Note that in order to set the density
with this function code, IO.DEN must be zero.
The density codes and their meanings are:
Code Symbol Density
0 .TFD00 Unit default.
1 .TFD20 200 bits/inch (8.1 rows/mm).
2 .TFD55 556 bits/inch (22.5 rows/mm).
3 .TFD80 800 bits/inch (32.2 rows/mm).
4 .TFD16 1600 bits/inch (65.3 rows/mm).
5 .TFD62 6250 bits/inch (255.5
rows/mm).
6-17 Reserved for use by DIGITAL.
22-481
TAPOP. [CALLI 154]
Code Symbol Function
1002 .TFKTP Returns in the ac the controller type code for
the tape. To set the controller type code,
use .TFKTP+.TFSET; the monitor reads the new
controller type code from addr+2. The
controller type codes and their meanings are:
Code Symbol Controller Type
0 .TFKTA TM10A (TU10/20/30/40/41).
1 .TFKTB TM10B (TU10/20/30/40/41).
2 .TFKTC TM10C (TU43).
3 .TFKTX TX01/TX02 on DX10
(TU70,71,72).
4 .TFKTM TM02/TM03 on RH10/RH20
(TU16,TU45).
5 .TFKRH TM02/TM03 on RH11 (TU45).
6 .TFKD2 TX02 on DX20 (TU70,71,72).
7 .TFK78 TU78 on TM78.
1003 .TFRDB Returns in the ac the read-backwards bit
(TM02/TX01/TX02 only). The bit is on if the
tape is set for read-backwards, or off for
normal read. See Chapter 14. To set the
read-backwards bit, use .TFRDB+.TFSET; the
monitor reads the bit from addr+2.
1004 .TFLTH Returns in the ac the bit for read next record
at low threshold (TM10A/B/C only). The bit is
on if the tape is set for low threshold, or
off if not. To set the bit, use
.TFLTH+.TFSET; The monitor reads the bit from
addr+2.
1005 .TFPAR Returns in the ac the status of the even
parity bit (for 7-track tapes only). To set
the status of the even parity bit, use
.TFPAR+.TFSET; the monitor reads the status
from addr+2.
1006 .TFBSZ Returns in the ac the block size for the tape.
The returned value is one greater than the
number of data words per record. To set the
block size, use .TFBSZ+.TFSET; the monitor
reads the block size from addr+2.
22-482
TAPOP. [CALLI 154]
Code Symbol Function
1007 .TFMOD Returns in the ac the data mode code for the
tape. To set the data mode code, use
.TFMOD+.TFSET; the monitor reads the data mode
code from addr+2. The data mode codes and
their meanings are:
Code Symbol Data Mode
0 .TFMDD DIGITAL-compatible core dump
mode for 7-track and 9-track
tapes. The monitor uses the
default mode, either code 1
(.TFMID) or code 5 (.TFM7T).
1 .TFMID DIGITAL-compatible core dump
mode for 9-track tapes. The
monitor reads and writes
36-bit words in 5 frames.
This mode is also settable
with MTDEC. monitor call.
2 .TFM8B Industry-compatible 8-bit
mode, with 4 bytes per word.
This mode is also settable
with the .MTIND monitor call,
except that the default
density for this mode is 1600
BPI.
3 .TFM6B 6-bit mode, 6 bytes per word
(9-track, TU70 only).
4 .TFM7B ANSI/ASCII 7-bit mode, 5
bytes per word (TU70 only).
5 .TFM7T DIGITAL-compatible 7-track
core dump mode (SIXBIT).
1010 .TFTRK Returns in the ac the track status bit for the
tape (0 for 9-track, 1 for 7-track). To set
the track status bit, use .TFTRK+.TFSET; the
monitor reads the bit from addr+2.
1011 .TFWLK Returns in the ac the write-lock bit for the
tape (1 if write-locked, 0 if not).
1012 .TFCNT Returns in the ac the character count of the
last record (the actual record length).
1013 .TFRID Returns in the ac the SIXBIT reel
identification for the tape. To set the reel
identification, use .TFRID+.TFSET; the monitor
reads the SIXBIT reel identification from
addr+2.
22-483
TAPOP. [CALLI 154]
Code Symbol Function
1014 .TFCRC Returns in the ac the last cyclic redundancy
character (9-track NZRI only).
1015 .TFSTS Returns in the ac the unit status flags for
the tape. To set the flags, use
.TFSTS+.TFSET; the monitor reads the flags
from addr+2. The unit status flags and their
meanings are:
Bit Symbol Meaning
18 TF.UNS Unit is not schedulable.
19 TF.BOT Beginning-of-tape mark.
20 TF.WLK Write-lock.
21 TF.REW Unit is rewinding.
22-32 Reserved.
33 TF.STA Unit is started.
34 TF.SEL Unit is selected.
35 TF.OFL Unit is off-line.
1016 .TFSTA Returns unit statistics for the tape device.
Your program supplies the function code and
device at addr and addr+1. (These values are
identical to those returned for the MTCHR.
monitor call.) The monitor returns the device
statistics at addr in the format:
Offset Symbol Contents
0 .TSFUN Function code (user-supplied).
1 .TSDEV Device (user-supplied).
2 .TSRID SIXBIT reel identifier.
3 .TSFIL Number of files read since the
beginning of the tape.
4 .TSREC Number of records since last
tape unload.
5 .TSCRD Number of characters read
since last tape unload.
6 .TSCWR Number of characters written
since last tape unload.
7 .TSSRE Soft read errors since last
tape unload.
10 .TSHRE Hard read errors since last
tape unload.
11 .TSSWE Soft write errors since last
tape unload.
12 .TSHWE Hard write errors since last
tape unload.
13 .TSTME Total number of errors since
last tape unload.
22-484
TAPOP. [CALLI 154]
Code Symbol Function
Offset Symbol Contents
14 .TSTDE Total device errors since
system startup.
15 .TSTUN Total unloads since last
system reload.
16 .TSRTY Number of retries to resolve
last error.
17 .TSCCR Character count of last record
read or written.
20 .TSPBE Position before last error:
file number (in left half);
record number (in right half).
21 .TSFES Final error state. See the
TOPS-10/TOPS-20 SPEAR Manual.
1017 .TFIEP Returns in the ac the initial error pointer.
1020 .TFFEP Returns in the ac the final error pointer.
NOTE
Function codes 1021 and 1022 return the
blocks pointed to by 1017 and 1020.
These blocks are for communication of
errors to DAEMON and may change without
notice.
1021 .TFIER Returns in the ac the initial error status.
1022 .TFFER Returns in the ac the final error status.
1023 .TFFED Returns in the ac the final error disposition.
1024 .TFLBL Returns in the ac the label processing type
code. To set the label processing type code,
use .TFLBL+.TFSET; the monitor reads the new
code from addr+2. The label processing type
codes and their meanings are:
Code Symbol Label Processing Type
0 .TFLBP Bypass label processing. To
set this value, the job must be
privileged.
1 .TFLAL ANSI labels.
2 .TFLAU ANSI labels with user labels.
3 .TFLIL IBM labels.
4 .TFLIU IBM labels with user labels.
22-485
TAPOP. [CALLI 154]
Code Symbol Function
Code Symbol Label Processing Type
5 .TFLTM Leading tape mark.
6 .TFLNS Nonstandard labels.
7 .TFLNL No labels. When tapes are
processed with no labels, the
label processor is used only to
verify that the tape does not
contain a tape label.
Unlabeled tapes can be copied
to create a labeled tape.
10 .TFCBA DIGITAL COBOL ASCII labels.
11 .TFCBS DIGITAL COBOL SIXBIT labels.
12 .TFLNV Same as .TFLNL except that user
program is responsible for
dealing with an EOT. This type
is the default. To switch
reels after end-of-tape, use
TAPOP. function .TFFEV.
1025 .TFPLT Performs functions identical to the .TFLBL
function 1024 above, except that it allows
access to files and tape labels. Using this
function, you can examine and modify the
contents of a label. The .TFPLT function
requires the JP.POK, [1,2], or JACCT privilege.
1026 .TFLTC Returns the last tape label termination code
from the tape label processor. It is
recommended that you use DEVOP. function .DFRES,
because more information can be returned by that
function. The return codes are:
Code Symbol Error
1 .TFTCP Continue processing.
2 .TFTRE Returned EOF.
3 .TFTLT Label type error.
4 .TFTHL Header label error.
5 .TFTTL Trailer label error.
6 .TFTVL Volume label error.
7 .TFTDV Device error.
10 .TFTDE Data error.
11 .TFTWL Write lock error.
12 .TFPSE Positioning error.
13 .TFBOT Beginning of tape.
14 .TFIOP Illegal operation.
15 .TFFNF File not found.
16 .TFCAN Operator cancelled request.
17 .TFTMV Too many volumes requested.
22-486
TAPOP. [CALLI 154]
Code Symbol Function
1027 .TFDMS Returns in the ac the diagnostic mode set bit
(TX01/TX02 on DX10 only). This bit is 1 for
diagnostic mode, otherwise 0. To set this bit,
use .TFDMS+.TFSET; the monitor reads the new bit
from addr+2.
1030 .TFFSO Returns in the ac the bit showing whether a
forced SENSE command will be issued to the
controller (TX01/TX02 on DX10/DX20 only) after
the completion of every operation. To set the
bit, use .TFFSO+.TFSET; the monitor reads the
new bit from addr+2. This bit should be set by
diagnostic programs only, because it slows down
tape operations considerably.
1031 .TFMFC Returns in the ac the maximum frame count. To
set the count, use .TFMFC+.TFSET; the monitor
reads the new count from addr+2. Use this
function to speed tape throughput for a TU16, or
TU45, TU70, TU71, or TU72 that does not have an
integral number of bytes per word. The count
stays in effect until your program performs a
RESET with another TAPOP. monitor call or until
the tape is RELEASed (if the device was
ASSIGNed). This function allows a TU70 or a
TU16 to read and write tapes that do not have an
integral number of bytes per word. This
function provides tape compatibility with other
systems.
1032 .TFPDN Returns in the ac flags showing the possible
densities for a tape. The flags and their
meanings are:
Bit Symbol Density
31 TF.DN5 6250 bits/inch (255.5 rows/mm)
32 TF.DN4 1600 bits/inch (65.3 rows/mm).
33 TF.DN3 800 bits/inch (32.2 rows/mm).
34 TF.DN2 550 bits/inch (22.5 rows/mm).
35 TF.DN1 200 bits/inch (8.1 rows/mm).
22-487
TAPOP. [CALLI 154]
Code Symbol Function
1033 .TFLPR Returns at addr+2 the tape label parameters.
This function causes the first input label
processing if there is no file open for input.
To set the parameters, use .TFLPR+.TFSET; the
monitor reads the parameters beginning at
addr+2. This set function is legal only if
there is no file open for output on the given
channel. The parameters given apply to the next
file to be written. The format of the
parameters at addr is:
Offset Symbol Contents
0 .TPFUN Function code (user-supplied).
1 .TPDEV Device (user-supplied).
2 .TPREC Record format and form control:
Bits Symbol Meaning
0-17 TR.FCT Forms control
byte; one of
the following
codes:
Code Symbol Meaning
1 .TFCNO Records on tape
do not contain
form control
characters.
2 .TFCAS First character
of each record
is a form
control
character.
3 .TFCAM Records on tape
contain all
required form
control
characters.
Bits Symbol Meaning
18-35 TR.RFM Record format
byte; one of
the following
codes:
22-488
TAPOP. [CALLI 154]
Code Symbol Meaning
0 .TRFDF Default
(Fixed).
1 .TRFFX Fixed (F).
2 .TRFVR Variable (D).
3 .TRFSP Spanned (S).
4 .TRFUN Undefined (U).
Offset Symbol Contents
3 .TPRSZ Record size in characters.
4 .TPBSZ Block size in characters.
5 .TPEXP Expiration date in 15-bit
format.
Bits Symbol Meaning
18-35 TP.EEX Expiration
date.
0-17 TP.ECR Creation 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 2033 (to set tape label
parameters) is legal only if there is no file
currently open for output on the specified
channel. The numbers you specify must apply
to the next file to be written.
Function code 1033 (to read label parameters)
always returns these numbers and causes the
first input label processing if there is no
file open for input.
Normal Return
The function is performed.
22-489
TAPOP. [CALLI 154]
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
-1 TPACS% Address check while storing answer.
0 TPIFC% Illegal function code.
1 TPPRV% Not enough privileges.
2 TPNMT% Not a magtape device.
3 TPVOR% Specified value out of range.
4 TPACR% Address check reading arguments.
5 TPCBS% Parameter cannot be set.
6 TPNIA% Tape not initialized or assigned.
7 TPNLP% No label processor.
10 TPETC% Termination code error.
11 TPIJN% Illegal job number.
12 TPLRF% Label release function required.
13 TPLSI% Set label parameter function illegal after first
output.
14 TPLOE% Attempted to read information from a label DDB
owned by someone else.
15 TPDNC% Drive not capable of specified density.
16 TPWWL% Write attempted to write-locked tape.
Examples
MOVE T1,[XWD 2,ARGLST] ;Pointer to arg list
TAPOP. T1, ;Get controller type
JRST ERROR ;Error
CAIE T1,.TFKTX ;If DX10
CAIN T1,.TFKD2 ;Or DX20
SKIPA ;Data security erase
; will work
JRST NODSE ;Otherwise don't try it
MOVE T1,[XWD 2,DSELSI] ;Pointer to arg list
TAPOP. T1, ;Erase the entire tape
JRST ERROR ;Error
JRST CONTIN ;Skip argument blocks
ARGLST: EXP .TFKTP ;Function to read
; controller types
SIXBIT /TAPE/ ;Device is "TAPE"
DSELST: EXP .TFDSE ;Function to do
; data security erase
SIXBIT /TAPE/ ;Device is "TAPE"
CONTIN: ;Continue
This example performs a data security erase on the logical device
"TAPE" if and only if the controller is capable of doing so.
(DX10/DX20).
Related Calls
MTAID., MTAPE, MTCHR.
22-490
TIMER [CALLI 22]
TIMER [CALLI 22]
Function
Returns the time of day since midnight (00:00) in jiffies. (A
jiffy is 1/60 second.)
NOTE
For systems using 50 Hz power, jiffy = 1/50
second. Therefore it is good programming
practice to use the MSTIME monitor call on any
system, because MTSIME call gives the time of day
in milliseconds and is independent of the type of
power used.
Calling Sequence
TIMER ac,
only return
Return
The number of jiffies since midnight is returned in the ac.
Related Calls
DATE, MSTIME
22-491
TMPCOR [CALLI 44]
TMPCOR [CALLI 44]
Function
Creates, reads, writes, or manipulates temporary files left in
core from the running of one program to another. Those files are
referenced by a three-character file name. All files are deleted
when the job is logged out. If the monitor call fails, your
program should write DSK:nnnNAM.TMP, where nnn is the job number.
This arrangement improves response time and minimizes the number
of disk reads.
Calling Sequence
MOVE ac,[XWD fcncode,addr]
TMPCOR ac,
error return
normal return
. . .
addr: XWD 'nam',0
IOWD buflength,buffer
where: fcncode is one of the function codes described below.
addr gives the address of the argument list.
nam is a 3-character SIXBIT string that is the file name.
buflength is the length of the buffer for the call.
buffer gives the address of the buffer for the call.
The function codes and their meanings are:
Code Symbol Function
0 .TCRFS Obtains free space. For this function, set the
ac to 0 before the call; no argument list is
required. On a normal return, the ac contains
the number of free words available to your
program (510 decimal).
22-492
TMPCOR [CALLI 44]
Code Symbol Function
1 .TCRRF Reads a file. The length of the file is
returned in the ac, and as much of the file as
possible is copied into the buffer for the call.
You can check for truncation by comparing the ac
to buflength.
The error return occurs if the specified file is
not found; in this case, the number of free
words available to your program is returned in
the ac.
2 .TCRDF Reads and deletes a file. Performs all the same
functions as .TCRRF and in addition deletes the
file. Note that the file is deleted even if it
is too long to fit in the buffer for the call.
3 .TCRWF Writes the contents of the buffer into a file.
The requested length of the file is the value of
buflength. If there is already a file of the
specified name, it is deleted and the space is
reclaimed.
The requested size of the file is specified by
buflength. If there is not enough space to
write the entire file, nothing is written, the
ac is set to the number of free words of space
available to the user, and the error return is
taken.
If there is enough space, the file is written.
The ac is set to the amount of space left after
the file has been written and the normal return
is taken.
If insufficient space is available, none of the
file is written, the error return occurs, and
the number of free words available to your
program is returned in the ac.
22-493
TMPCOR [CALLI 44]
Code Symbol Function
4 .TCRRD Reads a directory. The number of .TMP files in
your directory is returned in the ac, and their
file names are written into the buffer for the
call. You can check for truncation of the
directory list by comparing the ac to buflength.
Each entry in the buffer is of the form:
XWD 'nam',length
where: length is the length of the file in
words.
nam is the file name.
The error return occurs only if the call is not
implemented.
5 .TCRDD Reads and deletes from directory. This performs
all the same functions as .TCRRD and in addition
deletes all files from your directory.
Examples
MOVE T1,[XWD .TCRWF,ARGLST]
TMPCOR T1,
JRST TMCERR
JRST CONTIN
ARGLST: XWD 'XYZ',0
IOWD <BUFEND-BUFFER>,BUFFER
BUFFER: ASCIZ /THIS IS THE TEXT FOR THE FILE./
BUFEND:
CONTIN:
This example writes the text at BUFFER into the file XYZ if space
is available.
22-494
TRMNO. [CALLI 115]
TRMNO. [CALLI 115]
Function
Returns the number of the terminal controlling a specified job.
Calling Sequence
|
| / MOVEI ac,jobno \
| \ MOVNI ac,1 /
| TRMNO. ac,
| error return
| normal return
where: jobno is the number of a logged-in job (use -1 for the
current job).
Normal Return
Returns the UDX for the controlling terminal in the ac. The
format of Universal Device Index names is .UXxxx. The range of
values is 200000 through 200777 (octal). The symbol .UXTRM
(200000) is the offset for the terminal indexes.
Error Return
Zero is returned in the ac and indicates one of the errors listed
below:
o The job is currently detached (that is, there is no
controlling terminal).
o The job number specified is unassigned.
o The job number specified is illegal.
o The job number specified is a negative number other than -1.
22-495
TRMNO. [CALLI 115]
Examples
Your program can determine which of the above error conditions
occurred by using the JOBSTS monitor call. An example of a
program using this call for this purpose is shown below.
MOVE T1,JOBN
TRMNO. T1,
JRST .+2
JRST OK ;No error
MOVNI T1,JOBN
PJOB T1,
MOVNS T1,
JOBSTS T1,
JRST ILLNUM ;Job number illegal
JUMPL T1,DETJOB ;Job is detached
JRST NOJOB ;No such job
Related Calls
TRMOP.
Common Errors
Using .UXTRM as a mask instead of an offset.
22-496
TRMOP. [CALLI 116]
TRMOP. [CALLI 116]
Function
Performs various operations for terminals. Several
TRMOP. functions are identical to, or extensions of, TTCALL
monitor calls.
Calling Sequence
MOVE ac,[XWD len,addr]
TRMOP. ac,
error return
normal return
. . .
addr: EXP fcncode
EXP udx
first argument
. . .
last argument
where: len is the length of the argument list.
addr is the address of the argument list.
fcncode is one of the function codes described below.
udx is the Universal Device Index for a terminal, or -1
can be used to indicate the program's controlling
terminal. The words up through last argument are
arguments for the given function.
The argument list is formatted as follows:
Word Symbol Contents
0 .TOFNC Function code.
1 .TOUDX Universal Device Index or -1.
2 .TOAR2 Argument word.
3 .TOAR3 Argument word.
4 .TOAR4 Argument word.
5 .TOAR5 Argument word.
6 .TOAR6 Argument word.
22-497
TRMOP. [CALLI 116]
The argument words contain values that are read or set by the
function code, and they differ for each function. The function
codes fall into four groups:
Codes Symbol Actions
0-777 Perform a specific action.
1000-1777 Read parameters.
1000 .TOSET Add this value (symbol .TOSET) to the read
function, thus setting the specified
parameter(s).
2000 - 2777 Set parameters. These functions are not
explicitly listed in the descriptions below. To
set a parameter, use the corresponding Read
function plus the offset .TOSET (=1000). For
example, to set a terminal's receive speed, use
the receive speed function plus .TOSET:
.TORSP + .TOSET
3000 - 3777 Reserved for customer-defined functions.
The function codes and their meanings are:
Code Symbol Function
1 .TOSIP Takes the error (non-skip) return if the
terminal's input buffer is empty. The ac is
unchanged.
2 .TOSOP Takes the error (non-skip) return if the
terminal's output buffer is empty. The ac is
unchanged.
3 .TOCIB Clears the terminal's input buffer.
4 .TOCOB Clears the terminal's output buffer.
5 .TOOUC Outputs a character to the terminal; the
character is in bits 29 to 35 of .TOAR2.
6 .TOOIC Outputs an image-mode character to the terminal;
the character is in bits 28 to 35 of .TOAR2.
22-498
TRMOP. [CALLI 116]
Code Symbol Function
7 .TOOUS Outputs an ASCIZ string to the terminal; the
address of the string is in .TOAR2. If the job
number at the receiving terminal is different
from your job number, the character string is
limited to 128 characters. If you attempt to
send more than 128 characters to a job other
than your own, characters may be lost.
10 .TOINC Inputs a character from the terminal in line
mode; the character is stored in bits 29 to 35
of the ac.
11 .TOIIC Inputs an image-mode character from the
terminal; the character is stored in bits 28 to
35 of the ac. This function is not implemented
by the monitor.
12 .TODSE Enables a modem (dataset) for outgoing calls.
This function 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.
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-499
TRMOP. [CALLI 116]
Code Symbol Function
22 .TOGMS Returns terminal's MIC status bits in addr+2.
If MIC is not controlling the job, addr+2
contains 0. The status bits are as follows:
Bits Symbol Meaning
0 TO.CHK Flag bit for word. If this bit
is set, there are other set
bits in the word.
1 TO.CCT A CTRL/C was typed.
2 TO.OCS An operator-sent character was
received.
3 TO.ECS An error character was
received.
4 TO.CPT A CTRL/P was typed.
5 TO.CBT A CTRL/B was typed.
6 TO.STL Silence this line.
7 TO.LMM Line is in monitor mode.
8 TO.LUM Line is in user mode.
9 TO.C1O Line is in column 1 on output.
10 TO.CAT A CTRL/A was typed.
11 TO.RSP Error response.
12 TO.RSY Response code sync.
13 TO.LOG MIC is logging.
14 TO.LUI Controlling job should do a
JOBSTS UUO for the controlled
job or terminal.
15-21 TO.AOC The received operator character
(ASCII).
22-28 TO.AEC The received error character
(ASCII).
29-35 TO.MMJ MIC master job number.
23 .TOSMS Sets the terminal's MIC status bits to the
contents of .TOAR2. The bits are the same as
those returned by the .TOGMS function above.
24 .TOCLR Clears the MIC status bits.
25 .TODSP Displays an ASCIZ string on the terminal. The
address of the string is in .TOAR2.
26 .TOGMR Returns the MIC response buffer. The address of
the 21-word buffer is in .TOAR2.
27 .TOLOG Returns the MIC log buffer. The address of the
21-word buffer is in .TOAR2.
22-500
TRMOP. [CALLI 116]
Code Symbol Function
30 .TODSS A modem is present if bit 0 of the ac is set on
return; bits 1 to 35 are reserved. If the line
is not a dataset line, the monitor takes the
error return and returns the TOIMP% error in ac.
31 .TOSBS Sets the terminal break character set. Using
this function, you can define the characters
that, when typed on the terminal, will be
interpreted by the monitor as break characters,
indicating the end of the input line. In the
argument block, you must specify the following:
addr: .TOSBS ;function code
udx ;terminal's UDX
field-width ;auto-break
break mask ;first word
. . . ; of break table
break mask ;last word
Where the field-width defines the number of
characters to be accepted on an input line.
After the specified number of characters are
typed, a break is automatically made. The field
width must be between 1 and 255.
The break mask is a 4-word block indicating the
mask of bits (in the left-hand 32 bits of each
word from .TOAR3 through .TOAR6) that indicate
the octal representation of characters to be
defined as break characters. You must enable
break set mode by setting flag IO.ABS in the I/O
status word. Refer to Volume 1 for more
information.
32 .TORBS Reads the terminal break character set. The
field width is returned in .TOAR2 of the
argument block, and the break mask is returned
in words .TOAR3 through .TOAR6. Refer to
.TOSBS.
22-501
TRMOP. [CALLI 116]
Code Symbol Function
33 .TOISO Sets counted image output string mode. This
function allows your program to output a
specified number of characters in a single
sequence. This function allows screen editors
and display-oriented programs to update the
terminal screen more efficiently. The argument
block for this function is:
addr: .TOISO ;function
udx ;terminal's UDX
byte-size,,byte-count
string-address
Where the size of each byte (7 or 8 bits) is
specified in byte-size, and the length of the
string is specified in byte-count. The string
address is a pointer to the location of the
output string.
34 .TOFLM Returns the carriage to the left margin.
35 .TOGCS Reads the special character status. The
conditions read are set in the TC.VAL
field. .TOSCS explains TC.VAL. The argument
block for .TOGCS is:
addr: .TOGCS
udx
len2,,addr2
addr2: character to read
The number of words given in len at addr2 have
the TC.VAL field filled in from the current
settings described in .TOSCS.
36 .TOSCS Sets the special character status. The .TOSCS
argument block is:
addr: .TOSCS
udx
len2,,addr2
addr2: mask + values + character
22-502
TRMOP. [CALLI 116]
Codes Symbol Function
The fields in addr2 are:
Bits Symbol Meaning
0-13 TC.MOD The mask of the fields to
change.
14-27 TC.VAL The conditions read or set.
See below for a list of
condition bits.
28-35 TC.CHR The character which the
condition(s) applies to.
Bits which may be selected for the character
are:
Bit Symbol Meaning
31 TC.CLR For control characters only,
clears the input buffer when
the character's interrupt is
posted.
32 TC.DFR Defer the character's interrupt
type.
33 TC.OOB An out-of-band character. This
character causes an interrupt
when received.
34 TC.NSA Disable special action.
35 TC.BRK Line break character.
37 .TOUNR Allows reading of only already echoed
characters. No further echoing occurs until an
empty buffer is returned, a no input available
return is taken, or a null character is
returned. The argument block is:
addr: .TOUNR
udx ;terminal UDX
40 .TOASO Sets counted ASCII output string mode. The
argument block is identical to .TOISO, function
33, except for the function code.
41 .TODNT Disconnects a network terminal, without hanging
up the dataset.
1000 .TOOIP Returns, in the ac, the output-in-progress bit
(1 in Bit 35 if output is in progress, otherwise
ac=0).
22-503
TRMOP. [CALLI 116]
Code Symbol Function
1001 .TOCOM Returns, in the ac, the monitor-mode bit (1 in
bit 35 if terminal is in monitor mode, otherwise
ac=0).
1002 .TOXON Returns, in the ac, the papertape bit (1 in bit
35 if terminal is in papertape mode, otherwise
ac=0). To set the bit, use .TOXON+.TOSET; the
monitor reads the bit from .TOAR2. When this
bit is set, the functions of CTRL/S and CTRL/Q
are defined to control the papertape. If CTRL/S
and CTRL/Q were defined previously for stopping
and continuing terminal output, these functions
are temporarily superseded by the papertape
function. When you clear .TOXON, the terminal
output function is restored.
1003 .TOLCT Returns, in the ac, the lowercase bit (1 in bit
35 if no lowercase capability, otherwise ac=0).
To set the bit, use .TOLCT+.TOSET; the monitor
reads the bit from .TOAR2.
1004 .TOSLV Returns, in the ac, the slave bit (1 in bit 35
if the terminal is slaved, otherwise ac=0). To
set the bit, use .TOSLV+.TOSET; the monitor
reads the bit from .TOAR2.
1005 .TOTAB Returns, in the ac, the tab-capability bit for
the terminal (1 in bit 35 if the terminal has
tab capability, otherwise ac=0). To set the
bit, use .TOTAB+.TOSET; the monitor reads the
bit from .TOAR2.
1006 .TOFRM Returns, in the ac, the formfeed-capability bit
for the terminal (1 in bit 35 if the terminal
performs formfeeds, otherwise ac=0). To set the
bit, use .TOFRM+.TOSET; the monitor reads the
bit from .TOAR2.
1007 .TOLCP Returns, in the ac, the local-copy bit for the
terminal (1 in bit 35 if characters are not
echoed, otherwise ac=0). To set the bit, use
.TOLCP+.TOSET; the monitor reads the bit from
.TOAR2.
22-504
TRMOP. [CALLI 116]
Code Symbol Function
1010 .TONFC Returns, in the ac, the free CRLF bit for the
terminal (1 in bit 35 if free CRLFs are not
performed, otherwise ac=0). To set the bit, use
.TONFC+.TOSET; the monitor reads the bit from
.TOAR2. The free CRLF
(carriage-return/line-feed) is placed in the
terminal output buffer when the maximum width of
the line is reached. Set the terminal line
width using .TOWID, SET TTY WIDTH monitor
command, or by setting the terminal type. The
free CRLF function is enabled by default.
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). To set this
bit, use .TOHLF+.TOSET; the monitor reads the
bit from .TOAR2. Refer to the SET TTY monitor
command in the Commands Manual.
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. Refer to the SET TTY monitor command in
the Commands Manual.
22-505
TRMOP. [CALLI 116]
Code Symbol Function
1016 .TODIS Returns, in the ac, the display bit for the
terminal (1 in bit 35 if the terminal is a
display device, otherwise ac=0). To set this
bit, use .TODIS+.TOSET; the monitor reads the
bit from .TOAR2. You may set this bit to
indicate that the terminal is a display terminal
if any of the following is 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 (the
number of fillers used for padding) 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 .TOPAG 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 .TOPAG+.TOSET; the monitor reads
the bit from .TOAR2.
1022 .TOSTP Returns, in the ac, the output-stopped bit for
the terminal (1 in bit 35 if output has stopped,
otherwise ac=0). The output-stopped bit is set
when, for example, the terminal reaches its page
limit.
1023 .TOPSZ Returns, in the ac, the number of lines for the
current page setting (in the range 0 to 63). To
set the number of lines, use .TOPSZ+.TOSET; the
monitor reads the number of lines from .TOAR2.
1024 .TOPCT Returns, in the ac, the value of the page
counter (in the range 0 to 63).
22-506
TRMOP. [CALLI 116]
Code Symbol Function
1025 .TOBLK Returns, in the ac, the bit setting for blank
line handling (1 in bit 35 if multiple blank
lines are to be reduced to one blank line,
otherwise ac=0). To set the bit, use
.TOBLK+.TOSET; the monitor reads the bit setting
from .TOAR2.
1026 .TOALT Returns, in the ac, the bit setting for ESCape
(altmode) character handling (1 in bit 35 if no
conversion, 0 if the ASCII codes 175 and 176 are
converted to 033). To set the bit, use
.TOALT+.TOSET; the monitor reads the bit setting
from .TOAR2.
1027 .TOAPL Returns, in the ac, the bit setting for APL mode
(1 in bit 35 if in APL mode, otherwise ac=0).
To set the bit, use .TOAPL+.TOSET; the monitor
reads the bit setting from .TOAR2.
1030 .TORSP Returns, in the ac, the code for the terminal's
receive speed. To set the code, use
.TORSP+.TOSET; the monitor reads the code from
.TOAR2. (Note that the send and receive speeds
cannot both be 0.) The codes and their meanings
are:
Code Symbol Speed
1 .TO005 50 baud.
2 .TO007 75 baud.
3 .TO011 110 baud.
4 .TO013 134.5 baud.
5 .TO015 150 baud.
6 .TO020 200 baud.
7 .TO030 300 baud.
10 .TO060 600 baud.
11 .TO120 1200 baud.
12 .TO180 1800 baud.
13 .TO240 2400 baud.
14 .TO480 4800 baud.
15 .TO960 9600 baud.
16 .TOEXA External A.
17 .TOEXB External B.
1031 .TOTSP Returns, in the ac, the code for the terminal's
transmit speed. To set the code, use
.TORSP+.TOSET; the monitor reads the code from
.TOAR2. (Note that the send and receive speeds
cannot both be 0.) The codes and their meanings
are the same as those for the .TORSP function
above.
22-507
TRMOP. [CALLI 116]
Code Symbol Function
1032 .TODBK Returns, in the ac, the bit setting for the
terminal's debreak capability (1 in bit 35 if
debreak is enabled, otherwise ac=0). To set the
bit, use .TODBK+.TOSET; the monitor reads the
bit setting from .TOAR2. (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. You must
have [1,2] or JACCT privileges to set this bit,
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). (Meaningful
for model 2741 terminals only.)
1035 .TOACR Returns, in the ac, the auto-CRLF column number.
If this value is not zero, the first space
character received from the terminal, after the
specified column, is converted to a
carriage-return/line-feed sequence. If the
value in the ac is zero, no automatic conversion
on input is performed. To set this value, use
.TOACR+.TOSET. Include the column number in
.TOAR2 as a decimal value from 0 to 255.
1036 .TORTC Returns, in the ac, the bit for CTRL/R and
CTRL/T compatibility (0 in bit 35 if
compatibility is enabled, otherwise ac=1). To
set the bit, use .TORTC; the monitor reads the
bit from .TOAR2.
1037 .TOPBS Returns, in the ac, the word containing the PIM
(packed image mode) break set (four 9-bit
bytes). To set this word, use .TOPBS+.TOSET;
the monitor reads the word from .TOAR2. If the
ninth bit of the argument is set, the bytes are
compared as 7-bit bytes. If the ninth bit is
clear, the bytes are compared as 8-bit bytes.
1040 .TODEM Returns, in the ac, the bit showing the
deferred-echo mode (1 in bit 35 if echo is
deferred until input is required, otherwise
ac=0). To set this bit, use .TODEM+.TOSET; the
monitor reads the bit from .TOAR2.
22-508
TRMOP. [CALLI 116]
Code Symbol Function
1041 .TOTRM Returns, in the ac, the SIXBIT terminal type.
To set the terminal type code, use
.TOTRM+.TOSET; the monitor reads the SIXBIT name
of the terminal type from .TOAR2. The valid
terminal types may be obtained from GETTAB table
.GTTNM.
1042 .TOBCT Returns, in the ac, number of commands processed
in the left half, and the number of break
characters received in the right half.
1043 .TOICT Returns, in the ac, number of input characters
received.
1044 .TOOCT Returns, in the ac, number of output characters
sent.
1045 .TOOSU Returns, in the ac, output suppression state
(CTRL/O).
1046 .TOFCS Returns, in the ac, full character set.
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.
1061 .TOLNC Returns number of lines remaining in page.
22-509
TRMOP. [CALLI 116]
Code Symbol Function
1062 .TOSSZ Returns stop size (number of lines to output)
for automatic CTRL/S.
1063 .TOSTC Returns page stop counter (number of lines
remaining on page).
1064-1066 Reserved for use by DIGITAL.
1067 .TOSTO Specifies that output will stop after the number
of lines specified for .TOSSZ.
1070 .TOSST Does not reset page stop counters after CTRL/S
and CTRL/Q.
1071 .TOSBL Sounds terminal bell on automatic page stop.
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.
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).
22-510
TRMOP. [CALLI 116]
Code Symbol Function
1100 .TOSWI Enables two-character switch sequence.
1101 .TO8BT Enables 8-bit terminal I/O.
1102 .TO8BI Enables 8-bit I/O mode on a terminal.
1103 .TOQOT Enables the terminal quote (^V)
character. .TTQOT, when combined with any
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.
1105 .TOADT Returns time remaining before automatic
disconnect.
1106 .TOCLE Enables command-level echoing.
Normal Return
The monitor performs the function.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
0 TOILF% Illegal function code.
1 TOPRC% Not privileged.
2 TORGB% Illegal range.
3 TOADB% Illegal argument list address or length.
4 TOIMP% Line is not a dataset line.
5 TODIL% Error in dialing routine.
6 TOTNA% Terminal not available.
7 TONBM% Terminal is not in break set mode. You must set
IO.ABS with the OPEN UUO before you can define
and enable break characters.
10 TONIB% Illegal byte size specified.
11 TONET% Not a network-based terminal.
22-511
TRPSET [CALLI 25]
TRPSET [CALLI 25]
Function
Prevents jobs other than the calling job from running. You can
(if you have the JP.TRP privilege) use this call to guarantee
fast response to realtime interrupts.
For a complete discussion of realtime traps and related
programming practices, see Chapter 9, Volume 1.
Calling Sequence
MOVE ac,[XWD len,addr]
TRPSET ac,
error return
normal return
. . .
addr: JSR address
BLKI address
where: len is the length of the argument list.
addr is the address of the argument list.
address is the address of a location to be patched to
trap directly to your program. This address must be in
the range 40 to 57 (octal).
Normal Return
The monitor has suspended execution of other jobs.
Error Return
The error return occurs if the TRPSET call is not implemented, or
if your job is not privileged.
Related Calls
HPQ, LOCK, RTTRP, UJEN
22-512
TSK. [CALLI 177]
TSK. [CALLI 177]
Function
Performs miscellaneous functions for network nodes. This monitor
call can be used by applications that wish to perform
non-blocking connects and disconnects. Also, it can be used by
applications translating ANF-10 protocol into another protocol.
These applications usually require more control over the connect
message than that provided by the standard LOOKUP/ENTER sequence.
The TSK. monitor call is an alternative to using the
LOOKUP/ENTER method for opening/defining network links. Once the
link enters the run state (.TKSOK), the normal OUT and IN monitor
calls can be used to send or receive data over the network link.
The TSK device cannot be designated as an MPX-controlled device,
but asynchronous I/O can be performed.
Refer to Chapter 5 for more information about using the TSK.
monitor call.
Calling Sequence
MOVE ac,[XWD length,addr]
TSK. ac,
error return
normal return
addr: EXP func-code ;.TKAFN
EXP channo ;.TKACH
EXP arg1 ;.TKAA1
EXP arg2 ;.TKAA2
EXP arg3 ;.TKAA3
where: function is one of the function codes listed below.
channo is the I/O channel number on which the device TSK
has been opened.
Each argument is an argument for the specified function
code.
Most arguments will be pointers to Network Process Descriptors
(NPDs), having the following format:
XWD length,addr
where: length is the length of the NPD (must be at least 3).
addr is the location of the NPD.
22-513
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-514
TSK. [CALLI 177]
Code Symbol Meaning
You may include a pointer (len,,addr) to the
local NPD in arg2. You can include the pointer
to the remote NPD in arg3. These words,
however, are optional.
2 .TKFEP Enters the link into the passive state. The
link must be in the .TKSID state. The monitor
reads and stores the local and remote NPDs
pointed to by arg2 and arg3.
If, at a later time, the monitor receives a
Connect Initiate message that "matches" the
remote NPD, the following occurs:
o The monitor deletes the remote NPD.
o The monitor builds a new remote NPD from the
information given in the connect message.
The job can read the new NPD by using the
.TKFRS function to determine the process
that initiated the connection.
o The monitor enters the link into the .TKSOK
state.
o The monitor issues a device on-line
interrupt to the job if the job enabled this
condition using the PSI system.
3 .TKFEA Enters the link into the active state. Before
issuing this function the link must be in the
.TKSID state. All other states cause an error
code (TKILS%) to be returned. When this code is
issued, the monitor reads the local NPD pointed
to by arg1 and the remote NPD pointed to by
arg2. It then sends a Connect Initiate request
to the node/task specified in the remote NPD.
It puts the link into the TKSCC state and takes
the normal return. The link remains in the
TKSCC state until a Connect Confirm or
Disconnect function is issued.
If a Connect Confirm is issued, the monitor
discards the remote NPD pointed to by arg2. It
builds a new remote NPD using the information in
the Connect Confirm message (so that it can be
read by a .TKFRS function). The link is placed
in the .TKSOK state and the controlling job is
given a device on-line interrupt (if the
condition was enabled using the PSI system).
22-515
TSK. [CALLI 177]
Code Symbol Meaning
If a Disconnect function is issued, the monitor
discards both the local and remote NPD
specifications. It places the link into the
.TKSID (idle) state and gives the controlling
job a device off-line interrupt (if the job
enabled this condition using the PSI system).
4 .TKFEI Enters the link into the idle state. This
function is illegal for those tasks in .TKSDC or
.TKSCC states and is a no-op for those already
in the idle state (.TKSID). The monitor
performs the following for those links in .TKSCI
and .TKSOK states:
.TKSCI Both NPDs are released. The link
state is set to .TKSID.
.TKSOK A Disconnect Initiate is sent. The
link state is set to .TKSDC.
When Disconnect Confirmed message is issued at a
later time, the monitor frees both NPDs, sets
the link state to .TKSID, and issues a "device
off-line" interrupt.
5 .TKFWT Puts the link into the wait state. If the link
is in either the .TKSID or .TKSOK state, the
monitor takes the normal return immediately.
The monitor performs the following for those
links in the other states:
State Function
.TKSCI waits for a transition to the
.TKSOK state and then returns.
.TKSCC waits for a transition to either
the .TKSOK or .TKSID states, then
returns.
.TKSDC waits for a transition to .TKSID
and then returns.
22-516
TSK. [CALLI 177]
Code Symbol Meaning
6 .TKFOT Performs output with control of message
disassembly. This function is valid only for
links in the .TKSOK state. This function
performs an OUT monitor call on the specified
channel. If the OUT is successful, the contents
of the buffer will be sent without an EOF bit.
If unsuccessful, the monitor places error code
TKUDW% in the ac and returns the device status
word in arg1.
7 .TKFIN Performs input with message reassembly. This
function is valid only for those links in the
.TKSOK state. It performs an IN monitor call on
the specified channel. If the IN is successful
(non-skip return), and UU.DMR was not set on the
OPEN, the monitor reads the message as one
entire buffer and takes a skip return. If
UU.DMR was set, the message is read without
reassembly. If the IN fails, the monitor places
error code TKUDW% in the ac and stores the
device status word in ac+1.
10 .TKFRX Returns the status of the link in arg1 (see
.TKFRS for a list of codes) and the "segment
size," or the maximum message size, in arg2.
Note that the segment size is only returned if
the link is in "OK" state (.TKSOK).
Normal Return
The specified function has been performed.
22-517
TSK. [CALLI 177]
Error Return
One of the following error codes is returned in the ac.
Code Symbol Meaning
1 TKTNL% TSKSER not loaded (intertask communication is not
supported).
2 TKATS% Argument list was too short.
3 TKUNP% Insufficient privileges.
4 TKILF% Illegal function.
5 TKILC% Illegal channel (not a TSK device or channel not
open).
6 TKILN% Illegal NPD.
7 TKNTS% NPD too short.
10 TKILS% Function is illegal in this state.
11 TKNFC% Not enough monitor free-core to perform this
function.
12 TKNFL% No free links. (NETLAT is full.)
13 TKNXN% Attempt to connect to a non-existent node.
14 TKUDW% IN or OUT UUO (.TKFOT or .TKFIN) did not skip.
Related Calls
NODE.
22-518
TTCALL [OPCODE 051]
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-519
UGETF [OPCODE 073]
UGETF [OPCODE 073]
Function
Returns the block number of the next free block on a DECtape; the
UGETF call is a no-op for other devices. Use FILOP. to perform
UGETF for an extended I/O channel.
Calling Sequence
UGETF channo,addr
return
. . .
addr: BLOCK 1
where: channo is the channel number of an initialized device.
addr is the address of the location where the monitor
will return a block number at addr.
Return
The block number of the next free block is returned at addr. If
this call precedes an ENTER, the inter-block spacing factor used
for output is reduced to that used for .SAV files. This function
is used to reduce the number of times the tape must reverse
direction when reading a large file.
Related Calls
FILOP.
22-520
UJEN [OPCODE 100]
UJEN [OPCODE 100]
Function
Dismisses a realtime interrupt from a user-supplied service
routine, if such a routine is in progress.
Calling Sequence
UJEN
return
Return
The monitor restores all accumulators and executes the
instruction
JEN @counter
where: counter is the address of the program counter stored by a
JSR instruction when the interrupt occurred.
Note that you can dismiss a user-mode interrupt with a JRST 12,
instruction.
Related Calls
RTTRP, TRPSET
22-521
UNLOK. [CALLI 120]
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 Sequence
MOVE ac,[XWD high,low]
UNLOK. ac,
error return
normal return
where: high can be 0 or 1. If set, the high segment is
unlocked. If clear, the status of the high segment
remains the same.
low can be 0 or 1. If set, the low segment is unlocked.
If clear, the status of the low segment remains the same.
If you set both high and low, both segments will be
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.
Normal Return
The specified segments are unlocked and become eligible for
swapping. Any existing meter points (set by the METER. monitor
call) are cleared, and any real-time devices are reset. CORMAX
is changed to show the newly available pages, if any.
Error Return
The error return occurs only if the UNLOK. monitor call is not
implemented on your system. You must use either a RESET or an
EXIT monitor call instead.
Related Calls
LOCK
22-522
USETI [OPCODE 074]
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. 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
where: channo is the channel number for an initialized device.
n is the number of the block to be used for I/O.
22-523
USETI [OPCODE 074]
For DECtape, the block number is relative to the
beginning of the tape.
For disk, n is a block number, when the file is open.
When the call is not preceded by a LOOKUP, n is the
address of a word where the block number is stored. This
is a super-USETI call, because this method allows you to
specify a block number, greater than 18 bits, relative to
the beginning of the structure.
The action of the USETI call on disk devices is determined by the
value of n as follows:
Value Meaning
-n, n = 2 to 10 (octal) The nth extended RIB is read.
-1 IO.EOF is set in the I/O status
word, causing an end-of-file on
the next INPUT. On the next
OUTPUT, the data is appended to
the file.
0 The prime RIB is read on the
next INPUT.
1 to file size The block specified is read on
next INPUT. If the file size is
greater than or equal to 777770,
it is recommended that you use
FILOP. function .FOUSI.
file size to 777770 The IO.EOF bit is set in the I/O
status word, causing an
end-of-file on the next INPUT.
Related Calls
FILOP., SUSET., USETO
Common Errors
o Not synchronizing I/O with USETI or USETO.
o Not initializing a device on channo.
22-524
USETO [OPCODE 075]
USETO [OPCODE 075]
Function
Selects a block on disk or DECtape to be written by an OUT
monitor call. This function can be performed by SUSET. and
FILOP. (Use FILOP. to perform USETO on an extended I/O
channel.) Refer to the USETI UUO and Chapter 11, Volume 1, for
more information.
Calling Sequence
USETO channo,n
return
Where: channo is the channel number for an initialized device.
n is the number of the I/O block.
For DECtape, n is the block number relative to the
beginning of the tape.
For disk, n is a block number if a previous ENTER has
been used to open a file. Otherwise, n is the address of
a word that contains the block number relative to the
beginning of the structure or unit (super-USETO),
allowing you to specify a block number greater than 18
bits.
The action of the USETO call for disk is determined by the value
of n as follows:
Value Meaning
-n for n = 2 to 10 (octal) Equivalent To a USETO 777776 to
777770; you may not write to the
RIBs of a file.
-1 The most recently input or
output block is re-written on
the next OUTPUT.
0 The IO.BKT is set in the file
status word.
1 to file size The specified block is written
on the next OUTPUT. If the file
size is greater than or equal to
777777, it is recommended that
you use FILOP. function .FOUSO.
22-525
USETO [OPCODE 075]
Value Meaning
file size to 777776 The monitor allocates all blocks
from the block after file size
to the block before the one
specified. Each block allocated
is written with zeros. The
block specified is the next
block written in the next
OUTPUT.
Related Calls
FILOP., SUSET., USETI
Common Errors
o Not synchronizing I/O with USETI or USETO.
o Not initializing a device on channo.
22-526
UTPCLR [CALLI 13]
UTPCLR [CALLI 13]
Function
Clears a DECtape directory. Use FILOP. to perform UTPCLR on an
extended I/O channel. The UTPCLR monitor call is a no-op for
other devices.
Calling Sequence
UTPCLR channo,
return
where: channo is the channel number for an initialized device.
Normal Return
The monitor clears the directory by clearing the first 83 words
(except those 7-bit bytes describing blocks 0, 1, 2, 100, and
1102 through 1105 octal).
Common Errors
o I/O to unassigned channel at user PC xxxxxx.
o Forgetting to place the channel in the ac or forgetting the
comma after channo.
o Not initializing a DECtape on channo.
22-527
UTRP. [CALLI 174]
UTRP. [CALLI 174]
Function
Sets or reads user trap instructions. This UUO allows a user to
handle non-zero section LUUOs, arithmetic overflows, or pushdown
list overflows by depositing instructions in locations 420, 421
and 422 in the UPMP. Usually these instructions are calls to
user-supplied subroutines.
Calling Sequence
MOVE ac,[XWD fcncode,addr]
UTRP. ac,
error return
normal return
. . .
addr: length
trapno
trapinstr
. . .
trapno
trapinstr
where: fcncode is one of the function codes described below.
addr is the address of the argument list.
length is the number of words in the argument list.
trapno is the number of a trap. Trap numbers are listed
below.
trapinstr is the instruction to call the trap routine.
The function codes and their meanings are:
Code Symbol Meaning
0 .UTRED Reads the contents of the trap location. A zero
opcode cannot be used as a trap instruction, but
a zero fullword here will restore monitor
handling of the specific condition.
1 .UTSET Sets the contents of the trap location.
22-528
UTRP. [CALLI 174]
The trap numbers are:
Code Symbol Meaning
0 .UTLUU Stores the contents of the 4 word LUUO trap
block in the UPT.
1 .UTAOF Arithmetic overflow trap (location 421 in the
UPMP).
2 .UTPOV Pushdown list overflow trap (location 422 in the
UPMP).
Normal Return
The specified traps are cleared or set.
Error Return
One of the following error codes is returned in the ac:
Code Symbol Error
1 UTIAD% Illegal address.
2 UTUKF% Unknown function.
3 UTITN% Illegal trap number.
4 UTIUT% Illegal user trap instruction.
Related Calls
ABRENB, .JBINT trapping, PSI system
22-529
WAIT [CALLI 10]
WAIT [CALLI 10]
Function
Causes program execution to wait until all data transmissions on
a given channel are completed. Use FILOP. to perform WAIT on an
extended I/O channel.
Calling Sequence
WAIT channo,
return
where: channo is the channel number for an initialized device.
Normal Return
The monitor stops your program's execution until transmissions on
the channel are completed.
Common Errors
o Using WAIT on a tape which is spacing (see MTWAT.).
o Not initializing a device on channo.
o Omitting the comma after channo.
22-530
WAKE [CALLI 73]
WAKE [CALLI 73]
Function
Sets the wake bit for a specified job.
Calling Sequence
MOVEI ac,jobno
WAKE ac,
error return
normal return
Where: jobno is the number of a logged-in job (use -1 for the
current job).
You can design a real-time process control job to run other
process control jobs when specific alarm conditions occur. WAKE
can be called from an RTTRP job running at interrupt level; this
allows the real-time job to wake its background quickly when
necessary. See the RTTRP monitor call for restrictions on
accumulators when calling from the interrupt level.
If your job does not have the required privileges, the error
return occurs and the monitor clears the ac. A JACCT or [1,2]
job may WAKE any job. If any condition enabled in the last HIBER
call occurs, the wake bit for the job is set. At the next HIBER
call, the wake bit is cleared and the monitor returns at the
normal return immediately. The wake bit prevents the job from
oversleeping a wake condition.
Normal Return
The specified job is awake and resumes execution at the normal
return for the HIBER call that made the job dormant.
Error Return
Your job did not have the required privileges. The ac is
cleared.
Related Calls
Refer to the HIBER monitor call.
22-531
WHERE [CALLI 63]
WHERE [CALLI 63]
Function
Returns the node number for a device.
Calling Sequence
|
| / MOVE ac,[SIXBIT/device/] \
| | MOVEI ac,channo |
| \ MOVEI ac,udx /
| WHERE ac,
| error return
| normal return
where: device is the SIXBIT physical or logical name of a
device.
channo is the number of an initialized channel.
udx is the Universal Device Index for a device.
When your program specifies OPR as the device, the monitor
returns the node number at which your job is logically located.
Refer to the LOCATE command description in the Commands Manual.
When your program specifies CTY as the device, the monitor
returns the node number of your job's host system.
When your program specifies TTY as the device, the monitor
returns the node number to which your terminal is physically
located.
Normal Return
The monitor returns the status flags for the node and the node
number for the given device in the ac. The format of the
returned word is:
Bits Symbol Meaning
0-12 Reserved for use by DIGITAL.
13 RM.SDU Dial-up node.
22-532
WHERE [CALLI 63]
Bits Symbol Meaning
14-17 RM.SUP Status of the node:
Value Symbol Status
1 .RMSUN Not in contact with central
site.
2 .RMSUD Down.
4 .RMSUG Loading.
10 .RMSUL Loaded.
18-35 Node number for device.
Error Return
A nonexistent device was specified.
Related Calls
LOCATE, NODE., NETOP.
22-533
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
where: ac is an accumulator.
index is the index into the table, which may be a job number,
a table item number, a high-segment number, or a class code,
depending on the table's organization.
table is the symbolic name of the desired table.
For those tables indexed by table item numbers, it is easier and more
reliable to use the calling sequence:
MOVE ac,[item]
GETTAB ac,
error return
normal return
where: item is the symbolic name of the desired item as defined in
UUOSYM. Using this calling sequence eliminates the need to
name both the table and the item desired. In the following
table descriptions, items marked by a * are described in more
detail at the end of the table.
23-1
GETTAB TABLES
For tables indexed by job numbers, use the index -1 to specify the
current job; use the index -2 to specify the job's current high
segment.
23.2 HOW TO USE GETTAB SUBTABLES
Some GETTAB tables have subtables. In this section, each subtable is
described after the description of the table containing it. Each
subtable description includes the calling sequence for accessing items
in the subtable.
Each subtable has a single entry in the GETTAB table. This entry
returns <length>B8+offset, where length is the length of the subtable
and offset is the first entry in the GETTAB table that corresponds to
the subtable.
Contents Offset GETTAB Table
0 entry 0
1 1
5B8+10 2 subtable 1 pointers
3 entry 3
4B8+15 4 subtable 2 pointers
5 entry 5
6 entry 6
7 entry 7
10 subtable 1 (entry 0)
11
23-2
GETTAB TABLES
Contents Offset GETTAB Table
subtable
1 12
13 s
14 c
15
16
subtable
2 17
20
An example of the use of GETTAB subtables follows below:
TITLE GTRSP - Example of CPU response sub-GETTAB
SUBTTL Hanley A. Strappman 13-June-80 /HAS
SEARCH UUOSYM ;Use standard symbols
T1=1 ;Accumulators
T2=T1+1
P1=5
P=17
PLN=100 ;Length of program stack
ARRAY PDL[PLN] ;The program stack
NCPUS==6 ;How many CPUs this program allows
GTRSP: JFCL ;In case of CCL RUN
RESET ;Reset the world
MOVE P,[IOWD PLN,PDL] ;Set up stack
MOVSI P1,-NCPUS ;For loop control
LOOP: HRRZ T1,P1 ;Get number of next CPU
PUSHJ P,GETIT ;Get the data
JRST NEXT ;No such table
23-3
GETTAB TABLES
;Insert here the code to process the data, then
NEXT: AOBJN P1,LOOP ;Go on to next CPU
EXIT ;Done
;Subroutine to return in T2 the number of TTY input-to-input
;UUO responses for the CPU specified by T1.
GETIT: LSH T1,1 ;Variables table numbers go up by twos
; (for example, .GTC1V=.GTC0V+2)
MOVE T2,[%CCRSP] ;CPU0's subtable pointer
ADD T2,T1 ;CPUn's subtable pointer
GETTAB T2, ;Get base index of subtable
POPJ P, ; ??? Must be an old monitor
JUMPE T2,CPOPJ ;No such subtable
ADDI T2,%CVRNI ;Add entry offset to subtable base
HRL T2,T2 ;This becomes the item number
HRRI T2,.GTCOV ;Right half is table number which
ADD T2,T1 ; equals <CPU0 index> + 2*<CPU number>
GETTAB T2, ;Finally get the subtable entry
POPJ P, ; ???Must be an old monitor
AOS (P) ;Skip return means good data in T2
CPOPJ: POPJ P, ;All done
END GTRSP
23.3 ADDING ITEMS TO THE MONITOR'S GETTAB TABLES
System programmers can add words (items) to the monitor's GETTAB
tables. The items added must have negative indexes, and must be added
at the top of the table in the order -n, -(n-1), -(n-2), ... -2, -1.
When the monitor is assembled, the range of valid indexes for each
table must begin with the lowest (most negative) index, and proceed to
the highest index.
It is good programming practice to use a .UNV file containing symbols
for these items for use in programs. This usage is similar to that of
searching UUOSYM.UNV.
23-4
GETTAB TABLES
23.4 ADDING NEW GETTAB TABLES TO THE MONITOR
System programmers can add completely new GETTAB tables to the
monitor. These tables must have negative table numbers, and must be
added at the beginning of COMMON.MAC in the order -n, -(n-1), -(n-2),
... -2, -1. When the monitor is assembled, the range of valid table
numbers must begin with the lowest (most negative) table number, and
proceed to the highest table number. Within these added tables, items
must be indexed sequentially.
For example, the system programmer can add a new table with the number
-1. This table must be added to the source code in the monitor module
UUOCON. The items in this table could begin and end with negative
indexes; for example, the indexes could begin with -14 and end with
-1. The items could begin with a negative index and end with a
positive index; for example, the indexes could begin with -10 and end
with 27. Or the items could begin and end with nonnegative indexes;
for example the indexes could begin with 0 and end with 15.
23-5
GETTAB TABLES
23.5 ALPHABETIC LISTING
Because GETTAB tables are often referred to by symbolic name, the
following list of GETTAB tables is provided in alphabetical order:
Symbol Table No. Description
.GTABS 111 Address Break Word
.GTADR 1 Job Relocation and Protection
.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
.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 Core Table (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 Disk Block Seconds (Obsolete)
.GTDCD 160 CONI/DATAI To Device Status Block
.GTDCF 116 Obsolete
.GTDCN 164 SET DEFAULT Command Argument(s)
.GTDDB 200 I/O Wait DDB
.GTDEV 24 Segment Device or Structure
.GTDFL 140 User Defaults for Job
.GTDVL 110 Pointer to Logical Name Table
.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
23-6
GETTAB TABLES
Symbol Table No. Description
.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
.GTLIM 40 Time Limit and Batch Status
.GTLOC 26 Remote Station Number
.GTLBS 165 Large Buffer Size
.GTLVD 16 Level D Disk Parameters
.GTMBR 134 MBOX Jiffy Remainder
.GTMBT 133 KL10 MBOX Time
.GTMVL 103 Maximum Page Limits
.GTNDB 161 Byte Pointers to Node Data Block
.GTNM1 31 User Name (first 6 characters)
.GTNM2 32 User Name (last 6 characters)
.GTNSW 12 Nonswapping Data Table
.GTNSP 172 DECnet session control (Obsolete)
.GTNTP 141 Network Performance Data
.GTOBI 157 WTO and Batch Data
.GTODP 15 ONCE-only Disk Parameters
.GTOSC 46 Swap-Out Scan Tables
.GTPC 152 Wait DDB and User PC
.GTPDB 162 Job PDB Word
.GTPID 76 Process Communication ID (IPCF)
.GTPPN 2 Job's PPN
.GTPRG 3 User Program Name
.GTPRV 6 Job Privilege Flags
.GTPTR 166 Program To Run
.GTQJB 42 Scheduling Queue Table (Obsolete)
.GTQQQ 41 Scheduling Queue Headers (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
23-7
GETTAB TABLES
Symbol Table No. Description
.GTSGN 14 High Segment Parameters
.GTSG2 203 High Segment Section Number
.GTSID 126 Special PID Table
.GTSLF 23 GETTAB Table Data
.GTSNA 74 Last SEND ALL in 9-bit
.GTSPA 142 Scheduler Performance Data
.GTSPL 36 Spooling Control Flags
.GTSPS 54 Status of Subsequent Processors
.GTSQ 125 Obsolete
.GTSQH 124 Obsolete
.GTSSC 47 Scheduler Scan Tables
.GTSST 115 Scheduler Statistics
.GTST2 117 Second Job Status Word
.GTSTS 0 Job Status Word
.GTSWP 7 Job Swapping Parameters
.GTSYS 51 System-Wide Data
.GTTDB 22 Last Allocation (Obsolete)
.GTTIM 4 User Runtime
.GTTMP 34 TMPCOR Pointers (Obsolete)
.GTTNM 156 Terminal Type Names
.GTTRQ 53 Time in Run Queue
.GTTTY 10 Job's Controlling Terminal
.GTUPM 100 Physical Page Number of UPMP
.GTUUC 144 Monitor Calls Executed
.GTVIR 201 Job's Virtual Size
.GTVKS 143 Virtual Kilo-Core Ticks
.GTVM 113 Virtual Memory Data
.GTVRT 114 Paging Rage
.GTWCH 35 Watch Bits
.GTWCT 20 Disk Blocks Written
.GTWHY 52 Operator Reload Comments
.GTWSN 25 Names of Wait States
23.6 TOPS-10 GETTAB TABLES
The remainder of this chapter describes the TOPS-10 GETTAB tables.
For each table, the contents of the table, the indexing scheme, the
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-8
GETTAB TABLES
.GTSTS - Job Status Word
GETTAB Table 0
Contents One word for each job running on the system, giving
the status word for the job. (There is a second job
status word in GETTAB table .GTST2, Number 117.) The
bits in the job status word may vary from monitor to
monitor; therefore you should not reference .GTSTS in
a program that is monitor-independent.
Indexed by Job number or segment number.
Monitor table JBTSTS
Calling MOVE ac,[XWD jobno,.GTSTS]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job) or a high-segment number (use -2
for the current high segment).
|=======================================================|
| Job status |
|=======================================================|
The only documented bit in this word is JS.XO (bit 25), which
indicates a program that is execute-only. Refer to the Monitor Tables
descriptions for more information about the job status bits.
23-9
GETTAB TABLES
.GTADR - Job Relocation and Protection
GETTAB Table 1
Contents One word for each job running on the system, giving
the relocation addresses and protection for the job.
The bits in this word may vary from monitor to
monitor; therefore you should not reference .GTADR in
a program that is monitor-independent.
Indexed by Job number or segment number.
Monitor Table JBTADR
Calling MOVE ac,[XWD jobno,.GTADR]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job) or a high-segment number (use -2
for the current high segment).
|=======================================================|
| Job relocation and protection |
|=======================================================|
23-10
GETTAB TABLES
.GTPPN - Project-programmer Number
GETTAB Table 2
Contents One word for each job running on the system, giving
the project-programmer number (PPN) for the job.
Indexed by Job number or segment number.
Monitor Table JBTPPN
Calling MOVE ac,[XWD jobno,.GTPPN]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job) or a high-segment number (use -2
for the current high segment).
|=======================================================|
| Project-programmer number |
|=======================================================|
where project-programmer number is the job's PPN or
the segment owner's PPN.
If the high segment's file is in an SFD, this word is
returned as 0,,path-pointer, where path-pointer is a
pointer to a path block in monitor memory. PEEK
privileges are required to read the monitor's path
block.
23-11
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 JBTNAM
Calling MOVE ac,[XWD jobno,.GTPRG]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job) or a high-segment number (use -2
for the current high segment).
|=======================================================|
| SIXBIT program name |
|=======================================================|
For jobs, this is the program name that can be set by
SETNAM. The default is the file name of the runnable
program (.EXE file). For segments, this is the
segment name. If the segment is not sharable, 0 is
returned. If sharable, it is the file name of the
.EXE file.
23-12
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTTIM]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job).
|=======================================================|
| Total runtime in ticks |
|=======================================================|
23-13
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTKCT]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Kilo-core ticks |
|=======================================================|
23-14
GETTAB TABLES
.GTPRV - Job Privilege Flags
GETTAB Table 6
Contents One word for each job running on the system, giving
the privilege bits for the job.
Indexed by Job number.
Monitor Table JBTPRV
Calling MOVE ac,[XWD jobno,.GTPRV]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|==================================================|
| Job privilege bits |
|==================================================|
Privilege bits for each job are as follows:
Bits Symbol Privilege
0 JP.IPC IPCF privilege.
1-2 JP.DPR Highest disk priority for the job (a
value in the range 0 to 3).
3 JP.MET METER. privilege.
4 JP.POK POKE. privilege.
5 JP.CCC Privilege to change CPU
specification with either a command
or a monitor call.
6-9 JP.HPQ Highest high-priority queue
available to the job (a value in the
range 0 to 17 octal).
10 JP.NSP Device unspooling privilege.
11 JP.ENQ ENQ/DEQ privilege (allows you to use
-2 (.EQFGL) in the ENQ. block to set
global privileges).
12 JP.ADM System Administrator privilege.
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. The definitions
of the bits in this word may vary from monitor
release to monitor release; therefore you should not
reference .GTSWP in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table JBTSWP
Calling MOVE ac,[XWD jobno,.GTSWP]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. 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. The
definitions of the bits in this word may vary from
monitor release to monitor release; therefore you
should not reference .GTTTY in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table TTYTAB
Calling MOVE ac,[XWD jobno,.GTTTY]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Controlling terminal |
|=======================================================|
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 MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below. When an item name is followed by a *,
that item is more fully described at the end of the
table.
Word Symbol Map
|=======================================================|
0,,11 %CNFG0 | System name (1st of 5 ASCIZ words) |
|-------------------------------------------------------|
1,,11 %CNFG1 | System name (2nd of 5 ASCIZ words) |
|-------------------------------------------------------|
2,,11 %CNFG2 | System name (3rd of 5 ASCIZ words) |
|-------------------------------------------------------|
3,,11 %CNFG3 | System name (4th of 5 ASCIZ words) |
|-------------------------------------------------------|
4,,11 %CNFG4 | System name (5th of 5 ASCIZ words) |
|=======================================================|
5,,11 %CNDT0 | System creation date (1st of 2 ASCIZ words) |
|-------------------------------------------------------|
6,,11 %CNDT1 | System creation date (2nd of 2 ASCIZ words) |
|=======================================================|
7,,11 %CNTAP | SIXBIT name of system device |
|=======================================================|
10,,11 %CNTIM | Encoded time of day in jiffies |
|=======================================================|
11,,11 %CNDAT | Encoded date (15-bit binary format) |
|=======================================================|
12,,11 %CNSIZ | System memory size (in words) |
|=======================================================|
13,,11 %CNOPR | SIXBIT name of operator TTY |
|=======================================================|
14,,11 %CNDEV | Start of DDB chain | Reserved |
|=======================================================|
15,,11 %CNSJN |-(Max number of high segs) |Max number of current jobs |
|=======================================================|
23-18
GETTAB TABLES
|=======================================================|
16,,11 %CNTWR | Two-register hardware and software flag |
|=======================================================|
17,,11 %CNSTS* | Feature test switches | Switch states |
|=======================================================|
20,,11 %CNSER | CPU0 serial number |
|=======================================================|
21,,11 %CNNSM | Number of nanoseconds per memory cycle |
|=======================================================|
22,,11 %CNPTY | Number of 1st PTY (CTY+1) | Number of PTYs in system |
|=======================================================|
23,,11 %CNFRE | Pointer to bit map of core blocks |
|=======================================================|
24,,11 %CNLOC | Address of low-segment core blocks |
|=======================================================|
25,,11 %CNSTB | Obsolete |
|=======================================================|
26,,11 %CNOPL | Pointer to line data block (LDB) of OPR TTY |
|=======================================================|
27,,11 %CNTTF | Pointer to TTY free chunks |
|=======================================================|
30,,11 %CNTTC | Number of TTY chunks | Address of 1st TTY chunk |
|=======================================================|
31,,11 %CNTTN | Number of free TTY chunks |
|=======================================================|
32,,11 %CNLNS | Pointer to current command TTY |
|=======================================================|
33,,11 %CNLNP | -Number of TTY+PTY+CTY lines,,addr of LINTAB |
|=======================================================|
34,,11 %CNVER | Monitor version number |
|=======================================================|
35,,11 %CNDSC | -Len of dataset ctrl tbl,,addr of ctrl tbl |
|=======================================================|
36,,11 %CNDLS | Obsolete |
|=======================================================|
37,,11 %CNCCI | Obsolete |
|=======================================================|
40,,11 %CNSGT | Ptr to last dormant seg deleted to free a seg number |
|=======================================================|
41,,11 %CNPOK | Last location changed by a POKE. monitor call |
|=======================================================|
42,,11 %CNPUC | Job that made last POKE. | Number of POKE.s made |
|=======================================================|
43,,11 %CNWHY | SIXBIT reason for last reload (operator input) |
|=======================================================|
44,,11 %CNTIC | Number of clock ticks per second |
|=======================================================|
45,,11 %CNPDB | Pointer to process data block (PDB) pointer tables |
|=======================================================|
46,,11 %CNRTC | Resolution of runtime clock (units/sec) |
|=======================================================|
47,,11 %CNCHN | Ptr to channel data block | Reserved |
|=======================================================|
23-19
GETTAB TABLES
|=======================================================|
50,,11 %CNLMX | Maximum number of logged-in jobs allowed |
|=======================================================|
51,,11 %CNBMX | Maximum number of batch jobs allowed |
|=======================================================|
52,,11 %CNBMN | Minimum number of jobs reserved to batch |
|=======================================================|
53,,11 %CNDTM | Date/time in universal date/time format |
|=======================================================|
54,,11 %CNLNM | Number of jobs logged in |
|=======================================================|
55,,11 %CNBNM | Number of batch jobs logged in |
|=======================================================|
56,,11 %CNYER | Current year |
|=======================================================|
57,,11 %CNMON | Current month |
|=======================================================|
60,,11 %CNDAY | Current day of the month |
|=======================================================|
61,,11 %CNHOR | Current hour (0-23) |
|=======================================================|
62,,11 %CNMIN | Current minute (0-59) |
|=======================================================|
63,,11 %CNSEC | Current second (0-59) |
|=======================================================|
64,,11 %CNGMT | Offset from Greenwich Mean Time |
| (such that %CNGMT +%CNDTM = GMT) |
|=======================================================|
65,,11 %CNDBG | Debug status |
|=======================================================|
66,,11 %CNFRU | Number of free core blocks in use by monitor |
|=======================================================|
67,,11 %CNTCM | Addr of last TTY chunk |
|=======================================================|
70,,11 %CNCVN | Customer version number |
|-------------------------------------------------------|
71,,11 %CNDVN | DIGITAL version number |
|=======================================================|
72,,11 %CNDFC | Number of data channels on the system |
|=======================================================|
73,,11 %CNRTD | Number of realtime devices |
|=======================================================|
74,,11 %CNHPQ | Number of high-priority queues |
|=======================================================|
75,,11 %CNLDB | TTY device data blk wrd pointing to line data blk |
|=======================================================|
76,,11 %CNMVO | Maximum vector offset for PISYS. |
|-------------------------------------------------------|
77,,11 %CNMIP | Maximum priority for PISYS. |
|=======================================================|
100,,11 %CNMER |Offset of MTA err rep word | Address of 1st MTA DDB |
|=======================================================|
23-20
GETTAB TABLES
|=======================================================|
101,,11 %CNET1 | User address of exec AC T1 (for DAEMON) |
|=======================================================|
102,,11 %CNLSD | Length of short device data block |
|-------------------------------------------------------|
103,,11 %CNLLD | Length of long device data block |
|-------------------------------------------------------|
104,,11 %CNLDD | Length of disk device data block |
|=======================================================|
105,,11 %CNEXM | Addr in JOBDAT of last Examine or Deposit command |
|=======================================================|
106,,11 %CNST2* | Software configuration flags |
|=======================================================|
107,,11 %CNPIM | Minumum condition in PISYS. |
|=======================================================|
110,,11 %CNPIL | Length of internal PITs |
|=======================================================|
111,,11 %CNPIA | Address of JBTPIA |
|=======================================================|
112,,11 %CNMNT* | Monitor type |
|=======================================================|
113,,11 %CNOCR | Addr of 1st CDR DDB | Offset to card count |
|-------------------------------------------------------|
114,,11 %CNOCP | Addr of 1st CDP DDB | Offset to card count |
|=======================================================|
115,,11 %CNPGS | Unit of core allocation (in words) |
|-------------------------------------------------------|
116,,11 %CNMMX |Maximum allowable CORMAX (total phys mem for all jobs |
|=======================================================|
117,,11 %CNNSC | Number of scheduler classes |
|=======================================================|
120,,11 %CNUTF | Exponential user time factor |
|=======================================================|
121,,11 %CNHSO | Address of start of monitor high segment |
|=======================================================|
122,,11 %CNHSL | Length of monitor high segment |
|=======================================================|
123,,11 %CNNWC | Number of words in core (highest addr of on-line mem) |
|=======================================================|
124,,11 %CNNXM | AOBJN pointer to NXMTAB used to scan for zeros |
|=======================================================|
125,,11 %CNNDB | Addr of 1st network node data block |
|=======================================================|
126,,11 %CNTKB | Offset in MTA KDB of addr of CDB |
|=======================================================|
127,,11 %CNDDC | Offset into TTY DDB of character counts |
|=======================================================|
130,,11 %CNHDL | Potentially hung device list |
|=======================================================|
131,,11 %CNBTX | Address of reload .CCL text for BOOTS |
|=======================================================|
23-21
GETTAB TABLES
|=======================================================|
132,,11 %CNTDB | Offset in MTA UDB of addr of DDBs |
|=======================================================|
133,,11 %CNMTK | Addr of 1st MTA KDB in system |
|=======================================================|
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 BOOTS) |
|-------------------------------------------------------|
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 about 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 |
|=======================================================|
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).
23-23
GETTAB TABLES
Item Symbol Contains
Bits Symbol Feature or State
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.
4 ST%CP1 Stop CPU0 on CPU1 halt.
18 ST%BP0 CPU0 can enter EDDT mode using
XCT .C0DDT.
19 ST%BP1 CPU1 can enter EDDT mode using
XCT .C1DDT.
20 ST%BP2 CPU2 can enter EDDT mode using
XCT .C2DDT.
21 ST%BP3 CPU3 can enter EDDT mode using
XCT .C3DDT.
22 ST%BP4 CPU4 can enter EDDT mode using
XCT .C4DDT.
23-24
GETTAB TABLES
Item Symbol Contains
Bits Symbol Meaning
23 ST%BP5 CPU5 can enter EDDT mode using
XCT .C5DDT.
77B23 ST%BPT Mask for all CPU breakpoint bits.
106 %CNST2 Configuration feature flags are as follows:
Bits Symbol Feature
6 ST%END DECnet is running as an Ethernet
end node.
7 ST%NPP Disabled starting primary
protocol on DTEs.
8 ST%RCM Restricted commands monitor.
9 ST%EXA Extended addressing in effect.
10 ST%D36 Monitor has DECnet Phase III
code.
11 ST%KLP Monitor uses KL-paging.
12 ST%MDA Mountable device allocation is in
effect.
13 ST%LSC Low segment of monitor is cached.
14 ST%ACV Account validation.
15 ST%NER Version 6.03 error reporting.
16 ST%NCS Scheduler is not a class system
scheduler.
17 ST%ITA Interval timer available.
18 ST%NDN Network devices have names of the
form gggnnu, where ggg is a
generic device name (such as
TTY), nn is the last two digits
of the node number, and u is the
unit number.
19 ST%XPI PI time excluded from runtime.
20 ST%ERT EBOX/MBOX runtime (KL10 only).
21 ST%EXE .EXE files written by SAVE and
SSAVE.
22 ST%NJN System uses 9-bit job numbers.
23 ST%EER Extended error reporting.
24 ST%TAP TAPSER included in monitor.
25 ST%MBE Massbus error reporting.
26 ST%GAL GALAXY supported.
27 ST%ENQ ENQ./DEQ. monitor calls included.
28 ST%SHC Scheduler is a class type
scheduler.
29 ST%NSE Nonsuperseding ENTER call.
30 ST%MSG MPX channels supported.
31 ST%PSI Software interrupt supported.
32 ST%IPC IPCF supported.
33 ST%VMS VMSER included in monitor.
34 ST%MER Magtape error reporting.
35 ST%SSP Swapping done in page units.
23-25
GETTAB TABLES
Item Symbol Contains
112 %CNMNT Monitor type flags are as follows:
Bits Symbol Monitor Type
0 CN%MNX Unknown monitor.
77B23 CN%MNT Monitor type:
Value Symbol Type
1 .CNT10 TOPS-10
2 .CNITS ITS
3 .CNTNX TENEX
4 .CNT20 TOPS-20
5 .CNTCX TYMCOM-X
24-29 CN%MNS DIGITAL monitor subtype.
30-35 CN%MNC Customer monitor subtype.
This word is used by operating systems that have
TOPS-20 UUO compatibility packages.
For example, a calling sequence to read this word
may be:
MOVE ac,[112,,11]
GETTAB ac,
MOVEI ac,0
LDB ac,[POINT ac,CN/MNT]
CAIN ac,1
JRST TOPS10
CAIN ac,4
JRST TOPS20
JRST UNKNOWN
166 %CNJPK Bit 0 of this word is a flag. If not set, this
flag indicates that JOBPEK transfers cannot cross
page boundaries.
167 %CNDAE In the left half is the previous version of the
monitor in SIXBIT. In the right half is the
current version of the monitor in binary.
23-26
GETTAB TABLES
.GTNSW - Nonswapping Data Table
GETTAB Table 12
Contents Data about nonswapping memory utilization.
Indexed by Item number.
Monitor Table NSWTBL
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Some of this data is CPU-specific and exists in CDBs.
Word Symbol Map
|=======================================================|
10,,12 %NSCMX | System CORMAX (largest user job + 1) |
|=======================================================|
11,,12 %NSCLS | Byte pointer to last free core area |
|=======================================================|
12,,12 %NSCTL | Virtual core tally |
|=======================================================|
13,,12 %NSSHW | Obsolete |
|=======================================================|
14,,12 %NSHLF | Obsolete |
|=======================================================|
15,,12 %NSUPT | System uptime (in ticks) |
|=======================================================|
16,,12 %NSSHF | Obsolete |
|=======================================================|
17,,12 %NSSTU | Obsolete |
|=======================================================|
20,,12 %NSHJB | Highest job number in use |
|=======================================================|
21,,12 %NSCLW | Words cleared by system |
|=======================================================|
22,,12 %NSLST | Lost time |
|=======================================================|
23,,12 %NSMMS | Memory size in words |
|=======================================================|
23-27
GETTAB TABLES
|=======================================================|
24,,12 %NSTPE | Total memory parity errors |
|-------------------------------------------------------|
25,,12 %NSSPE | Spurious memory parity errors |
|-------------------------------------------------------|
26,,12 %NSMPC | Multiple memory parity errors |
|=======================================================|
27,,12 %NSMPA | Absolute addr of last memory parity error |
|-------------------------------------------------------|
30,,12 %NSMPW | Contents of 1st bad wd on parity sweep |
|-------------------------------------------------------|
31,,12 %NSMPP | PC where last MEM PAR error was detected |
|=======================================================|
32,,12 %NSEPO | Number of exec PDL overflows not recovered |
|-------------------------------------------------------|
33,,12 %NSEPR | Number of exec PDL overflows recovered |
|=======================================================|
34,,12 %NSMXM | Maximum value of CORMAX |
|=======================================================|
35,,12 %NSKTM | KSYS timer |
|=======================================================|
36,,12 %NSCMN | Amt of memory guaranteed to non-locked jobs (CORMIN) |
|=======================================================|
37,,12 %NSABC | Count of address breaks |
|-------------------------------------------------------|
40,,12 %NSABA | Address break addresses |
|=======================================================|
41,,12 %NSLJR | Last job run |
|=======================================================|
42,,12 %NSACR | Obsolete |
|-------------------------------------------------------|
43,,12 %NSNCR | Obsolete |
|-------------------------------------------------------|
44,,12 %NSSCR | Obsolete |
|=======================================================|
23-28
GETTAB TABLES
.GTSDT - Swapping Data Table
GETTAB Table 13
Contents Contains data pertinent to swapping.
Indexed by Item number.
Monitor Table SWPTBL
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,13 %SWBGH | Size (in pages) of biggest hole in core |
|=======================================================|
1,,13 %SWFIN | Job number of job Being swapped |
| (Positive if swapping in, negative if swapping out) |
|=======================================================|
2,,13 %SWFRC | Job number of job being forced to swap out |
|=======================================================|
3,,13 %SWFIT | Job number of job waiting to swap in |
|=======================================================|
4,,13 %SWVRT | Number of 1P blocks of virtual core left in system |
|=======================================================|
5,,13 %SWERC* | Swap error count and flags |
|=======================================================|
6,,13 %SWPIN* | PDB swapping flag |
|=======================================================|
7,,13 %SWEUJ | Segment,,UDB-address |
|=======================================================|
%SWERC contains the count of swap read or write
errors in its left half; bits 18 to 21 of the right
half are the same as status bits returned by a GETSTS
monitor call for the disk; bits 22 to 35 contain the
count of bad 1K blocks.
%SWPIN is -1 if the monitor swaps Process Data Blocks
and a swap-in is in progress.
23-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. The
definitions of these bits in this word may vary from
monitor release to monitor release; therefore you
should not reference .GTSGN in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table JBTSGN
Calling MOVE ac,[XWD jobno,.GTSGN]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
Word Symbol Map
|=======================================================|
0,,14 .GTSGN* | High segment parameters |
|=======================================================|
.GTSGN parameters are as follows:
Bits Symbol Meaning
0 SN%SPY Job is spying. See bits 18-35
below.
1 SN%SHR Job high segment is sharable.
2 SN%UWP Job high segment is write-enabled.
3 SN%MDL Job high segment has been meddled.
4 Reserved.
5 SN%LOK Job high segment is locked into
memory.
6 SN%NCS Job high segment is not cached.
7-9 Reserved.
10 SN%GTS Job high segment was obtained by
GETSEG.
18-35 Defined as described below:
23-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 MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
|=======================================================|
| Obsolete |
|=======================================================|
1,,15 %ODK4S | Number of K of disk words available for swapping |
|=======================================================|
2,,15 %ODPRT | In-core protect time multiplier |
|=======================================================|
3,,15 %ODPRA | In-core protect time offset |
|=======================================================|
4,,15 %ODPMN | Minimum ICPT after requeue to back of PQ2 |
|=======================================================|
5,,15 %ODPMX | Maximum value of ICPT |
|=======================================================|
23-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 MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
|=======================================================|
0,,16 %LDMFD | MFD PPN [1,1] |
|=======================================================|
1,,16 %LDSYS | SYS PPN [1,4] |
|=======================================================|
2,,16 %LDFFA | Full file access PPN [1,2] |
|=======================================================|
3,,16 %LDHLP | Not-logged-in PPN [2,5] |
|=======================================================|
4,,16 %LDQUE | Queue area PPN [3,3] |
|=======================================================|
5,,16 %LDSPB | Addr of first PPB | Addr of next PPB to scan |
|=======================================================|
6,,16 %LDSTR |First structure data block |Offset to next str data blk|
|=======================================================|
7,,16 %LDUNI | First unit data block |Offset to nxt unit data blk|
|=======================================================|
10,,16 %LDSWP | First swap unit | Offset to next swap unit |
|=======================================================|
11,,16 %LDCRN | Number of 4-wd blks allocated at ONCE-only |
|=======================================================|
12,,16 %LDSTP | Standard file protection |
|=======================================================|
13,,16 %LDUFP | Standard UFD protection |
|=======================================================|
14,,16 %LDMBN | Obsolete |
|=======================================================|
15,,16 %LDQUS | SIXBIT queue structure name |
|=======================================================|
16,,16 %LDCRP | CRASH PPN [10,1] |
|=======================================================|
23-33
GETTAB TABLES
|=======================================================|
17,,16 %LDSFD | Maximum depth of SFDs to write |
|=======================================================|
20,,16 %LDSPP | Spooled file protection |
|=======================================================|
21,,16 %LDSYP | Standard SYS: protection |
|=======================================================|
22,,16 %LDSSP | Standard SYS:filename.SYS protection |
|=======================================================|
23,,16 %LDMNU | Maximum negative USETI that reads extended RIBs |
|=======================================================|
24,,16 %LDMXT | Maximum blocks to transfer with 1 I/O operation |
|=======================================================|
25,,16 %LDNEW | Experimental SYS PPN [1,5] |
|=======================================================|
26,,16 %LDOLD | Old SYS PPN [1,3] |
|=======================================================|
27,,16 %LDUMD | User-mode diagnostics PPN [6,10] |
|=======================================================|
30,,16 %LDNDB | Default disk buffers in ring |
|=======================================================|
31,,16 %LDMSL | Maximum units in active swapping list |
|=======================================================|
32,,16 %LDALG | ALGOL library PPN [5,4] |
|=======================================================|
33,,16 %LDBLI | BLISS library PPN [5,5] |
|=======================================================|
34,,16 %LDFOR | FORTRAN library PPN [5,6] |
|=======================================================|
35,,16 %LDMAC | MACRO source library PPN [5,7] |
|=======================================================|
36,,16 %LDUNV | UNIVERSAL file library PPN [5,17] |
|=======================================================|
37,,16 %LDPUB | Public user library PPN [1,6] |
|=======================================================|
40,,16 %LDTED | Text editor library PPN [5,10] |
|=======================================================|
41,,16 %LDREL | .REL file library PPN [5,11] |
|=======================================================|
42,,16 %LDRNO | RUNOFF library PPN [5,12] |
|=======================================================|
43,,16 %LDSNO | SNOBOL library PPN [5,13] |
|=======================================================|
44,,16 %LDDOC | .DOC file library PPN [5,14] |
|=======================================================|
45,,16 %LDFAI | FAIL library PPN [5,15] |
|=======================================================|
46,,16 %LDMUS | Music library PPN [5,16] |
|=======================================================|
47,,16 %LDDEC | Standard DIGITAL software [10,7] |
|=======================================================|
23-34
GETTAB TABLES
|=======================================================|
50,,16 %LDSLP | AOBJN pointer to active swap list |
|=======================================================|
51,,16 %LDBAS | BASIC library PPN [5,1] |
|=======================================================|
52,,16 %LDCOB | COBOL library PPN [5,2] |
|=======================================================|
53,,16 %LDMXI | PDP-11 library PPN [5,3] |
|=======================================================|
54,,16 %LDNEL | NELIAC library PPN [5,20] |
|=======================================================|
55,,16 %LDDMP | Dump PPN [5,21] |
|=======================================================|
56,,16 %LDPOP | POP2 library PPN [5,22] |
|=======================================================|
57,,16 %LDTST | TEST library PPN [5,23] |
|=======================================================|
60,,16 %LDLSO* | If nonzero, call DAEMON to log soft overruns |
|=======================================================|
61,,16 %LDMBR* | Massbus register pointers |
|=======================================================|
62,,16 %LDBBP* | Pointer to BAT pointer |Channel terminal fail count|
|=======================================================|
63,,16 %LDDBS | DBMS library PPN [5,24] |
|=======================================================|
64,,16 %LDEXP* | Offset of expected channel term word in CDB |
|=======================================================|
65,,16 %LDMIC | MIC macro library PPN [5,25] |
|=======================================================|
66,16 %LDTPS | Text processing system library PPN [5,26] |
|=======================================================|
67,,16 %LDCTL | .CTL file library PPN [5,27] |
|=======================================================|
70,,16 %LDGAM | Games library PPN [5,30] |
|=======================================================|
71,,16 %LDACT | System accounting PPN [1,7] |
|=======================================================|
72,,16 %LDAPL | APL library PPN [5,31] |
|=======================================================|
73,,16 %LDECT | RIB error threshold |
|=======================================================|
74,,16 %LDTOT | Total RIB errors |
|=======================================================|
75,,16 %LDDOR | Addr of first dormant acc table,,addr |
| of last dormant acc table |
|=======================================================|
76,,16 %LDCOR | Addr first free 4-wd core blk,,0 |
|=======================================================|
77,16 %LDINT | Disk interference count |
|=======================================================|
100,16 %LDD60 | D60 library PPN [5,32] |
|=======================================================|
23-35
GETTAB TABLES
|=======================================================|
101,,16 %LDERT | Address of queue table for DAEMON error reporting |
|-------------------------------------------------------|
102,,16 %LDPT1 | Pointer to extract entries for DAEMON queue table |
|-------------------------------------------------------|
103,,16 %LDPT2 | Pointer to insert entries for DAEMON queue table |
|-------------------------------------------------------|
104,,16 %LDLTH | Length of DAEMON queue table |
|=======================================================|
105,,16 %LDCDA | Offset of UNICDA in UDB |
|=======================================================|
106,,16 %LDDES | Offset of UNIDES in UDB |
|=======================================================|
107,,16 %LDPTR | Pointer to in-core copies of retrieval pointers |
|=======================================================|
110,,16 %LDMSS |Max strs in sys search list|Max strs in job search list|
|=======================================================|
111,,16 %LDSLB | Offset of UNISLB in UDB |
|=======================================================|
112,,16 %LDUTP | Define ersatz device UTP |
|=======================================================|
113,,16 %LDINI | INI PPN |
|=======================================================|
114,,16 %LDESZ | Size of 1 entry in ERPTBK |
|=======================================================|
115,,16 %LDKON | Pointer to first controller's data block |
|=======================================================|
116,,16 %LDLBF | Default number of disk buffers |
|=======================================================|
117,,16 %LDDVU | Offset to device unit number |
|=======================================================|
120,,16 %LDCSZ | Size of disk cache, in blocks |
|=======================================================|
121,,16 %LDRDC | Monitor cache block read calls |
|=======================================================|
122,,16 %LDRDH | Monitor cache block read hits |
|=======================================================|
123,,16 %LDWRC | Monitor cache block write calls |
|=======================================================|
124,,16 %LDWRH | Monitor cache block write hits |
|=======================================================|
125,,16 %LDHSF | CSHFND calls |
|=======================================================|
126,,16 %LDHSC | CSHFND collisions in hash table |
|=======================================================|
127,,16 %LDHSL | Length of cache hash table |
|=======================================================|
130,,16 %LDHST | Address of cache hash table |
|=======================================================|
131,,16 %LDCHD | Address of cache list header |
|=======================================================|
23-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 Unit Data Block,,offset to next |
| |=======================================================|
Item Contains
60 %LDLSO contains a flag for DAEMON. If %LDLSO is
nonzero, and if an overrun is recovered on the first
retry, then DAEMON is called.
61 %LDMBR contains massbus register pointers. The left
half contains the offset into KBD of the number of
registers. The right half contains the offset into
UBD of the number of registers.
62 %LDBBP contains pointers. The left half contains the
address of a byte pointer to the number remaining in
the block access table. The right half contains the
offset into the UDB of the channel terminal fail
count.
64 %LDEXP contains the offset of the expected channel
terminal word in the channel data block.
23-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 MOVE ac,[XWD jobno,.GTRCT]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Disk blocks read |
|=======================================================|
The word contains the number of incremental disk
block reads in bits 0 to 11 (RC.INC==7777B11 in
UUOSYM), and the total number of disk block reads in
bits 12 to 35 (RC.TTL==77777777 in UUOSYM).
23-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 MOVE ac,[XWD jobno,.GTWCT]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|===================================================|
| Disk blocks written |
|===================================================|
The word contains the number of incremental disk
block writes in bits 0 to 11 (WC.INC==7777B11 in
UUOSYM), and the total number of disk block writes in
bits 12 to 35 (WC.TTL==77777777 in UUOSYM).
23-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 MOVE ac,[XWD table,.GTSLF]
Sequence GETTAB ac,
error return
normal return
where table is the symbolic name of the table whose
data is required.
Word Symbol Map
|===================================================|
0,,23 .GTSLF | GETTAB table data |
|===================================================|
The word contains one word for each GETTAB table.
The word gives the following information:
Bits Symbol Meaning
0-8 SL.MAX If SL.TYP is 1, 2, 3, or 4, this
field is the largest item number in
the table. If SL.TYP is 5, this
field is the index into the range
table.
9-11 SL.TYP Type of table.
Value Symbol Type
0 .SLNIC Not included in
this system.
1 .SLIXI Indexed by item
number.
2 .SLIXJ Indexed by job
number.
3 .SLIXS Indexed by job
number or segment
number.
4 .SLIXP Indexed by job
number; data in
PDB.
23-40
GETTAB TABLES
Bits Symbol Meaning
Value Symbol Type
5 .SLIXR Indexed by item
number. Range may
not be 0 to length
-1.
12-13 Reserved for 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
index 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 Segment number.
Monitor Table JBTDEV
Calling MOVE ac,[XWD segno,.GTDEV]
Sequence GETTAB ac,
error return
normal return
where segno is a 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. The names
of wait states may vary from monitor release to
monitor release; therefore you should not reference
.GTWSN in a program that is monitor-independent.
Indexed by Item number.
Monitor Table STSTBL
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
|=======================================================|
| SIXBIT name of wait state |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| SIXBIT name of wait state |
|=======================================================|
There are three 2-character SIXBIT names in each word
returned. These states are defined at label STSTBL:
in COMMON.
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 Tables JBTLOC
Calling MOVE ac,[XWD jobno,.GTLOC]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job or use 0 for the ANF-10 node
number of the central station.
|=======================================================|
| Network node number |
|=======================================================|
23-44
GETTAB TABLES
.GTCOM - Monitor Command Names
GETTAB Table 30
Contents Monitor command names as SIXBIT words.
Indexed by Command number.
Monitor Table COMTAB
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the position in the table of the
required command name.
|=======================================================|
| SIXBIT monitor command name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| SIXBIT monitor command name |
|=======================================================|
The HELP * command displays a list of these command
names.
23-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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTNM1]
Sequence GETTAB ac,
error return
MOVEM ac,uname1
MOVE ac,[XWD jobno,.GTNM2]
GETTAB ac,
error return
MOVEM ac,uname2
. . .
uname1: block 1
uname2: block 1
where jobno is the number of a logged-in job (use -1
for the current job); and uname1 and uname1 are
locations for storing the user name.
|=======================================================|
| First 6 SIXBIT chars of user name |
|-------------------------------------------------------|
| Last 6 SIXBIT chars of user name |
|=======================================================|
23-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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTCNO]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| User charge number |
|=======================================================|
23-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 MOVE ac,[XWD jobno,.GTWCH]
SEQUENCE GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Watch flags |
|=======================================================|
Watch flags are as follows:
Flag Symbol Meaning
0 JW.WCX Watch context changes.
1 JW.WDY Watch daytime at start.
2 JW.WRN Watch runtime.
3 JW.WWT Watch wait time.
4 JW.WDR Watch disk reads.
5 JW.WDW Watch disk writes.
6 JW.WVR Watch versions.
7 JW.WMT Watch magtape statistics.
8 JW.WFI Watch file.
377B8 JW.WAL Watch all.
9 JW.WCN Message continuations.
10 JW.WFL First line of message.
11 JW.WPR Message prefixes.
23-48
GETTAB TABLES
Flag Symbol Meaning
7B11 JW.WMS Message level:
Value Symbol Message level
1 .JWWPR Prefix only.
2 .JWWOL One line.
3 .JWWPO Prefix and first
line.
6 .JWWLG Long without prefix.
7 .JWWPL Prefix and long.
12-35 Reserved.
23-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 MOVE ac,[XWD jobno,.GTSPL]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Spooling control flags |
|=======================================================|
Spooling control flags are as follows:
Flag Symbol Meaning
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. The
definitions of the bits in the realtime status word
may vary from monitor release to monitor release;
therefore you should not reference .GTRTD in a
program that is monitor-independent.
Indexed by Job number.
Monitor Table JBTRTD
Calling MOVE ac,[XWD jobno,.GTRTD]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Realtime status |
|=======================================================|
23-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 MOVE ac,[XWD jobno,.GTLIM]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Time and batch status |
|=======================================================|
Time and batch status flags are as follows:
Bits Symbol Meaning
0 JB.LTL Time limit set from forced DETACH
command.
7B9 JB.LCR Obsolete
10 JB.LBT Batch job.
11 JB.LSY Job using program from 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. The
contents of the .GTCM2 table may vary from monitor
release to monitor release; therefore you should not
reference .GTCM2 in a program that is
monitor-independent.
Indexed by Command number.
Monitor Table COMTB2
Calling MOVE ac,[XWD index,.GTCM2]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| 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 also
%CCCSB and %CCDSB.)
Monitor Table CPU Status Block
Indexed by Item number.
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
|=======================================================|
0,,44 CR.SAP | APR CONI |
|=======================================================|
1,,44 CR.SPI | PI CONI |
|=======================================================|
2,,44 CR.SSW | APR DATAI switches |
|=======================================================|
23-54
GETTAB TABLES
.GTISC - Swap In Scan Tables
GETTAB Table 45
Contents Swapper input scan list of queues. The definitions
of the bits in this table may vary from monitor
release to monitor release; therefore you should not
reference .GTISC in a program that is
monitor-independent.
Indexed by Queue number.
Monitor Table ISCAN
Calling MOVE ac,[XWD index,.GTISC]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Swap-in scan tables |
|=======================================================|
23-55
GETTAB TABLES
.GTOSC - Swap Out Scan Tables
GETTAB Table 46
Contents Swapper output scan list of queues. The definitions
of the bits in this table may vary from monitor
release to monitor release; therefore you should not
reference .GTOSC in a program that is
monitor-independent.
Indexed by Queue number.
Monitor Table OSCAN
Calling MOVE ac,[XWD index,.GTOSC]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Swap-out scan tables |
|=======================================================|
23-56
GETTAB TABLES
.GTSSC - Scheduler Scan Tables
GETTAB Table 47
Contents Scheduler scan list of queues. The definitions of
the bits in this table may vary from monitor release
to monitor release; therefore you should not
reference .GTSSC in a program that is
monitor-independent.
Indexed by Queue number.
Monitor Table SSCAN
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Scheduler scan tables |
|=======================================================|
23-57
GETTAB TABLES
.GTRSP - Response Counter Table
GETTAB Table 50
Contents One word for each job running on the system, giving
the time (in jiffies) when the job began its wait for
running. This time is cleared when the job is placed
in the run queue by the scheduler.
Indexed by Job number.
Monitor Table JBTRSP
Calling MOVE ac,[XWD jobno,.GTRSP]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Response counter table |
|=======================================================|
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
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
|=======================================================|
0,,51 %SYERR | System-wide hardware error count |
|=======================================================|
1,,51 %SYCCO | Number of times COMCNT was wrong |
|=======================================================|
2,,51 %SYDEL | Disabled hardware error count |
|=======================================================|
3,,51 %SYSPC | Last 3-char stopcode | Last stopcode addr+1 |
|=======================================================|
4,,51 %SYNDS | Number of DEBUG stopcodes |
|=======================================================|
5,,51 %SYNJS | Number of JOB stopcodes (+ DEBUGs if stopped) |
|=======================================================|
6,,51 %SYNCP | Number of commands processed |
|=======================================================|
7,,51 %SYSJN | Last stopcode job number |
|-------------------------------------------------------|
10,,51 %SYSTN | Last stopcode TTY name |
|-------------------------------------------------------|
11,,51 %SYSPN | Last stopcode program name |
|-------------------------------------------------------|
12,,51 %SYSUU | Last stopcode monitor call |
|-------------------------------------------------------|
13,,51 %SYSUP | Last stopcode user PC |
|-------------------------------------------------------|
14,,51 %SYSPP | Last stopcode user PPN |
|-------------------------------------------------------|
15,,51 %SYSCD | Last stopcode stopcode name |
|-------------------------------------------------------|
16,,51 %SYNCS | Total number of CPU stopcodes |
|-------------------------------------------------------|
17,,51 %SYNIS | Number of no dump stopcodes |
|-------------------------------------------------------|
23-59
GETTAB TABLES
|-------------------------------------------------------|
20,,51 %SYSTY | Type of last stopcode |
|-------------------------------------------------------|
21,,51 %SYSUD | UDT 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 CRSHAC
Calling MOVE ac,[XWD word,.GTWHY]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Operator why comments 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 MOVE ac,[XWD jobno,.GTTRQ]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Total time in RUN queues (whether or not running) |
|=======================================================|
23-62
GETTAB TABLES
.GTSPS - Status Word for Subsequent Processors
GETTAB Table 54
Contents Status bits for processors other than CPU0. The
definitions of the bits in this word may vary from
monitor release to monitor release; therefore you
should not reference .GTSPS in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table JBTSPS
Calling MOVE ac,[XWD jobno,.GTSPS]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Second processor status |
|=======================================================|
Status flags are as follows:
Bits Symbol Meaning
29 SP.SC0 Can use SET CPU monitor command for
CPU0. Bits 28 through 24 are
similar for CPU1 through CPU5.
35 SP.CR0 Can use JBSET. or SETUUO monitor
call for CPU0. Bits 30 through 34
are similar for CPU1 through CPU5.
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 MOVE ac,[item + <2 * n>]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below; and n is the number of a CPU (from 0 to
5).
Word Symbol Map
|=======================================================|
0,,55 %CCPTR | Pointer to next CDB | Reserved |
|=======================================================|
1,,55 %CCSER | APR serial number |
|=======================================================|
2,,55 %CCOKP | Jiffies CPU has been down (<=0 if OK) |
|=======================================================|
3,,55 %CCTOS | EPT address for this CPU |
|=======================================================|
4,,55 %CCLOG | Logical name (CPUn) |
|=======================================================|
5,,55 %CCPHY | Physical name (CPXn) (X,I,L, or S) |
|=======================================================|
6,,55 %CCTYP* | Customer processor code | DIGITAL processor code |
|=======================================================|
7,,55 %CCMPT* | Pointer to bad address subtable in variable area |
|=======================================================|
10,,55 %CCRTC | Addr of realtime clock (DK10) DDB |
|=======================================================|
11,,55 %CCRTD | Addr of realtime clock DDB (if precision accounting) |
|=======================================================|
12,,55 %CCPAR* | Pointer to parity subtable in variable area |
|=======================================================|
13,,55 %CCRSP* | Pointer to response subtable in variable area |
|=======================================================|
14,,55 %CCDKX | Number of DK10s on this CPU |
|=======================================================|
23-64
GETTAB TABLES
|=======================================================|
15,,55 %CCEBS | Number of EBOX ticks/second on KL10 |
|=======================================================|
16,,55 %CCMBS | Number of MBOX ticks/second on KL10 |
|=======================================================|
17,,55 %CCNXT* | Pointer to NXM subtable in variable area |
|=======================================================|
20,,55 %CCCSB* | Pointer to CPU status block subtable in variable area |
|=======================================================|
21,,55 %CCDSB* | Ptr to device status block subtable in variable area |
|=======================================================|
22,,55 %CCSDP* | Ptr to SBDIAG subtable in variable area |
|=======================================================|
23,,55 %CCBPA | Pointer to PERF. counts in variable subtable |
|=======================================================|
24,,55 %CCCIP | CI port control block |
|=======================================================|
25,,55 %CCNIP | NI port control block |
|=======================================================|
Word 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
The pointers %CCMPT, %CCPAR, %CCRSP, %CCNXT, %CCCSB, and %CCDSB are
pointers to GETTAB subtables for CPUn; these subtables follow table
.GTCnV, and are described in the next few pages.
7 %CCMPT 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.
12 %CCPAR 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.
23-65
GETTAB TABLES
Word Contains
13 %CCRSP 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.
17 %CCNXT is of the form:
Bits Symbol Meaning
0-8 CC%NLN Length-1 of NXM subtable.
9-17 Reserved.
18-35 CC%NRA Offset into .GTCnV of NXM subtable.
20 %CCCSB is of the form:
Bits Symbol Meaning
0-8 CC%CLN Length-1 of CPU status block
subtable.
9-17 Reserved.
18-35 CC%CRA Offset into .GTCnV of CPU status
block subtable.
21 %CCDSB is of the form:
Bits Symbol Meaning
0-8 CC%DLN Length-1 of device status block
subtable.
9-17 Reserved.
18-35 CC%DRA Offset into .GTCnV of device status
block subtable.
22 %CCSDP is of the form:
Bits Symbol Meaning
0-8 CC%SLN Length-1 of SBDIAG subtable.
9-17 Reserved.
18-35 CC%SRA Offset into .GTCnV of SBDIAG
subtable.
23-66
GETTAB TABLES
.GTCnV - CPUn CPU Data Block Variables
GETTAB Tables 56, 60, 62, 64, 66, 70
Contents CPU data block variables for CPUn, where n is a CPU
number (from 0 to 5). For CPUs 0 to 5, respectively,
these tables are called .GTC0V, .GTC1V, .GTC2V,
.GTC3V, .GTC4V and .GTC5V.
Indexed by Item number.
Monitor Table .CnVBG
|
| Calling MOVE ac,[item + <2 * n>]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below and n is a CPU number (from 0 to 5).
Word Symbol Map
|=======================================================|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|=======================================================|
5,,56 %CVUPT | Uptime in jiffies |
|=======================================================|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|=======================================================|
12,,56 %CVLST | Lost time |
|=======================================================|
| Reserved |
|=======================================================|
23-67
GETTAB TABLES
|=======================================================|
14,,56 %CVTPE | Total memory parity errors |
|-------------------------------------------------------|
15,,56 %CVSPE | Spurious memory parity errors |
|-------------------------------------------------------|
16,,56 %CVMPC | Multiple memory parity errors |
|=======================================================|
17,,56 %CVMPA | Absolute addr of last MEM PAR error |
|-------------------------------------------------------|
20,,56 %CVMPW | Contents of 1st bad wd on parity sweep |
|=======================================================|
21,,56 %CVMPP | PC where last MEM PAR was found |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|=======================================================|
27,,56 %CVABC | Address break count |
|=======================================================|
30,,56 %CVABA | Address break address |
|=======================================================|
31,,56 %CVLJR | Last job run (obsolete) |
|=======================================================|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| 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 |Exec don't care interrupts |
|=======================================================|
41,,56 %CVJOB | Current job |
|=======================================================|
42,,56 %CVOHT | Overhead time in jiffies (exec UUOs) |
|=======================================================|
43,,56 %CVEVM | Max exec virtual memory for LOCK mapping |
|-------------------------------------------------------|
44,,56 %CVEVU | Exec virtual memory used for LOCK mapping |
|=======================================================|
23-68
GETTAB TABLES
|=======================================================|
45,,56 %CVLLC | No. of times CPU has looped waiting for interlock |
|=======================================================|
46,,56 %CVTUC | Total monitor call count |
|=======================================================|
47,,56 %CVTJC | Total job context switch count |
|=======================================================|
50,,56 %CVTNE | Total nonexistent memory errors |
|-------------------------------------------------------|
51,,56 %CVSNE | Total nonreproducible NXM errors |
|-------------------------------------------------------|
52,,56 %CVNJA | Number of jobs affected by this NXM |
|-------------------------------------------------------|
53,,56 %CVMNA | First memory address with NXM |
|=======================================================|
54,,56 %CVETJ | EBOX ticks/jiffy (computed) |
|-------------------------------------------------------|
55,,56 %CVNTJ | MBOX ticks/jiffy (computed) |
|=======================================================|
56,,56 %CVBPA | Phys addr of bad parity word on last AR/ARX trap (KL) |
|=======================================================|
57,,56 %CVTBD | Bad data on last AR/ARX trap |
|-------------------------------------------------------|
60,,56 %CVTGD | Good data after recovery from AR/ARX trap |
|-------------------------------------------------------|
61,,56 %CVNPT | Number of AR/ARX traps since reload |
|=======================================================|
62,,56 %CVAER | RDERA results after unusual APR interrupt |
|=======================================================|
63,,56 %CVPCN | CONI APR after parity interrupt |
|=======================================================|
64,,56 %CVSB0 | SBUS diagnostic function 0, word 0 |
|-------------------------------------------------------|
65,,56 %CVS0A | SBUS diagnostic function 0, word 1 |
|=======================================================|
66,,56 %CVSB1 | SBUS diagnostic function 1, word 0 |
|-------------------------------------------------------|
67,,56 %CVS1A | SBUS diagnostic function 1, word 1 |
|=======================================================|
70,,56 %CVPPC | PC on AR/ARX trap |
|=======================================================|
71,,56 %CVPFW | Page fail word on last AR/ARX trap |
|-------------------------------------------------------|
72,,56 %CVHPT | Number of hard AR/ARX traps |
|-------------------------------------------------------|
73,,56 %CVSPT | Number of soft AR/ARX traps |
|=======================================================|
74,,56 %CVPTP | Number of page table parity errors |
|=======================================================|
75,,56 %CVCSN | Number of cache sweeps since reload |
| (cache sweep serial number) |
|=======================================================|
23-69
GETTAB TABLES
|=======================================================|
76,,56 %CVCLN | Number of times a job couldn't run due to cache state |
|=======================================================|
77,,56 %CVCLT | Lost time accrued due to cache state |
|=======================================================|
100,,56 %CVCSD | Incr on swapper wait for cache sweep by another CPU |
|=======================================================|
101,,56 %CVCRN | Cache sweep request sweep count (see COMMON.MAC) |
|=======================================================|
102,,56 %CVCEC | Count nonrecoverable AR/ARX prty errs involving cache |
|=======================================================|
103,,56 %CVPTR | Retry word for AR/ARX parity error trap routine |
|-------------------------------------------------------|
104,,56 %CVTSD | AR/ARX trap routine has saved APR ERA.SB Diags |
|-------------------------------------------------------|
105,,56 %CVREP | Used by NXM/parity recovery routines |
|=======================================================|
106,,56 %CVNDB | Number of times this CPU's doorbell was rung |
|=======================================================|
107,,56 %CVSBR | Status blocks read on this CPU |
|=======================================================|
110,,56 %CVBPF | 0 if performance counts being kept (%CCBPA) |
|=======================================================|
111,,56 %CVFBI | Number of file blocks input (read) |
|=======================================================|
112,,56 %CVFBO | Number of file blocks output (written) |
|=======================================================|
113,,56 %CVSBI | Number of swapping blocks input (read) |
|=======================================================|
114,,56 %CVSBO | Number of swapping blocks output (written) |
|=======================================================|
115,,56 %CVSNC | Number of CPU stopcodes on this CPU |
|=======================================================|
116,,56 %CVSND | Number of DEBUG stopcodes on this CPU |
|=======================================================|
117,,56 %CVSNJ | Number of job stopcodes on this CPU |
|=======================================================|
120,,56 %CVSJN | Last stopcode on this CPU - job number |
|=======================================================|
121,,56 %CVSNM | Stopcode name | Stopcode PC+1 |
|=======================================================|
122,,56 %CVSPN | Program running at last stopcode |
|=======================================================|
123,,56 %CVSPP | PPN of user running at last stopcode |
|=======================================================|
124,,56 %CVSTN | TTY name of user running at last stopcode |
|=======================================================|
125,,56 %CVSUP | User PC at last stopcode |
|=======================================================|
126,,56 %CVSUU | UUO at last stopcode |
|=======================================================|
23-70
GETTAB TABLES
|=======================================================|
127,,56 %CVEJN | Last parity/NXM error on this CPU - job number |
|=======================================================|
130,,56 %CVEPN | Last parity/NXM error on this CPU - job name |
|=======================================================|
131,,56 %CVPPI | CONI PI, at last parity/NXM interrupt |
|=======================================================|
132,,56 %CVTPI | CONI PI, at last error trap |
|=======================================================|
133,,56 %CVRQS | Requests for scheduler interlock |
|=======================================================|
134,,56 %CVTFI | Number of magnetic tape frames read |
|=======================================================|
135,,56 %CVTFO | Number of magnetic tape frames written |
|=======================================================|
136,,56 %CVSNI | Number of no dump stopcodes |
|=======================================================|
137,,56 %CVSTY | Type of last stopcode on this CPU |
|=======================================================|
140,,56 %CVSUD | UDT of last stopcode on this CPU |
|=======================================================|
23-71
GETTAB TABLES
Subtable: Bad Addresses
Subtable of .GTCnV
Contents Addresses generating parity errors on CPUn.
Indexed by Sequence of bad addresses found.
Calling MOVE ac,[%CCMPT+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
where n is the number of the required CPU (from 0 to
5); and item is the item number of the required item
in the subtable.
Word Symbol Map
|=======================================================|
0 | First bad address found |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last bad address found |
|=======================================================|
where last is the sequence number of the last bad
address found. The value of last+1 is stored in
location %CVPTS in the parity subtable for the CPU.
The maximum length for the bad address subtable is
stored in bits 0-8 of %CCMPT in table .GTCnC.
23-72
GETTAB TABLES
Subtable: Parity
Subtable of .GTCnV
Contents Parity error data for CPUn, where n is a CPU number
(from 0 to 5).
Indexed by Item number.
Calling MOVE ac,[%CCPAR+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
where n is the number of the required CPU (from 0 to
5); and item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0 %CVPLA | Last (highest) address of parity error |
|=======================================================|
1 %CVPMR | Relative (not virtual) addr |
| in low or high segment of last PAR ERR |
|=======================================================|
2 %CVPTS | Number of PAR errors found on last sweep |
|=======================================================|
3 %CVPSC | Number of parity sweeps by monitor |
|=======================================================|
4 %CVPUE | Number of user-enabled parity errors |
|=======================================================|
5 %CVPAA | AND of bad address on last parity sweep |
|=======================================================|
6 %CVPAC | AND of bad contents last sweep |
|=======================================================|
7 %CVPOA | IOR of bad address on last parity sweep |
|=======================================================|
10 %CVPOC | IOR of bad contents last sweep |
|=======================================================|
11 %CVPCS | Number of spurious channel errors |
|=======================================================|
12 %CVMET | MOS errors this minute |
|=======================================================|
13 %CVMEC | MOS errors sent to TGHA |
|=======================================================|
14 %CVTME | Total MOS errors |
|=======================================================|
23-73
GETTAB TABLES
Subtable: Responses
Subtable of .GTCnV
Contents Response data.
Indexed by Item number.
Calling MOVE ac,[%CCRSP+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
where n is the number of the required CPU (from 0 to
5); and item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0 %CVRSO* | Sum of all terminal OUT UUO responses |
|=======================================================|
1 %CVRNO | Number of terminal OUT UUO responses |
|=======================================================|
2 %CVRHO | High-sum square of terminal OUT UUO responses |
|=======================================================|
3 %CVRLO | Low-sum square of terminal OUT UUO responses |
|=======================================================|
4 %CVRSI* | Sum of terminal IN UUO responses |
|=======================================================|
5 %CVRNI | Number of terminal IN UUO responses |
|=======================================================|
6 %CVRHI | High-sum square of terminal IN UUO responses |
|=======================================================|
7 %CVRLI | Low-sum square of terminal IN UUO responses |
|=======================================================|
10 %CVRSR | Sum of CPU quantum requeue responses |
|=======================================================|
11 %CVRNR | Number of quantum requeue responses |
|=======================================================|
12 %CVRHR | High-sum square of quantum requeue responses |
|=======================================================|
13 %CVRLR | Low-sum square of quantum requeue responses |
|=======================================================|
14 %CVRSX* | Sum of one of responses terminated by 1 of 3 above |
|=======================================================|
23-74
GETTAB TABLES
|=======================================================|
15 %CVRNX | Number of responses reflected in %CVRSX |
|=======================================================|
16 %CVRHX | High-sum square of responses in %CVRNX |
|=======================================================|
17 %CVRLX | Low-sum square of responses in %CVRNX |
|=======================================================|
20 %CVRSC* | Sum of CPU responses |
|=======================================================|
21 %CVRNC | Number of CPU responses |
|=======================================================|
22 %CVRHC | High-sum square of CPU responses |
|=======================================================|
23 %CVRLC | Low-Sum Square of CPU Responses |
|=======================================================|
32 %CVNRI | Number of characters received |
|=======================================================|
33 %CVNXI | Number of characters sent |
|=======================================================|
34 %CVNEI | Number of characters echoed |
|=======================================================|
The Responses Subtable contains information concerning the
response times calculated for user jobs, on a per-CPU basis.
The responses subtable is made up of blocks of four words
each. Each block contains information pertaining to a type
of response that is measured. The following format is used
for each block:
Word 1: Sum of responses, where response time is
measured in ticks
Word 2: Number of responses
Words 3 - 4: A double-word integer containing the sum
of squares of response times.
%CVRSI is the input response time. This value is increased
every time a job runs a program whose first event (of those
measured and stored in %CVRSI, %CVRSO, and %CVRSR) is a
terminal input operation. Note that the input response time
is calculated only once for this program, the first time it
does input from the terminal, and is measured from the time
that the monitor receives the command to run the program, to
the time the program does its first terminal input UUO.
%CVRSO is the output response time and is similar to the
input response time. Only the first terminal output done by
the program is calculated and added to this word.
23-75
GETTAB TABLES
%CVRSR is the quantum requeue response time. This time is
measured for compute-bound jobs (jobs that finish a CPU
quantum without performing a terminal input or output
operation), and measures the amount of time from the time
the monitor receives the command to run the program, to the
time the program must be rescheduled for more CPU time.
Again, this time is calculated only once for each program
execution.
%CVRSX is the response time for the first of the above three
events to occur for the job. If a program does an input
operation before an output and before a quantum expires, the
input response time (also calculated in %CVRSI) is stored in
%CVRSX. If a second job runs a program that does an output
operation first, the response time for the output is stored
in %CVRSO and added to %CVRSX.
Before the values in these locations can be used, however,
it is important to understand the way that response time is
calculated. The intention of counting response time is to
understand the amount of time it takes to reach one of the
three measured events (input operation, output operation, or
quantum expiration). The user may, for example, type a
command. The response time is the lag between the time the
monitor accepts the command and the time it takes to reach
one of the three events. Note that this does not include
the time the user spends typing the command. The response
time is counted in jiffies (ticks).
The Responses Subtable collects response times for the first
event for a job when it begins running a program. If the
first event for a program is to output a * as a command
prompt, the amount of time between the time the "RUN
program" command is accepted by the monitor and the time the
monitor sends the * to the user's terminal is measured as
the response time for that program. If a job runs a program
that immediately begins input from the terminal, the
response time for that action is the amount of time between
the time the "RUN program" command is accepted by the
monitor and the time the terminal input operation is
attempted. The response times are accumulated for all the
jobs as they are scheduled to run.
23-76
GETTAB TABLES
Subtable: Nonexistent Memory
Subtable of .GTCnV
Contents Nonexistent memory data.
Indexed by Item number.
Calling MOVE ac,[%CCNXT+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
where n is the number of the required CPU (from 0 to
5); and item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0 %CVNLA | Last NXM address |
|=======================================================|
1 %CVNMR | Last NXM relative address |
|=======================================================|
2 %CVNTS | Number of NXMs found this sweep |
|=======================================================|
3 %CVNSC | Number of NXM sweeps done |
|=======================================================|
4 %CVNUE | Number of user-enabled NXMs |
|=======================================================|
5 %CVNAA | AND of b1ad addresses |
|=======================================================|
6 %CVNOA | IOR of bad addresses |
|=======================================================|
7 %CVNCS | Number of spurious channel NXMs |
|=======================================================|
23-77
GETTAB TABLES
Subtable: CPU Status Block
Subtable of .GTCnV
Contents CPU status block data.
Indexed by Item number.
Calling MOVE ac,[%CCCSB+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
where n is the number of the required CPU (from 0 to
5); and item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0 %CVSAI | APRID |
|-------------------------------------------------------|
1 %CVSAP | CONI APR, |
|-------------------------------------------------------|
2 %CVSPI | CONI PI, |
|-------------------------------------------------------|
3 %CVSPD | DATAI PAG, |
|-------------------------------------------------------|
4 %CVSPC | CONI PAG, |
|=======================================================|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|-------------------------------------------------------|
| Reserved |
|=======================================================|
11 %CVSER | RDERA |
|=======================================================|
12 %CVSRD | CONI RH20 for First RH |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| CONI RH20 for eighth RH |
|=======================================================|
23-78
GETTAB TABLES
|=======================================================|
22 %CVSDT | Four words for |
|=======================================================|
| the 4 DTEs |
|-------------------------------------------------------|
| on a |
|-------------------------------------------------------|
| CPU |
|=======================================================|
26 %CVSE0 | EPT location 0 |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| EPT location 37 |
|=======================================================|
66 %CVSE1 | EPT location 140 |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| EPT location 177 |
|=======================================================|
126 %CVSU1 | UPT location 500 |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| UPT location 503 |
|=======================================================|
132 %CVSA6 | AC block 6, register 0 |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| AC block 6, register 3 |
|=======================================================|
136 %CVSA7 | AC block 7, register 0 |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| AC block 7, register 2 |
|=======================================================|
141 (1) %CVSSB | First word of SBDIAG data |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| 50th word of SBDIAG data |
|=======================================================|
23-79
GETTAB TABLES
Note (1) Each SBDIAG Block has the format:
Number of sub-block blocks,,offset to first
Each sub-block has the format:
Number of words,,logical
controller#
function 0 word 1
function 1 word 1
23-80
GETTAB TABLES
Subtable: Device Status Block
Subtable of .GTCnV
Contents Device status block data.
Indexed by Item number.
Calling MOVE ac,[%CCDSB+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
where n is the number of the required CPU (from 0 to
5); and item is the item number of the required item
in the subtable.
The table of device status for devices on this CPU
contains the results of executing the instructions in
the table obtained with the .GTDCD GETTAB. 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
(DAEMON/SPEAR) should get one instruction from
.GTDCD, print its symbol and device code in octal,
and then print the value from this table.
23-81
GETTAB TABLES
Subtable: Background Performance Analysis
Subtable of .GTCnV
Contents Disk/PI usage.
Indexed by Item number.
Calling MOVE ac,[%CCSDP+<2*n>]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
HRRI ac,.GTC0V+<2*n>
GETTAB ac,
error return
normal return
Word Symbol Map
|========================================================|
0 %CVCH0 | RH20 #0 usage |
|========================================================|
4 %CVCH1 | RH20 #1 usage |
|========================================================|
10 %CVCH2 | RH20 #2 usage |
|========================================================|
14 %CVCH3 | RH20 #3 usage |
|========================================================|
20 %CVCH4 | RH20 #4 usage |
|========================================================|
24 %CVCH5 | RH20 #5 usage |
|========================================================|
30 %CVCH6 | RH20 #6 usage |
|========================================================|
34 %CVCH7 | RH20 #7 usage |
|========================================================|
40 %CVPI0 | PI level 0 (DTE, KLIPA, and KLINI) usage |
|========================================================|
44 %CVPI1 | PI level 1 usage |
|========================================================|
50 %CVPI2 | PI level 2 usage |
|========================================================|
54 %CVPI3 | PI level 3 usage |
|========================================================|
60 %CVPI4 | PI level 4 usage |
|========================================================|
64 %CVPI5 | PI level 5 usage |
|========================================================|
70 %CVPI6 | PI level 6 usage |
|========================================================|
74 %CVPI7 | PI level 7 usage |
|========================================================|
23-82
GETTAB TABLES
.GTFET - Feature Test Settings
GETTAB Table 71
Contents Feature test settings that describe the features
included in the current monitor.
Indexed by Item number.
Monitor Table FETTBL
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
TLNN ac,<bit+777777>
JRST not-available-address
TRNN ac,<bit+777777>
JRST feature-test-off-address
JRST feature-test-on-address
where item is one of the symbols given in the word
map below; bit is one of the feature test bits given
below the word map.
Word Symbol Map
|=======================================================|
0,,71 %FTUUO* | Monitor call features |
|=======================================================|
1,,71 %FTRTS* | Realtime and scheduler features |
|=======================================================|
2,,71 %FTCOM* | Command features |
|=======================================================|
3,,71 %FTACC* | Accounting features |
|=======================================================|
4,,71 %FTERR* | Error control and option features |
|=======================================================|
5,,71 %FTDEB* | Debugging features |
|=======================================================|
6,,71 %FTSTR* | File structure features and parameters |
|=======================================================|
7,,71 %FTDSK* | Internal disk features and parameters |
|=======================================================|
10,,71 %FTSCN* | Scanner option features |
|=======================================================|
11,,71 %FTPER* | I/O features and parameters |
|=======================================================|
12,,71 %FTPE2* | More I/O features and parameters |
|=======================================================|
13,,71 %FTDS2* | More internal disk features and parameters |
|=======================================================|
23-83
GETTAB TABLES
|=======================================================|
14,,71 %FTST2* | More file structure features and parameters |
|=======================================================|
15,,71 %FTUU2* | More monitor call features |
|=======================================================|
%FTUUO monitor call feature test flags (more at
%FTUU2 below) are as follows:
Bits Symbol Feature
19 F%MDA Mountable device allocator.
20 F%MLOG MIC log file support.
21 F%MIC MACRO command processor.
22 F%EQDQ ENQ./DEQ. monitor calls.
23 F%GALA GALAXY (always set).
24 F%PI Software PI system.
25 F%IPCF IPCF.
26 F%CCIN CTRL/C intercept.
27 F%PTYU JOBSTS and CTLJOB monitor calls.
28 F%PEEK PEEK monitor call.
29 F%POKE POKE. monitor call.
30 F%JCON Job continuation.
31 F%SPL Spooling.
32 F%PRV Job privileges.
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.
34 F%HIBW HIBER and WAKE monitor calls.
35 F%HPQ HPQ monitor call.
23-84
GETTAB TABLES
%FTCOM command feature test flags are as follows:
Bits Symbol Feature
19 F%PJOB Extended PJOB command.
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.
25 F%QCOM QUEUE and related commands.
26 F%SET SET command and SETUUO monitor call.
27 F%VERS Version.
28 F%BCOM Batch control files.
29 F%SEDA Set daytime and date.
30 F%WATC SET WATCH command and monitor call.
31 F%FINI FINISH and CLOSE commands.
32 F%REAS REASSIGN command and monitor call.
33 F%EXAM E and D commands.
34 F%TALK SEND command.
35 F%ATTA ATTACH command and monitor call.
%FTACC accounting feature test flags are as follows:
Bits Symbol Feature
28 F%ACCT Accounting support.
29 F%EMRT KL10 EBOX/MBOX user runtime
capability.
30 F%FDAE File DAEMON.
31 F%TLIM Limits for time, core, and so forth.
32 F%CNO Accounting charge numbers.
33 F%UNAM User names.
34 F%KCT Kilo-core ticks.
35 F%TIME Run time.
%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.
23 F%KL10 KL10 processor.
24 F%KA10 KA10 processor (obsolete, always
off).
25 F%22BI 22-bit channel (DF10C).
23-85
GETTAB TABLES
Bits Symbol Feature
26 F%PDBS Swapping PDB (always off).
27 F%KI10 KI10 processor.
28 F%METR METER. monitor call.
29 F%EXON Execute-only files (always on since
6.01).
30 F%KII KI10 instruction check on KA10.
31 F%BOOT BOOTS bootstrap.
32 F%2SWP Multi-swapping devices.
33 F%EL DAEMON error logging.
34 F%MS Multi-processors.
35 F%MEMP Memory parity error recovery.
%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.
30 F%PATT Patch space in tables.
31 F%TRAC Back-tracking features.
32 F%HALT Halts in monitor.
33 F%RCHK Internal redundancy checks.
34 F%MONP Monitor write-protected (always
off).
35 F%CHEC Monitor check-summed (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 Null.
22 F%LIB LIB/SYS/OLD/NEW, and other
structures.
23 F%DPRI Disk priority transfers.
Bits Symbol Meaning
24 F%APLB Append to last file block.
25 F%AIR Append implies read.
26 F%GSRC Generic device searching.
27 F%DRDR Rename across directories.
28 F%DSEK SEEK monitor call.
29 F%DSUP Super USETI/USETO monitor calls.
30 F%DQTA Disk quotas.
31 F%STR Multiple structures.
32 F%5UUO Miscellaneous 5-series monitor
calls.
23-86
GETTAB TABLES
Bits Symbol Meaning
33 F%PHYO Physical devices only.
34 F%SFD Subfile directories (SFDs).
35 F%MOUN STRUUO monitor call functions.
%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.
21 F%CBDB Debug CB interlock.
22 F%LOGI LOGIN (defined in S, always on).
23 F%DISK Disk system (defined in S, always
on).
24 F%FFRE Prevent races in FILFND.
25 F%SWPE Swap read error recovery.
26 F%DBBK Bad block marking.
27 F%DUFC UFD compressing.
28 F%DETS Disk error simulator.
29 F%DMRB Multi-RIBs.
30 F%DSMC Smaller allocation of disk core
blocks.
31 F%DALC Allocation optimization.
32 F%DSTT Disk-usage statistics.
33 F%DHNG Hung disk recovery.
34 F%DBAD Disk offline recovery.
35 F%DOPT Latency optimization.
%FTSCN scanner option feature test flags are as
follows:
Bits Symbol Feature
20 F%RP04 RP04 support.
21 F%RDX Remote data-entry service.
22 F%DCXH DC10-H (2741 on DC10) support.
23 F%TVP Fancy vertical positioning.
24 F%TYPE TYPESET-10 features on DC76.
25 F%2741 Support for 2741-like terminals.
26 F%CAFE DC76 support.
27 F%TBLK TTY blank command.
28 F%TPAG PAGE and display knowledge.
29 F%DIAL Auto-dialer.
30 F%SCLC Special line control.
31 F%SCNR Hardware scanner.
32 F%MODM Modem control.
33 F%630H Single-scanner 630.
34 F%GPO2 Modem support (Great Britain).
35 F%HDPX Truly half-duplex terminals.
23-87
GETTAB TABLES
%FTPER I/O parameter feature test flags (more at
%FTPE2 below) are as follows:
Bits Symbol Feature
19 F%RDBA Read backwards on TU70.
20 F%TAPO TAPOP. monitor call.
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.
27 F%CPTR CDP trouble intercept.
28 F%CRTR CDR trouble intercept.
29 F%CTY1 Support device CTY1 (always on).
30 F%NET Network software.
30 F%REM Remote-station software.
31 F%LPTR LPT-device error recovery.
32 F%OPRE Device errors to operator.
33 F%CDRS CDR superimage mode.
34 F%MTSE Magtape density/block commands.
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
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-88
GETTAB TABLES
.GTEDN - Ersatz Device Names
GETTAB Table 72
Contents SIXBIT names of ersatz devices. The first blank name
is the end of the table.
Indexed by Item number.
Monitor Table SDVTBL
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the item number of the required name.
Word Symbol Map
|=======================================================|
0 | First ersatz device name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last ersatz device name |
|=======================================================|
where the entry following last is blank (0).
The ersatz device names are defined in the EDEVS
macro in COMMOD.
23-89
GETTAB TABLES
.GTSCN - Scanner Data
GETTAB Table 73
Contents Scanner data.
Indexed by Item number.
Monitor Table .GTSCN
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,73 %SCNRI | Number of receive interrupts |
|=======================================================|
1,,73 %SCNXI | Number of transmit interrupts |
|=======================================================|
2,,73 %SCNEI | Number of echo interrupts (in %SCNXI) |
|=======================================================|
3,,73 %SCNMB | Maximum buffer size |
|=======================================================|
4,,73 %SCNAL | Number of active lines |
|=======================================================|
5,,73 %SCNPS | Size of buffer for PIM mode |
|=======================================================|
6,,73 %SCNRA | Address of receive interrupt routine |
|=======================================================|
7,,73 %SCNXA | Address of transmit interrupt routine |
|=======================================================|
10,,73 %SCNTA | Address of type |
|=======================================================|
11,,73 %SCTFT | Address of first TTY chunk on free list |
|=======================================================|
12,,73 %SCTFP | Address of last TTY chunk on free list |
|=======================================================|
13,,73 %SCRCQ | Number of characters queued or deferred |
|=======================================================|
14,,73 %SCRQF | Number of characters lost for queue overflow |
|=======================================================|
23-90
GETTAB TABLES
.GTSNA - Last SEND ALL in 9-Bit
GETTAB Table 74
Contents Data for last send-all message.
Indexed by Item number.
Monitor Table SNDTMP
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,74 %SCNAE | Byte pointer to end byte in message |
|=======================================================|
1,,74 %SCNAS | Byte pointer to first-1 byte in message |
|=======================================================|
2,,74 %SCNAM | First word of data in message |
|=======================================================|
.
.
.
|=======================================================|
| Last word of data in message |
|=======================================================|
23-91
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 Not indexed.
Monitor Table TTCWDT
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the number of the name to be returned.
Word Map
|=======================================================|
0 | First SET TTY command name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last SET TTY command name |
|=======================================================|
where last is the number-1 of SET TTY commands in the
table.
The SET TTY command names are defined with the TTNAME
macro in COMCON and will be displayed if you type the
HELP * monitor command.
23-92
GETTAB TABLES
.GTPID - Process Communication ID (IPCF)
GETTAB Table 76
Contents All process communication identifiers (PIDs) that
have been assigned by the system. The default length
of the table is twice the number of jobs that can
run.
Indexed by Item number.
Monitor Table PIDTAB
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the number of the desired item in the
table. The entry after the last PID in the table is
0.
Word Map
|=======================================================|
0 | First IPCF PID |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last IPCF PID |
|=======================================================|
where last is the number-1 of PIDs in the table.
23-93
GETTAB TABLES
.GTIPC - IPCF Miscellaneous Data
GETTAB Table 77
Contents Miscellaneous IPCF data.
Indexed by Item number.
Monitor Table IPCTAB
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,77 %IPCML | Maximum IPCF packet length |
|=======================================================|
1,,77 %IPCSI | PID of system-wide [SYSTEM]INFO |
|=======================================================|
2,,77 %IPCDQ | Default data |
|=======================================================|
3,,77 %IPCTS | Total packets sent |
|=======================================================|
4,,77 %IPCTO | Total packets outstanding |
|=======================================================|
5,,77 %IPCCP | PID of [SYSTEM]IPCC |
|=======================================================|
6,,77 %IPCPM | PID mask |
|=======================================================|
7,,77 %IPCMP | Length of PID table |
|=======================================================|
10,,77 %IPCNP | Number of PIDs now defined |
|=======================================================|
11,,77 %IPCTP | Total PIDs defined since reload |
|=======================================================|
12,,77 %IPCIC | Number of IPCF pages currently in core |
|=======================================================|
13,,77 %IPCSP | PID of [SYSTEM]GOPHER |
|=======================================================|
23-94
GETTAB TABLES
.GTUPM - Physical Page of User Page Map
GETTAB Table 100
Contents One word for each job running on the system, giving
the physical page number of the job's page map.
Indexed by Job number or segment number.
Monitor Table JBTUPM
Calling MOVE ac,[XWD jobno,.GTUPM]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job) or a high-segment number (use -2
for the current high segment).
For high segment entries, this is the page number of
the start of the high segment. Note that only the
left half contains the page number. The right half
contains other data and should be ignored.
|=======================================================|
| User page map page number |
|=======================================================|
23-95
GETTAB TABLES
.GTCMW - SET WATCH Command Names
GETTAB Table 101
Contents The SIXBIT names of the SET WATCH monitor commands.
Indexed by Item number.
Monitor Table WATTAB
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the number of the desired item in the
table.
Word Map
|=======================================================|
0 | First SET WATCH command name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last SET WATCH command name |
|=======================================================|
where last is the number-1 of command names in the
table.
The SET WATCH command names are defined with the
WATTAB macro in COMCON and will be displayed if you
type the HELP * monitor command.
23-96
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTCVL]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Current virtual limit | Current physical limit |
|=======================================================|
23-97
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTMVL]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Maximum virtual limit | Maximum physical limit |
|=======================================================|
23-98
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTIPA]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| IPCF statistics for job |
|=======================================================|
IPCF statistics bits are as follows:
Bits Symbol Meaning
0-17 IP.CQD Count of sends since the job logged
in.
18-35 IP.CQC Count of receives since the job
logged in.
23-99
GETTAB TABLES
.GTIPP - IPCF Pointers and Counts
GETTAB Table 105
Contents IPCF pointers and counts for the system.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTIPP]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| IPCF pointers and counts |
|=======================================================|
IPCF pointer and count bits are as follows:
Bits Symbol Meaning
0-17 Reserved.
18-26 IP.CQP Outstanding sends.
27-35 IP.CQO Outstanding receives.
23-100
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTIPI]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| PID for [SYSTEM]INFO for job |
|=======================================================|
23-101
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTIPQ]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| IPCF flags and quotas for job |
|=======================================================|
Quota and flag bits are as follows:
Bits Symbol Meaning
0 IP.CQX Disabled.
1 IP.CQQ Quota set.
777B17 PID quota.
777B26 IP.CQS Send quota.
777B35 IP.CQR Receive quota.
23-102
GETTAB TABLES
.GTDVL - Pointer to Job Logical Name Table
GETTAB Table 110
Contents One word for each job running on the system, giving a
pointer to the table of addresses of DDBs owned by
this job which have logical names.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTDVL]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Pointer to logical name table for job |
|=======================================================|
23-103
GETTAB TABLES
.GTABS - Address Break Word
GETTAB Table 111
Contents The address break word. The definitions of the bits
in this word may vary from monitor release to monitor
release and processor to processor; therefore you
should not reference .GTABS in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTABS]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use
-1 for the current job.
Word Map
|=======================================================|
| Address break word |
|=======================================================|
23-104
GETTAB TABLES
.GTVM - General Virtual Memory Data
GETTAB Table 113
Contents Data about virtual page handling.
Indexed by Item number.
Monitor Table .GTVM
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,113 %VMSWP | Swap count |
|=======================================================|
1,,113 %VMSCN | Scan count |
|=======================================================|
2,,113 %VMSIP | Swaps + page operations in progress |
|=======================================================|
3,,113 %VMSLE | Number of SWPLST entries |
|=======================================================|
4,,113 %VMTTL | Total virtual memory in use |
|=======================================================|
5,,113 %VMCMX | Maximum value of %VMTTL allowed |
|=======================================================|
6,,113 %VMRMX | Obsolete |
|=======================================================|
7,,113 %VMCON | Constant used in swap rate computation |
|=======================================================|
10,,113 %VMQJB | Obsolete |
|=======================================================|
11,,113 %VMRMJ | Obsolete |
|=======================================================|
12,,113 %VMTLF | Time of last fault |
|=======================================================|
13,,113 %VMSPF | System page fault counts |
|=======================================================|
14,,113 %VMSW1 | Address of SWPLST |
|=======================================================|
15,,113 %VMSW2 | Address of SW2LST |
|=======================================================|
16,,113 %VMSW3 | Address of SW3LST |
|=======================================================|
23-105
GETTAB TABLES
|=======================================================|
17,,113 %VMEXP | Time constant exponent |
|=======================================================|
20,,113 %VMDIF | %VMEXP - %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 |
|=======================================================|
23-106
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 Job number.
Monitor Table JBTVRT
Calling MOVE ac,[XWD jobno,.GTVRT]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Paging rate for job | Reserved |
|=======================================================|
23-107
GETTAB TABLES
.GTSST - Scheduler Statistics
GETTAB Table 115
Contents Statistics kept by and for the job scheduler.
Indexed by Item number.
Monitor Table .GTSST
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,115 %SSOSO | Number of jobs run out-of-order to allow them |
| to give up resources for swap-out |
|=======================================================|
1,,115 %SSORJ | Number of jobs run out-of-order to allow them |
| to give up resources required to run a job |
|=======================================================|
2,,115 %SSNUL | Swapper null time |
|=======================================================|
3,,115 %SSLOS | Swapper lost time |
|=======================================================|
4,,115 %SSRQC | Total number of requeues |
|=======================================================|
5,,115 %SSICM | Obsolete |
|=======================================================|
6,,115 %SSMSI | Medium-term scheduling interval |
|=======================================================|
7,,115 %SSAJS | Average job size |
|=======================================================|
10,,115 %SSTQT | Total runtime given to all subclasses |
|=======================================================|
11,,115 %SSEAF | Obsolete |
|=======================================================|
12,,115 %SSEAT | Obsolete |
|=======================================================|
13,,115 %SSRSS | Total user time since SCHED. Set class parameters |
|=======================================================|
14,,115 %SSCLS | Default class for new jobs |
|=======================================================|
23-108
GETTAB TABLES
|=======================================================|
15,,115 %SSJIL | % 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-109
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).) The
definitions of the bits in the job status word may
vary from monitor release to monitor release;
therefore you should not reference .GTST2 in a
program that is monitor-independent.
Indexed by Job number.
Monitor Table JBTST2
Calling MOVE ac,[XWD jobno,.GTST2]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job (use -1
for the current job).
|=======================================================|
| Second job status word |
|=======================================================|
23-110
GETTAB TABLES
.GTJTC - Job Type and Scheduler Class
GETTAB Table 120
Contents One word for each job running on the system, giving
the job type and scheduler class for the job. The
bits in this word may vary from monitor to monitor;
therefore you should not reference .GTJTC in a
program that is monitor-independent.
Indexed by Job number.
Monitor Table JBTSCD
Calling MOVE ac,[XWD jobno,.GTJTC]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Job type and scheduler class |
|=======================================================|
23-111
GETTAB TABLES
.GTCQP - Scheduler Quota Percent for Class
GETTAB Table 121
Contents The scheduler class quota in percent for each class.
Indexed by Scheduler class.
Monitor Table CLSSTS
Calling MOVE ac,[XWD class,.GTCQP]
Sequence GETTAB ac,
error return
normal return
where class is the class number of the class whose
quota percentage is required.
|=======================================================|
| Class quota in percent for class |
|=======================================================|
23-112
GETTAB TABLES
.GTCRT - Class Runtime Since Quota Set
GETTAB Table 123
Contents The runtime for each class since the class quotas
were set.
Indexed by Scheduler class.
Monitor Table SIDOFS
Calling MOVE ac,[XWD class,.GTCRT]
Sequence GETTAB ac,
error return
normal return
where class is the class number of the class whose
runtime is required.
|=======================================================|
| Class runtime since quotas set for class |
|=======================================================|
23-113
GETTAB TABLES
.GTSID - Special PID Table
GETTAB Table 126
Contents A list of the defined system process identifiers
(PIDs) used by the IPCF facility.
Indexed by Item number.
Monitor Table .GTSID
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,126 %SIIPC | [SYSTEM]IPCC |
|=======================================================|
1,,126 %SIINF | [SYSTEM]INFO |
|=======================================================|
2,,126 %SIQSR | [SYSTEM]QUASAR |
|=======================================================|
3,,126 %SIMDA | Mountable device allocator |
|=======================================================|
4,,126 %SITLP | Magtape labeling process |
|=======================================================|
5,,126 %SIFDA | File Daemon |
|=======================================================|
6,,126 %SIMDC | Mountable device coordinator (historical) |
|=======================================================|
6,,126 %SITOL | Tape AVR process |
|=======================================================|
7,,126 %SIACT | [SYSTEM]ACCOUNTING |
|=======================================================|
10,,126 %SIOPR | Operator interface |
|=======================================================|
11,,126 %SISEL | System error logger |
|=======================================================|
12,,126 %SIDOL | Disk AVR process |
|=======================================================|
13,,126 %SITGH | [SYSTEM]TGHA |
|=======================================================|
14,,126 %SINML | DECnet NML listener |
|=======================================================|
23-114
GETTAB TABLES
|=======================================================|
15,,126 %SIGFR | [SYSTEM]GOPHER |
|=======================================================|
16,,126 %SICAT | [SYSTEM]CATALOG |
|=======================================================|
17,,126 %SIMAI | [SYSTEM]MAILER |
|=======================================================|
23-115
GETTAB TABLES
.GTENQ - ENQ./DEQ. Statistics
GETTAB Table 127
Contents Statistics and quotas for the ENQ. and DEQ. monitor
calls.
Indexed by Item number.
Monitor Table .EQTAB
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,127 %EQMSS | Maximum string size |
|=======================================================|
1,,127 %EQNAQ | Number of active queues |
|=======================================================|
2,,127 %EQESR | Total ENQ. since reload |
|=======================================================|
3,,127 %EQDSR | Total DEQ. since reload |
|=======================================================|
4,,127 %EQAPR | Number of active pooled resources |
|=======================================================|
5,,127 %EQDEQ | Default ENQ. quota |
|=======================================================|
6,,127 %EQMMS | Maximum pie-slice lock mask block size |
|=======================================================|
7,,127 %EQMTS | Maximum lock-associated table size |
|=======================================================|
10,,127 %EQLTL | Minutes that unused lock data is kept |
|=======================================================|
11,,127 %EQNDD | Number of deadlocks detected |
|=======================================================|
12,,127 %EQNTO | Number of timeouts |
|=======================================================|
13,,127 %EQMAQ | Maximum number of active queues |
|=======================================================|
23-116
GETTAB TABLES
.GTJLT - LOGIN Time for Job
GETTAB Table 130
Contents One word for each job running on the system, giving
the date/time (in universal format) that the job
logged in.
Indexed by Job number.
Monitor Table JBTJLT
CALLING MOVE ac,[XWD jobno,.GTJLT]
SEQUENCE GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| LOGIN date/time in universal format |
|=======================================================|
NOTE
This table is adjusted retroactively whenever the
current system date/time is changed with the SET DATE
monitor command, the SET DAYTIME monitor command, or
the appropriate SETUUO function. Subtracting values
in this table from %CNDTM will result in the elapsed
time since the job logged in.
23-117
GETTAB TABLES
.GTEBT - KL10 EBOX Time in Jiffies
GETTAB Table 131
Contents The number of jiffies of KL10 EBOX time used. The
definitions of the bits in this word may vary from
monitor release to monitor release; therefore, you
should not reference .GTEBT in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTEBT]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Jiffies of KL10 EBOX time |
|=======================================================|
23-118
GETTAB TABLES
.GTEBR - Jiffy Remainder: Mod(.GTEBT,RTUPS)
GETTAB Table 132
Contents The remainder resulting from dividing the contents of
.GTEBT by RTUPS. The definitions of the bits in this
word may vary from monitor release to monitor
release; therefore, you should not reference .GTEBR
in a program that is monitor-independent.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTEBR]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Jiffy remainder - mod(.GTEBT,RTUPS) |
|=======================================================|
23-119
GETTAB TABLES
.GTMBT - KL10 MBOX Time in Jiffies
GETTAB Table 133
Contents The number of jiffies of KL10 MBOX time used. The
definitions of the bits in this word may vary from
monitor release to monitor release; therefore, you
should not reference .GTMBT in a program that is
monitor-independent.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTMBT]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
0,,133 .GTMBT | Jiffies of KL10 MBOX time |
|=======================================================|
23-120
GETTAB TABLES
.GTMBR - Jiffy Remainder: Mod(.GTMBT,RTUPS)
GETTAB Table 134
Contents The remainder resulting from dividing the Contents of
.GTMBT by RTUPS. The definitions of the bits in this
word may vary from monitor release to monitor
release; therefore, you should not reference .GTMBR
in a program that is monitor-independent.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTMBR]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
| Jiffy remainder - mod(.GTMBT,RTUPS) |
|=======================================================|
23-121
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRDV]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Device program is run from |
|=======================================================|
NOTE
GETTAB Tables 135, 136, and 137 store the file
specification of the last program run by the job.
Therefore, these words change when you issue a RUN,
GET, SAVE, or CORE 0 command.
23-122
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRDI]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Directory program is run from |
|=======================================================|
NOTE
GETTAB Tables 135, 136, and 137 store the file
specification of the last program run by the job.
Therefore, these words change when you issue a RUN,
GET, SAVE, or CORE 0 command.
23-123
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRFN]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| File program is run from |
|=======================================================|
NOTE
GETTAB Tables 135, 136, and 137 store the file
specification of the last program run by the job.
Therefore, these words are changed when you issue a
RUN, GET, SAVE or CORE 0 command.
23-124
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTDFL]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| User defaults |
|=======================================================|
User default bits are as follows:
Bits Symbol Meaning
777B8 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.
777B35 JD.BUF Number of default disk
buffers.
20077B26 JD.MSK Reserved for use by DIGITAL.
23-125
GETTAB TABLES
.GTNTP - Network Performance Data
GETTAB Table 141
Contents Data for network performance analysis.
Indexed by Item number.
Monitor Table NETGTT
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,141 %NTCOR | Number of words of free space now in use |
|=======================================================|
1,,141 %NTMAX | Maximum value %NTCOR has reached |
|=======================================================|
2,,141 %NTAVG | Exponential average of %NTCOR (in K words) |
|=======================================================|
3,,141 %NTBAD | Number of bad messages received and ignored |
|=======================================================|
4,,141 %NTRTP* | Ptr to received NCL message type subtable |
|=======================================================|
5,,141 %NTRMT* | Ptr to received NCL numbered message type subtable |
|=======================================================|
6,,141 %NTRDL* | Ptr to received NCL data message lengths subtable |
|=======================================================|
7,,141 %NTXTP* | Ptr to transmitted NCL message type subtable |
|=======================================================|
10,,141 %NTXMT* | Ptr to transmitted NCL numbered message type subtable |
|=======================================================|
11,,141 %NTXDL* | Ptr to transmitted NCL data message lengths subtable |
|=======================================================|
12,,141 %NTBLC | PC of detection |PCB adr of last bad message|
|=======================================================|
13,,141 %NTBYI | Number of input bytes processed |
|=======================================================|
14,,141 %NTBYO | Number of output bytes processed |
|=======================================================|
23-126
GETTAB TABLES
The pointers %NTRTP, %NTRMT, %NTRDL, %NTXTP, %NTXMT,
and %NTXDL are of the form:
<length-1>B8+<offset>B35
where length is the maximum length of the subtable;
and offset is the offset into .GTNTP of the start of
the subtable.
23-127
GETTAB TABLES
Subtable: Received NCL Message Types
Subtable of .GTNTP
Contents Received NCL message types.
Indexed by Item number.
Calling MOVE ac,[%NTRTP]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
where item is the number (starting with 0) of the
required entry in the subtable.
Word Map
|=======================================================|
0 | First received NCL message type |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last received NCL message type |
|=======================================================|
23-128
GETTAB TABLES
Subtable: Received NCL Numbered Message Types
Subtable of .GTNTP
Contents Received NCL numbered message types.
Indexed by Item number.
Calling MOVE ac,[%NTRMT]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
where item is the number (starting with 0) of the
required entry in the subtable.
Word Map
|=======================================================|
0 | First received NCL numbered message type |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last received NCL numbered message type |
|=======================================================|
23-129
GETTAB TABLES
Subtable: Received NCL Data Message Lengths
Subtable of .GTNTP
Contents Received NCL message lengths by powers of 2.
0 = 0 bytes, and message too long
1 = 1 byte
2 = 2 to 3 bytes
3 = 4 to 7 bytes
. . .
n = 2(n-1) to (2*n)-1 bytes
Indexed by Item number.
Calling MOVE ac,[%NTRDL]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
where item is the number (starting with 0) of the
required entry in the subtable.
Word Map
|=======================================================|
0 | First received NCL data message length |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last received NCL data message length |
|=======================================================|
23-130
GETTAB TABLES
Subtable: Transmitted NCL Message Types
Subtable of .GTNTP
Contents Transmitted NCL message types.
Indexed by Item number.
Calling MOVE ac,[%NTXTP]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
where item is the number (starting with 0) of the
required entry in the subtable.
Word Map
|=======================================================|
0 | First transmitted NCL message type |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last transmitted NCL message type |
|=======================================================|
23-131
GETTAB TABLES
Subtable: Transmitted NCL Numbered Message Types
Subtable of .GTNTP
Contents Transmitted NCL numbered message types.
Indexed by Item number.
Calling MOVE ac,[%NTXMT]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
where item is the number (starting with 0) of the
required entry in the subtable.
Word Map
|=======================================================|
0 | First transmitted NCL numbered message type |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last transmitted NCL numbered message type |
|=======================================================|
23-132
GETTAB TABLES
Subtable: Transmitted NCL Data Message Lengths
Subtable of .GTNTP
Contents Transmitted NCL message lengths by powers of 2.
0 = 0 bytes, and message too long
1 = 1 byte
2 = 2 to 3 bytes
3 = 4 to 7 bytes
. . .
n = 2**(n-1) to (2**n)-1 bytes
Indexed by Item number.
Calling MOVE ac,[%NTXDL]
Sequence GETTAB ac,
error return
ADDI ac,item
HRLZS ac
ADDI ac,.GTNTP
GETTAB ac,
error return
normal return
where item is the number (starting with 0) of the
required entry in the subtable.
Word Map
|=======================================================|
0 | First NCL data message length |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
last | Last NCL data message length |
|=======================================================|
23-133
GETTAB TABLES
.GTSPA - Scheduler Performance Data
GETTAB Table 142
Contents Data for analysis of scheduler performance.
Indexed by Item number.
Monitor Table SCDPER
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,142 %SPDGS | DECtape-generated sleeps |
|-------------------------------------------------------|
1,,142 %SPMGS | Magtape-generated sleeps |
|=======================================================|
2,,142 %SPEWS | Event-wait satisfied |
|=======================================================|
3,,142 %SPTIS | Terminal input satisfied |
|-------------------------------------------------------|
4,,142 %SPTOS | Terminal output satisfied |
|=======================================================|
5,,142 %SPPIS | Pseudo-terminal input satisfied |
|-------------------------------------------------------|
6,,142 %SPPOS | Pseudo-terminal output satisfied |
|=======================================================|
7,,142 %SPRS1 | Requeues from SS into PQ1 |
|-------------------------------------------------------|
10,,142 %SPRW1 | Requeues from wake into PQ1 |
|-------------------------------------------------------|
11,,142 %SPRD1 | Requeues from DAEMON-satisfied into PQ1 |
|-------------------------------------------------------|
12,,142 %SPRO1 | Other requeues into PQ1 |
|=======================================================|
13,,142 %SPQR1 | PQ1 jobs that expired quantum runtime |
|-------------------------------------------------------|
14,,142 %SPQR2 | PQ2 jobs that expired quantum runtime |
|-------------------------------------------------------|
15,,142 %SPQRH | HPQ jobs that expired quantum runtime |
|=======================================================|
23-134
GETTAB TABLES
|=======================================================|
16,,142 %SPIP1 | PQ1 jobs that expired in-core protect time |
|-------------------------------------------------------|
17,,142 %SPIP2 | PQ2 jobs that expired in-core protect time |
|-------------------------------------------------------|
20,,142 %SPIPH | HPQ jobs that expired in-core protect time |
|=======================================================|
21,,142 %SPKS1 | Number of swapped in for PQ1 jobs |
|-------------------------------------------------------|
22,,142 %SPKS2 | Number of swapped in for PQ2 jobs |
|-------------------------------------------------------|
23,,142 %SPKSH | Number of swapped in for HPQ jobs |
|=======================================================|
24,,142 %SPNJ1 | Number of PQ1 jobs swapped in |
|=======================================================|
25,,142 %SPNJ2 | Number of PQ2 jobs swapped in |
|=======================================================|
26,,142 %SPNJH | Number of HPQ jobs swapped in |
|=======================================================|
27,,142 %SPTC1 | Clock ticks charged to PQ1 |
|-------------------------------------------------------|
30,,142 %SPTC2 | Clock ticks charged to PQ2 |
|-------------------------------------------------------|
31,,142 %SPTCH | Clock ticks charged to HPQ |
|=======================================================|
32,,142 %SPNRS | Number of responses for PQ1/CMQ swap-in |
|-------------------------------------------------------|
33,,142 %SPNTS | Total ticks of response for PQ1/CMQ swap-in |
|-------------------------------------------------------|
34,,142 %SPSSS | Sum of squares of PQ1/PQ2 swap-in (2-Word integer) |
|=======================================================|
35,,142 | Reserved |
|=======================================================|
36,,142 %SPMWC | Number of measurements of wasted core |
|-------------------------------------------------------|
37,,142 %SPSWC | Sum of wasted core (pages) |
|-------------------------------------------------------|
40,,142 %SPSSC | Sum of squares of wasted core (2-word integer) |
|=======================================================|
23-135
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTVKS]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Virtual kilo-core ticks |
|=======================================================|
23-136
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTUUC]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Count of monitor calls done for job |
|=======================================================|
23-137
GETTAB TABLES
.GTRS0 - First SFD in Job Run Path
GETTAB Table 145
Contents One word for each job running on the system, giving
the first SFD in the run path for the job.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRS0]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| First SFD in path program was run from |
|=======================================================|
23-138
GETTAB TABLES
.GTRS1 - Second SFD in Job Run Path
GETTAB Table 146
Contents One word for each job running on the system, giving
the second SFD in the run path for the job.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRS1]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Second SFD in path program was run from |
|=======================================================|
23-139
GETTAB TABLES
.GTRS2 - Third SFD in Job Run Path
GETTAB Table 147
Contents One word for each job running on the system, giving
the third SFD in the run path for the job.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRS2]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Third SFD in path program was run from |
|=======================================================|
23-140
GETTAB TABLES
.GTRS3 - Fourth SFD in Job Run Path
GETTAB Table 150
Contents One word for each job running on the system, giving
the fourth SFD in the run path for the job.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRS3]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Fourth SFD in path program was run from |
|=======================================================|
23-141
GETTAB TABLES
.GTRS4 - Fifth SFD in Job Run Path
GETTAB Table 151
Contents One word for each job running on the system, giving
the fifth SFD in the run path for the job.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTRS4]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Fifth SFD in path program was run from |
|=======================================================|
23-142
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 MOVE ac,[XWD jobno,.GTPC]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| User PC |
|=======================================================|
23-143
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTCAP]
SEQUENCE GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Job capability word (maximum privileges) |
|=======================================================|
Capability bits are as follows:
Bits Symbol Privilege
0 JP.IPC IPCF privilege.
1-2 JP.DPR Highest disk priority for the job (n
is in the range 0 to 3).
3 JP.MET METER. privilege.
4 JP.POK POKE. privilege.
5 JP.CCC Privilege to change CPU
specification with a command or a
monitor call.
6-9 JP.HPQ Highest high-priority queue
available to the job (n is in the
range 0 to 17 octal).
10 JP.NSP Device unspooling privilege.
11 JP.ENQ ENQ/DEQ privilege.
12 JP.ADM System administrator privileges.
13 JP.RTT RTTRP privilege.
14 JP.LCK LOCK privilege.
15 JP.TRP TRPSET privilege.
16 JP.SPA PEEK and SPY privilege for any core.
17 JP.SPM PEEK and SPY privilege for monitor
core.
18-35 Reserved for users.
23-144
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 GETTAB table number.
Monitor Table RNGTAB
Calling MOVE ac,[XWD table,.GTIDX]
Sequence GETTAB ac,
error return
HLREM ac,minent
HRREM ac,maxent
where table 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:
Bit Symbol Meaning
17 ID.MIN Minimum programs should do a HLRE in
case negative
35 ID.MAX Maximum programs should do a HRRE in
case negative.
23-145
GETTAB TABLES
.GTGTB - GETTAB Immediate Using Range Table
GETTAB table 155
Contents Data for each GETTAB table.
Indexed by GETTAB table number.
Monitor Table NUMTAB
Calling MOVE ac,[XWD table,.GTGTB]
Sequence GETTAB ac,
error return
normal return
where table is the mnemonic name of the table whose
data is required.
|=======================================================|
| GETTAB table data |
|=======================================================|
The word gives the following information for each
GETTAB table:
Bits Symbol Meaning
0-8 SL.MAX If SL.TYP is 1, 2, 3, or 4, this
field is the largest item number in
the table. If SL.TYP is 5, this
field is the index into the range
table.
9-11 SL.TYP Type of table:
Value Symbol Type
0 .SLNIC Not included in
this system.
1 .SLIXI Indexed by item
number.
2 .SLIXJ Indexed by job
number.
3 .SLIXS Indexed by job
number or segment
number.
4 .SLIXP Indexed by job
number; data in
PDB.
23-146
GETTAB TABLES
Bits Symbol Meaning
Value Symbol Type
5 .SLIXR Indexed by item
number. Range may
not be 0 to length
-1.
12-13 Reserved for use by DIGITAL.
14-17 SL.MAC A monitor accumulator number.
18-35 SL.ADR If SL.TYP=1,2,3,5, this halfword
contains the executive mode address
of the table; if SL.TYP=4, this
halfword contains the offset to PDB.
If SL.TYP is 5, this halfword is the
executive mode address of offset 0
into the table.
23-147
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 Terminal type number.
Monitor Table TTTWDT
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the number of the desired entry in the
table.
|=======================================================|
| First SIXBIT terminal name |
|-------------------------------------------------------|
. . .
|-------------------------------------------------------|
| Last SIXBIT terminal name |
|=======================================================|
The terminal names are defined with the TTTWDT macro
in COMCON.
23-148
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 Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTOBI]
Sequence GETTAB ac,
error return
normal return
where jobno is the number of a logged-in job. Use -1
for the current job.
|=======================================================|
| Operator batch data |
|=======================================================|
Operator and batch flags are as follows:
Flag Symbol Meaning
3B1 OB.WTO Write-to-operator capabilities:
Value Symbol Meaning
0 .OBALL WTO and WTOR
allowed.
1 .OBNWR No WTOR allowed;
WTO only.
2 .OBNOM No messages to
operator allowed.
23-149
GETTAB TABLES
Flag Symbol Meaning
7B4 OB.OPR Operator privileges:
Value Symbol Meaning
0 .OBNOP No operator
privileges
1 .OBSOP System-wide
privileges
2 .OBHOP Host system
privileges
3 .OBROP Remote operator
privileges
10 OB.BSS Batch stream number set.
177B17 OB.BSN Batch stream number.
23-150
GETTAB TABLES
.GTDCD - CONI/DATAI Corresponding to DSB
GETTAB Table 160
Contents Device status block subtable.
Indexed by Item number.
Monitor Table DVCSTS
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
|=======================================================|
|CONI/DATAI corresp to device status block (see %CCDSB) |
|=======================================================|
23-151
GETTAB TABLES
.GTNDB - Byte Pointers Into Node Data Block
GETTAB Table 161
Contents Pointers into an NDB to facilitate the retrieval of
data.
Indexed by Item number.
Monitor Table NDBTBL
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|=======================================================|
0,,161 %NDLEN | Length of NDB (not a byte pointer) |
|=======================================================|
1,,161 %NDNXT | Address of next NDB |
|=======================================================|
2,,161 %NDNNM | Node number |
|=======================================================|
3,,161 %NDSNM | Address of SIXBIT station name |
|=======================================================|
4,,161 %NDTIM | Timer |
|=======================================================|
5,,161 %NDNGH | First neighbor entry |
|-------------------------------------------------------|
6,,161 %NDNGL | Last neighbor entry |
|=======================================================|
7,,161 %NDNGN | Node number from %NDNGH (address = 0) |
|=======================================================|
10,,161 %NDOPR | Address of OPR LDB |
|=======================================================|
11,,161 %NDCTJ | Station control job number |
|=======================================================|
12,,161 %NDLAR | Last ACK received |
|-------------------------------------------------------|
13,,161 %NDLAP | Last output message acknowledged |
|-------------------------------------------------------|
14,,161 %NDLMS | Last message sent |
|-------------------------------------------------------|
15,,161 %NDLMA | Last message number assigned |
|-------------------------------------------------------|
23-152
GETTAB TABLES
|-------------------------------------------------------|
16,,161 %NDLAS | Last ACK sent |
|-------------------------------------------------------|
17,,161 %NDLMR | Last message received |
|-------------------------------------------------------|
20,,161 %NDLMP | Last message processed |
|=======================================================|
21,,161 %NDSDT | Address of system build date |
|=======================================================|
22,,161 %NDSID | Address of system identification |
|=======================================================|
23,,161 %NDMOM | Maximum number of outstanding messages allowed |
|=======================================================|
24,,161 %NDDEV | First device |
|=======================================================|
23-153
GETTAB TABLES
.GTPDB - Job PDB Word
GETTAB Table 162
Contents Number of monitor per process pages, and monitor
address of the job's PDB.
Indexed by Job number.
Monitor Table JBTPDB
Calling MOVE ac,[XWD jobno,.GTPDB]
Sequence GETTAB ac
error return
normal return
|======================================================|
| Number of monitor | Address (monitor) |
| "per process" pages | of job's PDB |
|======================================================|
Where the left half of this word is divided into
6-bit fields. Bits 0-5 are reserved for use by
DIGITAL. Bits 6-11 contain the number of per-process
pages to be swapped in, and bits 12-17 contain the
total number of per-process pages. This word does
not include section maps for non-zero sections.
23-154
GETTAB TABLES
.GTEQJ - ENQ./DEQ. Queue Header
GETTAB Table 163
Contents ENQ/DEQ queue header.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTEQJ]
Sequence GETTAB ac
error return
normal return
|======================================================|
| ENQ/DEQ queue header |
|======================================================|
23-155
GETTAB TABLES
.GTDCN - Default Command Arguments
GETTAB Table 164
Contents One word for each job running on the system, giving
the SET DEFAULT monitor command argument for the job.
Indexed by Item number.
Monitor Table DFLTTB
Calling MOVE ac,[item]
Sequence GETTAB ac
error return
normal return
Where item is the number of the command in the list
of SET DEFAULT commands. Use the HELP * monitor
command to obtain the list of SET DEFAULT commands
for your system.
|======================================================|
| Set default command arguments |
|======================================================|
23-156
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 Job number.
Monitor table PDB
Calling MOVE ac,[XWD jobno,.GTLBS]
Sequence GETTAB ac
error return
normal return
|======================================================|
| Set by program | Set by user command |
|======================================================|
Where the data in the left half is the buffer size as
set by the program. The right half contains the
buffer size as set by the monitor command SET BIGBUF.
23-157
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 Job number.
Monitor Table
Calling MOVE ac,[XWD jobno,.GTPTR]
Sequence GETTAB ac
error return
normal return
|======================================================|
| SIXBIT program name |
|======================================================|
23-158
GETTAB TABLES
.GTSTM - Time of Last Reset
GETTAB Table 167
Contents Time the program was last RESET.
Indexed by Job number.
Monitor Table PDB
Calling MOVE ac,[XWD jobno,.GTSTM]
Sequence GETTAB ac
error return
normal return
|======================================================|
| Universal date/time of last RESET |
|======================================================|
23-159
GETTAB TABLES
.GTDNT - DECnet Queue Headers
GETTAB Table 170
Contents Pointers to tables and information about DECnet-10
Version 3.
Indexed by Item number.
Monitor table DCNGTB
Calling MOVE ac,[item]
Sequence GETTAB ac
error return
normal return
Word Symbol Map
|======================================================|
0,,170 %DNRCH* | Queue header for circuit blocks |
|======================================================|
1,,170 %DNNPH* | Queue header for port blocks |
|======================================================|
2,,170 %DNETH* | DTE control block table |
|======================================================|
3,,170 %DNNSJ* | Pointer to session control job block for NRTSER |
|======================================================|
4,,170 %DNNCH* | Pointer to NRTSER's internal channel table |
|======================================================|
5,,170 %DNNDQ* | Queue block header for LLINK's node blocks |
|======================================================|
6,,170 %DNLOC | Obsolete |
|======================================================|
7,,170 %DNPTR | Obsolete |
|======================================================|
10,,170 %DNCHB* | Pointer to start of blocks describing DECnet's |
| fixed-size freecore |
|======================================================|
11,,170 %DNKON* | Pointer to table of DECnet device names |
|======================================================|
12,,170 %DNNRV* | Pointer to current routing vector (indexed by |
| node number) |
|======================================================|
13,,170 %DNOFS* | Pointer to offset from routing vector to |
| secondary vector |
|======================================================|
14,,170 %DNRMX | Pointer to address of router maximum node number |
|======================================================|
15,,170 %DNCST | Address of byte pointer to cost |
|======================================================|
23-160
GETTAB TABLES
|======================================================|
16,,170 %DNHOP | Address of byte pointer to hops |
|======================================================|
17,,170 %DNLCL* | Address of byte pointer to LOCAL bit |
|======================================================|
20,,170 %DNACT | Address of byte pointer to ACTIVE bit |
|======================================================|
21,,170 %DNNDT | Obsolete |
|======================================================|
22,,170 %DNSMX | Obsolete |
|======================================================|
23,,170 %DNACB | Address of DECnet Allocation Control Block |
|======================================================|
For additional information (format of blocks pointed
to by this table), refer to code as follows:
Item Module Label
0 D36PAR BEGSTR RC
1 D36PAR BEGSTR EL
2 DTEPRM DTEGEN
3 Format returned is similar to that returned
by GETTAB .GTSJB.
4 NRTSER BEGSTR NR
5 D36PAR BEGSTR NN
10 D36COM BEGSTR CH
11 Device names are listed in ASCII.
12 ROUTER BEGSTR RN
13 Contains pointers to output adjacency block
for this node.
17 Set only for executor (local host) node.
23-161
GETTAB TABLES
.GTSJB - DECnet Session Control Block Pointer
GETTAB Table 171
Contents Pointer to DECnet session control job block.
Indexed by Job number.
Monitor table PDB
Calling MOVE ac,[XWD jobno,.GTSJB]
Sequence GETTAB ac
error return
normal return
|======================================================|
| Pointer |
|======================================================|
23-162
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 Node number.
Monitor table .GTNDA
Calling MOVE ac,[XWD nodeno,.GTNDA]
Sequence GETTAB ac
error return
normal return
|======================================================|
| Node data block address |
|======================================================|
23-163
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: NCL object type.
Monitor table OBJTAB
Calling MOVE ac,[item]
Sequence GETTAB ac
error return
normal return
0 11 17 35
|======================================================|
| AO.XX | AO.TYP | AO.NAM |
|======================================================|
AO.XX, in bits 0 through 11, is reserved for use by
DIGITAL.
AO.TYPE contains the device type (refer to the DEVTYP
UUO).
AO.NAM contains the device name in SIXBIT.
23-164
GETTAB TABLES
.GTCTX - Context Table
GETTAB Table 175
Contents Information about contexts.
Indexed by Item number.
Monitor table
Calling MOVE ac,[item]
Sequence GETTAB ac
error return
normal return
where item is one of the symbols given in the word
map below.
Word Symbol Map
|===================================================|
0,,175 %CTJCQ | Default job context quota |
|===================================================|
1,,175 %CTJPQ | Default job saved-pages quota |
|===================================================|
2,,175 %CTSCQ | System-wide context quota |
|===================================================|
3,,175 %CTSPQ | System-wide saved-pages quota |
|===================================================|
4,,175 %CTSCU | System-wide count of contexts in use |
|===================================================|
5,,175 %CTSPU | System-wide count of currently saved pages |
|===================================================|
6,,175 %CTTCS | Total context saves done |
|===================================================|
7,,175 %CTACE | No. of times auto-push exceeded context quota |
|===================================================|
10,,175 %CTAPE | No. of times auto-push exceeded saved-pages quota |
|===================================================|
11,,175 %CTPCE | No. of times a privileged program exceeded |
| context quota |
|===================================================|
12,,175 %CTPPE | No. of times a privileged program exceeded |
| pages-saved quota |
|===================================================|
13,,175 %CPBDM | Byte pointer to returned context directory map |
|===================================================|
23-165
GETTAB TABLES
.GTIMI - Job Page Count
GETTAB Table 176
Contents Number of memory pages in use by each job.
Indexed by Job number.
Monitor Table JBTIMI
Calling MOVE ac,[XWD jobno,.GTIMI]
Sequence GETTAB ac,
error return
normal return
where jobno is the job number of a logged-in job, or
-1 for your current job.
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-166
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.
Monitor Table JBTIMO
Calling MOVE ac,[XWD jobno,.GTIMO]
Sequence GETTAB ac,
error return
normal return
where jobno is the job number of a logged-in job, or
-1 for the current job.
0 17 18 35
|======================================================|
| | Number of pages on disk |
|======================================================|
23-167
GETTAB TABLES
.GTDDB - I/O Wait DDB
GETTAB Table 200
Contents Device data block for devices in I/O wait state.
Indexed by Job number.
Monitor Table JBTDDB
Calling MOVE ac,[XWD jobno,.GTDDB]
Sequence GETTAB ac,
error return
normal return
|======================================================|
| Pointer to DDB |
|======================================================|
23-168
GETTAB TABLES
.GTVIR - Job's Virtual Size
GETTAB Table 201
Contents Virtual size of program.
Indexed by Job number.
Monitor Table
Calling MOVE ac,[XWD jobno,.GTVIR]
Sequence GETTAB ac,
error return
normal return
where jobno is the job number, or -1 for current job.
The virtual size is returned with bits 6-14
containing the high segment, and bits 15-35
containing the low segment.
23-169
GETTAB TABLES
.GTETH - Ethernet Information
GETTAB Table 202
Contents Data about Ethernet configuration.
Indexed by Item number.
Monitor Table
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the symbol representing one of the
words in the following word map.
Word Symbol Map
|===================================================|
0,,202 %EINEC | Number of Ethernet channels on system |
|===================================================|
1,,202 %EICHN | Address of first Ethernet channel block |
|===================================================|
2,,202 %EINEK | Number of Ethernet controllers on system |
|===================================================|
3,,202 %EIKON | Address of first Ethernet controller block |
|===================================================|
4,,202 %EISYS | Values of .ECBSYS,,.EKBSYS |
|===================================================|
5,,202 %EISTS | Values of .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-170
GETTAB TABLES
.GTSG2 - High Segment Section Number
GETTAB Table 203
Contents The section number of the job's high segment.
Indexed by Job number.
Monitor Table JBTSG2
Calling MOVE ac,[XWD jobno,.GTSG2]
Sequence GETTAB ac,
error return
normal return
where jobno is the job number, or -1 for the current
job.
|======================================================|
| S# | Reserved |
|======================================================|
Bits Symbol Contents
0-4 SG%SCN Section number where the high
segment for the job is stored.
5-35 Reserved.
23-171
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 Command number.
Monitor Table CSTTAB
Calling MOVE ac,[item]
Sequence GETTAB ac,
error return
normal return
where item is the table position of the command name.
|======================================================|
| MONGEN-defined command name |
|======================================================|
. . .
|======================================================|
| MONGEN-defined command name |
|======================================================|
The table of commands defined using the DECLARE command is searched
first when you issue a command. If an exact match is not found, this
table is searched next. The HELP * command displays a list of these
command names.
23-172
APPENDIX A
GLOSSARY
Absolute virtual address
A fixed location in user virtual address space that cannot be
relocated by the software. However, it can be translated to a
physical address by the hardware. For example, locations 0 - 17
are mapped into the current AC block by the hardware. The
corresponding locations in physical memory are never referenced.
AC
Refer to accumulator.
ACCESS.USR
Each user can create his own ACCESS.USR file to specify who can
and cannot access his files. See Appendix C.
Access date
The date on which a file on disk was last read or written. If a
file has not been read or written since it was created, the
creation date and the access date are the same. The access date
is kept in the Retrieval Information Block (RIB) for the file.
Access privileges
Attributes of a file that specify the class of users allowed to
access the file and the type of access they are allowed.
Access table
A table stored in the monitor that reflects the status of a file.
There is one access table for each file that is open for reading
or writing, in addition to those files that were recently closed.
This information is kept in the monitor in order to decrease the
time needed to access the files.
A-1
GLOSSARY
Accumulator
One of the registers and associated equipment in the arithmetic
unit in which data can be placed while it is being examined or
manipulated (for example, the 16 high-speed registers at address
locations 0 through 17).
Active search list
An ordered list of file structures established for each job
running on the system. This list is used to translate references
to the generic device DSK into the actual file structures to be
used. This means if a user reads a file on device DSK, the
system will look for the file on structures contained in the
active search list. The active search list is separated from the
passive search list by the FENCE. The SETSRC program can be used
to alter the contents of the job's active search list.
Address
1. An identification represented by a name, label, or number for
a register, a location in storage, or any other data source
or destination in memory or on an addressable storage device.
2. The part of an instruction that specifies the location of an
operand of the instruction (also called "effective address").
?ADDRESS CHECK Error
This error can occur when a dump mode I/O command list or
LOOKUP/ENTER/RENAME block is not in your low segment. It can
also occur when an invalid address is encountered during any I/O
UUO processing.
Address mapping
The assignment of user virtual address space to the physical
address space in computer memory. This is automatically
performed by the TOPS-10 monitor and is transparent to user
programs.
ALL search list
The list of all structures currently known to the system and
physically mounted. This list is the output from the SYSSTR
monitor call.
Alphanumeric
The set of characters that includes the letters of the alphabet
(A through Z), and the numerals (0 through 9).
A-2
GLOSSARY
Arithmetic unit
The portion of the central processing unit in which arithmetic
and logical operations are performed.
ASCII code
American Standard Code for Information Interchange. A 7-bit code
in which textual information is recorded. The ASCII code can
represent 128 distinct characters. These characters are the
upper and lower case letters, numbers, common punctuation marks,
and special control characters.
Assembly language
The machine-oriented symbolic programming language specific to a
given computing system. The assembly language for TOPS-10 is
MACRO.
ASCIZ
A 7-bit ASCII string terminated by a zero byte. The string is
word aligned (left justified) unless specified by a byte pointer.
The zero byte is not included in the string length, but must be
present.
Assigning a device
Associating an I/O device to the user's job either for the
duration of the job or until the user relinquishes it.
Associated variable
Returned in the AC on a normal return for the IPCFR monitor call
and returned to the status word when a IPCF-related software
interrupt is generated.
Associative memory
High-speed, 32-word memory that is used by the KI10 processor to
provide address mapping information for the operating system and
user programs.
Asynchronous
1. Pertaining to the procedure by which the hardware can begin a
second operation before waiting for the first operation to be
completed.
2. Pertaining to the method of data transmission in which each
character is sent with its own synchronizing information and
no fixed time between consecutive characters.
A-3
GLOSSARY
Backspace
To move back the logical position in a file or on a line
according to a prescribed format. For example, magnetic tape
units can be backspaced over a file or a record. Some terminals
allow backspacing in order to permit over-printing.
Bad Allocation Table (BAT) block
A block written on every disk unit to enumerate the bad regions
of consecutive bad blocks on that unit so that they are not
reused. The BAT blocks appear in the HOME.SYS file.
BADBLK.SYS
The file that contains all bad blocks. It may be read but not
deleted and is useful for testing error recovery.
Baud
A unit of signalling speed equal to the number of discrete
conditions or signal events per second.
Binary code
A code that uses two distinct characters only; usually these
characters are 0 and 1.
Bit
A binary digit (that is, 0 or 1). Usually refers to the smallest
unit of information storage, which can be on or off. A word on
TOPS-10 has 36 bits.
Block
A set of records, words, characters, or digits handled as a unit.
On the TOPS-10, a 128-word unit of disk storage allocated by
hardware and software; 128 words are always written, adding
zeroes as necessary, although fewer than 128 words can be read.
Bootstrap
A routine designed to bring itself into a desired state by means
of its own action (for example, a machine routine whose first
instructions are sufficient to bring the rest of itself into the
computer from an input device).
A-4
GLOSSARY
Breakpoint
A location at which program operation is suspended in order to
examine partial results. Breakpoints are used in the debugging
process.
Break Set
The set of characters used by the monitor to determine the end of
a command line typed on the terminal. The default terminal break
set includes <ESC> and <RET>, but your program can be enabled to
recognize any set of characters as break characters.
Buffer
A device or area used to temporarily hold information being
transmitted between two processes, such as external and internal
storage devices or I/O devices and internal high-speed storage.
A buffer is often a special register or a designated area of
internal storage.
Buffer pointer
A position indicator that is located between two characters in a
buffer, before the first character in the buffer, or after the
last character in the buffer, to indicate the position at which
the next operation will begin.
Buffer Ring
A ring of buffers used to allow a program to perform I/O
efficiently. In a buffer ring, the program can execute
instructions while the monitor is filling buffers.
Bug
A deficiency in a program that causes it to execute incorrectly,
or a mistake made by a person when writing a program or designing
hardware.
Byte
Any contiguous set of bits within a word.
Call
(verb) To transfer control to a specified closed subroutine.
Call
(noun) An instruction used to pass control to another program,
such as a "monitor call."
A-5
GLOSSARY
Caller
The program or routine which calls another program or routine.
The person who invoked the caller is referred to as the user. As
an example, the user types commands to SCAN which stores them in
core. The caller then calls WILD to study this block and select
files. Thus the user has specified the request but the caller
actually invoked WILD.
Calling sequence
A specified arrangement of instructions, pointers, and data
necessary to pass parameters and control to, and return from, a
given subroutine.
Card
A punched card with 80 vertical columns, each containing 12
vertical rows. Also, a unit of computer circuitry.
Card column
One of the vertical lines of 12 punching positions on a punched
card.
Card field
A fixed number of consecutive card columns assigned to a unit of
information.
Card hopper
The tray on a card processing machine that holds the cards to be
processed and makes them available to the card feed mechanism.
Card row
One of the horizontal lines of punching positions on a punched
card. A row is 80 columns long.
Card stacker
The tray on a card processing machine that receives processed
cards.
Carriage return
1. The operation that prepares for the next character to be
printed or displayed at the first position on the same
(current) line on a terminal or line printer.
2. The ASCII character with the octal code 015.
A-6
GLOSSARY
CDP
The generic device name for the card punch device.
CDR
The generic device name for the card reader device.
Central processing unit (CPU)
The portion of the computer that contains the arithmetic and
logical facilities, control circuits, and basic I/O and memory
interfaces. There can be more than one CPU in a computing
system.
Central site
The location of the central computer in a computer network. This
term is used in conjunction with remote communications to mean
the location of the TOPS-10 central processor as distinguished
from the location of the remote station. Refer to "Host."
CFP
See Compressed File Pointer.
Channel
1. A path along which signals can be sent, such as an output
channel.
2. A portion of TOPS-10 that can overlap I/O transmission while
computations proceed simultaneously (such as a data channel).
Character
One symbol of a set of elementary symbols such as those
corresponding to the keys on a typewriter. The characters
usually include the decimal digits 0 through 9, the letters A
through Z, punctuation marks, operation symbols, and any other
special symbols which a computer may read, store, or write.
Clear
To erase the contents of a location, a block of memory, or a mass
storage device by replacing the contents with blanks or zeroes.
Cluster
A single- or multi-block unit of disk storage assignment. The
number of blocks per cluster is a parameter of each file
structure.
A-7
GLOSSARY
Command
The part of an instruction that causes the computer to execute a
specified operation.
Command List
Specifies the memory area to be read or written when performing
dump I/O.
Communication link
The physical means of connecting one device to another for the
purpose of transmitting and receiving data.
Compressed file pointer
An 18-bit pointer to the unit within the file structure and to
the first super-cluster of the file. This pointer is stored in
the UFD for each file in that UFD. It points to the retrieval
information block, which contains the information necessary to
access the desired file.
Computer operator
A person who manipulates the controls of a computer and performs
all functions that are required to maintain and operate the
system, such as adjusting parameters which affect the operation
of the system, loading tape and disk drives, placing cards in the
input hopper, and removing listings from the line printer.
Computer program
A series of instructions or statements prepared in order to
achieve a specific result and intended for execution by a
computer. A program can be in either the binary form in which it
can be directly executed by a computer or a symbolic form that
must be compiled and/or assembled before it can be executed.
Concatenation
The joining of two strings of characters to produce a longer
string, often used to create symbols in macro definitions, or
combining two or more files into one larger file.
Concealed mode
The user submode on the KI or KL processor that may contain
proprietary coding. Sections of proprietary code are
hardware-protected from access by public mode programs except
through predefined entry points (PORTAL instructions).
A-8
GLOSSARY
Console
The part of a computer used by the operator to determine the
status of, and to control the operation of, the computer (CTY).
Also informally used to refer to the user's terminal.
Context switching
The saving of sufficient hardware and software information for a
process so that it may be continued at a later time, and the
restoring of similar information relevant to another process. A
common use of context switching is the temporary suspension of a
user program so that the monitor can execute a function.
Continued directory
The collection of all directories with a particular name and path
on all file structures in the job's search list.
Continued MFD
The MFDs on all file structures in the job's search list.
Continued SFD
The SFDs on all file structures in the job's search list which
have the same name and path.
Continued UFD
The UFDs for the same project-programmer number on all file
structures in the job's search list.
Control character
A character whose purpose is to control an action, such as line
spacing on the line printer, rather than to pass data to a
program. An ASCII control character has an octal representation
of 0-37. It is typed by holding down the CTRL key on the
terminal while striking a character key. It can be punched on a
card using the multi-punch key.
Controller
The device or portion of a device which controls the operation of
connected units. Some controllers can initiate simultaneous
positioning commands to some of its units and can then perform a
transfer for one of its units.
Controller class name
All file structures residing on all controllers of a given type.
A-9
GLOSSARY
Controller name
All file structures residing on a specific controller.
Core
Physical memory.
Core storage
A storage device normally used for main memory in a computer.
CORMAX
The maximum amount of core memory that a single job can use at
one time. This value can range from MINMAX to total user core.
CORMIN
The amount of core guaranteed to unlocked jobs. Locked jobs are
limited to total user core minus CORMIN.
Counter
A device, such as a register or storage location, used to
represent the number of occurrences of a certain event. Refer to
program counter.
CPU
See central processing unit.
Create
To open, write, and close a file for the first time. Only one
user at a time can create a file with a given name and extension
in the same directory or subdirectory of a file structure.
CRLF
Carriage-return/line-feed sequence. A "free CRLF" can be enabled
for terminal output. An "automatic CRLF" can be enabled for
terminal input.
CTY
Console terminal used to load, control, and debug the system.
CUSP
A Commonly Used System Program, such as LOGIN, that works closely
with the monitor to perform system functions.
A-10
GLOSSARY
Customer
A customer of Digital Equipment Corporation who has purchased a
DECsystem-10 as distinguished from a user at a terminal who may
be purchasing time from a customer.
Cylinder
The hardware-defined region of consecutive logical disk blocks
which can be read or written without repositioning. A cylinder
usually consists of tracks in the same physical position on
different disk surfaces.
DAEMON
A program for writing all or parts of a job's core area and
associated monitor tables onto disk.
Data
A general term used to denote any or all information (facts,
numbers, letters, and symbols that refer to or describe an
object, idea, condition, or situation). It represents basic
elements of information which can be processed by a computer.
Data channel
The device which passes data between the memory system and a
controller.
DDB
A device data block.
DDT
The Dynamic Debugging Technique program used for on-line
checkout, testing, examination, modification, and program
composition of object programs. Various types of DDT programs
are available, such as DDT11 for debugging PDP-11 remote stations
and the RSX-20F front end, and EDDT for debugging the monitor.
Deadlock
The situation where two or more jobs are waiting for each other
to complete use of a resource, but neither of the jobs can obtain
a lock on the resource it needs for completion.
Debug
To detect, locate, and correct any mistakes in a computer
program.
A-11
GLOSSARY
DECtape
A convenient, pocket-sized reel of random access magnetic tape
developed by Digital Equipment Corporation. A standard reel
consists of 578 (decimal) blocks, each capable of storing 128
(decimal) words of data.
Default directory
The directory that monitor searches when a disk directory has not
been specified by the user. Typically, this is the UFD
(user-file directory) corresponding to the user's
project-programmer number but it may be another UFD or a SFD
(sub-file directory).
Demand paging
The operation in which all pages of a program are not resident in
core during execution. References to non-resident pages initiate
the actions of moving in additional pages or replacing inactive
pages.
Dequeue
The function of releasing or relinquishing ownership of a
resource. Refer to "Enqueue."
Device substitution
Your program can be written for one device, and, before your
program is executed, you can substitute another device by using
the ASSIGN command.
Device routines
Routines that perform I/O for specific hardware devices. They
usually translate logical block numbers to physical addresses for
those devices that associate addresses with data. These routines
also handle error recovery and ensure ease of programming through
device independence.
Diagnostic
Pertaining to the detection and isolation of a hardware
malfunction or bug. A program which tests the hardware and
isolates any faults.
Digit
A symbol that represents one of the nonnegative integers smaller
than the base of the system. For example, in the decimal system,
a digit is one of the characters from 0 to 9.
A-12
GLOSSARY
Direct address
An address that specifies the location of an operand. Contrast
with indirect address.
Directory
A file that contains the names and pointers to other files on the
device. The MFD, UFDs, and SFDs are directory files. The MFD is
the directory containing all the UFDs. The UFD is the directory
containing the files existing in a given project-programmer
number area. The SFD is a directory pointed to by a UFD or a
higher-level SFD. The SFDs exist as files under the UFD. The
DIRECT monitor command lists a directory.
Directory device
A storage retrieval device, such as disk, DECtape, or labelled
magnetic tape, that contains information describing the names of
files and the layout of stored data (programs and other files).
A directory device is randomly accessible.
Directory path
The ordered list of directory names, starting with a UFD name,
which uniquely specifies a directory without regard to a file
structure. A file structure name, a path, and a file name and
extension are needed to uniquely identify a file in the system.
Directory specification
The way that the user specifies the directory to the SCAN
program. It is always typed within square brackets. Fields are
separated by commas. The first two fields are the project and
programmer numbers which are octal. They specify the particular
UFD. Additional fields are SFDs in order from the UFD down. The
following notations are allowed:
[PPN] UFD
[PPN,sfd,...sfd] full path to directory
[-] default directory
[,] your UFD
DIS
Display light pen.
Disk
A form of mass storage device in which information is stored on
rotating magnetic platters. A disk is a directory device.
A-13
GLOSSARY
Disk address
All references to disk addresses refer to a logical or relative
address; they do not refer to any physical addressing scheme.
The basic addressable unit is a 200 (octal) 36-bit word block.
Dismounting a file structure
Deleting a file structure from a user's active search list by
using the DISMOUNT command. It does not necessarily imply
physical removal of the file structure from the system.
Dormant file structure
A file structure that is physically mounted but has no current
users; that is, when the mount count is zero.
Dormant segment
A sharable high segment kept on a swapping space, and possibly in
core, which is in no user's addressing space.
Double precision
The use of two computer words to represent a number.
DSK
The generic device name for disk-like devices. The generic
device DSK is translated by the system into actual file structure
names which are defined for each job by the file structure search
list.
DSKLST
A program that gives the status and statistics of all user disk
files at a given time.
DSKRAT
A damage assessment program that scans a file structure and
reports any inconsistencies detected.
DTA
The generic device name for DECtape.
Dump
A listing of variables and their values, or a listing of the
values of locations in core.
A-14
GLOSSARY
Echoing
A method of data transmission in which the received data is
returned to the sending end. Usually used in discussions of
terminal I/O.
Edit
To modify the content or format of a program or data file (as to
insert or delete characters).
Effective address
The actual address used; that is, the specified address as
modified by any indexing or indirect addressing rules.
ENQ/DEQ
A facility that ensures that resources such as files are shared
correctly.
Enqueue
The function of storing requests for ownership of some limited
resource in lists or queues until the requests can be granted.
Entry point
A point in a subroutine to which control is transferred when that
subroutine is called.
Error Interception
When an error occurs, the monitor intercepts control of the
program, examines location .JBINT, and transfers control to an
error intercepting routine.
Ersatz device name
A device name that may not refer to an actual device, but
represents a UFD. Ersatz device names are a specific set of such
logical names, recognized by the monitor.
Execute
To interpret an instruction or command and perform the indicated
operation(s).
Executive mode
A central processor mode characterized by the lack of memory
protection and relocation and by the normal execution of all
defined operation codes.
A-15
GLOSSARY
Extended file
A file that has more than one RIB in which to record the
retrieval pointers.
Extended argument block for LOOKUP, ENTER, and RENAME
A detailed argument block for each of these calls that describes
information from the file's RIB.
Extended RIBs
Additional retrieval information blocks (RIBs) required when the
retrieval pointers in a file overflow the prime RIB.
External symbol
A global symbol which is referenced in one module but defined in
another module. The EXTERN statement in MACRO-10 is used to
declare a symbol to be external. A subroutine name referenced in
a CALL statement in a FORTRAN module is automatically declared
external.
FENCE
The boundary between the active and passive search lists. This
distinction is maintained by the SETSRC program.
File
An ordered collection of characters or 36-bit words containing
computer instructions and/or data. A file is stored on a device,
such as disk or magnetic tape, and can be of any length, limited
only by the available space on the device and the user's maximum
space allotment on that device. A file is uniquely identified in
the system by a file structure name or directory name, a
directory path, and a file name and extension.
File Daemon
The monitor calls the File Daemon (if F%FDAE=1) every time that
someone tries to access a file that has a 4, 5, 6, or 7 code in
the owner's protection field and the access fails due to a
protection error. Refer to Appendix C.
File directory
See Directory.
A-16
GLOSSARY
File extension
One to three alphanumeric characters usually chosen by the
program to describe the class of information in a file. The
extension is separated from the file name by a period.
File name
One to six alphanumeric characters chosen by the user to identify
a file.
File specification
A list of identifiers which uniquely specifies a particular file.
A complete file specification consists of: the name of the
device on which the file is stored, the name of the file
including its extension, and the name of the directory in which
the file is contained. File specifications are ignored for
non-file-oriented devices, such as cards and paper tape. Your
program specifies a file name and directory name in a LOOKUP,
ENTER, RENAME, or FILOP. monitor call.
File specification area
The area of core in which SCAN stores the result of scanning the
user's file specification. This instructs WILD as to the files
to select.
File status word
See I/O status word.
File structure
The logical arrangement of blocks (which are normally 128 words
long) on one or more disk units of the same type to form a
collection of files and directories.
File structure abbreviation
An abbreviation of one or more file structures. This refers to
all those structures in the ALL search list whose names match the
abbreviation. For example, if there were structures "PRIV" and
"PACK," "P" would refer to both structures but "PR" would mean
just "PRIV."
File structure owner
The user whose project-programmer number is associated with the
file structure in the administrative file STRLST.SYS. The CATLOG
program is used to enter or delete this project-programmer number
or any of the other information that is contained in an
STRLST.SYS entry.
A-17
GLOSSARY
Flag
An indicator that signals the occurrence of some condition, such
as the end of a word.
Fragmentation
The state existing when swapped segments cannot be allocated in
one contiguous set of blocks on the swapping space and therefore
must be allocated in separate sections.
Full-SCNSER PTY
A pseudo-terminal (PTY) that contains the full terminal
characteristic set, allowing echoing to the controlled job and a
full break set. Refer to "PTY."
Fullword
A contiguous sequence of bits or characters that comprises a
single computer word, or describing a word that can be referred
to as a single unit. On TOPS-10, a word is 36 bits long.
Funny space
Refer to "Per-process space."
Generic device name
The name of a class of physical units. This abbreviation is
usually three characters. As an example, DTA is the generic name
for DECtapes, and DTA0, DTA1, and so forth, are specific unit
names.
Global symbol
A symbol that is accessible to modules other than the one in
which it is defined. The value of a global symbol is placed in
the loader's global symbol table when the module containing the
symbol definition is loaded.
Group
A contiguous set of disk clusters allocated as a single unit of
storage and described by a single retrieval pointer.
Halfword
A contiguous sequence of bits or characters which comprises half
of a computer word and may be addressed as a unit. On TOPS-10,
bits 0 through 17 comprise the left half word and bits 18 through
35, the right half word. Each half word is 18 bits long.
A-18
GLOSSARY
Hardware
Physical equipment of the computer (such as magnetic, mechanical,
and electronic devices), as contrasted with the computer program
(software) or method of use.
High segment
That portion of the user's addressing space, usually beginning at
virtual address 400000, which generally is used to contain pure
code that can be shared by other users. This segment is usually
write-protected in order to protect its contents. The user can
place information into a high segment with the TWOSEG pseudo-op
in MACRO-10. Higher-level languages, such as COBOL and FORTRAN,
also have provisions for loading code into the high segment.
HOME.SYS
The file that contains a number of special blocks for system use.
These blocks are the home blocks, the BAT blocks, the ISW blocks,
and block zero.
HOME block
The block written twice on every unit that identifies the file
structure the unit belongs to and its position on the file
structure. This block specifies all the parameters of the file
structure along with the location of the MFD. The home block
appears in the HOME.SYS file.
Host
A processor or system in a computer network that processes and
executes user commands and programs. For example, this term is
used to distinguish a DECsystem-10 from a PDP-11 remote station.
I/O
An abbreviation for input or output, or both. Pertaining to all
equipment and activity that transfers information into or out of
a computer.
I/O status word
Sometimes called "file status word," this word contains I/O error
bits and data modes for the device that is OPEN for I/O.
ICPT
In-core protect time. Minimum amount of time that a job is
guaranteed to reside in core.
A-19
GLOSSARY
Idle segment
A sharable segment that is referenced by one or more swapped-out
jobs, but not by any jobs currently in core.
Idle time
That part of uptime in which no job could run because all jobs
were HALTed or waiting for some external action such as I/O.
Immediate mode addressing
The interpretation of certain instructions in which the effective
address of the instruction is used as the value of an operand
(rather than the address of an operand).
Impure code
The code that is modified by a program.
Indexed address
An address that is formed by adding the content of an index
register to the content of an address field prior to or during
the execution of a computer instruction.
Index register
A register whose contents may be added to the operand address
prior to or during the execution of a computer instruction.
Accumulators 1 through 17 (octal) may be used as index registers.
(Accumulator 0 may not be used as an index register.)
Indirect address
An address which indicates a storage location where the address
of the referenced operand (or another indirect address) is to be
found. Contrast with direct address.
Initialize
To set counters, switches, or addresses to zero or other starting
values at prescribed points in the execution of a computer
routine, particularly in preparation for reexecution of a
sequence of code.
Initialize a device
A device must be initialized on a software I/O channel to do I/O.
A-20
GLOSSARY
Input
1. Pertaining to a device, process, or channel involved in the
acquisition of data.
2. Information that is read by a computer.
Instruction
A bit pattern which, when interpreted by the computer, directs
the computer to execute a specific operation. An instruction
generally contains the values or locations of its operands.
Interleaving
The process of configuring the memory addressing so that
consecutive addresses are not stored in the same memory module.
This allows the possibility of increasing memory speed by
overlapping part of the operation of different memory modules.
Internal date-time format
The format for storing a combined date and time internally. This
format is used by SCAN and other programs. It has the property
that it is one 35-bit ("integer") quantity such that the
difference between two points in time in internal format is
constant if they are a constant time apart. The format is:
In the left halfword, the number of days since November 17, 1858.
In the right half a fraction of the day since midnight.
This results in a resolution of approximately one third of a
second. The date field will not be exceeded until 2217 A.D.
(November 17, 1858, is the origin date used by the Smithsonian
calendar. This calendar is in use by several computer systems
and many astrophysics programs. Its origin was selected because
November 18, 1858 was the date of the first "Harvard Plates,"
which were the first accurate astronomical photographs. Hence,
this date standard minimizes the date field while leaving all
astrophysical measurements as positive dates).
Internal storage
Addressable high speed storage directly controlled by the central
processing unit.
A-21
GLOSSARY
Internal symbol
A global symbol located in the module in which it is defined. In
a MACRO-10 program, a symbol is declared internal with the INTERN
or ENTRY pseudo-op. These pseudo-ops generate a global
definition which is used to satisfy all global requests for the
symbol.
Interrupt
A signal which, when activated, causes a transfer of control to a
specific location in memory thereby breaking the normal flow of
control of the routine being executed. An interrupt is caused by
an external event such as a done condition in a peripheral. It
is distinguished from a trap which is caused by the execution of
a processor instruction.
IPCF
The Inter-Process Communications Facility, which allows
communication among jobs and system processes.
JACCT program
A program running with the JACCT privilege bit. This is set by
the monitor for special system programs such as LOGIN. This bit
gives the caller full file access; that is, it allows the caller
to LOOKUP and read any file in the system regardless of the
file's protection code.
Jiffy
A period of time equal to 1/60 of a second (for 60 Hz power) or
1/50 of a second (for 50 Hz power), used to count CPU cycles.
Synonym for "tick."
Job
The entire sequence of steps from beginning to end, that the user
initiates from his interactive terminal or batch control file or
that the operator initiates from his operator's console. Thus,
it is a specific group of steps presented as a unit of work for
the computer. A job usually includes all necessary computer
programs, files, linkages and instructions to the operating
system.
Job Data Area (JOBDAT)
The first 140 octal locations of a user's virtual address space.
This area provides storage for certain data items used by both
the monitor and the user's program.
A-22
GLOSSARY
Job search list
The ordered list of file structures for your job that are
searched automatically when the generic device name DSK is
specified or implied in the file specification.
K
A symbol used to represent 1024 (2000 octal); for example, 32K is
equivalent to 32,768.
Kernel mode
The executive submode in the processor under which I/O and
system-wide functions operate. Code executed in kernel mode can
access and alter all of memory.
KL-paging
The method of paging memory used by the hardware of the KL
processor to extend the virtual memory space of the program to a
multiple of 256K. Refer to the Processor Reference Manual.
Label
A symbolic name used to identify a statement or an item of data
in a program.
Leader
A blank section of tape at the beginning of a reel of magnetic
tape or the beginning or end of a stack of paper tape.
Library
A file containing one or more relocatable binary modules which
may be loaded in Library Search Mode. MAKLIB is a system utility
program which enables users to merge and edit a collection of
relocatable binary modules into a library file. PIP can also be
used to merge relocatable binary modules into a library, but it
has no facilities for editing libraries.
Library search mode
The mode in which a module (one of many in a library) is loaded
only if one or more of its declared entry points satisfy an
unresolved global request.
A-23
GLOSSARY
Library search symbol (entry symbol)
A list of symbols that are matched against unresolved symbols in
order to load the appropriate modules. This list is used only in
library search mode. A library search symbol is defined by an
ENTRY statement in MACRO-10.
Line
A string of characters terminated with a vertical tab, form feed,
or line feed. The terminator belongs to the line that it
terminates.
Line feed
1. The operation that prepares for the next character to be
printed or displayed at the same (current) position on the
next line on a terminal or line printer.
2. The ASCII character with the octal code 012.
Line printer
An electro-mechanical computer peripheral which accepts a line of
characters from the computer at a high speed and then prints the
entire line in one operation.
Line
To combine independently--translated modules into one module in
which all relocation of addresses has been performed relative to
that module and all external references to symbols have been
resolved based on the definition of internal symbols.
Load
To produce a core image and/or a saved file from one or more
relocatable binary files (REL files) by transforming relocatable
addresses to absolute addresses. This operation is not to be
confused with the GET operation, which initializes a core image
from a saved file (refer to GET).
Local peripherals
The I/O devices and other data processing equipment and memory,
excluding the central processor and memory, located at the
central site.
A-24
GLOSSARY
Local symbol
A symbol known only to the module in which it is defined.
Because it is not accessible to other modules, the same symbol
name with different values can appear in more than one module.
These modules can be loaded and executed together without
conflict. Local symbols are primarily used when debugging
modules; symbol conflicts between different modules are resolved
by mechanisms in the debugging program.
Lock
An association between a job and a resource.
Locked job
A job in core that is never a candidate for swapping or
shuffling.
Logged-in UFD
The UFD that corresponds to the project-programmer number under
which the user is logged in.
Logical device name
An alphanumeric name you choose to represent a physical device.
This name can be used synonymously with the physical device name
in all references to the device. Logical device names allow
device independence in that the most convenient physical device
can then be associated with the logical name at run time.
Logical names take precedence over physical names. With the
exception of disks, only one logical name can be associated with
a physical name.
Logical record
A collection of related items stored together. It is possible to
have:
1. Several logical records stored in a single physical record.
2. Each logical record stored in a single physical record.
3. Each logical record occupy one or more physical records.
4. Logical records span several physical records, and at the
same time, have more than one logical record in a single
physical record.
A-25
GLOSSARY
LOGIN
The system program by which the system users gain access to the
computing system.
Lost time
The time that the null job was running, while at least one other
job wanted to run (was not waiting for a device) but could not
because one of the following was true:
1. The job was being swapped out.
2. The job was being swapped in.
3. The job was on disk waiting to be swapped in.
4. The job was momentarily stopped so devices could become
inactive in order to shuffle jobs in core.
Low segment
The segment of user virtual address space beginning at zero. It
contains the Job Data Area and I/O buffers. The length of the
low segment is stored in location .JBREL of the Job Data Area.
When writing two-segment programs, it is advisable to place data
locations and impure code in the low segment.
LPT
The generic device name for line printers.
MACRO
The symbolic assembly program on the TOPS-10.
Macro
A portion of code that is substituted for its name whenever its
name is invoked.
Magnetic tape
A tape with a magnetic surface on which data can be stored by
magnetizing selective portions of the surface.
MAINT.SYS
The area of the disk reserved for maintenance use only.
A-26
GLOSSARY
Mask
1. A combination of bits that is used to control the retention
or elimination of portions of any word, character, or byte in
memory.
2. On half-duplex circuits, the characters typed on the terminal
to make the password unreadable.
Master/slave system
A specific type of multiprocessing system involving two
processors where one processor has a more important role than the
other.
Master file directory (MFD)
The file created when the disk is refreshed, which contains the
names of all user file directories including itself.
Meddling
The action of attempting to modify code in a sharable high
segment.
Memory cycle overlap
The hardware feature that allows a second memory reference to be
made before data from the first reference has been received by
the processor.
Memory protection
A scheme for preventing read and/or write access to certain areas
of storage.
Metering
A technique used to perform performance analysis.
MINMAX
The minimum value for CORMAX.
Mnemonic symbol
A symbolic representation for a computer instruction or other
numeric item. All defined monitor symbols are listed in
UUOSYM.MAC.
A-27
GLOSSARY
Modes
The data modes that can be used when performing I/O.
Module
The smallest entity that can be loaded by the loader. It is
composed of a collection of control sections. In MACRO-10, the
code between the TITLE and END statements represents a module.
In FORTRAN, the code between the first statement and the END
statement is a module. In COBOL, the code between the
IDENTIFICATION DIVISION statement and the last statement is a
module.
Module origin
The first location occupied by the module in user virtual address
space.
MONGEN
The monitor generator dialogue program that enables the system
programmer to define the hardware configuration of his individual
installation and the set of software options that he wishes to
select for his system.
Monitor
The collection of programs which schedules and controls the
operation of user and system programs, performs overlapped I/O,
provides context switching, and allocates resources so that the
computer's time is efficiently used. Also called the operating
system.
Monitor command
An instruction to the monitor to perform an operation.
Mount count
The count of the number of jobs that have a certain file
structure in their active or passive search lists (plus 1 if the
structure is in the system search list).
Mounting a device
To request both the system to assign an I/O unit and the operator
to physically place the specified medium (for example, magnetic
tape reel or disk pack) on that unit.
A-28
GLOSSARY
Mounting a file structure
The process of adding a file structure to a search list. If the
file structure is not already defined and mounted, this action is
requested of the operator.
MPX-controlled device
A device connected to a multiplexed channel.
MPXable Devices
The devices that can be connected to an MPX channel are line
printers, terminals, paper-tape punches, remote data entry
devices, and pseudo-TTYs.
MTA
The generic device name referring to a magnetic tape unit.
Multiprocessing
Simultaneous execution of two or more computer programs by two or
more processors.
Multiprogramming
A technique that allows scheduling in such a way that more than
one job is in an executable state at any one time. TOPS-10 is a
multiprogramming operating system in which there are two or more
independent instruction streams that are simultaneously active
but are not necessarily simultaneously executed.
Nesting
To include a loop, a macro definition, a routine, or a block of
data within a larger loop, macro definition, routine, or block of
data.
No-op
An instruction that specifically instructs the computer to do
nothing. The next instruction in sequence is then executed.
Non-blocking I/O
In buffered modes, the program does not block while waiting for a
buffer to be filled or emptied.
A-29
GLOSSARY
Non-directory device
A device, such as unlabelled magnetic tape or paper tape, that
does not contain a file describing the names and layout of data
files.
Non-sharable segment
A segment for which each user has his own copy. This segment can
be created by a CORE or REMAP UUO or initialized from a file.
Octal
1. Pertaining to a characteristic or property in which there are
eight possibilities.
2. Pertaining to the number system with a radix of eight.
Offset
The number of locations or bytes relative to the base of an
array, string, or block. For example, the number of locations
relative to zero that a Control Section must be moved before it
can be executed.
ONCE-only time
The time at which the operator can change a number of monitor
parameters when the monitor is started up. This is done prior to
scheduling any jobs, when the ONCE program is run at system
startup.
Operand
1. The data that is accessed when an operation (either a machine
instruction or a higher level operation) is executed.
2. The symbolic expression representing that data or the
location in which that data is stored, for example, the input
data or arguments of a pseudo-op or macro instruction.
Operating system
The collection of programs that administer the operation of the
computing system by scheduling and controlling the operation of
user and system programs, performing I/O and various utility
functions, and allocating resources for efficient use of the
hardware.
A-30
GLOSSARY
OPR
The operator's control program to monitor and maintain the GALAXY
batch and spooling system (Version 4.1 and later), and the DECnet
network environment (Version 3 or later).
OPSER
The OPerator SERvice program that allows multiple job control
from a single terminal.
Output
1. Pertaining to a device, process, or channel involved in an
output process (that is, the process of transferring data
from memory to a peripheral device).
2. The data that has been transferred from memory to a medium
readable by a person (such as line printer listings).
Pack
1. To compress data in memory or on a peripheral storage device
by taking advantage of known characteristics of the data so
that the original data can be recovered.
2. A disk pack (that is, a removable set of disks mounted on a
common shaft).
Packet
A group of words or block of data passed from one program to
anothers cooperating program. This is accomplished through use
of the IPCF facility or through task-to-task network
communication.
Pack-ID
A 6-character SIXBIT name or number used to uniquely identify a
disk pack.
A-31
GLOSSARY
Page
1. Any number of lines terminated with a form feed character.
2. The smallest mappable unit of core storage. On the KL10
processor, a page is 512 continuous words in core starting on
boundaries which are even multiples of 512. It is also the
smallest allocatable unit of memory. KL10 operations allow
programs to be composed of up to 512 pages scattered within
core.
3. To selectively remove parts of a user's program from core
memory.
Paper tape
A tape on which data is represented by specific patterns of
punched holes.
Parameter
A variable that is given a constant value for a specific purpose
or process, for example, an input argument to a subroutine or
command, or a value specifically assigned to a symbol in an
assembly in order to control exactly what code is assembled.
Parity bit
A binary digit attached to a group of bits to make the sum of all
the bits always odd (for odd parity) or always even (for even
parity).
Parity check
A check that tests whether the number of ones or zeros in an
array of binary digits is correct. This check helps ensure that
the data read has not been unintentionally altered.
Passive search list
An unordered list of the file structures that have been in the
job's active search list but have been removed without ever
having been dismounted. This list is maintained by the SETSRC
program and is use for accounting purposed when you log out.
Password
The character string assigned to a user; it is known only to the
user, the installation administration, and the monitor system.
The password is used to verify that a user is entitled to run a
job under a specific project-programmer number.
A-32
GLOSSARY
Path
See directory path.
Pathological name
The logical name associated with a directory path. The
pathological name refers to the list of structures and
directories (STR:[UFD,SFD1,SFD2,...,SFD5]) to be searched any
time the pathological name is specified as the device in the file
specification.
PC
See "program counter."
Peripheral equipment
Any unit of equipment, distinct from the central processing unit,
the console, and the memory, that can provide input to, or accept
output from, the computer.
Per-process space
The portion of monitor memory used to store data specific to user
jobs. Also called "funny space."
PHB
Packet Header Block used to store information when using IPCF.
Physical address space
A set of physical memory locations where information is actually
stored for the purpose of program execution. (As opposed to
virtual memory addresses, which may be mapped, relocated, or
translated to produce a physical memory address in the hardware
memory units. This physical address is 22 bits long on the
DECsystem-10.
Physical device name
The name of a specific peripheral unit. It is a SIXBIT name
consisting of 3 to 6 characters. Examples: FHA0, FHA1, DPA0,
DPA7, LPT0, DTA3.
PI
See "priority interrupt."
A-33
GLOSSARY
PID
A Process IDentifier is used to identify a system program that is
the target of communication using the IPCF facility.
PIT
PSI system's internal data base.
PLT
The generic device name for plotter.
PMB
The Packet Message Block where user data is stored to be sent to
another program, using IPCF.
Pointer
1. A location or register containing an address rather than
data. A pointer may be used in indirect addressing or in
indexing.
2. An instruction indicating the address, position, and length
of a byte of information (such as a byte pointer).
Policy CPU
In a symmetric multi-processing system, the CPU that provides
system initialization and other overhead functions for the rest
of the central processors.
Pool
One or more logically complete file structures that provide file
storage for the users and that require no special action on the
part of the user.
Pooled Resource
A pooled resource occurs when multiple copies of a resource
exist. You specify that a resource is to be a pooled resource
with the ENQ. monitor call.
Positioning operation
On the TOPS-10, the operation of moving the read-write heads of a
disk to the proper cylinder prior to a data transfer. This
operation requires the control for several micro-seconds to
initiate activity, but does not require the channel or memory
system.
A-34
GLOSSARY
Prime RIB
The first retrieval information block (RIB) of a file. This
block contains all file attributes and pointers to data blocks on
disk. Refer to RIB definition.
Priority interrupt
An interrupt that usurps control of the computer from the program
or monitor and jumps to an interrupt service routine if its
priority is higher than the interrupt currently being serviced.
Privileged program
1. Any program running under project number 1, programmer number
2.
2. A monitor support program executed by a monitor command which
has the JACCT (job status) bit set, for example, LOGOUT.
Process
A collection of segments that perform a particular task. Usually
synonymous with "job," "program," or "task."
Program
1. The complete plan for the solution of a problem, more
specifically the complete sequence of machine instructions
and routines necessary to solve a problem.
2. A collection of routines which have been linked and loaded to
produce a saved file or a core image. These routines
typically consist of a main program and a set of subroutines,
some of which may have come from a library.
Program counter (PC)
A register that contains the address from which the next
instruction to be executed is fetched. At the beginning of each
instruction on a PDP-10, the PC normally contains an address that
is one greater than the location of the previous instruction.
Programmed operators
Instructions which, instead of performing a hardware operation,
cause a jump into the monitor system or the user area at a
predetermined point and perform a software operation. The
monitor (or special user code) interprets these entries as
commands from the user program to perform specified operations.
A-35
GLOSSARY
Program origin
The location assigned by LINK to relocatable zero of a program.
Program trap
One of the software-defined operation codes which, when decoded
by the processor, causes the next instruction to be executed from
a specified address.
Project-programmer number
Two octal numbers, separated by commas, which, when considered as
a unit, identify the user and his file storage area on a file
structure.
Protected location
1. A storage location which cannot be accessed in a certain
context. For example, a write-protected location cannot be
written into.
2. A storage location reserved for special purposes in which
data cannot be stored without undergoing a screening
procedure to establish suitability for storage therein.
Protection address
The maximum relative address that the user can reference.
Protection code
Each file has a protection code that indicates who may or may not
access the file, in the form <opa>, where o is an octal digit
representing accessability to the owner of the file, p is the
digit for members of the same project (possessing the same
project number in their PPN), and a is the digit for all other
users. Each octal digit represents the level of access allowed
to the appropriate type of user, from 0, allowing any type of
access, to 7, allowing no access to other users. Note that the
owner can always change the protection code associated with the
file.
PSI System
Programmable software interrupt system.
Pseudo-op
An operation that is not part of the computer's operation
repertoire as realized by hardware; hence, an extension of the
set of machine operations. In MACRO, pseudo-ops are directions
for assembly operations.
A-36
GLOSSARY
Pseudo-terminal
A simulation of a terminal device generated by the software to
accept commands from a data base rather than a physical input
device.
PTP
The generic device name used to refer to the paper tape punch.
PTR
The generic device name used to refer to the paper tape reader.
PTY
The generic device name used to refer to a pseudo-terminal.
Public disk pack
A disk pack belonging to the storage pool and whose storage is
available to all users who have quotas on it.
Public mode
The user submode on the processor.
Pure code
Code which is never modified in the process of execution.
Therefore, it is possible to let many users share the same copy
of a program.
Pushdown list
A list that is constructed and maintained so that the next to be
retrieved is the most recently stored item in the list. Also
called "stack" and first-in/last-out (FILO) list.
Pushup list
A list that is constructed and maintained so that the next item
to be retrieved and removed is the oldest item in the list. Also
known as a first-in/first-out (FIFO) list.
Quantum time
The processor time given to each job when it is assigned to run.
A-37
GLOSSARY
Queue
A list of items waiting to be scheduled or processed according to
system, operator, or user-assigned priorities. Examples: batch
input queue, spooling queues, monitor scheduling queues.
QUOTA.SYS
The file that contains a list of users and their quotas for the
private file structure on which the file resides. Created using
PULSAR.
Random access
A process having the characteristic that the access time is
effectively independent of the location of the data.
RDA
The generic device name used to refer to a Remote Data terminal.
Read
Input data from a file.
Record
A collection of adjacent related items of data treated as a
logical unit.
Record gap
An area on a data medium between consecutive records. It is
sometimes used to indicate the end of a block or record.
Recursive
A repetitive process in which the result of each process is
dependent upon the result of the previous one.
Reentrant program
A program consisting of sharable code which can have several
simultaneously independent users.
Refresh
To remove all files from a file structure and to build the
initial set of files based on information in the HOME block.
A-38
GLOSSARY
Relative address
The address before hardware or software relocation is added.
REL file
A file containing one or more relocatable object modules.
Relocatable address
An address within a module which is specified as an offset from
the first location in that module.
Relocate
1. To move a routine from one portion of storage to another and
to adjust the necessary address references so that the
routine can be executed in its new location.
2. To convert a relocatable binary module to an absolute binary
module.
Relocation counter
1. The number assigned by LINK-10 as the beginning address of a
Control Section. This number is assigned in the process of
loading specific Control Sections into a saved file or a core
image and is transformed from a relocatable quantity to an
absolute quantity.
2. The address counter that is used during the assembly of
relocatable code.
Relocation factor
The contents of the relocation counter for a control section.
This number is added to every relocatable reference within the
Control Section. The relocation factor is determined from the
relocatable base address for the control section (usually 0 and
400000) and the actual address in user virtual address space at
which the module is being loaded.
Remote access
Pertaining to communication with a data processing facility by
one or more stations that are distant from that facility.
Remote peripherals
The I/O devices and other data processing equipment that are
located at the site of the remote station.
A-39
GLOSSARY
Removing a file structure
The process of physically removing a file structure from the
system. This is requested with the REMOVE switch in the DISMOUNT
command string and requires the operator's approval.
Resource
Any entity within the system. The actual definition of a
resource is defined by the job(s) using that resource. Refer to
ENQ/DEQ.
Response time
The time between the generation of an inquiry or request and the
receipt of the response or the accomplishment of the requested
action.
Restricted device
Your program can use a restricted device only if it is assigned
to you by a privileged job. You ask for this assignment by
issuing the MOUNT command.
Retrieval Information Block (RIB)
The block that contains pointers to all the groups in a specific
file. Each file has two copies of the RIB, one in the first
block of the first group and the second in the block following
the last data block in the last group of the file.
Return
1. The set of instructions at the end of a subroutine that
transfers control to the proper point in the calling program.
2. The point in the calling program to which control is
returned.
3. Informally, the carriage-return/line-feed sequence. Refer to
CRLF.
RIB
See Retrieval Information Block.
Routine
A set of instructions and data for performing one or more
specific functions.
A-40
GLOSSARY
Run
To transfer a save file from a device into core and to begin
execution.
SAT.SYS
The Storage Allocation Table file which contains a bit for each
cluster in the file structure. Clusters which are free are
indicated by zero and clusters which are bad, allocated, or
nonexistent are indicated by one.
Save
To produce a file from a core image of a program in memory. This
results in an executable file that can be loaded and run without
relocation.
Scan
The process of examining and parsing a text string. The SCAN
program parses commands for the monitor.
Search
1. The process of locating an object by examining each object in
the set to determine if it is the desired object or if the
desired object exists.
2. The process by which the disk controller reads sector heads
to find the correct sector. The second step in the transfer
operation.
Search List
A list of the file structures that may be searched when files are
referenced. (One of the ALL Search List, Job Search List, or SYS
Search List.)
Secondary storage
Low speed magnetic storage such as disks or drums.
Sector
A physical portion of a mass storage device.
A-41
GLOSSARY
Segment
An absolute Control Section. A logical collection of data,
either program data or code, that is the building block of a
program. The monitor keeps a segment in core and/or on the
swapping device.
Segment resident block
A block that contains all the information that the monitor
requires for a particular segment.
Service routine
A routine in general support of the operation of a computer.
SETSRC
A program that allows the user to list or change his search list.
SFD (sub-file directory)
A directory pointed to by a UFD or a higher-level SFD. Each user
has a UFD. Within that, he may have as many SFDs as he wishes.
Sharable segment
A high segment that can be used by several programs at a time.
Shared code
Pure code residing in a shared segment.
Sharer's Group
A subset of those jobs desiring shared ownership of a particular
resource.
Simultaneous Update
Allowing more than one cooperating job to update a file.
Single access
The status of a file structure that allows only one particular
job to access the file structure. This job is the one whose
project number matches the project number of the owner of the
file structure.
A-42
GLOSSARY
SIXBIT code
A 6-bit code in which textual information is recorded. It is a
compressed form of the ASCII character set, and thus not all of
the characters in ASCII are available in SIXBIT, notably the
nonprinting characters and the lower case letters are omitted.
The range of SIXBIT code is 00 to 77 (octal) which is equal to 40
through 137 (octal) in ASCII.
Skip
The process by which an instruction, macro or subroutine causes
control to bypass one instruction and proceed to the next
instruction.
Software Interrupt System
Interrupts the sequential flow of program execution under a
variety of conditions. Also called PSI system.
Spooling
The technique by which output to slow-speed devices is placed
into queues on faster devices (such as disk) to await
transmission to the slower devices; this allows more efficient
use of the computer.
Storage Allocation Table
A file reflecting the status of every addressable block on the
disk (SAT.SYS).
String
A set of contiguous items of a similar type. Generally strings
are sequences, of variable or arbitrary length; of bits, digits,
or characters.
STRLST.SYS
The administrative file that describes each file structure in the
system. This file is used by the MOUNT command.
Structure
A File Structure.
Sub-File Directory
An extension of the user-file directory that allows the user to
categorize his files into sub-groups.
A-43
GLOSSARY
Subroutine
A routine designed to be used by other routines to accomplish a
specific task.
Super-cluster
A contiguous set of one or more clusters introduced to compress
the file pointer for large units into 18 bits. Refer to
compressed file pointer.
Super-USETI
A style of reading a disk unit or file structure by giving
absolute addresses rather than locations within a file.
Supersede
To open a file for writing, write the file, and close the file
when an older copy of the same name already exists. Only one
user at a time may supersede a given file at any one time. The
older copy of the file is deleted when all users are finished
reading it.
Supervisor mode
The executive submode of the processor. Similar to public mode;
however, code executed in supervisor mode is able to access, but
not alter, concealed mode code.
SWAP.SYS
The file containing the swapping area on a file structure.
Swapping
1. The technique in multiprogramming of running more jobs than
there is physical memory for, by storing some of the jobs on
secondary storage when they are not executing.
2. The action of moving user programs between core and secondary
storage.
Swapping class
A category of swapping units distinguished from other categories
of swapping units according to speed. Class 0 contains the
fastest swapping units.
Swapping device
Secondary storage that is suitable for swapping, usually a
high-speed disk or drum.
A-44
GLOSSARY
Switch
1. The part of a file specification which is preceded by a
slash.
2. One of several physical controls on the operator's console.
3. A flag used to control the path of execution within programs.
Symbol
Any identifier used to represent a value that may or may not be
known at the time of its original use in a source language
program. Symbols appear in source language statements as lables,
addresses, operators, and operands.
Symbolic address
An address used to specify a storage location in the context of a
particular program. Symbolic addresses must then be translated
into relocatable (or absolute) addresses by the assembler.
Symbol table
A table containing entries and binary values for each symbol
defined or used within a module. This table generally contains
additional information about the way in which the symbol was
defined in the module.
SYS
A system-wide logical name for the system library. This is the
area where the standard programs of the system are maintained.
SYS search list
The file structure search list for device SYS. This is also used
for several of the ersatz devices because it is a constant,
well-ordered list.
SYSTAT
A program that outputs to the user's terminal status information
on the system as a whole, on selected aspects of the system, or
on a selected job or set of jobs.
A-45
GLOSSARY
Terminal
A device, normally consisting of both a keyboard and printing (or
display) mechanism, that is used to enter information into a
computer and to accept output from a computer. When it is used
as a timesharing terminal, the computer to which it is connected
can be very close or many miles away.
Tick
See Jiffy.
Total user core
The amount of physical core which can be used for locked and
unlocked jobs. This is all of the physical core minus the core
size of the monitor.
Track
The portion of a moving storage medium, such as disk, drum, or
tape, that is accessible to a given reading head position.
Transfer operation
The hardware operation of connecting a channel to a controller
and a controller to a unit for passing data between the memory
and the unit. The transfer operation involves verification,
search, and actual transfer.
Translate
To compile or assemble a source program into a machine language
program, usually in the form of a (relocatable) object module.
Trap
An unprogrammed conditional jump to a known location,
automatically activated by a side effect of executing a processor
instruction. The location from which the jump occurred is then
recorded. It is distinguished from an interrupt which is caused
by an external event.
Trap Servicing Routines
Allow programs to handle errors while a program is running. Some
of the errors that can be handled in this manner are illegal
memory references, and pushdown list overflows.
A-46
GLOSSARY
TSK
The generic device name for the device used to refer to one
program involved in inter-task communication with another
program.
Two's complement
A number used to represent the negative of a given value. This
number is obtained by substituting a zero for each one and a one
for each zero in the bit configuration of the binary number and
adding one to the result.
UFD
1. A file whose entries are the names of files existing in a
given project-programmer number area within a file structure.
2. The top-level directory for each user. Also, the top-level
directory for the ersatz devices which appear as one
directory.
Unconditional transfer
An instruction which transfers control to a specified location.
Unit
The smallest portion of a device that can be positioned
independently from all other units. Several examples of units
are: a disk, a disk pack, and a drum.
Universal Device Index (UDX)
A number used to identify any device on the system. The monitor
assigns the device a UDX when your program issues an IONDX.
monitor call.
Update
To open a file for reading and writing simultaneously on the same
software channel, rewrite one or more blocks in place, and close
the file.
User's program
All of the data and code running in a user virtual address space.
User file directory
See UFD.
A-47
GLOSSARY
User I/O mode
1. The central processor mode that allows a user program to be
run with automatic protection and relocation in effect, as
well as the normal execution of all defined operation codes
(including I/O instructions).
2. The monitor mode which allows a job to run with the I/O mode
hardware on.
User library
Any user file containing one or more relocatable binary modules
of which some or all can be loaded in library search mode.
User mode
A central processor mode during which instructions are executed
normally except for all I/O and HALT instructions, which return
control to the monitor. This makes it possible to prevent the
user from interfering with other users or with the operation of
the monitor. Memory protection and relocation are in effect so
that the user can modify only his area of core.
User virtual address space
A set of memory addresses within the range of 0 to 256K-1 words.
These addresses are mapped into physical core addresses by the
paging or relocation-protection hardware when a program is
executed.
UUO
Refer to programmed operators (Unimplemented User Operations).
Variable
Any entity that can assume any of a given set of values. When
stored in core, a variable can occupy part of a core location,
exactly one core location, or more than one core location.
Vestigial job data area
The first 10 (octal) locations of the high segment used to
contain data for initializing certain locations in the job data
area. These locations are usually 400000-400007 (octal)
inclusive.
A-48
GLOSSARY
Wildcard construction
A technique used to designate a group of files without
enumerating each file separately. The file name, extension, or
project-programmer number in a file specification can be replaced
totally with an asterisk or partially with a question mark to
represent the group of files desired.
Word
An ordered set of bits which occupies one storage location and is
treated by the computer circuits as a unit. The word length of
the DECsystem-10 is 36 bits. This means that it is possible to
store 36 bits of information at each memory address and to
transfer all 36 bits between memory and the CPU at the same time.
Working set
The collection of pages in physical core immediately accessible
to a job. Pages in core, but with the accessiblity bit off are
also included in the working set.
Zero compression
The technique of compressing a core image by eliminating
consecutive blocks of zeros and replacing them with an indication
of the number of words of zeros that were removed.
Zero length module
A module containing symbol definitions but no instruction or data
words (for example, JOBDAT). Note that the word "length" in this
context refers to the program length of the module after loading.
A-49
APPENDIX B
.EXE FILES
An .EXE file consists of a directory page followed by one or more
pages of data.
The data in the directory page consists of a variable number of
chunks. Each chunk starts with a word containing a code in the left
half and a count of the number of words in the chunk in the right
half. The following codes are defined:
1775 .SVSTA Entry vector block.
1776 .SVDIR Directory.
1777 .SVEND End of directory.
B.1 THE DIRECTORY
The directory for an .EXE file starts with a .SVDIR header word and
contains one or more 2-word entries that map the pages of the .EXE
file into a process' address space. This format is represented in the
following diagram.
|=======================================================|
| 1776 | Short Count |
|=======================================================|
.SVFPF |Flags | | Page Number |
|-------------------------------------------------------|
.SVPPC |Repeat Cnt | |Process Page |
|=======================================================|
\ \
. . .
\ \
|=======================================================|
.SVFPF |Flags | | Page Number |
|-------------------------------------------------------|
.SVPPC |Repeat Cnt | |Process Page |
|=======================================================|
B-1
.EXE FILES
The format of each .SVFPF word is as follows:
Bits Symbol Meaning
B0 SV%HIS Page is in high segment.
B1 SV%SHR Page is sharable.
B2 SV%WRT Page is writable.
B3 SV%CON Page is concealed.
B4 SV%SYM Page is part of symbol table.
5-22 Reserved.
23-35 The page number in the .EXE file at which the
page starts.
The format of each .SVPPC word is as follows:
Bits Symbol Meaning
0-8 SV%REP Repeat count (the number of contiguous pages
minus 1 that are described by this entry).
9-22 Reserved.
23-35 SV%PPN The process page number into which the page
should be loaded.
B-2
APPENDIX C
FILE DAEMON
The File Daemon provides extended file protection. The File Daemon
described in this appendix is a prototype that you may use to help you
in understanding the monitor support for this feature. The File
Daemon is supplied only to serve as a prototype for the File Daemon
you may desire at your installation.
Each installation will have varying types of accounting and file
security measures. Therefore, each installation's File Daemon may be
written to account for these differences and varying requirements.
The DIGITAL-supplied, prototype File Daemon supports access lists and
access logging that is performed on a user's or a system
administrator's request.
C.1 USER INTERFACE
The File Daemon allows any user to specify who can and who cannot
access his files. Each user may create a file named ACCESS.USR (which
is described in Section C.3). This file optionally lists the names of
some or all of that user's files and specifies, on an individual file
basis, the users who can and cannot access those files. Under
specific conditions, the File Daemon examines the user's ACCESS.USR
file and may record information, in a separate file called ACCESS.LOG,
regarding specific access requests to the listed files. Note that
ACCESS.USR can be created only by the owner of the particular
directory or by a job logged in under [1,2].
C.2 THE FILE DAEMON
The monitor calls the File Daemon (only if the monitor feature test
switch F%FDAE = -1) each time that someone tries to access a file that
has a 4, 5, 6, or 7 protection code in the owner's protection code
field and the access fails due to a file protection error or due to a
directory protection error.
C-1
FILE DAEMON
For example, if you protect a file against a specific user and that
user attempts to access your file (with a LOOKUP, ENTER, RENAME, or
FILOP. monitor call), the monitor suspends the execution of the
accessing user's program and it sends a message to the File Daemon.
This message includes the type of access the user is attempting and
that user's project-programmer number. The monitor gives control to
the File Daemon, which looks for your file called ACCESS.USR.
ACCESS.USR must be on the same file structure and in the same
directory area as the file being accessed.
After examining ACCESS.USR, the File Daemon returns to the monitor the
highest type of access you have specified that the user attempting
access to your file may have. Then, the File Daemon logs the access
request in ACCESS.LOG (if you set the /LOG switch in your ACCESS.USR
file; refer to Table C-1).
All of this occurs, even when you attempt to access your own files, if
a file has a 4, 5, 6, or 7 protection code in the owner's protection
code field. However, as the file's owner, you can read your file and
change the file's protection code without having the File Daemon
called. Depending on the information you specified in your ACCESS.USR
file, the File Daemon either grants or denies access to the accessing
user.
If the monitor attempts to pass control to the File Daemon, but the
File Daemon is not running, the monitor denies access to the file
unless the program attempting access has full file access rights
([1,2] or JACCT). The same result occurs when one of the following
conditions occurs:
1. The File Daemon cannot find ACCESS.USR in the same path as
the file being accessed.
2. The File Daemon cannot find ACCESS.USR in a higher-level
directory, when it scans up the directory structure.
If the File Daemon finds ACCESS.USR but cannot find the name of the
accessed file in ACCESS.USR, the File Daemon denies file access to the
accessing user. The File Daemon also denies access to the accessing
user if the File Daemon finds he specified filename in ACCESS.USR but
the project-programmer number does not match any of the
project-programmer numbers you have specified that may access your
file.
All files listed in your ACCESS.USR are assumed to be in the same User
File Directory (UFD) as the file named ACCESS.USR. However, if your
ACCESS.USR is in your UFD and it describes the type of accesses to be
allowed to files contained in the SFDs, the accessing user must
specify the full path to the file in the SFD before the File Daemon
will consider the file specification to match.
C-2
FILE DAEMON
The File Daemon treats all file accessors the same. All accesses to a
file having a 4, 5, 6, or 7 protection code in the owner's protection
code field cause the File Daemon to be called when a protection error
results. The File Daemon is always called when a protection error
occurs as a result of the directory protection code. Because of this
equal treatment, you should not do the following:
1. If a [1,2] job attempts to access a file that is protected
such that the File Daemon is called, that job may be denied
access to the file. This is a possible problem, for example,
if the [1,2] job is BACKUP and you have denied (either
implicitly or explicitly) these programs access to your
files. When you do this, your file will not be backed up on
magnetic tape. Therefore, you must accept the responsibility
of backing up your own files.
2. In general, full file access programs will not be allowed to
read your files. Therefore, under most circumstances, QUEUE
would not be allowed to queue a file that was protected such
that the File Daemon was called.
3. If the file's owner protection code field is such that the
File Daemon is called and the owner has neglected to include
his own project-programmer number in ACCESS.USR for this
file, the File Daemon grants the owner the same type of
access as if a 7 were in the owner's protection code field
(that is, the owner can only read the file or change the
file's protection code.)
4. ACCESS.USR files may be restored at arbitrary times.
Therefore, operators should not perform a full restore of the
disk using BACKUP when the File Daemon is running. If such a
full restore is done, the action may not allow BACKUP to
restore files that ACCESS.USR allows them to BACKUP.
5. The CHKACC monitor call tells a program what a user's file
access privileges are. Therefore, by using CHKACC, a program
can tell if the File Daemon will be called, but it will not
know the access privileges returned by the File Daemon.
C-3
FILE DAEMON
C.3 ACCESS.USR
Every user can create his own ACCESS.USR file. Note that ACCESS.USR
files can be created only by the owner of the specific directory or a
[1,2] job. ACCESS.USR is made up of one or more 'command lines'. You
must write each command line in the following format:
file-spec/switches=[ppn]/switches,...,[ppn]/switches
The file-spec is a full file specification (that is, device:
filename.extension [path]). The File Daemon scans each line in
ACCESS.USR until it matches a file specification on the left of the
equal sign and a project-programmer number on the right. All access
rights will then be determined by that line (there will be no
continued scan). The user should minimally specify one of the
switches synonymous with protection codes (such as, READ, EXECUTE,
ALL,...) for that file specification; refer to Table C-1. If you do
not specify a switch, a default of /NONE is provided. The possible
switches are listed in Table C-1.
C-4
FILE DAEMON
Table C-1: ACCESS.USR Switches
Switch Meaning
/LOG This switch causes the File Daemon to log any
/NOLOG access attempt in the file named ACCESS.LOG. If
you specify this switch, the File Daemon appends
a LOG entry to the end of ACCESS.LOG, which is
found in the same directory as your ACCESS.USR.
The log entry includes the following:
o the date of the access
o the time of the access
o the job number of the accessing job
o the project-programmer number and name
associated with the accessing job
o the name of the accessing program
o the type of access attempted
o the full file specification of the access
file
o the access permitted, detailing whether
access was permitted to the file
If you also specify the /EXIT or /CLOSE switch,
the File Daemon includes the following
information in the LOG entry (both the initial
entry and when the file is closed:
o the accessing job's run time
o kilo-core-seconds
o disk reads
o disk writes
If the File Daemon cannot find ACCESS.LOG in
your area, it creates one, giving it the same
protection code as your ACCESS.USR. Note that
the File Daemon can always access ACCESS.USR and
ACCESS.LOG.
C-5
FILE DAEMON
Table C-1: ACCESS.USR Switches (Cont.)
Switch Meaning
/LOG:n This switch allows the File Daemon to log access
attempts based on the switch value. The
following are the legal switch values:
ALL Log all accesses attempted
(same as /LOG).
NONE Do not log any accesses (same
as /NOLOG).
SUCCESSES Log only those accesses that
were permitted.
FAILURES Log only those accesses that
were not permitted.
/CLOSE If you specify the /LOG switch and the /CLOSE
/NOCLOSE switch, the File Daemon makes the log entry when
the file is closed.
/EXIT If the accessing program is executing and you
/NOEXIT have specified the /LOG and /EXIT switches, the
File Daemon makes the log entry when the program
has finished execution.
/CREATE This switch allows a user who would ordinarily
/NOCREATE not be allowed to create files in your directory
to do so. This switch is used in conjunction
with one of the ACCESS.USR switches that are
synonymous with protection codes (such as
/RENAME). This switch can appear on either side
of the equal sign. An example of a command line
with the /CREATE switch is as follows:
WONDER.TST=[10,3333]/CREATE/NONE
This command line allows any user to create a
file called WONDER.TST in your directory, but
none of these users may have any other access to
that file.
Another example is
WOND.TST=[10,10]/CREATE/READ,[*,*]/NONE
This command line prevents all users from
accessing the file WOND.TST, but allows user
[10,10] to create a file called WOND.TST.
C-6
FILE DAEMON
Table C-1: ACCESS.USR Switches (Cont.)
Switch Meaning
/PROT:nnn This switch specifies the protection code with
which a file will be created. This switch is
allowed only on the left side of the equal sign.
The value nnn must be an octal number in the
range 0-777. The file is created with the
specified protection code if the following
conditions occur:
1. You specify the /PROTECTION switch.
2. The File Daemon is called because a user
attempted to create a file in a directory
protected against that user.
3. The File Daemon allows the user to create
the file (determined by the contents of
ACCESS.USR).
/PROG:file This switch allows the specified program to have
the desired type of access to the file. This
switch can appear only on the right side of the
equal sign in the command line. For example:
ONE.TST/READ=[10,10],[10,65]/WRITE,[1,2]-
#/PROGRAM:SYS:BACKUP
This command line specifies that [10,10] jobs
can read ONE.TST, and [10,65] jobs can read and
write ONE.TST, a job logged in under [1,2]
running BACKUP can read the file. No one else
can access ONE.TST.
You may omit the device specification or you may
specify DSK: or ALL: in the filespec argument
to the /PROGRAM switch. However, this is not a
recommended procedure because there may be
potential security violations. The File Daemon
has no knowledge of your search list; therefore,
the File Daemon treats DSK: identically to
ALL:. It is recommended that the device name be
either a file structure name or an ersatz device
name (LIB: is not allowed, however).
C-7
FILE DAEMON
Table C-1: ACCESS.USR Switches (Cont.)
Switch Meaning
/XONLY This switch, when it appears in conjunction with
the PROGRAM switch, considers the specified
program to match the program doing the
accessing, only if the accessing program is
Execute-only.
/ALL This switch specifies that ALL access to the
file is allowed. Specified accessors of this
file can change the protection code for the
file, rename, write, execute, update, and append
to the file. (This is equal to protection code
0.)
/RENAME This switch specifies that rename access is
allowed. Specified accessors of this file can
rename, execute, write, read, update, or append
to the file. (This is equal to protection code
1.)
/WRITE This switch specifies that write access is
allowed. Desired accessors of this file can
write, read, execute, update, and append to the
file. (This is the same as protection code 2.)
/UPDATE This switch specifies that update access is
allowed. Specified accessors of the file can
update, append, read, and execute the file.
(This is equal to protection code 3.)
/APPEND This switch specifies that append access is
allowed. Specified accessors of this file can
append, read, or execute the file. (This is the
same as protection code 4.)
/READ This switch specifies that read access is
allowed. Specified accessors of this file can
read or execute the file. (This is the same as
protection code 5.)
/EXECUTE This switch specifies that execute access is
allowed. Specified accessors of this file can
only execute the file. (This is the same as
protection code 6.)
/NONE This switch specifies that no access is allowed
to the file. (This is the same as protection
code 7.)
C-8
FILE DAEMON
You create an ACCESS.USR file to specify for each file which
project-programmer numbers can access the file and what type of access
those accessors can have. The switches indicate the type of access
allowed.
Switches appearing on the left side of the equal sign affect all
project-programmer numbers appearing on the right side of the equal
sign. However, with the exception of the /PROTECTION switch, the
switch on the left side can be overridden for one or more
project-programmer numbers specified on the right side of the equal
sign. You can override the switches by explicitly specifying another
switch. For example, if the following line appeared in your
ACCESS.USR file:
TST.TST/ALL=[10,*],[11,*],[27,*],[17,*]/NONE
The File Daemon would allow all members of projects 10, 11, and 27
complete access to the file TST.TST. However, the File Daemon would
not allow members of project 17 to access TST.TST. For
project-programmer numbers other than 10, 11, 27, 17, the File Daemon
will search for a later TST.TST that contains the accessing job's
project-programmer number. If no match is found, the File Daemon
denies the accessing user's request.
Full wildcard specifications are allowed both on the left and right
sides of the equal sign. Comments and continuation lines are allowed
in ACCESS.USR. A comment must begin with a semicolon or an
exclamation point. A continuation line is indicated by inserting a
hyphen (minus sign) immediately proceeding the carriage return that
terminates a line. If there is a syntax error in a line in
ACCESS.USR, the File Daemon ignores that line. You should insure the
accuracy of your own ACCESS.USR files by proofing carefully. If the
following line were in your ACCESS.USR file:
FOO.BAR+[*,*]
The File Daemon would ignore the line because a + sign appears where
an = sign should appear. The File Daemon would deny access to all
users desiring access to FOO.BAR, since the File Daemon denies access
to all files whose names do not appear in ACCESS.USR. Since the File
Daemon ignores the line, it does not know that FOO.BAR is listed in
the file.
The following is an example of an ACCESS.USR file that uses most of
the features of the File Daemon.
Directory user = [13,675]
Directory protection = <700>
C-9
FILE DAEMON
File Protection
ACCESS.USR <777>
ACCESS.LOG <777>
F1.TST <077> File Daemon will not be called.
F2.TST <457> Project members may READ, otherwise
call File Daemon.
F3.TST <477> Only owner may access without File
Daemon.
F4.TST <777> Call File Daemon on all accesses.
ACCESS.USR
ACCESS.*/NONE=[*,*] ;No one can touch ACCESS.USR and
ACCESS.LOG including [1,2] and
JACCT users. Note that these files
cannot be backed up if the File
Daemon is running.
ALL:*.*/READ/LOG=[1,2]/PROGRAM:SYS:BACKUP/XONLY
;Allow access from BACKUP (from
SYS, execute only, and running
under [1,2] to read the file and to
make LOG entry.
F?.TST/LOG=[10,11]/NONE,[10,*]/EXECUTE/EXIT
;Log all access attempts. No
access allowed to [10,11], but
other project members [10,*] can
execute the file. Log entries are
made when the accessing program
exits.
*.*/CREATE/PROTECTION:055=[12,21]/ALL,[12,17]
;[12,21] has privileges for all
files (except ACCESS.*) and may
create files that have a protection
of 055. [12,17] cannot access any
file (/NONE is a default) but may
create files. No log entries will
be made.
*.*/CREATE/PROTECTION:777/LOG=[123,456]/NONE
;[123,456] may create files at will
but may not access them (such as a
student turning in homework).
C-10
FILE DAEMON
File Protection
*.*[13,675,A]/ALL/PROTECTION:057/CREATE=[1,2]/LOG
;[1/2] has all privileges in this
SFD and may create files with a
protection code of 057.
[13,675].UFD/LOG/READ=[*,*] ;Anyone may read this directory as
a file.
F3.TST/LOG=[12,3]/EXECUTE
*.*/LOG=[12,3]/NONE ;[12,3] can only execute F3.TST.
*.*=[*,*]/NONE ;No other access is granted and no
LOG entry is made.
Note that entries are scanned from left to right and top to bottom.
The scan stops on the first match of a file name on the left side of
the equal sign and a project-programmer number on the right side of
the equal sign.
When you create your ACCESS.USR file, you should take care to see that
a wild card specification will not match in a line earlier than a
specific specification in a later line. As a general rule, place
specific statements first in the ACCESS.USR file, followed by more
general "catch all" statements. If you want to log entries, you must
use the /LOG switch (and any of the other switches) on every line for
which that switch applies.
C.4 MONITOR INTERFACE TO A FILE DAEMON
A File Daemon is a privileged program that can be used for the
following purposes:
1. overseeing file accesses
2. aiding in proprietary billing
3. tracking program usage
The interface between the monitor and the File Daemon that is
described in this section is supplied and supported by Digital.
There is a privileged program called the File Daemon. Digital
supplies one unsupported version of a File Daemon, which is described
in the preceding sections of this appendix. But, each installation
should write its own File Daemon, because each installation will vary
on its requirements for such a program.
C-11
FILE DAEMON
When a File Daemon is running, the monitor calls it every time someone
tries to access a file or a directory that has a 4, 5, 6, or 7 code in
the owner's protection code field and the access fails due to a
protection error. So that the monitor knows there is a File Daemon,
the following must occur:
1. The feature test switch F%FDAE must be set to -1, to enable
the condition.
2. The program that will be the File Daemon must be privileged
(that is, it must be running under [1,2] or running with the
JACCT bit set).
3. This program must send an IPCF request to [SYSTEM] IPCC (code
6, .IPCSC) requesting a special PID.
4. This program must then send a request to [SYSTEM]IPCC
specifying code 24 (.IPCWP). This code requests that the
File Daemon's PID be entered in the Special PID table.
After each request to [SYSTEM]IPCC, the File Daemon receives
verification that the function occurred. After the verification
resulting from the File Daemon specifying code 24, the monitor sends
an IPCF packet to the File Daemon each time that a protection failure
occurs on a file or a directory.
The message portion of the IPCF packet that the monitor sends to the
File Daemon when a protection failure occurs has the following format:
| +---------------------------------------------------------------------+
| | Type of access | Code |
| |---------------------------------------------------------------------|
| | File structure name |
| |---------------------------------------------------------------------|
| | File name |
| |---------------------------------------------------------------------|
| | File name extension |
| |---------------------------------------------------------------------|
| | Project number | Programmer number |
| |---------------------------------------------------------------------|
| | Sub-file directory 1 or 0 |
| |---------------------------------------------------------------------|
| | Sub-file directory 2 or 0 |
| |---------------------------------------------------------------------|
| | Sub-file directory 3 or 0 |
| |---------------------------------------------------------------------|
| | Sub-file directory 4 or 0 |
| |---------------------------------------------------------------------|
| | Sub-file directory 5 or 0 |
| +---------------------------------------------------------------------+
C-12
FILE DAEMON
Where: type of access is the type of access being attempted to the
file. The Access Type Codes are listed in Table C-2.
code is a File Daemon Code, all of which are listed in Table
C-3.
The remaining words in the IPCF packet message are the full file
specification for the file being accessed.
Table C-2: Access Codes
| +------------------------------------------------+
| | Code | Symbol | Meaning |
| +-------+------------+---------------------------+
| | 0 | FNCNAA | No access is allowed. |
| |------------------------------------------------|
| | 1 | FNCEXE | Execute. |
| |------------------------------------------------|
| | 2 | FNCRED | Read. |
| |------------------------------------------------|
| | 3 | FNCALL | Allocate. |
| |------------------------------------------------|
| | 4 | FNCDLL | Deallocate. |
| |------------------------------------------------|
| | 5 | FNCAPP | Append. |
| |------------------------------------------------|
| | 6 | FNCUPD | Update. |
| |------------------------------------------------|
| | 7 | FNCCRE | Create. |
| |------------------------------------------------|
| | 10 | FNCSUP | Supersede. |
| |------------------------------------------------|
| | 11 | FNCTRN | Truncate. |
| |------------------------------------------------|
| | 12 | FNCCAT | Change attributes. |
| |------------------------------------------------|
| | 13 | FNCDEL | Delete. |
| |------------------------------------------------|
| | 14 | FNCCNM | Change name. |
| |------------------------------------------------|
| | 15 | FNCCPR | Change protection. |
| +------------------------------------------------+
C-13
FILE DAEMON
Table C-3: File Daemon Codes
Code Mnemonic Meaning
1 .FLDCA This code is set when the accessing program
has performed a LOOKUP, ENTER, RENAME, or
FILOP monitor call and a protection failure
occurred.
2 .FLDIC This code is set as a result of a previous
call to the File Daemon, the File Daemon
requested that it be called when the program
issues a CLOSE. This code is set as the
result of the program issuing an input
CLOSE. Refer to Table C-4, flag bit 1.
3 .FLDOC As a result of a previous call to the File
Daemon, the File Daemon requested that it be
called when the program issues a CLOSE.
This code is set as the result of the
program issuing an output CLOSE. Refer to
Table C-4, flag bit 1.
4 .FLDXT This code is set as a result of a previous
call to the File Daemon, which occurred
because a job tried to issue a R, RUN, or
GET command or a RUN monitor call and a
protection error resulted. The File Daemon
requested that the monitor call it when the
accessing program terminates execution. The
termination of a program's execution is
defined by the terminal user or by the batch
.CTL file, either of which may type
something that logically supersedes the core
image. The program may also terminate its
own execution by performing a RUN monitor
call. Refer to Table C-4, flag bit 2.
5 .FLDPG This code is set because a job tried to
execute a protected program by issuing a R,
RUN, or GET command or a RUN monitor call.
6 .FLDDA This code is set because a directory
protection failure occurred.
7 .FLDPS This code is set when a PUSH occurs from a
program that has /EXIT specified.
|
| 10 .FLDPR This code is set when a suspended program
| (with /EXIT) resumes with a POP.
C-14
FILE DAEMON
The File Daemon responds to the monitor by sending the monitor an IPCF
packet. The packet's message is in the following format:
|
| +---------------------------------------------------------+
| | reserved | reserved | job number |
| |---------------------------------------------------------|
| | flags | 0 | create | access |
| +---------------------------------------------------------+
| 0-----3 4---8 9-------17 18-------27 28----------35
Where:
job number is the number of the job attempting to access a file.
flags are bits 0 through 3 which are described in Table C-4.
create is the protection code at which the file will be created
if the specified job is creating a file.
access is the highest access this job is allowed to this file.
Refer to Table C-3.
The monitor grants or denies the job's access to the file based on the
access value and the type of access specified by the accessing job.
If the access value in the packet from the File Daemon to the monitor
is greater than or equal to the type of access the accessing job
desired, the monitor grants the job access to the file.
C-15
FILE DAEMON
Table C-4: File Daemon Flags
| +----------------------------------------------------------------+
| | Code | Symbol | Meaning |
| +-----------+----------+-----------------------------------------+
| | 0 | FL.DAA | The monitor is to call the File Daemon |
| | | | every time this file is accessed. |
| | | | For example, if this bit is not set |
| | | | and the program did a RENAME before a |
| | | | LOOKUP, the File Daemon would get |
| | | | called only on the LOOKUP. |
| |----------------------------------------------------------------|
| | 1 | FL.DCL | The File Daemon is called when the file |
| | | | is CLOSED. |
| |----------------------------------------------------------------|
| | 2 | FL.DXT | The File Daemon is called when this |
| | | | program terminates execution. |
| |----------------------------------------------------------------|
| | 3 | FL.DSP | If the program is attempting to create |
| | | | a file and this bit is set, the monitor |
| | | | assumes that the protection code for |
| | | | the file is in bits 9 through 17 of |
| | | | this word. |
| |----------------------------------------------------------------|
| | 777B17 | FL.DPT | Protection code supplied by File Daemon.|
| |----------------------------------------------------------------|
| | 777777B35 | FL.DHA | Highest access allowed. |
| +----------------------------------------------------------------+
C-16
INDEX
Access types, 22-331 Channels
Access-allowed bit, 22-330 closing, 22-27
Accessing files, 22-23 extended, 22-159
ACCLG. UUO, 22-3 initializing, 22-312
Account strings, 22-5 releasing, 22-398
ACCT. UUO, 22-5 resetting, 22-405
Accumulators, 22-2 Character mode, 22-447
Active swapping list, 22-90 input, 22-197
Address break condition, 22-439 Characteristics of disk devices,
ANF-10 22-100
intertask communication, 22-513 Checking
nodes, 22-297 file access, 22-22
Appending to files, 22-163 PPNs, 22-320
APRENB UUO, 22-7 Checkpointing files, 22-163
Assigning CHGPPN UUO, 22-21
logical names, 22-65 CHKACC UUO, 22-22
reel identifiers, 22-270 Clearing
ATTACH UUO, 22-10 DECtape directories, 22-167
Auto-CRLF, 22-508 DTEs, 22-108
Auto-reload DX20s, 22-82 DVCMDA, 22-68
I/O status bits, 22-32
Backspacing magtape logical names, 22-65
files, 22-275 terminal input buffer, 22-30
records, 22-277 terminal output buffer, 22-31
BATMAX, 22-3 CLOSE bits, 22-28
setting, 22-437 CLOSE UUO, 22-27
BATMIN, 22-437 Closing files, 22-163
Blank tape, 22-274 CLRBFI UUO, 22-30
Block pointer positioning, 22-475 CLRBFO UUO, 22-31
Break characters, 22-501 CLRST. UUO, 22-32
Breakpointing the monitor, 22-450 CMAND. UUO, 22-34
Buffer rings CNECT. UUO, 22-39
control block, 22-293 Command list creation, 22-34
for input, 22-195 Commands
for output, 22-323 defining, 22-34
recycling, 22-160 forcing, 22-171
Buffers, 22-74 Communicating with system
programs, 22-375
Cache bit, 22-332, 22-444 Completing magtape I/O, 22-292
CAL11. UUO, 22-16 Concealed high segment, 22-178
CALLI UUO, 22-13 Condition codes, 22-366
Cancelling enqueued requests, CONFIG. program, 22-391
22-59 Connecting MPX devices, 22-39
Capability bits, 22-443, 23-144 Contracting core, 22-41
Changing Controller numbers, 22-81
accounting strings, 22-5 Controller types
file attributes, 22-401 for disk, 22-106
high segments, 22-177 for magtape, 22-482
Index-1
memory space, 22-41 Controlling job number, 22-44
PPNs, 22-21 Controlling PSI interrupts,
search lists, 22-462 22-365
Index-2
CORE UUO, 22-41 UUO, 22-59
CORMAX, 22-434 Dequeuing enqueued requests,
CORMIN, 22-434 22-59
CPU diagnostics, 22-81 Destroying pages, 22-329
Creating Detaching terminals, 22-11
command lists, 22-34 DEVCHR UUO, 22-62
.EXE files, 22-414 Device
files, 22-136, 22-162 characteristics, 22-78
pages, 22-329 reading, 22-62
Cross-job interrupts, 22-360 diagnostics, 22-81
CTLJOB UUO, 22-44 error status, 22-70
CTX. UUO, 22-45 initialization, 22-312
node numbers, 22-532
DAEFIN UUO, 22-50 types, 22-79
DAEMON program, 22-142 Device interrupt codes, 22-368
invoking, 22-51 Device names
requesting, 22-50 physical, 22-115
DAEMON UUO, 22-51 reading, 22-66
DAP messages, 22-517 Device status, 22-76
Data base, 22-135 on MPX devices, 22-140
Data mode specification, 22-316 Devices
Data output, 22-321 realtime, 22-408
Dataset lines, 22-499 reassigning, 22-389
DATE UUO, 22-57 removing restrictions, 22-118
DDBs, 22-76 restricting, 22-117
DDT DEVLNM UUO, 22-65
addresses, 22-430 DEVNAM UUO, 22-66
breakpoints, 22-444 DEVOP. UUO, 22-67
Deassigning devices, 22-389 DEVPPN UUO, 22-73
DEBRK. UUO, 22-58 DEVSIZ UUO, 22-74
Debugging DEVSTS UUO, 22-76
flags, 23-24 DEVTYP UUO, 22-78
front ends, 22-16 DIAG. UUO, 22-81
DECnet, 22-93 Diagnostics, 22-81
link status, 22-96 Directory path, 22-337
DECnet-10 Disabling auto-reload of DX20s,
intertask communication, 22-305 22-82
network management, 22-308 Disconnecting MPX devices, 22-39
DECtape Disk
blocks, 22-520 cache, 22-444
LOOKUPs, 22-264 characteristics, 22-100
on extended channels, 22-167 compatibility, 22-86
DECtape directories controller types, 22-106
clearing, 22-527 I/O priority, 22-86
Deferred spooling, 22-441 mount count, 22-101
Defining names, 22-477
commands, 22-34 unit types, 22-106
symbols, 22-2 DISK. UUO, 22-85
Deleting Dismissing
commands, 22-36 interrupts, 22-58
files, 22-165 realtime interrupts, 22-521
Density codes for magtape, 22-481 DNET. UUO, 22-93
Index-3
Depositing to front ends, 22-18 Dormant programs, 22-449
DEQ. DSKCHR UUO, 22-100
error codes, 22-128 DTE
Index-4
protocol type, 22-112 File
status, 22-109 input, 22-264
DTE. UUO, 22-108 operations, 22-158
DVCMDA, 22-68 protection, C-1
DVPHY. UUO, 22-115 File access
DVRST. UUO, 22-117 checking, 22-22
DVURS. UUO, 22-118 simultaneous, 22-169
DX20 auto-reload, 22-82 File specifications, 22-167
File structures, 22-462
EDDT breakpoints, 22-444 Files
Enabling creating, 22-136, 22-162
auto-reload of DX20s, 22-82 merging, 22-266
dataset lines, 22-499 FILOP.
traps, 22-7 error codes (see Chapter 11)
Ending I/O, 22-27 UUO, 22-158
ENQ. Forcing commands, 22-171
data base, 22-135 FRCUUO, 22-171
error codes, 22-128 Free CRLF, 22-505
quotas, 22-134 Free space in UFDs, 22-92
UUO, 22-119 Front end
ENQC. testing, 22-16
error codes, 22-128 types, 22-19
UUO, 22-132
ENTER GALAXY requests, 22-375
error codes (see Chapter 11) GETLCH UUO, 22-173
UUO, 22-136 GETLIN UUO, 22-175
EOF mark, 22-283 GETPPN UUO, 22-176
EOT mark, 22-284 GETSEG
ERLST. UUO, 22-140 error codes (see Chapter 11)
Error file UUO, 22-177
entries, 22-53 GETSTS UUO, 22-180
logging, 22-142 GETTAB UUO, 22-182
ERRPT. UUO, 22-142 GOBSTR UUO, 22-183
Ersatz devices, 22-73 GTNTN. UUO, 22-186
Eternal locks, 22-122 GTXTN. UUO, 22-188
Ethernet protocols, 22-144 Guideline, 22-439
Examining GVPL, 22-438
front ends, 22-18
monitor, 22-458 Header block for ENQ., 22-119
Exchanging pages, 22-329 HIBER UUO, 22-189
Execute-only Hibernating jobs, 22-531
bit, 23-9 High priority scheduler queue,
segment, 22-178 22-192
Execution High segment origin, 22-399
suspending, 22-189 High segments
terminating, 22-156 changing, 22-177
EXIT UUO, 22-156 write protection, 22-446
Expanding core, 22-41 Host system, 22-441
Extended channels, 22-159 HPQ UUO, 22-192
for DECtape, 22-167
for magtape, 22-167
I/O
Index-5
FCFS blocks, 22-101 error status, 22-70
Feature test flags, 23-23 MPX status, 22-140
FILDAE, 22-22 terminating, 22-27
Index-6
I/O status bits, 22-180, 22-312, Kilo-core ticks, 23-14
22-428, 22-433 KL error
clearing, 22-32 chunks, 22-111
Implied PPNs, 22-341 timer, 22-111
IN UUO, 22-193 KMC-11, 22-230
In-behalf-of PPN, 22-161 KSYS, 22-436
In-your-behalf function, 22-22
INBUF UUO, 22-195 Limit, 22-439
INCHRS UUO, 22-197 Line characteristics, 22-173
INCHRW UUO, 22-198 Line mode input, 22-199
INCHSL UUO, 22-199 Line printer characteristics,
INCHWL UUO, 22-200 22-69
Incrementing LOGNUM, 22-3 Link status
Initializing ANF-10, 22-514
devices, 22-312 reading, 22-96
magtape channels, 22-282, Listing
22-285 ANF-10 nodes, 22-301
programs, 22-406 commands, 22-36
PSI system, 22-357 DECnet nodes, 22-94
Input buffer rings, 22-195 devices, 22-115
INPUT UUO, 22-202 Loading
Interrupt codes, 22-368 RAM, 22-68
Interrupt control block, 22-355 VFU, 22-68
Interrupting jobs, 22-360 LOCATE UUO, 22-255
Intertask communication Lock
ANF-10, 22-513 block, 22-121
DECnet-10, 22-305 status, 22-132
Invoking DAEMON, 22-51 LOCK UUO, 22-257
IONDX. UUO, 22-204 Lock-associated data block,
IONEOU UUO, 22-205 22-126
IPCFQ. Locking jobs, 22-257
error codes, 22-211, 22-214 Logging errors, 22-142
UUO, 22-210 Logical name assignment, 22-65
IPCFR. Logical node number, 22-255
error codes, 22-214 LOGIN UUO, 22-262
UUO, 22-212 LOGMAX, 22-3
IPCFS. setting, 22-437
error codes, 22-214 LOGNUM, 22-3
UUO, 22-219 LOGOUT UUO, 22-263
Long-term locks, 22-122
JBSET. UUO, 22-221 LOOKUP
Job error codes (see Chapter 11)
capability word, 23-144 UUO, 22-264
number, 22-372
privilege word, 23-15 Magtape
resetting, 22-156 controllers, 22-482
Job contexts, 22-45 densities, 22-481
Job search list, 22-225 drive status, 22-278
reading, 22-183 functions, 22-272
Job status word, 23-9 labels, 22-485
JOBPEK UUO, 22-222 operations, 22-479
JOBSTR UUO, 22-225 reel identifiers, 22-270
Index-7
JOBSTS UUO, 22-227 Magtapes on extended channels,
22-167
KDP. UUO, 22-230 Mapping
Index-8
pages, 22-333 Opening files, 22-162
segments, 22-399 OTHUSR UUO, 22-320
Master DTE number, 22-109 OUT UUO, 22-321
MDA OUTBUF UUO, 22-323
setting control, 22-68 OUTCHR UUO, 22-324
wait, 22-91 Output buffer rings, 22-323
Measuring performance, 22-350 OUTPUT UUO, 22-325
Memory space, 22-41 OUTSTR UUO, 22-326
MERGE. Owner PPN, 22-102
error codes (see Chapter 11)
UUO, 22-266 Packet header block, 22-213
MIC status bits, 22-500 PAGE. UUO, 22-327
Monitor Partitioned resources, 22-126
breakpoints, 22-450 PATH.
checksum, 22-451 block, 22-346
MONRT. UUO, 22-157, 22-268 UUO, 22-337
Mount count Pathological names, 22-337
for disk, 22-101 PC flags, 22-356
Moving pages, 22-329 PDB, 23-154
MPX devices PDP-11 compatibility
connecting, 22-39 for disks, 22-86
status, 22-140 PEEK UUO, 22-349
MSTIME UUO, 22-269 PERF. UUO, 22-350
MTAID. UUO, 22-270 Performing measurements, 22-350
MTAPE UUO, 22-272 Physical
MTBLK. UUO, 22-274 device names, 22-115
MTBSF. UUO, 22-275 unit names, 22-477
MTBSR. UUO, 22-277 PIBLK. UUO, 22-355
MTCHR. UUO, 22-278 PIFLG. UUO, 22-356
MTDEC. UUO, 22-282 PIINI. UUO, 22-357
MTEOF. UUO, 22-283 PIJBI. UUO, 22-360
MTEOT. UUO, 22-284 PIRST. UUO, 22-362
MTIND. UUO, 22-285 PISAV. UUO, 22-363
MTLTH. UUO, 22-286 PISYS. UUO, 22-365
MTREW. UUO, 22-287 PITMR. UUO, 22-370
MTSKF. UUO, 22-288 PJOB UUO, 22-372
MTSKR. UUO, 22-289 POKE. UUO, 22-373
MTUNL. UUO, 22-290 Pooled ENQ. resources, 22-125
MTWAT. UUO, 22-292 Positioning block pointers,
Multi-plexed devices, 22-39, 22-475
22-140 PPNs
MVHDR. UUO, 22-293 changing, 22-21
checking, 22-320
NDB, 23-152 for disk devices, 22-73
Network information, 22-93 implied, 22-341
/NEW searching, 22-73 owner, 22-102
NODE. UUO, 22-297 reading, 22-176
Non-blocking ENQ. requests, Preallocating space, 22-165
22-127 Primary protocol for DTEs, 22-108
Non-I/O interrupt codes, 22-366 Privilege bits, 23-15
NSP. UUO, 22-305 Privileges
NTMAN. UUO, 22-308 setting, 22-443
Index-9
NUL device, 22-64 Program execution, 22-530
Programs
OPEN UUO, 22-312 name, 22-432
Index-10
stopping, 22-156 error codes (see Chapter 11)
Protecting UUO, 22-401
files, C-1 Renaming files, 22-164
high segments, 22-446 Requesting
Pseudo-terminals, 22-44 ENQ. resources, 22-127
PSI interrupts controlling, resources, 22-119
22-365 RESCAN UUO, 22-404
PSI state RESDV. UUO, 22-405
restoring, 22-362 RESET UUO, 22-406
saving, 22-363 Resetting jobs, 22-156
PTYs, 22-44 Resources
releasing, 22-59
Quantum requeue response, 23-76 requesting, 22-119
Querying IPCF input queue, 22-210 Responses, 23-75
QUEUE. UUO, 22-375 Restoring PSI state, 22-362
Restricting devices, 22-117
RAM loading, 22-68 Rewinding magtape, 22-287
Reading Rewriting RIBs, 22-166
account strings, 22-5 ROM word, 22-109
data, 22-193 RTTRP UUO, 22-408
date, 22-57 RUN
device characteristics, 22-62 error codes (see Chapter 11)
device names, 22-66 UUO, 22-410
ENQ. quotas, 22-134 RUNTIM UUO, 22-413
file specifications, 22-167
files, 22-165, 22-264 SAVE. UUO, 22-414
GETTAB tables, 22-182 Saving PSI state, 22-363
I/O status, 22-428 SCHED. UUO, 22-416
I/O status bits, 22-180 Scheduler queue, 22-192
IPCF packets, 22-212 Search lists, 22-340
job search lists, 22-183, changing, 22-462
22-225 Secondary bootstrap, 22-113
lock status, 22-132 22-sector mode, 22-86
monitor locations, 22-349 Segments, 22-522
physical unit numbers, 22-81 Sending
PPNs, 22-73, 22-176 characters, 22-324
runtimes, 22-413 data, 22-325
terminal input, 22-197 IPCF packets, 22-219
terminal line characteristics, strings, 22-326
22-173 SENSE. UUO, 22-428
terminal names, 22-175 SET WATCH bits, 22-435
time, 22-269 SETDDT UUO, 22-430
Realtime SETLCH UUO, 22-431
interrupt facility, 22-408 SETNAM UUO, 22-432
interrupts, 22-521 SETSTS UUO, 22-433
traps, 22-512 Setting
REASSI UUO, 22-389 controllers off-line, 22-88
RECON. UUO, 22-391 controllers on-line, 22-89
Recycling buffer rings, 22-160 disk I/O priority, 22-86
Reel identifiers, 22-270 DVCMDA, 22-68
RELEAS UUO, 22-398 ENQ. quotas, 22-134
Relinquishing requests, 22-59 I/O status bits, 22-32
Index-11
Reload ROM word, 22-109 .JBDDT, 22-430
REMAP UUO, 22-399 job parameters, 22-221
RENAME terminal speed rate, 22-507
Index-12
SETUUO UUO, 22-434 Tasks, 22-513
SETUWP UUO, 22-446 Temporary files, 22-492
Sharable resources, 22-121 Terminal
Sharer group, 22-126 operations, 22-497
Simultaneous file access, 22-169 speeds, 22-507
Skipping status, 22-227
magtape files, 22-288 UDX, 22-495
magtape records, 22-289 Terminal break character sets,
on input, 22-447, 22-448 22-501
SKPINC UUO, 22-447 Terminal input
SKPINL UUO, 22-448 buffer, 22-30
SLEEP UUO, 22-449 rescanning, 22-404
Sleeping, 22-51 Terminal line
SNOOP. UUO, 22-450 characteristics, 22-173, 22-431
Software disk cache, 22-444 numbers, 22-186
Specifying Terminal names, 22-188
data mode, 22-316 reading, 22-175
ENQ. resources, 22-124 Terminal output buffer, 22-31
Spooled files, 22-455 Terminals, 22-10
Spooling Terminating
deferred, 22-441 data transmission, 22-27
Spooling bits, 22-435 execution, 22-156
SPPRM. UUO, 22-455 Testing
SPY UUO, 22-458 clear bits, 22-461
STATO UUO, 22-460 front ends, 22-16
Status set bits, 22-460
DECnet links, 22-96 Timed interrupts, 22-370
I/O, 22-312, 22-428, 22-433 TIMER UUO, 22-491
MIC, 22-500 TMPCOR UUO, 22-492
of DTEs, 22-109 Trap
STATZ UUO, 22-461 conditions, 22-7
Stopping programs, 22-156 instructions, 22-528
Structure parameter block, 22-465 Traps
STRUUO UUO, 22-462 enabling, 22-7
Subjobs, 22-44 virtual time, 22-439
Super-mode TRMNO. UUO, 22-495
input, 22-523 TRMOP. UUO, 22-497
output, 22-525 TRPSET UUO, 22-512
Super-USETI/USETO, 22-475 TSK. UUO, 22-513
Superseding files, 22-136 TTCALL UUO, 22-519
SUSET. UUO, 22-475 Types of devices, 22-79
Suspending execution, 22-189
Swapping pages, 22-328 UFD
Symbolic definition, 22-2 compression, 22-89
SYSPHY UUO, 22-477 quota, 22-101
SYSSTR UUO, 22-478 UGETF, 22-520
System UJEN UUO, 22-521
date, 22-436 Unit numbers, 22-81
dump list, 22-91 Unit parameter block, 22-467
file structures, 22-478 Unit types, 22-106
scheduling, 22-416 Universal Device Index, 22-204
time, 22-434 Unloading
Index-13
disk, 22-87
Tape labels, 22-485 magtapes, 22-290
TAPOP. UUO, 22-479 UNLOK. UUO, 22-522
Index-14
Unrestricting devices, 22-118 GETSEG, 22-177
Updating files, 22-136, 22-162 GETSTS, 22-180
USETI UUO, 22-523 GETTAB, 22-182
USETO UUO, 22-525 GOBSTR, 22-183
UTPCLR UUO, 22-527 GTNTN., 22-186
UTRP. UUO, 22-528 GTXTN., 22-188
UUOs HIBER, 22-189
ACCLG., 22-3 HPQ, 22-192
ACCT., 22-5 IN, 22-193
APRENB, 22-7 INBUF, 22-195
ATTACH, 22-10 INCHRS, 22-197
CAL11., 22-16 INCHRW, 22-198
CALLI, 22-13 INCHSL, 22-199
CHGPPN, 22-21 INCHWL, 22-200
CHKACC, 22-22 INPUT, 22-202
CLOSE, 22-27 IONDX., 22-204
CLRBFI, 22-30 IONEOU, 22-205
CLRBFO, 22-31 IPCFQ., 22-210
CLRST., 22-32 IPCFR., 22-212
CMAND., 22-34 IPCFS., 22-219
CNECT., 22-39 JBSET., 22-221
CORE, 22-41 JOBPEK, 22-222
CTLJOB, 22-44 JOBSTR, 22-225
DAEFIN, 22-50 JOBSTS, 22-227
DAEMON, 22-51 KDP., 22-230
DATE, 22-57 LOCATE, 22-255
DEBRK., 22-58 LOCK, 22-257
DEQ., 22-59 LOGIN, 22-262
DEVCHR, 22-62 LOGOUT, 22-263
DEVLNM, 22-65 LOOKUP, 22-264
DEVNAM, 22-66 MERGE., 22-266
DEVOP., 22-67 MONRT., 22-268
DEVPPN, 22-73 MSTIME, 22-269
DEVSIZ, 22-74 MTAID., 22-270
DEVSTS, 22-76 MTAPE, 22-272
DEVTYP, 22-78 MTBLK., 22-274
DIAG., 22-81 MTBSF., 22-275
DISK., 22-85 MTBSR., 22-277
DNET., 22-93 MTCHR., 22-278
DSKCHR, 22-100 MTDEC., 22-282
DTE., 22-108 MTEOF., 22-283
DVPHY., 22-115 MTEOT., 22-284
DVRST., 22-117 MTIND., 22-285
DVURS., 22-118 MTLTH., 22-286
ENQ., 22-119 MTREW., 22-287
ENQC., 22-132 MTSKF., 22-288
ENTER, 22-136 MTSKR., 22-289
ERLST., 22-140 MTUNL., 22-290
ERRPT., 22-142 MTWAT., 22-292
EXIT, 22-156 MVHDR., 22-293
FILOP., 22-158 NODE., 22-297
FRCUUO, 22-171 NSP., 22-305
Index-15
GETLCH, 22-173 NTMAN., 22-308
GETLIN, 22-175 OPEN, 22-312
GETPPN, 22-176 OTHUSR, 22-320
Index-16
OUT, 22-321 SLEEP, 22-449
OUTBUF, 22-323 SNOOP., 22-450
OUTCHR, 22-324 SPPRM., 22-455
OUTPUT, 22-325 SPY, 22-458
OUTSTR, 22-326 STATO, 22-460
PAGE., 22-327 STATZ, 22-461
PATH., 22-337 STRUUO, 22-462
PEEK, 22-349 SUSET., 22-475
PERF., 22-350 SYSPHY, 22-477
PIBLK., 22-355 SYSSTR, 22-478
PIINI., 22-357 TAPOP., 22-479
PIJBI., 22-360 TIMER, 22-491
PIRST., 22-362 TMPCOR, 22-492
PISAV., 22-363 TRMNO., 22-495
PISYS., 22-365 TRMOP., 22-497
PITMR., 22-370 TRPSET, 22-512
PJOB, 22-372 TSK., 22-513
POKE., 22-373 TTCALL, 22-519
QUEUE., 22-375 UGETF, 22-520
REASSI, 22-389 UJEN, 22-521
RECON., 22-391 UNLOK., 22-522
RELEAS, 22-398 USETI, 22-523
REMAP, 22-399 USETO, 22-525
RENAME, 22-401 UTPCLR, 22-527
RESCAN, 22-404 UTRP., 22-528
RESDV., 22-405 WAIT, 22-530
RESET, 22-406 WAKE, 22-531
RTTRP, 22-408 WHERE, 22-532
RUN, 22-410
RUNTIM, 22-413 Variable bits for DECnet links,
SAVE., 22-414 22-97
SCHED., 22-416 VFU loading, 22-68
SENSE., 22-428 Virtual time trap, 22-439
SETDDT, 22-430
SETLCH, 22-431
SETNAM, 22-432 WAIT UUO, 22-530
SETSTS, 22-433 WAKE UUO, 22-531
SETUUO, 22-434 WHERE UUO, 22-532
SETUWP, 22-446 Working set, 22-330
SKPINC, 22-447 Writing files, 22-162, 22-166
SKPINL, 22-448 Written blocks, 22-91
Index-17
Dear Customer,
Corporate User Publications, Marlboro, requests your opinion. As you may
know, it is a time-consuming and expensive task to prepare hardcopy, printed
manuals for printing, reproduction, and distribution. Completing this complex
task often prevents us from providing current information with every
distribution of software changes.
Therefore, we believe we can provide you with accurate information on
a more timely basis by distributing documentation files with the
software. This mechanism allows us to provide documentation with
autopatch releases and to distribute that documentation in an
electronic form with the software.
Autopatch Tape 16 for TOPS-10 7.03A contains a software documentation file
that reflects the software on the tape. DIGITAL authorizes you to
make up to two copies of the documentation for use at your site, as
long as you maintain DIGITAL's copyright page. We request that you
print the file and use one of the reply forms to send your opinions to us.
On Autopatch Tape 16, you will find the following documentation files:
1. MONCAL.MEM contains Volume 2 of the Monitor Calls Manual; it uses
approximately 2600 blocks of disk space. This version of the
manual contains changes that we have made since the manual was
printed for TOPS-10 Version 7.03, in May 1986.
2. MCINFO.MEM is a duplicate of this customer letter and the reply form.
MONCAL.MEM is about 775 line-printer pages long and contains change bars
to indicate the pages that have changed. The file contains non-printing
control characters for paging and bolding effect, making it unsuitable for
terminal display. We recommend that you print the file on any supported
line printer.
Please let us know what you think about this method of distributing software
documentation by filling out and returning the following reply form. Your
responses will be considered in future plans for the distribution of TOPS-10
documentation.
Sincerely,
Mary J. Marotta
Corporate User Publications
Digital Equipment Corporation
TOPS-10 MONITOR CALLS VOLUME 2
TOPS-10 V. 7.03A AUTOPATCH 16
READER'S COMMENTS
Your opinion is requested. Please read the customer letter on the previous
page, write your comments on this form, and mail the form to:
Corporate User Publications
Digital Equipment Corporation
200 Forest St.
Marlboro, MA 01752
Your name:______________________________________________
Company:________________________________________________
Address:________________________________________________
________________________________________________
Phone:__________________________________________________
Your title/position:____________________________________
Were you able to successfully print the document? (Check one.)
_____________ _______________
YES NO
If not, why not?________________________________________
Tell us whether the changes in the document are important for you to receive
at the same time as the software changes. (Check one.)
______________ Very Important
______________ Important
______________ Not Important
______________ I Don't Know
Choose the method of receiving software documentation that will best meet
your needs. (Check one.)
______________ Electronic distribution
______________ Hardcopy manuals
The space below is reserved for your comments and suggestions.
Thank you for your interest.