- /* from cryptsetup-luks luks.h */
- struct luks_phdr {
- char magic[LUKS_MAGIC_L];
- uint16_t version;
- char cipherName[LUKS_CIPHERNAME_L];
- char cipherMode[LUKS_CIPHERMODE_L];
- char hashSpec[LUKS_HASHSPEC_L];
- uint32_t payloadOffset;
- uint32_t keyBytes;
- char mkDigest[LUKS_DIGESTSIZE];
- char mkDigestSalt[LUKS_SALTSIZE];
- uint32_t mkDigestIterations;
- char uuid[UUID_STRING_L];
- struct {
- uint32_t active;
-
- /* parameters used for password processing */
- uint32_t passwordIterations;
- char passwordSalt[LUKS_SALTSIZE];
-
- /* parameters used for AF store/load */
- uint32_t keyMaterialOffset;
- uint32_t stripes;
- } keyblock[LUKS_NUMKEYS];
- } *header;