00001 /* 00002 * Copyright (c) 2007, Novell Inc. 00003 * 00004 * This program is licensed under the BSD license, read LICENSE.BSD 00005 * for further information 00006 */ 00007 00008 /* 00009 * pooltypes.h 00010 * 00011 */ 00012 00013 #ifndef SATSOLVER_POOLTYPES_H 00014 #define SATSOLVER_POOLTYPES_H 00015 00016 /* format version number for .solv files */ 00017 #define SOLV_VERSION_0 0 00018 #define SOLV_VERSION_1 1 00019 #define SOLV_VERSION_2 2 00020 #define SOLV_VERSION_3 3 00021 #define SOLV_VERSION_4 4 00022 #define SOLV_VERSION_5 5 00023 #define SOLV_VERSION_6 6 00024 #define SOLV_VERSION_7 7 00025 #define SOLV_VERSION_8 8 00026 00027 /* The format of .solv files might change incompatibly, and that is described 00028 by the above version number. But sometimes we also extend the emitted 00029 attributes (e.g. by adding a new one for solvables, for instance patch 00030 category). Consumers need to know if the .solv file they have needs to 00031 be regenerated by newer converters or not (or better, if regenerating them 00032 would give a different .solv file). We use this serial number for that. 00033 We increase it every time we add or remove attributes (or change the 00034 interpretation of them). Tools installed by the user will have their 00035 version compiled in, so they can detect mismatches between .solv files 00036 they see and themself. */ 00037 #define SOLV_CONTENT_VERSION 1 00038 00039 #define SOLV_FLAG_PREFIX_POOL 4 00040 00041 struct _Stringpool; 00042 typedef struct _Stringpool Stringpool; 00043 00044 struct _Pool; 00045 typedef struct _Pool Pool; 00046 00047 // identifier for string values 00048 typedef int Id; /* must be signed!, since negative Id is used in solver rules to denote negation */ 00049 00050 // offset value, e.g. used to 'point' into the stringspace 00051 typedef unsigned int Offset; 00052 00053 #endif /* SATSOLVER_POOLTYPES_H */