Each ordinal type record assigns a number, called an ordinal
type index, that is used by later records to refer to an ordinal type
described by this record. The name of the type is indicated by a literal
index. Each ordinal type record contains the file index and source
line number for the file and line in which the ordinal type was declared.
Each ordinal type record contains:
- A count of the number of values defined by that type
- The precision associated with the type
- Bits indicating if it is signed or unsigned
Table 1. Declare for an ordinal type record
declare /* */
1 xin_Ord_Type based, /* */
/* */
2 xin_Ord_Type_Hdr /* standard header */
like xin_Hdr, /* */
/* */
2 xin_Ord_Type_File_Id /* file id */
fixed bin(31) unsigned, /* */
/* */
2 xin_Ord_Type_Line_No /* line no within file */
fixed bin(31) unsigned, /* */
/* */
2 xin_Ord_Type_Id /* identifying number */
fixed bin(31), /* */
/* */
2 xin_Ord_Type_Count /* count of elements */
fixed bin(31), /* */
/* */
2 xin_Ord_Type_Prec /* precision for ordinal */
fixed bin(08) unsigned, /* */
/* */
2 *, /* */
3 xin_Ordinal_Type_Signed /* signed attribute applies */
bit(1), /* */
3 xin_Ordinal_Type_Unsigned /* unsigned attribute applies */
bit(1), /* */
3 * /* unused */
bit(6), /* */
/* */
2 * /* unused */
char(2), /* */
/* */
2 xin_Ord_Type_Name /* type name */
fixed bin(31); /* */
|