- changed repo interface a bit, now alloc/free handle repo pointer and
[platform/upstream/libsolv.git] / src / solvable.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  * solvable.h
10  * 
11  * A solvable represents an object with name-epoch:version-release.arch and dependencies
12  */
13
14 #ifndef SOLVABLE_H
15 #define SOLVABLE_H
16
17 #include "pooltypes.h"
18
19 struct _Repo;
20
21 typedef struct _Solvable {
22   Id name;
23   Id arch;
24   Id evr;                       /* epoch:version-release */
25   Id vendor;
26
27   struct _Repo *repo;           /* repo we belong to */
28
29   /* dependencies are offsets into idarray of repo */
30   Offset provides;                      /* terminated with Id 0 */
31   Offset obsoletes;
32   Offset conflicts;
33
34   Offset requires;
35   Offset recommends;
36   Offset suggests;
37
38   Offset supplements;
39   Offset enhances;
40
41   Offset freshens;
42 } Solvable;
43
44 #endif /* SOLVABLE_H */