rpm 5.3.12
Data Structures | Defines | Functions | Variables
lib/rpmfi.c File Reference

Routines to handle file info tag sets. More...

#include "system.h"
#include <rpmio.h>
#include <rpmiotypes.h>
#include <rpmlog.h>
#include <rpmbf.h>
#include <rpmurl.h>
#include <rpmdir.h>
#include <rpmmacro.h>
#include <ugid.h>
#include <rpmdav.h>
#include <rpmtypes.h>
#include <rpmtag.h>
#include "fprint.h"
#include "fsm.h"
#include "legacy.h"
#include "rpmds.h"
#include "rpmte.h"
#include "rpmts.h"
#include <rpmcli.h>
#include "debug.h"
Include dependency graph for rpmfi.c:

Go to the source code of this file.

Data Structures

struct  rpmRelocation_s

Defines

#define _RPMDIR_INTERNAL
#define _RPMAV_INTERNAL
#define _FPRINT_INTERNAL
#define _IOSM_INTERNAL
#define _RPMFI_INTERNAL
#define _RPMTE_INTERNAL
#define alloca_strdup(_s)   strcpy(alloca(strlen(_s)+1), (_s))
#define _fdupestring(_h, _tag, _data)
#define _fdupedata(_h, _tag, _data)

Functions

static char * stripTrailingChar (char *s, char c)
 Remove occurences of trailing character from string.
int rpmfiFC (rpmfi fi)
 Return file count from file info set.
int rpmfiDC (rpmfi fi)
 Return directory count from file info set.
int rpmfiFX (rpmfi fi)
 Return current file index from file info set.
int rpmfiSetFX (rpmfi fi, int fx)
 Set current file index in file info set.
int rpmfiDX (rpmfi fi)
 Return current directory index from file info set.
int rpmfiSetDX (rpmfi fi, int dx)
 Set current directory index in file info set.
int rpmfiIsSource (rpmfi fi)
 Return source rpm marker from file info set.
const char * rpmfiBN (rpmfi fi)
 Return current base name from file info set.
const char * rpmfiDN (rpmfi fi)
 Return current directory name from file info set.
const char * rpmfiFN (rpmfi fi)
 Return current file name from file info set.
void * rpmfiFNBF (rpmfi fi)
 Return FN Bloom filter from file info set.
size_t rpmfiFNMaxLen (rpmfi fi)
 Return maximum file name length from file info set.
rpmuint32_t rpmfiFFlags (rpmfi fi)
 Return current file flags from file info set.
rpmuint32_t rpmfiSetFFlags (rpmfi fi, rpmuint32_t FFlags)
 Set current file flags in file info set.
rpmuint32_t rpmfiVFlags (rpmfi fi)
 Return current file verify flags from file info set.
rpmuint32_t rpmfiSetVFlags (rpmfi fi, rpmuint32_t VFlags)
 Set current file verify flags in file info set.
rpmuint16_t rpmfiFMode (rpmfi fi)
 Return current file mode from file info set.
rpmfileState rpmfiFState (rpmfi fi)
 Return current file state from file info set.
rpmfileState rpmfiSetFState (rpmfi fi, rpmfileState fstate)
 Set current file state in file info set.
const unsigned char * rpmfiDigest (rpmfi fi, int *algop, size_t *lenp)
 Return current file (binary) digest from file info set.
