d8cd65864ea9a6f121355b85bf150c5de4483ae3
[platform/upstream/libsolv.git] / src / poolid.h
1 /*
2  * Copyright (c) 2007, Novell Inc.
3  *
4  * This program is licensed under the BSD license, read LICENSE.BSD
5  * for further information
6  */
7
8 /*
9  * poolid.h
10  * 
11  */
12
13 #ifndef LIBSOLV_POOLID_H
14 #define LIBSOLV_POOLID_H
15
16 #include "pooltypes.h"
17 #include "hash.h"
18
19 /*-----------------------------------------------
20  * Ids with relation
21  */
22
23 typedef struct _Reldep {
24   Id name;              // "package"
25   Id evr;               // "0:42-3"
26   int flags;            // operation/relation, see REL_x in pool.h
27 } Reldep;
28
29 extern Id pool_str2id(Pool *pool, const char *, int);
30 extern Id pool_strn2id(Pool *pool, const char *, unsigned int, int);
31 extern Id pool_rel2id(Pool *pool, Id, Id, int, int);
32 extern const char *pool_id2str(const Pool *pool, Id);
33 extern const char *pool_id2rel(const Pool *pool, Id);
34 extern const char *pool_id2evr(const Pool *pool, Id);
35 extern const char *pool_dep2str(Pool *pool, Id); /* might alloc tmpspace */
36
37 extern void pool_shrink_strings(Pool *pool);
38 extern void pool_shrink_rels(Pool *pool);
39 extern void pool_freeidhashes(Pool *pool);
40
41 #endif /* LIBSOLV_POOLID_H */