|
The parameter descriptions for REQUEST=MONITOR_SUBLISTS are listed
in alphabetical order. Default values are underlined: - REQUEST=MONITOR_SUBLISTS
- Use this input parameter to monitor a set of sublists that are
identified in an input array of entries.
- ,ANSAREA=NO_ANSAREA
- ,ANSAREA=ansarea
- Use this output parameter to specify an answer area to contain
information returned from the request. The format of the answer area
is described by mapping
macro IXLYLAA.
When the request completes successfully or completes
prematurely, the answer area contains the number of event monitor
controls in use (field LAAMNSLS_EMCCNT) and the maximum number of
event monitor controls for the structure (field LAAMNSLS_MAXEMCCNT).
For a premature completion, the answer area also contains the index
of the first unprocessed IXLYMSRI entry (field LAAMNSLS_FAILINDEX).
This index can be specified (using the STARTINDEX parameter) on the
next MONITOR_SUBLISTS request to finish processing the entries in
the input array.
See z/OS MVS Programming: Sysplex Services Guide for
a description of all the relevant IXLYLAA fields for this request.
To
Code: Specify the RS-type name or address (using a register from
2 to 12) of an area (with a length of ANSLEN) to contain the information
returned by the request.
- ,ANSLEN=anslen
- Use this input parameter to specify the size of the storage area
specified by ANSAREA.
Check the prologue of the IXLYLAA mapping macro for the minimum
required size of the answer area, or use the length field (LAA_LEN)
in the LAA.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 2-byte field that contains the size, in bytes,
of the answer area.
- ,BUFADDRTYPE=VIRTUAL
- ,BUFADDRTYPE=REAL
- Use this input parameter to specify whether the buffer addresses
specified in the BUFLIST list are virtual storage or real storage
addresses.
- VIRTUAL
- The buffer addresses are virtual storage addresses. The virtual
storage can be pageable or nonpageable. See the PAGEABLE parameter
for information about managing storage binds when specifying virtual
storage addresses.
- REAL
- The buffer addresses are real storage addresses.
It is the caller's responsibility to manage the binds between the
data buffer virtual storage and the real storage addresses provided.
The caller must ensure that the data buffer virtual storage remains
bound to the real storage addresses provided until the request completes.
- ,BUFALET=NO_BUFALET
- ,BUFALET=bufalet
- Use this input parameter to specify an access list entry token
(ALET) to be used in referencing all of the buffers specified by BUFLIST.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 4-byte field that contains the ALET.
- ,BUFFER=buffer
- Use this input parameter to specify a buffer area to hold an array
of entries that identify the sublists to be monitored. Each entry
is mapped by the IXLYMSRI macro.
You can define the buffer size
to be a total of up to 65536 bytes. Depending on the size you select,
the following restrictions apply: - If you specify a buffer size of less than or equal to 4096 bytes,
you must ensure that the buffer:
- Is 256, 512, 1024, or 4096 bytes.
- Starts on a 256-byte boundary.
- Does not cross a 4096-byte boundary.
- Does not start below storage address 512.
- If you specify a buffer size of greater than 4096 bytes, you must
ensure that the buffer:
- Is a multiple of 4096 bytes.
- Is less than or equal to 65536 bytes.
- Starts on a 4096-byte boundary.
- Does not start below storage address 512.
See the BUFSIZE parameter description for defining the
size of the buffer.
To Code: Specify the RS-type name
or address (using a register from 2 to 12) of an area (with a size
of BUFSIZE) that contains the array of sublist identifiers.
- ,BUFINCRNUM
- Use this input parameter to specify the number of 256-byte segments
comprising each buffer in the BUFLIST list.
Valid BUFINCRNUM values
are 1,2,4,8, or 16, which correspond to BUFLIST sizes of 256, 512,
1024, 2048, and 4096 bytes respectively.
To Code: Specify
the RS-type name or address (using a register from 2 to 12) of a 1-byte
field that contains 1,2,4,8, or 16.
- ,BUFLIST=buflist
- Use this input parameter to specify a list of buffers to hold
the array of entries that identify the sublists to be monitored.
BUFLIST
specifies a 128-byte storage area that consists of a list of 0 to
16 buffer addresses.
The 128-byte storage area must: - Consist of 0 to 16 elements.
- Each element must consist of an 8-byte field in which:
- The left (high-order) four bytes are reserved and
- The right (low-order) four bytes contain the address of a buffer.
The BUFLIST buffers must: - Reside in the same address space or data space.
- Be the same size: either 256, 512, 1024, 2048, or 4096 bytes.
- Start on a 256-byte boundary and not cross a 4096-byte boundary.
- Not start below storage address 512.
Note: The buffers do not have to be contiguous in storage.
List services treats BUFLIST buffers as a single buffer even if the
buffers are not contiguous.
See the BUFNUM and BUFINCRNUM
parameter descriptions for specifying the number and size of buffers.
To
Code: Specify the RS-type name or address (using a register from
2 to 12) of a 128-byte area that contains a list of buffer addresses.
- ,BUFNUM=bufnum
- Use this input parameter to specify the number of buffers in the
BUFLIST list. Valid BUFNUM values are from 0 to 16. A value of zero
indicates that no sublists are to be monitored.
To Code: Specify
the RS-type name or address (using a register from 2 to 12) of a 1-byte
field that contains the number of buffers in the buffer list.
- ,BUFSIZE=bufsize
- Use this input parameter to specify the size of the BUFFER area.
See the BUFFER parameter description for valid buffer sizes.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a fullword field that contains the size of the buffer
(BUFFER) in bytes.
- ,BUFSTGKEY=CALLERS_KEY
- ,BUFSTGKEY=bufstgkey
- Use this input parameter to specify a storage key that you define
and use when referencing the buffers specified by BUFLIST or the buffer
specified by BUFFER.
If you do not specify BUFSTGKEY, or if you specify BUFSTGKEY=CALLERS_KEY,
all references to the buffer(s) are performed using the caller's PSW
key.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of an 8-bit field that contains the storage key in the
format B'kkkkxxxx', where kkkk is the key and xxxx is ignored.
- ,CONTOKEN=contoken
- Use this input parameter to specify the connect token that was
returned by the IXLCONN service. The connect token uniquely identifies
your connection to the list structure, and must be specified on each
IXLLIST invocation.
The connect token is available in the IXLCONN answer area mapped
by IXLYCONA.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 16-byte field that contains the connect token.
- ,ENDINDEX=endindex
- Use this input parameter to specify the index number of the last
IXLYMSRI entry to be processed. The valid range is from the STARTINDEX
value to 1024.
To Code: Specify the RS-type name or address
(using a register from 2 to 12) of a halfword field that contains
the index of the last entry to be processed.
- ,MF=S
- ,MF=(L,mfctrl)
- ,MF=(L,mfctrl,mfattr)
- ,MF=(L,mfctrl,0D)
- ,MF=(E,mfctrl)
- ,MF=(E,mfctrl,COMPLETE)
- 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.
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
can 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 stores the parameters into
the storage area defined by the list form, and generates the macro
invocation to transfer control to the service.
- ,mfctrl
- Use this output parameter to specify a storage area to contain
the parameters.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of the parameter list.
- ,mfattr
- Use this input parameter to specify the name of a 1- to 60-character
string that can contain any value that is valid on an assembler DS
pseudo-op. You can use this parameter to force boundary alignment
of the parameter list. If you do not code mfattr, the system
provides a value of 0D, which forces the parameter list to a doubleword
boundary.
- ,COMPLETE
- Use this input parameter to require that the system check for
required parameters and supply defaults for omitted optional parameters.
Note: In the macro expansion you might see some defaults for optional
parameters that are not documented here. The ones that are not documented
do not have any effect on the macro. For example, if SMILE=var were
an optional parameter and the default is SMILE=NO_SMILE then it would
not be documented. However, if the default was SMILE=:-), then it
would be documented because a value would be the default.
- ,MODE=SYNCSUSPEND
- ,MODE=SYNCECB
- ,MODE=SYNCEXIT
- ,MODE=SYNCTOKEN
- ,MODE=ASYNCECB
- ,MODE=ASYNCEXIT
- ,MODE=ASYNCTOKEN
- ,MODE=ASYNCNORESPONSE
- Use this input parameter to specify:
- Whether the request is to be performed synchronously or asynchronously
- How you wish to be notified of request completion
- MODE=SYNCSUSPEND
- The request is suspended until it can complete synchronously.
To use this option, your program must be enabled for I/O and external
interrupts.
- MODE=SYNCECB
- The request processes synchronously if possible. If the request
processes asynchronously, the ECB specified by REQECB is posted when
the request completes.
- MODE=SYNCEXIT
- The request processes synchronously if possible. If the request
processes asynchronously, your complete exit is given control when
the request completes.
- MODE=SYNCTOKEN
- The request processes synchronously if possible. If the request
processes asynchronously, an asynchronous request token is returned
in the area specified by REQTOKEN on invocation of the request. Use
the returned request token on the IXLFCOMP macro to determine whether
your request has completed.
Note: ANSAREA is a required parameter when MODE=SYNCTOKEN is specified.
- MODE=ASYNCECB
- The request processes asynchronously. The ECB specified by REQECB
is posted when the request completes.
- MODE=ASYNCEXIT
- The request processes asynchronously. Your complete exit is given
control when the request completes.
- MODE=ASYNCTOKEN
- The request processes asynchronously. An asynchronous request
token is returned in the area specified by REQTOKEN upon invocation
of the request. Use the returned request token on the IXLFCOMP macro
to determine whether your request has completed.
Note: ANSAREA is a required parameter when MODE=ASYNCTOKEN is specified.
- MODE=ASYNCNORESPONSE
- The request processes asynchronously. No notification of request
completion is provided. The answer area (ANSAREA) fields will not
contain valid information when this mode is specified.
Note: You cannot code MODE=ASYNCNORESPONSE with LOCKINDEX, BUFFER,
or BUFLIST.
- ,MOSVECTOR=mosvector
- Use this output parameter to specify a 128-byte field to contain
the bit string representing the monitored object state (empty or nonempty)
of each sublist at the time the MONITOR_SUBLISTS request was processed.
The MOSVECTOR bits correspond one-to-one with the IXLYMSRI entries
that were passed as input in BUFFER or BUFLIST. Only the bits corresponding
to the IXLYMSRI entries that were actually processed on the current
request (that is, those between STARTINDEX and ENDINDEX for a request
that completed successfully, or between STARTINDEX and the returned
index of the first unprocessed entry minus one for requests that completed
prematurely) will contain valid monitored object state information
for the sublists designated by the corresponding IXLYMSRI entries.
Bits in the MOSVECTOR that lie outside the valid range are not meaningful.
When a bit in the valid range is on, the sublist designated by
the corresponding IXLYMSRI entry was nonempty at the time the request
was processed. When a bit in the valid range is off, the sublist
designated by the corresponding IXLYMSRI entry was empty at the time
the request was processed.
To Code: Specify the RS-type
name or address (using a register from 2 to 12) of a 128-byte field
to contain the bit string indicating the monitored object state of
each sublist for which monitoring was requested.
- ,PAGEABLE=YES
- ,PAGEABLE=NO
- Use this input parameter to identify whether the storage areas
specified by BUFFER or BUFLIST are in pageable or potentially pageable
storage.
- YES
- Specify this option to indicate that the BUFFER or BUFLIST buffers
reside in pageable virtual storage. XES performs the required page
fixing to fix the buffers in real storage while the cache or list
request transfers data to or from the coupling facility.
This includes storage obtained from pageable subpools, disabled
reference (DREF) storage, and may include storage that has the potential
to become pageable during the processing of a request. (An example
is address space storage owned by any swappable address space, for
which a PGSER FIX has been successfully processed, but for which the
owning address space gets swapped during processing of a cache or
list request.) This does not include implicitly non-pageable storage
(for example, storage obtained from non-pageable subpools).
The system takes responsibility for managing binds to central storage
for the duration of the cache or list request, regardless of what
address space owns the storage or whether the storage-owning address
space is swappable or nonswappable. The storage can be owned by any
address space.
High shared virtual storage areas (above 2GB) may not
be used.
- NO
- Specify this option to indicate that the BUFFER or BUFLIST buffers
reside in non-pageable virtual storage. XES does not page fix the
buffers in real storage.
This includes implicitly non-pageable storage areas (for example,
storage obtained from non-pageable subpools), and may include storage
that has the potential to become pageable during the processing of
a request (An example is address space storage owned by any swappable
address space, for which a PGSER FIX has been successfully processed,
but for which the owning address space gets swapped-out during processing
of a cache or list request.)
The system takes responsibility for managing binds to central storage
for the duration of the cache or list request, if and only if the
non-pageable storage is owned by either the requestor's address space
or the connector's address space. If the storage is owned by any other
address space, then the invoker is responsible for ensuring that the
virtual storage remains non-pageable for the duration of the request
(including the case in which the storage is owned by a swappable address
space that is swapped during processing of an IXLCACHE or IXLLIST
request). Subject to this consideration, the storage can be owned
by any address space. See z/OS MVS Programming: Sysplex Services Guide.
- ,PLISTVER=IMPLIED_VERSION
- ,PLISTVER=MAX
- ,PLISTVER=plistver
- Use this input parameter to specify the version of the macro.
See Understanding IXLLIST Version Support for a description of the
options available with PLISTVER.
- ,REQDATA=NO_REQDATA
- ,REQDATA=reqdata
- Use this input parameter with MODE=SYNCEXIT or MODE=ASYNCEXIT
to pass any data you choose to the complete exit. The exit will get
control only if the request is processed asynchronously.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of an 8-byte field that contains the data to be passed
to the complete exit.
- ,REQECB=reqecb
- Use this output parameter with either MODE=SYNCECB or MODE=ASYNCECB
to specify the address of an ECB, which is to be posted when the request
completes if the request was processed asynchronously.
Before coding REQECB, you must ensure that:
- You initialize the ECB before you issue the request.
- The ECB resides in either common storage or the home address space
where IXLCONN was issued.
- Any tasks that wait for the ECB to be posted reside in the home
address space where IXLCONN was issued.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 4-byte field that contains the address of the ECB
to be posted when the request completes. The ECB must be aligned on
a fullword boundary.
- ,REQID=NO_REQID
- ,REQID=reqid
- Use this input parameter to specify a user-defined request identifier
to be associated with the request. You can specify this request identifier
on the IXLPURGE macro to cancel a request that has not yet been processed.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of an 8-byte field that contains the user-defined request
identifier.
- ,REQTOKEN=reqtoken
- Use this output parameter with either MODE=SYNCTOKEN or MODE=ASYNCTOKEN
to specify the address of a storage area to receive the request token
that is returned when the request will be processed asynchronously.
This token, which uniquely identifies the request, must be used as
input to the IXLFCOMP macro, which you use to determine if the request
has completed.
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 16-byte field where the system will put the request
token.
- ,RETCODE=retcode
- Use this output parameter to specify a field to contain the return
code. (The return code is also returned in register 15.)
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 4-byte field that will contain the return code
when the request has completed.
- ,RSNCODE=rsncode
- Use this output parameter to specify a field to contain the reason
code returned, if applicable. (The reason code is also returned in
register 0.)
To Code: Specify the RS-type name or address (using a register
from 2 to 12) of a 4-byte field that will contain the reason code
(if any) when the request has completed.
- ,STARTINDEX=startindex
- Use this input parameter to specify the index number of the first
IXLYMSRI entry to be processed. The valid range is from 1 to the
ENDINDEX value.
To Code: Specify the RS-type name or address
(using a register from 2 to 12) of a halfword field that contains
the index of the first entry to be processed.
|