rpm  4.11.1-rc1
Functions
Macro API.

Functions

void rpmDumpMacroTable (rpmMacroContext mc, FILE *fp)
 Print macros to file stream. More...
 
int expandMacros (void *spec, rpmMacroContext mc, char *sbuf, size_t slen)
 Expand macro into buffer. More...
 
void addMacro (rpmMacroContext mc, const char *n, const char *o, const char *b, int level)
 Add macro to context. More...
 
void delMacro (rpmMacroContext mc, const char *n)
 Delete macro from context. More...
 
int rpmDefineMacro (rpmMacroContext mc, const char *macro, int level)
 Define macro in context. More...
 
void rpmLoadMacros (rpmMacroContext mc, int level)
 Load macros from specific context into global context. More...
 
int rpmLoadMacroFile (rpmMacroContext mc, const char *fn)
 Load macro context from a macro file. More...
 
void rpmInitMacros (rpmMacroContext mc, const char *macrofiles)
 Initialize macro context from set of macrofile(s). More...
 
void rpmFreeMacros (rpmMacroContext mc)
 Destroy macro context. More...
 
char * rpmExpand (const char *arg,...) RPM_GNUC_NULL_TERMINATED
 Return (malloc'ed) concatenated macro expansion(s). More...
 
int rpmExpandNumeric (const char *arg)
 Return macro expansion as a numeric value. More...
 
const char * rpmConfigDir (void)
 Return rpm configuration base directory. More...
 

Detailed Description

Function Documentation

void addMacro ( rpmMacroContext  mc,
const char *  n,
const char *  o,
const char *  b,
int  level 
)

Add macro to context.

Deprecated:
Use rpmDefineMacro().
Parameters
mcmacro context (NULL uses global context).
nmacro name
omacro paramaters
bmacro body
levelmacro recursion level (0 is entry API)

Referenced by buildForTarget().

void delMacro ( rpmMacroContext  mc,
const char *  n 
)

Delete macro from context.

Parameters
mcmacro context (NULL uses global context).
nmacro name
int expandMacros ( void *  spec,
rpmMacroContext  mc,
char *  sbuf,
size_t  slen 
)

Expand macro into buffer.

Deprecated:
Use rpmExpand().
Todo:
Eliminate from API.
Parameters
speccookie (unused)
mcmacro context (NULL uses global context).
Return values
sbufinput macro to expand, output expansion
Parameters
slensize of buffer
Returns
0 on success
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
int rpmDefineMacro ( rpmMacroContext  mc,
const char *  macro,
int  level 
)

Define macro in context.

Parameters
mcmacro context (NULL uses global context).
macromacro name, options, body
levelmacro recursion level (0 is entry API)
Returns
0 on success (always)
void rpmDumpMacroTable ( rpmMacroContext  mc,
FILE *  fp 
)

Print macros to file stream.

Parameters
mcmacro context (NULL uses global context).
fpfile stream (NULL uses stderr).
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)

Referenced by checkPassPhrase(), doSign(), and getTarSpec().

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

Referenced by build(), and main().

void rpmFreeMacros ( rpmMacroContext  mc)

Destroy macro context.

Parameters
mcmacro context (NULL uses global context).

Referenced by build(), and main().

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)
int rpmLoadMacroFile ( rpmMacroContext  mc,
const char *  fn 
)

Load macro context from a macro file.

Parameters
mc(unused)
fnmacro file name
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)