*
*/
-#ifndef POOLTYPES_H
-#define POOLTYPES_H
+#ifndef SATSOLVER_POOLTYPES_H
+#define SATSOLVER_POOLTYPES_H
-/* version number for .solv files */
-#define SOLV_VERSION 0
+/* format version number for .solv files */
+#define SOLV_VERSION_0 0
+#define SOLV_VERSION_1 1
+#define SOLV_VERSION_2 2
+#define SOLV_VERSION_3 3
+#define SOLV_VERSION_4 4
+#define SOLV_VERSION_5 5
+#define SOLV_VERSION_6 6
+#define SOLV_VERSION_7 7
+
+/* 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
+
+#define SOLV_FLAG_PREFIX_POOL 4
+
+struct _Stringpool;
+typedef struct _Stringpool Stringpool;
struct _Pool;
typedef struct _Pool Pool;
// offset value, e.g. used to 'point' into the stringspace
typedef unsigned int Offset;
-#endif /* POOLTYPES_H */
+#endif /* SATSOLVER_POOLTYPES_H */