const char * rpmfiFLink (rpmfi fi)
 Return current file linkto (i.e.
rpmuint32_t rpmfiFSize (rpmfi fi)
 Return current file size from file info set.
rpmuint16_t rpmfiFRdev (rpmfi fi)
 Return current file rdev from file info set.
rpmuint32_t rpmfiFInode (rpmfi fi)
 Return current file inode from file info set.
rpmuint32_t rpmfiColor (rpmfi fi)
 Return union of all file color bits from file info set.
rpmuint32_t rpmfiFColor (rpmfi fi)
 Return current file color bits from file info set.
const char * rpmfiFClass (rpmfi fi)
 Return current file class from file info set.
const char * rpmfiFContext (rpmfi fi)
 Return current file security context from file info set.
rpmuint32_t rpmfiFDepends (rpmfi fi, const rpmuint32_t **fddictp)
 Return current file depends dictionary from file info set.
rpmuint32_t rpmfiFNlink (rpmfi fi)
 Return (calculated) current file nlink count from file info set.
rpmuint32_t rpmfiFMtime (rpmfi fi)
 Return current file modify time from file info set.
const char * rpmfiFUser (rpmfi fi)
 Return current file owner from file info set.
const char * rpmfiFGroup (rpmfi fi)
 Return current file group from file info set.
void * rpmfiBloomFN (const rpmfi fi)
 Return file path Bloom filter.
void * rpmfiExclude (const rpmfi fi)
 Return file info exclude patterns.
int rpmfiNExclude (const rpmfi fi)
 Return no.
void * rpmfiInclude (const rpmfi fi)
 Return file info include patterns.
int rpmfiNInclude (const rpmfi fi)
 Return no.
struct fingerPrint_srpmfiFpsIndex (rpmfi fi, int ix)
void rpmfiFpLookup (rpmfi fi, fingerPrintCache fpc)
int rpmfiNext (rpmfi fi)
 Return next file iterator index.
rpmfi rpmfiInit (rpmfi fi, int fx)
 Initialize file iterator index.
int rpmfiNextD (rpmfi fi)
 Return next directory iterator index.
rpmfi rpmfiInitD (rpmfi fi, int dx)
 Initialize directory iterator index.
static const char * rpmfiFtstring (rpmFileTypes ft)
 Identify a file type.
static rpmFileTypes rpmfiWhatis (rpmuint16_t mode)
 Return file type from mode_t.
int rpmfiCompare (const rpmfi afi, const rpmfi bfi)
 Return file info comparison.
int rpmfiDecideFate (const rpmfi ofi, rpmfi nfi, int skipMissing)
 Return file disposition.
const char * rpmfiTypeString (rpmfi fi)
 Return formatted string representation of package disposition.
static Header relocateFileList (const rpmts ts, rpmfi fi, Header origH, iosmFileAction *actions)
 Relocate files in header.
int rpmfiSetHeader (rpmfi fi, Header h)
 Link a header to a file info set.
static void rpmfiFini (void *_fi)
static rpmfi rpmfiGetPool (rpmioPool pool)
static unsigned char nibble (char c)
 Convert hex to binary nibble.
rpmfi rpmfiNew (const void *_ts, Header h, rpmTag tagN, int flags)
 Create and load a file info set.
int rpmfiAddRelocation (rpmRelocation *relp, int *nrelp, const char *oldPath, const char *newPath)
 Add relocation element to array.
rpmRelocation rpmfiFreeRelocations (rpmRelocation relocs)
 Free relocation array.
rpmRelocation rpmfiDupeRelocations (rpmRelocation relocs, int *nrelocsp)
 Duplicate a relocation array.
int rpmfiFStat (rpmfi fi, struct stat *st)
 Return current stat(2) data from file info set.
int rpmfiStat (rpmfi fi, const char *path, struct stat *st)
 Return lstat(2) data of path from file info set.
void * rpmfiOpendir (rpmfi fi, const char *name)
 Return directory stream onto file info set.
void rpmfiBuildFClasses (Header h, const char ***fclassp, rpmuint32_t *fcp)
 Retrieve file classes from header.
void rpmfiBuildFDeps (Header h, rpmTag tagN, const char ***fdepsp, rpmuint32_t *fcp)
 Retrieve per-file dependencies from header.

Variables

int _rpmfi_debug = 0
rpmioPool _rpmfiPool

Detailed Description

Routines to handle file info tag sets.

Definition in file rpmfi.c.


Define Documentation

#define _fdupedata (   _h,
  _tag,
  _data 
)
Value:
he->tag = _tag; \
    xx = headerGet((_h), he, 0); \
    _data = he->p.ptr;

Definition at line 1392 of file rpmfi.c.

Referenced by rpmfiNew().

