rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
Macro API.

Macro API. More...

Functions

RPM_PUBLIC_API void rpmDumpMacroTable (rpmMacroContext mc, FILE *fp)
RPM_PUBLIC_API int rpmExpandMacros (rpmMacroContext mc, const char *sbuf, char **obuf, int flags)
RPM_PUBLIC_API int rpmExpandThisMacro (rpmMacroContext mc, const char *n, ARGV_const_t args, char **obuf, int flags)
RPM_PUBLIC_API int rpmPushMacro (rpmMacroContext mc, const char *n, const char *o, const char *b, int level)
RPM_PUBLIC_API int rpmPushMacroFlags (rpmMacroContext mc, const char *n, const char *o, const char *b, int level, rpmMacroFlags flags)
RPM_PUBLIC_API int rpmPushMacroAux (rpmMacroContext mc, const char *n, const char *o, macroFunc f, void *priv, int nargs, int level, rpmMacroFlags flags)
RPM_PUBLIC_API void * rpmMacroEntryPriv (rpmMacroEntry me)
RPM_PUBLIC_API void rpmMacroBufAppend (rpmMacroBuf mb, char c)
RPM_PUBLIC_API void rpmMacroBufAppendStr (rpmMacroBuf mb, const char *str)
RPM_PUBLIC_API void rpmMacroBufErr (rpmMacroBuf mb, int error, const char *fmt,...)
RPM_PUBLIC_API int rpmPopMacro (rpmMacroContext mc, const char *n)
RPM_PUBLIC_API int rpmDefineMacro (rpmMacroContext mc, const char *macro, int level)
RPM_PUBLIC_API int rpmUndefineMacro (rpmMacroContext mc, const char *n)
RPM_PUBLIC_API void rpmLoadMacros (rpmMacroContext mc, int level)
RPM_PUBLIC_API int rpmLoadMacroFile (rpmMacroContext mc, const char *fn)
RPM_PUBLIC_API void rpmInitMacros (rpmMacroContext mc, const char *macrofiles)
RPM_PUBLIC_API void rpmFreeMacros (rpmMacroContext mc)
RPM_PUBLIC_API char * rpmExpand (const char *arg,...) RPM_GNUC_NULL_TERMINATED
RPM_PUBLIC_API int rpmExpandNumeric (const char *arg)
RPM_PUBLIC_API const char * rpmConfigDir (void)
RPM_PUBLIC_API int rpmExprBoolFlags (const char *expr, int flags)
RPM_PUBLIC_API char * rpmExprStrFlags (const char *expr, int flags)
RPM_PUBLIC_API int rpmExprBool (const char *expr)
RPM_PUBLIC_API char * rpmExprStr (const char *expr)

Detailed Description

Macro API.

Function Documentation

◆ rpmConfigDir()

RPM_PUBLIC_API const char * rpmConfigDir ( void )

Return rpm configuration base directory. If RPM_CONFIGDIR environment variable is set, it's value will be used. Otherwise the configuration directory is the one set at build time, typically /usr/lib/rpm. The value of rpmConfigDir() is determined on first call to this function and is guaranteed to remain the same on subsequent calls.

Returns
rpm configuration directory name

◆ rpmDefineMacro()

RPM_PUBLIC_API int rpmDefineMacro ( rpmMacroContext mc,
const char * macro,
int level )

Define macro in context. Subject to the same sanity checks as using the define macro.

Parameters
mcmacro context (NULL uses global context).
macromacro name, options, body
levelmacro recursion level (0 is entry API)
Returns
0 on success

◆ rpmDumpMacroTable()

RPM_PUBLIC_API void rpmDumpMacroTable ( rpmMacroContext mc,
FILE * fp )

Print macros to file stream.

Parameters
mcmacro context (NULL uses global context).
fpfile stream (NULL uses stderr).

◆ rpmExpand()

RPM_PUBLIC_API char * rpmExpand ( const char * arg,
... )

