mirror of
https://github.com/AuxXxilium/kmod.git
synced 2024-12-28 06:15:20 +07:00
e8fd8fec23
Only the public header maintains #ifndef in the header, together with pragma. The other ones contain only pragma. As reported by Shawn Landden on systemd mailing list this is compatible with all major compilers and gcc has this since version 3.3.
23 lines
725 B
C
23 lines
725 B
C
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
|
|
struct hash;
|
|
|
|
struct hash_iter {
|
|
const struct hash *hash;
|
|
unsigned int bucket;
|
|
unsigned int entry;
|
|
};
|
|
|
|
struct hash *hash_new(unsigned int n_buckets, void (*free_value)(void *value));
|
|
void hash_free(struct hash *hash);
|
|
int hash_add(struct hash *hash, const char *key, const void *value);
|
|
int hash_add_unique(struct hash *hash, const char *key, const void *value);
|
|
int hash_del(struct hash *hash, const char *key);
|
|
void *hash_find(const struct hash *hash, const char *key);
|
|
unsigned int hash_get_count(const struct hash *hash);
|
|
void hash_iter_init(const struct hash *hash, struct hash_iter *iter);
|
|
bool hash_iter_next(struct hash_iter *iter, const char **key,
|
|
const void **value);
|