1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
#ifndef ALPM_HANDLE_H
#define ALPM_HANDLE_H
#include <stdio.h>
#include <sys/types.h>
#include <regex.h>
#include "alpm_list.h"
#include "alpm.h"
#ifdef HAVE_LIBCURL
#include <curl/curl.h>
#endif
#define EVENT(h, e) \
do { \
if((h)->eventcb) { \
(h)->eventcb((alpm_event_t *) (e)); \
} \
} while(0)
#define QUESTION(h, q) \
do { \
if((h)->questioncb) { \
(h)->questioncb((alpm_question_t *) (q)); \
} \
} while(0)
#define PROGRESS(h, e, p, per, n, r) \
do { \
if((h)->progresscb) { \
(h)->progresscb(e, p, per, n, r); \
} \
} while(0)
struct __alpm_handle_t {
alpm_db_t *db_local;
alpm_list_t *dbs_sync;
FILE *logstream;
alpm_trans_t *trans;
#ifdef HAVE_LIBCURL
CURL *curl;
unsigned short disable_dl_timeout;
#endif
#ifdef HAVE_LIBGPGME
alpm_list_t *known_keys;
#endif
alpm_cb_log logcb;
alpm_cb_download dlcb;
alpm_cb_totaldl totaldlcb;
alpm_cb_fetch fetchcb;
alpm_cb_event eventcb;
alpm_cb_question questioncb;
alpm_cb_progress progresscb;
char *root;
char *dbpath;
char *logfile;
char *lockfile;
char *gpgdir;
alpm_list_t *cachedirs;
alpm_list_t *hookdirs;
alpm_list_t *overwrite_files;
alpm_list_t *noupgrade;
alpm_list_t *noextract;
alpm_list_t *ignorepkg;
alpm_list_t *ignoregroup;
alpm_list_t *assumeinstalled;
char *arch;
double deltaratio;
int usesyslog; TODO
int checkspace;
char *dbext;
int siglevel;
int localfilesiglevel;
int remotefilesiglevel;
alpm_errno_t pm_errno;
int lockfd;
int delta_regex_compiled;
regex_t delta_regex;
};
alpm_handle_t *_alpm_handle_new(void);
void _alpm_handle_free(alpm_handle_t *handle);
int _alpm_handle_lock(alpm_handle_t *handle);
int _alpm_handle_unlock(alpm_handle_t *handle);
alpm_errno_t _alpm_set_directory_option(const char *value,
char **storage, int must_exist);
#endif
|