Certain definitions related to internal LVM structures require lvm_data.h to be included as well. These are documented in the individual data type descriptions.
Note: All LVM data structures must be aligned on one-byte boundaries. When using the IBM C Compiler, you can ensure this by building with the /Sp1 parameter, or by using the #pragma pack preprocessor directive.