diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-10-13 22:40:19 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2020-10-13 22:40:22 +0900 |
commit | 5e71868ced159355a25dc935b24c8e9b1d946bd7 (patch) | |
tree | f43a3029fc367d977d62567400b2565a76221e71 /src | |
parent | 11e9fec2590d9726c57498d5c2ed9ea2860ad443 (diff) | |
download | systemd-5e71868ced159355a25dc935b24c8e9b1d946bd7.tar.gz |
util: introduce two trivial hash_ops
Will be used in a later commit.
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/hash-funcs.c | 13 | ||||
-rw-r--r-- | src/basic/hash-funcs.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/basic/hash-funcs.c b/src/basic/hash-funcs.c index cf279e5cbe..83016c0fd6 100644 --- a/src/basic/hash-funcs.c +++ b/src/basic/hash-funcs.c @@ -71,6 +71,19 @@ const struct hash_ops trivial_hash_ops = { .compare = trivial_compare_func, }; +const struct hash_ops trivial_hash_ops_free = { + .hash = trivial_hash_func, + .compare = trivial_compare_func, + .free_key = free, +}; + +const struct hash_ops trivial_hash_ops_free_free = { + .hash = trivial_hash_func, + .compare = trivial_compare_func, + .free_key = free, + .free_value = free, +}; + void uint64_hash_func(const uint64_t *p, struct siphash *state) { siphash24_compress(p, sizeof(uint64_t), state); } diff --git a/src/basic/hash-funcs.h b/src/basic/hash-funcs.h index 005d1b21d2..fb60200941 100644 --- a/src/basic/hash-funcs.h +++ b/src/basic/hash-funcs.h @@ -88,6 +88,8 @@ extern const struct hash_ops path_hash_ops_free; void trivial_hash_func(const void *p, struct siphash *state); int trivial_compare_func(const void *a, const void *b) _const_; extern const struct hash_ops trivial_hash_ops; +extern const struct hash_ops trivial_hash_ops_free; +extern const struct hash_ops trivial_hash_ops_free_free; /* 32bit values we can always just embed in the pointer itself, but in order to support 32bit archs we need store 64bit * values indirectly, since they don't fit in a pointer. */ |