char*buffer;
int len;
int pos;
+ int read_pos;
} mem_t;
/* fifo buffered growing mem region */
void mem_init(mem_t*mem);
int mem_put(mem_t*m, void*data, int length);
int mem_putstring(mem_t*m, string_t str);
+int mem_get(mem_t*m, void*data, int length);
void mem_clear(mem_t*mem);
void mem_destroy(mem_t*mem);
void dict_foreach_keyvalue(dict_t*h, void (*runFunction)(void*data, const void*key, void*val), void*data);
void dict_foreach_value(dict_t*h, void (*runFunction)(void*));
-void dict_free_all(dict_t*h, void (*freeFunction)(void*));
+void dict_free_all(dict_t*h, char free_keys, void (*free_data_function)(void*));
void dict_clear(dict_t*h);
+void dict_destroy_shallow(dict_t*dict);
void dict_destroy(dict_t*dict);
void map_init(map_t*map);