#define _fdupestring (   _h,
  _tag,
  _data 
)
Value:
he->tag = _tag; \
    xx = headerGet((_h), he, 0); \
    _data = he->p.str;

Definition at line 1387 of file rpmfi.c.

Referenced by rpmfiNew().

#define _FPRINT_INTERNAL

Definition at line 24 of file rpmfi.c.

#define _IOSM_INTERNAL

Definition at line 27 of file rpmfi.c.

#define _RPMAV_INTERNAL

Definition at line 18 of file rpmfi.c.

#define _RPMDIR_INTERNAL

Definition at line 13 of file rpmfi.c.

#define _RPMFI_INTERNAL

Definition at line 28 of file rpmfi.c.

#define _RPMTE_INTERNAL

Definition at line 34 of file rpmfi.c.

#define alloca_strdup (   _s)    strcpy(alloca(strlen(_s)+1), (_s))

Definition at line 772 of file rpmfi.c.

Referenced by relocateFileList().


Function Documentation

static unsigned char nibble ( char  c) [inline, static]

Convert hex to binary nibble.

Parameters:
chex character
Returns:
binary nibble

Definition at line 1375 of file rpmfi.c.

Referenced by rpmfiNew().

static Header relocateFileList ( const rpmts  ts,
rpmfi  fi,
Header  origH,
iosmFileAction actions 
) [static]
int rpmfiAddRelocation ( rpmRelocation relp,
int *  nrelp,
const char *  oldPath,
const char *  newPath 
)

Add relocation element to array.

Return values:
*relocationsrelocation array
*nrelocationsno. of elements
Parameters:
oldPathold path
newPathnew path
Returns:
0 on success

Definition at line 1720 of file rpmfi.c.

References xrealloc(), and xstrdup().

Referenced by installArgCallback(), and main().

const char* rpmfiBN ( rpmfi  fi)

Return current base name from file info set.

Parameters:
fifile info set
Returns:
current base name, NULL on invalid

Definition at line 134 of file rpmfi.c.

Referenced by arSetup(), handleInstInstalledFile(), rpmalAdd(), rpmfi_BN(), rpmtsFindBaseNamesInDB(), and rpmtsSkipFiles().

void rpmfiBuildFClasses ( Header  h,
const char ***  fclassp,
rpmuint32_t fcp 
)

Retrieve file classes from header.

This function is used to retrieve file classes from the header.

Parameters:
hheader
Return values:
*fclassparray of file classes
*fcpnumber of files

Definition at line 1872 of file rpmfi.c.

References _free(), rpmfiFC(), rpmfiFClass(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), stpcpy(), and xmalloc().

Referenced by fileclassTag().

void rpmfiBuildFDeps ( Header  h,
rpmTag  tagN,
const char ***  fdepsp,
rpmuint32_t fcp 
)

Retrieve per-file dependencies from header.

This function is used to retrieve per-file dependencies from the header.

Parameters:
hheader
tagNRPMTAG_PROVIDENAME | RPMTAG_REQUIRENAME
Return values:
*fdepsparray of file dependencies
*fcpnumber of files

Definition at line 2131 of file rpmfi.c.

References _free(), rpmdsDNEVR(), rpmdsFree(), rpmdsNew(), rpmdsNext(), rpmdsSetIx(), rpmfiFC(), rpmfiFDepends(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), stpcpy(), and xmalloc().

Referenced by fileprovideTag(), and filerequireTag().

rpmuint32_t rpmfiColor ( rpmfi  fi)

Return union of all file color bits from file info set.

Parameters:
fifile info set
Returns:
current color

Definition at line 356 of file rpmfi.c.

int rpmfiCompare ( const rpmfi  afi,
const rpmfi  bfi 
)

Return file info comparison.

Parameters:
afi1st file info
bfi2nd file info
Returns:
0 if identical

Definition at line 632 of file rpmfi.c.

References LINK, REG, rpmfiDigest(), rpmfiFLink(), rpmfiFMode(), and rpmfiWhatis().

Referenced by handleInstInstalledFile(), and handleOverlappedFiles().

int rpmfiDC ( rpmfi  fi)

Return directory count from file info set.

Parameters:
fifile info set
Returns:
current directory count

Definition at line 85 of file rpmfi.c.

Referenced by rpmalAdd(), rpmalDel(), rpmfi_DC(), and rpmtsSkipFiles().

int rpmfiDecideFate ( const rpmfi  ofi,
rpmfi  nfi,
int  skipMissing 
)

Return file disposition.

Parameters:
ofiold file info
nfinew file info
skipMissingOK to skip missing files?
Returns:
file dispostion

Definition at line 666 of file rpmfi.c.

References D_, dodigest(), FA_ALTNAME, FA_CREATE, FA_SAVE, FA_SKIP, LINK, Lstat(), Readlink(), REG, rpmfiDigest(), rpmfiFFlags(), rpmfiFLink(), rpmfiFMode(), rpmfiFN(), RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, RPMFILE_SPARSE, rpmfiWhatis(), rpmlog(), RPMLOG_DEBUG, and XDIR.

Referenced by handleInstInstalledFile().

const unsigned char* rpmfiDigest ( rpmfi  fi,
int *  algop,
size_t *  lenp 
)

Return current file (binary) digest from file info set.

Parameters:
fifile info set
Return values:
*algopdigest algorithm
*lenpdigest length (in bytes)
Returns:
current file digest, NULL on invalid

Definition at line 295 of file rpmfi.c.

Referenced by handleOverlappedFiles(), rpmfi_Digest(), rpmfiCompare(), rpmfiDecideFate(), and showQueryPackage().

const char* rpmfiDN ( rpmfi  fi)

Return current directory name from file info set.

Parameters:
fifile info set
Returns:
current directory, NULL on invalid

Definition at line 145 of file rpmfi.c.

Referenced by handleInstInstalledFile(), rpmalAdd(), rpmalDel(), rpmfi_DN(), and rpmtsSkipFiles().

rpmRelocation rpmfiDupeRelocations ( rpmRelocation  relocs,
int *  nrelocsp 
)

Duplicate a relocation array.

Parameters:
relocsrelocation array
Return values:
*nrelocspno. of elements
Returns:
duplicate relocation array

Definition at line 1745 of file rpmfi.c.

References rpmRelocation_s::newPath, rpmRelocation_s::oldPath, xmalloc(), and xstrdup().

Referenced by addTE().

int rpmfiDX ( rpmfi  fi)

Return current directory index from file info set.

Parameters:
fifile info set
Returns:
current directory index

Definition at line 113 of file rpmfi.c.

Referenced by rpmalAdd(), rpmfi_DX(), and rpmtsSkipFiles().

int rpmfiFC ( rpmfi  fi)
const char* rpmfiFClass ( rpmfi  fi)

Return current file class from file info set.

Parameters:
fifile info set
Returns:
current file class, 0 on invalid

Definition at line 378 of file rpmfi.c.

Referenced by rpmfi_FClass(), and rpmfiBuildFClasses().

rpmuint32_t rpmfiFColor ( rpmfi  fi)

Return current file color bits from file info set.

Parameters:
fifile info set
Returns:
current file color

Definition at line 366 of file rpmfi.c.

Referenced by handleInstInstalledFile(), handleOverlappedFiles(), rpmalAdd(), rpmfi_FColor(), rpmteColorDS(), and rpmtsSkipFiles().

const char* rpmfiFContext ( rpmfi  fi)

Return current file security context from file info set.

Parameters:
fifile info set
Returns:
current file context, 0 on invalid

Definition at line 390 of file rpmfi.c.

rpmuint32_t rpmfiFDepends ( rpmfi  fi,
const rpmuint32_t **  fddictp 
)

Return current file depends dictionary from file info set.

Parameters:
fifile info set
Return values:
*fddictpfile depends dictionary array (or NULL)
Returns:
no. of file depends entries, 0 on invalid

Definition at line 401 of file rpmfi.c.

Referenced by rpmfiBuildFDeps(), and rpmteColorDS().

rpmuint32_t rpmfiFFlags ( rpmfi  fi)

Return current file flags from file info set.

Parameters:
fifile info set
Returns:
current file flags, 0 on invalid

Definition at line 212 of file rpmfi.c.

Referenced by handleInstInstalledFile(), handleOverlappedFiles(), rpmfcGenerateDepends(), rpmfi_FFlags(), rpmfi_iternext(), rpmfiDecideFate(), rpmInstallSourcePackage(), rpmtsSkipFiles(), and showQueryPackage().

const char* rpmfiFGroup ( rpmfi  fi)

Return current file group from file info set.

Parameters:
fifile info set
Returns:
current file group, NULL on invalid

Definition at line 465 of file rpmfi.c.

Referenced by rpmfi_FGroup(), rpmfi_iternext(), and showQueryPackage().

static void rpmfiFini ( void *  _fi) [static]

Definition at line 1282 of file rpmfi.c.

References _fi, _free(), freeFSM(), headerFree(), and mireFreeAll().

Referenced by rpmfiGetPool().

rpmuint32_t rpmfiFInode ( rpmfi  fi)

Return current file inode from file info set.

Parameters:
fifile info set
Returns:
current file inode, 0 on invalid

Definition at line 345 of file rpmfi.c.

Referenced by rpmfi_iternext().

const char* rpmfiFLink ( rpmfi  fi)

Return current file linkto (i.e.

symlink(2) target) from file info set.

Parameters:
fifile info set
Returns:
current file linkto, NULL on invalid

Definition at line 312 of file rpmfi.c.

Referenced by rpmfi_FLink(), rpmfiCompare(), rpmfiDecideFate(), rpmtsAddFingerprints(), and showQueryPackage().

rpmuint16_t rpmfiFMode ( rpmfi  fi)

Return current file mode from file info set.

Parameters:
fifile info set
Returns:
current file mode, 0 on invalid

Definition at line 260 of file rpmfi.c.

Referenced by fiIntersect(), handleOverlappedFiles(), rpmfcGenerateDepends(), rpmfi_FMode(), rpmfi_iternext(), rpmfiCompare(), rpmfiDecideFate(), rpmtsSkipFiles(), and showQueryPackage().

rpmuint32_t rpmfiFMtime ( rpmfi  fi)

Return current file modify time from file info set.

Parameters:
fifile info set
Returns:
current file modify time, 0 on invalid

Definition at line 442 of file rpmfi.c.

Referenced by rpmfi_FMtime(), rpmfi_iternext(), and showQueryPackage().

const char* rpmfiFN ( rpmfi  fi)
void* rpmfiFNBF ( rpmfi  fi)

Return FN Bloom filter from file info set.

Parameters:
fifile info set
Returns:
FN Bloom filter, NULL on invalid

Definition at line 174 of file rpmfi.c.

References alloca(), stpcpy(), and urlPath().

Referenced by packagedDir().

rpmuint32_t rpmfiFNlink ( rpmfi  fi)

Return (calculated) current file nlink count from file info set.

Parameters:
fifile info set
Returns:
current file nlink count, 0 on invalid

Definition at line 422 of file rpmfi.c.

Referenced by rpmfi_iternext(), rpmfiFStat(), rpmvfNew(), and showQueryPackage().

size_t rpmfiFNMaxLen ( rpmfi  fi)

Return maximum file name length from file info set.

Parameters:
fifile info set
Returns:
maximum file name length (not including '\0')

Definition at line 205 of file rpmfi.c.

Referenced by pkgUnpackagedSubdirs().

void rpmfiFpLookup ( rpmfi  fi,
fingerPrintCache  fpc 
)

Definition at line 513 of file rpmfi.c.

References fpLookupList(), and xcalloc().

Referenced by rpmtsAddFingerprints().

struct fingerPrint_s* rpmfiFpsIndex ( rpmfi  fi,
int  ix 
) [read]

Definition at line 504 of file rpmfi.c.

Referenced by handleOverlappedFiles(), and rpmtsAddFingerprints().

rpmuint16_t rpmfiFRdev ( rpmfi  fi)

