Parameters
The parameters are explained as follows:
- name
- An optional symbol, starting in column 1, that is the name on
the IWMCNTN macro invocation. The name must conform to the rules for
an ordinary assembler language symbol.
- ,INVOCATIONTYPE=UPDATE
- ,INVOCATIONTYPE=REPLACE
- ,INVOCATIONTYPE=ENDOFCONTENTION
- A required parameter, which indicates the type of operation
requested
- ,INVOCATIONTYPE=UPDATE
- indicates that the operations described in the request list
have to be applied to the resource. If contention information for
the resource does not already exist, it is created. If after applying
the operations there are no holders or waiters (local or remote),
tracking of the resource is abandoned locally.
- ,INVOCATIONTYPE=REPLACE
- same as UPDATE, except that any existing local resource topology
is discarded first.
- ,INVOCATIONTYPE=ENDOFCONTENTION
- indicates that all topology information for the resource is
discarded.
- ,MF=S
- ,MF=(L,list addr)
- ,MF=(L,list addr,attr)
- ,MF=(L,list addr,0D)
- ,MF=(E,list addr)
- ,MF=(E,list addr,COMPLETE)
- An optional input parameter that specifies the macro form.
Use
MF=S to specify the standard form of the macro, which builds an inline
parameter list and generates the macro invocation to transfer control
to the service. MF=S is the default.
Use MF=L to specify the
list form of the macro. Use the list form together with the execute
form of the macro for applications that require reentrant code. The
list form defines an area of storage that the execute form uses to
store the parameters. Only the PLISTVER parameter may be coded with
the list form of the macro.
Use MF=E to specify the execute
form of the macro. Use the execute form together with the list form
of the macro for applications that require reentrant code. The execute
form of the macro stores the parameters into the storage area defined
by the list form, and generates the macro invocation to transfer control
to the service.
- ,list addr
- The name of a storage area to contain the parameters. For MF=S
and MF=E, this can be an RS-type address or an address in register
(1)-(12).
- ,attr
- An optional 1- to 60-character input string that you use to
force boundary alignment of the parameter list. Use a value of 0F
to force the parameter list to a word boundary, or 0D to force the
parameter list to a doubleword boundary. If you do not code attr,
the system provides a value of 0D.
- ,COMPLETE
- Specifies that the system is to check for required parameters
and supply defaults for omitted optional parameters.
- ,PLISTVER=IMPLIED_VERSION
- ,PLISTVER=MAX
- ,PLISTVER=0
- An optional input parameter that specifies the version of the
macro. PLISTVER determines which parameter list the system generates.
PLISTVER is an optional input parameter on all forms of the macro,
including the list form. When using PLISTVER, specify it on all macro
forms used for a request and with the same value on all of the macro
forms. The values are:
- IMPLIED_VERSION, which is the lowest
version that allows all parameters specified on the request to be
processed. If you omit the PLISTVER parameter, IMPLIED_VERSION
is the default.
- MAX, if you want the parameter list to be
the largest size currently possible. This size might grow from release
to release and affect the amount of storage that your program needs.
If
you can tolerate the size change, IBM® recommends
that you always specify PLISTVER=MAX on the list form of the macro.
Specifying MAX ensures that the list-form parameter list is always
long enough to hold all the parameters you might specify on the execute
form, when both are assembled with the same level of the system. In
this way, MAX ensures that the parameter list does not overwrite nearby
storage.
- 0, if you use the currently available parameters.
To code: Specify one of the following:
- IMPLIED_VERSION
- MAX
- A decimal value of 0
- ,REQUESTLIST=requestlist
- When INVOCATIONTYPE=UPDATE or REPLACE is specified, a required
input parameter, which specifies a list of topology requests. For
each request, you must specify:
- Whether you want to add or to delete the contention information
- Whether the work unit is holding the resource or is
waiting for it,
- The identification of the entity in terms of STOKEN,
TCB address or enclave token.
For each request the macro returns a return and a reason code.
See IWMCNTRL for the mapping of the request list.
The work unit
ID varies based on the resource ownership model (transaction or task
resource) used by the IWMCNTN exploiter and the work unit type involved,
as described in Table 22:
Table 22. Work unit IDsWork unit type | Exploiters using the transaction model
will pass | Exploiters using the task resource
model will pass |
---|
Global SRB,
local SRB,
preemptible SRB
(but not a client or
enclave SRB)
|
Home STOKEN,
TCB=0,
Etoken=0
| Same as transaction resource ownership model | Client SRB |
Client STOKEN
TCB=0,
Etoken=0
| Same as transaction resource ownership model | Enclave SRB |
STOKEN=0,
TCB=0,
Etoken=e
| Same as transaction resource ownership model | Non-enclave task |
Home STOKEN,
TCB= 0,
Etoken=0
|
Home STOKEN,
TCB= t,
Etoken=0
| Enclave task |
STOKEN=0,
TCB= 0,
Etoken=e
|
Home STOKEN,
TCB= t,
Etoken=0
| The following return/reason codes may be returned per request:
- Return_Code
- A 2-byte output field set based on whether or not the entity
identification information passed validity checks.
- 0
- Name: IwmRetCodeOk Meaning: Successful completion. Action:
None required.
- 4
- Name: IwmRetCodeWarning Meaning: Successful completion,
unusual conditions noted. Action: Check reason code
- 8
- Name: IwmRetCodeInvocError Meaning: Invalid invocation
environment or parameters. Action: Check reason code
- Reason_Code
- A 2-byte output field set based on whether or not the entity
identification information passed validity checks.
- 0448
- Name: IwmRsnCodePossibleDeadlock Meaning: The specified
chronic resource contention may have caused a deadlock: The holder
of resource (A) is waiting for resource (B), which is currently held
by another holder, which is waiting for resource (A). Action:
Check for possible deadlock.
- 0807
- Name: IwmRsnCodeBadSTOKEN Meaning: The
specified STOKEN does not pass verification. Action: Check
for possible storage overlay of the address space token.
- 083A
- Name: IwmRsnCodeBadEnclave Meaning: Enclave
token does not pass verification. Action: Check for possible
storage overlay of the enclave token.
- 0886
- Name: IwmRsnCodeBadRequestCode Meaning: The request
code must be either ADD or DELETE Action: Correct the
request code.
- 0887
- Name: IwmRsnCodeBadEntityType Meaning: The entity
type must be either HOLDER or WAITER Action: Correct the
entity type.
- 088A
- Name: IwmRsnCodeBadEntityId Meaning: The specified
combination of STOKEN, TCB and/or enclave token does not pass verification. Action:
Correct the entity id.
- 088B
- Name: IwmRsnCodeBadTCB Meaning: The specified
TCB address does not pass verification. Action: Correct
the TCB address. Task may have terminated since the parameter list
was built. TCB may not match STOKEN.
- 08A5
- Name: IwmRsnCodeNoContention Meaning: The specified
chronic resource contention is not stored in the topology. The DELETE
request for this request list entry was not processed. Action:
Correct the delete request.
- 08A8
- Name: IwmRsnCodeDupContention Meaning: The specified
chronic resource contention is already stored in the topology. The
ADD request for this request list entry was not processed. Action:
Correct the add request.
- 08AF
- Name: IwmRsnCodeDeadlock Meaning: The specified
chronic resource contention caused a deadlock:
The holder of resource (A) is waiting for resource
(B), which is currently held by another holder, which is waiting for
resource (A). The request list entry was not processed. Action:
Remove the deadlock.
To code: Specify the RS-type address,
or address in register (2)-(12), of a character field.
- ,RESOURCEID=resourceid
- A required input parameter, which identifies the resource uniquely
within all resources for a subsystem type and name.
For resources
whose type is multisystem, the value must be unique within the subsystem
type and name across all systems where the interface might ever be
invoked for this resource.
To code: Specify
the RS-type address, or address in register (2)-(12), of a character
field.
- ,RESOURCEID_LEN=resourceid_len
- A required input parameter, which contains the length of the
resource identifier. A resource identifier may not exceed 264 bytes.
To code: Specify the RS-type address, or address
in register (2)-(12), of a fullword field.
- ,RESOURCESCOPE=SINGLESYSTEM
- ,RESOURCESCOPE=MULTISYSTEM
- An optional parameter, which identifies if the resource information
is shared with other WLM instances in the cluster. The default is
RESOURCESCOPE=SINGLESYSTEM.
- ,RESOURCESCOPE=SINGLESYSTEM
- indicates that the resource information is used on the issuing
system only.
- ,RESOURCESCOPE=MULTISYSTEM
- indicates that the resource information is shared among other
systems.
- ,RETCODE=retcode
- An optional output parameter into which the return code is to
be copied from GPR 15.
To code: Specify the
RS-type address of a fullword field, or register (2)-(12).
- ,RSNCODE=rsncode
- An optional output parameter into which the reason code is to
be copied from GPR 0.
To code: Specify the
RS-type address of a fullword field, or register (2)-(12).
- SUBSYS=subsys
- A required input parameter, which contains the generic subsystem
type (e.g. IMS™, CICS®, etc.).
To code: Specify
the RS-type address, or address in register (2)-(12), of a 4-character
field.
- ,SUBSYSNM=subsysnm
- A required input parameter, which identifies the subsystem instance.
To code: Specify the RS-type address, or address
in register (2)-(12), of an 8-character field.
|