Welcome to little lamb

Code » limb » master » tree

[master] / src / doc / blake3.h / blake3_init.3.md

% limb manual
% blake3_init(3)
% limb 0.1.0
% 2023-07-24

# NAME

blake3\_init, blake3\_update, blake3\_final - compute the BLAKE3 of a given
block of data

# SYNOPSIS

    #include <limb/blake3.h>

```pre hl
void blake3_init(void *<em>ctx</em>);
void blake3_update(const void *<em>msg</em>, size_t <em>size</em>, void *<em>ctx</em>);
void blake3_final(void * restrict <em>md</em>, void *<em>ctx</em>);
```

# DESCRIPTION

The `blake3_init`() function initializes the given blake3 context `ctx` to
calculate a 256bit BLAKE3 digest.

The `blake3_update`() function feeds the specified chunk of data pointed by `msg`
of length `size` (in bytes) to be hashed into the given `ctx`. You can call this
function repeatedly as many times as needed.

The `blake3_final`() function stores the calculated hash from `ctx` in binary
form into `md`, which must be able to store 32 bytes.

# SEE ALSO

[hasher_blake3.h](0), [hasher_hash](3), [sha3_224_init](3)