z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Device Characteristics Information

z/OS DFSMSdfp Advanced Services
SC23-6861-01

The following information is placed into your area as a result of issuing a DEVTYPE macro if you do not code the INFOLIST parameter.

Word 0: Describes the device as defined in the UCBTYP field of the UCB. The IHADVA macro maps these four bytes this way:
Table 1. Simulated Device Characteristics Information
Offset Length Symbol Description
0 2 DVAOPTS Model and option bits that depend on the device
2 1 DVACLASS Device class. Exactly one bit is on except that X'41' means a channel-to-channel adapter.

X'80'=magnetic tape, X'40'=unit record, X'20'=DASD, X'10'=display and X'08'=character reader.

A value of X'01' indicates a simulated device that does not have a UCB. These meanings are described in Table 2.

3 1 DVAUNIT Device type. Depends on the device class.

Simulated Device Characteristics:

Any reference to one of the following types in Table 2 causes the information shown to be placed in word 0 and word 1 of the output area.

Table 2. Simulated Device Characteristics Information
Data Set Type Word 0 in Hexadecimal Word 1 in Hexadecimal
DUMMY application process queue 0000 0000 0000 0000
TSO terminal 0000 0101 0000 7FF8
SYSIN, SYSOUT, or subsystem (SUBSYS=) 0000 0102 0000 7FF8
UNIX system services (possibly HFS) file 0000 0103 0000 7FF8
The system also uses a copy of the UCBTYP word in these places:
Word 1

Maximum block size without using the large block interface of the access method. The maximum value is 32760 bytes. For direct access devices, this value is the smaller of either the maximum size of a nonkeyed block or the maximum block size allowed by the operating system; for magnetic tape devices, this value is the maximum block size allowed by the access methods. For these and other device types, see Table 3.

If your program specifies either DEVTAB or UCBLIST without INFOLIST, the next three words contain the following information about direct access devices:

Word 2
Bytes 0-1
The number of physical cylinders on the device, including alternates. Treat this as an unassigned 16-bit number.
Recommendation: Before you use bytes 0 and 1, read the description of word 4, byte 1, bit 0. For a VIO data set, that bit is zero, and the number of cylinders is as many as are needed to contain the simulated data set. This can differ from the number for the real device being simulated.
Bytes 2-3
The number of tracks per cylinder.
Word 3
Bytes 0-1
Maximum track length. Note that this value is not equal to the value in word 1 (maximum block size).
Byte 2
Block overhead, keyed block—the number of bytes required for gaps and check bits for each keyed block other than the last block on a track.
Recommendation: Before using bytes 2 and 3, read the description of word 4.
Byte 3
Block overhead—the number of bytes required for gaps and check bits for a keyed block that is the last block on a track.
Bytes 2-3
Block overhead—the number of bytes required for gaps and check bits for any keyed block on a track including the last block. Use of this form is indicated by a 1 in bit 4, byte 1 of word 4.

Basic overhead—the number of bytes required for the count field. Use of this form is indicated by a 1 in bit 3, byte 1 of word 4.

Word 4
Byte 0
Block overhead, block without key—the number of bytes to be subtracted from word 3, bytes 2 or 3 or bytes 2 and 3, if a block is not keyed.

If bit 3, byte 1 of word 4 is 1, this byte contains the modulo factor for a modulo device.

Byte 1
Bit 0
If on, the number of cylinders, as indicated in word 2, bytes 0 and 1 is not valid. If the number of cylinders on the volume exceeds 65520, then this bit is on. To retrieve the number of cylinders for any DASD, you can use the INFO=DASD operand of the DEVTYPE macro.
Bit 1
If on, ECKD™ supported. This means that the following commands are supported:
  • Define Extent (X'63') at the beginning of the channel program, except with VIO.
  • Locate Record (X'47')
  • Read Multiple Count, Key and Data (X'5E')
  • Write Count, Key and Data Next Track (X'9D')
For VIO data sets, this bit is on because these commands are always supported. For a non-VIO DASD, this bit also means that the device supports the Define Extent command, but EXCP allows it only at the beginning of your channel program. See DASD Channel Program Prefix CCW Commands.
Bits 2-3
If both on, indicates the drive is attached to a cache storage control.
Bit 3
If on, indicates a modulo device (such as 3380, 3390).
Bit 4
If on, bytes 2 and 3 of word 3 contain a halfword giving the block overhead for any block on a track, including the last block.
Bit 5
If on, the device supports paging CCWs.
Bit 6
If on, the device has no alternate cylinders.
Bit 7
If on, a tolerance factor must be applied to all blocks except the last block on the track.
Bytes 2-3
Tolerance factor—this factor is used to calculate the effective length of a block. The calculation should be performed in the following order:
Step 1
Add the block's key length to the block's data length.
Step 2
Test bit 7 of byte 1 of word 4. If bit 7 is 0, perform step 3. If bit 7 is 1, multiply the sum computed in step 1 by the tolerance factor. Shift the result of the multiplication 9 bits to the right.
Step 3
Add the appropriate block overhead to the value obtained above.

