summaryrefslogtreecommitdiff
path: root/src/mpi.h
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2001-05-31 14:16:54 +0000
committerWerner Koch <wk@gnupg.org>2001-05-31 14:16:54 +0000
commit8bfa2df2135a1bd9823067debf0c8799bac4a936 (patch)
treeb91075d39633de4f762dca14ae2323053ded62c8 /src/mpi.h
parent08e3fbb986bed2f39cc5dca806faca9654c3a6df (diff)
downloadlibgcrypt-8bfa2df2135a1bd9823067debf0c8799bac4a936.tar.gz
The first libgcrypt only release.
Diffstat (limited to 'src/mpi.h')
-rw-r--r--src/mpi.h161
1 files changed, 97 insertions, 64 deletions
diff --git a/src/mpi.h b/src/mpi.h
index 0851b41f..639cd252 100644
--- a/src/mpi.h
+++ b/src/mpi.h
@@ -1,5 +1,5 @@
/* mpi.h - Multi Precision Integers
- * Copyright (C) 1994, 1996, 1998 Free Software Foundation, Inc.
+ * Copyright (C) 1994, 1996, 1998, 2001 Free Software Foundation, Inc.
*
* This file is part of GNUPG.
*
@@ -35,6 +35,10 @@
#include "memory.h"
#include "../mpi/mpi-asm-defs.h"
+#ifndef _GCRYPT_IN_LIBGCRYPT
+ #error this file should only be used inside libgcrypt
+#endif
+
#ifndef BITS_PER_MPI_LIMB
#if BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_INT
typedef unsigned int mpi_limb_t;
@@ -54,7 +58,7 @@
#define BITS_PER_MPI_LIMB (8*BYTES_PER_MPI_LIMB)
#endif /*BITS_PER_MPI_LIMB*/
-#define DBG_MPI g10_get_debug_flag( 2 );
+#define DBG_MPI _gcry_get_debug_flag( 2 );
struct gcry_mpi {
int alloced; /* array size (# of allocated limbs) */
@@ -79,93 +83,122 @@ struct gcry_mpi {
/*-- mpiutil.c --*/
#ifdef M_DEBUG
- #define mpi_alloc(n) mpi_debug_alloc((n), M_DBGINFO( __LINE__ ) )
- #define mpi_alloc_secure(n) mpi_debug_alloc_secure((n), M_DBGINFO( __LINE__ ) )
- #define mpi_free(a) mpi_debug_free((a), M_DBGINFO(__LINE__) )
- #define mpi_resize(a,b) mpi_debug_resize((a),(b), M_DBGINFO(__LINE__) )
- #define mpi_copy(a) mpi_debug_copy((a), M_DBGINFO(__LINE__) )
- MPI mpi_debug_alloc( unsigned nlimbs, const char *info );
- MPI mpi_debug_alloc_secure( unsigned nlimbs, const char *info );
- void mpi_debug_free( MPI a, const char *info );
- void mpi_debug_resize( MPI a, unsigned nlimbs, const char *info );
- MPI mpi_debug_copy( MPI a, const char *info );
+ #define mpi_alloc(n) _gcry_mpi_debug_alloc((n), M_DBGINFO( __LINE__ ) )
+ #define mpi_alloc_secure(n) _gcry_mpi_debug_alloc_secure((n), M_DBGINFO( __LINE__ ) )
+ #define mpi_free(a) _gcry_mpi_debug_free((a), M_DBGINFO(__LINE__) )
+ #define mpi_resize(a,b) _gcry_mpi_debug_resize((a),(b), M_DBGINFO(__LINE__) )
+ #define mpi_copy(a) _gcry_mpi_debug_copy((a), M_DBGINFO(__LINE__) )
+ MPI _gcry_mpi_debug_alloc( unsigned nlimbs, const char *info );
+ MPI _gcry_mpi_debug_alloc_secure( unsigned nlimbs, const char *info );
+ void _gcry_mpi_debug_free( MPI a, const char *info );
+ void _gcry_mpi_debug_resize( MPI a, unsigned nlimbs, const char *info );
+ MPI _gcry_mpi_debug_copy( MPI a, const char *info );
#else
- MPI mpi_alloc( unsigned nlimbs );
- MPI mpi_alloc_secure( unsigned nlimbs );
- void mpi_free( MPI a );
- void mpi_resize( MPI a, unsigned nlimbs );
- MPI mpi_copy( MPI a );
+ #define mpi_alloc(n) _gcry_mpi_alloc((n) )
+ #define mpi_alloc_secure(n) _gcry_mpi_alloc_secure((n) )
+ #define mpi_free(a) _gcry_mpi_free((a) )
+ #define mpi_resize(a,b) _gcry_mpi_resize((a),(b))
+ #define mpi_copy(a) _gcry_mpi_copy((a))
+ MPI _gcry_mpi_alloc( unsigned nlimbs );
+ MPI _gcry_mpi_alloc_secure( unsigned nlimbs );
+ void _gcry_mpi_free( MPI a );
+ void _gcry_mpi_resize( MPI a, unsigned nlimbs );
+ MPI _gcry_mpi_copy( MPI a );
#endif
#define mpi_is_opaque(a) ((a) && ((a)->flags&4))
#define mpi_is_secure(a) ((a) && ((a)->flags&1))
-void mpi_clear( MPI a );
-MPI mpi_alloc_like( MPI a );
-void mpi_set( MPI w, MPI u);
-void mpi_set_ui( MPI w, ulong u);
-MPI mpi_alloc_set_ui( unsigned long u);
-void mpi_m_check( MPI a );
-void mpi_swap( MPI a, MPI b);
+#define mpi_clear(a) _gcry_mpi_clear ((a))
+#define mpi_alloc_like(a) _gcry_mpi_alloc_like((a))
+#define mpi_set(a,b) _gcry_mpi_set ((a),(b))
+#define mpi_set_ui(a,b) _gcry_mpi_set_ui ((a),(b))
+#define mpi_alloc_set_ui(a) _gcry_mpi_alloc_set_ui ((a))
+#define mpi_m_check(a) _gcry_mpi_m_check ((a))
+#define mpi_swap(a,b) _gcry_mpi_swap ((a),(b))
+
+void _gcry_mpi_clear( MPI a );
+MPI _gcry_mpi_alloc_like( MPI a );
+void _gcry_mpi_set( MPI w, MPI u);
+void _gcry_mpi_set_ui( MPI w, ulong u);
+MPI _gcry_mpi_alloc_set_ui( unsigned long u);
+void _gcry_mpi_m_check( MPI a );
+void _gcry_mpi_swap( MPI a, MPI b);
/*-- mpicoder.c --*/
-void g10_log_mpidump( const char *text, MPI a );
-u32 mpi_get_keyid( MPI a, u32 *keyid );
-byte *mpi_get_buffer( MPI a, unsigned *nbytes, int *sign );
-byte *mpi_get_secure_buffer( MPI a, unsigned *nbytes, int *sign );
-void mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign );
+void _gcry_log_mpidump( const char *text, MPI a );
+u32 _gcry_mpi_get_keyid( MPI a, u32 *keyid );
+byte *_gcry_mpi_get_buffer( MPI a, unsigned *nbytes, int *sign );
+byte *_gcry_mpi_get_secure_buffer( MPI a, unsigned *nbytes, int *sign );
+void _gcry_mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign );
-#define log_mpidump g10_log_mpidump
+#define log_mpidump _gcry_log_mpidump
/*-- mpi-add.c --*/
-void mpi_add_ui(MPI w, MPI u, ulong v );
-void mpi_add(MPI w, MPI u, MPI v);
-void mpi_addm(MPI w, MPI u, MPI v, MPI m);
-void mpi_sub_ui(MPI w, MPI u, ulong v );
-void mpi_sub( MPI w, MPI u, MPI v);
-void mpi_subm( MPI w, MPI u, MPI v, MPI m);
+#define mpi_add_ui(w,u,v) gcry_mpi_add_ui((w),(u),(v))
+#define mpi_add(w,u,v) gcry_mpi_add ((w),(u),(v))
+#define mpi_addm(w,u,v,m) gcry_mpi_addm ((w),(u),(v),(m))
+#define mpi_sub_ui(w,u,v) gcry_mpi_sub_ui ((w),(u),(v))
+#define mpi_sub(w,u,v) gcry_mpi_sub ((w),(u),(v))
+#define mpi_subm(w,u,v,m) gcry_mpi_subm ((w),(u),(v),(m))
+
/*-- mpi-mul.c --*/
-void mpi_mul_ui(MPI w, MPI u, ulong v );
-void mpi_mul_2exp( MPI w, MPI u, ulong cnt);
-void mpi_mul( MPI w, MPI u, MPI v);
-void mpi_mulm( MPI w, MPI u, MPI v, MPI m);
+#define mpi_mul_ui(w,u,v) gcry_mpi_mul_ui ((w),(u),(v))
+#define mpi_mul_2exp(w,u,v) gcry_mpi_mul_2exp ((w),(u),(v))
+#define mpi_mul(w,u,v) gcry_mpi_mul ((w),(u),(v))
+#define mpi_mulm(w,u,v,m) gcry_mpi_mulm ((w),(u),(v),(m))
+
/*-- mpi-div.c --*/
-ulong mpi_fdiv_r_ui( MPI rem, MPI dividend, ulong divisor );
-void mpi_fdiv_r( MPI rem, MPI dividend, MPI divisor );
-void mpi_fdiv_q( MPI quot, MPI dividend, MPI divisor );
-void mpi_fdiv_qr( MPI quot, MPI rem, MPI dividend, MPI divisor );
-void mpi_tdiv_r( MPI rem, MPI num, MPI den);
-void mpi_tdiv_qr( MPI quot, MPI rem, MPI num, MPI den);
-void mpi_tdiv_q_2exp( MPI w, MPI u, unsigned count );
-int mpi_divisible_ui(MPI dividend, ulong divisor );
+#define mpi_fdiv_r_ui(a,b,c) _gcry_mpi_fdiv_r_ui((a),(b),(c))
+#define mpi_fdiv_r(a,b,c) _gcry_mpi_fdiv_r((a),(b),(c))
+#define mpi_fdiv_q(a,b,c) _gcry_mpi_fdiv_q((a),(b),(c))
+#define mpi_fdiv_qr(a,b,c,d) _gcry_mpi_fdiv_qr((a),(b),(c),(d))
+#define mpi_tdiv_r(a,b,c) _gcry_mpi_tdiv_r((a),(b),(c))
+#define mpi_tdiv_qr(a,b,c,d) _gcry_mpi_tdiv_qr((a),(b),(c),(d))
+#define mpi_tdiv_q_2exp(a,b,c) _gcry_mpi_tdiv_q_2exp((a),(b),(c))
+#define mpi_divisible_ui(a,b) _gcry_mpi_divisible_ui((a),(b))
+ulong _gcry_mpi_fdiv_r_ui( MPI rem, MPI dividend, ulong divisor );
+void _gcry_mpi_fdiv_r( MPI rem, MPI dividend, MPI divisor );
+void _gcry_mpi_fdiv_q( MPI quot, MPI dividend, MPI divisor );
+void _gcry_mpi_fdiv_qr( MPI quot, MPI rem, MPI dividend, MPI divisor );
+void _gcry_mpi_tdiv_r( MPI rem, MPI num, MPI den);
+void _gcry_mpi_tdiv_qr( MPI quot, MPI rem, MPI num, MPI den);
+void _gcry_mpi_tdiv_q_2exp( MPI w, MPI u, unsigned count );
+int _gcry_mpi_divisible_ui(MPI dividend, ulong divisor );
/*-- mpi-gcd.c --*/
-int mpi_gcd( MPI g, MPI a, MPI b );
/*-- mpi-mpow.c --*/
-void mpi_mulpowm( MPI res, MPI *basearray, MPI *exparray, MPI mod);
+#define mpi_mulpowm(a,b,c,d) _gcry_mpi_mulpowm ((a),(b),(c),(d))
+void _gcry_mpi_mulpowm( MPI res, MPI *basearray, MPI *exparray, MPI mod);
/*-- mpi-cmp.c --*/
-int mpi_cmp_ui( MPI u, ulong v );
-int mpi_cmp( MPI u, MPI v );
+#define mpi_cmp_ui(a,b) gcry_mpi_cmp_ui ((a),(b))
+#define mpi_cmp(a,b) gcry_mpi_cmp ((a),(b))
+int gcry_mpi_cmp_ui( MPI u, ulong v );
+int gcry_mpi_cmp( MPI u, MPI v );
/*-- mpi-scan.c --*/
-int mpi_getbyte( MPI a, unsigned idx );
-void mpi_putbyte( MPI a, unsigned idx, int value );
-unsigned mpi_trailing_zeros( MPI a );
+#define mpi_trailing_zeros(a) _gcry_mpi_trailing_zeros ((a))
+int _gcry_mpi_getbyte( MPI a, unsigned idx );
+void _gcry_mpi_putbyte( MPI a, unsigned idx, int value );
+unsigned _gcry_mpi_trailing_zeros( MPI a );
/*-- mpi-bit.c --*/
-void mpi_normalize( MPI a );
-unsigned int mpi_get_nbits( MPI a );
-int mpi_test_bit( MPI a, unsigned n );
-void mpi_set_bit( MPI a, unsigned n );
-void mpi_set_highbit( MPI a, unsigned n );
-void mpi_clear_highbit( MPI a, unsigned n );
-void mpi_clear_bit( MPI a, unsigned n );
-void mpi_rshift( MPI x, MPI a, unsigned n );
+#define mpi_normalize(a) _gcry_mpi_normalize ((a))
+#define mpi_get_nbits(a) gcry_mpi_get_nbits ((a))
+#define mpi_test_bit(a,b) gcry_mpi_test_bit ((a),(b))
+#define mpi_set_bit(a,b) gcry_mpi_set_bit ((a),(b))
+#define mpi_set_highbit(a,b) gcry_mpi_set_highbit ((a),(b))
+#define mpi_clear_bit(a,b) gcry_mpi_clear_bit ((a),(b))
+#define mpi_clear_highbit(a,b) gcry_mpi_clear_highbit ((a),(b))
+#define mpi_rshift(a,b,c) gcry_mpi_rshift ((a),(b),(c))
+
+void _gcry_mpi_normalize( MPI a );
/*-- mpi-inv.c --*/
-void mpi_invm( MPI x, MPI u, MPI v );
+#define mpi_invm(a,b,c) _gcry_mpi_invm ((a),(b),(c))
+void _gcry_mpi_invm( MPI x, MPI u, MPI v );
#endif /*G10_MPI_H*/