rpm  5.4.10
Macros | Typedefs | Enumerations | Functions | Variables
rpmfc.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#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),
  RPMFC_TYPELIB = (1 << 5), RPMFC_HASKELL = (1 << 6), RPMFC_RUBY = (1 << 7), RPMFC_PKGCONFIG = (1 << 8),
  RPMFC_LIBTOOL = (1 << 9), RPMFC_BOURNE = (1 << 10), RPMFC_MONO = (1 << 11), RPMFC_SCRIPT = (1 << 12),
  RPMFC_STATIC = (1 << 13), RPMFC_NOTSTRIPPED = (1 << 14), RPMFC_DIRECTORY = (1 << 16), RPMFC_SYMLINK = (2 << 16),
  RPMFC_DEVICE = (3 << 16), RPMFC_LIBRARY = (4 << 16), RPMFC_FONT = (5 << 16), RPMFC_IMAGE = (6 << 16),
  RPMFC_MANPAGE = (7 << 16), RPMFC_TEXT = (8 << 16), RPMFC_DOCUMENT = (9 << 16), RPMFC_ARCHIVE = (1 << 20),
  RPMFC_COMPRESSED = (1 << 21), RPMFC_MODULE = (1 << 22), RPMFC_EXECUTABLE = (1 << 23), RPMFC_PERL = (1 << 24),
  RPMFC_JAVA = (1 << 25), RPMFC_PYTHON = (1 << 26), RPMFC_PHP = (1 << 27), RPMFC_TCL = (1 << 28),
  RPMFC_WHITE = (1 << 29), RPMFC_INCLUDE = (1 << 30), RPMFC_ERROR = (1 << 31)
}

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 *_spec, void *_pkg)
 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

Macro Definition 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 229 of file rpmfc.h.

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

Definition at line 218 of file rpmfc.h.

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

Definition at line 207 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 
RPMFC_TYPELIB 
RPMFC_HASKELL 
RPMFC_RUBY 
RPMFC_PKGCONFIG 
RPMFC_LIBTOOL 
RPMFC_BOURNE 
RPMFC_MONO 
RPMFC_SCRIPT 
RPMFC_STATIC 
RPMFC_NOTSTRIPPED 
RPMFC_DIRECTORY 
RPMFC_SYMLINK 
RPMFC_DEVICE 
RPMFC_LIBRARY 
RPMFC_FONT 
RPMFC_IMAGE 
RPMFC_MANPAGE 
RPMFC_TEXT 
RPMFC_DOCUMENT 
RPMFC_ARCHIVE 
RPMFC_COMPRESSED 
RPMFC_MODULE 
RPMFC_EXECUTABLE 
RPMFC_PERL 
RPMFC_JAVA 
RPMFC_PYTHON 
RPMFC_PHP 
RPMFC_TCL 
RPMFC_WHITE 
RPMFC_INCLUDE 
RPMFC_ERROR 

Definition at line 19 of file rpmfc.h.

Function Documentation

rpmRC rpmfcApply ( rpmfc  fc)
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 718 of file rpmfc.c.

References RPMFC_BLACK, and RPMFC_INCLUDE.

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 *  _spec,
void *  _pkg 
)
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 2282 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 733 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

int _rpmfc_debug