Mercurial > repo
comparison src/ploki/variable.h @ 4223:ac0403686959
<oerjan> rm -rf src/ploki; mv ploki src
author | HackBot |
---|---|
date | Fri, 20 Dec 2013 22:18:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
4222:b0f3e267bb1e | 4223:ac0403686959 |
---|---|
1 #ifndef VARIABLE_H_ | |
2 #define VARIABLE_H_ | |
3 | |
4 #include "config.h" | |
5 #include "strhash.h" | |
6 | |
7 #include <stddef.h> | |
8 | |
9 typedef size_t t_vr_cookie; | |
10 #define VR_NO_COOKIE ((size_t)-1) | |
11 | |
12 typedef struct { | |
13 void **data; | |
14 size_t size, length; | |
15 t_strhash *hash; | |
16 void (*del)(void *); | |
17 } t_vr_container; | |
18 | |
19 t_vr_container *vr_new(void (*)(void *)); | |
20 void vr_delete(t_vr_container *); | |
21 | |
22 t_vr_cookie vr_exists(const t_vr_container *, const char *, size_t); | |
23 t_vr_cookie vr_register(t_vr_container *, const char *, size_t, void *); | |
24 | |
25 void vr_freeze(t_vr_container *); | |
26 | |
27 ATTR_PURE | |
28 void *vr_data(const t_vr_container *, t_vr_cookie); | |
29 | |
30 #if !DEBUG_P | |
31 #define vr_data(vc, c) ((vc)->data[c]) | |
32 #endif | |
33 | |
34 #endif /* VARIABLE_H_ */ |