Mercurial > repo
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ploki/variable.h Fri Dec 20 22:18:50 2013 +0000 @@ -0,0 +1,34 @@ +#ifndef VARIABLE_H_ +#define VARIABLE_H_ + +#include "config.h" +#include "strhash.h" + +#include <stddef.h> + +typedef size_t t_vr_cookie; +#define VR_NO_COOKIE ((size_t)-1) + +typedef struct { + void **data; + size_t size, length; + t_strhash *hash; + void (*del)(void *); +} t_vr_container; + +t_vr_container *vr_new(void (*)(void *)); +void vr_delete(t_vr_container *); + +t_vr_cookie vr_exists(const t_vr_container *, const char *, size_t); +t_vr_cookie vr_register(t_vr_container *, const char *, size_t, void *); + +void vr_freeze(t_vr_container *); + +ATTR_PURE +void *vr_data(const t_vr_container *, t_vr_cookie); + +#if !DEBUG_P +#define vr_data(vc, c) ((vc)->data[c]) +#endif + +#endif /* VARIABLE_H_ */