aboutsummaryrefslogtreecommitdiffstats
path: root/camel/md5-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'camel/md5-utils.h')
-rw-r--r--camel/md5-utils.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/camel/md5-utils.h b/camel/md5-utils.h
new file mode 100644
index 0000000000..cebc073609
--- /dev/null
+++ b/camel/md5-utils.h
@@ -0,0 +1,36 @@
+#ifndef MD5_H
+#define MD5_H
+
+#ifdef __alpha
+typedef unsigned int uint32;
+#else
+typedef unsigned long uint32;
+#endif
+
+struct MD5Context {
+ uint32 buf[4];
+ uint32 bits[2];
+ unsigned char in[64];
+ int doByteReverse;
+};
+
+void rpmMD5Init(struct MD5Context *context, int brokenEndian);
+void rpmMD5Update(struct MD5Context *context, unsigned char const *buf,
+ unsigned len);
+void rpmMD5Final(unsigned char digest[16], struct MD5Context *context);
+void rpmMD5Transform(uint32 buf[4], uint32 const in[16]);
+
+int mdfile(const char *fn, unsigned char *digest);
+int mdbinfile(const char *fn, unsigned char *bindigest);
+
+/* These assume a little endian machine and return incorrect results!
+ They are here for compatibility with old (broken) versions of RPM */
+int mdfileBroken(const char *fn, unsigned char *digest);
+int mdbinfileBroken(const char *fn, unsigned char *bindigest);
+
+/*
+ * This is needed to make RSAREF happy on some MS-DOS compilers.
+ */
+typedef /*@abstract@*/ struct MD5Context MD5_CTX;
+
+#endif /* MD5_H */