You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

digest_test.h 899B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _DIGEST_TEST_H
  2. #define _DIGEST_TEST_H
  3. FILE_LICENCE ( GPL2_OR_LATER );
  4. #include <stdint.h>
  5. #include <ipxe/crypto.h>
  6. #include <ipxe/test.h>
  7. /** Maximum number of digest test fragments */
  8. #define NUM_DIGEST_TEST_FRAG 8
  9. /** A digest test fragment list */
  10. struct digest_test_fragments {
  11. /** Fragment lengths */
  12. size_t len[NUM_DIGEST_TEST_FRAG];
  13. };
  14. extern int digest_test ( struct digest_algorithm *digest,
  15. struct digest_test_fragments *fragments,
  16. void *data, size_t len, void *expected );
  17. /**
  18. * Report digest test result
  19. *
  20. * @v digest Digest algorithm
  21. * @v fragments Digest test fragment list, or NULL
  22. * @v data Test data
  23. * @v len Length of test data
  24. * @v expected Expected digest value
  25. */
  26. #define digest_ok( digest, fragments, data, len, expected ) do { \
  27. ok ( digest_test ( digest, fragments, data, len, expected ) ); \
  28. } while ( 0 )
  29. #endif /* _DIGEST_TEST_H */