]>
git.ipfire.org Git - people/ms/libloc.git/blob - src/loc/stringpool.h
2 libloc - A library to determine the location of someone on the Internet
4 Copyright (C) 2017 IPFire Development Team <info@ipfire.org>
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
17 #ifndef LIBLOC_STRINGPOOL_H
18 #define LIBLOC_STRINGPOOL_H
25 #include <loc/libloc.h>
27 struct loc_stringpool
;
28 int loc_stringpool_new(struct loc_ctx
* ctx
, struct loc_stringpool
** pool
);
29 int loc_stringpool_open(struct loc_ctx
* ctx
, struct loc_stringpool
** pool
,
30 FILE* f
, size_t length
, off_t offset
);
32 struct loc_stringpool
* loc_stringpool_ref(struct loc_stringpool
* pool
);
33 struct loc_stringpool
* loc_stringpool_unref(struct loc_stringpool
* pool
);
35 const char* loc_stringpool_get(struct loc_stringpool
* pool
, off_t offset
);
36 size_t loc_stringpool_get_size(struct loc_stringpool
* pool
);
38 off_t
loc_stringpool_add(struct loc_stringpool
* pool
, const char* string
);
39 void loc_stringpool_dump(struct loc_stringpool
* pool
);
41 size_t loc_stringpool_write(struct loc_stringpool
* pool
, FILE* f
);