10#ifndef PORTABLE_BLAKE2_H
11#define PORTABLE_BLAKE2_H
18#if defined(__cplusplus)
22enum blake2b_constant {
23 BLAKE2B_BLOCKBYTES = 128,
24 BLAKE2B_OUTBYTES = 64,
25 BLAKE2B_KEYBYTES = 64,
26 BLAKE2B_SALTBYTES = 16,
27 BLAKE2B_PERSONALBYTES = 16
32 uint8_t digest_length;
41 uint8_t salt[BLAKE2B_SALTBYTES];
42 uint8_t personal[BLAKE2B_PERSONALBYTES];
50 uint8_t buf[BLAKE2B_BLOCKBYTES];
59 blake2_size_check_0 = 1 / !!(CHAR_BIT == 8),
65HASHX_PRIVATE
int hashx_blake2b_update(
blake2b_state* S,
const void* in,
size_t inlen);
66HASHX_PRIVATE
int hashx_blake2b_final(
blake2b_state* S,
void* out,
size_t outlen);
67HASHX_PRIVATE
void hashx_blake2b_4r(
const blake2b_param* P,
const void* in,
size_t inlen,
void* out);
69#if defined(__cplusplus)