summaryrefslogtreecommitdiffstats
path: root/RPM4/src/RPM4.h
diff options
context:
space:
mode:
Diffstat (limited to 'RPM4/src/RPM4.h')
-rw-r--r--RPM4/src/RPM4.h119
1 files changed, 119 insertions, 0 deletions
diff --git a/RPM4/src/RPM4.h b/RPM4/src/RPM4.h
new file mode 100644
index 0000000..fcad6b0
--- /dev/null
+++ b/RPM4/src/RPM4.h
@@ -0,0 +1,119 @@
+/* $Id$ */
+
+#ifndef _HDLIST_H
+#define _HDLIST_H
+
+#include "header.h"
+
+/* Hdlistsign.c: imported but modified functions */
+
+int rpmsign(char *passphrase, const char *rpm);
+
+int rpmchecksig(rpmts ts, const char * filename, int flags);
+
+/* rpmlib does not export some usefull functions
+ * We Import its here
+ * This File should be the last included */
+
+/* From rpmlead.h */
+
+#ifndef _H_RPMLEAD
+
+rpmRC writeLead(FD_t fd, const struct rpmlead *lead);
+rpmRC readLead(FD_t fd, struct rpmlead *lead);
+
+#endif /* _H_RPMLEAD */
+
+/* From signature.h */
+
+#ifndef H_SIGNATURE
+
+typedef enum sigType_e {
+ RPMSIGTYPE_HEADERSIG= 5
+} sigType;
+
+typedef enum pgpVersion_e {
+ PGP_NOTDETECTED = -1,
+ PGP_UNKNOWN = 0,
+ PGP_2 = 2,
+ PGP_5 = 5
+} pgpVersion;
+
+Header rpmNewSignature(void);
+
+rpmRC rpmReadSignature(FD_t fd, Header *sighp,
+ sigType sig_type, const char ** msg);
+
+int rpmWriteSignature(FD_t fd, Header h);
+
+int rpmAddSignature(Header sig, const char * file,
+ int_32 sigTag, const char * passPhrase);
+
+#define RPMLOOKUPSIG_QUERY 0 /*!< Lookup type in effect */
+#define RPMLOOKUPSIG_DISABLE 1 /*!< Disable (--sign was not given) */
+#define RPMLOOKUPSIG_ENABLE 2 /*!< Re-enable %_signature */
+
+int rpmLookupSignatureType(int action);
+
+char * rpmGetPassPhrase(const char * prompt,
+ const int sigTag);
+
+const char * rpmDetectPGPVersion(pgpVersion * pgpVer);
+
+#endif /* H_SIGNATURE */
+
+#ifndef H_HEADER_INTERNAL
+
+#ifdef HD_HEADER_INTERNAL
+/** \ingroup header
+ * Description of tag data.
+ */
+typedef /*@abstract@*/ struct entryInfo_s * entryInfo;
+struct entryInfo_s {
+ int_32 tag; /*!< Tag identifier. */
+ int_32 type; /*!< Tag data type. */
+ int_32 offset; /*!< Offset into data segment (ondisk only). */
+ int_32 count; /*!< Number of tag elements. */
+};
+
+/** \ingroup header
+ * A single tag from a Header.
+ */
+typedef /*@abstract@*/ struct indexEntry_s * indexEntry;
+struct indexEntry_s {
+ struct entryInfo_s info; /*!< Description of tag data. */
+/*@owned@*/
+ void * data; /*!< Location of tag data. */
+ int length; /*!< No. bytes of data. */
+ int rdlen; /*!< No. bytes of data in region. */
+};
+
+struct headerToken_s {
+ /*@unused@*/
+ struct HV_s hv; /*!< Header public methods. */
+ /*@only@*/ /*@null@*/
+ void * blob; /*!< Header region blob. */
+ /*@owned@*/
+ indexEntry index; /*!< Array of tags. */
+ int indexUsed; /*!< Current size of tag array. */
+ int indexAlloced; /*!< Allocated size of tag array. */
+ int flags;
+#define HEADERFLAG_SORTED (1 << 0) /*!< Are header entries sorted? */
+#define HEADERFLAG_ALLOCATED (1 << 1) /*!< Is 1st header region allocated? */
+#define HEADERFLAG_LEGACY (1 << 2) /*!< Header came from legacy source? */
+#define HEADERFLAG_DEBUG (1 << 3) /*!< Debug this header? */
+ /*@refs@*/
+ int nrefs; /*!< Reference count. */
+};
+#endif
+
+#endif /* H_HEADER_INTERNAL */
+
+#ifndef H_LEGACY
+
+void compressFilelist(Header h);
+void expandFilelist(Header h);
+
+#endif /* H_LEGACY */
+
+#endif