Return (malloc'ed) concatenated macro expansion(s).

Parameters
argmacro(s) to expand (NULL terminates list)
Returns
macro expansion (malloc'ed)

◆ rpmExpandMacros()

RPM_PUBLIC_API int rpmExpandMacros ( rpmMacroContext mc,
const char * sbuf,
char ** obuf,
int flags )

Expand macro into buffer.

Parameters
mcmacro context (NULL uses global context).
sbufinput macro to expand
obufmacro expansion (malloc'ed)
flagsflags (currently unused)
Returns
negative on failure

◆ rpmExpandNumeric()

RPM_PUBLIC_API int rpmExpandNumeric ( const char * arg)

Return macro expansion as a numeric value. Boolean values ('Y' or 'y' returns 1, 'N' or 'n' returns 0) are permitted as well. An undefined macro returns 0.

Parameters
argmacro to expand
Returns
numeric value

◆ rpmExpandThisMacro()

RPM_PUBLIC_API int rpmExpandThisMacro ( rpmMacroContext mc,
const char * n,
ARGV_const_t args,
char ** obuf,
int flags )

Expand a specific macro into buffer.

Parameters
mcmacro context (NULL uses global context).
nmacro name
argsarguments for parametric macros
obufmacro expansion (malloc'ed)
flagsflags (currently unused)
Returns
negative on failure

◆ rpmExprBool()

RPM_PUBLIC_API int rpmExprBool ( const char * expr)

Evaluate boolean expression.

Parameters
exprexpression to parse
Returns

◆ rpmExprBoolFlags()

RPM_PUBLIC_API int rpmExprBoolFlags ( const char * expr,
int flags )

Evaluate boolean expression.

Parameters
exprexpression to parse
flagsparser flags
Returns

◆ rpmExprStr()

RPM_PUBLIC_API char * rpmExprStr ( const char * expr)

Evaluate string expression.

Parameters
exprexpression to parse
Returns

◆ rpmExprStrFlags()

RPM_PUBLIC_API char * rpmExprStrFlags ( const char * expr,
int flags )

Evaluate string expression.

Parameters
exprexpression to parse
flagsparser flags
Returns

◆ rpmFreeMacros()

RPM_PUBLIC_API void rpmFreeMacros ( rpmMacroContext mc)

Destroy macro context.

Parameters
mcmacro context (NULL uses global context).

◆ rpmInitMacros()

RPM_PUBLIC_API void rpmInitMacros ( rpmMacroContext mc,
const char * macrofiles )

Initialize macro context from set of macrofile(s).

Parameters
mcmacro context
macrofilescolon separated list of macro files (NULL does nothing)

◆ rpmLoadMacroFile()

RPM_PUBLIC_API int rpmLoadMacroFile ( rpmMacroContext mc,
const char * fn )

Load macro context from a macro file.

Parameters
mc(unused)
fnmacro file name

◆ rpmLoadMacros()

RPM_PUBLIC_API void rpmLoadMacros ( rpmMacroContext mc,
int level )

Load macros from specific context into global context.

Parameters
mcmacro context (NULL does nothing).
levelmacro recursion level (0 is entry API)

◆ rpmMacroBufAppend()

RPM_PUBLIC_API void rpmMacroBufAppend ( rpmMacroBuf mb,
char c )

Append a character to macro buffer (in aux macro)

Parameters
mbmacro buffer
ccharacter to append

◆ rpmMacroBufAppendStr()

RPM_PUBLIC_API void rpmMacroBufAppendStr ( rpmMacroBuf mb,
const char * str )

Append a string to macro buffer (in aux macro)

Parameters
mbmacro buffer
strstring to append

◆ rpmMacroBufErr()

RPM_PUBLIC_API void rpmMacroBufErr ( rpmMacroBuf mb,
int error,
const char * fmt,
... )

Raise an error or warning in macro buffer (in aux macro)

Parameters
mbmacro buffer
error1 if error, 0 if warning
fmtj

◆ rpmMacroEntryPriv()

RPM_PUBLIC_API void * rpmMacroEntryPriv ( rpmMacroEntry me)

Return macro entry user data (in aux macro)

Parameters
memacro entry
Returns
pointer to private data passed on define or NULL

◆ rpmPopMacro()

RPM_PUBLIC_API int rpmPopMacro ( rpmMacroContext mc,
const char * n )

Pop macro from context.

Parameters
mcmacro context (NULL uses global context).
nmacro name
Returns
0 on success

◆ rpmPushMacro()

RPM_PUBLIC_API int rpmPushMacro ( rpmMacroContext mc,
const char * n,
const char * o,
const char * b,
int level )

Push macro to context.

Parameters
mcmacro context (NULL uses global context).
nmacro name
omacro parameters
bmacro body
levelmacro recursion level (0 is entry API)
Returns
0 on success

◆ rpmPushMacroAux()

RPM_PUBLIC_API int rpmPushMacroAux ( rpmMacroContext mc,
const char * n,
const char * o,
macroFunc f,
void * priv,
int nargs,
int level,
rpmMacroFlags flags )

Push an auxiliary macro to context.

Parameters
mcmacro context (NULL uses global context).
nmacro name
omacro parameters (or NULL)
fmacro function
privprivate user data (or NULL)
nargsnumber of arguments (0-N for enforced check, -1 for optional)
levelmacro recursion level (0 is entry API)
flagsmacro flags
Returns
0 on success

◆ rpmPushMacroFlags()

RPM_PUBLIC_API int rpmPushMacroFlags ( rpmMacroContext mc,
const char * n,
const char * o,
const char * b,
int level,
rpmMacroFlags flags )

Push macro to context.

Parameters
mcmacro context (NULL uses global context).
nmacro name
omacro parameters
bmacro body
levelmacro recursion level (0 is entry API)
flagsmacro flags
Returns
0 on success

◆ rpmUndefineMacro()

RPM_PUBLIC_API int rpmUndefineMacro ( rpmMacroContext mc,
const char * n )

Undefine macro in context. Subject to the same sanity checks as using the undefine macro.

Parameters
mcmacro context (NULL uses global context).
nmacro name
Returns
0 on success