- Added reset functionality for HMAC context. Speed-up for some use-cases.

diff --git a/include/polarssl/md2.h b/include/polarssl/md2.h
index 37eef0a..71040eb 100644
--- a/include/polarssl/md2.h
+++ b/include/polarssl/md2.h
@@ -113,6 +113,13 @@
 void md2_hmac_finish( md2_context *ctx, unsigned char output[16] );
 
 /**
+ * \brief          MD2 HMAC context reset
+ *
+ * \param ctx      HMAC context to be reset
+ */
+void md2_hmac_reset( md2_context *ctx );
+
+/**
  * \brief          Output = HMAC-MD2( hmac key, input buffer )
  *
  * \param key      HMAC secret key
diff --git a/include/polarssl/md4.h b/include/polarssl/md4.h
index c590736..24b90ec 100644
--- a/include/polarssl/md4.h
+++ b/include/polarssl/md4.h
@@ -112,6 +112,13 @@
 void md4_hmac_finish( md4_context *ctx, unsigned char output[16] );
 
 /**
+ * \brief          MD4 HMAC context reset
+ *
+ * \param ctx      HMAC context to be reset
+ */
+void md4_hmac_reset( md4_context *ctx );
+
+/**
  * \brief          Output = HMAC-MD4( hmac key, input buffer )
  *
  * \param key      HMAC secret key
diff --git a/include/polarssl/md5.h b/include/polarssl/md5.h
index 2f62ed1..ac28a0b 100644
--- a/include/polarssl/md5.h
+++ b/include/polarssl/md5.h
@@ -114,6 +114,13 @@
 void md5_hmac_finish( md5_context *ctx, unsigned char output[16] );
 
 /**
+ * \brief          MD5 HMAC context reset
+ *
+ * \param ctx      HMAC context to be reset
+ */
+void md5_hmac_reset( md5_context *ctx );
+
+/**
  * \brief          Output = HMAC-MD5( hmac key, input buffer )
  *
  * \param key      HMAC secret key
diff --git a/include/polarssl/sha1.h b/include/polarssl/sha1.h
index ec08450..060f720 100644
--- a/include/polarssl/sha1.h
+++ b/include/polarssl/sha1.h
@@ -112,6 +112,13 @@
 void sha1_hmac_finish( sha1_context *ctx, unsigned char output[20] );
 
 /**
+ * \brief          SHA-1 HMAC context reset
+ *
+ * \param ctx      HMAC context to be reset
+ */
+void sha1_hmac_reset( sha1_context *ctx );
+
+/**
  * \brief          Output = HMAC-SHA-1( hmac key, input buffer )
  *
  * \param key      HMAC secret key
diff --git a/include/polarssl/sha2.h b/include/polarssl/sha2.h
index 8b65e9f..d9f3855 100644
--- a/include/polarssl/sha2.h
+++ b/include/polarssl/sha2.h
@@ -119,6 +119,13 @@
 void sha2_hmac_finish( sha2_context *ctx, unsigned char output[32] );
 
 /**
+ * \brief          SHA-256 HMAC context reset
+ *
+ * \param ctx      HMAC context to be reset
+ */
+void sha2_hmac_reset( sha2_context *ctx );
+
+/**
  * \brief          Output = HMAC-SHA-256( hmac key, input buffer )
  *
  * \param key      HMAC secret key
diff --git a/include/polarssl/sha4.h b/include/polarssl/sha4.h
index 3a14c91..eb35f04 100644
--- a/include/polarssl/sha4.h
+++ b/include/polarssl/sha4.h
@@ -127,6 +127,13 @@
 void sha4_hmac_finish( sha4_context *ctx, unsigned char output[64] );
 
 /**
+ * \brief          SHA-512 HMAC context reset
+ *
+ * \param ctx      HMAC context to be reset
+ */
+void sha4_hmac_reset( sha4_context *ctx );
+
+/**
  * \brief          Output = HMAC-SHA-512( hmac key, input buffer )
  *
  * \param key      HMAC secret key