Return current file rdev from file info set.

Parameters:
fifile info set
Returns:
current file rdev, 0 on invalid

Definition at line 334 of file rpmfi.c.

Referenced by rpmfi_FRdev(), rpmfi_iternext(), and showQueryPackage().

rpmRelocation rpmfiFreeRelocations ( rpmRelocation  relocs)

Free relocation array.

Parameters:
relocsrelocation array
Returns:
NULL always

Definition at line 1732 of file rpmfi.c.

References _free(), rpmRelocation_s::newPath, and rpmRelocation_s::oldPath.

Referenced by delTE(), and main().

rpmuint32_t rpmfiFSize ( rpmfi  fi)

Return current file size from file info set.

Parameters:
fifile info set
Returns:
current file size, 0 on invalid

Definition at line 323 of file rpmfi.c.

Referenced by handleInstInstalledFile(), handleOverlappedFiles(), rpmfi_FSize(), rpmfi_iternext(), and showQueryPackage().

int rpmfiFStat ( rpmfi  fi,
struct stat *  st 
)

Return current stat(2) data from file info set.

Parameters:
fifile info set
Return values:
*ststat(2) data
Returns:
-1 on error, 0 on success

Definition at line 1770 of file rpmfi.c.

References gnameToGid(), rpmfiFNlink(), and unameToUid().

Referenced by rpmfiStat().

rpmfileState rpmfiFState ( rpmfi  fi)

Return current file state from file info set.

Parameters:
fifile info set
Returns:
current file state, 0 on invalid

Definition at line 271 of file rpmfi.c.

References RPMFILE_STATE_MISSING.

Referenced by handleOverlappedFiles(), rpmfi_FState(), rpmfi_iternext(), and showQueryPackage().

static const char* rpmfiFtstring ( rpmFileTypes  ft) [static]

Identify a file type.

Parameters:
ftfile type
Returns:
string to identify a file type

Definition at line 597 of file rpmfi.c.

References BDEV, CDEV, LINK, PIPE, REG, SOCK, and XDIR.

Referenced by relocateFileList().

const char* rpmfiFUser ( rpmfi  fi)

Return current file owner from file info set.

Parameters:
fifile info set
Returns:
current file owner, NULL on invalid

Definition at line 453 of file rpmfi.c.

Referenced by rpmfi_FUser(), rpmfi_iternext(), and showQueryPackage().

int rpmfiFX ( rpmfi  fi)

Return current file index from file info set.

Parameters:
fifile info set
Returns:
current file index

Definition at line 96 of file rpmfi.c.

Referenced by handleInstInstalledFile(), and rpmfi_FX().

static rpmfi rpmfiGetPool ( rpmioPool  pool) [static]

Definition at line 1354 of file rpmfi.c.

References _rpmfi_debug, _rpmfiPool, rpmfiFini(), rpmioGetPool(), and rpmioNewPool().

Referenced by rpmfiNew().

rpmfi rpmfiInit ( rpmfi  fi,
int  fx 
)
rpmfi rpmfiInitD ( rpmfi  fi,
int  dx 
)

Initialize directory iterator index.

Parameters:
fifile info set
dxdirectory iterator index
Returns:
file info set, NULL if dx is out of range

Definition at line 577 of file rpmfi.c.

Referenced by rpmtsSkipFiles().

int rpmfiIsSource ( rpmfi  fi)

Return source rpm marker from file info set.

Parameters:
fifile info set
Returns:
source rpm?

Definition at line 129 of file rpmfi.c.

rpmfi rpmfiNew ( const void *  _ts,
Header  h,
rpmTag  tagN,
int  flags 
)
int rpmfiNext ( rpmfi  fi)
int rpmfiNextD ( rpmfi  fi)

Return next directory iterator index.

Parameters:
fifile info set
Returns:
directory iterator index, -1 on termination

Definition at line 557 of file rpmfi.c.

References _rpmfi_debug.

Referenced by rpmtsSkipFiles().

void* rpmfiOpendir ( rpmfi  fi,
const char *  name 
)

Return directory stream onto file info set.

