Merge pull request #280 from aliaspider/master
[pcsx_rearmed.git] / deps / crypto / md5.h
1 /*********************************************************************
2 * Filename:   md5.h
3 * Author:     Brad Conte (brad AT bradconte.com)
4 * Copyright:
5 * Disclaimer: This code is presented "as is" without any guarantees.
6 * Details:    Defines the API for the corresponding MD5 implementation.
7 *********************************************************************/
8
9 #ifndef MD5_H
10 #define MD5_H
11
12 /*************************** HEADER FILES ***************************/
13 #include <stddef.h>
14 #include "crypto_types.h"
15
16 /****************************** MACROS ******************************/
17 #define MD5_BLOCK_SIZE 16               // MD5 outputs a 16 byte digest
18
19 /**************************** DATA TYPES ****************************/
20
21 typedef struct {
22    BYTE data[64];
23    WORD datalen;
24    unsigned long long bitlen;
25    WORD state[4];
26 } MD5_CTX;
27
28 /*********************** FUNCTION DECLARATIONS **********************/
29 void md5_init(MD5_CTX *ctx);
30 void md5_update(MD5_CTX *ctx, const BYTE data[], size_t len);
31 void md5_final(MD5_CTX *ctx, BYTE hash[]);
32
33 #endif   // MD5_H