/*
* pooltypes.h
- *
+ *
*/
#ifndef LIBSOLV_POOLTYPES_H
#define LIBSOLV_POOLTYPES_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* format version number for .solv files */
#define SOLV_VERSION_0 0
#define SOLV_VERSION_1 1
#define SOLV_VERSION_6 6
#define SOLV_VERSION_7 7
#define SOLV_VERSION_8 8
+#define SOLV_VERSION_9 9
+
+#define SOLV_FLAG_PREFIX_POOL 4
+#define SOLV_FLAG_SIZE_BYTES 8
+#define SOLV_FLAG_USERDATA 16
+#define SOLV_FLAG_IDARRAYBLOCK 32
-/* The format of .solv files might change incompatibly, and that is described
- by the above version number. But sometimes we also extend the emitted
- attributes (e.g. by adding a new one for solvables, for instance patch
- category). Consumers need to know if the .solv file they have needs to
- be regenerated by newer converters or not (or better, if regenerating them
- would give a different .solv file). We use this serial number for that.
- We increase it every time we add or remove attributes (or change the
- interpretation of them). Tools installed by the user will have their
- version compiled in, so they can detect mismatches between .solv files
- they see and themself. */
-#define SOLV_CONTENT_VERSION 1
+struct s_Stringpool;
+typedef struct s_Stringpool Stringpool;
-#define SOLV_FLAG_PREFIX_POOL 4
+struct s_Pool;
+typedef struct s_Pool Pool;
-struct _Stringpool;
-typedef struct _Stringpool Stringpool;
+struct s_Repo;
+typedef struct s_Repo Repo;
-struct _Pool;
-typedef struct _Pool Pool;
+struct s_Repodata;
+typedef struct s_Repodata Repodata;
-// identifier for string values
+struct s_Solvable;
+typedef struct s_Solvable Solvable;
+
+/* identifier for string values */
typedef int Id; /* must be signed!, since negative Id is used in solver rules to denote negation */
-// offset value, e.g. used to 'point' into the stringspace
+/* offset value, e.g. used to 'point' into the stringspace */
typedef unsigned int Offset;
+#ifdef __cplusplus
+}
+#endif
+
#endif /* LIBSOLV_POOLTYPES_H */