Parameters:
fifile info set
namedirectory path
Returns:
NULL on error

Definition at line 1828 of file rpmfi.c.

References _free(), _rpmfi_debug, argvAdd(), argvFree(), name, rpmfiFN(), rpmfiInit(), rpmfiNext(), and xcalloc().

int rpmfiSetDX ( rpmfi  fi,
int  dx 
)

Set current directory index in file info set.

Parameters:
fifile info set
dxnew directory index
Returns:
current directory index

Definition at line 118 of file rpmfi.c.

Referenced by rpmalAdd(), and rpmalDel().

rpmuint32_t rpmfiSetFFlags ( rpmfi  fi,
rpmuint32_t  FFlags 
)

Set current file flags in file info set.

Parameters:
fifile info set
FFlagsnew file flags
Returns:
previous file flags, 0 on invalid

Definition at line 223 of file rpmfi.c.

rpmfileState rpmfiSetFState ( rpmfi  fi,
rpmfileState  fstate 
)

Set current file state in file info set.

Parameters:
fifile info set
fstatenew file state
Returns:
previous file state, 0 on invalid

Definition at line 282 of file rpmfi.c.

int rpmfiSetFX ( rpmfi  fi,
int  fx 
)

Set current file index in file info set.

Parameters:
fifile info set
fxnew file index
Returns:
current file index

Definition at line 101 of file rpmfi.c.

Referenced by handleOverlappedFiles(), rpmfi_subscript(), and rpmtsCheckInstalledFiles().

int rpmfiSetHeader ( rpmfi  fi,
Header  h 
)

Link a header to a file info set.

Parameters:
fifile info set
hheader
Returns:
0 always

Definition at line 1270 of file rpmfi.c.

References headerFree(), and headerLink().

Referenced by checkDuplicateFiles(), and showVerifyPackage().

rpmuint32_t rpmfiSetVFlags ( rpmfi  fi,
rpmuint32_t  VFlags 
)

Set current file verify flags in file info set.

Parameters:
fifile info set
VFlagsnew file verify flags
Returns:
previous file verify flags, 0 on invalid

Definition at line 247 of file rpmfi.c.

int rpmfiStat ( rpmfi  fi,
const char *  path,
struct stat *  st 
)

Return lstat(2) data of path from file info set.

Parameters:
fifile info set
pathfile path
Return values:
*ststat(2) data
Returns:
-1 on error, 0 on success

Definition at line 1797 of file rpmfi.c.

References _rpmfi_debug, rpmfiFN(), rpmfiFStat(), rpmfiInit(), and rpmfiNext().

const char* rpmfiTypeString ( rpmfi  fi)

Return formatted string representation of package disposition.

Parameters:
fifile info set
Returns:
formatted string

Definition at line 762 of file rpmfi.c.

References rpmteType(), TR_ADDED, and TR_REMOVED.

Referenced by fsmStage().

rpmuint32_t rpmfiVFlags ( rpmfi  fi)

Return current file verify flags from file info set.

Parameters:
fifile info set
Returns:
current file verify flags, 0 on invalid

Definition at line 236 of file rpmfi.c.

Referenced by rpmfi_iternext(), and rpmfi_VFlags().

static rpmFileTypes rpmfiWhatis ( rpmuint16_t  mode) [static]

Return file type from mode_t.

Parameters:
modefile mode bits (from header)
Returns:
file type

Definition at line 618 of file rpmfi.c.

References BDEV, CDEV, LINK, PIPE, REG, S_ISLNK, S_ISSOCK, SOCK, and XDIR.

Referenced by relocateFileList(), rpmfiCompare(), and rpmfiDecideFate().

static char* stripTrailingChar ( char *  s,
char  c 
) [static]

Remove occurences of trailing character from string.

Parameters:
sstring
ccharacter to strip
Returns:
string

Definition at line 69 of file rpmfi.c.

Referenced by relocateFileList().


Variable Documentation

int _rpmfi_debug = 0

Definition at line 1352 of file rpmfi.c.

Referenced by rpmfiGetPool().