ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
mdl_hash.h
Go to the documentation of this file.
1
24#pragma once
25
26#include <stddef.h>
27#include <stdint.h>
28
29#include "fw_if_fs.h"
30#include "mdl_storage.h"
31#include "ra8_err.h"
32
34typedef enum : uint64_t {
35 k_mdl_fnv_offset = 0xCBF29CE484222325ULL,
36 k_mdl_fnv_prime = 0x00000100000001B3ULL,
37 k_mdl_hash_max_file_bytes = 8192000000ULL,
39
65uint64_t mdl_hash_bytes_seed(const void* data, size_t len, uint64_t seed);
66
92uint64_t mdl_hash_bytes(const void* data, size_t len);
93
116uint64_t mdl_hash_str(const char* s);
117
155ra8_err_t mdl_hash_file(mdl_storage_t* storage, const char* path, uint64_t* out);
156
183 uint64_t file_size,
184 uint8_t* buffer,
185 uint32_t buffer_bytes,
186 uint64_t* out);
Architecture-neutral filesystem namespace, stream, and transaction ports.
uint64_t mdl_hash_bytes(const void *data, size_t len)
FNV-1a 64 hash of a byte range.
Definition mdl_hash.c:35
ra8_err_t mdl_hash_file(mdl_storage_t *storage, const char *path, uint64_t *out)
FNV-1a 64 hash of a file's full contents.
Definition mdl_hash.c:103
mdl_fnv_const_t
FNV-1a 64-bit constants (the canonical parameters).
Definition mdl_hash.h:34
@ k_mdl_fnv_prime
FNV-1a 64 prime.
Definition mdl_hash.h:36
@ k_mdl_hash_max_file_bytes
Exact file hash bound.
Definition mdl_hash.h:37
@ k_mdl_fnv_offset
FNV-1a 64 offset basis.
Definition mdl_hash.h:35
ra8_err_t mdl_hash_stream(fw_fs_file_t *file, uint64_t file_size, uint8_t *buffer, uint32_t buffer_bytes, uint64_t *out)
Hash exactly one snapshotted extent from an already-open stream.
Definition mdl_hash.c:63
uint64_t mdl_hash_bytes_seed(const void *data, size_t len, uint64_t seed)
Continue an FNV-1a 64 fold over a byte range from a running state.
Definition mdl_hash.c:21
uint64_t mdl_hash_str(const char *s)
FNV-1a 64 hash of a NUL-terminated string (excluding the NUL).
Definition mdl_hash.c:40
Injected portable storage resources for downloader domain code.
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
Caller-owned open file; fields are private to the facade.
One non-reentrant downloader filesystem dependency bundle.
Definition mdl_storage.h:40