diff options
Diffstat (limited to 'linden/indra/libgcrypt/libgcrypt-1.2.2/src/mpi.h')
-rw-r--r--[-rwxr-xr-x] | linden/indra/libgcrypt/libgcrypt-1.2.2/src/mpi.h | 398 |
1 files changed, 199 insertions, 199 deletions
diff --git a/linden/indra/libgcrypt/libgcrypt-1.2.2/src/mpi.h b/linden/indra/libgcrypt/libgcrypt-1.2.2/src/mpi.h index 82a9c4a..c659c49 100755..100644 --- a/linden/indra/libgcrypt/libgcrypt-1.2.2/src/mpi.h +++ b/linden/indra/libgcrypt/libgcrypt-1.2.2/src/mpi.h | |||
@@ -1,199 +1,199 @@ | |||
1 | /* mpi.h - Multi Precision Integers | 1 | /* mpi.h - Multi Precision Integers |
2 | * Copyright (C) 1994, 1996, 1998, 2001, 2002, 2003 Free Software Foundation, Inc. | 2 | * Copyright (C) 1994, 1996, 1998, 2001, 2002, 2003 Free Software Foundation, Inc. |
3 | * | 3 | * |
4 | * This file is part of Libgcrypt. | 4 | * This file is part of Libgcrypt. |
5 | * | 5 | * |
6 | * Libgcrypt is free software; you can redistribute it and/or modify | 6 | * Libgcrypt is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU Lesser general Public License as | 7 | * it under the terms of the GNU Lesser general Public License as |
8 | * published by the Free Software Foundation; either version 2.1 of | 8 | * published by the Free Software Foundation; either version 2.1 of |
9 | * the License, or (at your option) any later version. | 9 | * the License, or (at your option) any later version. |
10 | * | 10 | * |
11 | * Libgcrypt is distributed in the hope that it will be useful, | 11 | * Libgcrypt is distributed in the hope that it will be useful, |
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | * GNU Lesser General Public License for more details. | 14 | * GNU Lesser General Public License for more details. |
15 | * | 15 | * |
16 | * You should have received a copy of the GNU Lesser General Public | 16 | * You should have received a copy of the GNU Lesser General Public |
17 | * License along with this program; if not, write to the Free Software | 17 | * License along with this program; if not, write to the Free Software |
18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA | 18 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
19 | * | 19 | * |
20 | * Note: This code is heavily based on the GNU MP Library. | 20 | * Note: This code is heavily based on the GNU MP Library. |
21 | * Actually it's the same code with only minor changes in the | 21 | * Actually it's the same code with only minor changes in the |
22 | * way the data is stored; this is to support the abstraction | 22 | * way the data is stored; this is to support the abstraction |
23 | * of an optional secure memory allocation which may be used | 23 | * of an optional secure memory allocation which may be used |
24 | * to avoid revealing of sensitive data due to paging etc. | 24 | * to avoid revealing of sensitive data due to paging etc. |
25 | */ | 25 | */ |
26 | 26 | ||
27 | #ifndef G10_MPI_H | 27 | #ifndef G10_MPI_H |
28 | #define G10_MPI_H | 28 | #define G10_MPI_H |
29 | 29 | ||
30 | #include <config.h> | 30 | #include <config.h> |
31 | #include <stdio.h> | 31 | #include <stdio.h> |
32 | #include "types.h" | 32 | #include "types.h" |
33 | #include "memory.h" | 33 | #include "memory.h" |
34 | #include "../mpi/generic/mpi-asm-defs.h" | 34 | #include "../mpi/generic/mpi-asm-defs.h" |
35 | 35 | ||
36 | #include "g10lib.h" | 36 | #include "g10lib.h" |
37 | 37 | ||
38 | #ifndef _GCRYPT_IN_LIBGCRYPT | 38 | #ifndef _GCRYPT_IN_LIBGCRYPT |
39 | #error this file should only be used inside libgcrypt | 39 | #error this file should only be used inside libgcrypt |
40 | #endif | 40 | #endif |
41 | 41 | ||
42 | #ifndef BITS_PER_MPI_LIMB | 42 | #ifndef BITS_PER_MPI_LIMB |
43 | #if BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_INT | 43 | #if BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_INT |
44 | typedef unsigned int mpi_limb_t; | 44 | typedef unsigned int mpi_limb_t; |
45 | typedef signed int mpi_limb_signed_t; | 45 | typedef signed int mpi_limb_signed_t; |
46 | #elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_LONG | 46 | #elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_LONG |
47 | typedef unsigned long int mpi_limb_t; | 47 | typedef unsigned long int mpi_limb_t; |
48 | typedef signed long int mpi_limb_signed_t; | 48 | typedef signed long int mpi_limb_signed_t; |
49 | #elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_LONG_LONG | 49 | #elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_LONG_LONG |
50 | typedef unsigned long long int mpi_limb_t; | 50 | typedef unsigned long long int mpi_limb_t; |
51 | typedef signed long long int mpi_limb_signed_t; | 51 | typedef signed long long int mpi_limb_signed_t; |
52 | #elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_SHORT | 52 | #elif BYTES_PER_MPI_LIMB == SIZEOF_UNSIGNED_SHORT |
53 | typedef unsigned short int mpi_limb_t; | 53 | typedef unsigned short int mpi_limb_t; |
54 | typedef signed short int mpi_limb_signed_t; | 54 | typedef signed short int mpi_limb_signed_t; |
55 | #else | 55 | #else |
56 | #error BYTES_PER_MPI_LIMB does not match any C type | 56 | #error BYTES_PER_MPI_LIMB does not match any C type |
57 | #endif | 57 | #endif |
58 | #define BITS_PER_MPI_LIMB (8*BYTES_PER_MPI_LIMB) | 58 | #define BITS_PER_MPI_LIMB (8*BYTES_PER_MPI_LIMB) |
59 | #endif /*BITS_PER_MPI_LIMB*/ | 59 | #endif /*BITS_PER_MPI_LIMB*/ |
60 | 60 | ||
61 | #define DBG_MPI _gcry_get_debug_flag( 2 ); | 61 | #define DBG_MPI _gcry_get_debug_flag( 2 ); |
62 | 62 | ||
63 | struct gcry_mpi { | 63 | struct gcry_mpi { |
64 | int alloced; /* array size (# of allocated limbs) */ | 64 | int alloced; /* array size (# of allocated limbs) */ |
65 | int nlimbs; /* number of valid limbs */ | 65 | int nlimbs; /* number of valid limbs */ |
66 | int sign; /* indicates a negative number and is used for opaque | 66 | int sign; /* indicates a negative number and is used for opaque |
67 | * MPIs to store the length */ | 67 | * MPIs to store the length */ |
68 | unsigned flags; /* bit 0: array must be allocated in secure memory space */ | 68 | unsigned flags; /* bit 0: array must be allocated in secure memory space */ |
69 | /* bit 2: the limb is a pointer to some m_alloced data */ | 69 | /* bit 2: the limb is a pointer to some m_alloced data */ |
70 | mpi_limb_t *d; /* array with the limbs */ | 70 | mpi_limb_t *d; /* array with the limbs */ |
71 | }; | 71 | }; |
72 | 72 | ||
73 | #define MPI_NULL NULL | 73 | #define MPI_NULL NULL |
74 | 74 | ||
75 | #define mpi_get_nlimbs(a) ((a)->nlimbs) | 75 | #define mpi_get_nlimbs(a) ((a)->nlimbs) |
76 | #define mpi_is_neg(a) ((a)->sign) | 76 | #define mpi_is_neg(a) ((a)->sign) |
77 | 77 | ||
78 | /*-- mpiutil.c --*/ | 78 | /*-- mpiutil.c --*/ |
79 | 79 | ||
80 | #ifdef M_DEBUG | 80 | #ifdef M_DEBUG |
81 | #define mpi_alloc(n) _gcry_mpi_debug_alloc((n), M_DBGINFO( __LINE__ ) ) | 81 | #define mpi_alloc(n) _gcry_mpi_debug_alloc((n), M_DBGINFO( __LINE__ ) ) |
82 | #define mpi_alloc_secure(n) _gcry_mpi_debug_alloc_secure((n), M_DBGINFO( __LINE__ ) ) | 82 | #define mpi_alloc_secure(n) _gcry_mpi_debug_alloc_secure((n), M_DBGINFO( __LINE__ ) ) |
83 | #define mpi_free(a) _gcry_mpi_debug_free((a), M_DBGINFO(__LINE__) ) | 83 | #define mpi_free(a) _gcry_mpi_debug_free((a), M_DBGINFO(__LINE__) ) |
84 | #define mpi_resize(a,b) _gcry_mpi_debug_resize((a),(b), M_DBGINFO(__LINE__) ) | 84 | #define mpi_resize(a,b) _gcry_mpi_debug_resize((a),(b), M_DBGINFO(__LINE__) ) |
85 | #define mpi_copy(a) _gcry_mpi_debug_copy((a), M_DBGINFO(__LINE__) ) | 85 | #define mpi_copy(a) _gcry_mpi_debug_copy((a), M_DBGINFO(__LINE__) ) |
86 | gcry_mpi_t _gcry_mpi_debug_alloc( unsigned nlimbs, const char *info ); | 86 | gcry_mpi_t _gcry_mpi_debug_alloc( unsigned nlimbs, const char *info ); |
87 | gcry_mpi_t _gcry_mpi_debug_alloc_secure( unsigned nlimbs, const char *info ); | 87 | gcry_mpi_t _gcry_mpi_debug_alloc_secure( unsigned nlimbs, const char *info ); |
88 | void _gcry_mpi_debug_free( gcry_mpi_t a, const char *info ); | 88 | void _gcry_mpi_debug_free( gcry_mpi_t a, const char *info ); |
89 | void _gcry_mpi_debug_resize( gcry_mpi_t a, unsigned nlimbs, const char *info ); | 89 | void _gcry_mpi_debug_resize( gcry_mpi_t a, unsigned nlimbs, const char *info ); |
90 | gcry_mpi_t _gcry_mpi_debug_copy( gcry_mpi_t a, const char *info ); | 90 | gcry_mpi_t _gcry_mpi_debug_copy( gcry_mpi_t a, const char *info ); |
91 | #else | 91 | #else |
92 | #define mpi_alloc(n) _gcry_mpi_alloc((n) ) | 92 | #define mpi_alloc(n) _gcry_mpi_alloc((n) ) |
93 | #define mpi_alloc_secure(n) _gcry_mpi_alloc_secure((n) ) | 93 | #define mpi_alloc_secure(n) _gcry_mpi_alloc_secure((n) ) |
94 | #define mpi_free(a) _gcry_mpi_free((a) ) | 94 | #define mpi_free(a) _gcry_mpi_free((a) ) |
95 | #define mpi_resize(a,b) _gcry_mpi_resize((a),(b)) | 95 | #define mpi_resize(a,b) _gcry_mpi_resize((a),(b)) |
96 | #define mpi_copy(a) _gcry_mpi_copy((a)) | 96 | #define mpi_copy(a) _gcry_mpi_copy((a)) |
97 | gcry_mpi_t _gcry_mpi_alloc( unsigned nlimbs ); | 97 | gcry_mpi_t _gcry_mpi_alloc( unsigned nlimbs ); |
98 | gcry_mpi_t _gcry_mpi_alloc_secure( unsigned nlimbs ); | 98 | gcry_mpi_t _gcry_mpi_alloc_secure( unsigned nlimbs ); |
99 | void _gcry_mpi_free( gcry_mpi_t a ); | 99 | void _gcry_mpi_free( gcry_mpi_t a ); |
100 | void _gcry_mpi_resize( gcry_mpi_t a, unsigned nlimbs ); | 100 | void _gcry_mpi_resize( gcry_mpi_t a, unsigned nlimbs ); |
101 | gcry_mpi_t _gcry_mpi_copy( gcry_mpi_t a ); | 101 | gcry_mpi_t _gcry_mpi_copy( gcry_mpi_t a ); |
102 | #endif | 102 | #endif |
103 | #define mpi_is_opaque(a) ((a) && ((a)->flags&4)) | 103 | #define mpi_is_opaque(a) ((a) && ((a)->flags&4)) |
104 | #define mpi_is_secure(a) ((a) && ((a)->flags&1)) | 104 | #define mpi_is_secure(a) ((a) && ((a)->flags&1)) |
105 | #define mpi_clear(a) _gcry_mpi_clear ((a)) | 105 | #define mpi_clear(a) _gcry_mpi_clear ((a)) |
106 | #define mpi_alloc_like(a) _gcry_mpi_alloc_like((a)) | 106 | #define mpi_alloc_like(a) _gcry_mpi_alloc_like((a)) |
107 | #define mpi_set(a,b) _gcry_mpi_set ((a),(b)) | 107 | #define mpi_set(a,b) _gcry_mpi_set ((a),(b)) |
108 | #define mpi_set_ui(a,b) _gcry_mpi_set_ui ((a),(b)) | 108 | #define mpi_set_ui(a,b) _gcry_mpi_set_ui ((a),(b)) |
109 | #define mpi_alloc_set_ui(a) _gcry_mpi_alloc_set_ui ((a)) | 109 | #define mpi_alloc_set_ui(a) _gcry_mpi_alloc_set_ui ((a)) |
110 | #define mpi_m_check(a) _gcry_mpi_m_check ((a)) | 110 | #define mpi_m_check(a) _gcry_mpi_m_check ((a)) |
111 | #define mpi_swap(a,b) _gcry_mpi_swap ((a),(b)) | 111 | #define mpi_swap(a,b) _gcry_mpi_swap ((a),(b)) |
112 | 112 | ||
113 | void _gcry_mpi_clear( gcry_mpi_t a ); | 113 | void _gcry_mpi_clear( gcry_mpi_t a ); |
114 | gcry_mpi_t _gcry_mpi_alloc_like( gcry_mpi_t a ); | 114 | gcry_mpi_t _gcry_mpi_alloc_like( gcry_mpi_t a ); |
115 | void _gcry_mpi_set( gcry_mpi_t w, gcry_mpi_t u); | 115 | void _gcry_mpi_set( gcry_mpi_t w, gcry_mpi_t u); |
116 | void _gcry_mpi_set_ui( gcry_mpi_t w, ulong u); | 116 | void _gcry_mpi_set_ui( gcry_mpi_t w, ulong u); |
117 | gcry_mpi_t _gcry_mpi_alloc_set_ui( unsigned long u); | 117 | gcry_mpi_t _gcry_mpi_alloc_set_ui( unsigned long u); |
118 | void _gcry_mpi_m_check( gcry_mpi_t a ); | 118 | void _gcry_mpi_m_check( gcry_mpi_t a ); |
119 | void _gcry_mpi_swap( gcry_mpi_t a, gcry_mpi_t b); | 119 | void _gcry_mpi_swap( gcry_mpi_t a, gcry_mpi_t b); |
120 | 120 | ||
121 | /*-- mpicoder.c --*/ | 121 | /*-- mpicoder.c --*/ |
122 | void _gcry_log_mpidump( const char *text, gcry_mpi_t a ); | 122 | void _gcry_log_mpidump( const char *text, gcry_mpi_t a ); |
123 | u32 _gcry_mpi_get_keyid( gcry_mpi_t a, u32 *keyid ); | 123 | u32 _gcry_mpi_get_keyid( gcry_mpi_t a, u32 *keyid ); |
124 | byte *_gcry_mpi_get_buffer( gcry_mpi_t a, unsigned *nbytes, int *sign ); | 124 | byte *_gcry_mpi_get_buffer( gcry_mpi_t a, unsigned *nbytes, int *sign ); |
125 | byte *_gcry_mpi_get_secure_buffer( gcry_mpi_t a, unsigned *nbytes, int *sign ); | 125 | byte *_gcry_mpi_get_secure_buffer( gcry_mpi_t a, unsigned *nbytes, int *sign ); |
126 | void _gcry_mpi_set_buffer( gcry_mpi_t a, const byte *buffer, unsigned nbytes, int sign ); | 126 | void _gcry_mpi_set_buffer( gcry_mpi_t a, const byte *buffer, unsigned nbytes, int sign ); |
127 | 127 | ||
128 | #define log_mpidump _gcry_log_mpidump | 128 | #define log_mpidump _gcry_log_mpidump |
129 | 129 | ||
130 | /*-- mpi-add.c --*/ | 130 | /*-- mpi-add.c --*/ |
131 | #define mpi_add_ui(w,u,v) gcry_mpi_add_ui((w),(u),(v)) | 131 | #define mpi_add_ui(w,u,v) gcry_mpi_add_ui((w),(u),(v)) |
132 | #define mpi_add(w,u,v) gcry_mpi_add ((w),(u),(v)) | 132 | #define mpi_add(w,u,v) gcry_mpi_add ((w),(u),(v)) |
133 | #define mpi_addm(w,u,v,m) gcry_mpi_addm ((w),(u),(v),(m)) | 133 | #define mpi_addm(w,u,v,m) gcry_mpi_addm ((w),(u),(v),(m)) |
134 | #define mpi_sub_ui(w,u,v) gcry_mpi_sub_ui ((w),(u),(v)) | 134 | #define mpi_sub_ui(w,u,v) gcry_mpi_sub_ui ((w),(u),(v)) |
135 | #define mpi_sub(w,u,v) gcry_mpi_sub ((w),(u),(v)) | 135 | #define mpi_sub(w,u,v) gcry_mpi_sub ((w),(u),(v)) |
136 | #define mpi_subm(w,u,v,m) gcry_mpi_subm ((w),(u),(v),(m)) | 136 | #define mpi_subm(w,u,v,m) gcry_mpi_subm ((w),(u),(v),(m)) |
137 | 137 | ||
138 | 138 | ||
139 | /*-- mpi-mul.c --*/ | 139 | /*-- mpi-mul.c --*/ |
140 | #define mpi_mul_ui(w,u,v) gcry_mpi_mul_ui ((w),(u),(v)) | 140 | #define mpi_mul_ui(w,u,v) gcry_mpi_mul_ui ((w),(u),(v)) |
141 | #define mpi_mul_2exp(w,u,v) gcry_mpi_mul_2exp ((w),(u),(v)) | 141 | #define mpi_mul_2exp(w,u,v) gcry_mpi_mul_2exp ((w),(u),(v)) |
142 | #define mpi_mul(w,u,v) gcry_mpi_mul ((w),(u),(v)) | 142 | #define mpi_mul(w,u,v) gcry_mpi_mul ((w),(u),(v)) |
143 | #define mpi_mulm(w,u,v,m) gcry_mpi_mulm ((w),(u),(v),(m)) | 143 | #define mpi_mulm(w,u,v,m) gcry_mpi_mulm ((w),(u),(v),(m)) |
144 | 144 | ||
145 | 145 | ||
146 | /*-- mpi-div.c --*/ | 146 | /*-- mpi-div.c --*/ |
147 | #define mpi_fdiv_r_ui(a,b,c) _gcry_mpi_fdiv_r_ui((a),(b),(c)) | 147 | #define mpi_fdiv_r_ui(a,b,c) _gcry_mpi_fdiv_r_ui((a),(b),(c)) |
148 | #define mpi_fdiv_r(a,b,c) _gcry_mpi_fdiv_r((a),(b),(c)) | 148 | #define mpi_fdiv_r(a,b,c) _gcry_mpi_fdiv_r((a),(b),(c)) |
149 | #define mpi_fdiv_q(a,b,c) _gcry_mpi_fdiv_q((a),(b),(c)) | 149 | #define mpi_fdiv_q(a,b,c) _gcry_mpi_fdiv_q((a),(b),(c)) |
150 | #define mpi_fdiv_qr(a,b,c,d) _gcry_mpi_fdiv_qr((a),(b),(c),(d)) | 150 | #define mpi_fdiv_qr(a,b,c,d) _gcry_mpi_fdiv_qr((a),(b),(c),(d)) |
151 | #define mpi_tdiv_r(a,b,c) _gcry_mpi_tdiv_r((a),(b),(c)) | 151 | #define mpi_tdiv_r(a,b,c) _gcry_mpi_tdiv_r((a),(b),(c)) |
152 | #define mpi_tdiv_qr(a,b,c,d) _gcry_mpi_tdiv_qr((a),(b),(c),(d)) | 152 | #define mpi_tdiv_qr(a,b,c,d) _gcry_mpi_tdiv_qr((a),(b),(c),(d)) |
153 | #define mpi_tdiv_q_2exp(a,b,c) _gcry_mpi_tdiv_q_2exp((a),(b),(c)) | 153 | #define mpi_tdiv_q_2exp(a,b,c) _gcry_mpi_tdiv_q_2exp((a),(b),(c)) |
154 | #define mpi_divisible_ui(a,b) _gcry_mpi_divisible_ui((a),(b)) | 154 | #define mpi_divisible_ui(a,b) _gcry_mpi_divisible_ui((a),(b)) |
155 | ulong _gcry_mpi_fdiv_r_ui( gcry_mpi_t rem, gcry_mpi_t dividend, ulong divisor ); | 155 | ulong _gcry_mpi_fdiv_r_ui( gcry_mpi_t rem, gcry_mpi_t dividend, ulong divisor ); |
156 | void _gcry_mpi_fdiv_r( gcry_mpi_t rem, gcry_mpi_t dividend, gcry_mpi_t divisor ); | 156 | void _gcry_mpi_fdiv_r( gcry_mpi_t rem, gcry_mpi_t dividend, gcry_mpi_t divisor ); |
157 | void _gcry_mpi_fdiv_q( gcry_mpi_t quot, gcry_mpi_t dividend, gcry_mpi_t divisor ); | 157 | void _gcry_mpi_fdiv_q( gcry_mpi_t quot, gcry_mpi_t dividend, gcry_mpi_t divisor ); |
158 | void _gcry_mpi_fdiv_qr( gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t dividend, gcry_mpi_t divisor ); | 158 | void _gcry_mpi_fdiv_qr( gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t dividend, gcry_mpi_t divisor ); |
159 | void _gcry_mpi_tdiv_r( gcry_mpi_t rem, gcry_mpi_t num, gcry_mpi_t den); | 159 | void _gcry_mpi_tdiv_r( gcry_mpi_t rem, gcry_mpi_t num, gcry_mpi_t den); |
160 | void _gcry_mpi_tdiv_qr( gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t num, gcry_mpi_t den); | 160 | void _gcry_mpi_tdiv_qr( gcry_mpi_t quot, gcry_mpi_t rem, gcry_mpi_t num, gcry_mpi_t den); |
161 | void _gcry_mpi_tdiv_q_2exp( gcry_mpi_t w, gcry_mpi_t u, unsigned count ); | 161 | void _gcry_mpi_tdiv_q_2exp( gcry_mpi_t w, gcry_mpi_t u, unsigned count ); |
162 | int _gcry_mpi_divisible_ui(gcry_mpi_t dividend, ulong divisor ); | 162 | int _gcry_mpi_divisible_ui(gcry_mpi_t dividend, ulong divisor ); |
163 | 163 | ||
164 | /*-- mpi-gcd.c --*/ | 164 | /*-- mpi-gcd.c --*/ |
165 | 165 | ||
166 | /*-- mpi-mpow.c --*/ | 166 | /*-- mpi-mpow.c --*/ |
167 | #define mpi_mulpowm(a,b,c,d) _gcry_mpi_mulpowm ((a),(b),(c),(d)) | 167 | #define mpi_mulpowm(a,b,c,d) _gcry_mpi_mulpowm ((a),(b),(c),(d)) |
168 | void _gcry_mpi_mulpowm( gcry_mpi_t res, gcry_mpi_t *basearray, gcry_mpi_t *exparray, gcry_mpi_t mod); | 168 | void _gcry_mpi_mulpowm( gcry_mpi_t res, gcry_mpi_t *basearray, gcry_mpi_t *exparray, gcry_mpi_t mod); |
169 | 169 | ||
170 | /*-- mpi-cmp.c --*/ | 170 | /*-- mpi-cmp.c --*/ |
171 | #define mpi_cmp_ui(a,b) gcry_mpi_cmp_ui ((a),(b)) | 171 | #define mpi_cmp_ui(a,b) gcry_mpi_cmp_ui ((a),(b)) |
172 | #define mpi_cmp(a,b) gcry_mpi_cmp ((a),(b)) | 172 | #define mpi_cmp(a,b) gcry_mpi_cmp ((a),(b)) |
173 | int gcry_mpi_cmp_ui( gcry_mpi_t u, ulong v ); | 173 | int gcry_mpi_cmp_ui( gcry_mpi_t u, ulong v ); |
174 | int gcry_mpi_cmp( gcry_mpi_t u, gcry_mpi_t v ); | 174 | int gcry_mpi_cmp( gcry_mpi_t u, gcry_mpi_t v ); |
175 | 175 | ||
176 | /*-- mpi-scan.c --*/ | 176 | /*-- mpi-scan.c --*/ |
177 | #define mpi_trailing_zeros(a) _gcry_mpi_trailing_zeros ((a)) | 177 | #define mpi_trailing_zeros(a) _gcry_mpi_trailing_zeros ((a)) |
178 | int _gcry_mpi_getbyte( gcry_mpi_t a, unsigned idx ); | 178 | int _gcry_mpi_getbyte( gcry_mpi_t a, unsigned idx ); |
179 | void _gcry_mpi_putbyte( gcry_mpi_t a, unsigned idx, int value ); | 179 | void _gcry_mpi_putbyte( gcry_mpi_t a, unsigned idx, int value ); |
180 | unsigned _gcry_mpi_trailing_zeros( gcry_mpi_t a ); | 180 | unsigned _gcry_mpi_trailing_zeros( gcry_mpi_t a ); |
181 | 181 | ||
182 | /*-- mpi-bit.c --*/ | 182 | /*-- mpi-bit.c --*/ |
183 | #define mpi_normalize(a) _gcry_mpi_normalize ((a)) | 183 | #define mpi_normalize(a) _gcry_mpi_normalize ((a)) |
184 | #define mpi_get_nbits(a) gcry_mpi_get_nbits ((a)) | 184 | #define mpi_get_nbits(a) gcry_mpi_get_nbits ((a)) |
185 | #define mpi_test_bit(a,b) gcry_mpi_test_bit ((a),(b)) | 185 | #define mpi_test_bit(a,b) gcry_mpi_test_bit ((a),(b)) |
186 | #define mpi_set_bit(a,b) gcry_mpi_set_bit ((a),(b)) | 186 | #define mpi_set_bit(a,b) gcry_mpi_set_bit ((a),(b)) |
187 | #define mpi_set_highbit(a,b) gcry_mpi_set_highbit ((a),(b)) | 187 | #define mpi_set_highbit(a,b) gcry_mpi_set_highbit ((a),(b)) |
188 | #define mpi_clear_bit(a,b) gcry_mpi_clear_bit ((a),(b)) | 188 | #define mpi_clear_bit(a,b) gcry_mpi_clear_bit ((a),(b)) |
189 | #define mpi_clear_highbit(a,b) gcry_mpi_clear_highbit ((a),(b)) | 189 | #define mpi_clear_highbit(a,b) gcry_mpi_clear_highbit ((a),(b)) |
190 | #define mpi_rshift(a,b,c) gcry_mpi_rshift ((a),(b),(c)) | 190 | #define mpi_rshift(a,b,c) gcry_mpi_rshift ((a),(b),(c)) |
191 | 191 | ||
192 | void _gcry_mpi_normalize( gcry_mpi_t a ); | 192 | void _gcry_mpi_normalize( gcry_mpi_t a ); |
193 | 193 | ||
194 | /*-- mpi-inv.c --*/ | 194 | /*-- mpi-inv.c --*/ |
195 | #define mpi_invm(a,b,c) _gcry_mpi_invm ((a),(b),(c)) | 195 | #define mpi_invm(a,b,c) _gcry_mpi_invm ((a),(b),(c)) |
196 | void _gcry_mpi_invm( gcry_mpi_t x, gcry_mpi_t u, gcry_mpi_t v ); | 196 | void _gcry_mpi_invm( gcry_mpi_t x, gcry_mpi_t u, gcry_mpi_t v ); |
197 | 197 | ||
198 | 198 | ||
199 | #endif /*G10_MPI_H*/ | 199 | #endif /*G10_MPI_H*/ |