rpmfc.h File Reference

#include "rpmfile.h"

Go to the source code of this file.

Data Structures

struct  rpmfc_s
struct  rpmfcTokens_s

Defines

#define RPMFC_ELF   (RPMFC_ELF32|RPMFC_ELF64)

Typedefs

typedef rpmfc_srpmfc
typedef enum FCOLOR_e FCOLOR_t
typedef rpmfcTokens_srpmfcToken

Enumerations

enum  FCOLOR_e {
  RPMFC_BLACK = 0, RPMFC_ELF32 = (1 << 0), RPMFC_ELF64 = (1 << 1), RPMFC_MODULE = (1 << 7),
  RPMFC_EXECUTABLE = (1 << 8), RPMFC_SCRIPT = (1 << 9), RPMFC_TEXT = (1 << 10), RPMFC_DATA = (1 << 11),
  RPMFC_DOCUMENT = (1 << 12), RPMFC_STATIC = (1 << 13), RPMFC_NOTSTRIPPED = (1 << 14), RPMFC_COMPRESSED = (1 << 15),
  RPMFC_DIRECTORY = (1 << 16), RPMFC_SYMLINK = (1 << 17), RPMFC_DEVICE = (1 << 18), RPMFC_LIBRARY = (1 << 19),
  RPMFC_ARCHIVE = (1 << 20), RPMFC_FONT = (1 << 21), RPMFC_IMAGE = (1 << 22), RPMFC_MANPAGE = (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 (ARGV_t av, StringBuf sb_stdin, StringBuf *sb_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.
rpmfc rpmfcFree (rpmfc fc)
 Destroy a file classifier.
rpmfc rpmfcNew (void)
 Create a file classifier.
int rpmfcClassify (rpmfc fc, ARGV_t argv)
 Build file class dictionary and mappings.
int rpmfcApply (rpmfc fc)
 Build file/package dependency dictionary and mappings.
int rpmfcGenerateDepends (const Spec spec, Package pkg)
 Generate package dependencies.

Variables

int _rpmfc_debug


Define Documentation

#define RPMFC_ELF   (RPMFC_ELF32|RPMFC_ELF64)
 


Typedef Documentation

typedef enum FCOLOR_e FCOLOR_t
 

Definition at line 83 of file rpmfc.h.

typedef struct rpmfc_s* rpmfc
 

Definition at line 13 of file rpmfc.h.

typedef struct rpmfcTokens_s* rpmfcToken
 

Definition at line 95 of file rpmfc.h.


Enumeration Type Documentation

enum FCOLOR_e
 

Enumerator:
RPMFC_BLACK 
RPMFC_ELF32 
RPMFC_ELF64 
RPMFC_MODULE 
RPMFC_EXECUTABLE 
RPMFC_SCRIPT 
RPMFC_TEXT 
RPMFC_DATA 
RPMFC_DOCUMENT 
RPMFC_STATIC 
RPMFC_NOTSTRIPPED 
RPMFC_COMPRESSED 
RPMFC_DIRECTORY 
RPMFC_SYMLINK 
RPMFC_DEVICE 
RPMFC_LIBRARY 
RPMFC_ARCHIVE 
RPMFC_FONT 
RPMFC_IMAGE 
RPMFC_MANPAGE 
RPMFC_PERL 
RPMFC_JAVA 
RPMFC_PYTHON 
RPMFC_PHP 
RPMFC_TCL 
RPMFC_WHITE 
RPMFC_INCLUDE 
RPMFC_ERROR 

Definition at line 48 of file rpmfc.h.


Function Documentation

int rpmfcApply rpmfc  fc  ) 
 

Build file/package dependency dictionary and mappings.

Parameters:
fc file classifier
Returns:
0 on success

Definition at line 1057 of file rpmfc.c.

References argiAdd(), argiCount(), argvCount(), rpmfcApplyTbl_s::colormask, rpmfcApplyTbl_s::func, rpmdsFind(), rpmdsFree(), rpmdsSingle(), rpmfcApplyTable, RPMTAG_PROVIDENAME, and RPMTAG_REQUIRENAME.

Referenced by main(), and rpmfcGenerateDepends().

int rpmfcClassify rpmfc  fc,
ARGV_t  argv
 

Build file class dictionary and mappings.

Parameters:
fc file classifier
argv files to classify
Returns:
0 on success

Definition at line 1146 of file rpmfc.c.

References argiAdd(), argvAdd(), argvCount(), argvFree(), argvSearch(), default_magicfile, fmagicProcess(), fmagicSetup(), global_fmagic, fmagic_s::magicfile, fmagic_s::nob, fmagic_s::obp, fmagic_s::obuf, RPMFC_INCLUDE, RPMFC_WHITE, rpmfcColoring(), rpmfcSaveArg(), RPMMESS_DEBUG, and rpmMessage.

Referenced by main(), and rpmfcGenerateDepends().

int rpmfcColoring const char *  fmstr  ) 
 

Return file color given file(1) string.

Parameters:
fmstr file(1) string
Returns:
file color

Definition at line 513 of file rpmfc.c.

References RPMFC_INCLUDE.

Referenced by rpmfcClassify().

int rpmfcExec ARGV_t  av,
StringBuf  sb_stdin,
StringBuf sb_stdoutp,
int  failnonzero
 

Return helper output.

Parameters:
av helper argv (with possible macros)
sb_stdin helper input
Return values:
*sb_stdoutp helper output
Parameters:
failnonzero IS non-zero helper exit status a failure?

Definition at line 202 of file rpmfc.c.

References _free(), argvAppend(), argvFree(), freeStringBuf(), getOutputFrom(), getStringBuf(), poptParseArgvString(), rpmExpand(), and rpmfcExpandAppend().

Referenced by checkFiles(), rpmfcGenerateDependsHelper(), and rpmfcHelper().

rpmfc rpmfcFree rpmfc  fc  ) 
 

