rpm: File Info Set API.

rpm 4.20.1 The RPM Package Manager

Loading...
Searching...
No Matches
Files | Typedefs | Enumerations | Functions
File Info Set API.

File Info Set API. More...

## Files
file | rpmfiles.h

## Typedefs
typedef enum rpmFileTypes_e | rpmFileTypes
typedef enum rpmFileAction_e | rpmFileAction

## Enumerations
enum | rpmFileTypes_e { PIPE = 1 , CDEV = 2 , XDIR = 4 , BDEV = 6 , REG = 8 , LINK = 10 , SOCK = 12 }
enum | rpmFileAction_e { FA_UNKNOWN = 0 , FA_CREATE = 1 , FA_COPYIN = 2 , FA_COPYOUT = 3 , FA_BACKUP = 4 , FA_SAVE = 5 , FA_SKIP = 6 , FA_ALTNAME = 7 , FA_ERASE = 8 , FA_SKIPNSTATE = 9 , FA_SKIPNETSHARED = 10 , FA_SKIPCOLOR = 11 , FA_TOUCH = 12 }

## Functions
rpmfiles | rpmfilesNew (rpmstrPool pool, Header h, rpmTagVal tagN, rpmfiFlags flags)
rpmfiles | rpmfilesLink (rpmfiles fi)
rpmfiles | rpmfilesFree (rpmfiles fi)
rpm_count_t | rpmfilesFC (rpmfiles fi)
rpm_count_t | rpmfilesDC (rpmfiles fi)
int | rpmfilesFindFN (rpmfiles files, const char *fn)
int | rpmfilesFindOFN (rpmfiles files, const char *fn)
int | rpmfilesDigestAlgo (rpmfiles fi)
rpm_color_t | rpmfilesColor (rpmfiles files)
int | rpmfilesCompare (rpmfiles afi, int aix, rpmfiles bfi, int bix)
const char * | rpmfilesBN (rpmfiles fi, int ix)
const char * | rpmfilesDN (rpmfiles fi, int jx)
int | rpmfilesDI (rpmfiles fi, int ix)
char * | rpmfilesFN (rpmfiles fi, int ix)
int | rpmfilesODI (rpmfiles fi, int ix)
const char * | rpmfilesOBN (rpmfiles fi, int ix)
const char * | rpmfilesODN (rpmfiles fi, int jx)
char * | rpmfilesOFN (rpmfiles fi, int ix)
rpmVerifyAttrs | rpmfilesVFlags (rpmfiles fi, int ix)
rpmfileState | rpmfilesFState (rpmfiles fi, int ix)
const char * | rpmfilesFLink (rpmfiles fi, int ix)
rpm_loff_t | rpmfilesFSize (rpmfiles fi, int ix)
rpm_color_t | rpmfilesFColor (rpmfiles fi, int ix)
const char * | rpmfilesFClass (rpmfiles fi, int ix)
uint32_t | rpmfilesFDepends (rpmfiles fi, int ix, const uint32_t **fddictp)
uint32_t | rpmfilesFNlink (rpmfiles fi, int ix)
uint32_t | rpmfilesFLinks (rpmfiles fi, int ix, const int **files)
const char * | rpmfilesFLangs (rpmfiles fi, int ix)
rpmfileAttrs | rpmfilesFFlags (rpmfiles fi, int ix)
rpm_mode_t | rpmfilesFMode (rpmfiles fi, int ix)
const unsigned char * | rpmfilesFDigest (rpmfiles fi, int ix, int *algo, size_t *len)
const unsigned char * | rpmfilesFSignature (rpmfiles fi, int ix, size_t *len)
const unsigned char * | rpmfilesVSignature (rpmfiles fi, int ix, size_t *len, uint16_t *algo)
rpm_rdev_t | rpmfilesFRdev (rpmfiles fi, int ix)
rpm_ino_t | rpmfilesFInode (rpmfiles fi, int ix)
rpm_time_t | rpmfilesFMtime (rpmfiles fi, int ix)
const char * | rpmfilesFUser (rpmfiles fi, int ix)
const char * | rpmfilesFGroup (rpmfiles fi, int ix)
const char * | rpmfilesFCaps (rpmfiles fi, int ix)
rpmVerifyAttrs | rpmfilesVerify (rpmfiles fi, int ix, rpmVerifyAttrs omitMask)

## Detailed Description

File Info Set API.

## Typedef Documentation

## ◆ rpmFileAction

typedef enum rpmFileAction_e rpmFileAction

File disposition(s) during package install/erase transaction.

## ◆ rpmFileTypes

typedef enum rpmFileTypes_e 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

## ◆ rpmFileAction_e

enum rpmFileAction_e

File disposition(s) during package install/erase transaction.

Enumerator
FA_UNKNOWN | initial action for file ...
FA_CREATE | ... create from payload.
FA_COPYIN | obsolete, unused.
FA_COPYOUT | obsolete, unused.
FA_BACKUP | ... renamed with ".rpmorig" extension.
FA_SAVE | ... renamed with ".rpmsave" extension.
FA_SKIP | ... already replaced, don't remove.
FA_ALTNAME | ... create with ".rpmnew" extension.
FA_ERASE | ... to be removed.
FA_SKIPNSTATE | ... untouched, state "not installed".
FA_SKIPNETSHARED | ... untouched, state "netshared".
FA_SKIPCOLOR | ... untouched, state "wrong color".
FA_TOUCH | ... change metadata only.

## ◆ rpmFileTypes_e

enum 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

## Function Documentation

## ◆ rpmfilesBN()

const char * rpmfilesBN | ( | rpmfiles | fi,
|  | int | ix )

Return base name from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  base name, NULL on invalid

## ◆ rpmfilesColor()

rpm_color_t rpmfilesColor | ( | rpmfiles | files | ) |

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

Parameters

  files | file info set

Returns
  color

## ◆ rpmfilesCompare()

int rpmfilesCompare | ( | rpmfiles | afi,
|  | int | aix,
|  | rpmfiles | bfi,
|  | int | bix )

Return file info comparison.

Parameters

  afi | 1st file info
  aix | index of the 1st file
  bfi | 2nd file info
  bix | index of the 2nd file

Returns
  0 if identical

## ◆ rpmfilesDC()

rpm_count_t rpmfilesDC | ( | rpmfiles | fi | ) |

Return directory count from file info set.

Parameters

  fi | file info set

Returns
  directory count

## ◆ rpmfilesDI()

int rpmfilesDI | ( | rpmfiles | fi,
|  | int | ix )

Return directory index from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  directory index, -1 on invalid

## ◆ rpmfilesDigestAlgo()

int rpmfilesDigestAlgo | ( | rpmfiles | fi | ) |

Return digest algorithm of a file info set.

Parameters

  fi | file info set

Returns
  digest algorithm of file info set, 0 on invalid

## ◆ rpmfilesDN()

const char * rpmfilesDN | ( | rpmfiles | fi,
|  | int | jx )

Return directory name from file info set. Note the index is on distinct directories within the file set, not a file index. The directory index associated with a given file index can be retrieved with rpmfilesDI(). Ie to constuct the full path of file index X you'd catenate the results of rpmfilesDN(f, rpmfilesDI(f, X)) and rpmfilesBN(f, X).

Parameters

  fi | file info set
  jx | directory index

Returns
  directory, NULL on invalid

## ◆ rpmfilesFC()

rpm_count_t rpmfilesFC | ( | rpmfiles | fi | ) |

Return file count from file info set.

Parameters

  fi | file info set

Returns
  file count

## ◆ rpmfilesFCaps()

const char * rpmfilesFCaps | ( | rpmfiles | fi,
|  | int | ix )

Return textual representation of file capabilities from file info set. See cap_from_text(3) for details.

Parameters

  fi | file info set
  ix | file index

Returns
  file capability description, "" for no capabilities and NULL on invalid

## ◆ rpmfilesFClass()

const char * rpmfilesFClass | ( | rpmfiles | fi,
|  | int | ix )

