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_QML = (1 << 4), 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),
  RPMFC_NODEJS = (1 << 11)
}
 

Functions

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

Variables

int _rpmfc_debug
 

Macro Definition Documentation

§ RPMFC_ELF

#define RPMFC_ELF   (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)

Definition at line 24 of file rpmfc.h.

§ rpmfcFree

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

Definition at line 231 of file rpmfc.h.

§ rpmfcLink

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

Definition at line 220 of file rpmfc.h.

§ rpmfcUnlink

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

Definition at line 209 of file rpmfc.h.

Typedef Documentation

§ FCOLOR_t

typedef enum FCOLOR_e FCOLOR_t

§ rpmfc

typedef struct rpmfc_s* rpmfc

Definition at line 11 of file rpmfc.h.

§ rpmfcToken

typedef struct rpmfcTokens_s* rpmfcToken

Definition at line 15 of file rpmfc.h.

Enumeration Type Documentation

§ FCOLOR_e

enum FCOLOR_e
Enumerator
RPMFC_BLACK 
RPMFC_ELF32 
RPMFC_ELF64 
RPMFC_ELFMIPSN32 
RPMFC_QML 
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 
RPMFC_NODEJS 

Definition at line 19 of file rpmfc.h.

Function Documentation

§ rpmfcApply()

rpmRC rpmfcApply ( rpmfc  fc)

§ rpmfcClassify()

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

§ rpmfcColoring()

int rpmfcColoring ( const char *  fmstr)

Return file color given file(1) string.

Parameters
fmstrfile(1) string
Returns
file color

Definition at line 720 of file rpmfc.c.

References RPMFC_BLACK, and RPMFC_INCLUDE.

Referenced by rpmfcClassify().

§ rpmfcExec()

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?

§ rpmfcFree()

rpmfc rpmfcFree ( rpmfc  fc)

Destroy a file classifier.

Parameters
fcfile classifier
Returns
NULL if free'd

Referenced by main(), and rpmfcGenerateDepends().

§ rpmfcGenerateDepends()

rpmRC rpmfcGenerateDepends ( void *  _spec,
void *  _pkg 
)

§ rpmfcLink()

rpmfc rpmfcLink ( rpmfc  fc)

Reference a file classifier instance.

Parameters
dsfile classifier
Returns
new file classifier reference

Referenced by rpmfcNew().

§ rpmfcNew()

rpmfc rpmfcNew ( void  )

Create a file classifier.

Returns
new file classifier

Definition at line 2306 of file rpmfc.c.

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

Referenced by main(), and rpmfcGenerateDepends().

§ rpmfcPrint()

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 735 of file rpmfc.c.

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

Referenced by main(), and rpmfcGenerateDepends().

§ rpmfcUnlink()

rpmfc rpmfcUnlink ( rpmfc  fc)

Unreference a file classifier instance.

Parameters
dsdependency set
Returns
NULL if free'd

Variable Documentation

§ _rpmfc_debug

int _rpmfc_debug