rpm 4.19.92
The RPM Package Manager
Loading...
Searching...
No Matches
rpmmacro.h
Go to the documentation of this file.
1#ifndef _H_MACRO_
2#define _H_MACRO_
3
10#include <stdio.h>
11#include <stddef.h>
12
13#include <rpm/rpmutil.h>
14#include <rpm/rpmfileutil.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20typedef struct rpmMacroEntry_s * rpmMacroEntry;
21
22typedef struct rpmMacroContext_s * rpmMacroContext;
23
24typedef struct rpmMacroBuf_s *rpmMacroBuf;
25
26typedef void (*macroFunc)(rpmMacroBuf mb, rpmMacroEntry me, ARGV_t argv, size_t *parsed);
27
28extern rpmMacroContext rpmGlobalMacroContext;
29
30extern rpmMacroContext rpmCLIMacroContext;
31
37extern const char * macrofiles;
38
42#define RMIL_BUILTIN -20
43#define RMIL_DEFAULT -15
44#define RMIL_MACROFILES -13
45#define RMIL_RPMRC -11
46
47#define RMIL_CMDLINE -7
48#define RMIL_TARBALL -5
49#define RMIL_SPEC -3
50#define RMIL_OLDSPEC -1
51#define RMIL_GLOBAL 0
52
53/* Deprecated compatibility wrappers */
54#define addMacro(_mc, _n, _o, _b, _l) rpmPushMacro(_mc, _n, _o, _b, _l)
55#define delMacro(_mc, _n) rpmPopMacro(_mc, _n)
56
57/* rpm expression parser flags */
58#define RPMEXPR_EXPAND (1 << 0)
60/* rpm macro expansion flags */
61#define RPMEXPAND_EXPAND_ARGS (1 << 0)
62#define RPMEXPAND_KEEP_QUOTED (1 << 1)
63#define RPMEXPAND_HAVE_QUOTED (1 << 2)
66 RPMMACRO_DEFAULT = 0,
67 RPMMACRO_LITERAL = (1 << 0),
68};
69typedef rpmFlags rpmMacroFlags;
70
76void rpmDumpMacroTable (rpmMacroContext mc,
77 FILE * fp);
78
87int rpmExpandMacros (rpmMacroContext mc, const char * sbuf,
88 char ** obuf, int flags);
89
99int rpmExpandThisMacro (rpmMacroContext mc, const char *n,
100 ARGV_const_t args,
101 char ** obuf, int flags);
102
112int rpmPushMacro (rpmMacroContext mc, const char * n,
113 const char * o,
114 const char * b, int level);
115
126int rpmPushMacroFlags (rpmMacroContext mc, const char * n,
127 const char * o,
128 const char * b, int level,
129 rpmMacroFlags flags);
130
144int rpmPushMacroAux(rpmMacroContext mc,
145 const char * n, const char * o,
146 macroFunc f, void *priv, int nargs,
147 int level, rpmMacroFlags flags);
148
154void *rpmMacroEntryPriv(rpmMacroEntry me);
155
161void rpmMacroBufAppend(rpmMacroBuf mb, char c);
162
168void rpmMacroBufAppendStr(rpmMacroBuf mb, const char *str);
169
176RPM_GNUC_PRINTF(3, 4)
177void rpmMacroBufErr(rpmMacroBuf mb, int error, const char *fmt, ...);
178
185int rpmPopMacro (rpmMacroContext mc, const char * n);
186
194int rpmDefineMacro (rpmMacroContext mc, const char * macro,
195 int level);
196
203int rpmMacroIsDefined(rpmMacroContext mc, const char *n);
204
211int rpmMacroIsParametric(rpmMacroContext mc, const char *n);
212
218void rpmLoadMacros (rpmMacroContext mc, int level);
219
225int rpmLoadMacroFile(rpmMacroContext mc, const char * fn);
226
232void rpmInitMacros (rpmMacroContext mc, const char * macrofiles);
233
238void rpmFreeMacros (rpmMacroContext mc);
239
245char * rpmExpand (const char * arg, ...) RPM_GNUC_NULL_TERMINATED;
246
254int rpmExpandNumeric (const char * arg);
255
265const char *rpmConfigDir(void);
266
273int rpmExprBoolFlags(const char * expr, int flags);
274
281char * rpmExprStrFlags(const char * expr, int flags);
282
288int rpmExprBool(const char * expr);
289
295char * rpmExprStr(const char * expr);
296
297#ifdef __cplusplus
298}
299#endif
300
301#endif /* _H_ MACRO_ */
int rpmPushMacroFlags(rpmMacroContext mc, const char *n, const char *o, const char *b, int level, rpmMacroFlags flags)
void rpmFreeMacros(rpmMacroContext mc)
char * rpmExprStrFlags(const char *expr, int flags)
const char * rpmConfigDir(void)
int rpmLoadMacroFile(rpmMacroContext mc, const char *fn)
void rpmMacroBufErr(rpmMacroBuf mb, int error, const char *fmt,...)
void rpmLoadMacros(rpmMacroContext mc, int level)
int rpmExpandNumeric(const char *arg)
int rpmExprBoolFlags(const char *expr, int flags)
int rpmPopMacro(rpmMacroContext mc, const char *n)
char * rpmExprStr(const char *expr)
void rpmInitMacros(rpmMacroContext mc, const char *macrofiles)
void rpmMacroBufAppend(rpmMacroBuf mb, char c)
int rpmExpandMacros(rpmMacroContext mc, const char *sbuf, char **obuf, int flags)
int rpmDefineMacro(rpmMacroContext mc, const char *macro, int level)
int rpmPushMacro(rpmMacroContext mc, const char *n, const char *o, const char *b, int level)
char * rpmExpand(const char *arg,...) RPM_GNUC_NULL_TERMINATED
void * rpmMacroEntryPriv(rpmMacroEntry me)
void rpmMacroBufAppendStr(rpmMacroBuf mb, const char *str)
int rpmExpandThisMacro(rpmMacroContext mc, const char *n, ARGV_const_t args, char **obuf, int flags)
void rpmDumpMacroTable(rpmMacroContext mc, FILE *fp)
int rpmExprBool(const char *expr)
int rpmPushMacroAux(rpmMacroContext mc, const char *n, const char *o, macroFunc f, void *priv, int nargs, int level, rpmMacroFlags flags)
const char * macrofiles
int rpmMacroIsParametric(rpmMacroContext mc, const char *n)
int rpmMacroIsDefined(rpmMacroContext mc, const char *n)
rpmMacroFlags_e
Definition rpmmacro.h:65
@ RPMMACRO_LITERAL
Definition rpmmacro.h:67