Return file class from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file class, 0 on invalid

## ◆ rpmfilesFColor()

rpm_color_t rpmfilesFColor | ( | rpmfiles | fi,
|  | int | ix )

Return file color bits from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file color

## ◆ rpmfilesFDepends()

uint32_t rpmfilesFDepends | ( | rpmfiles | fi,
|  | int | ix,
|  | const uint32_t ** | fddictp )

Return file depends dictionary from file info set.

Parameters

  | fi | file info set
  | ix | file index
  [out] | *fddictp | file depends dictionary array (or NULL)

Returns
  no. of file depends entries, 0 on invalid

## ◆ rpmfilesFDigest()

const unsigned char * rpmfilesFDigest | ( | rpmfiles | fi,
|  | int | ix,
|  | int * | algo,
|  | size_t * | len )

Return file (binary) digest of file info set.

Parameters

  | fi | file info set
  | ix | file index
  [out] | algo | digest hash algorithm used (pass NULL to ignore)
  [out] | len | digest hash length (pass NULL to ignore)

Returns
  file digest, NULL on invalid

## ◆ rpmfilesFFlags()

rpmfileAttrs rpmfilesFFlags | ( | rpmfiles | fi,
|  | int | ix )

Return file flags from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file flags, 0 on invalid

## ◆ rpmfilesFGroup()

const char * rpmfilesFGroup | ( | rpmfiles | fi,
|  | int | ix )

Return file group from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file group, NULL on invalid

## ◆ rpmfilesFindFN()

int rpmfilesFindFN | ( | rpmfiles | files,
|  | const char * | fn )

Return file index of the given file name or -1 if file is not in the rpmfi. The file name may have "." prefixed but is then interpreted as a global path without the prefixing "."

Parameters

  files | file info set
  fn | file name

Returns
  file index or -1

## ◆ rpmfilesFindOFN()

int rpmfilesFindOFN | ( | rpmfiles | files,
|  | const char * | fn )

Return file index of the given original file name or -1 if file is not in the rpmfi. The file name may have "." prefixed but is then interpreted as a global path without the prefixing "."

Parameters

  files | file info set
  fn | file name

Returns
  file index or -1

## ◆ rpmfilesFInode()

rpm_ino_t rpmfilesFInode | ( | rpmfiles | fi,
|  | int | ix )

Return file inode from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file inode, 0 on invalid

## ◆ rpmfilesFLangs()

const char * rpmfilesFLangs | ( | rpmfiles | fi,
|  | int | ix )

Return file language(s) from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file language(s), NULL on invalid

## ◆ rpmfilesFLink()

const char * rpmfilesFLink | ( | rpmfiles | fi,
|  | int | ix )

Return file linkto (i.e. symlink(2) target) from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file linkto, NULL on invalid

## ◆ rpmfilesFLinks()

uint32_t rpmfilesFLinks | ( | rpmfiles | fi,
|  | int | ix,
|  | const int ** | files )

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

Parameters

  fi | file info set
  ix | file index
  files | returns array of file ids hardlinked including ix, NULL for nlink count == 1

Returns
  file nlink count, 0 on invalid

## ◆ rpmfilesFMode()

rpm_mode_t rpmfilesFMode | ( | rpmfiles | fi,
|  | int | ix )

Return file mode from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file mode, 0 on invalid

## ◆ rpmfilesFMtime()

rpm_time_t rpmfilesFMtime | ( | rpmfiles | fi,
|  | int | ix )

Return file modify time from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file modify time, 0 on invalid

## ◆ rpmfilesFN()

char * rpmfilesFN | ( | rpmfiles | fi,
|  | int | ix )

Return file name from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file name (malloced)

## ◆ rpmfilesFNlink()

uint32_t rpmfilesFNlink | ( | rpmfiles | fi,
|  | int | ix )

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

Parameters

  fi | file info set
  ix | file index

Returns
  file nlink count, 0 on invalid

## ◆ rpmfilesFRdev()

