LLVM: lib/Support/BLAKE3/blake3.c File Reference (original) (raw)
#include <assert.h>
#include <stdbool.h>
#include <[string.h](string%5F8h%5Fsource.html)>
#include "[blake3_impl.h](blake3%5F%5Fimpl%5F8h%5Fsource.html)"
Go to the source code of this file.
| Functions |
|
| const char * |
llvm_blake3_version (void) |
| INLINE void |
chunk_state_init (blake3_chunk_state *self, const uint32_t key[8], uint8_t flags) |
| INLINE void |
chunk_state_reset (blake3_chunk_state *self, const uint32_t key[8], uint64_t chunk_counter) |
| INLINE size_t |
chunk_state_len (const blake3_chunk_state *self) |
| INLINE size_t |
chunk_state_fill_buf (blake3_chunk_state *self, const uint8_t *input, size_t input_len) |
| INLINE uint8_t |
chunk_state_maybe_start_flag (const blake3_chunk_state *self) |
| INLINE output_t |
make_output (const uint32_t input_cv[8], const uint8_t block[BLAKE3_BLOCK_LEN], uint8_t block_len, uint64_t counter, uint8_t flags) |
| INLINE void |
output_chaining_value (const output_t *self, uint8_t cv[32]) |
| INLINE void |
output_root_bytes (const output_t *self, uint64_t seek, uint8_t *out, size_t out_len) |
| INLINE void |
chunk_state_update (blake3_chunk_state *self, const uint8_t *input, size_t input_len) |
| INLINE output_t |
chunk_state_output (const blake3_chunk_state *self) |
| INLINE output_t |
parent_output (const uint8_t block[BLAKE3_BLOCK_LEN], const uint32_t key[8], uint8_t flags) |
| INLINE size_t |
left_subtree_len (size_t input_len) |
| INLINE size_t |
compress_chunks_parallel (const uint8_t *input, size_t input_len, const uint32_t key[8], uint64_t chunk_counter, uint8_t flags, uint8_t *out) |
| INLINE size_t |
compress_parents_parallel (const uint8_t *child_chaining_values, size_t num_chaining_values, const uint32_t key[8], uint8_t flags, uint8_t *out) |
| size_t |
blake3_compress_subtree_wide (const uint8_t *input, size_t input_len, const uint32_t key[8], uint64_t chunk_counter, uint8_t flags, uint8_t *out, bool use_tbb) |
| INLINE void |
compress_subtree_to_parent_node (const uint8_t *input, size_t input_len, const uint32_t key[8], uint64_t chunk_counter, uint8_t flags, uint8_t out[2 *BLAKE3_OUT_LEN], bool use_tbb) |
| INLINE void |
hasher_init_base (blake3_hasher *self, const uint32_t key[8], uint8_t flags) |
| void |
llvm_blake3_hasher_init (blake3_hasher *self) |
| void |
llvm_blake3_hasher_init_keyed (blake3_hasher *self, const uint8_t key[BLAKE3_KEY_LEN]) |
| void |
llvm_blake3_hasher_init_derive_key_raw (blake3_hasher *self, const void *context, size_t context_len) |
| void |
llvm_blake3_hasher_init_derive_key (blake3_hasher *self, const char *context) |
| INLINE void |
hasher_merge_cv_stack (blake3_hasher *self, uint64_t total_len) |
| INLINE void |
hasher_push_cv (blake3_hasher *self, uint8_t new_cv[BLAKE3_OUT_LEN], uint64_t chunk_counter) |
| INLINE void |
blake3_hasher_update_base (blake3_hasher *self, const void *input, size_t input_len, bool use_tbb) |
| void |
llvm_blake3_hasher_update (blake3_hasher *self, const void *input, size_t input_len) |
| void |
llvm_blake3_hasher_finalize (const blake3_hasher *self, uint8_t *out, size_t out_len) |
| void |
llvm_blake3_hasher_finalize_seek (const blake3_hasher *self, uint64_t seek, uint8_t *out, size_t out_len) |
| void |
llvm_blake3_hasher_reset (blake3_hasher *self) |
◆ blake3_compress_subtree_wide()
◆ blake3_hasher_update_base()
Definition at line 482 of file blake3.c.
References BLAKE3_CHUNK_LEN, blake3_chunk_state, blake3_hasher, BLAKE3_OUT_LEN, chunk_state_init(), chunk_state_len(), chunk_state_output(), chunk_state_reset(), chunk_state_update(), compress_subtree_to_parent_node(), hasher_merge_cv_stack(), hasher_push_cv(), INLINE, output_chaining_value(), and round_down_to_power_of_2().
Referenced by llvm_blake3_hasher_update().
◆ chunk_state_fill_buf()
◆ chunk_state_init()
◆ chunk_state_len()
◆ chunk_state_maybe_start_flag()
◆ chunk_state_output()
◆ chunk_state_reset()
◆ chunk_state_update()
◆ compress_chunks_parallel()
Definition at line 179 of file blake3.c.
References assert(), BLAKE3_BLOCK_LEN, BLAKE3_CHUNK_LEN, blake3_chunk_state, blake3_hash_many, BLAKE3_OUT_LEN, CHUNK_END, CHUNK_START, chunk_state_init(), chunk_state_output(), chunk_state_update(), INLINE, MAX_SIMD_DEGREE, and output_chaining_value().
Referenced by blake3_compress_subtree_wide().
◆ compress_parents_parallel()
◆ compress_subtree_to_parent_node()
◆ hasher_init_base()
◆ hasher_merge_cv_stack()
◆ hasher_push_cv()
◆ left_subtree_len()
| INLINE size_t left_subtree_len |
( |
size_t |
input_len |
) |
◆ llvm_blake3_hasher_finalize()
◆ llvm_blake3_hasher_finalize_seek()
◆ llvm_blake3_hasher_init()
◆ llvm_blake3_hasher_init_derive_key()
◆ llvm_blake3_hasher_init_derive_key_raw()
| void llvm_blake3_hasher_init_derive_key_raw |
( |
blake3_hasher * |
self, |
| const void * |
context, |
|
|
| size_t |
context_len ) |
|
|
◆ llvm_blake3_hasher_init_keyed()
◆ llvm_blake3_hasher_reset()
◆ llvm_blake3_hasher_update()
| void llvm_blake3_hasher_update |
( |
blake3_hasher * |
self, |
| const void * |
input, |
|
|
| size_t |
input_len ) |
|
|
◆ llvm_blake3_version()
◆ make_output()
◆ output_chaining_value()
Definition at line 88 of file blake3.c.
References blake3_compress_in_place, output_t::block, output_t::block_len, output_t::counter, output_t::flags, INLINE, output_t::input_cv, and store_cv_words().
Referenced by blake3_hasher_update_base(), compress_chunks_parallel(), hasher_merge_cv_stack(), and llvm_blake3_hasher_finalize_seek().
◆ output_root_bytes()
◆ parent_output()