Remove global handle dependencies from sync/upgrade paths
[pacman-ng.git] / lib / libalpm / conflict.h
blobd00314de537b48db08d77aef93ffd0278c35897a
1 /*
2 * conflict.h
4 * Copyright (c) 2006-2011 Pacman Development Team <pacman-dev@archlinux.org>
5 * Copyright (c) 2002-2006 by Judd Vinet <jvinet@zeroflux.org>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _ALPM_CONFLICT_H
21 #define _ALPM_CONFLICT_H
23 #include "alpm.h"
24 #include "db.h"
25 #include "package.h"
27 struct __pmconflict_t {
28 char *package1;
29 char *package2;
30 char *reason;
33 struct __pmfileconflict_t {
34 char *target;
35 pmfileconflicttype_t type;
36 char *file;
37 char *ctarget;
40 pmconflict_t *_alpm_conflict_new(const char *package1, const char *package2, const char *reason);
41 pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict);
42 void _alpm_conflict_free(pmconflict_t *conflict);
43 alpm_list_t *_alpm_innerconflicts(alpm_list_t *packages);
44 alpm_list_t *_alpm_outerconflicts(pmdb_t *db, alpm_list_t *packages);
45 alpm_list_t *_alpm_db_find_fileconflicts(pmhandle_t *handle,
46 alpm_list_t *upgrade, alpm_list_t *remove);
48 void _alpm_fileconflict_free(pmfileconflict_t *conflict);
50 #endif /* _ALPM_CONFLICT_H */
52 /* vim: set ts=2 sw=2 noet: */