strtoumax: fix typo in previous commit.
[gnulib.git] / lib / gc.h
index 35d3f8a..d2cd7d8 100644 (file)
--- a/lib/gc.h
+++ b/lib/gc.h
@@ -1,5 +1,5 @@
 /* gc.h --- Header file for implementation agnostic crypto wrapper API.
- * Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008  Simon Josefsson
+ * Copyright (C) 2002-2005, 2007-2008, 2011-2013 Free Software Foundation, Inc.
  *
  * This file is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published
@@ -12,9 +12,7 @@
  * General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this file; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
+ * along with this file; if not, see <http://www.gnu.org/licenses/>.
  *
  */
 
@@ -107,10 +105,10 @@ typedef int (*gc_secure_check_t) (const void *);
 typedef void *(*gc_realloc_t) (void *p, size_t n);
 typedef void (*gc_free_t) (void *);
 extern void gc_set_allocators (gc_malloc_t func_malloc,
-                              gc_malloc_t secure_malloc,
-                              gc_secure_check_t secure_check,
-                              gc_realloc_t func_realloc,
-                              gc_free_t func_free);
+                               gc_malloc_t secure_malloc,
+                               gc_secure_check_t secure_check,
+                               gc_realloc_t func_realloc,
+                               gc_free_t func_free);
 
 /* Randomness. */
 extern Gc_rc gc_nonce (char *data, size_t datalen);
@@ -119,27 +117,27 @@ extern Gc_rc gc_random (char *data, size_t datalen);
 
 /* Ciphers. */
 extern Gc_rc gc_cipher_open (Gc_cipher cipher, Gc_cipher_mode mode,
-                            gc_cipher_handle *outhandle);
+                             gc_cipher_handle *outhandle);
 extern Gc_rc gc_cipher_setkey (gc_cipher_handle handle,
-                              size_t keylen, const char *key);
+                               size_t keylen, const char *key);
 extern Gc_rc gc_cipher_setiv (gc_cipher_handle handle,
-                             size_t ivlen, const char *iv);
+                              size_t ivlen, const char *iv);
 extern Gc_rc gc_cipher_encrypt_inline (gc_cipher_handle handle,
-                                      size_t len, char *data);
+                                       size_t len, char *data);
 extern Gc_rc gc_cipher_decrypt_inline (gc_cipher_handle handle,
-                                      size_t len, char *data);
+                                       size_t len, char *data);
 extern Gc_rc gc_cipher_close (gc_cipher_handle handle);
 
 /* Hashes. */
 
 extern Gc_rc gc_hash_open (Gc_hash hash, Gc_hash_mode mode,
-                          gc_hash_handle *outhandle);
+                           gc_hash_handle *outhandle);
 extern Gc_rc gc_hash_clone (gc_hash_handle handle, gc_hash_handle *outhandle);
 extern size_t gc_hash_digest_length (Gc_hash hash);
 extern void gc_hash_hmac_setkey (gc_hash_handle handle,
-                                size_t len, const char *key);
+                                 size_t len, const char *key);
 extern void gc_hash_write (gc_hash_handle handle,
-                          size_t len, const char *data);
+                           size_t len, const char *data);
 extern const char *gc_hash_read (gc_hash_handle handle);
 extern void gc_hash_close (gc_hash_handle handle);
 
@@ -158,9 +156,13 @@ extern Gc_rc gc_md4 (const void *in, size_t inlen, void *resbuf);
 extern Gc_rc gc_md5 (const void *in, size_t inlen, void *resbuf);
 extern Gc_rc gc_sha1 (const void *in, size_t inlen, void *resbuf);
 extern Gc_rc gc_hmac_md5 (const void *key, size_t keylen,
-                         const void *in, size_t inlen, char *resbuf);
+                          const void *in, size_t inlen, char *resbuf);
 extern Gc_rc gc_hmac_sha1 (const void *key, size_t keylen,
-                          const void *in, size_t inlen, char *resbuf);
+                           const void *in, size_t inlen, char *resbuf);
+extern Gc_rc gc_hmac_sha256 (const void *key, size_t keylen,
+                             const void *in, size_t inlen, char *resbuf);
+extern Gc_rc gc_hmac_sha512 (const void *key, size_t keylen,
+                             const void *in, size_t inlen, char *resbuf);
 
 /* Derive cryptographic keys from a password P of length PLEN, with
    salt S of length SLEN, placing the result in pre-allocated buffer
@@ -168,11 +170,11 @@ extern Gc_rc gc_hmac_sha1 (const void *key, size_t keylen,
    larger value means this function take more time (typical iteration
    counts are 1000-20000).  This function "stretches" the key to be
    exactly dkLen bytes long.  GC_OK is returned on success, otherwise
-   an Gc_rc error code is returned.  */
+   a Gc_rc error code is returned.  */
 extern Gc_rc
 gc_pbkdf2_sha1 (const char *P, size_t Plen,
-               const char *S, size_t Slen,
-               unsigned int c, char *DK, size_t dkLen);
+                const char *S, size_t Slen,
+                unsigned int c, char *DK, size_t dkLen);
 
 /*
   TODO: