z/OS MVS Programming: Assembler Services Reference ABE-HSP
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Description

z/OS MVS Programming: Assembler Services Reference ABE-HSP
SA23-1369-00

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:
  1. If you specify both RTNUNIT and MAXELIG, the variable specified by OUTUNIT will contain the results of the MAXELIG function.
  2. If you specify both RTNUNIT and RTNUNAFF, the variable specified by OUTUNIT will contain the results of the RTNUNIT function.
  3. 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.

Programming requirements

None.

Restrictions

None.

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.

Performance implications

None.

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:
  1. 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.
  2. 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

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014