If bit 3, byte 1 of word 4 is 1, bytes 2 and 3 contain the overhead for the data or key field.

If your program specifies DEVTAB and RPS, or specifies UCBLIST without INFOLIST, the next word contains the following information:

Word 5
Bytes 0-1
R0 overhead for sector calculations
Byte 2
Number of sectors for each track
Byte 3
Number of data sectors for each track

Table 3 and Table 4 show the output for each device type that results from issuing the DEVTYPE macro.

If your program specifies UCBLIST and not INFOLIST, the output consists of one 6-word entry for every UCB address contained in the UCB list.

Table 3. Output from DEVTYPE Macro
IBM® Device1 Maximum Access Method Record Size When Not Using Large Block Interface
2540 Reader 80
2540 Punch 80
2501 Reader 80
3890 Document Processor 80
3505 Reader 80
3525 Punch 80
1403 Printer 120 1
3203 Model 5 Printer 132
3211 Printer 132 1
3262 Model 5 Printer 132
4245 Printer 132
4248 Printer 132 2
3800 or 3900 Printing Subsystem 136 3
3410, 3420, 3422, 3424 4 3430, 3480, 3490, 3590 Tape Units 32760
Note:
  1. Although certain models can have a larger line size, the minimum line size is assumed.
  2. The IBM 4248 Printer returns 132 characters even if the 168 Print Position Feature is installed on the device.
  3. The IBM 3800 Printing Subsystem can print 136 characters per line at 10-pitch, 163 characters per line at 12-pitch, and 204 characters per line at 15-pitch. The machine default is 136 characters per line at 10-pitch.
  4. The 3424 Magnetic Tape Unit is available only in Brazil, S.A.
Table 4. Output from DEVTYPE Macro — DASD Devices
IBM Device Maximum Record Size (Word 1, Decimal) DEVTAB (Words 2, 3, and 4, in Hexadecimal) RPS (Word 5, in Hexadecimal)
3380 Models AD4, AJ4, BD4, BJ4, and CJ2 Disk Storage 32 760 0376 000F BB60 0100 2010 010B 04E0 DED6
3380 Models AD4, AJ4, BD4, BJ4, Disk Storage (attached to a cache storage control) 32 760 0376 000F BB60 0100 2030 010B 04E0 DED6
3380 Models AE4 and BE4 Disk Storage 32 760 06EB 000F BB60 0100 2010 010B 04E0 DED6
3380 Models AE4 and BE4 Disk Storage (attached to a cache storage control) 32 760 06EB 000F BB60 0100 2030 010B 04E0 DED6
3380 Models AK4 and BK4 Disk Storage 32 760 0A60 000F BB60 0100 2010 010B 04E0 DED6
3380 Models AK4 and BK4 Disk Storage (attached to a cache storage control) 32 760 0A60 000F BB60 0100 2030 010B 04E0 DED6
3390 Model 1 (attached to a 3990 Model 2) 32 760 0459 000F E5A2 0000 0052 0000 0594 E000
3390 Model 1 (attached to a 3990 Model 3) 32 760 0459 000F E5A2 0000 0072 0000 0594 E000
3390 Model 2 (attached to a 3990 Model 2) 32 760 08B2 000F E5A2 0000 0052 0000 0594 E000
3390 Model 2 (attached to 3990 Model 3) 32 760 08B2 000F E5A2 0000 0072 0000 0594 E000
3390 Model 3 (attached to a 3990 Model 2) 32 760 0D0B 000F E5A2 0000 0052 0000 0594 E000
3390 Model 3 (attached to a 3990 Model 3) 32 760 0D0B 000F E5A2 0000 0072 0000 0594 E000
3390 Model 3 (attached to a 3990 Model 6) 32 760 0D0B 000F E5A2 0000 0072 0000 0594 E000
3390 Model 9 (attached to a 3990 Model 2) 32 760 2721 000F E5A2 0000 0052 0000 0594 E000
3390 Model 9 (attached to a 3990 Model 3) 32 760 2721 000F E5A2 0000 0052 0000 0594 E000
3390 Model 9 (attached to a 3990 Model 6) 32 760 2721 000F E5A2 0000 0052 0000 0594 E000
9345 Model 1 32 760 05A0 000F BC98 0000 0052 0000 04A0 D500
Recommendation: For all currently supported devices, DEVTYPE does not return enough information to perform space calculations. Use the TRKCALC macro and the sector conversion routine to perform space calculations. For information on using the TRKCALC macro, see Performing Track Calculations (TRKCALC macro). For information on the sector conversion routine, see Obtaining the Sector Number of a Block on an RPS Device.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014