summaryrefslogtreecommitdiff
path: root/include/net-snmp/library/md5.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net-snmp/library/md5.h')
-rw-r--r--include/net-snmp/library/md5.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/include/net-snmp/library/md5.h b/include/net-snmp/library/md5.h
new file mode 100644
index 0000000..12b192a
--- /dev/null
+++ b/include/net-snmp/library/md5.h
@@ -0,0 +1,71 @@
+/*
+ * ** **************************************************************************
+ * ** md5.h -- Header file for implementation of MD5 Message Digest Algorithm **
+ * ** Updated: 2/13/90 by Ronald L. Rivest **
+ * ** (C) 1990 RSA Data Security, Inc. **
+ * ** **************************************************************************
+ */
+
+#ifndef MD5_H
+#define MD5_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+ /*
+ * MDstruct is the data structure for a message digest computation.
+ */
+ typedef struct {
+ unsigned int buffer[4]; /* Holds 4-word result of MD computation */
+ unsigned char count[8]; /* Number of bits processed so far */
+ unsigned int done; /* Nonzero means MD computation finished */
+ } MDstruct , *MDptr;
+
+ /*
+ * MDbegin(MD)
+ * ** Input: MD -- an MDptr
+ * ** Initialize the MDstruct prepatory to doing a message digest computation.
+ */
+ NETSNMP_IMPORT void MDbegin(MDptr);
+
+ /*
+ * MDupdate(MD,X,count)
+ * ** Input: MD -- an MDptr
+ * ** X -- a pointer to an array of unsigned characters.
+ * ** count -- the number of bits of X to use (an unsigned int).
+ * ** Updates MD using the first ``count'' bits of X.
+ * ** The array pointed to by X is not modified.
+ * ** If count is not a multiple of 8, MDupdate uses high bits of last byte.
+ * ** This is the basic input routine for a user.
+ * ** The routine terminates the MD computation when count < 512, so
+ * ** every MD computation should end with one call to MDupdate with a
+ * ** count less than 512. Zero is OK for a count.
+ */
+ NETSNMP_IMPORT int MDupdate(MDptr, const unsigned char *, unsigned int);
+
+ /*
+ * MDprint(MD)
+ * ** Input: MD -- an MDptr
+ * ** Prints message digest buffer MD as 32 hexadecimal digits.
+ * ** Order is from low-order byte of buffer[0] to high-order byte of buffer[3].
+ * ** Each byte is printed with high-order hexadecimal digit first.
+ */
+ extern void MDprint(MDptr);
+
+ int MDchecksum(const u_char * data, size_t len, u_char * mac,
+ size_t maclen);
+ int MDsign(const u_char * data, size_t len, u_char * mac,
+ size_t maclen, const u_char * secret,
+ size_t secretlen);
+ void MDget(MDstruct * MD, u_char * buf, size_t buflen);
+
+ /*
+ * ** End of md5.h
+ * ****************************(cut)****************************************
+ */
+#ifdef __cplusplus
+}
+#endif
+#endif /* MD5_H */