mirror of
https://xff.cz/git/u-boot/
synced 2025-09-27 05:21:16 +02:00
Use of typedef is beneficial for porting with other crypto libs without changing the API callers. Secondly, it is for the code consistency with other digest libs. SHA1, SHA256 and SHA512 are all using typedef for their context. Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
/*
|
|
* This file was transplanted with slight modifications from Linux sources
|
|
* (fs/cifs/md5.h) into U-Boot by Bartlomiej Sieka <tur@semihalf.com>.
|
|
*/
|
|
|
|
#ifndef _MD5_H
|
|
#define _MD5_H
|
|
|
|
#include "compiler.h"
|
|
|
|
#define MD5_SUM_LEN 16
|
|
|
|
typedef struct MD5Context {
|
|
__u32 buf[4];
|
|
__u32 bits[2];
|
|
union {
|
|
unsigned char in[64];
|
|
__u32 in32[16];
|
|
};
|
|
} MD5Context;
|
|
|
|
void MD5Init(MD5Context *ctx);
|
|
void MD5Update(MD5Context *ctx, unsigned char const *buf, unsigned int len);
|
|
void MD5Final(unsigned char digest[16], MD5Context *ctx);
|
|
|
|
/*
|
|
* Calculate and store in 'output' the MD5 digest of 'len' bytes at
|
|
* 'input'. 'output' must have enough space to hold 16 bytes.
|
|
*/
|
|
void md5 (unsigned char *input, int len, unsigned char output[16]);
|
|
|
|
/*
|
|
* Calculate and store in 'output' the MD5 digest of 'len' bytes at 'input'.
|
|
* 'output' must have enough space to hold 16 bytes. If 'chunk' Trigger the
|
|
* watchdog every 'chunk_sz' bytes of input processed.
|
|
*/
|
|
void md5_wd(const unsigned char *input, unsigned int len,
|
|
unsigned char output[16], unsigned int chunk_sz);
|
|
|
|
#endif /* _MD5_H */
|