/*
 * ENUM: SE_FIELD_MODIFIER_ENUM
 *
 *   Used in SE_DRM_FIELD_STRUCTURE to describe how a field within a
 *   structure was 'modified' by the declaration of the field. This is
 *   a list of the different ways that a field can be 'modified' when
 *   the field is declared within a typedef in C.
 *
 *   If a field was not modified, then it is listed as having a
 *   modifier of 'SE_PLAIN'.
 *
 *   Although it may seem unusual, we are defining a field that
 *   represents a union as a field which has been 'modified' by the
 *   simple fact that it is a union.  This allows us to differentiate
 *   unions from 'plain' fields - which is very important for our
 *   meta-data code.
 */
typedef enum
{
SE_PLAIN = 0, (notes)
SE_1D_ARRAY, (notes)
SE_2D_ARRAY, (notes)
SE_POINTER, (notes)
SE_UNION, (notes)
SE_INVALID_FIELD = 99 (notes)
} SE_FIELD_MODIFIER_ENUM;


Enumerator Notes

SE_PLAIN

 e.g. SE_STRING  name;

SE_1D_ARRAY

 e.g. SE_FLOAT64 edge_length[3];

SE_2D_ARRAY

 e.g. SE_FLOAT64 mat[3][3];

SE_POINTER

 e.g. char *string_value;

SE_UNION

 e.g. the "u" field from your
 favorite union-containing struct

SE_INVALID_FIELD

 if a reference is made to a non-existent field
Prev: SE_FEATURE_TOPOLOGY_LEVEL_ENUM. Next: SE_FIELDS. Up:Index