knownid.h

Go to the documentation of this file.
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  * knownid.h
00010  *
00011  */
00012 
00013 /*
00014  * Warning: you're free to append new entries, but insert/delete breaks
00015  * the ABI!
00016  */
00017 
00018 #undef KNOWNID
00019 #ifdef KNOWNID_INITIALIZE
00020 # define KNOWNID(a, b) b
00021 static const char *initpool_data[] = {
00022 #else
00023 # define KNOWNID(a, b) a
00024 enum sat_knownid {
00025 #endif
00026 
00027 KNOWNID(ID_NULL,                        "<NULL>"),
00028 KNOWNID(ID_EMPTY,                       ""),
00029 
00030 /* The following Ids are stored in the solvable and must
00031  * come in one block */
00032 KNOWNID(SOLVABLE_NAME,                  "solvable:name"),
00033 KNOWNID(SOLVABLE_ARCH,                  "solvable:arch"),
00034 KNOWNID(SOLVABLE_EVR,                   "solvable:evr"),
00035 KNOWNID(SOLVABLE_VENDOR,                "solvable:vendor"),
00036 KNOWNID(SOLVABLE_PROVIDES,              "solvable:provides"),
00037 KNOWNID(SOLVABLE_OBSOLETES,             "solvable:obsoletes"),
00038 KNOWNID(SOLVABLE_CONFLICTS,             "solvable:conflicts"),
00039 KNOWNID(SOLVABLE_REQUIRES,              "solvable:requires"),
00040 KNOWNID(SOLVABLE_RECOMMENDS,            "solvable:recommends"),
00041 KNOWNID(SOLVABLE_SUGGESTS,              "solvable:suggests"),
00042 KNOWNID(SOLVABLE_SUPPLEMENTS,           "solvable:supplements"),
00043 KNOWNID(SOLVABLE_ENHANCES,              "solvable:enhances"),
00044 KNOWNID(RPM_RPMDBID,                    "rpm:dbid"),
00045 
00046 /* normal requires before this, prereqs after this */
00047 KNOWNID(SOLVABLE_PREREQMARKER,          "solvable:prereqmarker"),
00048 /* normal provides before this, generated file provides after this */
00049 KNOWNID(SOLVABLE_FILEMARKER,            "solvable:filemarker"),
00050 KNOWNID(NAMESPACE_INSTALLED,            "namespace:installed"),
00051 KNOWNID(NAMESPACE_MODALIAS,             "namespace:modalias"),
00052 KNOWNID(NAMESPACE_SPLITPROVIDES,        "namespace:splitprovides"),
00053 KNOWNID(NAMESPACE_LANGUAGE,             "namespace:language"),
00054 KNOWNID(NAMESPACE_FILESYSTEM,           "namespace:filesystem"),
00055 KNOWNID(NAMESPACE_OTHERPROVIDERS,       "namespace:otherproviders"),
00056 KNOWNID(SYSTEM_SYSTEM,                  "system:system"),
00057 KNOWNID(ARCH_SRC,                       "src"),
00058 KNOWNID(ARCH_NOSRC,                     "nosrc"),
00059 KNOWNID(ARCH_NOARCH,                    "noarch"),
00060 KNOWNID(ARCH_ALL,                       "all"),
00061 
00062 KNOWNID(REPOSITORY_SOLVABLES,           "repository:solvables"),
00063 KNOWNID(REPOSITORY_DELTAINFO,           "repository:deltainfo"),
00064 
00065 /* sub-repository information, they will get loaded on demand */
00066 KNOWNID(REPOSITORY_EXTERNAL,            "repository:external"),
00067 KNOWNID(REPOSITORY_KEYS,                "repository:keys"),
00068 KNOWNID(REPOSITORY_LOCATION,            "repository:location"),
00069 
00070 /* file provides already added to our solvables */
00071 KNOWNID(REPOSITORY_ADDEDFILEPROVIDES,   "repository:addedfileprovides"),
00072 /* inode of the rpm database for rpm --rebuilddb detection */
00073 KNOWNID(REPOSITORY_RPMDBCOOKIE,         "repository:rpmdbcookie"),
00074 
00075 /* The void type is usable to encode one-valued attributes, they have
00076    no associated data.  This is useful to encode values which many solvables
00077    have in common, and whose overall set is relatively limited.  A prime
00078    example would be the media number.  The actual value is encoded in the
00079    SIZE member of the key structure.  Be warned: careless use of this
00080    leads to combinatoric explosion of number of schemas.  */
00081 KNOWNID(REPOKEY_TYPE_VOID,              "repokey:type:void"),
00082 KNOWNID(REPOKEY_TYPE_CONSTANT,          "repokey:type:constant"),
00083 KNOWNID(REPOKEY_TYPE_CONSTANTID,        "repokey:type:constantid"),
00084 KNOWNID(REPOKEY_TYPE_ID,                "repokey:type:id"),
00085 KNOWNID(REPOKEY_TYPE_NUM,               "repokey:type:num"),
00086 KNOWNID(REPOKEY_TYPE_U32,               "repokey:type:num32"),
00087 KNOWNID(REPOKEY_TYPE_DIR,               "repokey:type:dir"),
00088 KNOWNID(REPOKEY_TYPE_STR,               "repokey:type:str"),
00089 KNOWNID(REPOKEY_TYPE_BINARY,            "repokey:type:binary"),
00090 KNOWNID(REPOKEY_TYPE_IDARRAY,           "repokey:type:idarray"),
00091 KNOWNID(REPOKEY_TYPE_REL_IDARRAY,       "repokey:type:relidarray"),
00092 KNOWNID(REPOKEY_TYPE_DIRSTRARRAY,       "repokey:type:dirstrarray"),
00093 KNOWNID(REPOKEY_TYPE_DIRNUMNUMARRAY,    "repokey:type:dirnumnumarray"),
00094 KNOWNID(REPOKEY_TYPE_MD5,               "repokey:type:md5"),
00095 KNOWNID(REPOKEY_TYPE_SHA1,              "repokey:type:sha1"),
00096 KNOWNID(REPOKEY_TYPE_SHA256,            "repokey:type:sha256"),
00097 KNOWNID(REPOKEY_TYPE_FIXARRAY,          "repokey:type:fixarray"),
00098 KNOWNID(REPOKEY_TYPE_FLEXARRAY,         "repokey:type:flexarray"),
00099 KNOWNID(REPOKEY_TYPE_DELETED,           "repokey:type:deleted"),
00100 
00101 KNOWNID(SOLVABLE_SUMMARY,               "solvable:summary"),
00102 KNOWNID(SOLVABLE_DESCRIPTION,           "solvable:description"),
00103 KNOWNID(SOLVABLE_DISTRIBUTION,          "solvable:distribution"),
00104 KNOWNID(SOLVABLE_AUTHORS,               "solvable:authors"),
00105 KNOWNID(SOLVABLE_PACKAGER,              "solvable:packager"),
00106 KNOWNID(SOLVABLE_GROUP,                 "solvable:group"),
00107 KNOWNID(SOLVABLE_URL,                   "solvable:url"),
00108 KNOWNID(SOLVABLE_KEYWORDS,              "solvable:keywords"),
00109 KNOWNID(SOLVABLE_LICENSE,               "solvable:license"),
00110 KNOWNID(SOLVABLE_BUILDTIME,             "solvable:buildtime"),
00111 KNOWNID(SOLVABLE_BUILDHOST,             "solvable:buildhost"),
00112 KNOWNID(SOLVABLE_EULA,                  "solvable:eula"),
00113 KNOWNID(SOLVABLE_CPEID,                 "solvable:cpeid"),
00114 KNOWNID(SOLVABLE_MESSAGEINS,            "solvable:messageins"),
00115 KNOWNID(SOLVABLE_MESSAGEDEL,            "solvable:messagedel"),
00116 KNOWNID(SOLVABLE_INSTALLSIZE,           "solvable:installsize"),
00117 KNOWNID(SOLVABLE_DISKUSAGE,             "solvable:diskusage"),
00118 KNOWNID(SOLVABLE_FILELIST,              "solvable:filelist"),
00119 KNOWNID(SOLVABLE_INSTALLTIME,           "solvable:installtime"),
00120 KNOWNID(SOLVABLE_MEDIADIR,              "solvable:mediadir"),
00121 KNOWNID(SOLVABLE_MEDIAFILE,             "solvable:mediafile"),
00122 KNOWNID(SOLVABLE_MEDIANR,               "solvable:medianr"),
00123 KNOWNID(SOLVABLE_DOWNLOADSIZE,          "solvable:downloadsize"),
00124 KNOWNID(SOLVABLE_SOURCEARCH,            "solvable:sourcearch"),
00125 KNOWNID(SOLVABLE_SOURCENAME,            "solvable:sourcename"),
00126 KNOWNID(SOLVABLE_SOURCEEVR,             "solvable:sourceevr"),
00127 KNOWNID(SOLVABLE_ISVISIBLE,             "solvable:isvisible"),
00128 KNOWNID(SOLVABLE_TRIGGERS,              "solvable:triggers"),
00129 KNOWNID(SOLVABLE_CHECKSUM,              "solvable:checksum"),
00130 KNOWNID(SOLVABLE_PKGID,                 "solvable:pkgid"),      /* pkgid: md5sum over header + payload */
00131 KNOWNID(SOLVABLE_HDRID,                 "solvable:hdrid"),      /* hdrid: sha1sum over header only */
00132 KNOWNID(SOLVABLE_LEADSIGID,             "solvable:leadsigid"),  /* leadsigid: md5sum over lead + sigheader */
00133 
00134 KNOWNID(SOLVABLE_PATCHCATEGORY,         "solvable:patchcategory"),
00135 KNOWNID(SOLVABLE_HEADEREND,             "solvable:headerend"),
00136 
00137 /* stuff for solvables of type pattern */
00138 KNOWNID(SOLVABLE_CATEGORY,              "solvable:category"),
00139 KNOWNID(SOLVABLE_INCLUDES,              "solvable:includes"),
00140 KNOWNID(SOLVABLE_EXTENDS,               "solvable:extends"),
00141 KNOWNID(SOLVABLE_ICON,                  "solvable:icon"),
00142 KNOWNID(SOLVABLE_ORDER,                 "solvable:order"),
00143 
00144 KNOWNID(UPDATE_REBOOT,                  "update:reboot"),       /* reboot suggested (kernel update) */
00145 KNOWNID(UPDATE_RESTART,                 "update:restart"),      /* restart suggested (update stack update) */
00146 KNOWNID(UPDATE_RELOGIN,                 "update:relogin"),      /* relogin suggested */
00147 
00148 KNOWNID(UPDATE_MESSAGE,                 "update:message"),      /* informative message */
00149 
00150 /* 'content' of patch, usually list of packages */
00151 KNOWNID(UPDATE_COLLECTION,              "update:collection"),          /*  "name evr arch" */
00152 KNOWNID(UPDATE_COLLECTION_NAME,         "update:collection:name"),     /*   name */
00153 KNOWNID(UPDATE_COLLECTION_EVR,          "update:collection:evr"),      /*   epoch:version-release */
00154 KNOWNID(UPDATE_COLLECTION_ARCH,         "update:collection:arch"),     /*   architecture */
00155 KNOWNID(UPDATE_COLLECTION_FILENAME,     "update:collection:filename"), /*   filename (of rpm) */
00156 KNOWNID(UPDATE_COLLECTION_FLAGS,        "update:collection:flags"),    /*   reboot(1)/restart(2) suggested if this rpm gets updated */
00157 
00158 KNOWNID(UPDATE_REFERENCE,               "update:reference"),            /* external references for the update */
00159 KNOWNID(UPDATE_REFERENCE_TYPE,          "update:reference:type"),       /*  type, e.g. 'bugzilla' or 'cve' */
00160 KNOWNID(UPDATE_REFERENCE_HREF,          "update:reference:href"),       /*  href, e.g. 'http://bugzilla...' */
00161 KNOWNID(UPDATE_REFERENCE_ID,            "update:reference:id"),         /*  id, e.g. bug number */
00162 KNOWNID(UPDATE_REFERENCE_TITLE,         "update:reference:title"),      /*  title, e.g. "the bla forz scribs on fuggle" */
00163 
00164 /* name */
00165 KNOWNID(PRODUCT_REFERENCEFILE,          "product:referencefile"),
00166 KNOWNID(PRODUCT_SHORTLABEL,             "product:shortlabel"),
00167 KNOWNID(PRODUCT_DISTPRODUCT,            "product:distproduct"),
00168 KNOWNID(PRODUCT_DISTVERSION,            "product:distversion"),
00169 KNOWNID(PRODUCT_TYPE,                   "product:type"),
00170 KNOWNID(PRODUCT_URL,                    "product:url"),
00171 KNOWNID(PRODUCT_URL_TYPE,               "product:url:type"),
00172 KNOWNID(PRODUCT_FLAGS,                  "product:flags"),
00173 KNOWNID(PRODUCT_PRODUCTLINE,            "product:productline"),
00174 KNOWNID(PRODUCT_REGISTER_TARGET,        "product:regtarget"),
00175 KNOWNID(PRODUCT_REGISTER_RELEASE,       "product:regrelease"),
00176 
00177 /* argh */
00178 KNOWNID(SUSETAGS_DATADIR,               "susetags:datadir"),
00179 KNOWNID(SUSETAGS_DESCRDIR,              "susetags:descrdir"),
00180 KNOWNID(SUSETAGS_DEFAULTVENDOR,         "susetags:defaultvendor"),
00181 KNOWNID(SUSETAGS_FILE,                  "susetags:file"),
00182 KNOWNID(SUSETAGS_FILE_NAME,             "susetags:file:name"),
00183 KNOWNID(SUSETAGS_FILE_TYPE,             "susetags:file:type"),
00184 KNOWNID(SUSETAGS_FILE_CHECKSUM,         "susetags:file:checksum"),
00185 
00186 /* timestamp then the repository was generated */
00187 KNOWNID(REPOSITORY_TIMESTAMP,           "repository:timestamp"),
00188 /* hint when the metadata could be outdated
00189    w/respect to generated timestamp */
00190 KNOWNID(REPOSITORY_EXPIRE,              "repository:expire"),
00191 
00192 /* which things does this repo provides updates for, if it does (array) */
00193 KNOWNID(REPOSITORY_UPDATES,             "repository:updates"),
00194 /* for the repository:update label and cpeid, use the repository:product
00195    sub attributes */
00196 
00197 /* which products this repository is supposed to be for (array) */
00198 KNOWNID(REPOSITORY_DISTROS,             "repository:distros"),
00199 KNOWNID(REPOSITORY_PRODUCT_LABEL,       "repository:product:label"),
00200 KNOWNID(REPOSITORY_PRODUCT_CPEID,       "repository:product:cpeid"),
00201 
00202 /* keyword (tags) for this repository */
00203 KNOWNID(REPOSITORY_KEYWORDS,            "repository:keywords"),
00204 /* revision of the repository. arbitrary string */
00205 KNOWNID(REPOSITORY_REVISION,            "repository:revision"),
00206 
00207 KNOWNID(DELTA_PACKAGE_NAME,             "delta:pkgname"),
00208 KNOWNID(DELTA_PACKAGE_EVR,              "delta:pkgevr"),
00209 KNOWNID(DELTA_PACKAGE_ARCH,             "delta:pkgarch"),
00210 KNOWNID(DELTA_LOCATION_DIR,             "delta:locdir"),
00211 KNOWNID(DELTA_LOCATION_NAME,            "delta:locname"),
00212 KNOWNID(DELTA_LOCATION_EVR,             "delta:locevr"),
00213 KNOWNID(DELTA_LOCATION_SUFFIX,          "delta:locsuffix"),
00214 KNOWNID(DELTA_DOWNLOADSIZE,             "delta:downloadsize"),
00215 KNOWNID(DELTA_CHECKSUM,                 "delta:checksum"),
00216 KNOWNID(DELTA_BASE_EVR,                 "delta:baseevr"),
00217 KNOWNID(DELTA_SEQ_NAME,                 "delta:seqname"),
00218 KNOWNID(DELTA_SEQ_EVR,                  "delta:seqevr"),
00219 KNOWNID(DELTA_SEQ_NUM,                  "delta:seqnum"),
00220 
00221 /* XXX: shouldn't use a real ID */
00222 KNOWNID(NAMESPACE_PRODUCTBUDDY,         "namespace:productbuddy"),
00223 
00224 KNOWNID(REPOSITORY_REPOMD,              "repository:repomd"),
00225 KNOWNID(REPOSITORY_REPOMD_TYPE,         "repository:repomd:type"),
00226 KNOWNID(REPOSITORY_REPOMD_LOCATION,     "repository:repomd:location"),
00227 KNOWNID(REPOSITORY_REPOMD_TIMESTAMP,    "repository:repomd:timestamp"),
00228 KNOWNID(REPOSITORY_REPOMD_CHECKSUM,     "repository:repomd:checksum"),
00229 KNOWNID(REPOSITORY_REPOMD_OPENCHECKSUM, "repository:repomd:openchecksum"),
00230 
00231 KNOWNID(PUBKEY_KEYID,                   "pubkey:keyid"),
00232 KNOWNID(PUBKEY_FINGERPRINT,             "pubkey:fingerprint"),
00233 KNOWNID(PUBKEY_EXPIRES,                 "pubkey:expires"),
00234 KNOWNID(PUBKEY_SIGNATURES,              "pubkey:signatures"),
00235 
00236 KNOWNID(REPOSITORY_TOOLVERSION,         "repository:toolversion"),
00237 KNOWNID(REPOSITORY_REPOID,              "repository:repoid"),
00238 
00239 KNOWNID(ID_NUM_INTERNAL,                0)
00240 
00241 #ifdef KNOWNID_INITIALIZE
00242 };
00243 #else
00244 };
00245 #endif
00246 
00247 #undef KNOWNID
00248 
Generated on Mon Dec 12 11:44:12 2011 for satsolver by  doxygen 1.6.3