php_hash_tiger.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. +----------------------------------------------------------------------+
  3. | Copyright (c) The PHP Group |
  4. +----------------------------------------------------------------------+
  5. | This source file is subject to version 3.01 of the PHP license, |
  6. | that is bundled with this package in the file LICENSE, and is |
  7. | available through the world-wide-web at the following url: |
  8. | https://www.php.net/license/3_01.txt |
  9. | If you did not receive a copy of the PHP license and are unable to |
  10. | obtain it through the world-wide-web, please send a note to |
  11. | license@php.net so we can mail you a copy immediately. |
  12. +----------------------------------------------------------------------+
  13. | Author: Michael Wallner <mike@php.net> |
  14. +----------------------------------------------------------------------+
  15. */
  16. #ifndef PHP_HASH_TIGER_H
  17. #define PHP_HASH_TIGER_H
  18. /* TIGER context */
  19. typedef struct {
  20. uint64_t state[3];
  21. uint64_t passed;
  22. unsigned char buffer[64];
  23. uint32_t length;
  24. unsigned int passes:1;
  25. } PHP_TIGER_CTX;
  26. #define PHP_TIGER_SPEC "q3qb64l"
  27. PHP_HASH_API void PHP_3TIGERInit(PHP_TIGER_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args);
  28. PHP_HASH_API void PHP_4TIGERInit(PHP_TIGER_CTX *context, ZEND_ATTRIBUTE_UNUSED HashTable *args);
  29. PHP_HASH_API void PHP_TIGERUpdate(PHP_TIGER_CTX *context, const unsigned char *input, size_t len);
  30. PHP_HASH_API void PHP_TIGER128Final(unsigned char digest[16], PHP_TIGER_CTX *context);
  31. PHP_HASH_API void PHP_TIGER160Final(unsigned char digest[20], PHP_TIGER_CTX *context);
  32. PHP_HASH_API void PHP_TIGER192Final(unsigned char digest[24], PHP_TIGER_CTX *context);
  33. #endif