LLVM 22.0.0git
blake3_portable.c File Reference
#include "blake3_impl.h"
#include <string.h>

Go to the source code of this file.

Functions

INLINE uint32_t rotr32 (uint32_t w, uint32_t c)
INLINE void g (uint32_t *state, size_t a, size_t b, size_t c, size_t d, uint32_t x, uint32_t y)
INLINE void round_fn (uint32_t state[16], const uint32_t *msg, size_t round)
INLINE void compress_pre (uint32_t state[16], const uint32_t cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags)
void blake3_compress_in_place_portable (uint32_t cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags)
void blake3_compress_xof_portable (const uint32_t cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t out[64])
INLINE void hash_one_portable (const uint8_t *input, size_t blocks, const uint32_t key[8], uint64_t counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t out[BLAKE3_OUT_LEN])
void blake3_hash_many_portable (const uint8_t *const *inputs, size_t num_inputs, size_t blocks, const uint32_t key[8], uint64_t counter, bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t *out)

Function Documentation

◆ blake3_compress_in_place_portable()

void blake3_compress_in_place_portable ( uint32_t cv[8],
const uint8_t block[BLAKE3_BLOCK_LEN],
uint8_t block_len,
uint64_t counter,
uint8_t flags )

Definition at line 84 of file blake3_portable.c.

References BLAKE3_BLOCK_LEN, block, and compress_pre().

◆ blake3_compress_xof_portable()

void blake3_compress_xof_portable ( const uint32_t cv[8],
const uint8_t block[BLAKE3_BLOCK_LEN],
uint8_t block_len,
uint64_t counter,
uint8_t flags,
uint8_t out[64] )

Definition at line 100 of file blake3_portable.c.

References BLAKE3_BLOCK_LEN, block, compress_pre(), and store32().

◆ blake3_hash_many_portable()

void blake3_hash_many_portable ( const uint8_t *const * inputs,
size_t num_inputs,
size_t blocks,
const uint32_t key[8],
uint64_t counter,
bool increment_counter,
uint8_t flags,
uint8_t flags_start,
uint8_t flags_end,
uint8_t * out )

Definition at line 145 of file blake3_portable.c.

References BLAKE3_OUT_LEN, blocks, and hash_one_portable().

◆ compress_pre()

INLINE void compress_pre ( uint32_t state[16],
const uint32_t cv[8],
const uint8_t block[BLAKE3_BLOCK_LEN],
uint8_t block_len,
uint64_t counter,
uint8_t flags )

◆ g()

◆ hash_one_portable()

INLINE void hash_one_portable ( const uint8_t * input,
size_t blocks,
const uint32_t key[8],
uint64_t counter,
uint8_t flags,
uint8_t flags_start,
uint8_t flags_end,
uint8_t out[BLAKE3_OUT_LEN] )

◆ rotr32()

INLINE uint32_t rotr32 ( uint32_t w,
uint32_t c )

Definition at line 4 of file blake3_portable.c.

References INLINE.

Referenced by g().

◆ round_fn()

INLINE void round_fn ( uint32_t state[16],
const uint32_t * msg,
size_t round )

Definition at line 20 of file blake3_portable.c.

References g(), INLINE, MSG_SCHEDULE, and round().

Referenced by compress_pre().