String PDF syntax

A string PDF is an ASCII text file that contains one or more string physical descriptions. A string physical description has the following syntax.

  STRING = label
  [ABBREVID = id]
  UNITTYPE = unit
  [COLUMNS = number]
  [TWOHEADED = {TRUE | FALSE}]

    [  (DEFAULT | EXACTLY) number UNITS   ]

    (   UNIT [= label]  (
  DEVICES = number |...
  DEVICERANGE = (position,count) [,(position,count)]...)
    )...

  [ALLOW {number | (number[,number]...)}]
  [DEFAULT number]
  HOSINTS = ( label (,label)... )

Explanation of PDF changes 

DEFAULT
The DEFAULT clause for the number of units indicates the number of units the string is created with. If the EXACTLY clause is used, this number does not change during the string is installed. The number of the unit definitions must be equal or larger as the number specified in the clause - if EXACTLY is used, no unit definitions are allowed.
DEVICES DEVICERANGE
The DEVICES and DEVICERANGE clauses in the unit definitions specify either a count of devices or ranges of devices. Each range of devices owns a position and count. If the first unit definition uses the DEVICES keyword, all subsequent unit definition must use the DEVICES keyword. In the same way, if the first unit uses DEVICERANGE, all subsequent units must use DEVICERANGE. These definitions control the assignment of I/O device numbers to units when the string is created or when devices are added to the string. If the DEVICES keyword is used, new devices will be assigned to units in the string sequentially - each unit owns the specified number of devices. If DEVICERANGE is used, the position of the device in a sequence of new device numbers being added to the string will be compared with the DEVICERANGE definition for the units to determine which unit the device should be added to.

The allowed values for string attributes are:

Table 1. String PDF Attributes
Attribute Allowed Values Description
ABBREVID String of up to 8 characters An optional identifier that can be used to select a particular physical description during IODF load or re-synchronization.
UNITTYPE String of up to 13 characters A valid device type (required), e.g. “3390”
COLUMNS Positive integer A number indicating the number of units in each row (default is 1).
TWOHEADED TRUE or FALSE If TRUE, the string is drawn with two strings of units and two sets of interfaces. The default value is FALSE.

The IBM PDF for 3390 strings is as follows:

  String = "IBM 3390 all models"
  UnitType = "3390"
  Default 3 Units
      Unit    Devices=8
      Unit    Devices=12
      Unit    Devices=12

  Allow (4) Default 4 hosInts=(A,B,C,D)

The IBM PDF for IBM RAMAC Array DASD is as follows:

  String = "IBM RAMAC Array DASD"
  AbbrevId = "RAMAC"
  UnitType = "3390"
  Columns = 2
  Exactly 16 Units
      Unit  DeviceRange=(30,2)
      Unit  DeviceRange=(28,2)
      Unit  DeviceRange=(26,2)
      Unit  DeviceRange=(24,2)
      Unit  DeviceRange=(22,2)
      Unit  DeviceRange=(20,2)
      Unit  DeviceRange=(18,2)
      Unit  DeviceRange=(16,2)
      Unit  DeviceRange=(0,2)
      Unit  DeviceRange=(2,2)
      Unit  DeviceRange=(4,2)
      Unit  DeviceRange=(6,2)
      Unit  DeviceRange=(8,2)
      Unit  DeviceRange=(10,2)
      Unit  DeviceRange=(12,2)
      Unit  DeviceRange=(14,2)

  Allow 4 hosInts=(A0,A1,A2,A3)

This indicates that a RAMAC string contains 16 units arranged in two columns in the diagram, and that the first two devices (0 and 1) are assigned to the ninth unit (fifth row and first column), and so on.