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
59 #define POLARSSL_MD_MAX_SIZE 64
76 void (*starts_func)(
void *ctx );
79 void (*update_func)(
void *ctx,
const unsigned char *input,
size_t ilen );
82 void (*finish_func)(
void *ctx,
unsigned char *output );
85 void (*digest_func)(
const unsigned char *input,
size_t ilen,
86 unsigned char *output );
89 int (*file_func)(
const char *path,
unsigned char *output );
92 void (*hmac_starts_func)(
void *ctx,
const unsigned char *key,
size_t keylen );
95 void (*hmac_update_func)(
void *ctx,
const unsigned char *input,
size_t ilen );
98 void (*hmac_finish_func)(
void *ctx,
unsigned char *output);
101 void (*hmac_reset_func)(
void *ctx );
104 void (*hmac_func)(
const unsigned char *key,
size_t keylen,
105 const unsigned char *input,
size_t ilen,
106 unsigned char *output );
109 void * (*ctx_alloc_func)( void );
112 void (*ctx_free_func)(
void *ctx );
127 #define MD_CONTEXT_T_INIT { \
201 return md_info->
size;
213 return md_info->
type;
225 return md_info->
name;
272 int md(
const md_info_t *md_info,
const unsigned char *input,
size_t ilen,
273 unsigned char *output );
286 int md_file(
const md_info_t *md_info,
const char *path,
unsigned char *output );
346 int md_hmac(
const md_info_t *md_info,
const unsigned char *key,
size_t keylen,
347 const unsigned char *input,
size_t ilen,
348 unsigned char *output );