rpm  4.12.0.1
rpmspec.h
Go to the documentation of this file.
1 #ifndef _H_SPEC_
2 #define _H_SPEC_
3 
9 #include <rpm/rpmstring.h> /* StringBuf */
10 #include <rpm/rpmcli.h> /* for QVA_t */
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
18 typedef struct Package_s * rpmSpecPkg;
19 typedef struct Source * rpmSpecSrc;
20 typedef struct rpmSpecIter_s * rpmSpecPkgIter;
21 typedef struct rpmSpecIter_s * rpmSpecSrcIter;
22 
24  RPMBUILD_ISSOURCE = (1 << 0),
25  RPMBUILD_ISPATCH = (1 << 1),
26  RPMBUILD_ISICON = (1 << 2),
27  RPMBUILD_ISNO = (1 << 3),
28 };
29 
31 
32 #define RPMBUILD_DEFAULT_LANG "C"
33 
36  RPMSPEC_ANYARCH = (1 << 0),
37  RPMSPEC_FORCE = (1 << 1),
38  RPMSPEC_NOLANG = (1 << 2),
39 };
40 
42 
49 
50 /* Iterator for spec packages */
51 rpmSpecPkgIter rpmSpecPkgIterInit(rpmSpec spec);
52 rpmSpecPkg rpmSpecPkgIterNext(rpmSpecPkgIter iter);
53 rpmSpecPkgIter rpmSpecPkgIterFree(rpmSpecPkgIter iter);
54 
55 /* Getters for spec package attributes */
56 Header rpmSpecPkgHeader(rpmSpecPkg pkg);
57 
58 /* Iterator for spec sources */
59 rpmSpecSrcIter rpmSpecSrcIterInit(rpmSpec spec);
60 rpmSpecSrc rpmSpecSrcIterNext(rpmSpecSrcIter iter);
61 rpmSpecSrcIter rpmSpecSrcIterFree(rpmSpecSrcIter iter);
62 
63 /* Getters for spec source attributes */
64 rpmSourceFlags rpmSpecSrcFlags(rpmSpecSrc src);
65 int rpmSpecSrcNum(rpmSpecSrc src);
66 const char * rpmSpecSrcFilename(rpmSpecSrc src, int full);
67 
68 /*
69  * Retrieve parsed spec script section (RPMBUILD_PREP, RPMBUILD_BUILD etc).
70  * As a special case, RPMBUILD_NONE as section returns the entire spec in
71  * preprocessed (macros expanded etc) format.
72  */
73 const char * rpmSpecGetSection(rpmSpec spec, int section);
74 
82 int rpmspecQuery(rpmts ts, QVA_t qva, const char * arg);
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* _H_SPEC_ */
rpmFlags rpmSourceFlags
Definition: rpmspec.h:30
int rpmspecQuery(rpmts ts, QVA_t qva, const char *arg)
Function to query spec file(s).
rpmSpecPkg rpmSpecPkgIterNext(rpmSpecPkgIter iter)
Header rpmSpecPkgHeader(rpmSpecPkg pkg)
struct Package_s * rpmSpecPkg
Definition: rpmspec.h:18
struct rpmts_s * rpmts
The main types involved in transaction manipulation.
Definition: rpmtypes.h:63
Describe query/verify/signature command line operation.
Definition: rpmcli.h:168
rpmSpecSrcIter rpmSpecSrcIterInit(rpmSpec spec)
rpmSpec rpmSpecFree(rpmSpec spec)
Destroy Spec structure.
uint32_t rpmFlags
Definition: rpmtypes.h:42
rpmSpecPkgIter rpmSpecPkgIterInit(rpmSpec spec)
struct rpmSpecIter_s * rpmSpecSrcIter
Definition: rpmspec.h:21
const char * rpmSpecSrcFilename(rpmSpecSrc src, int full)
struct headerToken_s * Header
RPM header and data retrieval types.
Definition: rpmtypes.h:24
rpmSourceFlags_e
Definition: rpmspec.h:23
rpmSpecSrcIter rpmSpecSrcIterFree(rpmSpecSrcIter iter)
struct Source * rpmSpecSrc
Definition: rpmspec.h:19
rpmSpecSrc rpmSpecSrcIterNext(rpmSpecSrcIter iter)
const char * rpmSpecGetSection(rpmSpec spec, int section)
rpmFlags rpmSpecFlags
Definition: rpmspec.h:41
struct rpmSpecIter_s * rpmSpecPkgIter
Definition: rpmspec.h:20
rpmSpecPkgIter rpmSpecPkgIterFree(rpmSpecPkgIter iter)
rpmSourceFlags rpmSpecSrcFlags(rpmSpecSrc src)
int rpmSpecSrcNum(rpmSpecSrc src)
rpmSpecFlags_e
Definition: rpmspec.h:34
struct rpmSpec_s * rpmSpec
Definition: rpmtypes.h:90