24.12.2013 Views

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

TOPS-10 Monitor Calls Manual Volume 2 AA-K039D ... - Trailing-Edge

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

ENQ. [CALLI 151]<br />

22.40 ENQ. [CALLI 151]<br />

FUNCTION<br />

Requests access to resources that are defined by cooperating user<br />

programs. The ENQ. call is one of three monitor calls that provide<br />

control over the ENQ/DEQ facility, which provides resource definition,<br />

control over access to resources, and deadlock detection for ~he<br />

resources. The ENQ/DEQ facility is described in Chapter 8.<br />

CALLING SEQUENCE<br />

MOVE ac, [XWD fcn-code,addr]<br />

ENQ. ac,<br />

error return<br />

skip return<br />

addr:<br />

EXP<br />

XWD<br />

XWD<br />

<br />

;header block<br />

In the calling sequence, the program supplies the following variables:<br />

o<br />

o<br />

fcn-code is one of the function codes listed below.<br />

addr is the address of the argument block, which consists of<br />

a header block followed by one or more lock blocks.<br />

The header block contains 1 to 3 words, in the following order:<br />

Offset<br />

o<br />

Symbol<br />

.ENQLL<br />

Contents<br />

The header size, the number of lock requests, and<br />

the total length of the argument, including the<br />

header and all the words in all the lock blocks.<br />

Specifically, the .ENQLL word is formatted as<br />

follows:<br />

Bits<br />

0-5<br />

6-17<br />

18-35<br />

Symbol<br />

EQ.BHS<br />

EQ.LNL<br />

EQ.LLB<br />

Value<br />

Size of the header block. This<br />

value is between 1 and 3, because<br />

the second and third words are<br />

optional. If you omit this<br />

value, the default is 2.<br />

Number of lock blocks following<br />

the header block. Include one<br />

lock block for each resource<br />

requested.<br />

Total length (in words) of the<br />

argument block. All the lock<br />

blocks in a single request must<br />

be the same length. Thus, the<br />

value of EQ.LLB is the header<br />

block length (EQ.BHS) plus the<br />

length of each lock block times<br />

the number of resources requested<br />

(EQ. LNL)<br />

22-<strong>10</strong>9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!