diff options
| author | Michael Biebl <biebl@debian.org> | 2020-10-05 22:28:16 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-10-05 22:28:16 +0200 |
| commit | 47a2114d6f697a31d84c8874c49e94dd04119d75 (patch) | |
| tree | e3022686ff1956d7f17f1f7cdf7022ce980b7a5c /shared/systemd/src/basic/siphash24.h | |
| parent | 9d722f3d3492e31c0b3e4bcba603ffd65309c621 (diff) | |
| parent | aafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (diff) | |
Update upstream source from tag 'upstream/1.27.90'
Update to upstream version '1.27.90' with Debian dir 72a0791efa5966be1724a82dfcac90f6cd22bd1b
Diffstat (limited to 'shared/systemd/src/basic/siphash24.h')
| -rw-r--r-- | shared/systemd/src/basic/siphash24.h | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/shared/systemd/src/basic/siphash24.h b/shared/systemd/src/basic/siphash24.h index c4e919df..474d9c9d 100644 --- a/shared/systemd/src/basic/siphash24.h +++ b/shared/systemd/src/basic/siphash24.h @@ -6,6 +6,8 @@ #include <string.h> #include <sys/types.h> +#include "time-util.h" + #if 0 /* NM_IGNORED */ struct siphash { uint64_t v0; @@ -17,39 +19,55 @@ struct siphash { }; #else /* NM_IGNORED */ struct siphash { - CSipHash _csiphash; + CSipHash _csiphash; }; static inline void siphash24_init (struct siphash *state, const uint8_t k[16]) { - c_siphash_init ((CSipHash *) state, k); + c_siphash_init ((CSipHash *) state, k); } static inline void siphash24_compress (const void *in, size_t inlen, struct siphash *state) { - c_siphash_append ((CSipHash *) state, in, inlen); + c_siphash_append ((CSipHash *) state, in, inlen); } static inline uint64_t siphash24_finalize (struct siphash *state) { - return c_siphash_finalize ((CSipHash *) state); + return c_siphash_finalize ((CSipHash *) state); } static inline uint64_t siphash24 (const void *in, size_t inlen, const uint8_t k[16]) { - return c_siphash_hash (k, in, inlen); + return c_siphash_hash (k, in, inlen); } #endif /* NM_IGNORED */ void siphash24_init(struct siphash *state, const uint8_t k[static 16]); void siphash24_compress(const void *in, size_t inlen, struct siphash *state); -void siphash24_compress_boolean(bool in, struct siphash *state); #define siphash24_compress_byte(byte, state) siphash24_compress((const uint8_t[]) { (byte) }, 1, (state)) +static inline void siphash24_compress_boolean(bool in, struct siphash *state) { + uint8_t i = in; + + siphash24_compress(&i, sizeof i, state); +} + +static inline void siphash24_compress_usec_t(usec_t in, struct siphash *state) { + siphash24_compress(&in, sizeof in, state); +} + +static inline void siphash24_compress_string(const char *in, struct siphash *state) { + if (!in) + return; + + siphash24_compress(in, strlen(in), state); +} + uint64_t siphash24_finalize(struct siphash *state); uint64_t siphash24(const void *in, size_t inlen, const uint8_t k[static 16]); |