rpm_rdev_t rpmfilesFRdev | ( | rpmfiles | fi,
|  | int | ix )

Return file rdev from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file rdev, 0 on invalid

## ◆ rpmfilesFree()

rpmfiles rpmfilesFree | ( | rpmfiles | fi | ) |

Destroy a file info set.

Parameters

  fi | file info set

Returns
  NULL always

## ◆ rpmfilesFSignature()

const unsigned char * rpmfilesFSignature | ( | rpmfiles | fi,
|  | int | ix,
|  | size_t * | len )

Return file (binary) digest of file info set.

Parameters

  | fi | file info set
  | ix | file index
  [out] | len | signature length (pass NULL to ignore)

Returns
  file signature, NULL on invalid

## ◆ rpmfilesFSize()

rpm_loff_t rpmfilesFSize | ( | rpmfiles | fi,
|  | int | ix )

Return file size from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file size, 0 on invalid

## ◆ rpmfilesFState()

rpmfileState rpmfilesFState | ( | rpmfiles | fi,
|  | int | ix )

Return file state from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file state, 0 on invalid

## ◆ rpmfilesFUser()

const char * rpmfilesFUser | ( | rpmfiles | fi,
|  | int | ix )

Return file owner from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file owner, NULL on invalid

## ◆ rpmfilesLink()

rpmfiles rpmfilesLink | ( | rpmfiles | fi | ) |

Reference a file info set instance.

Parameters

  fi | file info set

Returns
  new file info set reference

## ◆ rpmfilesNew()

rpmfiles rpmfilesNew | ( | rpmstrPool | pool,
|  | Header | h,
|  | rpmTagVal | tagN,
|  | rpmfiFlags | flags )

Create and load a file info set.

Parameters

  pool | shared string pool (or NULL for private pool)
  h | header
  tagN | unused
  flags | Flags to control what information is loaded.

Returns
  new file info set

## ◆ rpmfilesOBN()

const char * rpmfilesOBN | ( | rpmfiles | fi,
|  | int | ix )

Return original base name from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  base name, NULL on invalid

## ◆ rpmfilesODI()

int rpmfilesODI | ( | rpmfiles | fi,
|  | int | ix )

Return original directory index from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  directory index, -1 on invalid

## ◆ rpmfilesODN()

const char * rpmfilesODN | ( | rpmfiles | fi,
|  | int | jx )

Return original directory name from file info set. Note the index is on distinct directories within the file set, not a file index. The directory index associated with a given file index can be retrieved with rpmfilesODI(). Ie to constuct the full path of file index X you'd catenate the results of rpmfilesODN(f, rpmfilesODI(f, X)) and rpmfilesOBN(f, X).

Parameters

  fi | file info set
  jx | directory index

Returns
  directory, NULL on invalid

## ◆ rpmfilesOFN()

char * rpmfilesOFN | ( | rpmfiles | fi,
|  | int | ix )

Return original file name from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file name

## ◆ rpmfilesVerify()

rpmVerifyAttrs rpmfilesVerify | ( | rpmfiles | fi,
|  | int | ix,
|  | rpmVerifyAttrs | omitMask )

Verify file attributes (including digest).

Parameters

  fi | file info set
  ix | file index
  omitMask | bit(s) to disable verify checks

Returns
  bit(s) to indicate failure (ie 0 for passed verify)

## ◆ rpmfilesVFlags()

rpmVerifyAttrs rpmfilesVFlags | ( | rpmfiles | fi,
|  | int | ix )

Return file verify flags from file info set.

Parameters

  fi | file info set
  ix | file index

Returns
  file verify flags, 0 on invalid

## ◆ rpmfilesVSignature()

const unsigned char * rpmfilesVSignature | ( | rpmfiles | fi,
|  | int | ix,
|  | size_t * | len,
|  | uint16_t * | algo )

Return file verity signature (binary)

Parameters

  | fi | file info set
  | ix | file index
  [out] | len | signature length (pass NULL to ignore)
  [out] | algo | signature algorithm

Returns
  verity signature, NULL on invalid