00001 #ifndef _RPMPKG_H
00002 #define _RPMPKG_H
00003
00004 #include <rpm/rpmtypes.h>
00005
00006 #ifdef __cplusplus
00007 extern "C" {
00008 #endif
00009
00013 typedef enum rpmVSFlags_e {
00014 RPMVSF_DEFAULT = 0,
00015 RPMVSF_NOHDRCHK = (1 << 0),
00016 RPMVSF_NEEDPAYLOAD = (1 << 1),
00017
00018 RPMVSF_NOSHA1HEADER = (1 << 8),
00019 RPMVSF_NOMD5HEADER = (1 << 9),
00020 RPMVSF_NODSAHEADER = (1 << 10),
00021 RPMVSF_NORSAHEADER = (1 << 11),
00022
00023 RPMVSF_NOSHA1 = (1 << 16),
00024 RPMVSF_NOMD5 = (1 << 17),
00025 RPMVSF_NODSA = (1 << 18),
00026 RPMVSF_NORSA = (1 << 19)
00027
00028 } rpmVSFlags;
00029
00030 #define _RPMVSF_NODIGESTS \
00031 ( RPMVSF_NOSHA1HEADER | \
00032 RPMVSF_NOMD5HEADER | \
00033 RPMVSF_NOSHA1 | \
00034 RPMVSF_NOMD5 )
00035
00036 #define _RPMVSF_NOSIGNATURES \
00037 ( RPMVSF_NODSAHEADER | \
00038 RPMVSF_NORSAHEADER | \
00039 RPMVSF_NODSA | \
00040 RPMVSF_NORSA )
00041
00042 #define _RPMVSF_NOHEADER \
00043 ( RPMVSF_NOSHA1HEADER | \
00044 RPMVSF_NOMD5HEADER | \
00045 RPMVSF_NODSAHEADER | \
00046 RPMVSF_NORSAHEADER )
00047
00048 #define _RPMVSF_NOPAYLOAD \
00049 ( RPMVSF_NOSHA1 | \
00050 RPMVSF_NOMD5 | \
00051 RPMVSF_NODSA | \
00052 RPMVSF_NORSA )
00053
00063 rpmRC rpmPackageRead(rpmKeyring keyring, rpmVSFlags vsflags,
00064 FD_t fd, const char * fn, Header * hdrp);
00065
00074 rpmRC rpmReadPackageFile(rpmts ts, FD_t fd, const char * fn, Header * hdrp);
00075
00084 rpmRC rpmReadHeader(rpmts ts, FD_t fd, Header *hdrp, char ** msg);
00085
00094 rpmRC rpmInstallSourcePackage(rpmts ts, FD_t fd,
00095 char ** specFilePtr,
00096 char ** cookie);
00097
00111 rpmRC headerCheck(rpmts ts, const void * uh, size_t uc, char ** msg);
00112
00118 rpmRC headerCheckPayloadFormat(Header h);
00119
00126 void headerMergeLegacySigs(Header h, const Header sigh);
00127
00135 Header headerRegenSigHeader(const Header h, int noArchiveSize);
00136
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140
00141 #endif