]>
Commit | Line | Data |
---|---|---|
221cc3ce MT |
1 | /*############################################################################# |
2 | # # | |
3 | # Pakfire - The IPFire package management system # | |
4 | # Copyright (C) 2014 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_ARCHIVE_H | |
22 | #define PAKFIRE_ARCHIVE_H | |
23 | ||
e1545ccb | 24 | #include <stddef.h> |
221cc3ce | 25 | |
900faa2f MT |
26 | struct pakfire_archive; |
27 | ||
1bbbfb9e | 28 | #include <pakfire/filelist.h> |
5fa89cc9 | 29 | #include <pakfire/key.h> |
31480bee | 30 | #include <pakfire/package.h> |
4651122b | 31 | #include <pakfire/repo.h> |
101264c8 | 32 | #include <pakfire/scriptlet.h> |
221cc3ce | 33 | |
618ca500 | 34 | typedef enum pakfire_archive_verify_status { |
6bf26d8f | 35 | PAKFIRE_ARCHIVE_VERIFY_UNKNOWN = 0, |
457eb699 | 36 | PAKFIRE_ARCHIVE_VERIFY_NOT_SIGNED, |
6bf26d8f | 37 | PAKFIRE_ARCHIVE_VERIFY_OK, |
618ca500 MT |
38 | PAKFIRE_ARCHIVE_VERIFY_INVALID, |
39 | PAKFIRE_ARCHIVE_VERIFY_SIG_EXPIRED, | |
40 | PAKFIRE_ARCHIVE_VERIFY_KEY_EXPIRED, | |
41 | PAKFIRE_ARCHIVE_VERIFY_KEY_UNKNOWN, | |
4efcd464 | 42 | PAKFIRE_ARCHIVE_VERIFY_ERROR, |
618ca500 MT |
43 | } pakfire_archive_verify_status_t; |
44 | ||
ac4c607b | 45 | int pakfire_archive_open(struct pakfire_archive** archive, struct pakfire* pakfire, const char* path); |
900faa2f MT |
46 | struct pakfire_archive* pakfire_archive_ref(struct pakfire_archive* archive); |
47 | struct pakfire_archive* pakfire_archive_unref(struct pakfire_archive* archive); | |
221cc3ce | 48 | |
900faa2f | 49 | char* pakfire_archive_get(struct pakfire_archive* archive, const char* namespace, const char* key); |
312fd26f | 50 | |
900faa2f | 51 | int pakfire_archive_read(struct pakfire_archive* archive, const char* filename, |
bd6c66de | 52 | char** data, size_t* data_size); |
79824416 | 53 | int pakfire_archive_extract(struct pakfire_archive* archive); |
221cc3ce | 54 | |
900faa2f | 55 | const char* pakfire_archive_get_path(struct pakfire_archive* archive); |
221cc3ce | 56 | |
900faa2f | 57 | unsigned int pakfire_archive_get_format(struct pakfire_archive* archive); |
221cc3ce | 58 | |
1bbbfb9e | 59 | struct pakfire_filelist* pakfire_archive_get_filelist(struct pakfire_archive* archive); |
221cc3ce | 60 | |
d2b1e88a | 61 | int pakfire_archive_verify(struct pakfire_archive* archive, |
5fa89cc9 | 62 | pakfire_archive_verify_status_t* status, struct pakfire_key*** keys); |
618ca500 | 63 | const char* pakfire_archive_verify_strerror(pakfire_archive_verify_status_t status); |
b6a5c6ee | 64 | int pakfire_archive_sign(struct pakfire_archive* archive, struct pakfire_key* key); |
618ca500 | 65 | |
ae9ac5cc | 66 | ssize_t pakfire_archive_get_size(struct pakfire_archive* archive); |
b31767bd MT |
67 | int pakfire_archive_make_package(struct pakfire_archive* archive, |
68 | struct pakfire_repo* repo, struct pakfire_package** package); | |
312fd26f | 69 | |
221cc3ce MT |
70 | #ifdef PAKFIRE_PRIVATE |
71 | ||
e32162cc MT |
72 | #include <pakfire/pakfire.h> |
73 | ||
285b2758 MT |
74 | int pakfire_archive_copy(struct pakfire_archive* archive, const char* path); |
75 | ||
e32162cc MT |
76 | int pakfire_archive_digest(struct pakfire_archive* archive, |
77 | enum pakfire_digests type, unsigned char* digest, size_t* length); | |
78 | ||
101264c8 | 79 | struct pakfire_scriptlet* pakfire_archive_get_scriptlet( |
900faa2f | 80 | struct pakfire_archive* archive, const char* type); |
101264c8 | 81 | |
221cc3ce MT |
82 | #endif |
83 | ||
84 | #endif /* PAKFIRE_ARCHIVE_H */ |