Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lib/rpmrc.c File Reference

#include "system.h"
#include <stdarg.h>
#include <rpmlib.h>
#include <rpmmacro.h>
#include "misc.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  canonEntry_s
struct  defaultEntry_s
struct  machCache_s
struct  machCacheEntry_s
struct  machEquivInfo_s
struct  machEquivTable_s
struct  rpmOption
struct  rpmvarValue
struct  tableType_s

Defines

#define __power_pc()   0
#define OS   0
#define ARCH   1
#define _TOPDIRMACRO   "%{_topdir}/"

Typedefs

typedef const char* cptr_t
typedef struct machCacheEntry_s *  machCacheEntry
typedef struct machCache_s *  machCache
typedef struct machEquivInfo_s *  machEquivInfo
typedef struct machEquivTable_s *  machEquivTable
typedef struct defaultEntry_s *  defaultEntry
typedef struct canonEntry_s *  canonEntry
typedef struct tableType_s *  tableType

Functions

int doReadRC (FD_t fd, const char *urlfn)
void rpmSetVarArch (int var, const char *val, const char *arch)
void rebuildCompatTables (int type, const char *name)
int optionCompare (const void *a, const void *b)
void rpmRebuildTargetVars (const char **target, const char **canontarget)
machCacheEntry machCacheFindEntry (const machCache cache, const char *key)
int machCompatCacheAdd (char *name, const char *fn, int linenum, machCache cache)
machEquivInfo machEquivSearch (const machEquivTable table, const char *name)
void machAddEquiv (machEquivTable table, const char *name, int distance)
void machCacheEntryVisit (machCache cache, machEquivTable table, const char *name, int distance)
void machFindEquivs (machCache cache, machEquivTable table, const char *key)
int addCanon (canonEntry *table, int *tableLen, char *line, const char *fn, int lineNum)
int addDefault (defaultEntry *table, int *tableLen, char *line, const char *fn, int lineNum)
const canonEntry lookupInCanonTable (const char *name, const canonEntry table, int tableLen)
const char* lookupInDefaultTable (const char *name, const defaultEntry table, int tableLen)
int rpmReadConfigFiles (const char *file, const char *target)
void setVarDefault (int var, const char *macroname, const char *val, const char *body)
void setPathDefault (int var, const char *macroname, const char *subdir)
void setDefaults (void)
int rpmReadRC (const char *rcfiles)
void defaultMachine (const char **arch, const char **os)
const char* rpmGetVarArch (int var, const char *arch)
const char* rpmGetVar (int var)
void freeRpmVar (struct rpmvarValue *orig)
void rpmSetVar (int var, const char *val)
void rpmSetTables (int archTable, int osTable)
int rpmMachineScore (int type, const char *name)
void rpmGetMachine (const char **arch, const char **os)
void rpmSetMachine (const char *arch, const char *os)
void getMachineInfo (int type, const char **name, int *num)
void rpmGetArchInfo (const char **name, int *num)
void rpmGetOsInfo (const char **name, int *num)
void rpmFreeRpmrc (void)
int rpmShowRC (FILE *fp)

Variables

const char* defrcfiles
const char* macrofiles = MACROFILES
struct tableType_s tables [RPM_MACHTABLE_COUNT]
struct rpmOption optionTable []
int optionTableSize = sizeof(optionTable) / sizeof(*optionTable)
cptr_t current [2]
int currTables [2] = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH }
struct rpmvarValue values [RPMVAR_NUM]
int defaultsInitialized = 0
const char* prescriptenviron


Define Documentation

#define ARCH   1
 

Definition at line 113 of file rpmrc.c.

#define OS   0
 

Definition at line 112 of file rpmrc.c.

#define _TOPDIRMACRO   "%{_topdir}/"
 

#define __power_pc( )   0
 

Definition at line 8 of file rpmrc.c.


Typedef Documentation

typedef struct canonEntry_s * canonEntry
 

typedef const char * cptr_t
 

Definition at line 24 of file rpmrc.c.

typedef struct defaultEntry_s * defaultEntry
 

typedef struct machCache_s * machCache
 

typedef struct machCacheEntry_s * machCacheEntry
 

typedef struct machEquivInfo_s * machEquivInfo
 

typedef struct machEquivTable_s * machEquivTable
 

typedef struct tableType_s * tableType
 


Function Documentation

int addCanon ( canonEntry * table,
int * tableLen,
char * line,
const char * fn,
int lineNum ) [static]
 

Definition at line 300 of file rpmrc.c.

Referenced by doReadRC().

int addDefault ( defaultEntry * table,
int * tableLen,
char * line,
const char * fn,
int lineNum ) [static]
 

Definition at line 357 of file rpmrc.c.

Referenced by doReadRC().

void defaultMachine ( const char ** arch,
const char ** os ) [static]
 

Definition at line 1002 of file rpmrc.c.

Referenced by rpmRebuildTargetVars(), rpmSetMachine(), and rpmSetTables().

int doReadRC ( FD_t fd,
const char * urlfn ) [static]
 

Definition at line 634 of file rpmrc.c.

Referenced by rpmReadRC().

void freeRpmVar ( struct rpmvarValue * orig ) [static]
 

Definition at line 1266 of file rpmrc.c.

Referenced by rpmSetVar().

void getMachineInfo ( int type,
const char ** name,
int * num ) [static]
 

Definition at line 1414 of file rpmrc.c.

Referenced by rpmGetArchInfo(), and rpmGetOsInfo().

const canonEntry lookupInCanonTable ( const char * name,
const canonEntry table,
int tableLen ) [static]
 

