xref: /freebsd/sys/contrib/libsodium/src/libsodium/include/sodium/crypto_shorthash_siphash24.h (revision 3611ec604864a7d4dcc9a3ea898c80eb35eef8a0)
1 #ifndef crypto_shorthash_siphash24_H
2 #define crypto_shorthash_siphash24_H
3 
4 #include <stddef.h>
5 #include "export.h"
6 
7 #ifdef __cplusplus
8 # ifdef __GNUC__
9 #  pragma GCC diagnostic ignored "-Wlong-long"
10 # endif
11 extern "C" {
12 #endif
13 
14 /* -- 64-bit output -- */
15 
16 #define crypto_shorthash_siphash24_BYTES 8U
17 SODIUM_EXPORT
18 size_t crypto_shorthash_siphash24_bytes(void);
19 
20 #define crypto_shorthash_siphash24_KEYBYTES 16U
21 SODIUM_EXPORT
22 size_t crypto_shorthash_siphash24_keybytes(void);
23 
24 SODIUM_EXPORT
25 int crypto_shorthash_siphash24(unsigned char *out, const unsigned char *in,
26                                unsigned long long inlen, const unsigned char *k);
27 
28 #ifndef SODIUM_LIBRARY_MINIMAL
29 /* -- 128-bit output -- */
30 
31 #define crypto_shorthash_siphashx24_BYTES 16U
32 SODIUM_EXPORT
33 size_t crypto_shorthash_siphashx24_bytes(void);
34 
35 #define crypto_shorthash_siphashx24_KEYBYTES 16U
36 SODIUM_EXPORT
37 size_t crypto_shorthash_siphashx24_keybytes(void);
38 
39 SODIUM_EXPORT
40 int crypto_shorthash_siphashx24(unsigned char *out, const unsigned char *in,
41                                 unsigned long long inlen, const unsigned char *k);
42 #endif
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif
49