34 #if defined(_MSC_VER) && !defined(inline)
35 #define inline _inline
37 #if defined(__ARMCC_VERSION) && !defined(inline)
38 #define inline __inline
42 #define POLARSSL_ERR_MD_FEATURE_UNAVAILABLE -0x5080
43 #define POLARSSL_ERR_MD_BAD_INPUT_DATA -0x5100
44 #define POLARSSL_ERR_MD_ALLOC_FAILED -0x5180
45 #define POLARSSL_ERR_MD_FILE_IO_ERROR -0x5200
63 #if defined(POLARSSL_SHA512_C)
64 #define POLARSSL_MD_MAX_SIZE 64
66 #define POLARSSL_MD_MAX_SIZE 32
84 void (*starts_func)(
void *ctx );
87 void (*update_func)(
void *ctx,
const unsigned char *input,
size_t ilen );
90 void (*finish_func)(
void *ctx,
unsigned char *output );
93 void (*digest_func)(
const unsigned char *input,
size_t ilen,
94 unsigned char *output );
97 int (*file_func)(
const char *path,
unsigned char *output );
100 void (*hmac_starts_func)(
void *ctx,
const unsigned char *key,
size_t keylen );
103 void (*hmac_update_func)(
void *ctx,
const unsigned char *input,
size_t ilen );
106 void (*hmac_finish_func)(
void *ctx,
unsigned char *output);
109 void (*hmac_reset_func)(
void *ctx );
112 void (*hmac_func)(
const unsigned char *key,
size_t keylen,
113 const unsigned char *input,
size_t ilen,
114 unsigned char *output );
117 void * (*ctx_alloc_func)( void );
120 void (*ctx_free_func)(
void *ctx );
123 void (*process_func)(
void *ctx,
const unsigned char *input );
137 #define MD_CONTEXT_T_INIT { \
207 if( md_info == NULL )
210 return md_info->
size;
222 if( md_info == NULL )
225 return md_info->
type;
237 if( md_info == NULL )
240 return md_info->
name;
287 int md(
const md_info_t *md_info,
const unsigned char *input,
size_t ilen,
288 unsigned char *output );
301 int md_file(
const md_info_t *md_info,
const char *path,
unsigned char *output );
361 int md_hmac(
const md_info_t *md_info,
const unsigned char *key,
size_t keylen,
362 const unsigned char *input,
size_t ilen,
363 unsigned char *output );