29 #include <sys/types.h> 
   36 #include "sha2/sha2.h" 
   40 #define DTLS_HASH_CTX_SIZE sizeof(SHA256_CTX) 
   44   SHA256_Init((SHA256_CTX *)ctx);
 
   49   SHA256_Update((SHA256_CTX *)ctx, input, len);
 
   54   SHA256_Final(buf, (SHA256_CTX *)ctx);
 
   55   return SHA256_DIGEST_LENGTH;
 
   73 #define DTLS_HMAC_BLOCKSIZE   64     
   74 #define DTLS_HMAC_DIGEST_SIZE 32     
   75 #define DTLS_HMAC_MAX         64     
  137               const unsigned char *input, 
size_t ilen);
 
void dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen)
void dtls_hmac_free(dtls_hmac_context_t *ctx)
void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen)
dtls_hmac_context_t * dtls_hmac_new(const unsigned char *key, size_t klen)
static void dtls_hash_init(dtls_hash_t ctx)
dtls_hash_ctx * dtls_hash_t
static void dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len)
int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result)
#define DTLS_HMAC_BLOCKSIZE
static size_t dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx)
static void dtls_hmac_storage_init()