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

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

#include <sys/types.h>
#include <rpmtypes.h>
#include <rpmiotypes.h>
#include <rpmtag.h>
#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...
 
voidrpmfiBloomFN (const rpmfi fi)
 Return file path Bloom filter. More...
 
voidrpmfiExclude (const rpmfi fi)
 Return file info exclude patterns. More...
 
int rpmfiNExclude (const rpmfi fi)
 Return no. More...
 
voidrpmfiInclude (const rpmfi fi)
 Return file info include patterns. More...
 
int rpmfiNInclude (const rpmfi fi)
 Return no. More...
 
voidrpmfiFNBF (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...
 
voidrpmfiOpendir (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

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

Definition at line 690 of file rpmfi.h.

#define RPMFILE_ALL   ~(RPMFILE_NONE)

Definition at line 78 of file rpmfi.h.

#define RPMFILE_SPOOK   (RPMFILE_GHOST|RPMFILE_TYPED)

Definition at line 77 of file rpmfi.h.

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

Definition at line 46 of file rpmfi.h.

Referenced by rpmfiFState(), and showQueryPackage().

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

Definition at line 283 of file rpmfi.h.

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

Definition at line 271 of file rpmfi.h.

Typedef Documentation

File Attributes.

File States (when installed).

Enumeration Type Documentation

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 51 of file rpmfi.h.

File States (when installed).

Enumerator
RPMFILE_STATE_NORMAL 
RPMFILE_STATE_REPLACED 
RPMFILE_STATE_NOTINSTALLED 
RPMFILE_STATE_NETSHARED 
RPMFILE_STATE_WRONGCOLOR 

Definition at line 39 of file rpmfi.h.

Function Documentation

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

References NULL.

Referenced by arSetup(), handleInstInstalledFile(), rpmfi_BN_get(), 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 1878 of file rpmfi.c.

References _free(), ac, av, exit, fi, nb, NULL, rpmfiFC(), rpmfiFClass(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), RPMTAG_BASENAMES, stpcpy(), t, 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 2137 of file rpmfi.c.

References _free(), ac, av, ds, exit, ix, nb, NULL, rpmdsDNEVR(), rpmdsFree(), rpmdsNew(), rpmdsNext(), rpmdsSetIx(), rpmfiFC(), rpmfiFDepends(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), RPMTAG_BASENAMES, RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME, stpcpy(), t, void, 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 361 of file rpmfi.c.

References NULL.

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, NULL, REG, rpmfiDigest(), rpmfiFLink(), rpmfiFMode(), rpmfiWhatis(), and strcmp().

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

References NULL.

Referenced by rpmfi_DC_get(), 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 disposition

Definition at line 671 of file rpmfi.c.

References D_, dodigest(), FA_ALTNAME, FA_CREATE, FA_SAVE, FA_SKIP, fn, LINK, Lstat(), memset(), NULL, Readlink(), REG, rpmfiDigest(), rpmfiFFlags(), rpmfiFLink(), rpmfiFMode(), rpmfiFN(), RPMFILE_MISSINGOK, RPMFILE_NOREPLACE, RPMFILE_SPARSE, rpmfiWhatis(), rpmlog(), RPMLOG_DEBUG, strcmp(), 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 300 of file rpmfi.c.

References digest, and NULL.

Referenced by handleOverlappedFiles(), rpmfi_FDigest_get(), 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 152 of file rpmfi.c.

References NULL.

Referenced by handleInstInstalledFile(), rpmfi_DN_get(), 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 1751 of file rpmfi.c.

References i, rpmRelocation_s::newPath, NULL, 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 120 of file rpmfi.c.

References NULL.

Referenced by rpmfi_DX_get(), rpmfi_DX_set(), 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 383 of file rpmfi.c.

References NULL.

Referenced by rpmfi_FClass_get(), 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 371 of file rpmfi.c.

References NULL.

Referenced by handleInstInstalledFile(), handleOverlappedFiles(), rpmfi_FColor_get(), 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 395 of file rpmfi.c.

References NULL.

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.

References NULL.

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

References NULL.

Referenced by handleInstInstalledFile(), handleOverlappedFiles(), rpmfcGenerateDepends(), rpmfi_FFlags_get(), 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 470 of file rpmfi.c.

References NULL.

Referenced by rpmfi_FGroup_get(), and showQueryPackage().

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.

References NULL.

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.

References NULL.

Referenced by rpmfi_FLink_get(), 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 265 of file rpmfi.c.

References NULL.

Referenced by fiIntersect(), handleOverlappedFiles(), rpmfcGenerateDepends(), rpmfi_FMode_get(), 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 447 of file rpmfi.c.

References NULL.

Referenced by rpmfi_FMtime_get(), and showQueryPackage().

const char* rpmfiFN ( rpmfi  fi)

Return current file name from file info set.

Parameters
fifile info set
Returns
current file name

Definition at line 163 of file rpmfi.c.

References NULL, stpcpy(), t, urlPath(), void, and xmalloc.

Referenced by _rpmtsCheck(), checkUnpackagedFiles(), fiIntersect(), handleOverlappedFiles(), pkgUnpackagedSubdirs(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_FN_get(), rpmfiDecideFate(), rpmfiOpendir(), rpmfiStat(), rpmInstallSourcePackage(), and showQueryPackage().

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(), assert(), fn, i, int, k, m, n, NULL, stpcpy(), urlPath(), void, and xx.

Referenced by packagedDir(), and rpmalAdd().

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.

References int, j, and NULL.

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

Referenced by pkgUnpackagedSubdirs().

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.

References NULL.

Referenced by rpmfi_FRdev_get(), and showQueryPackage().

rpmfi rpmfiFree ( rpmfi  fi)
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, NULL, 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 328 of file rpmfi.c.

References NULL.

Referenced by handleInstInstalledFile(), handleOverlappedFiles(), rpmfi_FSize_get(), 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 1776 of file rpmfi.c.

References gnameToGid(), if(), int, memset(), NULL, rc, 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 276 of file rpmfi.c.

References NULL, and RPMFILE_STATE_MISSING.

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

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.

References NULL.

Referenced by rpmfi_FUser_get(), 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 103 of file rpmfi.c.

References NULL.

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

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

References fi, and NULL.

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

References NULL.

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(), packageBinaries(), packageSources(), pkgUnpackagedSubdirs(), rpmalAdd(), rpmfiNew(), rpmpsmNew(), rpmteSetFI(), and rpmtsProcess().

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(), assert(), av, b, be, _HE_s::c, exit, FA_UNKNOWN, fi, fprintf(), headerFree, headerGet(), headerIsEntry(), headerLink(), headerMacrosLoad(), headerMacrosUnload(), headerSprintf(), i, int, IOSM_MAP_GID, IOSM_MAP_MODE, IOSM_MAP_PATH, IOSM_MAP_UID, j, memset(), nb, newFSM(), rpmRelocation_s::newPath, nibble(), NULL, p, _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(), strcmp(), t, _HE_s::tag, te, TR_ADDED, rpmDataType_u::ui32p, void, xcalloc(), xmalloc, xrealloc, xstrdup(), and xx.

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

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

References fprintf(), j, and NULL.

Referenced by rpmfi_DX_set(), and 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 1834 of file rpmfi.c.

References _free(), argvAdd(), argvFree(), fn, fprintf(), i, j, name, NULL, rpmfiFN(), rpmfiInit(), rpmfiNext(), xcalloc(), and xx.

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.

References j, and NULL.

Referenced by rpmfi_DX_set().

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.

References NULL.

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.

References NULL.

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.

References i, and NULL.

Referenced by handleOverlappedFiles(), rpmfi_FX_set(), 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 1275 of file rpmfi.c.

References headerFree, headerLink(), NULL, and void.

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

References NULL.

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 fn, fprintf(), i, NULL, rc, 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 767 of file rpmfi.c.

References rpmteType(), TR_ADDED, and TR_REMOVED.

Referenced by fsmStage().

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().

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.

References NULL.

Referenced by rpmfi_VFlags_get().

Variable Documentation

int _rpmfi_debug

Definition at line 67 of file rpmfi.c.