− const char *blake3_version(void);
− void blake3_hasher_init(blake3_hasher *self);
− void blake3_hasher_init_keyed(blake3_hasher *self,
− const uint8_t key[BLAKE3_KEY_LEN]);
− void blake3_hasher_init_derive_key(blake3_hasher *self, const char *context);
− void blake3_hasher_init_derive_key_raw(blake3_hasher *self, const void *context,
− size_t context_len);
− void blake3_hasher_update(blake3_hasher *self, const void *input,
− size_t input_len);
− void blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out,
− size_t out_len);
− void blake3_hasher_finalize_seek(const blake3_hasher *self, uint64_t seek,
− uint8_t *out, size_t out_len);
− void blake3_hasher_reset(blake3_hasher *self);
+ BLAKE3_API const char *blake3_version(void);
+ BLAKE3_API void blake3_hasher_init(blake3_hasher *self);
+ BLAKE3_API void blake3_hasher_init_keyed(blake3_hasher *self,
+ const uint8_t key[BLAKE3_KEY_LEN]);
+ BLAKE3_API void blake3_hasher_init_derive_key(blake3_hasher *self, const char *context);
+ BLAKE3_API void blake3_hasher_init_derive_key_raw(blake3_hasher *self, const void *context,
+ size_t context_len);
+ BLAKE3_API void blake3_hasher_update(blake3_hasher *self, const void *input,
+ size_t input_len);
+ BLAKE3_API void blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out,
+ size_t out_len);
+ BLAKE3_API void blake3_hasher_finalize_seek(const blake3_hasher *self, uint64_t seek,
+ uint8_t *out, size_t out_len);
+ BLAKE3_API void blake3_hasher_reset(blake3_hasher *self);