File: hash.h

package info (click to toggle)
kmod 26-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,784 kB
  • sloc: ansic: 15,682; xml: 1,879; makefile: 617; sh: 303; python: 7
file content (22 lines) | stat: -rw-r--r-- 725 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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);