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
12extern "C" {
13#endif
14
15#define crypto_auth_hmacsha512256_BYTES 32U
16SODIUM_EXPORT
17size_t crypto_auth_hmacsha512256_bytes(void);
18
19#define crypto_auth_hmacsha512256_KEYBYTES 32U
20SODIUM_EXPORT
21size_t crypto_auth_hmacsha512256_keybytes(void);
22
23SODIUM_EXPORT
24int crypto_auth_hmacsha512256(unsigned char *out, const unsigned char *in,
25                              unsigned long long inlen,const unsigned char *k);
26
27SODIUM_EXPORT
28int 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
36typedef crypto_auth_hmacsha512_state crypto_auth_hmacsha512256_state;
37
38SODIUM_EXPORT
39size_t crypto_auth_hmacsha512256_statebytes(void);
40
41SODIUM_EXPORT
42int crypto_auth_hmacsha512256_init(crypto_auth_hmacsha512256_state *state,
43                                   const unsigned char *key,
44                                   size_t keylen);
45
46SODIUM_EXPORT
47int crypto_auth_hmacsha512256_update(crypto_auth_hmacsha512256_state *state,
48                                     const unsigned char *in,
49                                     unsigned long long inlen);
50
51SODIUM_EXPORT
52int crypto_auth_hmacsha512256_final(crypto_auth_hmacsha512256_state *state,
53                                    unsigned char *out);
54
55SODIUM_EXPORT
56void crypto_auth_hmacsha512256_keygen(unsigned char k[crypto_auth_hmacsha512256_KEYBYTES]);
57
58#ifdef __cplusplus
59}
60#endif
61
62#endif
63