Derived Types
Two classes of derived types may be defined for use within an API: structures and
enumerations. Structures are used to introduce new types specific to the API.
Enumerations are used to restrict numeric values to a legal specified range.