/*
+ * Copyright (c) 2007, Novell Inc.
+ *
+ * This program is licensed under the BSD license, read LICENSE.BSD
+ * for further information
+ */
+
+/*
* solvable.h
*
* A solvable represents an object with name-epoch:version-release.arch and dependencies
*/
-#ifndef SOLVABLE_H
-#define SOLVABLE_H
+#ifndef LIBSOLV_SOLVABLE_H
+#define LIBSOLV_SOLVABLE_H
#include "pooltypes.h"
+struct _Repo;
+
typedef struct _Solvable {
Id name;
Id arch;
- Id evr;
+ Id evr; /* epoch:version-release */
+ Id vendor;
+
+ struct _Repo *repo; /* repo we belong to */
- // dependencies are pointers into idarray of source the solvable originates from
- Id *provides; // terminated with Id 0
- Id *obsoletes;
- Id *conflicts;
+ /* dependencies are offsets into idarray of repo */
+ Offset provides; /* terminated with Id 0 */
+ Offset obsoletes;
+ Offset conflicts;
- Id *requires;
- Id *recommends;
- Id *suggests;
+ Offset requires;
+ Offset recommends;
+ Offset suggests;
- Id *supplements;
- Id *enhances;
+ Offset supplements;
+ Offset enhances;
- Id *freshens;
} Solvable;
-#endif /* SOLVABLE_H */
+#endif /* LIBSOLV_SOLVABLE_H */