00001 #ifndef _RPMVF_H
00002 #define _RPMVF_H
00003
00008 #include <rpm/rpmtypes.h>
00009
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013
00017 enum rpmVerifyAttrs_e {
00018 RPMVERIFY_NONE = 0,
00019 RPMVERIFY_MD5 = (1 << 0),
00020 RPMVERIFY_FILEDIGEST= (1 << 0),
00021 RPMVERIFY_FILESIZE = (1 << 1),
00022 RPMVERIFY_LINKTO = (1 << 2),
00023 RPMVERIFY_USER = (1 << 3),
00024 RPMVERIFY_GROUP = (1 << 4),
00025 RPMVERIFY_MTIME = (1 << 5),
00026 RPMVERIFY_MODE = (1 << 6),
00027 RPMVERIFY_RDEV = (1 << 7),
00028 RPMVERIFY_CAPS = (1 << 8),
00029
00030 RPMVERIFY_CONTEXTS = (1 << 15),
00031
00032
00033 RPMVERIFY_READLINKFAIL= (1 << 28),
00034 RPMVERIFY_READFAIL = (1 << 29),
00035 RPMVERIFY_LSTATFAIL = (1 << 30),
00036 RPMVERIFY_LGETFILECONFAIL = (1 << 31)
00037 };
00038
00039 typedef rpmFlags rpmVerifyAttrs;
00040
00041 #define RPMVERIFY_ALL ~(RPMVERIFY_NONE)
00042 #define RPMVERIFY_FAILURES \
00043 (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL)
00044
00048 enum rpmVerifyFlags_e {
00049 VERIFY_DEFAULT = 0,
00050 VERIFY_MD5 = (1 << 0),
00051 VERIFY_FILEDIGEST = (1 << 0),
00052 VERIFY_SIZE = (1 << 1),
00053 VERIFY_LINKTO = (1 << 2),
00054 VERIFY_USER = (1 << 3),
00055 VERIFY_GROUP = (1 << 4),
00056 VERIFY_MTIME = (1 << 5),
00057 VERIFY_MODE = (1 << 6),
00058 VERIFY_RDEV = (1 << 7),
00059 VERIFY_CAPS = (1 << 8),
00060
00061 VERIFY_CONTEXTS = (1 << 15),
00062 VERIFY_FILES = (1 << 16),
00063 VERIFY_DEPS = (1 << 17),
00064 VERIFY_SCRIPT = (1 << 18),
00065 VERIFY_DIGEST = (1 << 19),
00066 VERIFY_SIGNATURE = (1 << 20),
00067 VERIFY_PATCHES = (1 << 21),
00068 VERIFY_HDRCHK = (1 << 22),
00069 VERIFY_FOR_LIST = (1 << 23),
00070 VERIFY_FOR_STATE = (1 << 24),
00071 VERIFY_FOR_DOCS = (1 << 25),
00072 VERIFY_FOR_CONFIG = (1 << 26),
00073 VERIFY_FOR_DUMPFILES= (1 << 27)
00074
00075 };
00076
00077 typedef rpmFlags rpmVerifyFlags;
00078
00079 #define VERIFY_ATTRS \
00080 ( VERIFY_FILEDIGEST | VERIFY_SIZE | VERIFY_LINKTO | VERIFY_USER | VERIFY_GROUP | \
00081 VERIFY_MTIME | VERIFY_MODE | VERIFY_RDEV | VERIFY_CONTEXTS | VERIFY_CAPS )
00082 #define VERIFY_ALL \
00083 ( VERIFY_ATTRS | VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT | VERIFY_DIGEST |\
00084 VERIFY_SIGNATURE | VERIFY_HDRCHK )
00085
00095 int rpmVerifyFile(const rpmts ts, rpmfi fi,
00096 rpmVerifyAttrs * res, rpmVerifyAttrs omitMask);
00097
00098
00099 #ifdef __cplusplus
00100 }
00101 #endif
00102
00103 #endif