Add aesni_gcm_mult()
diff --git a/include/polarssl/aesni.h b/include/polarssl/aesni.h
index b53c0c0..f3f9fc3 100644
--- a/include/polarssl/aesni.h
+++ b/include/polarssl/aesni.h
@@ -58,13 +58,29 @@
  * \param input    16-byte input block
  * \param output   16-byte output block
  *
- * \return         0 if success, 1 if operation failed
+ * \return         0 on success (cannot fail)
  */
 int aesni_crypt_ecb( aes_context *ctx,
                      int mode,
                      const unsigned char input[16],
                      unsigned char output[16] );
 
+/**
+ * \brief          GCM multiplication: c = a * b in GF(2^128)
+ *
+ * \param c        Result
+ * \param a        First operand
+ * \param b        Second operand
+ *
+ * \note           Both operands and result are bit strings interpreted as
+ *                 elements of GF(2^128) as per the GCM spec.
+ *
+ * \return         0 on success (cannot fail)
+ */
+int aesni_gcm_mult( unsigned char c[16],
+                    const unsigned char a[16],
+                    const unsigned char b[16] );
+
 #endif /* POLARSSL_HAVE_X86_64 */
 
 #endif /* POLARSSL_AESNI_H */