typedef struct {

// The 15 LSB's of 'val' indicate the total item size, including the header, in 8-bit bytes.

unsigned len : 15 ;

// The 1 MSB of 'val' is used as a boolean to indicate in-use or freed.

unsigned inUse : 1 ;

} osalMemHdrHdr_t ;

typedef union {

/* Dummy variable so compiler forces structure to alignment of largest element while not wasting

* space on targets when the halDataAlign_t is smaller than a UINT16.

*/

halDataAlign_t alignDummy ;

uint16 val ;

osalMemHdrHdr_t hdr ;