+++ /dev/null
-#ifndef hmac_h
-#define hmac_h
-
-#include <string.h>
-
-/*
-** Copyright 1998 - 2005 Double Precision, Inc.
-** See COPYING for distribution information.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static const char hmac_h_rcsid[]="$Id: hmac.h,v 1.7 2009/06/27 17:12:00 mrsam Exp $";
-
-struct hmac_hashinfo { /* HMAC hash function descriptor */
-
- const char *hh_name; /* Name of this hash function (md5, sha1...) */
-
- size_t hh_B; /* Length of compression blocks */
- size_t hh_L; /* Length of hash outputs */
-
- size_t hh_S; /* Length of 'context structure' */
-
- /* Hash functions */
-
- void (*hh_init)(void *); /* Initialize context structure */
- void (*hh_hash)(void *, const void *, unsigned);
- /* Feed the hash function */
- void (*hh_endhash)(void *, unsigned long); /* Calculate final hash */
-
- void (*hh_getdigest)(void *, unsigned char *); /* Get the hash value */
- void (*hh_setdigest)(void *, const unsigned char *);
- /* Set the hash value */
-
- /* Some helper functions */
-
- /* Allocate context on stack, instead of mallocing it. Calls the
- ** provided function pointer, with context as first arg. The second
- ** arg will be passed as provided.
- */
-
- void (*hh_allocacontext)(void (*)(void *, void *), void *);
-
- /* Like allocacontext, but alloc buffer for hash value, hh_L */
-
- void (*hh_allocaval)(void (*)(unsigned char *, void *), void *);
-
- } ;
-
-/* Known hash functions */
-
-extern struct hmac_hashinfo hmac_md5, hmac_sha1, hmac_sha256;
-
-/*
-** List of installed hash functions, dynamically generated at configuration
-** time.
-*/
-
-extern struct hmac_hashinfo *hmac_list[];
-
-/*
- To calculate an HMAC, allocate three buffers - outer, inner, and hash.
- Call hmac_hashkey, then hmac_hashtext.
-
- After hmac_haskey returns, the contents of inner and outer can be
- saved, as they contain a complete intermediate state of the hash
- calculation.
-*/
-
-void hmac_hashkey(
- const struct hmac_hashinfo *,
- const char *, /* Key */
- size_t, /* Key length */
- unsigned char *, /* Output - outer buffer, prehashed */
- unsigned char *); /* Output - inner buffer, prehashed */
-
-void hmac_hashtext (
- const struct hmac_hashinfo *,
- const char *, /* Text */
- size_t, /* Text length */
- const unsigned char *, /* outer buffer, prehashed */
- const unsigned char *, /* inner buffer, prehashed */
- unsigned char *); /* Output - the hash */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif