rpm  5.4.10
Macros | Typedefs | Enumerations | Variables
rpmfi.h File Reference

Structure(s) used for file info tag sets. More...

#include "mire.h"
#include "fprint.h"
Include dependency graph for rpmfi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define RPMFILE_STATE_MISSING   -1 /* XXX used for unavailable data */
 
#define RPMFILE_SPOOK   (RPMFILE_GHOST|RPMFILE_TYPED)
 
#define RPMFILE_ALL   ~(RPMFILE_NONE)
 

Typedefs

typedef enum rpmFileTypes_e rpmFileTypes
 File types. More...
 
typedef enum rpmfileState_e rpmfileState
 File States (when installed). More...
 
typedef enum rpmfileAttrs_e rpmfileAttrs
 File Attributes. More...
 
typedef struct rpmfi_s * rpmfi
 File info tag sets from a header, so that a header can be discarded early. More...
 

Enumerations

enum  rpmFileTypes_e {
  PIPE = 1, CDEV = 2, XDIR = 4, BDEV = 6,
  REG = 8, LINK = 10, SOCK = 12
}
 File types. More...
 
enum  rpmfileState_e {
  RPMFILE_STATE_NORMAL = 0, RPMFILE_STATE_REPLACED = 1, RPMFILE_STATE_NOTINSTALLED = 2, RPMFILE_STATE_NETSHARED = 3,
  RPMFILE_STATE_WRONGCOLOR = 4
}
 File States (when installed). More...
 
enum  rpmfileAttrs_e {
  RPMFILE_NONE = 0, RPMFILE_CONFIG = (1 << 0), RPMFILE_DOC = (1 << 1), RPMFILE_ICON = (1 << 2),
  RPMFILE_MISSINGOK = (1 << 3), RPMFILE_NOREPLACE = (1 << 4), RPMFILE_SPECFILE = (1 << 5), RPMFILE_GHOST = (1 << 6),
  RPMFILE_LICENSE = (1 << 7), RPMFILE_README = (1 << 8), RPMFILE_EXCLUDE = (1 << 9), RPMFILE_UNPATCHED = (1 << 10),
  RPMFILE_PUBKEY = (1 << 11), RPMFILE_POLICY = (1 << 12), RPMFILE_EXISTS = (1 << 13), RPMFILE_SPARSE = (1 << 14),
  RPMFILE_TYPED = (1 << 15), RPMFILE_SOURCE = (1 << 16), RPMFILE_PATCH = (1 << 17), RPMFILE_OPTIONAL = (1 << 18),
  RPMFILE_REMOVE = (1 << 19)
}
 File Attributes. More...
 

Variables

int _rpmfi_debug
 

RPMFI

#define rpmfiUnlink(_fi, _msg)   ((rpmfi) rpmioUnlinkPoolItem((rpmioItem)(_fi), _msg, __FILE__, __LINE__))
 
#define rpmfiLink(_fi, _msg)   ((rpmfi) rpmioLinkPoolItem((rpmioItem)(_fi), _msg, __FILE__, __LINE__))
 
#define rpmfiFree(_fi)   ((rpmfi) rpmioFreePoolItem((rpmioItem)(_fi), __FUNCTION__, __FILE__, __LINE__))
 
rpmfi rpmfiUnlink (rpmfi fi, const char *msg)
 Unreference a file info set instance. More...
 
rpmfi rpmfiLink (rpmfi fi, const char *msg)
 Reference a file info set instance. More...
 
int rpmfiFC (rpmfi fi)
 Return file count from file info set. More...
 
int rpmfiFX (rpmfi fi)
 Return current file index from file info set. More...
 
int rpmfiSetFX (rpmfi fi, int fx)
 Set current file index in file info set. More...
 
int rpmfiDC (rpmfi fi)
 Return directory count from file info set. More...
 
int rpmfiDX (rpmfi fi)
 Return current directory index from file info set. More...
 
int rpmfiSetDX (rpmfi fi, int dx)
 Set current directory index in file info set. More...
 
int rpmfiIsSource (rpmfi fi)
 Return source rpm marker from file info set. More...
 
const char * rpmfiBN (rpmfi fi)
 Return current base name from file info set. More...
 
const char * rpmfiDN (rpmfi fi)
 Return current directory name from file info set. More...
 
const char * rpmfiFN (rpmfi fi)
 Return current file name from file info set. More...
 
