#define LIBLOC_STRINGPOOL_H
#include <stddef.h>
+#include <stdio.h>
#include <loc/libloc.h>
struct loc_stringpool;
-int loc_stringpool_new(struct loc_ctx* ctx, struct loc_stringpool** pool, size_t max_length);
+int loc_stringpool_new(struct loc_ctx* ctx, struct loc_stringpool** pool);
+int loc_stringpool_open(struct loc_ctx* ctx, struct loc_stringpool** pool,
+ FILE* f, size_t length, off_t offset);
+
struct loc_stringpool* loc_stringpool_ref(struct loc_stringpool* pool);
struct loc_stringpool* loc_stringpool_unref(struct loc_stringpool* pool);
const char* loc_stringpool_get(struct loc_stringpool* pool, off_t offset);
+size_t loc_stringpool_get_size(struct loc_stringpool* pool);
+
off_t loc_stringpool_add(struct loc_stringpool* pool, const char* string);
void loc_stringpool_dump(struct loc_stringpool* pool);
+size_t loc_stringpool_write(struct loc_stringpool* pool, FILE* f);
+
#endif