diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 9 | ||||
-rw-r--r-- | include/mpi.h | 42 |
2 files changed, 17 insertions, 34 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index b73f0cb1c..206d43692 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,12 @@ +2006-12-11 Werner Koch <[email protected]> + + * mpi.h (mpi_is_neg, mpi_get_nlimbs): Replaced macros by function + prototypes. + (struct gcry_mpi): Changed to a forward declaration. + (mpi_limb_t): Moved to ../mpi/mpi-internal.h. + (MPI_NULL): Removed. + (mpi_is_opaque, mpi_is_secure): Implement in terms of mpi_get_flags. + 2006-12-04 Werner Koch <[email protected]> * iobuf.h (iobuf_t): New. That is the name we use in 2.0. diff --git a/include/mpi.h b/include/mpi.h index bec37ce6c..81061d39c 100644 --- a/include/mpi.h +++ b/include/mpi.h @@ -37,23 +37,6 @@ #include "types.h" #include "memory.h" -#if BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_INT - typedef unsigned int mpi_limb_t; - typedef signed int mpi_limb_signed_t; -#elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_LONG - typedef unsigned long int mpi_limb_t; - typedef signed long int mpi_limb_signed_t; -#elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_LONG_LONG - typedef unsigned long long int mpi_limb_t; - typedef signed long long int mpi_limb_signed_t; -#elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_SHORT - typedef unsigned short int mpi_limb_t; - typedef signed short int mpi_limb_signed_t; -#else -#error BYTES_PER_MPI_LIMB does not match any C type -#endif -#define BITS_PER_MPI_LIMB (8*BYTES_PER_MPI_LIMB) - #ifndef EXTERN_UNLESS_MAIN_MODULE #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) #define EXTERN_UNLESS_MAIN_MODULE extern @@ -66,23 +49,9 @@ EXTERN_UNLESS_MAIN_MODULE int mpi_debug_mode; -struct gcry_mpi { - int alloced; /* array size (# of allocated limbs) */ - int nlimbs; /* number of valid limbs */ - unsigned int nbits; /* the real number of valid bits (info only) */ - int sign; /* indicates a negative number */ - unsigned flags; /* bit 0: array must be allocated in secure memory space */ - /* bit 1: not used */ - /* bit 2: the limb is a pointer to some xmalloced data */ - mpi_limb_t *d; /* array with the limbs */ -}; - +struct gcry_mpi; typedef struct gcry_mpi *MPI; -#define MPI_NULL NULL - -#define mpi_get_nlimbs(a) ((a)->nlimbs) -#define mpi_is_neg(a) ((a)->sign) /*-- mpiutil.c --*/ @@ -107,10 +76,10 @@ void mpi_free( MPI a ); void mpi_resize( MPI a, unsigned nlimbs ); MPI mpi_copy( MPI a ); #endif -#define mpi_is_opaque(a) ((a) && ((a)->flags&4)) +#define mpi_is_opaque(a) ((a) && (mpi_get_flags (a)&4)) MPI mpi_set_opaque( MPI a, void *p, unsigned int len ); void *mpi_get_opaque( MPI a, unsigned int *len ); -#define mpi_is_secure(a) ((a) && ((a)->flags&1)) +#define mpi_is_secure(a) ((a) && (mpi_get_flags (a)&1)) void mpi_set_secure( MPI a ); void mpi_clear( MPI a ); void mpi_set( MPI w, MPI u); @@ -118,6 +87,11 @@ 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); +int mpi_get_nlimbs (MPI a); +int mpi_is_neg (MPI a); +unsigned int mpi_nlimb_hint_from_nbytes (unsigned int nbytes); +unsigned int mpi_nlimb_hint_from_nbits (unsigned int nbits); +unsigned int mpi_get_flags (MPI a); /*-- mpicoder.c --*/ int mpi_write( IOBUF out, MPI a ); |