33645f4ad2
original Intel code (BSD-licensed) in othersrc, by myself. This provides an iSCSI target implementation in userland, as well as a test harness which also runs in userland. The iSCSI target has been tested with version 1.06 of the Microsoft initiator, as well as with its own test harness.
55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
/*
|
|
* This is the header file for the MD5 message-digest algorithm.
|
|
* The algorithm is due to Ron Rivest. This code was
|
|
* written by Colin Plumb in 1993, no copyright is claimed.
|
|
* This code is in the public domain; do with it what you wish.
|
|
*
|
|
* Equivalent code is available from RSA Data Security, Inc.
|
|
* This code has been tested against that, and is equivalent,
|
|
* except that you don't need to include two pages of legalese
|
|
* with every copy.
|
|
*
|
|
* To compute the message digest of a chunk of bytes, declare an
|
|
* MD5Context structure, pass it to MD5Init, call MD5Update as
|
|
* needed on buffers full of bytes, and then call MD5Final, which
|
|
* will fill a supplied 16-byte array with the digest.
|
|
*
|
|
* Changed so as no longer to depend on Colin Plumb's `usual.h'
|
|
* header definitions; now uses stuff from dpkg's config.h
|
|
* - Ian Jackson <ijackson@nyx.cs.du.edu>.
|
|
* Still in the public domain.
|
|
*/
|
|
|
|
#ifndef MD5_H
|
|
#define MD5_H
|
|
|
|
|
|
|
|
|
|
typedef uint32_t UWORD32;
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
#define md5byte uint8_t
|
|
|
|
|
|
struct MD5Context {
|
|
UWORD32 buf[4];
|
|
UWORD32 bytes[2];
|
|
UWORD32 in[16];
|
|
};
|
|
|
|
void MD5Init(struct MD5Context *context);
|
|
void MD5Update(struct MD5Context *context, md5byte const *buf, uint32_t len);
|
|
void MD5Final(uint8_t digest[16], struct MD5Context *context);
|
|
void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* !MD5_H */
|