Destroy a file classifier.

Parameters:
fc file classifier
Returns:
NULL always

Definition at line 605 of file rpmfc.c.

References _free(), argiFree(), argvFree(), freeStringBuf(), and rpmdsFree().

Referenced by main(), and rpmfcGenerateDepends().

int rpmfcGenerateDepends const Spec  spec,
Package  pkg
 

Generate package dependencies.

Parameters:
spec spec file control
pkg package control
Returns:
0 on success

Definition at line 1426 of file rpmfc.c.

References _rpmfc_debug, argiCount(), argiData(), argvCount(), argvData(), argvFree(), Package_s::autoProv, Package_s::autoReq, Package_s::cpioList, Package_s::ds, Package_s::header, headerAddEntry(), headerRemoveEntry(), DepMsg_s::msg, printDeps(), RPM_INT32_TYPE, RPM_STRING_ARRAY_TYPE, rpmdsCount(), rpmdsEVR(), rpmdsFree(), rpmdsMerge(), rpmdsN(), rpmdsNew(), rpmdsSingle(), rpmExpandNumeric(), rpmfcApply(), rpmfcClassify(), rpmfcFree(), rpmfcGenerateDependsHelper(), rpmfcNew(), rpmfcPrint(), rpmfiFC(), rpmfiFFlags(), rpmfiFN(), rpmfiInit(), RPMFILE_CONFIG, rpmfiNext(), RPMSENSE_CONFIG, RPMSENSE_EQUAL, RPMTAG_CLASSDICT, RPMTAG_DEPENDSDICT, RPMTAG_FILECLASS, RPMTAG_FILECOLORS, RPMTAG_FILEDEPENDSN, RPMTAG_FILEDEPENDSX, RPMTAG_PROVIDEFLAGS, RPMTAG_PROVIDENAME, RPMTAG_PROVIDEVERSION, RPMTAG_REQUIREFLAGS, RPMTAG_REQUIRENAME, RPMTAG_REQUIREVERSION, xcalloc(), and xstrdup().

Referenced by processBinaryFiles().

rpmfc rpmfcNew void   ) 
 

Create a file classifier.

Returns:
new file classifier

Definition at line 629 of file rpmfc.c.

References 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:
msg message prefix (NULL for none)
fc file classifier
fp output file handle (NULL for stderr)

Definition at line 528 of file rpmfc.c.

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

Referenced by main(), and rpmfcGenerateDepends().


Variable Documentation

int _rpmfc_debug
 

Definition at line 59 of file poptALL.c.

Referenced by main(), and rpmfcGenerateDepends().


Generated on Fri Feb 24 08:33:39 2006 for rpm by  doxygen 1.4.5