]> git.ipfire.org Git - pakfire.git/blame - src/libpakfire/include/pakfire/pakfire.h
libpakfire: Add function to check if file exists/is readable/is writable in cache
[pakfire.git] / src / libpakfire / include / pakfire / pakfire.h
CommitLineData
6e46b18e
MT
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
b36355f7 24#include <stddef.h>
8301098b 25#include <stdio.h>
3a5d37c5 26#include <sys/stat.h>
8301098b 27#include <time.h>
b36355f7 28
6e46b18e
MT
29#include <pakfire/types.h>
30
5ac0f067
MT
31int pakfire_init();
32
6e46b18e
MT
33Pakfire pakfire_create(const char* path, const char* arch);
34
35Pakfire pakfire_ref(Pakfire pakfire);
8c916a4d 36Pakfire pakfire_unref(Pakfire pakfire);
6e46b18e
MT
37
38const char* pakfire_get_path(Pakfire pakfire);
39const char* pakfire_get_arch(Pakfire pakfire);
40
af2ad1e0
MT
41PakfirePool pakfire_get_pool(Pakfire pakfire);
42
86671603
MT
43const char** pakfire_get_installonly(Pakfire pakfire);
44void pakfire_set_installonly(Pakfire pakfire, const char** installonly);
45
f989dacd
MT
46int pakfire_version_compare(Pakfire pakfire, const char* evr1, const char* evr2);
47
b36355f7
MT
48size_t pakfire_count_packages(Pakfire pakfire);
49
843fcc66
MT
50PakfireRepo pakfire_get_installed_repo(Pakfire pakfire);
51void pakfire_set_installed_repo(Pakfire pakfire, PakfireRepo repo);
52
f989dacd
MT
53PakfirePackageList pakfire_whatprovides(Pakfire pakfire, const char* provides, int flags);
54PakfirePackageList pakfire_search(Pakfire pakfire, const char* what, int flags);
55
a5376951
MT
56// Cache
57
58char* pakfire_get_cache_path(Pakfire pakfire, const char* path);
59void pakfire_set_cache_path(Pakfire pakfire, const char* path);
60
8301098b 61int pakfire_cache_destroy(Pakfire pakfire, const char* path);
a239b25d 62int pakfire_cache_access(Pakfire pakfire, const char* path, int mode);
3a5d37c5 63int pakfire_cache_stat(Pakfire pakfire, const char* path, struct stat* buffer);
8301098b
MT
64time_t pakfire_cache_age(Pakfire pakfire, const char* path);
65FILE* pakfire_cache_open(Pakfire pakfire, const char* path, const char* flags);
3a5d37c5 66
19f3d106
MT
67#ifdef PAKFIRE_PRIVATE
68
69#include <solv/pool.h>
70
f989dacd
MT
71void pakfire_pool_has_changed(Pakfire pakfire);
72void pakfire_pool_apply_changes(Pakfire pakfire);
73
19f3d106 74Pool* pakfire_get_solv_pool(Pakfire pakfire);
86671603 75Queue* pakfire_get_installonly_queue(Pakfire pakfire);
19f3d106
MT
76
77#endif
78
6e46b18e 79#endif /* PAKFIRE_PAKFIRE_H */