Fixed version number
[libgcrypt.git] / src / gcrypt.h
index 5db199c..b691102 100644 (file)
@@ -31,7 +31,7 @@
 
 #ifdef __cplusplus
 extern "C" {
-#if 0 /* keep Emacsens's auto-indent happy */
+#if 0 /* keep Emacsens' auto-indent happy */
 }
 #endif
 #endif
@@ -42,7 +42,7 @@ extern "C" {
    autoconf (using the AM_PATH_GCRYPT macro) check that this header
    matches the installed library.  Note: Do not edit the next line as
    configure may fix the string here.  */
-#define GCRYPT_VERSION "1.1.43-cvs"
+#define GCRYPT_VERSION "1.1.44"
 
 /* Internal: We can't use the convenience macros for the multi
    precision integer functions when building this library. */
@@ -53,7 +53,7 @@ extern "C" {
 #endif
 
 /* We want to use gcc attributes when possible.  Warning: Don't use
-   these macros in your progranms: As indicated by the leading
+   these macros in your programs: As indicated by the leading
    underscore they are subject to change without notice. */
 #ifdef __GNUC__
 
@@ -91,7 +91,7 @@ typedef gpg_error_t gcry_error_t;
 typedef gpg_err_code_t gcry_err_code_t;
 typedef gpg_err_source_t gcry_err_source_t;
 
-static __inline__ gcry_error_t
+static GPG_ERR_INLINE gcry_error_t
 gcry_err_make (gcry_err_source_t source, gcry_err_code_t code)
 {
   return gpg_err_make (source, code);
@@ -103,20 +103,20 @@ gcry_err_make (gcry_err_source_t source, gcry_err_code_t code)
 #define GCRY_ERR_SOURCE_DEFAULT  GPG_ERR_SOURCE_USER_1
 #endif
 
-static __inline__ gcry_error_t
+static GPG_ERR_INLINE gcry_error_t
 gcry_error (gcry_err_code_t code)
 {
   return gcry_err_make (GCRY_ERR_SOURCE_DEFAULT, code);
 }
 
-static __inline__ gcry_err_code_t
+static GPG_ERR_INLINE gcry_err_code_t
 gcry_err_code (gcry_error_t err)
 {
   return gpg_err_code (err);
 }
 
 
-static __inline__ gcry_err_source_t
+static GPG_ERR_INLINE gcry_err_source_t
 gcry_err_source (gcry_error_t err)
 {
   return gpg_err_source (err);
@@ -765,7 +765,7 @@ gcry_error_t gcry_pk_sign (gcry_sexp_t *result, gcry_sexp_t data, gcry_sexp_t sk
 /* Check the signature SIGVAL on DATA using the public key PKEY. */
 gcry_error_t gcry_pk_verify (gcry_sexp_t sigval, gcry_sexp_t data, gcry_sexp_t pkey);
 
-/* Check that KEY (either private or public) is sane. */
+/* Check that private KEY is sane. */
 gcry_error_t gcry_pk_testkey (gcry_sexp_t key);
 
 /* Generate a new key pair according to the parameters given in
@@ -1201,7 +1201,7 @@ void gcry_mpi_randomize (gcry_mpi_t w,
 
 /* Prime interface.  */
 
-typedef int (*gcry_prime_check_func_t) (void *arg, int reserved,
+typedef int (*gcry_prime_check_func_t) (void *arg, int mode,
                                        gcry_mpi_t candidate);
 
 /* Flags for gcry_prime_generate():  */
@@ -1228,6 +1228,19 @@ gcry_error_t gcry_prime_generate (gcry_mpi_t *prime,
                                  gcry_random_level_t random_level,
                                  unsigned int flags);
 
+/* Find a generator for PRIME where the factorization of (prime-1) is
+   in the NULL terminated array FACTORS. Return the generator as a
+   newly allocated MPI in R_G.  If START_G is not NULL, use this as
+   teh start for the search. */
+gcry_error_t gcry_prime_group_generator (gcry_mpi_t *r_g,
+                                         gcry_mpi_t prime, gcry_mpi_t *factors,
+                                         gcry_mpi_t start_g);
+
+
+/* Convenience function to release the FACTORS array. */
+void gcry_prime_release_factors (gcry_mpi_t *factors);
+
+
 /* Check wether the number X is prime.  */
 gcry_error_t gcry_prime_check (gcry_mpi_t x, unsigned int flags);
 
@@ -1324,7 +1337,7 @@ int gcry_is_secure (const void *a) _GCRY_GCC_ATTR_PURE;
 /* Include support for Libgcrypt modules.  */
 #include <gcrypt-module.h>
 
-#if 0 /* keep Emacsens's auto-indent happy */
+#if 0 /* keep Emacsens' auto-indent happy */
 {
 #endif
 #ifdef __cplusplus