X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=lib%2Fcurl_md5.h;h=9c0e0b5eee657491fe8f1bfda67e6fbd166b3d1c;hb=f069b40f9d1bf1ebd9a35ce416077de0881186c6;hp=cd520bc9d081b38a5aa611209a36987e271bc4fc;hpb=87fbcb4494dc942e38396e71a3c9c633d779a8f1;p=platform%2Fupstream%2Fcurl.git diff --git a/lib/curl_md5.h b/lib/curl_md5.h index cd520bc..9c0e0b5 100644 --- a/lib/curl_md5.h +++ b/lib/curl_md5.h @@ -25,10 +25,39 @@ #ifndef CURL_DISABLE_CRYPTO_AUTH #include "curl_hmac.h" -const HMAC_params Curl_HMAC_MD5[1]; +#define MD5_DIGEST_LEN 16 + +typedef void (* Curl_MD5_init_func)(void *context); +typedef void (* Curl_MD5_update_func)(void *context, + const unsigned char *data, + unsigned int len); +typedef void (* Curl_MD5_final_func)(unsigned char *result, void *context); + +typedef struct { + Curl_MD5_init_func md5_init_func; /* Initialize context procedure */ + Curl_MD5_update_func md5_update_func; /* Update context with data */ + Curl_MD5_final_func md5_final_func; /* Get final result procedure */ + unsigned int md5_ctxtsize; /* Context structure size */ + unsigned int md5_resultlen; /* Result length (bytes) */ +} MD5_params; + +typedef struct { + const MD5_params *md5_hash; /* Hash function definition */ + void *md5_hashctx; /* Hash function context */ +} MD5_context; + +extern const MD5_params Curl_DIGEST_MD5[1]; +extern const HMAC_params Curl_HMAC_MD5[1]; void Curl_md5it(unsigned char *output, const unsigned char *input); + +MD5_context * Curl_MD5_init(const MD5_params *md5params); +int Curl_MD5_update(MD5_context *context, + const unsigned char *data, + unsigned int len); +int Curl_MD5_final(MD5_context *context, unsigned char *result); + #endif #endif /* HEADER_CURL_MD5_H */