LLVM  16.0.0git
Functions
blake3_portable.c File Reference
#include "blake3_impl.h"
#include <string.h>
Include dependency graph for blake3_portable.c:

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 block, and compress_pre().

Referenced by blake3_compress_in_place(), and hash_one_portable().

◆ 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 block, compress_pre(), and store32().

Referenced by blake3_compress_xof().

◆ 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, and hash_one_portable().

Referenced by blake3_hash_many(), and blake3_hash_many_avx2().

◆ 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()

INLINE void g ( uint32_t state,
size_t  a,
size_t  b,
size_t  c,
size_t  d,
uint32_t  x,
uint32_t  y 
)

Definition at line 8 of file blake3_portable.c.

References b, c, d, rotr32(), x, and y.

Referenced by round_fn().

◆ 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 c.

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(), MSG_SCHEDULE, and round().

Referenced by compress_pre().