Descriptor for variable-length array of fixed-sized elements.

typedef struct _UMAArrayDescr {
  uint32     offset;  /*  Offset to beginning of data. */
  uint32     count;   /*  Count of elements in the array. */
  uint32     size;    /*  Size of each element in the array. */
} UMAArrayDescr;

typedef   UMAArrayDescr   * UMAArrayDescr ;

Support for random access to variable length members of structures requires that the address of these members is derived from fixed size structures at known offsets within the main structure definition. There are 3 types of variable length member descriptor structures, all of which contain the offset required to locate the variable length data. The 'offset' is considered relative to the base address of the parent structure of the variable-length member descriptor. Extra information concerning the variable length data may also be available.

Note that it is not possible to determine whether a variable length data has been initialized before it is referenced. As a convention, the offset plus length equal 0 could be used to indicate an uninitialized variable length data item.


[Back: DCIUnit]
[Next: UMAArrayDescr Field - offset]