]>
Commit | Line | Data |
---|---|---|
62b83e6d MT |
1 | /* |
2 | libloc - A library to determine the location of someone on the Internet | |
3 | ||
4 | Copyright (C) 2017 IPFire Development Team <info@ipfire.org> | |
5 | ||
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. | |
10 | ||
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. | |
15 | */ | |
16 | ||
17 | #ifndef LIBLOC_STRINGPOOL_H | |
18 | #define LIBLOC_STRINGPOOL_H | |
19 | ||
20 | #include <stddef.h> | |
a5db3e49 | 21 | #include <stdio.h> |
62b83e6d MT |
22 | |
23 | #include <loc/libloc.h> | |
24 | ||
25 | struct loc_stringpool; | |
0e974d4b MT |
26 | int loc_stringpool_new(struct loc_ctx* ctx, struct loc_stringpool** pool); |
27 | int loc_stringpool_open(struct loc_ctx* ctx, struct loc_stringpool** pool, | |
28 | FILE* f, size_t length, off_t offset); | |
29 | ||
62b83e6d MT |
30 | struct loc_stringpool* loc_stringpool_ref(struct loc_stringpool* pool); |
31 | struct loc_stringpool* loc_stringpool_unref(struct loc_stringpool* pool); | |
32 | ||
33 | const char* loc_stringpool_get(struct loc_stringpool* pool, off_t offset); | |
2601e83e MT |
34 | size_t loc_stringpool_get_size(struct loc_stringpool* pool); |
35 | ||
62b83e6d MT |
36 | off_t loc_stringpool_add(struct loc_stringpool* pool, const char* string); |
37 | void loc_stringpool_dump(struct loc_stringpool* pool); | |
38 | ||
2601e83e MT |
39 | size_t loc_stringpool_write(struct loc_stringpool* pool, FILE* f); |
40 | ||
62b83e6d | 41 | #endif |