00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _ALPM_DEPS_H
00022 #define _ALPM_DEPS_H
00023
00024 #include "db.h"
00025 #include "sync.h"
00026 #include "package.h"
00027 #include "alpm.h"
00028
00029
00030 struct __pmdepend_t {
00031 pmdepmod_t mod;
00032 char *name;
00033 char *version;
00034 };
00035
00036
00037 struct __pmdepmissing_t {
00038 char *target;
00039 pmdepend_t *depend;
00040 };
00041
00042
00043 struct __pmgraph_t {
00044 int state;
00045 void *data;
00046 struct __pmgraph_t *parent;
00047 alpm_list_t *children;
00048 alpm_list_t *childptr;
00049 };
00050
00051
00052 void _alpm_dep_free(pmdepend_t *dep);
00053 pmdepend_t *_alpm_dep_dup(const pmdepend_t *dep);
00054 pmdepmissing_t *_alpm_depmiss_new(const char *target, pmdepend_t *dep);
00055 void _alpm_depmiss_free(pmdepmissing_t *miss);
00056 alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode);
00057 void _alpm_recursedeps(pmdb_t *db, alpm_list_t *targs, int include_explicit);
00058 int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
00059 alpm_list_t **list, alpm_list_t *remove, pmtrans_t *trans, alpm_list_t **data);
00060
00061 #endif
00062
00063