ptrmap
struct ptrmap *next;
DECLARE_ALLOCATOR(ptrmap);
ALLOCATOR(ptrmap, "ptrmap");
void __ptrmap_add(struct ptrmap **mapp, void *key, void *val)
struct ptrmap *head = *mapp;
struct ptrmap *newmap;
struct ptrmap *map;
struct ptrmap *next = map->next;
void *__ptrmap_lookup(struct ptrmap *map, void *key)
void __ptrmap_update(struct ptrmap **mapp, void *key, void *val)
struct ptrmap *map = *mapp;
__ptrmap_add((struct ptrmap**)map, k, v); \
__ptrmap_update((struct ptrmap**)map, k, v); \
vtype val = __ptrmap_lookup((struct ptrmap*)map, k); \
void __ptrmap_add(struct ptrmap **mapp, void *key, void *val);
void __ptrmap_update(struct ptrmap **mapp, void *key, void *val);
void *__ptrmap_lookup(struct ptrmap *map, void *key);
struct ptrmap;