|
The EDTINFO macro enables you to obtain information from the eligible
device table (EDT) and to check your device specification against
the information in the EDT. See z/OS HCD Planning and z/OS MVS Programming: Assembler Services Guide for
further information on the EDT.
The EDTINFO macro performs the following functions: - Check groups (CHKGRPS)
- Check units (CHKUNIT)
- Return unit name (RTNUNIT)
- Return unit control block (UCB) addresses for static and installation-static
devices defined below 16 megabytes with
3-digit device numbers (RTNUCBA)
- Return group ID (RTNGRID)
- Return attributes (RTNATTR)
- Return unit names for a device class (RTNNAMD)
- Return UCB device number list (RTNDEVN)
- Return maximum eligible device type (MAXELIG)
- Return default unit-affinity-ignored unit name (RTNUNAFF)
Any one of these functions, or any combination of them, may be
specified on each invocation of the EDTINFO macro. Note: - If you specify both RTNUNIT and MAXELIG, the variable specified
by OUTUNIT will contain the results of the MAXELIG function.
- If you specify both RTNUNIT and RTNUNAFF, the variable specified
by OUTUNIT will contain the results of the RTNUNIT function.
- If you specify both MAXELIG and RTNUNAFF, the variable specified
by OUTUNIT or OUTDEV will contain the results of the MAXELIG function.
Environment
The requirements for the caller are:
Environmental factor |
Requirement |
---|
Minimum authorization: |
Problem state and any PSW key. |
Dispatchable unit mode: |
Task |
Cross memory mode: |
PASN=HASN=SASN or PASN¬=HASN¬=SASN |
AMODE: |
24- or 31- bit |
ASC mode: |
Primary or access register (AR) |
Interrupt status: |
Enabled for I/O and external interrupts |
Locks: |
No locks held |
Control parameters: |
Must be in the primary address space. This includes
data areas whose address is passed to EDTINFO. |
Input register information
Before issuing the EDTINFO macro, the caller does not have to place
any information into any register unless using it in register notation
for a particular parameter, or using it as a base register.
Output register information
When control returns to the caller, the general purpose registers
(GPRs) contain: - Register
- Contents
- 0
- Reason code if GPR 15 contains a return code of 04 or 08; otherwise,
used as a work register by the system
- 1
- Used as a work register by the system
- 2-13
- Unchanged
- 14
- Used as a work register by the system
- 15
- Return code
When control returns to the caller, the access registers (ARs)
contain: - Register
- Contents
- 0-1
- Used as work registers by the system
- 2-13
- Unchanged
- 14-15
- Used as work registers by the system
Some callers depend on register contents remaining the same before
and after issuing a service. If the system changes the contents of
registers on which the caller depends, the caller must save them before
issuing the service, and restore them after the system returns control.
Syntax
The standard form of the EDTINFO macro is written as follows:
Syntax |
Description |
---|
|
|
name |
name: Symbol. Begin name in
column 1. |
|
|
␢ |
One or more blanks must precede EDTINFO. |
|
|
EDTINFO |
|
|
|
␢ |
One or more blanks must follow EDTINFO. |
|
|
CHKGRPS |
Note: At least one of these functions is required:
CHKGRPS,
|
|
CHKUNIT, RTNUNIT, RTNUCBA, RTNGRID, RTNATTR, |
CHKUNIT |
RTNNAMD, RTNDEVN, MAXELIG, RTNUNAFF. If more
than |
|
one of these is specified, a comma must be coded
between |
RTNUNIT |
each of the keywords. |
|
|
RTNUCBA |
Note: See the tables following this diagram for
information on
|
|
parameter usage with these functions. |
RTNGRID |
|
|
|
RTNATTR |
|
|
|
RTNNAMD |
|
|
|
RTNDEVN |
|
|
|
MAXELIG |
|
|
|
RTNUNAFF |
|
|
|
,DEVCOUNT=devcount addr |
devcount addr: RS-type address
or register (2) - (12). |
|
|
,DEVLIST=devlist addr |
devlist addr: RS-type address
or register (2) - (12). |
,DEVSTAT=devstat addr |
devstat addr: RS-type address
or register (2) - (12). |
|
|
,UNITNAME=unitname addr |
unitname addr: RS-type address
or register (2) - (12). |
,DEVTYPE=devtype addr |
devtype addr: RS-type address
or register (2) - (12). |
|
|
,SUBPOOL=subpool addr |
subpool addr: RS-type address
or register (2) - (12). |
|
|
,UCBALIST=ucbalist addr |
ucbalist addr: RS-type address
or register (2) - (12). |
|
|
,UCBLIST=ucblist addr |
ucblist addr: RS-type address
or register (2) - (12). |
|
|
,GRIDLIST=gridlist addr |
gridlist addr: RS-type address
or register (2) - (12). |
|
|
,ATTRAREA=attrarea addr |
attrarea addr: RX-type address
or register (2) - (12). |
|
|
,DEVCLASS=devclass addr |
devclass addr: RS-type address
or register (2) - (12). |
|
|
,NAMELIST=namelist addr |
namelist addr: RS-type address
or register (2) - (12). |
|
|
,DYNAMIC=YES |
Default: DYNAMIC=NO |
,DYNAMIC=NO |
|
|
|
,LOC=BELOW |
Default: LOC=BELOW |
,LOC=ANY |
|
|
|
,RANGE=ALL |
Default: RANGE=3DIGIT |
,RANGE=3DIGIT |
|
|
|
,DEVNLIST=devnlist addr |
devnlist addr: RS-type address
or register (2) - (12). |
|
|
,RECMODE=recmode addr |
recmode addr: RS-type address
or register (2) - (12). |
|
|
,DENSITY=density addr |
density addr: RS-type address
or register (2) - (12). |
|
|
,OUTUNIT=outunit addr |
outunit addr: RS-type address
or register (2) - (12). |
,OUTDEV=outdev addr |
outdev addr: RS-type address
or register (2) - (12). |
|
|
,IOCTOKEN=ioctoken addr |
ioctoken addr: RX-type address
or register (2) - (12). |
|
|
,RETCODE=retcode addr |
retcode addr: RX-type address
or register (2) - (12). |
|
|
,RSNCODE=rsncode addr |
rsncode addr: RX-type address
or register (2) - (12). |
|
|
The following tables show how the parameters may be specified with
the CHKGRPS, CHKUNIT, RTNUNIT, RTNUCBA, RTNGRID, RTNATTR, RTNNAMD,
RTNDEVN, MAXELIG, and RTNUNAFF functions.
The IOCTOKEN, RETCODE, and RSNCODE parameters are optional with
any of the functions.
Parameters |
CHKGRPS |
CHKUNIT |
RTNUNIT |
RTNUCBA |
RTNGRID |
---|
DEVCOUNT |
required |
required |
not valid |
not valid |
not valid |
DEVLIST |
required |
required |
not valid |
not valid |
not valid |
DEVSTAT |
optional |
optional |
not valid |
not valid |
not valid |
UNITNAME |
not valid |
UNITNAME or DEVTYPE required |
not valid |
UNITNAME or DEVTYPE required |
not valid |
DEVTYPE |
not valid |
DEVTYPE or UNITNAME required |
required |
DEVTYPE or UNITNAME required |
not valid |
SUBPOOL |
not valid |
not valid |
not valid |
optional |
not valid |
UCBALIST |
not valid |
not valid |
not valid |
required |
not valid |
UCBLIST |
not valid |
not valid |
not valid |
not valid |
required |
GRIDLIST |
not valid |
not valid |
not valid |
not valid |
required |
ATTRAREA |
not valid |
not valid |
not valid |
not valid |
not valid |
DEVCLASS |
not valid |
not valid |
not valid |
not valid |
not valid |
NAMELIST |
not valid |
not valid |
not valid |
not valid |
not valid |
DYNAMIC |
not valid |
not valid |
not valid |
not valid |
not valid |
LOC |
not valid |
not valid |
not valid |
not valid |
not valid |
RANGE |
not valid |
not valid |
not valid |
not valid |
not valid |
DEVNLIST |
not valid |
not valid |
not valid |
not valid |
not valid |
RECMODE |
not valid |
not valid |
not valid |
not valid |
not valid |
DENSITY |
not valid |
not valid |
not valid |
not valid |
not valid |
OUTUNIT |
not valid |
not valid |
required |
not valid |
not valid |
OUTDEV |
not valid |
not valid |
not valid |
not valid |
not valid |
Parameters |
RTNATTR |
RTNNAMD |
RTNDEVN |
MAXELIG |
RTNUNAFF |
---|
DEVCOUNT |
not valid |
not valid |
not valid |
not valid |
not valid |
DEVLIST |
not valid |
not valid |
not valid |
not valid |
not valid |
DEVSTAT |
not valid |
not valid |
not valid |
not valid |
not valid |
UNITNAME |
UNITNAME or DEVTYPE required |
not valid |
UNITNAME or DEVTYPE required |
UNITNAME or DEVTYPE required |
not valid |
DEVTYPE |
DEVTYPE or UNITNAME required |
not valid |
DEVTYPE or UNITNAME required |
DEVTYPE or UNITNAME required |
not valid |
SUBPOOL |
not valid |
optional |
not valid |
not valid |
not valid |
UCBALIST |
not valid |
not valid |
not valid |
not valid |
not valid |
UCBLIST |
not valid |
not valid |
not valid |
not valid |
not valid |
GRIDLIST |
not valid |
not valid |
not valid |
not valid |
not valid |
ATTRAREA |
required |
not valid |
not valid |
not valid |
not valid |
DEVCLASS |
not valid |
required |
not valid |
not valid |
not valid |
NAMELIST |
not valid |
required |
not valid |
not valid |
not valid |
DYNAMIC |
not valid |
not valid |
optional |
not valid |
not valid |
LOC |
not valid |
not valid |
optional |
not valid |
not valid |
RANGE |
not valid |
not valid |
optional |
not valid |
not valid |
DEVNLIST |
not valid |
not valid |
required |
not valid |
not valid |
RECMODE |
not valid |
not valid |
not valid |
required |
not valid |
DENSITY |
not valid |
not valid |
not valid |
required |
not valid |
OUTUNIT |
not valid |
not valid |
not valid |
OUTUNIT or OUTDEV required |
OUTUNIT or OUTDEV required |
OUTDEV |
not valid |
not valid |
not valid |
OUTDEV or OUTUNIT required |
OUTDEV or OUTUNIT required |
Note: Code the parameters as indicated for each of the function keywords
when you specify multiple functions. For example, assume that you
specify the CHKGRPS and RTNATTR functions. The CHKGRPS function requires
DEVCOUNT and DEVLIST to be specified, and the RTNATTR function requires
UNITNAME or DEVTYPE to be specified. Because DEVCOUNT and DEVLIST
are required with CHKGRPS, you must code them if you specify CHKGRPS,
even though DEVCOUNT and DEVLIST are not valid with RTNATTR. Similarly,
UNITNAME or DEVTYPE is required with RTNATTR and must be coded, even
though neither one is valid with CHKGRPS.
Parameters
The parameters are explained as follows:
- CHKGRPS
- Specifies that the EDTINFO service should determine whether the
specified device numbers constitute a valid allocation group. The
device numbers are specified by the DEVCOUNT, DEVLIST, and, optionally,
DEVSTAT parameters, and are a valid allocation group if either of
the following is true:
- For any allocation group in the EDT that contains at least one
of the device numbers specified in the input device number list, all of
the device numbers in that group in the EDT are contained in the input
device number list.
- None of the allocation groups in the EDT contain any of the device
numbers specified in the input device number list.
If neither of these is the case, the device numbers are not
a valid allocation group. Note: In addition to generating a return
code and reason code, EDTINFO sets bit 0 in the flag byte of any entry
in the device number list or the device status list, if present, if
the entry corresponds to a device number that is not valid.
- CHKUNIT
- Specifies that the EDTINFO service should determine whether the
input device numbers correspond to the specified unit name. The input
device numbers are specified by the UNITNAME or DEVTYPE, DEVCOUNT,
DEVLIST, and, optionally, DEVSTAT parameters. The unit name is the
EBCDIC representation of the IBM® generic device type (for example,
3380) or the esoteric group name (for example, TAPE) from the EDT.
Note: - In addition to generating a return code and reason code, EDTINFO
sets bit 0 in the flag byte of any entry in the device number list
or the device status list, if present, if the entry corresponds to
a device number that is not valid.
- If all of the device numbers are valid but not all of them match
the unit name or the device type specified as input, EDTINFO in addition
to generating a return and reason code, sets bit 1 in the flag byte
of any entry in the device number list or the device status list,
if present, if the entry does not correspond to the input unit name
or device type.
- RTNUNIT
- Specifies that the EDTINFO service should return the unit name
associated with the UCB device type that is provided as input in the
DEVTYPE parameter. The unit name is returned in the storage specified
by the OUTUNIT parameter.
Note: Do not use the RTNUNIT parameter to
determine whether a returned unit name is a generic CTC device or
an esoteric group name that contains CTC devices. Instead, use the
RTNATTR parameter for this purpose.
- RTNUCBA
- Specifies that the EDTINFO service should return a list of pointers
to UCBs associated with the unit name or device type provided as input
in the UNITNAME or DEVTYPE parameter. EDTINFO returns UCB addresses
only for static and installation-static below 16 megabyte UCBs with
3-digit device numbers. The address of the UCB pointer list is returned
in the storage specified by the UCBALIST parameter. You can specify
the subpool in which to obtain storage by using the SUBPOOL list.
Note: You
can use the RTNDEVN parameter instead to obtain a list of device numbers
belonging to a specified unit name or UCB device type, including dynamic
devices, 4-digit devices and devices described by UCBs residing above
the 16-megabyte line. Then the UCBINFO macro can be used to obtain
selected UCB device information for a given device number If your
program is authorized, running in supervisor state or with a program
key mask of 0-7, you can use the UCBLOOK macro to the obtain the actual
UCB address from a given device number. See, z/OS MVS Programming: Authorized Assembler Services Reference SET-WTO,
and z/OS MVS Programming: Authorized Assembler Services Guide for
the UCBLOOK macro.
- RTNGRID
- Specifies that the EDTINFO service should return the allocation
group ID corresponding to each UCB address specified by the UCBLIST
parameter. The address of the group ID list is returned in the storage
specified by the GRIDLIST parameter.
- RTNATTR
- Specifies that the EDTINFO service should return general information
about the unit name or device type specified in the UNITNAME or DEVTYPE
parameter. The information is returned in the storage specified by
the ATTRAREA parameter.
- RTNNAMD
- Specifies that the EDTINFO service should return a list of IBM generic
device types (for example, 3380) or esoteric group names (for example,
TAPE) associated with the input device class specified in the DEVCLASS
parameter. The address of the unit name list is returned in the storage
specified by the NAMELIST parameter. You can specify the subpool in
which to obtain storage by using the SUBPOOL parameter.
- RTNDEVN
- Specifies that the EDTINFO service should return the UCB device
number list associated with the unit name or UCB device type specified
by the UNITNAME or DEVTYPE parameter. The address of the device number
list is returned at the address specified by the DEVNLIST parameter.
By using the DYNAMIC parameter, you can specify that devices defined
to the system as dynamic are to be included in the list. By using
the RANGE parameter, you can include 4-digit device numbers in the
returned UCB device number list. By using the LOC parameter, you can
include devices with actual above 16 megabyte UCBs
in the returned UCB device number list.
- MAXELIG
- Specifies that the EDTINFO service should determine the maximum
eligible device type (for the allocation and cataloging of a data
set on a tape device) associated with the unit name or device type,
recording mode, and density provided as input. The maximum eligible
device type is the tape device type that contains the greatest number
of eligible devices compatible with the specified recording mode and
density. You specify the unit name or device type in the UNITNAME
or DEVTYPE parameters. The recording mode and density are specified
in the RECMODE and DENSITY parameters. EDTINFO returns the maximum
eligible device type in the OUTUNIT or OUTDEV parameter, depending
on which one you specify.
- RTNUNAFF
- Specifies that the EDTINFO service should return the default unit-affinity-ignored
unit name that was provided on the UNITAFF subparameter of the UNIT
parameter in the ALLOCxx parmlib member, or defaulted by the system.
The unit name is returned in the storage specified by the OUTUNIT
parameter, or the device type is returned in the storage specified
by the OUTDEV parameter, depending on which one you specify.
- ,DEVCOUNT=devcount addr
- Specifies the fullword input field that contains the number of
entries in the input device number list and the optional output device
status list.
- ,DEVLIST=devlist addr
- Specifies the address of an input pointer that contains the address
of the device number list. This list can be in two different formats:
- The first format is used for 3-digit device numbers. The format
consists of an array of 4-byte entries. The first 3 bytes contain
the EBCDIC device number and the last byte is a flag byte containing
output flags. Bit 0 in the flag byte indicates the validity of the
device number: If the bit is set to 1, the device number is not valid.
Bit 1 in the flag byte indicates whether the device number is associated
with the unit name or the device type specified as input: If the
bit is set to 1, the device number is not associated with the unit
name or device type.
- The second format is used for 4-digit device numbers; DEVSTAT
must also be specified. Each entry in the format contains a 4-byte
EBCDIC device number. The status byte is in the device status array
provided by the DEVSTAT parameter.
- ,DEVSTAT=devstat addr
- Specifies the address of an input pointer that contains the address
of the output device status list. This optional list consists of
an array of 2-byte entries that are parallel to the input device number
list. In each entry, the first byte contains output flags and the
second byte is reserved for IBM use. Bit 0 in the flag byte
indicates the validity of the device number contained in the device
number list. If the bit is set to 1, the device number is not valid.
Bit 1 in the flag byte indicates whether the device number contained
in the device number list is associated with the unit name or the
device type specified as input. If that bit is set to 1, the device
number is not associated with the input unit name or device type.
- ,UNITNAME=unitname addr
- ,DEVTYPE=devtype addr
- Specifies either the 8-character input field that contains the
unit name (UNITNAME=unitname addr) or specifies
the 4-character input field that contains the 4-byte UCB device type
(DEVTYPE=devtype addr).
- ,SUBPOOL=subpool addr
- Specifies a 1-byte input field that indicates in which subpool
the storage should be obtained. If you do not specify SUBPOOL, the
default is subpool 230 if the caller is authorized, and subpool 0
if the caller is not authorized. The caller is responsible for freeing
the storage once it is no longer required.
- ,UCBALIST=ucbalist addr
- Specifies the address of an output pointer that is to contain
the address of the UCB pointer list. The pointer list format is as
follows:
- an 8 byte header containing
- a 1-byte field indicating the subpool in which the storage resides
- a 3-byte field containing the size of the pointer list (including
the header)
- a 4-byte field containing the number of entries in the list.
- an array of 4-byte entries containing the actual UCB addresses
(for below 16 megabyte static
and installation-static UCBs with 3-digit device numbers only).
- ,UCBLIST=ucblist addr
- Specifies the address of an input pointer that contains the address
of the UCB pointer list. This list consists of a 4-byte header containing
the number of entries in the list followed by an array of 4-byte entries
containing the actual or captured UCB addresses.
- ,GRIDLIST=gridlist addr
- Specifies the address of an input pointer that contains the address
of the group ID list. This list is an array of 4-byte entries that
parallel the input UCB pointer list entries and contain the group
ID associated with each UCB.
- ,ATTRAREA=attrarea addr
- Specifies the address of a 10-character output field in which
general information about the unit name or device type (specified
by the UNITNAME or DEVTYPE parameter) is returned. The contents of
ATTRAREA are:
- Byte
- Contents
- 0
- Length of the attribute area (X'0A'). You must fill in
this byte prior to issuing EDTINFO.
- 1-2
- Flags describing the unit name:
- Bit
- Meaning
- 0
- If bit is on, the unit name is an esoteric group name.
- 1
- If bit is on, the unit name is VIO-eligible.
- 2
- Not part of the programming interface.
- 3
- If bit is on, the unit name contains TP class devices.
- 4-15
- Not part of the programming interface.
- 3
- Number of device classes in the unit name.
- 4-7
- Number of generic device types in the unit name.
- 8-9
- Not part of the programming interface.
- ,DEVCLASS=devclass addr
- Specifies the address of a 1-character input field that contains
the device class in hexadecimal.
- ,NAMELIST=namelist addr
- Specifies the address of an output pointer that is to contain
the address of the unit name list. The format of the unit name list
is as follows:
- an 8-byte header containing
- a 1-byte field indicating the subpool in which the storage resides
- a 3-byte field containing the size of the unit name list (including
the header)
- a 4-byte field containing the number of entries in the list
- an array of 8-byte entries containing the actual unit names.
- ,DYNAMIC=YES
- ,DYNAMIC=NO
- Specifies whether dynamic devices should (DYNAMIC=YES) or should
not (DYNAMIC=NO) be included in the device number list. If you specify
DYNAMIC=NO, only static and installation-static devices are included
in the list.
- ,LOC=ANY
- ,LOC=BELOW
- Specifies whether the output device number list should be restricted
to devices with below 16 megabyte UCBs
(LOC=BELOW) or should also include devices with above 16 megabyte UCBs (LOC=ANY)
when you specify the RTNDEVN parameter.
- ,RANGE=ALL
- ,RANGE=3DIGIT
- Specifies whether all devices (RANGE=ALL) or only those devices
with device numbers of 3 digits or less (RANGE=3DIGIT) should be included
in the output device number list.
- ,DEVNLIST=devnlist addr
- Specifies the address of an output pointer that is to contain
the address of the output device number list. In other words, DEVNLIST
is a pointer to a pointer to the output device number list. The format
of the device number list is as follows:
- a 4-byte field containing the size of the list (including the
header)
- a 4-byte field containing the number of entries in the list
- an array of 4-byte entries containing the actual EBCDIC device
numbers.
This storage must be obtained by the caller prior to invoking
the EDTINFO macro and must reside in the caller's key. The caller
must store the length of the list into the header before invoking
the macro. If there is not enough storage to contain all of the entries,
the following occurs: - a return code of 8 and a reason code of 4 are returned
- the number of entries is filled in
- no EBCDIC device numbers are returned.
- ,IOCTOKEN=ioctoken addr
- Specifies a 48-character area for the MVS™ I/O
configuration token. If the current EDT definition is not consistent
with the token specified as input by ioctoken addr,
the caller is notified through a return code.
If the input specified
by ioctoken addr is set to binary zeros, EDTINFO
sets IOCTOKEN to the current MVS I/O configuration token.
- ,RECMODE=recmode addr
- Specifies the address of an 8-bit input that indicates the recording
mode.
- ,DENSITY=density addr
- Specifies the address of an 8-bit input that indicates the density.
- ,OUTUNIT=outunit addr
- ,OUTDEV=outdev addr
- Specifies the address of an 8-character field where EDTINFO returns
the unit name (OUTUNIT=outunit addr) or specifies
the address of a 4-character field where EDTINFO returns the 4-byte
device type (OUTDEV=outdev addr).
- ,RETCODE=retcode addr
- Specifies the fullword location where the system is to store the
return code. The return code is also in GPR 15.
- ,RSNCODE=rsncode addr
- Specifies the fullword location where the system is to store the
reason code. The reason code is also in GPR 0.
Return and reason codes
When control returns from EDTINFO, GPR 15 (and retcode
addr, if you coded RETCODE) contains one of the following
hexadecimal return codes:
Return Code |
Meaning |
---|
00 |
The requested function or functions were performed
and no reason code information has been returned. |
04 |
The requested function or functions were performed
and information has been returned, as explained by the hexadecimal
reason code that accompanies this return code. The reason code is
in GPR 0 (and in rsncode addr, if you coded RSNCODE). - Reason Code
- Meaning
- 01
- The input device numbers do not belong to the same group.
- 02
- One or more of the input device numbers does not belong to the
input unit name or device type.
- 03
- The input unit name was valid but no units matching the specified
or defaulted selection criteria were found. No UCB addresses or device
numbers have been returned.
|
08 |
There is data in the input parameter list that
is not valid, as explained by the hexadecimal reason code that accompanies
this return code. The reason code is in GPR 0 (and in rsncode
addr, if you coded RSNCODE). - Reason Code
- Meaning
- 01
- The input unit name could not be found in the EDT.
- 02
- The input device type could not be found in the EDT.
- 03
- One or more of the input device numbers is invalid.
- 04
- The caller did not provide sufficient storage for the returned
information.
- 05
- The MAXELIG function requires a generic device type as input,
but the input specified does not represent a generic device type.
- 06
- The caller did not request any functions.
- 07
- The caller requested functions that are not valid.
- 08
- For a required input, the caller specified a value that is not
valid. For example, other functions were specified with a function
that requires no other function requests.
|
0C |
A configuration change has occurred and the input
I/O configuration token does not match the current token. |
10 |
Storage could not be obtained for the request. |
18 |
An unexpected system error occurred. |
Note: When you specify multiple functions, the system returns the
return code with the highest numerical value, and its associated reason
code.
Example 1
Obtain the attributes for the device whose unit name is contained
in UNIT_NAME. Return the information in ATTRIBUTE_AREA. EDTINFO RTNATTR,UNITNAME=UNIT_NAME,ATTRAREA=ATTRIBUTE_AREA
Example 2
Obtain the list of device numbers for the device type specified
in DEVICE_TYPE. Include dynamic devices in the list. Return the
list in the area pointed to by DEVICE_LIST_PTR. EDTINFO RTNDEVN,DYNAMIC=YES,DEVTYPE=DEVICE_TYPE, X
DEVNLIST=DEVICE_LIST_PTR
Example 3
Determine whether the list of device numbers specified by DEVICE_LIST_PTR
is a valid allocation group. DEVICE_COUNT specifies a field containing
the number of entries in the list. Use the IOCTOKEN parameter to
return the current MVS I/O configuration token in CONFIG_TOKEN.
The status of the devices is returned in the list specified by STATUS_LIST_PTR.
Following some other processing, return the allocation group ID
that corresponds to each UCB address found in the list specified by
UCB_LIST_PTR. Return the list of group IDs in the area specified
by GRID_LIST_PTR. Use the IOCTOKEN parameter, specifying the previously-obtained MVS I/O
configuration token as input in CONFIG_TOKEN, to determine whether
the I/O configuration has changed since EDTINFO was issued. EDTINFO CHKGRPS,DEVCOUNT=DEVICE_COUNT, X
DEVLIST=DEVICE_LIST_PTR,IOCTOKEN=CONFIG_TOKEN, X
DEVSTAT=STATUS_LIST_PTR.
.
.
.
EDTINFO RTNGRID,UCBLIST=UCB_LIST_PTR, X
GRIDLIST=GRID_LIST_PTR,IOCTOKEN=CONFIG_TOKEN
Example 4
Determine whether the list of device numbers specified by DEVICE_LIST_PTR
is a valid allocation group, and determine if these device numbers
correspond to the unit name in the EDT. DEVICE_COUNT specifies a field
containing the number of entries in the list. DEVICE_TYPE specifies
a field containing the device type. Store the return code from register
15 in RETURN_CODE, and store the reason code from register 0 in REASON_CODE.
The status of the devices is returned in the list specified by STATUS_LIST_PTR. EDTINFO CHKGRPS,CHKUNIT,DEVTYPE=DEVICE_TYPE, X
DEVCOUNT=DEVICE_COUNT,DEVLIST=DEVICE_LIST_PTR, X
RETCODE=RETURN_CODE,RSNCODE=REASON_CODE, X
DEVSTAT=STATUS_LIST_PTR
Example 5
Return (in the output device number list specified by DEVICE_LIST_PTR)
the UCB device numbers associated with the device type DEVICE_TYPE.
All devices should be included in the output device number list. EDTINFO RTNDEVN,DEVTYPE=DEVICE_TYPE,DYNAMIC=YES X
RANGE=ALL,LOC=ANY, X
DEVNLIST=DEVICE_LIST_PTR
|