size_t rpmfiFNMaxLen (rpmfi fi)
 Return maximum file name length from file info set. More...
 
rpmuint32_t rpmfiFFlags (rpmfi fi)
 Return current file flags from file info set. More...
 
rpmuint32_t rpmfiSetFFlags (rpmfi fi, rpmuint32_t FFlags)
 Set current file flags in file info set. More...
 
rpmuint32_t rpmfiVFlags (rpmfi fi)
 Return current file verify flags from file info set. More...
 
rpmuint32_t rpmfiSetVFlags (rpmfi fi, rpmuint32_t VFlags)
 Set current file verify flags in file info set. More...
 
rpmuint16_t rpmfiFMode (rpmfi fi)
 Return current file mode from file info set. More...
 
rpmfileState rpmfiFState (rpmfi fi)
 Return current file state from file info set. More...
 
rpmfileState rpmfiSetFState (rpmfi fi, rpmfileState fstate)
 Set current file state in file info set. More...
 
const unsigned char * rpmfiDigest (rpmfi fi, int *algop, size_t *lenp)
 Return current file (binary) digest from file info set. More...
 
const char * rpmfiFLink (rpmfi fi)
 Return current file linkto (i.e. More...
 
rpmuint32_t rpmfiFSize (rpmfi fi)
 Return current file size from file info set. More...
 
rpmuint16_t rpmfiFRdev (rpmfi fi)
 Return current file rdev from file info set. More...
 
rpmuint32_t rpmfiFInode (rpmfi fi)
 Return current file inode from file info set. More...
 
rpmuint32_t rpmfiColor (rpmfi fi)
 Return union of all file color bits from file info set. More...
 
rpmuint32_t rpmfiFColor (rpmfi fi)
 Return current file color bits from file info set. More...
 
const char * rpmfiFClass (rpmfi fi)
 Return current file class from file info set. More...
 
const char * rpmfiFContext (rpmfi fi)
 Return current file security context from file info set. More...
 
rpmuint32_t rpmfiFDepends (rpmfi fi, const rpmuint32_t **fddictp)
 Return current file depends dictionary from file info set. More...
 
rpmuint32_t rpmfiFNlink (rpmfi fi)
 Return (calculated) current file nlink count from file info set. More...
 
rpmuint32_t rpmfiFMtime (rpmfi fi)
 Return current file modify time from file info set. More...
 
const char * rpmfiFUser (rpmfi fi)
 Return current file owner from file info set. More...
 
const char * rpmfiFGroup (rpmfi fi)
 Return current file group from file info set. More...
 
void * rpmfiBloomFN (const rpmfi fi)
 Return file path Bloom filter. More...
 
void * rpmfiExclude (const rpmfi fi)
 Return file info exclude patterns. More...
 
int rpmfiNExclude (const rpmfi fi)
 Return no. More...
 
void * rpmfiInclude (const rpmfi fi)
 Return file info include patterns. More...
 
int rpmfiNInclude (const rpmfi fi)
 Return no. More...
 
void * rpmfiFNBF (rpmfi fi)
 Return FN Bloom filter from file info set. More...
 
int rpmfiNext (rpmfi fi)
 Return next file iterator index. More...
 
rpmfi rpmfiInit (rpmfi fi, int fx)
 Initialize file iterator index. More...
 
int rpmfiNextD (rpmfi fi)
 Return next directory iterator index. More...
 
rpmfi rpmfiInitD (rpmfi fi, int dx)
 Initialize directory iterator index. More...
 
int rpmfiSetHeader (rpmfi fi, Header h)
 Link a header to a file info set. More...
 
rpmfi rpmfiFree (rpmfi fi)
 Destroy a file info set. More...
 
rpmfi rpmfiNew (const void *_ts, Header h, rpmTag tagN, int flags)
 Create and load a file info set. More...
 
int rpmfiFStat (rpmfi fi, struct stat *st)
 Return current stat(2) data from file info set. More...
 
int rpmfiStat (rpmfi fi, const char *path, struct stat *st)
 Return lstat(2) data of path from file info set. More...
 
void * rpmfiOpendir (rpmfi fi, const char *name)
 Return directory stream onto file info set. More...
 
void rpmfiBuildFClasses (Header h, const char ***fclassp, rpmuint32_t *fcp)
 Retrieve file classes from header. More...
 
void rpmfiBuildFDeps (Header h, rpmTag tagN, const char ***fdepsp, rpmuint32_t *fcp)
 Retrieve per-file dependencies from header. More...
 
int rpmfiCompare (const rpmfi afi, const rpmfi bfi)
 Return file info comparison. More...
 
int rpmfiDecideFate (const rpmfi ofi, rpmfi nfi, int skipMissing)
 Return file disposition. More...
 
const char * rpmfiTypeString (rpmfi fi)
 Return formatted string representation of package disposition. More...
 
rpmRelocation rpmfiFreeRelocations (rpmRelocation relocs)
 Free relocation array. More...
 
rpmRelocation rpmfiDupeRelocations (rpmRelocation relocs, int *nrelocsp)
 Duplicate a relocation array. More...
 
int rpmfiAddRelocation (rpmRelocation *relp, int *nrelp, const char *oldPath, const char *newPath)
 Add relocation element to array. More...
 

Detailed Description

Structure(s) used for file info tag sets.

Definition in file rpmfi.h.

Macro Definition Documentation

§ rpmfiFree

#define rpmfiFree (   _fi)    ((rpmfi) rpmioFreePoolItem((rpmioItem)(_fi), __FUNCTION__, __FILE__, __LINE__))

Definition at line 685 of file rpmfi.h.

§ RPMFILE_ALL

#define RPMFILE_ALL   ~(RPMFILE_NONE)

Definition at line 73 of file rpmfi.h.

§ RPMFILE_SPOOK

#define RPMFILE_SPOOK   (RPMFILE_GHOST|RPMFILE_TYPED)

Definition at line 72 of file rpmfi.h.

§ RPMFILE_STATE_MISSING

#define RPMFILE_STATE_MISSING   -1 /* XXX used for unavailable data */

Definition at line 41 of file rpmfi.h.

Referenced by rpmfiFState(), rpmteHaveTransScript(), and showQueryPackage().

§ rpmfiLink

#define rpmfiLink (   _fi,
  _msg 
)    ((rpmfi) rpmioLinkPoolItem((rpmioItem)(_fi), _msg, __FILE__, __LINE__))

