xref: /haiku/src/libs/libsolv/solv/selection.h (revision 909af08f4328301fbdef1ffb41f566c3b5bec0c7)
1 /*
2  * Copyright (c) 2012, Novell Inc.
3  *
4  * This program is licensed under the BSD license, read LICENSE.BSD
5  * for further information
6  */
7 
8 /*
9  * selection.h
10  *
11  */
12 
13 #ifndef LIBSOLV_SELECTION_H
14 #define LIBSOLV_SELECTION_H
15 
16 #include "pool.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define SELECTION_NAME			(1 << 0)
23 #define SELECTION_PROVIDES		(1 << 1)
24 #define SELECTION_FILELIST		(1 << 2)
25 #define SELECTION_CANON			(1 << 3)
26 #define SELECTION_DOTARCH		(1 << 4)
27 #define SELECTION_REL			(1 << 5)
28 
29 #define SELECTION_INSTALLED_ONLY	(1 << 8)
30 #define SELECTION_GLOB			(1 << 9)
31 #define SELECTION_FLAT			(1 << 10)
32 #define SELECTION_NOCASE		(1 << 11)
33 #define SELECTION_SOURCE_ONLY		(1 << 12)
34 #define SELECTION_WITH_SOURCE		(1 << 13)
35 
36 extern int  selection_make(Pool *pool, Queue *selection, const char *name, int flags);
37 extern void selection_filter(Pool *pool, Queue *sel1, Queue *sel2);
38 extern void selection_add(Pool *pool, Queue *sel1, Queue *sel2);
39 extern void selection_solvables(Pool *pool, Queue *selection, Queue *pkgs);
40 
41 #ifdef __cplusplus
42 }
43 #endif
44 
45 #endif
46