about summary refs log tree commit diff
path: root/shared/systemd/src/basic/siphash24.h
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-10-05 22:28:16 +0200
committerMichael Biebl <biebl@debian.org>2020-10-05 22:28:16 +0200
commit47a2114d6f697a31d84c8874c49e94dd04119d75 (patch)
treee3022686ff1956d7f17f1f7cdf7022ce980b7a5c /shared/systemd/src/basic/siphash24.h
parent9d722f3d3492e31c0b3e4bcba603ffd65309c621 (diff)
parentaafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (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.h30
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]);