10 FILE_LICENCE ( GPL2_OR_LATER );
13 #include <ipxe/crypto.h>
21 /** An MD5 data block */
27 /** Final block structure */
36 /** MD5 digest and data block
38 * The order of fields within this structure is designed to minimise
41 struct md5_digest_data {
42 /** Digest of data already processed */
43 struct md5_digest digest;
44 /** Accumulated data */
46 } __attribute__ (( packed ));
48 /** MD5 digest and data block */
49 union md5_digest_data_dwords {
50 /** Digest and data block */
51 struct md5_digest_data dd;
53 uint32_t dword[ sizeof ( struct md5_digest_data ) /
54 sizeof ( uint32_t ) ];
59 /** Amount of accumulated data */
61 /** Digest and accumulated data */
62 union md5_digest_data_dwords ddd;
63 } __attribute__ (( packed ));
65 /** MD5 context size */
66 #define MD5_CTX_SIZE sizeof ( struct md5_context )
68 /** MD5 digest size */
69 #define MD5_DIGEST_SIZE sizeof ( struct md5_digest )
71 extern struct digest_algorithm md5_algorithm;
73 #endif /* _IPXE_MD5_H */