Definition at line 278 of file rpmfi.h.

§ rpmfiUnlink

#define rpmfiUnlink (   _fi,
  _msg 
)    ((rpmfi) rpmioUnlinkPoolItem((rpmioItem)(_fi), _msg, __FILE__, __LINE__))

Definition at line 266 of file rpmfi.h.

Typedef Documentation

§ rpmfi

typedef struct rpmfi_s* rpmfi

File info tag sets from a header, so that a header can be discarded early.

Definition at line 78 of file rpmfi.h.

§ rpmfileAttrs

File Attributes.

§ rpmfileState

File States (when installed).

§ rpmFileTypes

File types.

These are the file types used internally by rpm. The file type is determined by applying stat(2) macros like S_ISDIR to the file mode tag from a header. The values are arbitrary, but are identical to the linux stat(2) file types.

Enumeration Type Documentation

§ rpmfileAttrs_e

File Attributes.

Enumerator
RPMFILE_NONE 
RPMFILE_CONFIG 

from %config

RPMFILE_DOC 

from %doc

RPMFILE_ICON 

from Icon:

RPMFILE_MISSINGOK 

from %config(missingok)

RPMFILE_NOREPLACE 

from %config(noreplace)

RPMFILE_SPECFILE 

the specfile (srpm only).

RPMFILE_GHOST 

from %ghost

RPMFILE_LICENSE 

from %license

RPMFILE_README 

from %readme

RPMFILE_EXCLUDE 

from %exclude, internal

RPMFILE_UNPATCHED 

(deprecated) placeholder (SuSE)

RPMFILE_PUBKEY 

from %pubkey

RPMFILE_POLICY 

from %policy

RPMFILE_EXISTS 

did lstat(fn, st) succeed?

RPMFILE_SPARSE 

was ((512*st->st_blocks) < st->st_size) ?

RPMFILE_TYPED 

(unimplemented) from %spook

RPMFILE_SOURCE 

from SourceN: (srpm only).

RPMFILE_PATCH 

from PatchN: (srpm only).

RPMFILE_OPTIONAL 

from %optional.

RPMFILE_REMOVE 

remove file (after post).

Definition at line 46 of file rpmfi.h.

§ rpmfileState_e

File States (when installed).

Enumerator
RPMFILE_STATE_NORMAL 
RPMFILE_STATE_REPLACED 
RPMFILE_STATE_NOTINSTALLED 
RPMFILE_STATE_NETSHARED 
RPMFILE_STATE_WRONGCOLOR 

