Loading...
Searching...
No Matches
rpmfiles.h
Go to the documentation of this file.
#ifndef _RPMFILES_H
#define _RPMFILES_H
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <rpm/rpmtypes.h>
typedef enum rpmFileTypes_e {
PIPE = 1,
CDEV = 2,
XDIR = 4,
BDEV = 6,
REG = 8,
LINK = 10,
SOCK = 12
} rpmFileTypes;
typedef enum rpmfileState_e {
RPMFILE_STATE_MISSING = -1, /* used for unavailable data */
RPMFILE_STATE_NORMAL = 0,
RPMFILE_STATE_REPLACED = 1,
RPMFILE_STATE_NOTINSTALLED = 2,
RPMFILE_STATE_NETSHARED = 3,
RPMFILE_STATE_WRONGCOLOR = 4
} rpmfileState;
#define RPMFILE_IS_INSTALLED(_x) ((_x) == RPMFILE_STATE_NORMAL || (_x) == RPMFILE_STATE_NETSHARED)
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),
/* bits 9-10 unused */
RPMFILE_PUBKEY = (1 << 11),
RPMFILE_ARTIFACT = (1 << 12),
};
typedef rpmFlags rpmfileAttrs;
#define RPMFILE_ALL ~(RPMFILE_NONE)
enum rpmVerifyAttrs_e {
RPMVERIFY_NONE = 0,
RPMVERIFY_MD5 = (1 << 0),
RPMVERIFY_FILEDIGEST= (1 << 0),
RPMVERIFY_FILESIZE = (1 << 1),
RPMVERIFY_LINKTO = (1 << 2),
RPMVERIFY_USER = (1 << 3),
RPMVERIFY_GROUP = (1 << 4),
RPMVERIFY_MTIME = (1 << 5),
RPMVERIFY_MODE = (1 << 6),
RPMVERIFY_RDEV = (1 << 7),
RPMVERIFY_CAPS = (1 << 8),
/* bits 9-14 unused, reserved for rpmVerifyAttrs */
RPMVERIFY_CONTEXTS = (1 << 15),
/* bits 16-22 used in rpmVerifyFlags */
/* bits 23-27 used in rpmQueryFlags */
RPMVERIFY_READLINKFAIL= (1 << 28),
RPMVERIFY_READFAIL = (1 << 29),
RPMVERIFY_LSTATFAIL = (1 << 30),
RPMVERIFY_LGETFILECONFAIL = (1 << 31)
};
typedef rpmFlags rpmVerifyAttrs;
#define RPMVERIFY_ALL ~(RPMVERIFY_NONE)
#define RPMVERIFY_FAILURES \
(RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL)
typedef 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,
/* bits 16-31 reserved */
} rpmFileAction;
#define XFA_SKIPPING(_a) \
((_a) == FA_SKIP || (_a) == FA_SKIPNSTATE || (_a) == FA_SKIPNETSHARED || (_a) == FA_SKIPCOLOR)
#define XFA_CREATING(_a) \
((_a) == FA_CREATE || (_a) == FA_BACKUP || (_a) == FA_SAVE || (_a) == FA_ALTNAME)
struct rpmRelocation_s {
char * oldPath;
char * newPath;
};
enum rpmfiFlags_e {
RPMFI_NOHEADER = 0,
RPMFI_KEEPHEADER = (1 << 0),
RPMFI_NOFILECLASS = (1 << 1),
RPMFI_NOFILEDEPS = (1 << 2),
RPMFI_NOFILELANGS = (1 << 3),
RPMFI_NOFILEUSER = (1 << 4),
RPMFI_NOFILEGROUP = (1 << 5),
RPMFI_NOFILEMODES = (1 << 6),
RPMFI_NOFILESIZES = (1 << 7),
RPMFI_NOFILECAPS = (1 << 8),
RPMFI_NOFILELINKTOS = (1 << 9),
RPMFI_NOFILEDIGESTS = (1 << 10),
RPMFI_NOFILEMTIMES = (1 << 11),
RPMFI_NOFILERDEVS = (1 << 12),
RPMFI_NOFILEINODES = (1 << 13),
RPMFI_NOFILESTATES = (1 << 14),
RPMFI_NOFILECOLORS = (1 << 15),
RPMFI_NOFILEVERIFYFLAGS = (1 << 16),
RPMFI_NOFILEFLAGS = (1 << 17),
RPMFI_NOFILESIGNATURES = (1 << 18),
RPMFI_NOVERITYSIGNATURES = (1 << 19),
};
typedef rpmFlags rpmfiFlags;
#define RPMFI_FLAGS_ERASE \
(RPMFI_NOFILECLASS | RPMFI_NOFILELANGS | \
RPMFI_NOFILEMTIMES | RPMFI_NOFILERDEVS | \
RPMFI_NOFILESIGNATURES | RPMFI_NOVERITYSIGNATURES | \
RPMFI_NOFILEVERIFYFLAGS)
#define RPMFI_FLAGS_INSTALL \
(RPMFI_NOFILECLASS | RPMFI_NOFILEVERIFYFLAGS)
#define RPMFI_FLAGS_VERIFY \
(RPMFI_NOFILECLASS | RPMFI_NOFILEDEPS | RPMFI_NOFILELANGS | \
RPMFI_NOFILECOLORS)
#define RPMFI_FLAGS_QUERY \
(RPMFI_NOFILECLASS | RPMFI_NOFILEDEPS | RPMFI_NOFILELANGS | \
RPMFI_NOFILECOLORS | RPMFI_NOFILEVERIFYFLAGS)
#define RPMFI_FLAGS_FILETRIGGER \
(RPMFI_NOFILECLASS | RPMFI_NOFILEDEPS | RPMFI_NOFILELANGS | \
RPMFI_NOFILEUSER | RPMFI_NOFILEGROUP | RPMFI_NOFILEMODES | \
RPMFI_NOFILESIZES | RPMFI_NOFILECAPS | RPMFI_NOFILELINKTOS | \
RPMFI_NOFILEDIGESTS | RPMFI_NOFILEMTIMES | RPMFI_NOFILERDEVS | \
RPMFI_NOFILEINODES | RPMFI_NOFILECOLORS | \
RPMFI_NOFILESIGNATURES | RPMFI_NOVERITYSIGNATURES | \
RPMFI_NOFILEVERIFYFLAGS | RPMFI_NOFILEFLAGS)
#define RPMFI_FLAGS_ONLY_FILENAMES \
(RPMFI_FLAGS_FILETRIGGER | RPMFI_NOFILESTATES)
typedef enum rpmFileIter_e {
RPMFI_ITER_FWD = 0,
RPMFI_ITER_BACK = 1,
RPMFI_ITER_WRITE_ARCHIVE = 2,
RPMFI_ITER_READ_ARCHIVE = 3,
RPMFI_ITER_READ_ARCHIVE_CONTENT_FIRST = 4,
RPMFI_ITER_READ_ARCHIVE_OMIT_HARDLINKS = 5,
RPMFI_ITER_INTERVAL = 6,
} rpmFileIter;
#define RPMFILEITERMAX 6
#ifdef __cplusplus
extern "C" {
#endif
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);
rpmfi rpmfilesIter(rpmfiles files, int itype);
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);
int rpmfilesStat(rpmfiles fi, int ix, int flags, struct stat *sb);
rpmVerifyAttrs rpmfilesVerify(rpmfiles fi, int ix, rpmVerifyAttrs omitMask);
#ifdef __cplusplus
}
#endif
#endif /* _RPMFILES_H */
rpmfilesStat
int rpmfilesStat(rpmfiles fi, int ix, int flags, struct stat *sb)
rpmfilesDC
rpm_count_t rpmfilesDC(rpmfiles fi)
rpmfilesFSignature
const unsigned char * rpmfilesFSignature(rpmfiles fi, int ix, size_t *len)
rpmfilesVFlags
rpmVerifyAttrs rpmfilesVFlags(rpmfiles fi, int ix)
rpmfilesFLangs
const char * rpmfilesFLangs(rpmfiles fi, int ix)
rpmFileTypes
enum rpmFileTypes_e rpmFileTypes
rpmfilesFMode
rpm_mode_t rpmfilesFMode(rpmfiles fi, int ix)
rpmfilesFClass
const char * rpmfilesFClass(rpmfiles fi, int ix)
rpmfilesFInode
rpm_ino_t rpmfilesFInode(rpmfiles fi, int ix)
rpmfilesFindFN
int rpmfilesFindFN(rpmfiles files, const char *fn)
rpmfilesLink
rpmfiles rpmfilesLink(rpmfiles fi)
rpmfilesNew
rpmfiles rpmfilesNew(rpmstrPool pool, Header h, rpmTagVal tagN, rpmfiFlags flags)
rpmfilesBN
const char * rpmfilesBN(rpmfiles fi, int ix)
rpmfilesFGroup
const char * rpmfilesFGroup(rpmfiles fi, int ix)
rpmfilesFState
rpmfileState rpmfilesFState(rpmfiles fi, int ix)
rpmfilesOBN
const char * rpmfilesOBN(rpmfiles fi, int ix)
rpmfilesFDigest
const unsigned char * rpmfilesFDigest(rpmfiles fi, int ix, int *algo, size_t *len)
rpmfilesFLinks
uint32_t rpmfilesFLinks(rpmfiles fi, int ix, const int **files)
rpmfilesFColor
rpm_color_t rpmfilesFColor(rpmfiles fi, int ix)
rpmfilesFFlags
rpmfileAttrs rpmfilesFFlags(rpmfiles fi, int ix)
rpmFileAction
enum rpmFileAction_e rpmFileAction
rpmfilesFRdev
rpm_rdev_t rpmfilesFRdev(rpmfiles fi, int ix)
rpmfilesFLink
const char * rpmfilesFLink(rpmfiles fi, int ix)
rpmfilesDI
int rpmfilesDI(rpmfiles fi, int ix)
rpmFileAction_e
rpmFileAction_e
Definition rpmfiles.h:103
rpmfilesCompare
int rpmfilesCompare(rpmfiles afi, int aix, rpmfiles bfi, int bix)
rpmfilesDigestAlgo
int rpmfilesDigestAlgo(rpmfiles fi)
rpmfilesVerify
rpmVerifyAttrs rpmfilesVerify(rpmfiles fi, int ix, rpmVerifyAttrs omitMask)
rpmfilesFSize
rpm_loff_t rpmfilesFSize(rpmfiles fi, int ix)
rpmfilesFindOFN
int rpmfilesFindOFN(rpmfiles files, const char *fn)
rpmfilesFN
char * rpmfilesFN(rpmfiles fi, int ix)
rpmfilesFree
rpmfiles rpmfilesFree(rpmfiles fi)
rpmfilesODI
int rpmfilesODI(rpmfiles fi, int ix)
rpmfilesVSignature
const unsigned char * rpmfilesVSignature(rpmfiles fi, int ix, size_t *len, uint16_t *algo)
rpmFileTypes_e
rpmFileTypes_e
Definition rpmfiles.h:21
rpmfilesDN
const char * rpmfilesDN(rpmfiles fi, int jx)
rpmfilesFC
rpm_count_t rpmfilesFC(rpmfiles fi)
rpmfilesFUser
const char * rpmfilesFUser(rpmfiles fi, int ix)
rpmfilesFNlink
uint32_t rpmfilesFNlink(rpmfiles fi, int ix)
rpmfilesODN
const char * rpmfilesODN(rpmfiles fi, int jx)
rpmfilesFDepends
uint32_t rpmfilesFDepends(rpmfiles fi, int ix, const uint32_t **fddictp)
rpmfilesOFN
char * rpmfilesOFN(rpmfiles fi, int ix)
rpmfilesFMtime
rpm_time_t rpmfilesFMtime(rpmfiles fi, int ix)
rpmfilesFCaps
const char * rpmfilesFCaps(rpmfiles fi, int ix)
rpmfilesColor
rpm_color_t rpmfilesColor(rpmfiles files)
FA_BACKUP
@ FA_BACKUP
Definition rpmfiles.h:108
FA_CREATE
@ FA_CREATE
Definition rpmfiles.h:105
FA_UNKNOWN
@ FA_UNKNOWN
Definition rpmfiles.h:104
FA_COPYIN
@ FA_COPYIN
Definition rpmfiles.h:106
FA_SKIPNSTATE
@ FA_SKIPNSTATE
Definition rpmfiles.h:113
FA_SAVE
@ FA_SAVE
Definition rpmfiles.h:109
FA_COPYOUT
@ FA_COPYOUT
Definition rpmfiles.h:107
FA_SKIP
@ FA_SKIP
Definition rpmfiles.h:110
FA_SKIPCOLOR
@ FA_SKIPCOLOR
Definition rpmfiles.h:115
FA_ALTNAME
@ FA_ALTNAME
Definition rpmfiles.h:111
FA_TOUCH
@ FA_TOUCH
Definition rpmfiles.h:116
FA_ERASE
@ FA_ERASE
Definition rpmfiles.h:112
FA_SKIPNETSHARED
@ FA_SKIPNETSHARED
Definition rpmfiles.h:114
XDIR
@ XDIR
Definition rpmfiles.h:24
CDEV
@ CDEV
Definition rpmfiles.h:23
SOCK
@ SOCK
Definition rpmfiles.h:28
PIPE
@ PIPE
Definition rpmfiles.h:22
REG
@ REG
Definition rpmfiles.h:26
BDEV
@ BDEV
Definition rpmfiles.h:25
LINK
@ LINK
Definition rpmfiles.h:27
Header
struct headerToken_s * Header
Definition rpmtypes.h:24
rpmVerifyAttrs_e
rpmVerifyAttrs_e
Definition rpmfiles.h:72
RPMVERIFY_CAPS
@ RPMVERIFY_CAPS
Definition rpmfiles.h:83
RPMVERIFY_MTIME
@ RPMVERIFY_MTIME
Definition rpmfiles.h:80
RPMVERIFY_MD5
@ RPMVERIFY_MD5
Definition rpmfiles.h:74
RPMVERIFY_LGETFILECONFAIL
@ RPMVERIFY_LGETFILECONFAIL
Definition rpmfiles.h:91
RPMVERIFY_CONTEXTS
@ RPMVERIFY_CONTEXTS
Definition rpmfiles.h:85
RPMVERIFY_RDEV
@ RPMVERIFY_RDEV
Definition rpmfiles.h:82
RPMVERIFY_MODE
@ RPMVERIFY_MODE
Definition rpmfiles.h:81
RPMVERIFY_GROUP
@ RPMVERIFY_GROUP
Definition rpmfiles.h:79
RPMVERIFY_USER
@ RPMVERIFY_USER
Definition rpmfiles.h:78
RPMVERIFY_FILESIZE
@ RPMVERIFY_FILESIZE
Definition rpmfiles.h:76
RPMVERIFY_READFAIL
@ RPMVERIFY_READFAIL
Definition rpmfiles.h:89
RPMVERIFY_READLINKFAIL
@ RPMVERIFY_READLINKFAIL
Definition rpmfiles.h:88
RPMVERIFY_LSTATFAIL
@ RPMVERIFY_LSTATFAIL
Definition rpmfiles.h:90
RPMVERIFY_FILEDIGEST
@ RPMVERIFY_FILEDIGEST
Definition rpmfiles.h:75
RPMVERIFY_LINKTO
@ RPMVERIFY_LINKTO
Definition rpmfiles.h:77
rpmfileAttrs_e
rpmfileAttrs_e
Definition rpmfiles.h:48
RPMFILE_ARTIFACT
@ RPMFILE_ARTIFACT
Definition rpmfiles.h:61
RPMFILE_MISSINGOK
@ RPMFILE_MISSINGOK
Definition rpmfiles.h:53
RPMFILE_ICON
@ RPMFILE_ICON
Definition rpmfiles.h:52
RPMFILE_DOC
@ RPMFILE_DOC
Definition rpmfiles.h:51
RPMFILE_GHOST
@ RPMFILE_GHOST
Definition rpmfiles.h:56
RPMFILE_SPECFILE
@ RPMFILE_SPECFILE
Definition rpmfiles.h:55
RPMFILE_CONFIG
@ RPMFILE_CONFIG
Definition rpmfiles.h:50
RPMFILE_LICENSE
@ RPMFILE_LICENSE
Definition rpmfiles.h:57
RPMFILE_NOREPLACE
@ RPMFILE_NOREPLACE
Definition rpmfiles.h:54
RPMFILE_PUBKEY
@ RPMFILE_PUBKEY
Definition rpmfiles.h:60
RPMFILE_README
@ RPMFILE_README
Definition rpmfiles.h:58
rpmfileState
enum rpmfileState_e rpmfileState
rpmfileState_e
rpmfileState_e
Definition rpmfiles.h:34
rpmtypes.h
rpmRelocation_s
Definition rpmfiles.h:129
rpmRelocation_s::oldPath
char * oldPath
Definition rpmfiles.h:130
rpmRelocation_s::newPath
char * newPath
Definition rpmfiles.h:131