rpm 5.3.12
Defines | Typedefs | Enumerations | Functions | Variables
lib/rpmfc.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define RPMFC_ELF   (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)
#define rpmfcUnlink(_fc)   ((rpmfc)rpmioUnlinkPoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__))
#define rpmfcLink(_fc)   ((rpmfc)rpmioLinkPoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__))
#define rpmfcFree(_fc)   ((rpmfc)rpmioFreePoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__))

Typedefs

typedef struct rpmfc_s * rpmfc
typedef struct rpmfcTokens_s * rpmfcToken
typedef enum FCOLOR_e FCOLOR_t

Enumerations

enum  FCOLOR_e { RPMFC_BLACK = 0, RPMFC_ELF32 = (1 << 0), RPMFC_ELF64 = (1 << 1), RPMFC_ELFMIPSN32 = (1 << 2) }

Functions

int rpmfcExec (const char **av, rpmiob iob_stdin, rpmiob *iob_stdoutp, int failnonzero)
 Return helper output.
int rpmfcColoring (const char *fmstr)
 Return file color given file(1) string.
void rpmfcPrint (const char *msg, rpmfc fc, FILE *fp)
 Print results of file classification.
rpmRC rpmfcClassify (rpmfc fc, const char **argv, rpmuint16_t *fmode)
 Build file class dictionary and mappings.
rpmRC rpmfcApply (rpmfc fc)
 Build file/package dependency dictionary and mappings.
rpmRC rpmfcGenerateDepends (void *specp, void *pkgp)
 Generate package dependencies.
rpmfc rpmfcUnlink (rpmfc fc)
 Unreference a file classifier instance.
rpmfc rpmfcLink (rpmfc fc)
 Reference a file classifier instance.
rpmfc rpmfcFree (rpmfc fc)
 Destroy a file classifier.
rpmfc rpmfcNew (void)
 Create a file classifier.

Variables

int _rpmfc_debug

Define Documentation

#define RPMFC_ELF   (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)

Definition at line 24 of file rpmfc.h.

#define rpmfcFree (   _fc)    ((rpmfc)rpmioFreePoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__))

Definition at line 228 of file rpmfc.h.

#define rpmfcLink (   _fc)    ((rpmfc)rpmioLinkPoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__))

Definition at line 217 of file rpmfc.h.

#define rpmfcUnlink (   _fc)    ((rpmfc)rpmioUnlinkPoolItem((rpmioItem)(_fc), __FUNCTION__, __FILE__, __LINE__))

Definition at line 206 of file rpmfc.h.


Typedef Documentation

typedef enum FCOLOR_e FCOLOR_t
typedef struct rpmfc_s* rpmfc

Definition at line 11 of file rpmfc.h.

typedef struct rpmfcTokens_s* rpmfcToken

Definition at line 15 of file rpmfc.h.


Enumeration Type Documentation

enum FCOLOR_e
Enumerator:
RPMFC_BLACK 
RPMFC_ELF32 
RPMFC_ELF64 
RPMFC_ELFMIPSN32 

Definition at line 19 of file rpmfc.h.


Function Documentation

rpmRC rpmfcApply ( rpmfc  fc)

Build file/package dependency dictionary and mappings.

Parameters:
fcfile classifier
Returns:
RPMRC_OK on success

Definition at line 1059 of file rpmfc.c.

References _, _filter_execs, argiAdd(), argiCount(), argvCount(), rpmfcApplyTbl_s::colormask, D_, rpmfcApplyTbl_s::func, mireFree(), mireNew(), mireRegcomp(), mireRegexec(), rpmdsFind(), rpmdsFree(), rpmdsSingle(), rpmfcExpandRegexps(), rpmfcFreeRegexps(), rpmlog(), RPMLOG_DEBUG, RPMLOG_NOTICE, RPMMIRE_REGEX, and RPMRC_OK.

Referenced by main(), and rpmfcGenerateDepends().

rpmRC rpmfcClassify ( rpmfc  fc,
const char **  argv,
rpmuint16_t fmode 
)

Build file class dictionary and mappings.

Parameters:
fcfile classifier
argvfiles to classify
fmodefiles mode_t array (or NULL)
Returns:
RPMRC_OK on success
int rpmfcColoring ( const char *  fmstr)

Return file color given file(1) string.

Parameters:
fmstrfile(1) string
Returns:
file color

Definition at line 666 of file rpmfc.c.

References RPMFC_BLACK, and rpmfcTokens.

Referenced by rpmfcClassify().

int rpmfcExec ( const char **  av,
rpmiob  iob_stdin,
rpmiob iob_stdoutp,
int  failnonzero 
)

Return helper output.

Parameters:
avhelper argv (with possible macros)
iob_stdinhelper input
Return values:
*iob_stdoutphelper output
Parameters:
failnonzeroIs non-zero helper exit status a failure?
rpmfc rpmfcFree ( rpmfc  fc)

Destroy a file classifier.

Parameters:
fcfile classifier
Returns:
NULL if free'd

Referenced by main(), and rpmfcGenerateDepends().

rpmRC rpmfcGenerateDepends ( void *  specp,
void *  pkgp 
)
rpmfc rpmfcLink ( rpmfc  fc)

Reference a file classifier instance.

Parameters:
dsfile classifier
Returns:
new file classifier reference

Referenced by rpmfcNew().

rpmfc rpmfcNew ( void  )

Create a file classifier.

Returns:
new file classifier

Definition at line 2029 of file rpmfc.c.

References rpmfcGetPool(), rpmfcLink(), and xcalloc().

Referenced by main(), and rpmfcGenerateDepends().

void rpmfcPrint ( const char *  msg,
rpmfc  fc,
FILE *  fp 
)

Print results of file classification.

Todo:
Remove debugging routine.
Parameters:
msgmessage prefix (NULL for none)
fcfile classifier
fpoutput file handle (NULL for stderr)

Definition at line 681 of file rpmfc.c.

References rpmdsCount(), rpmdsDNEVR(), rpmdsNext(), rpmdsSetIx(), and RPMFC_BLACK.

Referenced by main(), and rpmfcGenerateDepends().

rpmfc rpmfcUnlink ( rpmfc  fc)

Unreference a file classifier instance.

Parameters:
dsdependency set
Returns:
NULL if free'd

Variable Documentation