Definition at line 395 of file rpmrc.c.

Referenced by defaultMachine(), and getMachineInfo().

const char * lookupInDefaultTable ( const char * name,
const defaultEntry table,
int tableLen ) [static]
 

Definition at line 412 of file rpmrc.c.

Referenced by rpmSetMachine().

void machAddEquiv ( machEquivTable table,
const char * name,
int distance ) [static]
 

Definition at line 232 of file rpmrc.c.

Referenced by machCacheEntryVisit(), and machFindEquivs().

void machCacheEntryVisit ( machCache cache,
machEquivTable table,
const char * name,
int distance ) [static]
 

Definition at line 251 of file rpmrc.c.

Referenced by machFindEquivs().

machCacheEntry machCacheFindEntry ( const machCache cache,
const char * key ) [static]
 

Definition at line 139 of file rpmrc.c.

Referenced by machCacheEntryVisit(), and machCompatCacheAdd().

int machCompatCacheAdd ( char * name,
const char * fn,
int linenum,
machCache cache ) [static]
 

Definition at line 150 of file rpmrc.c.

Referenced by doReadRC().

machEquivInfo machEquivSearch ( const machEquivTable table,
const char * name ) [static]
 

Definition at line 220 of file rpmrc.c.

Referenced by machAddEquiv(), and rpmMachineScore().

void machFindEquivs ( machCache cache,
machEquivTable table,
const char * key ) [static]
 

Definition at line 272 of file rpmrc.c.

Referenced by rebuildCompatTables().

int optionCompare ( const void * a,
const void * b ) [static]
 

Definition at line 129 of file rpmrc.c.

void rebuildCompatTables ( int type,
const char * name ) [static]
 

Definition at line 1406 of file rpmrc.c.

Referenced by rpmSetMachine(), and rpmSetTables().

const char * rpmGetVarArch ( int var,
const char * arch ) [static]
 

Definition at line 1239 of file rpmrc.c.

Referenced by rpmGetVar(), and rpmRebuildTargetVars().

void rpmRebuildTargetVars ( const char ** target,
const char ** canontarget ) [static]
 

Definition at line 1452 of file rpmrc.c.

Referenced by doReadRC(), and rpmReadConfigFiles().

void rpmSetVarArch ( int var,
const char * val,
const char * arch ) [static]
 

Definition at line 1289 of file rpmrc.c.

Referenced by doReadRC().

void setDefaults ( void ) [static]
 

Definition at line 512 of file rpmrc.c.

Referenced by rpmReadRC().

void setPathDefault ( int var,
const char * macroname,
const char * subdir ) [static]
 

Definition at line 463 of file rpmrc.c.

Referenced by setDefaults().

void setVarDefault ( int var,
const char * macroname,
const char * val,
const char * body ) [static]
 

Definition at line 450 of file rpmrc.c.

Referenced by setDefaults().


Variable Documentation

int currTables = { RPM_MACHTABLE_INSTOS, RPM_MACHTABLE_INSTARCH } [static]
 

Definition at line 116 of file rpmrc.c.

cptr_t current [static]
 

Definition at line 115 of file rpmrc.c.

int defaultsInitialized = 0 [static]
 

Definition at line 118 of file rpmrc.c.

const char * defrcfiles [static]
 

Initial value:

        LIBRPMRC_FILENAME ":/etc/rpmrc:~/.rpmrc"

Definition at line 19 of file rpmrc.c.

const char* macrofiles = MACROFILES
 

List of macro files to read when configuring rpm. This is a colon separated list of files. URI's are permitted as well, identified by the token '://', so file paths must not begin with '//'.

Definition at line 22 of file rpmrc.c.

struct rpmOption optionTable [static]
 

Initial value:

 {
    { "include",                RPMVAR_INCLUDE,                 0, 1,   0, 2 },
    { "macrofiles",             RPMVAR_MACROFILES,              0, 0,   0, 1 },
    { "optflags",               RPMVAR_OPTFLAGS,                1, 0,   1, 0 },
    { "provides",               RPMVAR_PROVIDES,                0, 0,   0, 0 },
}

Definition at line 103 of file rpmrc.c.

int optionTableSize = sizeof(optionTable) / sizeof(*optionTable) [static]
 

Definition at line 110 of file rpmrc.c.

const char * prescriptenviron [static]
 

Initial value:

 "\n\
RPM_SOURCE_DIR=\"%{_sourcedir}\"\n\
RPM_BUILD_DIR=\"%{_builddir}\"\n\
RPM_OPT_FLAGS=\"%{optflags}\"\n\
RPM_ARCH=\"%{_arch}\"\n\
RPM_OS=\"%{_os}\"\n\
export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\n\
RPM_DOC_DIR=\"%{_docdir}\"\n\
export RPM_DOC_DIR\n\
RPM_PACKAGE_NAME=\"%{name}\"\n\
RPM_PACKAGE_VERSION=\"%{version}\"\n\
RPM_PACKAGE_RELEASE=\"%{release}\"\n\
export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\n\
%{?buildroot:RPM_BUILD_ROOT=\"%{buildroot}\"\n\
export RPM_BUILD_ROOT\n}\
"

Definition at line 495 of file rpmrc.c.

struct tableType_s tables [static]
 

Initial value:

 {
    { "arch", 1, 0 },
    { "os", 1, 0 },
    { "buildarch", 0, 1 },
    { "buildos", 0, 1 }
}

Definition at line 93 of file rpmrc.c.

struct rpmvarValue values [static]
 

Definition at line 117 of file rpmrc.c.


Generated at Thu Sep 6 11:25:46 2001 for rpm by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001