rpmfi.h File Reference
RPMFI File Info API.

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

`#include "mire.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 * | 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...
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...
DIR * | 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 | rpmfiBuildFContexts (Header h, const char ***fcontextp, rpmuint32_t *fcp)
| Retrieve file security contexts from header. More...
void | rpmfiBuildFSContexts (Header h, const char ***fcontextp, rpmuint32_t *fcp)
| Retrieve file security contexts from file system. More...
void | rpmfiBuildREContexts (Header h, const char ***fcontextp, rpmuint32_t *fcp)
| Retrieve file security contexts from policy RE's. 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 650 of file rpmfi.h.

#define RPMFILE_ALL ~(RPMFILE_NONE)

Definition at line 73 of file rpmfi.h.

#define RPMFILE_SPOOK (RPMFILE_GHOST|RPMFILE_TYPED)

Definition at line 72 of file rpmfi.h.

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

Definition at line 41 of file rpmfi.h.

Referenced by rpmfiFState(), and showQueryPackage().

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

Definition at line 276 of file rpmfi.h.

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

Definition at line 264 of file rpmfi.h.

## Typedef Documentation

typedef enum rpmfileAttrs_e rpmfileAttrs

File Attributes.

typedef enum rpmfileState_e rpmfileState

File States (when installed).

## Enumeration Type Documentation

enum 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.

enum 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.

## Function Documentation

int rpmfiAddRelocation | ( | rpmRelocation * | relp,
|  | int * | nrelp,
|  | const char * | oldPath,
|  | const char * | newPath
| ) |  |

Add relocation element to array.

Return values

  *relocations | relocation array
  *nrelocations | no. of elements

Parameters

  oldPath | old path
  newPath | new path

Returns
  0 on success

Definition at line 1654 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

  fi | file info set

Returns
  current base name, NULL on invalid

Definition at line 128 of file rpmfi.c.

Referenced by arSetup(), handleInstInstalledFiles(), rpmalAdd(), rpmfi_BN(), and skipFiles().

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

  h | header

Return values

  *fclassp | array of file classes
  *fcp | number of files

Definition at line 1806 of file rpmfi.c.

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

Referenced by fileclassTag().

void rpmfiBuildFContexts | ( | Header | h,
|  | const char *** | fcontextp,
|  | rpmuint32_t * | fcp
| ) |  |

Retrieve file security contexts from header.

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

Parameters

  h | header

Return values

  *fcontextp | array of file contexts
  *fcp | number of files

Definition at line 1858 of file rpmfi.c.

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

Referenced by filecontextsTag().

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

  h | header
  tagN | RPMTAG_PROVIDENAME | RPMTAG_REQUIRENAME

Return values

  *fdepsp | array of file dependencies
  *fcp | number of files

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

void rpmfiBuildFSContexts | ( | Header | h,
|  | const char *** | fcontextp,
|  | rpmuint32_t * | fcp
| ) |  |

Retrieve file security contexts from file system.

This function is used to retrieve file contexts from the file system.

Parameters

  h | header

Return values

  *fcontextp | array of file contexts
  *fcp | number of files

Definition at line 1910 of file rpmfi.c.

References _free(), alloca(), freecon, lgetfilecon, rpmfiFC(), rpmfiFN(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), RPMTAG_BASENAMES, xmalloc(), and xrealloc().

Referenced by fscontextsTag().

void rpmfiBuildREContexts | ( | Header | h,
|  | const char *** | fcontextp,
|  | rpmuint32_t * | fcp
| ) |  |

Retrieve file security contexts from policy RE's.

This function is used to retrieve file contexts from policy RE's.

Parameters

  h | header

Return values

  *fcontextp | array of file contexts
  *fcp | number of files

Definition at line 1978 of file rpmfi.c.

References _free(), alloca(), freecon, matchpathcon, matchpathcon_fini, matchpathcon_init, rpmfiFC(), rpmfiFMode(), rpmfiFN(), rpmfiFree(), rpmfiInit(), rpmfiNew(), rpmfiNext(), rpmGetPath(), RPMTAG_BASENAMES, xmalloc(), and xrealloc().

Referenced by recontextsTag().

rpmuint32_t rpmfiColor | ( | rpmfi | fi | ) |

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

Parameters

  fi | file info set

Returns
  current color

Definition at line 319 of file rpmfi.c.

int rpmfiCompare | ( | const rpmfi | afi,
|  | const rpmfi | bfi
| ) |  |

Return file info comparison.

Parameters

  afi | 1st file info
  bfi | 2nd file info

Returns
  0 if identical

Definition at line 571 of file rpmfi.c.

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

Referenced by handleInstInstalledFiles(), and handleOverlappedFiles().

int rpmfiDC | ( | rpmfi | fi | ) |

Return directory count from file info set.

Parameters

  fi | file info set

Returns
  current directory count

Definition at line 79 of file rpmfi.c.

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

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

Return file disposition.

Parameters

  ofi | old file info
  nfi | new file info
  skipMissing | OK to skip missing files?

Returns
  file dispostion

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

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

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

Parameters

  fi | file info set

Return values

  *algop | digest algorithm
  *lenp | digest length (in bytes)

Returns
  current file digest, NULL on invalid

Definition at line 258 of file rpmfi.c.

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

const char* rpmfiDN | ( | rpmfi | fi | ) |

Return current directory name from file info set.

Parameters

  fi | file info set

Returns
  current directory, NULL on invalid

Definition at line 139 of file rpmfi.c.

Referenced by handleInstInstalledFiles(), rpmalAdd(), rpmalDel(), rpmfi_DN(), and skipFiles().

rpmRelocation rpmfiDupeRelocations | ( | rpmRelocation | relocs,
|  | int * | nrelocsp
| ) |  |

Duplicate a relocation array.

Parameters

  relocs | relocation array

Return values

  *nrelocsp | no. of elements

Returns
  duplicate relocation array

Definition at line 1679 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

  fi | file info set

Returns
  current directory index

Definition at line 107 of file rpmfi.c.

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

int rpmfiFC | ( | rpmfi | fi | ) |

Return file count from file info set.

Parameters

  fi | file info set

Returns
  current file count

Definition at line 74 of file rpmfi.c.

Referenced by handleOverlappedFiles(), mapFind(), markReplacedFiles(), pkgUnpackagedSubdirs(), postPopulateInstallHeader(), rpmalAdd(), rpmalDel(), rpmfcGenerateDepends(), rpmfi_FC(), rpmfi_length(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmpsmStage(), rpmteColorDS(), rpmtsCheckDSIProblems(), rpmtsRun(), and showQueryPackage().

const char* rpmfiFClass | ( | rpmfi | fi | ) |

Return current file class from file info set.

Parameters

  fi | file info set

Returns
  current file class, 0 on invalid

Definition at line 341 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

  fi | file info set

Returns
  current file color

Definition at line 329 of file rpmfi.c.

Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmalAdd(), rpmfi_FColor(), rpmteColorDS(), and skipFiles().

const char* rpmfiFContext | ( | rpmfi | fi | ) |

Return current file security context from file info set.

Parameters

  fi | file info set

Returns
  current file context, 0 on invalid

Definition at line 353 of file rpmfi.c.

Referenced by rpmfiBuildFContexts().

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

Return current file depends dictionary from file info set.

Parameters

  fi | file info set

Return values

  *fddictp | file depends dictionary array (or NULL)

Returns
  no. of file depends entries, 0 on invalid

Definition at line 364 of file rpmfi.c.

Referenced by rpmfiBuildFDeps(), and rpmteColorDS().

rpmuint32_t rpmfiFFlags | ( | rpmfi | fi | ) |

Return current file flags from file info set.

Parameters

  fi | file info set

Returns
  current file flags, 0 on invalid

Definition at line 175 of file rpmfi.c.

Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmfcGenerateDepends(), rpmfi_FFlags(), rpmfi_iternext(), rpmfiDecideFate(), rpmtsRun(), rpmVerifyFile(), showQueryPackage(), skipFiles(), and verifyHeader().

const char* rpmfiFGroup | ( | rpmfi | fi | ) |

Return current file group from file info set.

Parameters

  fi | file info set

Returns
  current file group, NULL on invalid

Definition at line 428 of file rpmfi.c.

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

rpmuint32_t rpmfiFInode | ( | rpmfi | fi | ) |

Return current file inode from file info set.

Parameters

  fi | file info set

Returns
  current file inode, 0 on invalid

Definition at line 308 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

  fi | file info set

Returns
  current file linkto, NULL on invalid

Definition at line 275 of file rpmfi.c.

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

rpmuint16_t rpmfiFMode | ( | rpmfi | fi | ) |

Return current file mode from file info set.

Parameters

  fi | file info set

Returns
  current file mode, 0 on invalid

Definition at line 223 of file rpmfi.c.

Referenced by fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), rpmfcGenerateDepends(), rpmfi_FMode(), rpmfi_iternext(), rpmfiBuildREContexts(), rpmfiCompare(), rpmfiDecideFate(), rpmVerifyFile(), showQueryPackage(), and skipFiles().

rpmuint32_t rpmfiFMtime | ( | rpmfi | fi | ) |

Return current file modify time from file info set.

Parameters

  fi | file info set

Returns
  current file modify time, 0 on invalid

Definition at line 405 of file rpmfi.c.

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

const char* rpmfiFN | ( | rpmfi | fi | ) |

Return current file name from file info set.

Parameters

  fi | file info set

Returns
  current file name

Definition at line 150 of file rpmfi.c.

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

Referenced by checkUnpackagedFiles(), fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), pkgUnpackagedSubdirs(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_FN(), rpmfi_iternext(), rpmfi_print(), rpmfi_subscript(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiDecideFate(), rpmfiOpendir(), rpmfiStat(), rpmtsCheck(), rpmtsRun(), rpmVerifyFile(), showQueryPackage(), and verifyHeader().

rpmuint32_t rpmfiFNlink | ( | rpmfi | fi | ) |

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

Parameters

  fi | file info set

Returns
  current file nlink count, 0 on invalid

Definition at line 385 of file rpmfi.c.

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

size_t rpmfiFNMaxLen | ( | rpmfi | fi | ) |

Return maximum file name length from file info set.

Parameters

  fi | file info set

Returns
  maximum file name length (not including '\0')

Definition at line 168 of file rpmfi.c.

Referenced by pkgUnpackagedSubdirs().

rpmuint16_t rpmfiFRdev | ( | rpmfi | fi | ) |

Return current file rdev from file info set.

Parameters

  fi | file info set

Returns
  current file rdev, 0 on invalid

Definition at line 297 of file rpmfi.c.

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

rpmfi rpmfiFree | ( | rpmfi | fi | ) |

Destroy a file info set.

Parameters

  fi | file info set

Returns
  NULL on last dereference

Referenced by checkDuplicateFiles(), checkUnpackagedFiles(), delTE(), freePackage(), freeSpec(), genCpioListAndHeader(), handleInstInstalledFiles(), main(), packageBinaries(), packagedDir(), packageSources(), pkgUnpackagedSubdirs(), rpmalDel(), rpmalFree(), rpmfi_dealloc(), rpmfi_free(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmInstallSourcePackage(), rpmpsmFini(), rpmtsRun(), showQueryPackage(), and showVerifyPackage().

rpmRelocation rpmfiFreeRelocations | ( | rpmRelocation | relocs | ) |

Free relocation array.

Parameters

  relocs | relocation array

Returns
  NULL always

Definition at line 1666 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

  fi | file info set

Returns
  current file size, 0 on invalid

Definition at line 286 of file rpmfi.c.

Referenced by handleInstInstalledFiles(), handleOverlappedFiles(), rpmfi_FSize(), rpmfi_iternext(), rpmVerifyFile(), and showQueryPackage().

int rpmfiFStat | ( | rpmfi | fi,
|  | struct stat * | st
| ) |  |

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

Parameters

  fi | file info set

Return values

  *st | stat(2) data

Returns
  -1 on error, 0 on success

Definition at line 1704 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

  fi | file info set

Returns
  current file state, 0 on invalid

Definition at line 234 of file rpmfi.c.

References RPMFILE_STATE_MISSING.

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

const char* rpmfiFUser | ( | rpmfi | fi | ) |

Return current file owner from file info set.

Parameters

  fi | file info set

Returns
  current file owner, NULL on invalid

Definition at line 416 of file rpmfi.c.

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

int rpmfiFX | ( | rpmfi | fi | ) |

Return current file index from file info set.

Parameters

  fi | file info set

Returns
  current file index

Definition at line 90 of file rpmfi.c.

Referenced by rpmfi_FX().

rpmfi rpmfiInit | ( | rpmfi | fi,
|  | int | fx
| ) |  |

Initialize file iterator index.

Parameters

  fi | file info set
  fx | file iterator index

Returns
  file info set

Definition at line 482 of file rpmfi.c.

Referenced by arSetup(), checkUnpackagedFiles(), dnlInitIterator(), fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), pkgUnpackagedSubdirs(), rpmalAdd(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_iternext(), rpmfi_print(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiOpendir(), rpmfiStat(), rpmteColorDS(), rpmtsCheck(), rpmtsRun(), showQueryPackage(), skipFiles(), and verifyHeader().

rpmfi rpmfiInitD | ( | rpmfi | fi,
|  | int | dx
| ) |  |

Initialize directory iterator index.

Parameters

  fi | file info set
  dx | directory iterator index

Returns
  file info set, NULL if dx is out of range

Definition at line 516 of file rpmfi.c.

Referenced by skipFiles().

int rpmfiIsSource | ( | rpmfi | fi | ) |

Return source rpm marker from file info set.

Parameters

  fi | file info set

Returns
  source rpm?

Definition at line 123 of file rpmfi.c.

rpmfi rpmfiLink | ( | rpmfi | fi,
|  | const char * | msg
| ) |  |

Reference a file info set instance.

Parameters

  fi | file info set
  msg |

Returns
  new file info set reference

Referenced by mapInitIterator(), packageBinaries(), packageSources(), rpmalAdd(), rpmfiNew(), rpmInstallSourcePackage(), rpmpsmNew(), rpmte_FI(), rpmtsRun(), and verifyHeader().

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

Create and load a file info set.

Parameters

  _ts | transaction set (NULL skips path relocation)
  h | header
  tagN | RPMTAG_BASENAMES
  flags | scareMem(0x1), nofilter(0x2)

Returns
  new file info set

Definition at line 1333 of file rpmfi.c.

References _fdupedata, _fdupestring, _free(), _rpmfi_debug, 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(), genCpioListAndHeader(), handleInstInstalledFiles(), hdr_fiFromHeader(), packagedDir(), pkgUnpackagedSubdirs(), rpmfi_init(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmInstallSourcePackage(), rpmtsRun(), showQueryPackage(), and showVerifyPackage().

int rpmfiNext | ( | rpmfi | fi | ) |

Return next file iterator index.

Parameters

  fi | file info set

Returns
  file iterator index, -1 on termination

Definition at line 460 of file rpmfi.c.

References _rpmfi_debug.

Referenced by arSetup(), checkUnpackagedFiles(), dnlInitIterator(), fiIntersect(), handleInstInstalledFiles(), handleOverlappedFiles(), packagedDir(), pkgUnpackagedSubdirs(), rpmalAdd(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfi_iternext(), rpmfi_print(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiOpendir(), rpmfiStat(), rpmteColorDS(), rpmtsCheck(), rpmtsRun(), showQueryPackage(), skipFiles(), and verifyHeader().

int rpmfiNextD | ( | rpmfi | fi | ) |

Return next directory iterator index.

Parameters

  fi | file info set

Returns
  directory iterator index, -1 on termination

Definition at line 496 of file rpmfi.c.

References _rpmfi_debug.

Referenced by skipFiles().

DIR* rpmfiOpendir | ( | rpmfi | fi,
|  | const char * | name
| ) |  |

Return directory stream onto file info set.

Parameters

  fi | file info set
  name | directory path

Returns
  NULL on error

Definition at line 1762 of file rpmfi.c.

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

int rpmfiSetDX | ( | rpmfi | fi,
|  | int | dx
| ) |  |

Set current directory index in file info set.

Parameters

  fi | file info set
  dx | new directory index

Returns
  current directory index

Definition at line 112 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

  fi | file info set
  FFlags | new file flags

Returns
  previous file flags, 0 on invalid

Definition at line 186 of file rpmfi.c.

Referenced by rpmtsRun().

rpmfileState rpmfiSetFState | ( | rpmfi | fi,
|  | rpmfileState | fstate
| ) |  |

Set current file state in file info set.

Parameters

  fi | file info set
  fstate | new file state

Returns
  previous file state, 0 on invalid

Definition at line 245 of file rpmfi.c.

int rpmfiSetFX | ( | rpmfi | fi,
|  | int | fx
| ) |  |

Set current file index in file info set.

Parameters

  fi | file info set
  fx | new file index

Returns
  current file index

Definition at line 95 of file rpmfi.c.

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

int rpmfiSetHeader | ( | rpmfi | fi,
|  | Header | h
| ) |  |

Link a header to a file info set.

Parameters

  fi | file info set
  h | header

Returns
  0 always

Definition at line 1209 of file rpmfi.c.

References headerFree(), and headerLink().

Referenced by showVerifyPackage().

rpmuint32_t rpmfiSetVFlags | ( | rpmfi | fi,
|  | rpmuint32_t | VFlags
| ) |  |

Set current file verify flags in file info set.

Parameters

  fi | file info set
  VFlags | new file verify flags

Returns
  previous file verify flags, 0 on invalid

Definition at line 210 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

  fi | file info set
  path | file path

Return values

  *st | stat(2) data

Returns
  -1 on error, 0 on success

Definition at line 1731 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

  fi | file info set

Returns
  formatted string

Definition at line 701 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

  fi | file info set
  msg |

Returns
  NULL on last dereference

Referenced by mapFreeIterator(), rpmalAdd(), and verifyHeader().

rpmuint32_t rpmfiVFlags | ( | rpmfi | fi | ) |

Return current file verify flags from file info set.

Parameters

  fi | file info set

Returns
  current file verify flags, 0 on invalid

Definition at line 199 of file rpmfi.c.

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

## Variable Documentation

int _rpmfi_debug

Definition at line 54 of file rpmfi.c.