summaryrefslogtreecommitdiff
path: root/src/solvable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvable.h')
-rw-r--r--src/solvable.h39
1 files changed, 35 insertions, 4 deletions
diff --git a/src/solvable.h b/src/solvable.h
index 583f345..7ecc6cf 100644
--- a/src/solvable.h
+++ b/src/solvable.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, Novell Inc.
+ * Copyright (c) 2007-2012, Novell Inc.
*
* This program is licensed under the BSD license, read LICENSE.BSD
* for further information
@@ -8,13 +8,15 @@
/*
* solvable.h
*
- * A solvable represents an object with name-epoch:version-release.arch and dependencies
+ * A solvable represents an object with name-epoch:version-release.arch
+ * and dependencies
*/
#ifndef LIBSOLV_SOLVABLE_H
#define LIBSOLV_SOLVABLE_H
#include "pooltypes.h"
+#include "queue.h"
struct _Repo;
@@ -26,8 +28,8 @@ typedef struct _Solvable {
struct _Repo *repo; /* repo we belong to */
- /* dependencies are offsets into idarray of repo */
- Offset provides; /* terminated with Id 0 */
+ /* dependencies are offsets into repo->idarraydata */
+ Offset provides; /* terminated with Id 0 */
Offset obsoletes;
Offset conflicts;
@@ -40,4 +42,33 @@ typedef struct _Solvable {
} Solvable;
+/* lookup functions */
+Id solvable_lookup_type(Solvable *s, Id keyname);
+Id solvable_lookup_id(Solvable *s, Id keyname);
+unsigned int solvable_lookup_num(Solvable *s, Id keyname, unsigned int notfound);
+const char *solvable_lookup_str(Solvable *s, Id keyname);
+const char *solvable_lookup_str_poollang(Solvable *s, Id keyname);
+const char *solvable_lookup_str_lang(Solvable *s, Id keyname, const char *lang, int usebase);
+int solvable_lookup_bool(Solvable *s, Id keyname);
+int solvable_lookup_void(Solvable *s, Id keyname);
+char *solvable_get_location(Solvable *s, unsigned int *medianrp);
+const unsigned char *solvable_lookup_bin_checksum(Solvable *s, Id keyname, Id *typep);
+const char *solvable_lookup_checksum(Solvable *s, Id keyname, Id *typep);
+int solvable_lookup_idarray(Solvable *s, Id keyname, Queue *q);
+int solvable_lookup_deparray(Solvable *s, Id keyname, Queue *q, Id marker);
+
+/* setter functions */
+void solvable_set_id(Solvable *s, Id keyname, Id id);
+void solvable_set_num(Solvable *s, Id keyname, unsigned int num);
+void solvable_set_str(Solvable *s, Id keyname, const char *str);
+void solvable_set_poolstr(Solvable *s, Id keyname, const char *str);
+void solvable_add_poolstr_array(Solvable *s, Id keyname, const char *str);
+void solvable_add_idarray(Solvable *s, Id keyname, Id id);
+void solvable_add_deparray(Solvable *s, Id keyname, Id dep, Id marker);
+void solvable_set_idarray(Solvable *s, Id keyname, Queue *q);
+void solvable_set_deparray(Solvable *s, Id keyname, Queue *q, Id marker);
+
+int solvable_identical(Solvable *s1, Solvable *s2);
+Id solvable_selfprovidedep(Solvable *s);
+
#endif /* LIBSOLV_SOLVABLE_H */