Definition at line 34 of file rpmfi.h.

§ rpmFileTypes_e

File types.

These are the file types used internally by rpm. The file type is determined by applying stat(2) macros like S_ISDIR to the file mode tag from a header. The values are arbitrary, but are identical to the linux stat(2) file types.

Enumerator
PIPE 

pipe/fifo

CDEV 

character device

XDIR 

directory

BDEV 

block device

REG 

regular file

LINK 

hard link

SOCK 

socket

Definition at line 21 of file rpmfi.h.

Function Documentation

§ rpmfiAddRelocation()

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 1726 of file rpmfi.c.

References xrealloc, and xstrdup().

Referenced by installArgCallback(), and main().

§ rpmfiBloomFN()

void* rpmfiBloomFN ( const rpmfi  fi)

Return file path Bloom filter.

Parameters
fifile info set
Returns
file path Bloom filter (NULL if not set)

Definition at line 482 of file rpmfi.c.

§ rpmfiBN()

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 141 of file rpmfi.c.

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

§ rpmfiBuildFClasses()

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 1878 of file rpmfi.c.

References _free(), alloca(), rpmfiFC(), rpmfiFClass(), rpmfiFContext(), rpmfiFMode(), rpmfiFN(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), rpmGetPath(), RPMTAG_BASENAMES, stpcpy(), xmalloc, and xrealloc.

Referenced by fileclassTag().

§ rpmfiBuildFDeps()

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 2137 of file rpmfi.c.

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

Referenced by fileprovideTag(), and filerequireTag().

§ rpmfiColor()

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 361 of file rpmfi.c.

§ rpmfiCompare()

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 637 of file rpmfi.c.

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

Referenced by handleInstInstalledFile(), and handleOverlappedFiles().

§ rpmfiDC()

int rpmfiDC ( rpmfi  fi)

Return directory count from file info set.

Parameters
fifile info set
Returns
current directory count

Definition at line 92 of file rpmfi.c.

Referenced by rpmfi_DC(), rpmfi_DC_get(), and rpmtsSkipFiles().

§ rpmfiDecideFate()

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 disposition

Definition at line 671 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().

§ rpmfiDigest()

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 300 of file rpmfi.c.

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

§ rpmfiDN()

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 152 of file rpmfi.c.

Referenced by handleInstInstalledFile(), rpmfi_DN(), rpmfi_DN_get(), rpmtsSkipFiles(), and runScriptTriggersLoop().

§ rpmfiDupeRelocations()

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 1751 of file rpmfi.c.

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

Referenced by addTE().

§ rpmfiDX()

int rpmfiDX ( rpmfi  fi)

Return current directory index from file info set.

Parameters
fifile info set
Returns
current directory index

Definition at line 120 of file rpmfi.c.

Referenced by rpmfi_DX(), rpmfi_DX_get(), rpmfi_DX_set(), and rpmtsSkipFiles().

§ rpmfiExclude()

void* rpmfiExclude ( const rpmfi  fi)

Return file info exclude patterns.

Parameters
fifile info set
Returns
file info exclude patterns (NULL if not set)

Definition at line 489 of file rpmfi.c.

§ rpmfiFC()

int rpmfiFC ( rpmfi  fi)

§ rpmfiFClass()

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 383 of file rpmfi.c.

Referenced by rpmfi_FClass(), rpmfi_FClass_get(), and rpmfiBuildFClasses().

§ rpmfiFColor()

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 371 of file rpmfi.c.

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

§ rpmfiFContext()

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 395 of file rpmfi.c.

Referenced by rpmfiBuildFClasses().

§ rpmfiFDepends()

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 406 of file rpmfi.c.

Referenced by rpmfiBuildFDeps(), and rpmteColorDS().

§ rpmfiFFlags()

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 217 of file rpmfi.c.

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

§ rpmfiFGroup()

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 470 of file rpmfi.c.

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

§ rpmfiFInode()

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 350 of file rpmfi.c.

Referenced by rpmfi_iternext().

§ rpmfiFLink()

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 317 of file rpmfi.c.

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

§ rpmfiFMode()

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 265 of file rpmfi.c.

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

§ rpmfiFMtime()

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 447 of file rpmfi.c.

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

§ rpmfiFN()

const char* rpmfiFN ( rpmfi  fi)

§ rpmfiFNBF()

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 181 of file rpmfi.c.

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

