aboutsummaryrefslogtreecommitdiffstats
path: root/lpsm.h
diff options
context:
space:
mode:
Diffstat (limited to 'lpsm.h')
-rw-r--r--lpsm.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/lpsm.h b/lpsm.h
index e24550d..a6c08ac 100644
--- a/lpsm.h
+++ b/lpsm.h
@@ -24,17 +24,25 @@
#include <signal.h>
#include <inttypes.h>
-struct Objstore;
+/* Low-level core routines */
-/* Core routines */
-void *objstore_init(char *, char *, size_t *);
+void *objstore_init(const char *, const char *, size_t *);
int objstore_checkpoint(double);
int objstore_extend(size_t);
/* Arena management routines */
-void *objstore_arena_init(void);
+
+/* The allocator gives us this many "root pointers" for our own use. They
+ are initialized to NULL when a new arena is created, and are intended
+ to be used to find all the data structures. objstore_arena_init()
+ returns a pointer to this array (if successful). */
+#define ROOT_DATA_POINTERS 32
+
+void **objstore_arena_init(const char *, const char *);
void *objstore_malloc(size_t);
void objstore_free(void *);
void *objstore_realloc(void *, size_t);
+void **objstore_get_root_ptrs(void);
+
#endif