satsolver 0.16.3
|
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 * poolid.h 00010 * 00011 */ 00012 00013 #ifndef SATSOLVER_POOLID_H 00014 #define SATSOLVER_POOLID_H 00015 00016 #include "pooltypes.h" 00017 #include "hash.h" 00018 00019 //----------------------------------------------- 00020 // Id's with relation 00021 00022 typedef struct _Reldep { 00023 Id name; // "package" 00024 Id evr; // "0:42-3" 00025 int flags; // operation/relation, see REL_x in pool.h 00026 } Reldep; 00027 00028 extern Id str2id(Pool *pool, const char *, int); 00029 extern Id strn2id(Pool *pool, const char *, unsigned int, int); 00030 extern Id rel2id(Pool *pool, Id, Id, int, int); 00031 extern const char *id2str(const Pool *pool, Id); 00032 extern const char *dep2str(Pool *pool, Id); /* might alloc tmpspace */ 00033 extern const char *id2rel(const Pool *pool, Id); 00034 extern const char *id2evr(const Pool *pool, Id); 00035 00036 extern void pool_shrink_strings(Pool *pool); 00037 extern void pool_shrink_rels(Pool *pool); 00038 extern void pool_freeidhashes(Pool *pool); 00039 00040 #endif /* SATSOLVER_POOLID_H */