1#ifndef crypto_kdf_blake2b_H 2#define crypto_kdf_blake2b_H 3 4#include <stddef.h> 5#include <stdint.h> 6 7#include "crypto_kdf_blake2b.h" 8#include "export.h" 9 10#ifdef __cplusplus 11# ifdef __GNUC__ 12# pragma GCC diagnostic ignored "-Wlong-long" 13# endif 14extern "C" { 15#endif 16 17#define crypto_kdf_blake2b_BYTES_MIN 16 18SODIUM_EXPORT 19size_t crypto_kdf_blake2b_bytes_min(void); 20 21#define crypto_kdf_blake2b_BYTES_MAX 64 22SODIUM_EXPORT 23size_t crypto_kdf_blake2b_bytes_max(void); 24 25#define crypto_kdf_blake2b_CONTEXTBYTES 8 26SODIUM_EXPORT 27size_t crypto_kdf_blake2b_contextbytes(void); 28 29#define crypto_kdf_blake2b_KEYBYTES 32 30SODIUM_EXPORT 31size_t crypto_kdf_blake2b_keybytes(void); 32 33SODIUM_EXPORT 34int crypto_kdf_blake2b_derive_from_key(unsigned char *subkey, size_t subkey_len, 35 uint64_t subkey_id, 36 const char ctx[crypto_kdf_blake2b_CONTEXTBYTES], 37 const unsigned char key[crypto_kdf_blake2b_KEYBYTES]); 38#ifdef __cplusplus 39} 40#endif 41 42#endif 43