Referenced by packagedDir(), and rpmalAdd().

§ rpmfiFNlink()

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 427 of file rpmfi.c.

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

§ rpmfiFNMaxLen()

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 212 of file rpmfi.c.

Referenced by pkgUnpackagedSubdirs().

§ rpmfiFRdev()

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 339 of file rpmfi.c.

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

§ rpmfiFree()

rpmfi rpmfiFree ( rpmfi  fi)

§ rpmfiFreeRelocations()

rpmRelocation rpmfiFreeRelocations ( rpmRelocation  relocs)

Free relocation array.

Parameters
relocsrelocation array
Returns
NULL always

Definition at line 1738 of file rpmfi.c.

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

Referenced by delTE(), and main().

§ rpmfiFSize()

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 328 of file rpmfi.c.

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

§ rpmfiFStat()

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 1776 of file rpmfi.c.

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

Referenced by rpmfiStat().

§ rpmfiFState()

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 276 of file rpmfi.c.

References RPMFILE_STATE_MISSING.

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

§ rpmfiFUser()

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 458 of file rpmfi.c.

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

§ rpmfiFX()

int rpmfiFX ( rpmfi  fi)

Return current file index from file info set.

Parameters
fifile info set
Returns
current file index

Definition at line 103 of file rpmfi.c.

Referenced by handleInstInstalledFile(), rpmfi_FX(), rpmfi_FX_get(), and rpmfi_FX_set().

§ rpmfiInclude()

void* rpmfiInclude ( const rpmfi  fi)

Return file info include patterns.

Parameters
fifile info set
Returns
file info include patterns (NULL if not set)

Definition at line 499 of file rpmfi.c.

§ rpmfiInit()

rpmfi rpmfiInit ( rpmfi  fi,
int  fx 
)

§ rpmfiInitD()

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 582 of file rpmfi.c.

Referenced by rpmtsSkipFiles().

§ rpmfiIsSource()

int rpmfiIsSource ( rpmfi  fi)

Return source rpm marker from file info set.

Parameters
fifile info set
Returns
source rpm?

Definition at line 136 of file rpmfi.c.

§ rpmfiLink()

rpmfi rpmfiLink ( rpmfi  fi,
const char *  msg 
)

Reference a file info set instance.

Parameters
fifile info set
msg
Returns
new file info set reference

Referenced by checkDuplicateFiles(), checkUnpackagedFiles(), mapInitIterator(), packageBinaries(), packageSources(), pkgUnpackagedSubdirs(), rpmfiNew(), rpmpsmNew(), rpmte_FI(), rpmteSetFI(), and rpmtsProcess().

§ rpmfiNew()

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

Create and load a file info set.

Parameters
_tstransaction set (NULL skips path relocation)
hheader
tagNRPMTAG_BASENAMES
flagsscareMem(0x1), nofilter(0x2)
Returns
new file info set

Definition at line 1403 of file rpmfi.c.

References _fdupedata, _fdupestring, _free(), alloca(), rpmDataType_u::argv, argvFree(), _HE_s::c, FA_UNKNOWN, headerFree(), headerGet(), headerIsEntry(), headerLink(), headerMacrosLoad(), headerMacrosUnload(), headerSprintf(), IOSM_MAP_GID, IOSM_MAP_MODE, IOSM_MAP_PATH, IOSM_MAP_UID, newFSM(), rpmRelocation_s::newPath, nibble(), _HE_s::p, PGPHASHALGO_CRC32, PGPHASHALGO_ERROR, PGPHASHALGO_MD2, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD128, PGPHASHALGO_RIPEMD160, PGPHASHALGO_RIPEMD256, PGPHASHALGO_RIPEMD320, PGPHASHALGO_SHA1, PGPHASHALGO_SHA224, PGPHASHALGO_SHA256, PGPHASHALGO_SHA384, PGPHASHALGO_SHA512, rpmDataType_u::ptr, relocateFileList(), rpmfiGetPool(), RPMFILE_ICON, RPMFILE_PATCH, RPMFILE_SOURCE, RPMFILE_SPECFILE, rpmfiLink(), rpmGenPath(), rpmGetPath(), rpmHeaderFormats, RPMTAG_ARCH, RPMTAG_ARCHIVESIZE, RPMTAG_BASENAMES, RPMTAG_CLASSDICT, RPMTAG_DEPENDSDICT, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILECLASS, RPMTAG_FILECOLORS, RPMTAG_FILECONTEXTS, RPMTAG_FILEDEPENDSN, RPMTAG_FILEDEPENDSX, RPMTAG_FILEDIGESTALGO, RPMTAG_FILEDIGESTALGOS, RPMTAG_FILEDIGESTS, RPMTAG_FILEFLAGS, RPMTAG_FILEGROUPNAME, RPMTAG_FILEINODES, RPMTAG_FILELANGS, RPMTAG_FILELINKTOS, RPMTAG_FILEMODES, RPMTAG_FILEMTIMES, RPMTAG_FILERDEVS, RPMTAG_FILESIZES, RPMTAG_FILESTATES, RPMTAG_FILEUSERNAME, RPMTAG_FILEVERIFYFLAGS, RPMTAG_OLDFILENAMES, RPMTAG_ORIGBASENAMES, RPMTAG_POSTTRANS, RPMTAG_POSTTRANSPROG, RPMTAG_PRETRANS, RPMTAG_PRETRANSPROG, RPMTAG_REMOVETID, RPMTAG_RPMVERSION, RPMTAG_SOURCERPM, RPMTAG_VERIFYSCRIPT, RPMTAG_VERIFYSCRIPTPROG, rpmteType(), rpmtsRelocateElement(), rpmtsRootDir(), stpcpy(), _HE_s::tag, TR_ADDED, rpmDataType_u::ui32p, xcalloc(), xmalloc, xrealloc, and xstrdup().

