]>
git.ipfire.org Git - location/libloc.git/blob - src/database.h
407abcb3debe54540906b0643cef8dab022a7f2a
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_DATABASE_H
18 #define LIBLOC_DATABASE_H
23 #include <loc/libloc.h>
28 int loc_database_new(struct loc_ctx
* ctx
, struct loc_database
** db
, size_t pool_size
);
29 int loc_database_open(struct loc_ctx
* ctx
, struct loc_database
** database
, FILE* f
);
30 struct loc_database
* loc_database_ref(struct loc_database
* db
);
31 struct loc_database
* loc_database_unref(struct loc_database
* db
);
33 time_t loc_database_created_at(struct loc_database
* db
);
34 const char* loc_database_get_vendor(struct loc_database
* db
);
35 int loc_database_set_vendor(struct loc_database
* db
, const char* vendor
);
36 const char* loc_database_get_description(struct loc_database
* db
);
37 int loc_database_set_description(struct loc_database
* db
, const char* description
);
39 size_t loc_database_count_as(struct loc_database
* db
);
40 struct loc_as
* loc_database_add_as(struct loc_database
* db
, uint32_t number
);
42 int loc_database_read(struct loc_database
* db
, FILE* f
);
43 int loc_database_write(struct loc_database
* db
, FILE* f
);