00001 #ifndef _H_SPEC_
00002 #define _H_SPEC_
00003
00009 #include <rpm/rpmstring.h>
00010 #include <rpm/rpmcli.h>
00011
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015
00018 typedef struct Package_s * rpmSpecPkg;
00019 typedef struct Source * rpmSpecSrc;
00020 typedef struct rpmSpecIter_s * rpmSpecPkgIter;
00021 typedef struct rpmSpecIter_s * rpmSpecSrcIter;
00022
00023 enum rpmSourceFlags_e {
00024 RPMBUILD_ISSOURCE = (1 << 0),
00025 RPMBUILD_ISPATCH = (1 << 1),
00026 RPMBUILD_ISICON = (1 << 2),
00027 RPMBUILD_ISNO = (1 << 3),
00028 };
00029
00030 typedef rpmFlags rpmSourceFlags;
00031
00032 #define RPMBUILD_DEFAULT_LANG "C"
00033
00034 enum rpmSpecFlags_e {
00035 RPMSPEC_NONE = 0,
00036 RPMSPEC_ANYARCH = (1 << 0),
00037 RPMSPEC_FORCE = (1 << 1),
00038 RPMSPEC_NOLANG = (1 << 2),
00039 };
00040
00041 typedef rpmFlags rpmSpecFlags;
00042
00048 rpmSpec rpmSpecFree(rpmSpec spec);
00049
00050
00051 rpmSpecPkgIter rpmSpecPkgIterInit(rpmSpec spec);
00052 rpmSpecPkg rpmSpecPkgIterNext(rpmSpecPkgIter iter);
00053 rpmSpecPkgIter rpmSpecPkgIterFree(rpmSpecPkgIter iter);
00054
00055
00056 Header rpmSpecPkgHeader(rpmSpecPkg pkg);
00057
00058
00059 rpmSpecSrcIter rpmSpecSrcIterInit(rpmSpec spec);
00060 rpmSpecSrc rpmSpecSrcIterNext(rpmSpecSrcIter iter);
00061 rpmSpecSrcIter rpmSpecSrcIterFree(rpmSpecSrcIter iter);
00062
00063
00064 rpmSourceFlags rpmSpecSrcFlags(rpmSpecSrc src);
00065 int rpmSpecSrcNum(rpmSpecSrc src);
00066 const char * rpmSpecSrcFilename(rpmSpecSrc src, int full);
00067
00068
00069
00070
00071
00072
00073 const char * rpmSpecGetSection(rpmSpec spec, int section);
00074
00082 int rpmspecQuery(rpmts ts, QVA_t qva, const char * arg);
00083
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087
00088 #endif