Export the MD5 step-by-step API so that it is possible for the lib users to digest files by chunks. This is especially useful for very large files that would not fit into the embedded RAM.
Signed-off-by: Benoît Thébaudeau <benoit.thebaud...@advansee.com> Cc: Wolfgang Denk <w...@denx.de> --- .../include/u-boot/md5.h | 4 ++++ {u-boot-66714b1.orig => u-boot-66714b1}/lib/md5.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git u-boot-66714b1.orig/include/u-boot/md5.h u-boot-66714b1/include/u-boot/md5.h index e09c16a..e5cb923 100644 --- u-boot-66714b1.orig/include/u-boot/md5.h +++ u-boot-66714b1/include/u-boot/md5.h @@ -17,6 +17,10 @@ struct MD5Context { }; }; +void MD5Init(struct MD5Context *ctx); +void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len); +void MD5Final(unsigned char digest[16], struct MD5Context *ctx); + /* * Calculate and store in 'output' the MD5 digest of 'len' bytes at * 'input'. 'output' must have enough space to hold 16 bytes. diff --git u-boot-66714b1.orig/lib/md5.c u-boot-66714b1/lib/md5.c index 2ae4a06..688b725 100644 --- u-boot-66714b1.orig/lib/md5.c +++ u-boot-66714b1/lib/md5.c @@ -55,7 +55,7 @@ byteReverse(unsigned char *buf, unsigned longs) * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ -static void +void MD5Init(struct MD5Context *ctx) { ctx->buf[0] = 0x67452301; @@ -71,7 +71,7 @@ MD5Init(struct MD5Context *ctx) * Update context to reflect the concatenation of another buffer full * of bytes. */ -static void +void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len) { register __u32 t; @@ -120,7 +120,7 @@ MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len) * Final wrapup - pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ -static void +void MD5Final(unsigned char digest[16], struct MD5Context *ctx) { unsigned int count; _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot