15 #define uint64_t sip_uint64_t
24 uint8_t buf[
sizeof(uint64_t)];
29 typedef struct sip_interface_st sip_interface;
33 const sip_interface *methods;
36 sip_hash *sip_hash_new(
const uint8_t key[16],
int c,
int d);
38 int sip_hash_update(
sip_hash *h,
const uint8_t *data,
size_t len);
39 int sip_hash_final(
sip_hash *h, uint8_t **digest,
size_t *len);
40 int sip_hash_final_integer(
sip_hash *h, uint64_t *digest);
41 int sip_hash_digest(
sip_hash *h,
const uint8_t *data,
size_t data_len, uint8_t **digest,
size_t *digest_len);
42 int sip_hash_digest_integer(
sip_hash *h,
const uint8_t *data,
size_t data_len, uint64_t *digest);
46 NO_SANITIZE(
"unsigned-integer-overflow", uint64_t sip_hash13(
const uint8_t key[16],
const uint8_t *data,
size_t len));