ENQ RESERVE macro
- is type 2, gets LOCAL and CMSEQDQ locks.
Calls module ISGGRT.
GTF data is:
- R15 and R0
- No applicable data.
- R1
- Address of the parameter list.
- PLIST
- 36 bytes of the ENQ/RESERVE parameter list, representing an ENQ
request for a single resource. The complete parameter list can include
requests for additional resources; the last request is identified
by a flag bit described below.
- -20
- Reserved.
- -16
- If an MASID ENQ and an ECB is specified, contains the ECB address.
- -12
- If an MASID ENQ, contains the MASID operand value.
- -8
- If an MASID ENQ, contains the MTCB operand value; otherwise, contains
the TCB address if both the TCB and the ECB are specified.
- -4
- If an MASID ENQ, contains the format word of decimal 20; otherwise,
contains the TCB or the ECB address depending on whether TCB= or ECB=
was specified. (See the flag bytes following.)
- 0
- Flag bits, as follows:
|
|
|
.... |
.0.. |
RNL=YES |
1... |
.... |
End-of-list indicator; if zero, the parameter list includes
another resource request. |
.1.. |
.... |
Old options are in effect (bits have no meaning). |
.01. |
.... |
Indicates LOC=ANY specified on a RESERVE request. The UCB may
reside in 31-bit storage. |
.0.1 |
.... |
Indicates that the requester of the resource now owns the resource
and the resource is shared. If zero, the resource is owned exclusively. |
.0.. |
1... |
Format word indicator. If zero, the list of PELS does not
have the MASID format prefix. |
.0.. |
...1 |
TCB=tcbaddr was requested; parmlist prefix
contains the TCB address. |
- 1
- Length of the minor name whose address is in bytes 8 - 11 of this
element. Zeros indicates the length of minor name is in the first
byte of the minor name field whose address is in bytes 8 - 11 of this
element (does not include the length byte itself).
- 2
- ENQ parameters byte; bit settings are:
|
|
|
0... |
.... |
Exclusive request. |
1... |
.... |
Shared request. |
.0.. |
0... |
Scope of the minor name is STEP. |
.0.. |
1... |
RESERVE type. The resource is known across systems and UCB=
was specified. The last word of the parameter list is the address
of a word containing the UCB address. |
.1.. |
0... |
Scope of the minor name is SYSTEM. |
.1.. |
1... |
Scope of the minor name is SYSTEMS. |
..1. |
.... |
Obsolete. |
...1 |
.... |
Set must complete equal to STEP. |
.... |
.000 |
RET=NONE. |
.... |
.001 |
RET=HAVE. |
.... |
.010 |
RET=CHNG. |
.... |
.011 |
RET=USE. |
.... |
.100 |
ECB=addr. The ECB address is contained in
the parameter list prefix. |
.... |
.111 |
RET=TEST. |
- 3
- Field for codes returned to the issuer by ENQ.
- 4-7
- Address of the major resource name (QNAME).
- 8-11
- Address of the minor resource name (RNAME).
- 12-15
- If bits 1 and 4 of the ENQ parameter byte are set to 0 and 1 respectively,
this word contains the address of a word containing the UCB address;
otherwise, the content of this word will be zero.
Note: RESERVE is basically an ENQ with UCB= specified. See flag byte
2 above.
Register contents on return (provided only if RET=TEST, RET=USE,
RET=CHNG, or RET=HAVE):
- R15
- 00 if each return code for each resource named in ENQ is 0. Otherwise,
R15 contains the address of a storage area containing the return codes.