summaryrefslogtreecommitdiff
path: root/map.h
blob: e3a51ab1bbd2daadfc3f4ee97389c2688f220b75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef __HASH_H
#define __HASH_H

typedef struct node {
	void *key, *val;
	size_t ksize, vsize;
	struct node *next;
} NODE;

typedef struct {
	NODE **list;
	size_t cap;
	size_t len;
} MAP;

void map_init(MAP *m);
void map_set(MAP *m, const void *key, size_t ksize, const void *val, size_t vsize);
int map_get(MAP *m, const void *key, size_t ksize, void **val, size_t *vsize);

#endif