---
name: "libkeccak_state_initialise"
section: "3"
platform: "linux"
package: "libkeccak"
version: "1.4.3-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libkeccak_state_initialise"
---

# libkeccak\_state\_initialise(3)

Initialise hash state

## NAME

libkeccak\_state\_initialise - Initialise hash state

## SYNOPSIS

```
#include <libkeccak.h>
int libkeccak_state_initialise(struct libkeccak_state *state, const struct libkeccak_spec *spec);
```

Link with *-lkeccak*.

## DESCRIPTION

The **libkeccak\_state\_initialise**() function initialises *\*state* and sets the algorithm tuning parameters to those specified by *\*spec*.

## RETURN VALUES

The **libkeccak\_state\_initialise**() function returns 0 upon successful completion. On error, -1 is returned and *errno* is set to describe the error.

## ERRORS

The **libkeccak\_state\_initialise**() function may fail for any specified for the function [**malloc**(3)](/malloc/3.md).

## SEE ALSO

[**libkeccak\_state\_create**(3)](/libkeccak_state_create/3.md), [**libkeccak\_state\_reset**(3)](/libkeccak_state_reset/3.md), [**libkeccak\_state\_destroy**(3)](/libkeccak_state_destroy/3.md), [**libkeccak\_state\_fast\_destroy**(3)](/libkeccak_state_fast_destroy/3.md), [**libkeccak\_state\_copy**(3)](/libkeccak_state_copy/3.md), [**libkeccak\_fast\_update**(3)](/libkeccak_fast_update/3.md), [**libkeccak\_zerocopy\_update**(3)](/libkeccak_zerocopy_update/3.md), [**libkeccak\_update**(3)](/libkeccak_update/3.md), [**libkeccak\_fast\_digest**(3)](/libkeccak_fast_digest/3.md), [**libkeccak\_zerocopy\_digest**(3)](/libkeccak_zerocopy_digest/3.md), [**libkeccak\_digest**(3)](/libkeccak_digest/3.md), [**libkeccak\_generalised\_sum\_fd**(3)](/libkeccak_generalised_sum_fd/3.md), [**libkeccak\_keccaksum\_fd**(3)](/libkeccak_keccaksum_fd/3.md), [**libkeccak\_sha3sum\_fd**(3)](/libkeccak_sha3sum_fd/3.md), [**libkeccak\_rawshakesum\_fd**(3)](/libkeccak_rawshakesum_fd/3.md), [**libkeccak\_shakesum\_fd**(3)](/libkeccak_shakesum_fd/3.md), [**libkeccak\_spec\_cshake**(3)](/libkeccak_spec_cshake/3.md), [**libkeccak\_spec\_sha3**(3)](/libkeccak_spec_sha3/3.md), [**libkeccak\_spec\_shake**(3)](/libkeccak_spec_shake/3.md), [**libkeccak\_spec\_rawshake**(3)](/libkeccak_spec_rawshake/3.md), [**libkeccak\_spec\_check**(3)](/libkeccak_spec_check/3.md), [**libkeccak\_generalised\_spec\_initialise**(3)](/libkeccak_generalised_spec_initialise/3.md), [**libkeccak\_state\_marshal**(3)](/libkeccak_state_marshal/3.md), [**libkeccak\_hmac\_initialise**(3)](/libkeccak_hmac_initialise/3.md)
