Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef _GPXE_CRYPTO_H
  2. #define _GPXE_CRYPTO_H
  3. /** @file
  4. *
  5. * Cryptographic API
  6. *
  7. */
  8. #include <stdint.h>
  9. /**
  10. * A message-digest algorithm
  11. *
  12. */
  13. struct digest_algorithm {
  14. /** Algorithm name */
  15. const char *name;
  16. /** Size of a context for this algorithm */
  17. size_t context_len;
  18. /** Size of a message digest for this algorithm */
  19. size_t digest_len;
  20. /**
  21. * Initialise digest algorithm
  22. *
  23. * @v context Context for digest operations
  24. */
  25. void ( * init ) ( void *context );
  26. /**
  27. * Calculate digest over data buffer
  28. *
  29. * @v context Context for digest operations
  30. * @v data Data buffer
  31. * @v len Length of data buffer
  32. */
  33. void ( * update ) ( void *context, const void *data, size_t len );
  34. /**
  35. * Finish calculating digest
  36. *
  37. * @v context Context for digest operations
  38. * @v digest Buffer for message digest
  39. */
  40. void ( * finish ) ( void *context, void *digest );
  41. };
  42. #endif /* _GPXE_CRYPTO_H */