• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

rpmspec.h

Go to the documentation of this file.
00001 #ifndef _H_SPEC_
00002 #define _H_SPEC_
00003 
00009 #include <rpm/rpmstring.h>      /* StringBuf */
00010 #include <rpm/rpmcli.h> /* for QVA_t */
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 /* Iterator for spec packages */
00051 rpmSpecPkgIter rpmSpecPkgIterInit(rpmSpec spec);
00052 rpmSpecPkg rpmSpecPkgIterNext(rpmSpecPkgIter iter);
00053 rpmSpecPkgIter rpmSpecPkgIterFree(rpmSpecPkgIter iter);
00054 
00055 /* Getters for spec package attributes */
00056 Header rpmSpecPkgHeader(rpmSpecPkg pkg);
00057 
00058 /* Iterator for spec sources */
00059 rpmSpecSrcIter rpmSpecSrcIterInit(rpmSpec spec);
00060 rpmSpecSrc rpmSpecSrcIterNext(rpmSpecSrcIter iter);
00061 rpmSpecSrcIter rpmSpecSrcIterFree(rpmSpecSrcIter iter);
00062 
00063 /* Getters for spec source attributes */
00064 rpmSourceFlags rpmSpecSrcFlags(rpmSpecSrc src);
00065 int rpmSpecSrcNum(rpmSpecSrc src);
00066 const char * rpmSpecSrcFilename(rpmSpecSrc src, int full);
00067 
00068 /* Retrieve parsed spec script section (RPMBUILD_PREP, RPMBUILD_BUILD etc) */
00069 const char * rpmSpecGetSection(rpmSpec spec, int section);
00070 
00078 int rpmspecQuery(rpmts ts, QVA_t qva, const char * arg);
00079 
00080 #ifdef __cplusplus
00081 }
00082 #endif
00083 
00084 #endif /* _H_SPEC_ */

Generated on Tue Jan 25 2011 for rpm by  doxygen 1.7.1