|
Packit |
54873f |
/*
|
|
Packit |
54873f |
* Copyright (c) 2012, Novell Inc.
|
|
Packit |
54873f |
*
|
|
Packit |
54873f |
* This program is licensed under the BSD license, read LICENSE.BSD
|
|
Packit |
54873f |
* for further information
|
|
Packit |
54873f |
*/
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/*
|
|
Packit |
54873f |
* selection.h
|
|
Packit |
54873f |
*
|
|
Packit |
54873f |
*/
|
|
Packit |
54873f |
|
|
Packit |
54873f |
#ifndef LIBSOLV_SELECTION_H
|
|
Packit |
54873f |
#define LIBSOLV_SELECTION_H
|
|
Packit |
54873f |
|
|
Packit |
54873f |
#include "pool.h"
|
|
Packit |
54873f |
|
|
Packit |
54873f |
#ifdef __cplusplus
|
|
Packit |
54873f |
extern "C" {
|
|
Packit |
54873f |
#endif
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* what to match */
|
|
Packit |
54873f |
#define SELECTION_NAME (1 << 0)
|
|
Packit |
54873f |
#define SELECTION_PROVIDES (1 << 1)
|
|
Packit |
54873f |
#define SELECTION_FILELIST (1 << 2)
|
|
Packit |
54873f |
#define SELECTION_CANON (1 << 3)
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* match extensions */
|
|
Packit |
54873f |
#define SELECTION_DOTARCH (1 << 4) /* allow ".arch" suffix */
|
|
Packit |
54873f |
#define SELECTION_REL (1 << 5) /* allow "<=> rel" suffix */
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* string comparison modifiers */
|
|
Packit |
54873f |
#define SELECTION_GLOB (1 << 9)
|
|
Packit |
54873f |
#define SELECTION_NOCASE (1 << 11)
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* extra flags */
|
|
Packit |
54873f |
#define SELECTION_FLAT (1 << 10) /* flatten the resulting selection */
|
|
Packit |
54873f |
#define SELECTION_SKIP_KIND (1 << 14) /* remove kind: name prefix in SELECTION_NAME matches */
|
|
Packit |
54873f |
#define SELECTION_MATCH_DEPSTR (1 << 15) /* match dep2str result */
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* package selection */
|
|
Packit |
54873f |
#define SELECTION_INSTALLED_ONLY (1 << 8)
|
|
Packit |
54873f |
#define SELECTION_SOURCE_ONLY (1 << 12)
|
|
Packit |
54873f |
#define SELECTION_WITH_SOURCE (1 << 13)
|
|
Packit |
54873f |
#define SELECTION_WITH_DISABLED (1 << 16)
|
|
Packit |
54873f |
#define SELECTION_WITH_BADARCH (1 << 17)
|
|
Packit |
54873f |
#define SELECTION_WITH_ALL (SELECTION_WITH_SOURCE | SELECTION_WITH_DISABLED | SELECTION_WITH_BADARCH)
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* result operator */
|
|
Packit |
54873f |
#define SELECTION_REPLACE (0 << 28)
|
|
Packit |
54873f |
#define SELECTION_ADD (1 << 28)
|
|
Packit |
54873f |
#define SELECTION_SUBTRACT (2 << 28)
|
|
Packit |
54873f |
#define SELECTION_FILTER (3 << 28)
|
|
Packit |
54873f |
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* extra SELECTION_FILTER bits */
|
|
Packit |
54873f |
#define SELECTION_FILTER_KEEP_IFEMPTY (1 << 30)
|
|
Packit |
54873f |
#define SELECTION_FILTER_SWAPPED (1 << 31)
|
|
Packit |
54873f |
|
|
Packit |
54873f |
/* internal */
|
|
Packit |
54873f |
#define SELECTION_MODEBITS (3 << 28)
|
|
Packit |
54873f |
|
|
Packit |
54873f |
extern int selection_make(Pool *pool, Queue *selection, const char *name, int flags);
|
|
Packit |
54873f |
extern int selection_make_matchdeps(Pool *pool, Queue *selection, const char *name, int flags, int keyname, int marker);
|
|
Packit |
54873f |
extern int selection_make_matchdepid(Pool *pool, Queue *selection, Id dep, int flags, int keyname, int marker);
|
|
Packit |
54873f |
extern int selection_make_matchsolvable(Pool *pool, Queue *selection, Id solvid, int flags, int keyname, int marker);
|
|
Packit |
54873f |
extern int selection_make_matchsolvablelist(Pool *pool, Queue *selection, Queue *solvidq, int flags, int keyname, int marker);
|
|
Packit |
54873f |
|
|
Packit |
54873f |
extern void selection_filter(Pool *pool, Queue *sel1, Queue *sel2);
|
|
Packit |
54873f |
extern void selection_add(Pool *pool, Queue *sel1, Queue *sel2);
|
|
Packit |
54873f |
extern void selection_subtract(Pool *pool, Queue *sel1, Queue *sel2);
|
|
Packit |
54873f |
|
|
Packit |
54873f |
extern void selection_solvables(Pool *pool, Queue *selection, Queue *pkgs);
|
|
Packit |
54873f |
|
|
Packit |
54873f |
extern const char *pool_selection2str(Pool *pool, Queue *selection, Id flagmask);
|
|
Packit |
54873f |
|
|
Packit |
54873f |
#ifdef __cplusplus
|
|
Packit |
54873f |
}
|
|
Packit |
54873f |
#endif
|
|
Packit |
54873f |
|
|
Packit |
54873f |
#endif
|