15 #if defined(_MACRO_INTERNAL)
18 struct MacroEntry_s *prev;
28 struct MacroContext_s {
55 #define RMIL_DEFAULT -15
56 #define RMIL_MACROFILES -13
57 #define RMIL_RPMRC -11
59 #define RMIL_CMDLINE -7
60 #define RMIL_TARBALL -5
62 #define RMIL_OLDSPEC -1
88 int used,
const char *** avp)
110 const char *** argvPtr)
125 char *
sbuf,
size_t slen)
139 const char *
o,
const char *
b,
int level)
240 #if defined(__GNUC__) && __GNUC__ >= 4
242 __attribute__((sentinel))
254 #if defined(__GNUC__) && __GNUC__ >= 4
256 __attribute__((sentinel))
279 #if defined(__GNUC__) && __GNUC__ >= 4
281 __attribute__((sentinel))
298 const char *
rpmGenPath(
const char * urlroot,
299 const char * urlmdir,
300 const char * urlfile)
void rpmInitMacros(MacroContext mc, const char *macrofiles)
Initialize macro context from set of macrofile(s).
int isCompressed(const char *file, rpmCompressedMagic *compressed)
Return type of compression used in file.
char * rpmCleanPath(char *path)
Canonicalize file path.
char * rpmGetPath(const char *path,...)
Return (malloc'ed) expanded, canonicalized, file path.
void rpmLoadMacros(MacroContext mc, int level)
Load macros from specific context into global context.
MacroContext rpmCLIMacroContext
void addMacro(MacroContext mc, const char *n, const char *o, const char *b, int level)
Add macro to context.
int rpmGlob(const char *patterns, int *argcPtr, const char ***argvPtr)
Return URL path(s) from a (URL prefixed) pattern glob.
const char * rpmMacrofiles
List of macro files to read when configuring rpm.
MacroContext rpmGlobalMacroContext
int rpmGetMacroEntries(MacroContext mc, void *_mire, int used, const char ***avp)
Return macro entries as string array.
int rpmDefineMacro(MacroContext mc, const char *macro, int level)
Define macro in context.
const char * rpmGenPath(const char *urlroot, const char *urlmdir, const char *urlfile)
Merge 3 args into path, any or all of which may be a url.
void rpmDumpMacroTable(MacroContext mc, FILE *fp)
Print macros to file stream.
char * rpmExpand(const char *arg,...)
Return (malloc'ed) concatenated macro expansion(s).
enum rpmCompressedMagic_e rpmCompressedMagic
struct MacroContext_s * MacroContext
int rpmSecuritySaneFile(const char *filename)
Check whether configuration file is moderately secure to load.
int expandMacros(void *spec, MacroContext mc, char *sbuf, size_t slen)
Expand macro into buffer.
int rpmLoadMacroFile(MacroContext mc, const char *fn, int nesting)
Load macro context from a macro file.
struct MacroEntry_s * MacroEntry
int rpmExpandNumeric(const char *arg)
Return macro expansion as a numeric value.
int rpmUndefineMacro(MacroContext mc, const char *macro)
Undefine macro in context.
char * rpmMCExpand(MacroContext mc, const char *arg,...)
Return (malloc'ed) concatenated macro expansion(s) in a context.