]> git.ipfire.org Git - pakfire.git/blob - src/libpakfire/include/pakfire/pakfire.h
29130e4a2f4fce0f6358f9a7306b7269ab30110a
[pakfire.git] / src / libpakfire / include / pakfire / pakfire.h
1 /*#############################################################################
2 # #
3 # Pakfire - The IPFire package management system #
4 # Copyright (C) 2017 Pakfire development team #
5 # #
6 # This program is free software: you can redistribute it and/or modify #
7 # it under the terms of the GNU General Public License as published by #
8 # the Free Software Foundation, either version 3 of the License, or #
9 # (at your option) any later version. #
10 # #
11 # This program 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 #
14 # GNU General Public License for more details. #
15 # #
16 # You should have received a copy of the GNU General Public License #
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
18 # #
19 #############################################################################*/
20
21 #ifndef PAKFIRE_PAKFIRE_H
22 #define PAKFIRE_PAKFIRE_H
23
24 #include <stddef.h>
25 #include <sys/stat.h>
26
27 #include <pakfire/types.h>
28
29 int pakfire_init();
30
31 Pakfire pakfire_create(const char* path, const char* arch);
32
33 Pakfire pakfire_ref(Pakfire pakfire);
34 Pakfire pakfire_unref(Pakfire pakfire);
35
36 const char* pakfire_get_path(Pakfire pakfire);
37 const char* pakfire_get_arch(Pakfire pakfire);
38
39 PakfirePool pakfire_get_pool(Pakfire pakfire);
40
41 const char** pakfire_get_installonly(Pakfire pakfire);
42 void pakfire_set_installonly(Pakfire pakfire, const char** installonly);
43
44 int pakfire_version_compare(Pakfire pakfire, const char* evr1, const char* evr2);
45
46 size_t pakfire_count_packages(Pakfire pakfire);
47
48 PakfireRepo pakfire_get_installed_repo(Pakfire pakfire);
49 void pakfire_set_installed_repo(Pakfire pakfire, PakfireRepo repo);
50
51 PakfirePackageList pakfire_whatprovides(Pakfire pakfire, const char* provides, int flags);
52 PakfirePackageList pakfire_search(Pakfire pakfire, const char* what, int flags);
53
54 // Cache
55
56 char* pakfire_get_cache_path(Pakfire pakfire, const char* path);
57 void pakfire_set_cache_path(Pakfire pakfire, const char* path);
58
59 int pakfire_cache_stat(Pakfire pakfire, const char* path, struct stat* buffer);
60
61 #ifdef PAKFIRE_PRIVATE
62
63 #include <solv/pool.h>
64
65 void pakfire_pool_has_changed(Pakfire pakfire);
66 void pakfire_pool_apply_changes(Pakfire pakfire);
67
68 Pool* pakfire_get_solv_pool(Pakfire pakfire);
69 Queue* pakfire_get_installonly_queue(Pakfire pakfire);
70
71 #endif
72
73 #endif /* PAKFIRE_PAKFIRE_H */