This general macro accepts a symbolic module number from the requester and
responds with information about that symbolic module taken from the
appropriate disk status table. The information is returned in a
consistent format, even though the individual status tables are not in a
consistent format.
Format
- label
- A symbolic name can be assigned to the macro statement.
- ERR=label1
- An optional parameter for a label to which the program will branch if the
symbolic module number is illegal.
- GFNM=label2
- An optional parameter for a label to which the program will branch if the
symbolic module number refers to a "pseudo mod", a general file that
is not mounted.
- GDS
- An optional parameter that specifies whether general data set module
numbers are to be processed.
- NO
- Any symbolic module number that is greater then the COPY MOD number is
considered invalid.
- YES
- Any symbolic module number in the number range for general data set
modules is processed as valid.
Entry Requirements
- R9 must contain the address of the ECB being processed.
- R15 must contain, in binary, the symbolic module number for which
information is desired.
Return Conditions
- Control is returned to the next sequential instruction.
- If this macro is called from a program running in 24-bit mode, the
condition code will be saved across this macro call. If the macro is
called from a program running in 31-bit mode, the condition code upon return
from this macro is unknown.
- If the supplied symbolic module number is illegal, R15 will contain
0's.
- If the supplied symbolic module number is legal, then:
R14 bytes 0-1 = Number of duplicate module
2-3 = Hardware address of module
R15 bytes 0-1 = Unit status, as follows:
Bit(s) If off: If on:
Byte 0:
0 Normal Reserved
1 Normal Reserved
2 Normal Reserved
3 Normal Copy State
4 Normal Reserved
5 Online Offline
6 Non-dup'd module Module is dup'd
7 Wholly dup'd Partially dup'd
Byte 1:
0 CKD CCWs ECKD (*) CCWs
1 Real-time module General module
2 Normal Copy module
3 Normal General Dataset module
4 Normal Cache CU
5 Normal RCS CU
6 Normal CU supports prefixing
7 Reserved for future use
Byte 2: DASD
X'00' = DEVA
X'04' = DEVB
X'08' = DEVC
X'0C' = DEVD
Byte 3: 0001xxxx
Bit 3 = 1 DASD
Bits 4-7 = xxxx
Device Type
Where: 0110-3350
1000-3375
1010-3380
1100-3390
1101-9345
Programming Considerations
- This macro can be executed on any I-stream.
- It is the user's responsibility to know which bits of returned
information do not apply to the particular device type and to ignore such
information.
Examples
None.