1 #ifndef crypto_auth_hmacsha512256_H 2 #define crypto_auth_hmacsha512256_H 3 4 #include <stddef.h> 5 #include "crypto_auth_hmacsha512.h" 6 #include "export.h" 7 8 #ifdef __cplusplus 9 # ifdef __GNUC__ 10 # pragma GCC diagnostic ignored "-Wlong-long" 11 # endif 12 extern "C" { 13 #endif 14 15 #define crypto_auth_hmacsha512256_BYTES 32U 16 SODIUM_EXPORT 17 size_t crypto_auth_hmacsha512256_bytes(void); 18 19 #define crypto_auth_hmacsha512256_KEYBYTES 32U 20 SODIUM_EXPORT 21 size_t crypto_auth_hmacsha512256_keybytes(void); 22 23 SODIUM_EXPORT 24 int crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in, 25 unsigned long long inlen,const unsigned char *k); 26 27 SODIUM_EXPORT 28 int crypto_auth_hmacsha512256_verify(const unsigned char *h, 29 const unsigned char *in, 30 unsigned long long inlen, 31 const unsigned char *k) 32 __attribute__ ((warn_unused_result)); 33 34 /* ------------------------------------------------------------------------- */ 35 36 typedef crypto_auth_hmacsha512_state crypto_auth_hmacsha512256_state; 37 38 SODIUM_EXPORT 39 size_t crypto_auth_hmacsha512256_statebytes(void); 40 41 SODIUM_EXPORT 42 int crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state, 43 const unsigned char *key, 44 size_t keylen); 45 46 SODIUM_EXPORT 47 int crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state, 48 const unsigned char *in, 49 unsigned long long inlen); 50 51 SODIUM_EXPORT 52 int crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state, 53 unsigned char *out); 54 55 SODIUM_EXPORT 56 void crypto_auth_hmacsha512256_keygen(unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif 63