1 /*
2  *  deps.h
3  *
4  *  Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
5  *  Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
6  *  Copyright (c) 2005 by Aurelien Foret <orelien@chez.com>
7  *  Copyright (c) 2006 by Miklos Vajna <vmiklos@frugalware.org>
8  *
9  *  This program is free software; you can redistribute it and/or modify
10  *  it under the terms of the GNU General Public License as published by
11  *  the Free Software Foundation; either version 2 of the License, or
12  *  (at your option) any later version.
13  *
14  *  This program is distributed in the hope that it will be useful,
15  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *  GNU General Public License for more details.
18  *
19  *  You should have received a copy of the GNU General Public License
20  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  */
22 #ifndef ALPM_DEPS_H
23 #define ALPM_DEPS_H
24 
25 #include "db.h"
26 #include "sync.h"
27 #include "package.h"
28 #include "alpm.h"
29 
30 alpm_depend_t *_alpm_dep_dup(const alpm_depend_t *dep);
31 alpm_list_t *_alpm_sortbydeps(alpm_handle_t *handle,
32 		alpm_list_t *targets, alpm_list_t *ignore, int reverse);
33 int _alpm_recursedeps(alpm_db_t *db, alpm_list_t **targs, int include_explicit);
34 int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs, alpm_pkg_t *pkg,
35 		alpm_list_t *preferred, alpm_list_t **packages, alpm_list_t *remove,
36 		alpm_list_t **data);
37 int _alpm_depcmp_literal(alpm_pkg_t *pkg, alpm_depend_t *dep);
38 int _alpm_depcmp_provides(alpm_depend_t *dep, alpm_list_t *provisions);
39 int _alpm_depcmp(alpm_pkg_t *pkg, alpm_depend_t *dep);
40 
41 #endif /* ALPM_DEPS_H */
42