An ATTRIBUTES data type indicates that the data is an array
of attributes. The attributes data header is mapped by the TFMT_TDATTRIBS
section of the IEWTFMT macro. The map is described in Table 1.
The attributes are the program attributes that have been set by
the binder as options. Specifically, they are: AC, AMODE, PAGE, DC,
EDIT, EP, EXEC, FETCHOPT, OL, REUS, RMODE, SCTR, SSI, and TEST. The
program attributes have the same names and values as the binder options,
as described in
Setting options with the regular binder API, except for the
following:
- The EP value is an entry point offset.
- The EXEC attribute indicates if the program is executable. The
values are YES or NO.
- The PAGE attribute indicates if page alignment is performed for
this program. The values are YES or NO.
Figure 1. Attributes
Data Record
Table 1. Transportable
program attributes data headerName |
Description |
---|
TFMT_TDATTRIBS |
DSECT |
|
Maps the attributes data header |
TFMT_TDATTRIBS_EYE |
DS |
CL8 |
Data record identifier. Contains string 'IEWTATTR'. |
TFMT_TDATTRIBS_LVL |
DS |
FL1 |
Level number: 1 |
TFMT_TDATTRIBS_RS1 |
DS |
CL3 |
Reserved |
TFMT_TDATTRIBS_LEN |
DS |
FL4 |
Attribute data record length including the varying
data |
TFMT_TDATTRIBS_DLEN |
DS |
FL4 |
Length of the varying attributes data |
TFMT_TDATTRIBS_OFF |
DS |
FL2 |
Offset to the attributes varying data. The offset
is relative to the beginning of TFMT_TDATTRIBS. |
TFMT_TDATTIBS_RS2 |
DS |
FL2 |
Reserved |
Note: The attributes
data is stored immediately after the attributes data header. The varying
attributes data has this format: ATTRIBUTES_COUNT(how many in array) (4 bytes)
ATTRIBUTES_ARRAY
ATTRIBUTE_NAME (8 bytes)
ATTRIBUTE_LENGTH (2 bytes)
ATTRIBUTE_VALUE_OFFSET (2 bytes)
The offset is relative to the beginning of this
attributes array.
The attribute value has a length of ATTRIBUTE_LENGTH.
ACTUAL VARYING VALUES (saved contiguously to previous structure)
The
linear format of this data is: ATTRIBUTES_COUNT (N) +
ATTRIBUTE_NAME(1) + ATTRIBUTE_LENGTH(1) + OFFSET(1) +
ATTRIBUTE_NAME(2) + ATTRIBUTE_LENGTH(2) + OFFSET(2) + ...
ATTRIBUTE_NAME(N) + ATTRIBUTE_LENGTH(N) + OFFSET(N) +
ACTUAL ATTRIBUTE VALUE(1) + ACTUAL ATTRIBUTE VALUE(2) + ...
ACTUAL ATTRIBUTE VALUE(N).
|