// D import file generated from 'crypto_generichash_blake2b.d' renamed to 'crypto_generichash_blake2b.d' (method [only for original == header file] results in very compact code and obviates to overhaul comments now) module sodium.crypto_generichash_blake2b; extern (C) { align(64) struct crypto_generichash_blake2b_state { align (1) { ulong[8] h; ulong[2] t; ulong[2] f; ubyte[2 * 128] buf; size_t buflen; ubyte last_node; } } enum crypto_generichash_blake2b_BYTES_MIN = 16u; size_t crypto_generichash_blake2b_bytes_min(); enum crypto_generichash_blake2b_BYTES_MAX = 64u; size_t crypto_generichash_blake2b_bytes_max(); enum crypto_generichash_blake2b_BYTES = 32u; size_t crypto_generichash_blake2b_bytes(); enum crypto_generichash_blake2b_KEYBYTES_MIN = 16u; size_t crypto_generichash_blake2b_keybytes_min(); enum crypto_generichash_blake2b_KEYBYTES_MAX = 64u; size_t crypto_generichash_blake2b_keybytes_max(); enum crypto_generichash_blake2b_KEYBYTES = 32u; size_t crypto_generichash_blake2b_keybytes(); enum crypto_generichash_blake2b_SALTBYTES = 16u; size_t crypto_generichash_blake2b_saltbytes(); enum crypto_generichash_blake2b_PERSONALBYTES = 16u; size_t crypto_generichash_blake2b_personalbytes(); size_t crypto_generichash_blake2b_statebytes(); int crypto_generichash_blake2b(ubyte* out_, size_t outlen, const(ubyte)* in_, ulong inlen, const(ubyte)* key, size_t keylen); int crypto_generichash_blake2b_salt_personal(ubyte* out_, size_t outlen, const(ubyte)* in_, ulong inlen, const(ubyte)* key, size_t keylen, const(ubyte)* salt, const(ubyte)* personal); int crypto_generichash_blake2b_init(crypto_generichash_blake2b_state* state, const(ubyte)* key, const size_t keylen, const size_t outlen); int crypto_generichash_blake2b_init_salt_personal(crypto_generichash_blake2b_state* state, const(ubyte)* key, const size_t keylen, const size_t outlen, const(ubyte)* salt, const(ubyte)* personal); int crypto_generichash_blake2b_update(crypto_generichash_blake2b_state* state, const(ubyte)* in_, ulong inlen); int crypto_generichash_blake2b_final(crypto_generichash_blake2b_state* state, ubyte* out_, const size_t outlen); int _crypto_generichash_blake2b_pick_best_implementation(); }