Referenced by addTE(), checkDuplicateFiles(), checkUnpackagedFiles(), dsort(), genCpioListAndHeader(), hdr_fiFromHeader(), pkgUnpackagedSubdirs(), rpmfi_init(), rpmfi_new(), rpmfiBuildFClasses(), rpmfiBuildFDeps(), rpmhdr_fi(), rpmteOpen(), rpmtsCheckInstalledFiles(), rpmtsProcess(), showQueryPackage(), and showVerifyPackage().

§ rpmfiNExclude()

int rpmfiNExclude ( const rpmfi  fi)

Return no.

of file info exclude patterns.

Parameters
fifile info set
Returns
file info exclude patterns (0 if not set)

Definition at line 494 of file rpmfi.c.

§ rpmfiNext()

int rpmfiNext ( rpmfi  fi)

§ rpmfiNextD()

int rpmfiNextD ( rpmfi  fi)

Return next directory iterator index.

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

Definition at line 562 of file rpmfi.c.

Referenced by rpmfi_DX_set(), and rpmtsSkipFiles().

§ rpmfiNInclude()

int rpmfiNInclude ( const rpmfi  fi)

Return no.

of file info include patterns.

Parameters
fifile info set
Returns
file info include patterns (0 if not set)

Definition at line 504 of file rpmfi.c.

§ rpmfiOpendir()

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 1834 of file rpmfi.c.

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

Referenced by dsort().

§ rpmfiSetDX()

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 125 of file rpmfi.c.

Referenced by rpmfi_DX_set().

§ rpmfiSetFFlags()

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 228 of file rpmfi.c.

§ rpmfiSetFState()

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 287 of file rpmfi.c.

§ rpmfiSetFX()

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 108 of file rpmfi.c.

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

§ rpmfiSetHeader()

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 1275 of file rpmfi.c.

References headerFree(), and headerLink().

Referenced by checkDuplicateFiles(), and showVerifyPackage().

§ rpmfiSetVFlags()

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 252 of file rpmfi.c.

§ rpmfiStat()

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 1803 of file rpmfi.c.

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

Referenced by dsort().

§ rpmfiTypeString()

const char* rpmfiTypeString ( rpmfi  fi)

Return formatted string representation of package disposition.

Parameters
fifile info set
Returns
formatted string

Definition at line 767 of file rpmfi.c.

References rpmteType(), TR_ADDED, and TR_REMOVED.

Referenced by fsmStage().

§ rpmfiUnlink()

rpmfi rpmfiUnlink ( rpmfi  fi,
const char *  msg 
)

Unreference a file info set instance.

Parameters
fifile info set
msg
Returns
NULL on last dereference

Referenced by mapFreeIterator().

§ rpmfiVFlags()

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 241 of file rpmfi.c.

Referenced by rpmfi_iternext(), rpmfi_VFlags(), and rpmfi_VFlags_get().

Variable Documentation

§ _rpmfi_debug

int _rpmfi_debug

Definition at line 67 of file rpmfi.c.