/******************************************************************************* D language bindings for libsodium's crypto_kdf.h License: ISC (see LICENSE.txt) *******************************************************************************/ module libsodium.crypto_kdf; @nogc nothrow: import libsodium.export_; import libsodium.crypto_kdf_blake2b; extern (C): enum crypto_kdf_BYTES_MIN = crypto_kdf_blake2b_BYTES_MIN; size_t crypto_kdf_bytes_min (); enum crypto_kdf_BYTES_MAX = crypto_kdf_blake2b_BYTES_MAX; size_t crypto_kdf_bytes_max (); enum crypto_kdf_CONTEXTBYTES = crypto_kdf_blake2b_CONTEXTBYTES; size_t crypto_kdf_contextbytes (); enum crypto_kdf_KEYBYTES = crypto_kdf_blake2b_KEYBYTES; size_t crypto_kdf_keybytes (); enum crypto_kdf_PRIMITIVE = "blake2b"; const(char)* crypto_kdf_primitive (); int crypto_kdf_derive_from_key ( ubyte* subkey, size_t subkey_len, ulong subkey_id, ref const(char)[crypto_kdf_CONTEXTBYTES] ctx, ref const(ubyte)[crypto_kdf_KEYBYTES] key); void crypto_kdf_keygen (ref ubyte[crypto_kdf_KEYBYTES] k);