- move known id definitions to one file, lets see if g++ likes it
[platform/upstream/libsolv.git] / src / knownid.h
1 /*
2  * Copyright (c) 2007, Novell Inc.
3  *
4  * This program is licensed under the BSD license, read LICENSE.BSD
5  * for further information
6  */
7
8 /*
9  * knownid.h
10  * 
11  */
12
13 #undef KNOWNID
14 #ifdef KNOWNID_INITIALIZE
15 # define KNOWNID(a, b) b
16 static const char *initpool_data[] = {
17 #else
18 # define KNOWNID(a, b) a
19 enum sat_knownid {
20 #endif
21
22 KNOWNID(ID_NULL,                        "<NULL>"),
23 KNOWNID(ID_EMPTY,                       ""),
24 KNOWNID(SOLVABLE_NAME,                  "solvable:name"),
25 KNOWNID(SOLVABLE_ARCH,                  "solvable:arch"),
26 KNOWNID(SOLVABLE_EVR,                   "solvable:evr"),
27 KNOWNID(SOLVABLE_VENDOR,                "solvable:vendor"),
28 KNOWNID(SOLVABLE_PROVIDES,              "solvable:provides"),
29 KNOWNID(SOLVABLE_OBSOLETES,             "solvable:obsoletes"),
30 KNOWNID(SOLVABLE_CONFLICTS,             "solvable:conflicts"),
31 KNOWNID(SOLVABLE_REQUIRES,              "solvable:requires"),
32 KNOWNID(SOLVABLE_RECOMMENDS,            "solvable:recommends"),
33 KNOWNID(SOLVABLE_SUGGESTS,              "solvable:suggests"),
34 KNOWNID(SOLVABLE_SUPPLEMENTS,           "solvable:supplements"),
35 KNOWNID(SOLVABLE_ENHANCES,              "solvable:enhances"),
36 KNOWNID(SOLVABLE_FRESHENS,              "solvable:freshens"),
37 KNOWNID(RPM_RPMDBID,                    "rpm:dbid"),
38 /* normal requires before this, prereqs after this */
39 KNOWNID(SOLVABLE_PREREQMARKER,          "solvable:prereqmarker"),
40 /* normal provides before this, generated file provides after this */
41 KNOWNID(SOLVABLE_FILEMARKER,            "solvable:filemarker"),
42 KNOWNID(NAMESPACE_INSTALLED,            "namespace:installed"),
43 KNOWNID(NAMESPACE_MODALIAS,             "namespace:modalias"),
44 KNOWNID(NAMESPACE_SPLITPROVIDES,        "namespace:splitprovides"),
45 KNOWNID(NAMESPACE_LANGUAGE,             "namespace:language"),
46 KNOWNID(NAMESPACE_FILESYSTEM,           "namespace:filesystem"),
47 KNOWNID(SYSTEM_SYSTEM,                  "system:system"),
48 KNOWNID(ARCH_SRC,                       "src"),
49 KNOWNID(ARCH_NOSRC,                     "nosrc"),
50 KNOWNID(ARCH_NOARCH,                    "noarch"),
51 KNOWNID(REPODATA_EXTERNAL,              "repodata:external"),
52 KNOWNID(REPODATA_KEYS,                  "repodata:keys"),
53 KNOWNID(REPODATA_LOCATION,              "repodata:location"),
54
55 /* The void type is usable to encode one-valued attributes, they have
56    no associated data.  This is useful to encode values which many solvables
57    have in common, and whose overall set is relatively limited.  A prime
58    example would be the media number.  The actual value is encoded in the
59    SIZE member of the key structure.  Be warned: careless use of this
60    leads to combinatoric explosion of number of schemas.  */
61 KNOWNID(REPOKEY_TYPE_VOID,              "repokey:type:void"),
62 KNOWNID(REPOKEY_TYPE_CONSTANT,          "repokey:type:constant"),
63 KNOWNID(REPOKEY_TYPE_CONSTANTID,        "repokey:type:constantid"),
64 KNOWNID(REPOKEY_TYPE_ID,                "repokey:type:id"),
65 KNOWNID(REPOKEY_TYPE_NUM,               "repokey:type:num"),
66 KNOWNID(REPOKEY_TYPE_U32,               "repokey:type:num32"),
67 KNOWNID(REPOKEY_TYPE_DIR,               "repokey:type:dir"),
68 KNOWNID(REPOKEY_TYPE_STR,               "repokey:type:str"),
69 KNOWNID(REPOKEY_TYPE_IDARRAY,           "repokey:type:idarray"),
70 KNOWNID(REPOKEY_TYPE_REL_IDARRAY,       "repokey:type:relidarray"),
71 KNOWNID(REPOKEY_TYPE_DIRSTRARRAY,       "repokey:type:dirstrarray"),
72 KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY,    "repokey:type:dirnumnumarray"),
73
74 KNOWNID(SOLVABLE_SUMMARY,               "solvable:summary"),
75 KNOWNID(SOLVABLE_DESCRIPTION,           "solvable:description"),
76 KNOWNID(SOLVABLE_AUTHORS,               "solvable:authors"),
77 KNOWNID(SOLVABLE_GROUP,                 "solvable:group"),
78 KNOWNID(SOLVABLE_KEYWORDS,              "solvable:keywords"),
79 KNOWNID(SOLVABLE_LICENSE,               "solvable:license"),
80 KNOWNID(SOLVABLE_BUILDTIME,             "solvable:buildtime"),
81 KNOWNID(SOLVABLE_EULA,                  "solvable:eula"),
82 KNOWNID(SOLVABLE_MESSAGEINS,            "solvable:messageins"),
83 KNOWNID(SOLVABLE_MESSAGEDEL,            "solvable:messagedel"),
84 KNOWNID(SOLVABLE_INSTALLSIZE,           "solvable:installsize"),
85 KNOWNID(SOLVABLE_DISKUSAGE,             "solvable:diskusage"),
86 KNOWNID(SOLVABLE_FILELIST,              "solvable:filelist"),
87 KNOWNID(SOLVABLE_INSTALLTIME,           "solvable:installtime"),
88 KNOWNID(SOLVABLE_MEDIADIR,              "solvable:mediadir"),
89 KNOWNID(SOLVABLE_MEDIAFILE,             "solvable:mediafile"),
90 KNOWNID(SOLVABLE_MEDIANR,               "solvable:medianr"),
91 KNOWNID(SOLVABLE_DOWNLOADSIZE,          "solvable:downloadsize"),
92 KNOWNID(SOLVABLE_SOURCEARCH,            "solvable:sourcearch"),
93 KNOWNID(SOLVABLE_SOURCENAME,            "solvable:sourcename"),
94 KNOWNID(SOLVABLE_SOURCEEVR,             "solvable:sourceevr"),
95 KNOWNID(SOLVABLE_ISVISIBLE,             "solvable:isvisible"),
96
97 KNOWNID(SOLVABLE_PATCHCATEGORY,         "solvable:patchcategory"),
98 KNOWNID(SOLVABLE_HEADEREND,             "solvable:headerend"),
99
100 KNOWNID(ID_NUM_INTERNAL,                0)
101
102 #ifdef KNOWNID_INITIALIZE
103 };
104 #else
105 };
106 #endif
107
108 #undef KNOWNID
109