4 FILE_LICENCE ( GPL2_OR_LATER );
7 #include <ipxe/crypto.h>
10 /** Maximum number of digest test fragments */
11 #define NUM_DIGEST_TEST_FRAG 8
13 /** A digest test fragment list */
14 struct digest_test_fragments {
15 /** Fragment lengths */
16 size_t len[NUM_DIGEST_TEST_FRAG];
19 extern int digest_test ( struct digest_algorithm *digest,
20 struct digest_test_fragments *fragments,
21 void *data, size_t len, void *expected );
22 extern unsigned long digest_cost ( struct digest_algorithm *digest );
25 * Report digest test result
27 * @v digest Digest algorithm
28 * @v fragments Digest test fragment list, or NULL
30 * @v len Length of test data
31 * @v expected Expected digest value
33 #define digest_ok( digest, fragments, data, len, expected ) do { \
34 ok ( digest_test ( digest, fragments, data, len, expected ) ); \
37 #endif /* _DIGEST_TEST_H */