|
rpm
4.12.90
|
File info set API. More...
#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <rpm/rpmtypes.h>#include <rpm/rpmvf.h>#include <rpm/rpmpgp.h>Go to the source code of this file.
Data Structures | |
| struct | rpmRelocation_s |
| We pass these around as an array with a sentinel. More... | |
Macros | |
| #define | RPMFILE_IS_INSTALLED(_x) ((_x) == RPMFILE_STATE_NORMAL || (_x) == RPMFILE_STATE_NETSHARED) |
| #define | RPMFILE_ALL ~(RPMFILE_NONE) |
| #define | XFA_SKIPPING(_a) ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR) |
| #define | RPMFI_FLAGS_ERASE |
| #define | RPMFI_FLAGS_INSTALL (RPMFI_NOFILECLASS | RPMFI_NOFILEVERIFYFLAGS) |
| #define | RPMFI_FLAGS_VERIFY |
| #define | RPMFI_FLAGS_QUERY |
| #define | RPMFI_FLAGS_ONLY_FILENAMES |
| #define | RPMFILEITERMAX 6 |
Typedefs | |
| typedef enum rpmFileTypes_e | rpmFileTypes |
| File types. More... | |
| typedef enum rpmfileState_e | rpmfileState |
| File States (when installed). More... | |
| typedef rpmFlags | rpmfileAttrs |
| typedef enum rpmFileAction_e | rpmFileAction |
| File disposition(s) during package install/erase transaction. More... | |
| typedef rpmFlags | rpmfiFlags |
| typedef enum rpmFileIter_e | rpmFileIter |
Functions | |
| rpmfiles | rpmfilesNew (rpmstrPool pool, Header h, rpmTagVal tagN, rpmfiFlags flags) |
| Create and load a file info set. More... | |
| rpmfiles | rpmfilesLink (rpmfiles fi) |
| Reference a file info set instance. More... | |
| rpmfiles | rpmfilesFree (rpmfiles fi) |
| Destroy a file info set. More... | |
| rpm_count_t | rpmfilesFC (rpmfiles fi) |
| Return file count from file info set. More... | |
| rpm_count_t | rpmfilesDC (rpmfiles fi) |
| Return directory count from file info set. More... | |
| int | rpmfilesFindFN (rpmfiles files, const char *fn) |
| Return file index of the given file name or -1 if file is not in the rpmfi. More... | |
| 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. More... | |
| rpmfi | rpmfilesIter (rpmfiles files, int itype) |
| int | rpmfilesDigestAlgo (rpmfiles fi) |
| Return digest algorithm of a file info set. More... | |
| rpm_color_t | rpmfilesColor (rpmfiles files) |
| Return union of all file color bits from file info set. More... | |
| int | rpmfilesCompare (rpmfiles afi, int aix, rpmfiles bfi, int bix) |
| Return file info comparison. More... | |
| const char * | rpmfilesBN (rpmfiles fi, int ix) |
| Return base name from file info set. More... | |
| const char * | rpmfilesDN (rpmfiles fi, int jx) |
| Return directory name from file info set. More... | |
| int | rpmfilesDI (rpmfiles fi, int ix) |
| Return directory index from file info set. More... | |
| char * | rpmfilesFN (rpmfiles fi, int ix) |
| Return file name from file info set. More... | |
| int | rpmfilesODI (rpmfiles fi, int ix) |
| Return original directory index from file info set. More... | |
| const char * | rpmfilesOBN (rpmfiles fi, int ix) |
| Return original base name from file info set. More... | |
| const char * | rpmfilesODN (rpmfiles fi, int jx) |
| Return original directory name from file info set. More... | |
| char * | rpmfilesOFN (rpmfiles fi, int ix) |
| Return original file name from file info set. More... | |
| rpmVerifyAttrs | rpmfilesVFlags (rpmfiles fi, int ix) |
| Return file verify flags from file info set. More... | |
| rpmfileState | rpmfilesFState (rpmfiles fi, int ix) |
| Return file state from file info set. More... | |
| const char * | rpmfilesFLink (rpmfiles fi, int ix) |
| Return file linkto (i.e. More... | |
| rpm_loff_t | rpmfilesFSize (rpmfiles fi, int ix) |
| Return file size from file info set. More... | |
| rpm_color_t | rpmfilesFColor (rpmfiles fi, int ix) |
| Return file color bits from file info set. More... | |
| const char * | rpmfilesFClass (rpmfiles fi, int ix) |
| Return file class from file info set. More... | |
| uint32_t | rpmfilesFDepends (rpmfiles fi, int ix, const uint32_t **fddictp) |
| Return file depends dictionary from file info set. More... | |
| uint32_t | rpmfilesFNlink (rpmfiles fi, int ix) |
| Return (calculated) file nlink count from file info set. More... | |
| uint32_t | rpmfilesFLinks (rpmfiles fi, int ix, const int **files) |
| Return (calculated) file nlink count from file info set. More... | |
| const char * | rpmfilesFLangs (rpmfiles fi, int ix) |
| Return file language(s) from file info set. More... | |
| rpmfileAttrs | rpmfilesFFlags (rpmfiles fi, int ix) |
| Return file flags from file info set. More... | |
| rpm_mode_t | rpmfilesFMode (rpmfiles fi, int ix) |
| Return file mode from file info set. More... | |
| const unsigned char * | rpmfilesFDigest (rpmfiles fi, int ix, int *algo, size_t *len) |
| Return file (binary) digest of file info set. More... | |
| const unsigned char * | rpmfilesFSignature (rpmfiles fi, int ix, size_t *len) |
| Return file (binary) digest of file info set. More... | |
| rpm_rdev_t | rpmfilesFRdev (rpmfiles fi, int ix) |
| Return file rdev from file info set. More... | |
| rpm_ino_t | rpmfilesFInode (rpmfiles fi, int ix) |
| Return file inode from file info set. More... | |
| rpm_time_t | rpmfilesFMtime (rpmfiles fi, int ix) |
| Return file modify time from file info set. More... | |
| const char * | rpmfilesFUser (rpmfiles fi, int ix) |
| Return file owner from file info set. More... | |
| const char * | rpmfilesFGroup (rpmfiles fi, int ix) |
| Return file group from file info set. More... | |
| const char * | rpmfilesFCaps (rpmfiles fi, int ix) |
| Return textual representation of file capabilities from file info set. More... | |
| int | rpmfilesStat (rpmfiles fi, int ix, int flags, struct stat *sb) |
| Map file stat(2) info. More... | |
File info set API.
Definition in file rpmfiles.h.
| #define RPMFI_FLAGS_ERASE |
Definition at line 124 of file rpmfiles.h.
| #define RPMFI_FLAGS_INSTALL (RPMFI_NOFILECLASS | RPMFI_NOFILEVERIFYFLAGS) |
Definition at line 129 of file rpmfiles.h.
| #define RPMFI_FLAGS_ONLY_FILENAMES |
Definition at line 140 of file rpmfiles.h.
| #define RPMFI_FLAGS_QUERY |
Definition at line 136 of file rpmfiles.h.
| #define RPMFI_FLAGS_VERIFY |
Definition at line 132 of file rpmfiles.h.
| #define RPMFILE_ALL ~(RPMFILE_NONE) |
Definition at line 67 of file rpmfiles.h.
| #define RPMFILE_IS_INSTALLED | ( | _x | ) | ((_x) == RPMFILE_STATE_NORMAL || (_x) == RPMFILE_STATE_NETSHARED) |
Definition at line 45 of file rpmfiles.h.
| #define RPMFILEITERMAX 6 |
Definition at line 158 of file rpmfiles.h.
| #define XFA_SKIPPING | ( | _a | ) | ((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR) |
Definition at line 88 of file rpmfiles.h.
| typedef rpmFlags rpmfiFlags |
Definition at line 122 of file rpmfiles.h.
| typedef enum rpmFileAction_e rpmFileAction |
File disposition(s) during package install/erase transaction.
| typedef rpmFlags rpmfileAttrs |
Definition at line 65 of file rpmfiles.h.
| typedef enum rpmFileIter_e rpmFileIter |
| typedef enum rpmfileState_e rpmfileState |
File States (when installed).
| 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.
| enum rpmfiFlags_e |
Definition at line 99 of file rpmfiles.h.
| enum rpmFileAction_e |
File disposition(s) during package install/erase transaction.
Definition at line 72 of file rpmfiles.h.
| enum rpmfileAttrs_e |
Exported File Attributes (ie RPMTAG_FILEFLAGS)
| Enumerator | |
|---|---|
| RPMFILE_NONE | |
| RPMFILE_CONFIG |
from %config |
| RPMFILE_DOC |
from %doc |
| RPMFILE_ICON |
from %donotuse. |
| RPMFILE_MISSINGOK |
from %config(missingok) |
| RPMFILE_NOREPLACE |
from %config(noreplace) |
| RPMFILE_SPECFILE |
|
| RPMFILE_GHOST |
from %ghost |
| RPMFILE_LICENSE |
from %license |
| RPMFILE_README |
from %readme |
| RPMFILE_PUBKEY |
from %pubkey |
Definition at line 50 of file rpmfiles.h.
| enum rpmFileIter_e |
| Enumerator | |
|---|---|
| RPMFI_ITER_FWD | |
| RPMFI_ITER_BACK | |
| RPMFI_ITER_WRITE_ARCHIVE | |
| RPMFI_ITER_READ_ARCHIVE | |
| RPMFI_ITER_READ_ARCHIVE_CONTENT_FIRST | |
| RPMFI_ITER_READ_ARCHIVE_OMIT_HARDLINKS | |
| RPMFI_ITER_INTERVAL | |
Definition at line 148 of file rpmfiles.h.
| enum rpmfileState_e |
File States (when installed).
| Enumerator | |
|---|---|
| RPMFILE_STATE_MISSING | |
| RPMFILE_STATE_NORMAL | |
| RPMFILE_STATE_REPLACED | |
| RPMFILE_STATE_NOTINSTALLED | |
| RPMFILE_STATE_NETSHARED | |
| RPMFILE_STATE_WRONGCOLOR | |
Definition at line 36 of file rpmfiles.h.
| 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 |
Definition at line 23 of file rpmfiles.h.
| const char* rpmfilesBN | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return base name from file info set.
| fi | file info set |
| ix | file index |
| rpm_color_t rpmfilesColor | ( | rpmfiles | files | ) |
Return union of all file color bits from file info set.
| files | file info set |
Return file info comparison.
| afi | 1st file info |
| aix | index of the 1st file |
| bfi | 2nd file info |
| bix | index of the 2nd file |
| rpm_count_t rpmfilesDC | ( | rpmfiles | fi | ) |
Return directory count from file info set.
| fi | file info set |
| int rpmfilesDI | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return directory index from file info set.
| fi | file info set |
| ix | file index |
| int rpmfilesDigestAlgo | ( | rpmfiles | fi | ) |
Return digest algorithm of a file info set.
| fi | file info set |
| 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).
| fi | file info set |
| jx | directory index |
| rpm_count_t rpmfilesFC | ( | rpmfiles | fi | ) |
Return file count from file info set.
| fi | file info set |
| const char* rpmfilesFCaps | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return textual representation of file capabilities from file info set.
See cap_from_text(3) for details.
| fi | file info set |
| ix | file index |
| const char* rpmfilesFClass | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file class from file info set.
| fi | file info set |
| ix | file index |
| rpm_color_t rpmfilesFColor | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file color bits from file info set.
| fi | file info set |
| ix | file index |
| uint32_t rpmfilesFDepends | ( | rpmfiles | fi, |
| int | ix, | ||
| const uint32_t ** | fddictp | ||
| ) |
Return file depends dictionary from file info set.
| fi | file info set |
| ix | file index |
| *fddictp | file depends dictionary array (or NULL) |
| const unsigned char* rpmfilesFDigest | ( | rpmfiles | fi, |
| int | ix, | ||
| int * | algo, | ||
| size_t * | len | ||
| ) |
Return file (binary) digest of file info set.
| fi | file info set |
| ix | file index |
| algo | digest hash algorithm used (pass NULL to ignore) |
| len | digest hash length (pass NULL to ignore) |
| rpmfileAttrs rpmfilesFFlags | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file flags from file info set.
| fi | file info set |
| ix | file index |
| const char* rpmfilesFGroup | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file group from file info set.
| fi | file info set |
| ix | file index |
| 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 "."
| files | file info set |
| fn | file name |
| 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 "."
| files | file info set |
| fn | file name |
Return file inode from file info set.
| fi | file info set |
| ix | file index |
| const char* rpmfilesFLangs | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file language(s) from file info set.
| fi | file info set |
| ix | file index |
| const char* rpmfilesFLink | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file linkto (i.e.
symlink(2) target) from file info set.
| fi | file info set |
| ix | file index |
| uint32_t rpmfilesFLinks | ( | rpmfiles | fi, |
| int | ix, | ||
| const int ** | files | ||
| ) |
Return (calculated) file nlink count from file info set.
| fi | file info set |
| ix | file index |
| files | returns array of file ids hardlinked including ix, NULL for nlink count == 1 |
| rpm_mode_t rpmfilesFMode | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file mode from file info set.
| fi | file info set |
| ix | file index |
| rpm_time_t rpmfilesFMtime | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file modify time from file info set.
| fi | file info set |
| ix | file index |
| char* rpmfilesFN | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file name from file info set.
| fi | file info set |
| ix | file index |
| uint32_t rpmfilesFNlink | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return (calculated) file nlink count from file info set.
| fi | file info set |
| ix | file index |
| rpm_rdev_t rpmfilesFRdev | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file rdev from file info set.
| fi | file info set |
| ix | file index |
Destroy a file info set.
| fi | file info set |
Referenced by process_package().
| const unsigned char* rpmfilesFSignature | ( | rpmfiles | fi, |
| int | ix, | ||
| size_t * | len | ||
| ) |
Return file (binary) digest of file info set.
| fi | file info set |
| ix | file index |
| len | signature length (pass NULL to ignore) |
| rpm_loff_t rpmfilesFSize | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file size from file info set.
| fi | file info set |
| ix | file index |
| rpmfileState rpmfilesFState | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file state from file info set.
| fi | file info set |
| ix | file index |
| const char* rpmfilesFUser | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file owner from file info set.
| fi | file info set |
| ix | file index |
Reference a file info set instance.
| fi | file info set |
| rpmfiles rpmfilesNew | ( | rpmstrPool | pool, |
| Header | h, | ||
| rpmTagVal | tagN, | ||
| rpmfiFlags | flags | ||
| ) |
Create and load a file info set.
| pool | shared string pool (or NULL for private pool) |
| h | header |
| tagN | unused |
| flags | Flags to control what information is loaded. |
Referenced by process_package().
| const char* rpmfilesOBN | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return original base name from file info set.
| fi | file info set |
| ix | file index |
| int rpmfilesODI | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return original directory index from file info set.
| fi | file info set |
| ix | file index |
| 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).
| fi | file info set |
| jx | directory index |
| char* rpmfilesOFN | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return original file name from file info set.
| fi | file info set |
| ix | file index |
| int rpmfilesStat | ( | rpmfiles | fi, |
| int | ix, | ||
| int | flags, | ||
| struct stat * | sb | ||
| ) |
Map file stat(2) info.
| fi | file info set |
| ix | file index |
| flags | flags |
| sb | mapped stat(2) data |
| rpmVerifyAttrs rpmfilesVFlags | ( | rpmfiles | fi, |
| int | ix | ||
| ) |
Return file verify flags from file info set.
| fi | file info set |
| ix | file index |
1.8.9.1