- no more freshens. R.I.P.
[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 /*
14  * Warning: you're free to append new entries, but insert/delete breaks
15  * the ABI!
16  */
17
18 #undef KNOWNID
19 #ifdef KNOWNID_INITIALIZE
20 # define KNOWNID(a, b) b
21 static const char *initpool_data[] = {
22 #else
23 # define KNOWNID(a, b) a
24 enum sat_knownid {
25 #endif
26
27 KNOWNID(ID_NULL,                        "<NULL>"),
28 KNOWNID(ID_EMPTY,                       ""),
29 KNOWNID(SOLVABLE_NAME,                  "solvable:name"),
30 KNOWNID(SOLVABLE_ARCH,                  "solvable:arch"),
31 KNOWNID(SOLVABLE_EVR,                   "solvable:evr"),
32 KNOWNID(SOLVABLE_VENDOR,                "solvable:vendor"),
33 KNOWNID(SOLVABLE_PROVIDES,              "solvable:provides"),
34 KNOWNID(SOLVABLE_OBSOLETES,             "solvable:obsoletes"),
35 KNOWNID(SOLVABLE_CONFLICTS,             "solvable:conflicts"),
36 KNOWNID(SOLVABLE_REQUIRES,              "solvable:requires"),
37 KNOWNID(SOLVABLE_RECOMMENDS,            "solvable:recommends"),
38 KNOWNID(SOLVABLE_SUGGESTS,              "solvable:suggests"),
39 KNOWNID(SOLVABLE_SUPPLEMENTS,           "solvable:supplements"),
40 KNOWNID(SOLVABLE_ENHANCES,              "solvable:enhances"),
41 KNOWNID(RPM_RPMDBID,                    "rpm:dbid"),
42 /* normal requires before this, prereqs after this */
43 KNOWNID(SOLVABLE_PREREQMARKER,          "solvable:prereqmarker"),
44 /* normal provides before this, generated file provides after this */
45 KNOWNID(SOLVABLE_FILEMARKER,            "solvable:filemarker"),
46 KNOWNID(NAMESPACE_INSTALLED,            "namespace:installed"),
47 KNOWNID(NAMESPACE_MODALIAS,             "namespace:modalias"),
48 KNOWNID(NAMESPACE_SPLITPROVIDES,        "namespace:splitprovides"),
49 KNOWNID(NAMESPACE_LANGUAGE,             "namespace:language"),
50 KNOWNID(NAMESPACE_FILESYSTEM,           "namespace:filesystem"),
51 KNOWNID(SYSTEM_SYSTEM,                  "system:system"),
52 KNOWNID(ARCH_SRC,                       "src"),
53 KNOWNID(ARCH_NOSRC,                     "nosrc"),
54 KNOWNID(ARCH_NOARCH,                    "noarch"),
55 KNOWNID(REPODATA_INFO,                  "repodata:info"),
56 KNOWNID(REPODATA_EXTERNAL,              "repodata:external"),
57 KNOWNID(REPODATA_KEYS,                  "repodata:keys"),
58 KNOWNID(REPODATA_LOCATION,              "repodata:location"),
59 KNOWNID(REPODATA_ADDEDFILEPROVIDES,     "repodata:addedfileprovides"),
60 KNOWNID(REPODATA_RPMDBCOOKIE,           "repodata:rpmdbcookie"),
61
62 /* The void type is usable to encode one-valued attributes, they have
63    no associated data.  This is useful to encode values which many solvables
64    have in common, and whose overall set is relatively limited.  A prime
65    example would be the media number.  The actual value is encoded in the
66    SIZE member of the key structure.  Be warned: careless use of this
67    leads to combinatoric explosion of number of schemas.  */
68 KNOWNID(REPOKEY_TYPE_VOID,              "repokey:type:void"),
69 KNOWNID(REPOKEY_TYPE_CONSTANT,          "repokey:type:constant"),
70 KNOWNID(REPOKEY_TYPE_CONSTANTID,        "repokey:type:constantid"),
71 KNOWNID(REPOKEY_TYPE_ID,                "repokey:type:id"),
72 KNOWNID(REPOKEY_TYPE_NUM,               "repokey:type:num"),
73 KNOWNID(REPOKEY_TYPE_U32,               "repokey:type:num32"),
74 KNOWNID(REPOKEY_TYPE_DIR,               "repokey:type:dir"),
75 KNOWNID(REPOKEY_TYPE_STR,               "repokey:type:str"),
76 KNOWNID(REPOKEY_TYPE_IDARRAY,           "repokey:type:idarray"),
77 KNOWNID(REPOKEY_TYPE_REL_IDARRAY,       "repokey:type:relidarray"),
78 KNOWNID(REPOKEY_TYPE_DIRSTRARRAY,       "repokey:type:dirstrarray"),
79 KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY,    "repokey:type:dirnumnumarray"),
80 KNOWNID(REPOKEY_TYPE_MD5,               "repokey:type:md5"),
81 KNOWNID(REPOKEY_TYPE_SHA1,              "repokey:type:sha1"),
82 KNOWNID(REPOKEY_TYPE_SHA256,            "repokey:type:sha256"),
83 KNOWNID(REPOKEY_TYPE_COUNTED,           "repokey:type:counted"),
84
85 KNOWNID(SOLVABLE_SUMMARY,               "solvable:summary"),
86 KNOWNID(SOLVABLE_DESCRIPTION,           "solvable:description"),
87 KNOWNID(SOLVABLE_DISTRIBUTION,          "solvable:distribution"),
88 KNOWNID(SOLVABLE_AUTHORS,               "solvable:authors"),
89 KNOWNID(SOLVABLE_PACKAGER,              "solvable:packager"),
90 KNOWNID(SOLVABLE_GROUP,                 "solvable:group"),
91 KNOWNID(SOLVABLE_URL,                   "solvable:url"),
92 KNOWNID(SOLVABLE_KEYWORDS,              "solvable:keywords"),
93 KNOWNID(SOLVABLE_LICENSE,               "solvable:license"),
94 KNOWNID(SOLVABLE_BUILDTIME,             "solvable:buildtime"),
95 KNOWNID(SOLVABLE_BUILDHOST,             "solvable:buildhost"),
96 KNOWNID(SOLVABLE_EULA,                  "solvable:eula"),
97 KNOWNID(SOLVABLE_MESSAGEINS,            "solvable:messageins"),
98 KNOWNID(SOLVABLE_MESSAGEDEL,            "solvable:messagedel"),
99 KNOWNID(SOLVABLE_INSTALLSIZE,           "solvable:installsize"),
100 KNOWNID(SOLVABLE_DISKUSAGE,             "solvable:diskusage"),
101 KNOWNID(SOLVABLE_FILELIST,              "solvable:filelist"),
102 KNOWNID(SOLVABLE_INSTALLTIME,           "solvable:installtime"),
103 KNOWNID(SOLVABLE_MEDIADIR,              "solvable:mediadir"),
104 KNOWNID(SOLVABLE_MEDIAFILE,             "solvable:mediafile"),
105 KNOWNID(SOLVABLE_MEDIANR,               "solvable:medianr"),
106 KNOWNID(SOLVABLE_DOWNLOADSIZE,          "solvable:downloadsize"),
107 KNOWNID(SOLVABLE_SOURCEARCH,            "solvable:sourcearch"),
108 KNOWNID(SOLVABLE_SOURCENAME,            "solvable:sourcename"),
109 KNOWNID(SOLVABLE_SOURCEEVR,             "solvable:sourceevr"),
110 KNOWNID(SOLVABLE_ISVISIBLE,             "solvable:isvisible"),
111 KNOWNID(SOLVABLE_CHECKSUM,              "solvable:checksum"),
112 /* pkgid: md5sum over header + payload */
113 KNOWNID(SOLVABLE_PKGID,                 "solvable:pkgid"),
114 /* hdrid: sha1sum over header only */
115 KNOWNID(SOLVABLE_HDRID,                 "solvable:hdrid"),
116 /* leadsigid: md5sum over lead + sigheader */
117 KNOWNID(SOLVABLE_LEADSIGID,             "solvable:leadsigid"),
118
119 KNOWNID(SOLVABLE_PATCHCATEGORY,         "solvable:patchcategory"),
120 KNOWNID(SOLVABLE_HEADEREND,             "solvable:headerend"),
121
122 KNOWNID(SOLVABLE_CATEGORY,              "solvable:category"),
123 KNOWNID(SOLVABLE_INCLUDES,              "solvable:includes"),
124 KNOWNID(SOLVABLE_EXTENDS,               "solvable:extends"),
125 KNOWNID(SOLVABLE_ICON,                  "solvable:icon"),
126 KNOWNID(SOLVABLE_ORDER,                 "solvable:order"),
127
128 KNOWNID(UPDATE_REBOOT,                  "update:reboot"),   /* reboot suggested (kernel update) */
129 KNOWNID(UPDATE_RESTART,                 "update:restart"),  /* restart suggested (update stack update) */
130
131 KNOWNID(UPDATE_MESSAGE,                 "update:message"),  /* restart suggested (update stack update) */
132                                                                        /* 'content' of patch, usually list of packages */
133 KNOWNID(UPDATE_COLLECTION,              "update:collection"),          /*  "name evr arch" */
134 KNOWNID(UPDATE_COLLECTION_NAME,         "update:collection:name"),     /*   name */
135 KNOWNID(UPDATE_COLLECTION_EVR,          "update:collection:evr"),      /*   epoch:version-release */
136 KNOWNID(UPDATE_COLLECTION_ARCH,         "update:collection:arch"),     /*   architecture */
137 KNOWNID(UPDATE_COLLECTION_FILENAME,     "update:collection:filename"), /*   filename (of rpm) */
138 KNOWNID(UPDATE_COLLECTION_FLAGS,        "update:collection:flags"),    /*   reboot(1)/restart(2) suggested if this rpm gets updated */
139
140                                                                    /* external references for the update */
141 KNOWNID(UPDATE_REFERENCE_TYPE,          "update:reference:type"),  /*  type, e.g. 'bugzilla' or 'cve' */
142 KNOWNID(UPDATE_REFERENCE_HREF,          "update:reference:href"),  /*  href, e.g. 'http://bugzilla...' */
143 KNOWNID(UPDATE_REFERENCE_ID,            "update:reference:id"),    /*  id, e.g. bug number */
144 KNOWNID(UPDATE_REFERENCE_TITLE,         "update:reference:title"), /*  title, e.g. "the bla forz scribs on fuggle" */
145
146 /* name */
147 KNOWNID(PRODUCT_SHORTLABEL,             "product:shortlabel"),
148 KNOWNID(PRODUCT_DISTPRODUCT,            "product:distproduct"),
149 KNOWNID(PRODUCT_DISTVERSION,            "product:distversion"),
150 KNOWNID(PRODUCT_TYPE,                   "product:type"),
151 KNOWNID(PRODUCT_RELNOTESURL,            "product:relnotesurl"),
152 KNOWNID(PRODUCT_UPDATEURLS,             "product:updateurls"),
153 KNOWNID(PRODUCT_EXTRAURLS,              "product:extraurls"),
154 KNOWNID(PRODUCT_OPTIONALURLS,           "product:optionalurls"),
155 KNOWNID(PRODUCT_FLAGS,                  "product:flags"),
156
157 /* argh */
158 KNOWNID(SUSETAGS_DATADIR,               "susetags:datadir"),
159
160 /* timestamp then the repository was generated */
161 KNOWNID(REPOSITORY_TIMESTAMP,           "repository:timestamp"),
162 /* hint when the metadata could be outdated
163    w/respect to generated timestamp */
164 KNOWNID(REPOSITORY_EXPIRE,              "repository:expire"),
165
166 KNOWNID(DELTA_PACKAGE_NAME,             "delta:pkgname"),
167 KNOWNID(DELTA_PACKAGE_EVR,              "delta:pkgevr"),
168 KNOWNID(DELTA_PACKAGE_ARCH,             "delta:pkgarch"),
169 KNOWNID(DELTA_LOCATION_DIR,             "delta:locdir"),
170 KNOWNID(DELTA_LOCATION_NAME,            "delta:locname"),
171 KNOWNID(DELTA_LOCATION_EVR,             "delta:locevr"),
172 KNOWNID(DELTA_LOCATION_SUFFIX,          "delta:locsuffix"),
173 KNOWNID(DELTA_DOWNLOADSIZE,             "delta:downloadsize"),
174 KNOWNID(DELTA_CHECKSUM,                 "delta:checksum"),
175 KNOWNID(DELTA_BASE_EVR,                 "delta:baseevr"),
176 KNOWNID(DELTA_SEQ_NAME,                 "delta:seqname"),
177 KNOWNID(DELTA_SEQ_EVR,                  "delta:seqevr"),
178 KNOWNID(DELTA_SEQ_NUM,                  "delta:seqnum"),
179
180 KNOWNID(ID_NUM_INTERNAL,                0)
181
182 #ifdef KNOWNID_INITIALIZE
183 };
184 #else
185 };
186 #endif
187
188 #undef KNOWNID
189