Next: , Previous: , Up: Structs   [Contents][Index]

18.5.9 Pinned Structs

Pinned structs is a convenient way to write struct types where the offset of all its fields is zero. They are equivalent to C unions.

For example, consider the _u field below in a CTF type description:

type Ctf_Stype_V1 =
    Ctf_Name ctt_name;
    Ctf_Info_V1 ctt_info;
    pinned struct
      uint32 _size;		/* Size of entire type in bytes.  */
      uint32 _type;		/* Reference to another type.  */
    } _u;

Note that integral structs cannot be pinned. See Integral Structs. And field labels are not allowed in pinned structs.