Add gcry_pk_get_curve.
[libgcrypt.git] / src / visibility.h
1 /* visibility.h - Set visibility attribute
2  * Copyright (C) 2007  Free Software Foundation, Inc.
3  *
4  * This file is part of Libgcrypt.
5  *
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
8  * published by the Free Software Foundation; either version 2.1 of
9  * the License, or (at your option) any later version.
10  *
11  * Libgcrypt is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef GCRY_VISIBILITY_H
21 #define GCRY_VISIBILITY_H
22
23 /* Redefine all public symbols with an underscore unless we already
24    use the underscore prefixed version internally.  */
25 #define gcry_check_version          _gcry_check_version
26 #define gcry_control                _gcry_control
27
28 #define gcry_set_allocation_handler _gcry_set_allocation_handler
29 #define gcry_set_fatalerror_handler _gcry_set_fatalerror_handler
30 #define gcry_set_gettext_handler    _gcry_set_gettext_handler
31 #define gcry_set_log_handler        _gcry_set_log_handler
32 #define gcry_set_outofcore_handler  _gcry_set_outofcore_handler
33 #define gcry_set_progress_handler   _gcry_set_progress_handler
34 #define gcry_err_code_from_errno    _gcry_err_code_from_errno
35 #define gcry_err_code_to_errno      _gcry_err_code_to_errno
36 #define gcry_err_make_from_errno    _gcry_err_make_from_errno
37 #define gcry_error_from_errno       _gcry_error_from_errno
38 #define gcry_strerror               _gcry_strerror
39 #define gcry_strsource              _gcry_strsource
40
41 #define gcry_free                   _gcry_free
42 #define gcry_malloc                 _gcry_malloc
43 #define gcry_malloc_secure          _gcry_malloc_secure
44 #define gcry_calloc                 _gcry_calloc
45 #define gcry_calloc_secure          _gcry_calloc_secure
46 #define gcry_realloc                _gcry_realloc
47 #define gcry_strdup                 _gcry_strdup
48 #define gcry_is_secure              _gcry_is_secure
49 #define gcry_xcalloc                _gcry_xcalloc
50 #define gcry_xcalloc_secure         _gcry_xcalloc_secure
51 #define gcry_xmalloc                _gcry_xmalloc
52 #define gcry_xmalloc_secure         _gcry_xmalloc_secure
53 #define gcry_xrealloc               _gcry_xrealloc
54 #define gcry_xstrdup                _gcry_xstrdup
55                                     
56 #define gcry_md_algo_info           _gcry_md_algo_info
57 #define gcry_md_algo_name           _gcry_md_algo_name
58 #define gcry_md_close               _gcry_md_close
59 #define gcry_md_copy                _gcry_md_copy
60 #define gcry_md_ctl                 _gcry_md_ctl
61 #define gcry_md_enable              _gcry_md_enable
62 #define gcry_md_get                 _gcry_md_get
63 #define gcry_md_get_algo            _gcry_md_get_algo
64 #define gcry_md_get_algo_dlen       _gcry_md_get_algo_dlen
65 #define gcry_md_hash_buffer         _gcry_md_hash_buffer
66 #define gcry_md_info                _gcry_md_info
67 #define gcry_md_is_enabled          _gcry_md_is_enabled
68 #define gcry_md_is_secure           _gcry_md_is_secure
69 #define gcry_md_list                _gcry_md_list
70 #define gcry_md_map_name            _gcry_md_map_name
71 #define gcry_md_open                _gcry_md_open
72 #define gcry_md_read                _gcry_md_read
73 /* gcry_md_register and _gcry_md_register differ.  */
74 #define gcry_md_unregister          _gcry_md_unregister
75 #define gcry_md_reset               _gcry_md_reset
76 #define gcry_md_setkey              _gcry_md_setkey
77 #define gcry_md_write               _gcry_md_write
78 #define gcry_md_debug               _gcry_md_debug
79
80 #define gcry_cipher_algo_info       _gcry_cipher_algo_info
81 #define gcry_cipher_algo_name       _gcry_cipher_algo_name
82 #define gcry_cipher_close           _gcry_cipher_close
83 #define gcry_cipher_setkey          _gcry_cipher_setkey
84 #define gcry_cipher_setiv           _gcry_cipher_setiv
85 #define gcry_cipher_setctr          _gcry_cipher_setctr
86 #define gcry_cipher_ctl             _gcry_cipher_ctl
87 #define gcry_cipher_decrypt         _gcry_cipher_decrypt
88 #define gcry_cipher_encrypt         _gcry_cipher_encrypt
89 #define gcry_cipher_get_algo_blklen _gcry_cipher_get_algo_blklen
90 #define gcry_cipher_get_algo_keylen _gcry_cipher_get_algo_keylen
91 #define gcry_cipher_info            _gcry_cipher_info
92 #define gcry_cipher_list            _gcry_cipher_list
93 #define gcry_cipher_map_name        _gcry_cipher_map_name
94 #define gcry_cipher_mode_from_oid   _gcry_cipher_mode_from_oid
95 #define gcry_cipher_open            _gcry_cipher_open
96 /* gcry_cipher_register and  _gcry_cipher_register differ.  */
97 #define gcry_cipher_unregister      _gcry_cipher_unregister
98
99 #define gcry_pk_algo_info           _gcry_pk_algo_info
100 #define gcry_pk_algo_name           _gcry_pk_algo_name
101 #define gcry_pk_ctl                 _gcry_pk_ctl
102 #define gcry_pk_decrypt             _gcry_pk_decrypt
103 #define gcry_pk_encrypt             _gcry_pk_encrypt
104 #define gcry_pk_genkey              _gcry_pk_genkey
105 #define gcry_pk_get_keygrip         _gcry_pk_get_keygrip
106 #define gcry_pk_get_curve           _gcry_pk_get_curve
107 #define gcry_pk_get_nbits           _gcry_pk_get_nbits
108 #define gcry_pk_list                _gcry_pk_list
109 #define gcry_pk_map_name            _gcry_pk_map_name
110 /* gcry_pk_register and _gcry_pk_register differ.  */
111 #define gcry_pk_unregister          _gcry_pk_unregister
112 #define gcry_pk_sign                _gcry_pk_sign
113 #define gcry_pk_testkey             _gcry_pk_testkey
114 #define gcry_pk_verify              _gcry_pk_verify
115
116 #define gcry_ac_data_new            _gcry_ac_data_new
117 #define gcry_ac_data_destroy        _gcry_ac_data_destroy
118 #define gcry_ac_data_copy           _gcry_ac_data_copy
119 #define gcry_ac_data_length         _gcry_ac_data_length
120 #define gcry_ac_data_clear          _gcry_ac_data_clear
121 #define gcry_ac_data_set            _gcry_ac_data_set
122 #define gcry_ac_data_get_name       _gcry_ac_data_get_name
123 #define gcry_ac_data_get_index      _gcry_ac_data_get_index
124 #define gcry_ac_open                _gcry_ac_open
125 #define gcry_ac_close               _gcry_ac_close
126 #define gcry_ac_key_init            _gcry_ac_key_init
127 #define gcry_ac_key_pair_generate   _gcry_ac_key_pair_generate
128 #define gcry_ac_key_pair_extract    _gcry_ac_key_pair_extract
129 #define gcry_ac_key_data_get        _gcry_ac_key_data_get
130 #define gcry_ac_key_test            _gcry_ac_key_test
131 #define gcry_ac_key_get_nbits       _gcry_ac_key_get_nbits
132 #define gcry_ac_key_get_grip        _gcry_ac_key_get_grip
133 #define gcry_ac_key_destroy         _gcry_ac_key_destroy
134 #define gcry_ac_key_pair_destroy    _gcry_ac_key_pair_destroy
135 #define gcry_ac_data_encrypt        _gcry_ac_data_encrypt
136 #define gcry_ac_data_decrypt        _gcry_ac_data_decrypt
137 #define gcry_ac_data_sign           _gcry_ac_data_sign
138 #define gcry_ac_data_verify         _gcry_ac_data_verify
139 #define gcry_ac_id_to_name          _gcry_ac_id_to_name
140 #define gcry_ac_name_to_id          _gcry_ac_name_to_id
141 #define gcry_ac_data_encode         _gcry_ac_data_encode
142 #define gcry_ac_data_decode         _gcry_ac_data_decode
143 #define gcry_ac_mpi_to_os           _gcry_ac_mpi_to_os
144 #define gcry_ac_mpi_to_os_alloc     _gcry_ac_mpi_to_os_alloc
145 #define gcry_ac_os_to_mpi           _gcry_ac_os_to_mpi
146 #define gcry_ac_data_encrypt_scheme _gcry_ac_data_encrypt_scheme
147 #define gcry_ac_data_decrypt_scheme _gcry_ac_data_decrypt_scheme
148 #define gcry_ac_data_sign_scheme    _gcry_ac_data_sign_scheme
149 #define gcry_ac_data_verify_scheme  _gcry_ac_data_verify_scheme
150 #define gcry_ac_data_to_sexp        _gcry_ac_data_to_sexp
151 #define gcry_ac_data_from_sexp      _gcry_ac_data_from_sexp
152 #define gcry_ac_io_init             _gcry_ac_io_init
153 #define gcry_ac_io_init_va          _gcry_ac_io_init_va
154
155 #define gcry_prime_check            _gcry_prime_check
156 #define gcry_prime_generate         _gcry_prime_generate
157 #define gcry_prime_group_generator  _gcry_prime_group_generator
158 #define gcry_prime_release_factors  _gcry_prime_release_factors
159
160 #define gcry_random_add_bytes       _gcry_random_add_bytes
161 #define gcry_random_bytes           _gcry_random_bytes
162 #define gcry_random_bytes_secure    _gcry_random_bytes_secure
163 #define gcry_randomize              _gcry_randomize
164 #define gcry_create_nonce           _gcry_create_nonce
165
166 #define gcry_sexp_alist             _gcry_sexp_alist
167 #define gcry_sexp_append            _gcry_sexp_append
168 #define gcry_sexp_build             _gcry_sexp_build
169 #define gcry_sexp_build_array       _gcry_sexp_build_array
170 #define gcry_sexp_cadr              _gcry_sexp_cadr
171 #define gcry_sexp_canon_len         _gcry_sexp_canon_len
172 #define gcry_sexp_car               _gcry_sexp_car
173 #define gcry_sexp_cdr               _gcry_sexp_cdr
174 #define gcry_sexp_cons              _gcry_sexp_cons
175 #define gcry_sexp_create            _gcry_sexp_create
176 #define gcry_sexp_dump              _gcry_sexp_dump
177 #define gcry_sexp_find_token        _gcry_sexp_find_token
178 #define gcry_sexp_length            _gcry_sexp_length
179 #define gcry_sexp_new               _gcry_sexp_new
180 #define gcry_sexp_nth               _gcry_sexp_nth
181 #define gcry_sexp_nth_data          _gcry_sexp_nth_data
182 #define gcry_sexp_nth_mpi           _gcry_sexp_nth_mpi
183 #define gcry_sexp_prepend           _gcry_sexp_prepend
184 #define gcry_sexp_release           _gcry_sexp_release
185 #define gcry_sexp_sprint            _gcry_sexp_sprint
186 #define gcry_sexp_sscan             _gcry_sexp_sscan
187 #define gcry_sexp_vlist             _gcry_sexp_vlist
188 #define gcry_sexp_nth_string        _gcry_sexp_nth_string
189
190 #define gcry_mpi_add                _gcry_mpi_add
191 #define gcry_mpi_add_ui             _gcry_mpi_add_ui
192 #define gcry_mpi_addm               _gcry_mpi_addm
193 #define gcry_mpi_aprint             _gcry_mpi_aprint
194 #define gcry_mpi_clear_bit          _gcry_mpi_clear_bit
195 #define gcry_mpi_clear_flag         _gcry_mpi_clear_flag
196 #define gcry_mpi_clear_highbit      _gcry_mpi_clear_highbit
197 #define gcry_mpi_cmp                _gcry_mpi_cmp
198 #define gcry_mpi_cmp_ui             _gcry_mpi_cmp_ui
199 #define gcry_mpi_copy               _gcry_mpi_copy
200 #define gcry_mpi_div                _gcry_mpi_div
201 #define gcry_mpi_dump               _gcry_mpi_dump
202 #define gcry_mpi_gcd                _gcry_mpi_gcd
203 #define gcry_mpi_get_flag           _gcry_mpi_get_flag
204 #define gcry_mpi_get_nbits          _gcry_mpi_get_nbits
205 #define gcry_mpi_get_opaque         _gcry_mpi_get_opaque
206 #define gcry_mpi_invm               _gcry_mpi_invm
207 #define gcry_mpi_mod                _gcry_mpi_mod
208 #define gcry_mpi_mul                _gcry_mpi_mul
209 #define gcry_mpi_mul_2exp           _gcry_mpi_mul_2exp
210 #define gcry_mpi_mul_ui             _gcry_mpi_mul_ui
211 #define gcry_mpi_mulm               _gcry_mpi_mulm
212 #define gcry_mpi_new                _gcry_mpi_new
213 #define gcry_mpi_powm               _gcry_mpi_powm
214 #define gcry_mpi_print              _gcry_mpi_print
215 #define gcry_mpi_randomize          _gcry_mpi_randomize
216 #define gcry_mpi_release            _gcry_mpi_release
217 #define gcry_mpi_rshift             _gcry_mpi_rshift
218 #define gcry_mpi_lshift             _gcry_mpi_lshift
219 #define gcry_mpi_scan               _gcry_mpi_scan
220 #define gcry_mpi_set                _gcry_mpi_set
221 #define gcry_mpi_set_bit            _gcry_mpi_set_bit
222 #define gcry_mpi_set_flag           _gcry_mpi_set_flag
223 #define gcry_mpi_set_highbit        _gcry_mpi_set_highbit
224 #define gcry_mpi_set_opaque         _gcry_mpi_set_opaque
225 #define gcry_mpi_set_ui             _gcry_mpi_set_ui
226 #define gcry_mpi_snew               _gcry_mpi_snew
227 #define gcry_mpi_sub                _gcry_mpi_sub
228 #define gcry_mpi_sub_ui             _gcry_mpi_sub_ui
229 #define gcry_mpi_subm               _gcry_mpi_subm
230 #define gcry_mpi_swap               _gcry_mpi_swap
231 #define gcry_mpi_test_bit           _gcry_mpi_test_bit
232
233
234 /* Include the main header here so that public symbols are mapped to
235    the internal underscored ones.  */
236 #ifdef _GCRY_INCLUDED_BY_VISIBILITY_C
237   /* We need to redeclare the deprecated functions without the
238      deprecated attribute.  */
239 # define GCRYPT_NO_DEPRECATED
240 # include "gcrypt.h"
241   gcry_error_t gcry_ac_id_to_name (gcry_ac_id_t algorithm, const char **name);
242   gcry_error_t gcry_ac_name_to_id (const char *name, gcry_ac_id_t *algorithm);
243 #else
244 # include "gcrypt.h"
245 #endif
246
247 /* Prototypes of functions exported but not ready for use.  */
248 gcry_err_code_t gcry_md_get (gcry_md_hd_t hd, int algo, 
249                              unsigned char *buffer, int buflen);
250 void gcry_ac_mpi_to_os (gcry_mpi_t mpi, unsigned char *os, size_t os_n);
251 gcry_error_t gcry_ac_mpi_to_os_alloc (gcry_mpi_t mpi, unsigned char **os,
252                                        size_t *os_n);
253 void gcry_ac_os_to_mpi (gcry_mpi_t mpi, unsigned char *os, size_t os_n);
254
255
256
257 /* Our use of the ELF visibility feature works by passing
258    -fvisibiliy=hidden on the command line and by explicitly marking
259    all exported functions as visible.  
260
261    NOTE: When adding new functions, please make sure to add them to
262          libgcrypt.vers and libgcrypt.def as well.  */
263
264 #ifdef _GCRY_INCLUDED_BY_VISIBILITY_C
265
266 /* A macro to flag a function as visible.  Note that we take the
267    definition from the mapped name.  */
268 #ifdef GCRY_USE_VISIBILITY
269 # define MARK_VISIBLE(name) \
270     extern __typeof__ (_##name) name __attribute__ ((visibility("default")));
271 # define MARK_VISIBLEX(name) \
272     extern __typeof__ (name) name __attribute__ ((visibility("default")));
273 #else
274 # define MARK_VISIBLE(name) /* */
275 # define MARK_VISIBLEX(name) /* */
276 #endif
277
278
279 /* First undef all redefined symbols so that we set the attribute on
280    the correct version name.  */
281 #undef gcry_check_version         
282 #undef gcry_control               
283
284 #undef gcry_set_allocation_handler
285 #undef gcry_set_fatalerror_handler
286 #undef gcry_set_gettext_handler   
287 #undef gcry_set_log_handler       
288 #undef gcry_set_outofcore_handler 
289 #undef gcry_set_progress_handler  
290 #undef gcry_err_code_from_errno   
291 #undef gcry_err_code_to_errno     
292 #undef gcry_err_make_from_errno   
293 #undef gcry_error_from_errno      
294 #undef gcry_strerror              
295 #undef gcry_strsource             
296
297 #undef gcry_free                  
298 #undef gcry_malloc                
299 #undef gcry_malloc_secure         
300 #undef gcry_calloc                
301 #undef gcry_calloc_secure         
302 #undef gcry_realloc               
303 #undef gcry_strdup                
304 #undef gcry_is_secure             
305 #undef gcry_xcalloc               
306 #undef gcry_xcalloc_secure        
307 #undef gcry_xmalloc               
308 #undef gcry_xmalloc_secure        
309 #undef gcry_xrealloc              
310 #undef gcry_xstrdup               
311                                    
312 #undef gcry_md_algo_info          
313 #undef gcry_md_algo_name          
314 #undef gcry_md_close              
315 #undef gcry_md_copy               
316 #undef gcry_md_ctl                
317 #undef gcry_md_enable             
318 #undef gcry_md_get                
319 #undef gcry_md_get_algo           
320 #undef gcry_md_get_algo_dlen      
321 #undef gcry_md_hash_buffer        
322 #undef gcry_md_info               
323 #undef gcry_md_is_enabled         
324 #undef gcry_md_is_secure          
325 #undef gcry_md_list               
326 #undef gcry_md_map_name           
327 #undef gcry_md_open               
328 #undef gcry_md_read               
329 /* gcry_md_register is not anymore a macro.  */
330 #undef gcry_md_unregister         
331 #undef gcry_md_reset              
332 #undef gcry_md_setkey             
333 #undef gcry_md_write              
334 #undef gcry_md_debug              
335
336 #undef gcry_cipher_algo_info      
337 #undef gcry_cipher_algo_name      
338 #undef gcry_cipher_close          
339 #undef gcry_cipher_setkey
340 #undef gcry_cipher_setiv
341 #undef gcry_cipher_setctr
342 #undef gcry_cipher_ctl            
343 #undef gcry_cipher_decrypt        
344 #undef gcry_cipher_encrypt        
345 #undef gcry_cipher_get_algo_blklen
346 #undef gcry_cipher_get_algo_keylen
347 #undef gcry_cipher_info           
348 #undef gcry_cipher_list           
349 #undef gcry_cipher_map_name       
350 #undef gcry_cipher_mode_from_oid  
351 #undef gcry_cipher_open           
352 /* gcry_cipher_register is not anymore a macro.  */
353 #undef gcry_cipher_unregister     
354
355 #undef gcry_pk_algo_info          
356 #undef gcry_pk_algo_name          
357 #undef gcry_pk_ctl                
358 #undef gcry_pk_decrypt            
359 #undef gcry_pk_encrypt            
360 #undef gcry_pk_genkey             
361 #undef gcry_pk_get_keygrip        
362 #undef gcry_pk_get_curve
363 #undef gcry_pk_get_nbits          
364 #undef gcry_pk_list               
365 #undef gcry_pk_map_name           
366 /* gcry_pk_register is not anymore a macro.  */
367 #undef gcry_pk_unregister         
368 #undef gcry_pk_sign               
369 #undef gcry_pk_testkey            
370 #undef gcry_pk_verify             
371
372 #undef gcry_ac_data_new           
373 #undef gcry_ac_data_destroy       
374 #undef gcry_ac_data_copy          
375 #undef gcry_ac_data_length        
376 #undef gcry_ac_data_clear         
377 #undef gcry_ac_data_set           
378 #undef gcry_ac_data_get_name      
379 #undef gcry_ac_data_get_index     
380 #undef gcry_ac_open               
381 #undef gcry_ac_close              
382 #undef gcry_ac_key_init           
383 #undef gcry_ac_key_pair_generate  
384 #undef gcry_ac_key_pair_extract   
385 #undef gcry_ac_key_data_get       
386 #undef gcry_ac_key_test           
387 #undef gcry_ac_key_get_nbits      
388 #undef gcry_ac_key_get_grip       
389 #undef gcry_ac_key_destroy        
390 #undef gcry_ac_key_pair_destroy   
391 #undef gcry_ac_data_encrypt       
392 #undef gcry_ac_data_decrypt       
393 #undef gcry_ac_data_sign          
394 #undef gcry_ac_data_verify        
395 #undef gcry_ac_id_to_name         
396 #undef gcry_ac_name_to_id         
397 #undef gcry_ac_data_encode        
398 #undef gcry_ac_data_decode        
399 #undef gcry_ac_mpi_to_os          
400 #undef gcry_ac_mpi_to_os_alloc    
401 #undef gcry_ac_os_to_mpi          
402 #undef gcry_ac_data_encrypt_scheme
403 #undef gcry_ac_data_decrypt_scheme
404 #undef gcry_ac_data_sign_scheme   
405 #undef gcry_ac_data_verify_scheme 
406 #undef gcry_ac_data_to_sexp       
407 #undef gcry_ac_data_from_sexp     
408 #undef gcry_ac_io_init            
409 #undef gcry_ac_io_init_va         
410
411 #undef gcry_prime_check           
412 #undef gcry_prime_generate        
413 #undef gcry_prime_group_generator 
414 #undef gcry_prime_release_factors 
415
416 #undef gcry_random_add_bytes      
417 #undef gcry_random_bytes          
418 #undef gcry_random_bytes_secure   
419 #undef gcry_randomize             
420 #undef gcry_create_nonce          
421
422 #undef gcry_sexp_alist            
423 #undef gcry_sexp_append           
424 #undef gcry_sexp_build            
425 #undef gcry_sexp_build_array      
426 #undef gcry_sexp_cadr             
427 #undef gcry_sexp_canon_len        
428 #undef gcry_sexp_car              
429 #undef gcry_sexp_cdr              
430 #undef gcry_sexp_cons             
431 #undef gcry_sexp_create           
432 #undef gcry_sexp_dump             
433 #undef gcry_sexp_find_token       
434 #undef gcry_sexp_length           
435 #undef gcry_sexp_new              
436 #undef gcry_sexp_nth              
437 #undef gcry_sexp_nth_data         
438 #undef gcry_sexp_nth_mpi          
439 #undef gcry_sexp_prepend          
440 #undef gcry_sexp_release          
441 #undef gcry_sexp_sprint           
442 #undef gcry_sexp_sscan            
443 #undef gcry_sexp_vlist            
444 #undef gcry_sexp_nth_string       
445
446 #undef gcry_mpi_add               
447 #undef gcry_mpi_add_ui            
448 #undef gcry_mpi_addm              
449 #undef gcry_mpi_aprint            
450 #undef gcry_mpi_clear_bit         
451 #undef gcry_mpi_clear_flag        
452 #undef gcry_mpi_clear_highbit     
453 #undef gcry_mpi_cmp               
454 #undef gcry_mpi_cmp_ui            
455 #undef gcry_mpi_copy              
456 #undef gcry_mpi_div               
457 #undef gcry_mpi_dump              
458 #undef gcry_mpi_gcd               
459 #undef gcry_mpi_get_flag          
460 #undef gcry_mpi_get_nbits         
461 #undef gcry_mpi_get_opaque        
462 #undef gcry_mpi_invm              
463 #undef gcry_mpi_mod               
464 #undef gcry_mpi_mul               
465 #undef gcry_mpi_mul_2exp          
466 #undef gcry_mpi_mul_ui            
467 #undef gcry_mpi_mulm              
468 #undef gcry_mpi_new               
469 #undef gcry_mpi_powm              
470 #undef gcry_mpi_print             
471 #undef gcry_mpi_randomize         
472 #undef gcry_mpi_release           
473 #undef gcry_mpi_rshift            
474 #undef gcry_mpi_lshift            
475 #undef gcry_mpi_scan              
476 #undef gcry_mpi_set               
477 #undef gcry_mpi_set_bit           
478 #undef gcry_mpi_set_flag          
479 #undef gcry_mpi_set_highbit       
480 #undef gcry_mpi_set_opaque        
481 #undef gcry_mpi_set_ui            
482 #undef gcry_mpi_snew              
483 #undef gcry_mpi_sub               
484 #undef gcry_mpi_sub_ui            
485 #undef gcry_mpi_subm              
486 #undef gcry_mpi_swap              
487 #undef gcry_mpi_test_bit          
488
489
490 /* Now mark all symbols.  */
491
492 MARK_VISIBLE (gcry_check_version)
493 MARK_VISIBLE (gcry_control)
494
495 MARK_VISIBLE (gcry_set_allocation_handler)
496 MARK_VISIBLE (gcry_set_fatalerror_handler)
497 MARK_VISIBLE (gcry_set_gettext_handler)
498 MARK_VISIBLE (gcry_set_log_handler)
499 MARK_VISIBLE (gcry_set_outofcore_handler)
500 MARK_VISIBLE (gcry_set_progress_handler)
501 MARK_VISIBLE (gcry_err_code_from_errno)
502 MARK_VISIBLE (gcry_err_code_to_errno)
503 MARK_VISIBLE (gcry_err_make_from_errno)
504 MARK_VISIBLE (gcry_error_from_errno)
505 MARK_VISIBLE (gcry_strerror)
506 MARK_VISIBLE (gcry_strsource)
507
508 MARK_VISIBLE (gcry_free)
509 MARK_VISIBLE (gcry_malloc)
510 MARK_VISIBLE (gcry_malloc_secure)
511 MARK_VISIBLE (gcry_calloc)
512 MARK_VISIBLE (gcry_calloc_secure)
513 MARK_VISIBLE (gcry_realloc)
514 MARK_VISIBLE (gcry_strdup)
515 MARK_VISIBLE (gcry_is_secure)
516 MARK_VISIBLE (gcry_xcalloc)
517 MARK_VISIBLE (gcry_xcalloc_secure)
518 MARK_VISIBLE (gcry_xmalloc)
519 MARK_VISIBLE (gcry_xmalloc_secure)
520 MARK_VISIBLE (gcry_xrealloc)
521 MARK_VISIBLE (gcry_xstrdup)
522
523 MARK_VISIBLE (gcry_md_algo_info)
524 MARK_VISIBLE (gcry_md_algo_name)
525 MARK_VISIBLE (gcry_md_close)
526 MARK_VISIBLE (gcry_md_copy)
527 MARK_VISIBLE (gcry_md_ctl)
528 MARK_VISIBLE (gcry_md_enable)
529 MARK_VISIBLE (gcry_md_get)
530 MARK_VISIBLE (gcry_md_get_algo)
531 MARK_VISIBLE (gcry_md_get_algo_dlen)
532 MARK_VISIBLE (gcry_md_hash_buffer)
533 MARK_VISIBLE (gcry_md_info)
534 MARK_VISIBLE (gcry_md_is_enabled)
535 MARK_VISIBLE (gcry_md_is_secure)
536 MARK_VISIBLE (gcry_md_list)
537 MARK_VISIBLE (gcry_md_map_name)
538 MARK_VISIBLE (gcry_md_open)
539 MARK_VISIBLE (gcry_md_read)
540 MARK_VISIBLEX(gcry_md_register)
541 MARK_VISIBLE (gcry_md_reset)
542 MARK_VISIBLE (gcry_md_setkey)
543 MARK_VISIBLE (gcry_md_unregister)
544 MARK_VISIBLE (gcry_md_write)
545 MARK_VISIBLE (gcry_md_debug)
546
547 MARK_VISIBLE (gcry_cipher_algo_info)
548 MARK_VISIBLE (gcry_cipher_algo_name)
549 MARK_VISIBLE (gcry_cipher_close)
550 MARK_VISIBLE (gcry_cipher_setkey)
551 MARK_VISIBLE (gcry_cipher_setiv)
552 MARK_VISIBLE (gcry_cipher_setctr)
553 MARK_VISIBLE (gcry_cipher_ctl)
554 MARK_VISIBLE (gcry_cipher_decrypt)
555 MARK_VISIBLE (gcry_cipher_encrypt)
556 MARK_VISIBLE (gcry_cipher_get_algo_blklen)
557 MARK_VISIBLE (gcry_cipher_get_algo_keylen)
558 MARK_VISIBLE (gcry_cipher_info)
559 MARK_VISIBLE (gcry_cipher_list)
560 MARK_VISIBLE (gcry_cipher_map_name)
561 MARK_VISIBLE (gcry_cipher_mode_from_oid)
562 MARK_VISIBLE (gcry_cipher_open)
563 MARK_VISIBLEX(gcry_cipher_register)
564 MARK_VISIBLE (gcry_cipher_unregister)
565
566 MARK_VISIBLE (gcry_pk_algo_info)
567 MARK_VISIBLE (gcry_pk_algo_name)
568 MARK_VISIBLE (gcry_pk_ctl)
569 MARK_VISIBLE (gcry_pk_decrypt)
570 MARK_VISIBLE (gcry_pk_encrypt)
571 MARK_VISIBLE (gcry_pk_genkey)
572 MARK_VISIBLE (gcry_pk_get_keygrip)
573 MARK_VISIBLE (gcry_pk_get_curve)
574 MARK_VISIBLE (gcry_pk_get_nbits)
575 MARK_VISIBLE (gcry_pk_list)
576 MARK_VISIBLE (gcry_pk_map_name)
577 MARK_VISIBLEX(gcry_pk_register)
578 MARK_VISIBLE (gcry_pk_sign)
579 MARK_VISIBLE (gcry_pk_testkey)
580 MARK_VISIBLE (gcry_pk_unregister)
581 MARK_VISIBLE (gcry_pk_verify)
582
583 MARK_VISIBLE (gcry_ac_data_new)
584 MARK_VISIBLE (gcry_ac_data_destroy)
585 MARK_VISIBLE (gcry_ac_data_copy)
586 MARK_VISIBLE (gcry_ac_data_length)
587 MARK_VISIBLE (gcry_ac_data_clear)
588 MARK_VISIBLE (gcry_ac_data_set)
589 MARK_VISIBLE (gcry_ac_data_get_name)
590 MARK_VISIBLE (gcry_ac_data_get_index)
591 MARK_VISIBLE (gcry_ac_open)
592 MARK_VISIBLE (gcry_ac_close)
593 MARK_VISIBLE (gcry_ac_key_init)
594 MARK_VISIBLE (gcry_ac_key_pair_generate)
595 MARK_VISIBLE (gcry_ac_key_pair_extract)
596 MARK_VISIBLE (gcry_ac_key_data_get)
597 MARK_VISIBLE (gcry_ac_key_test)
598 MARK_VISIBLE (gcry_ac_key_get_nbits)
599 MARK_VISIBLE (gcry_ac_key_get_grip)
600 MARK_VISIBLE (gcry_ac_key_destroy)
601 MARK_VISIBLE (gcry_ac_key_pair_destroy)
602 MARK_VISIBLE (gcry_ac_data_encrypt)
603 MARK_VISIBLE (gcry_ac_data_decrypt)
604 MARK_VISIBLE (gcry_ac_data_sign)
605 MARK_VISIBLE (gcry_ac_data_verify)
606 MARK_VISIBLE (gcry_ac_id_to_name)
607 MARK_VISIBLE (gcry_ac_name_to_id)
608 /* MARK_VISIBLE (gcry_ac_list) Not defined although it is in
609         libgcrypt.vers. */
610 MARK_VISIBLE (gcry_ac_data_encode)
611 MARK_VISIBLE (gcry_ac_data_decode)
612 MARK_VISIBLE (gcry_ac_mpi_to_os)
613 MARK_VISIBLE (gcry_ac_mpi_to_os_alloc)
614 MARK_VISIBLE (gcry_ac_os_to_mpi)
615 MARK_VISIBLE (gcry_ac_data_encrypt_scheme)
616 MARK_VISIBLE (gcry_ac_data_decrypt_scheme)
617 MARK_VISIBLE (gcry_ac_data_sign_scheme)
618 MARK_VISIBLE (gcry_ac_data_verify_scheme)
619 MARK_VISIBLE (gcry_ac_data_to_sexp)
620 MARK_VISIBLE (gcry_ac_data_from_sexp)
621 MARK_VISIBLE (gcry_ac_io_init)
622 MARK_VISIBLE (gcry_ac_io_init_va)
623
624 MARK_VISIBLE (gcry_prime_check)
625 MARK_VISIBLE (gcry_prime_generate)
626 MARK_VISIBLE (gcry_prime_group_generator)
627 MARK_VISIBLE (gcry_prime_release_factors)
628
629 MARK_VISIBLE (gcry_random_add_bytes)
630 MARK_VISIBLE (gcry_random_bytes)
631 MARK_VISIBLE (gcry_random_bytes_secure)
632 MARK_VISIBLE (gcry_randomize)
633 MARK_VISIBLE (gcry_create_nonce)
634
635 MARK_VISIBLE (gcry_sexp_alist)
636 MARK_VISIBLE (gcry_sexp_append)
637 MARK_VISIBLE (gcry_sexp_build)
638 MARK_VISIBLE (gcry_sexp_build_array)
639 MARK_VISIBLE (gcry_sexp_cadr)
640 MARK_VISIBLE (gcry_sexp_canon_len)
641 MARK_VISIBLE (gcry_sexp_car)
642 MARK_VISIBLE (gcry_sexp_cdr)
643 MARK_VISIBLE (gcry_sexp_cons)
644 MARK_VISIBLE (gcry_sexp_create)
645 MARK_VISIBLE (gcry_sexp_dump)
646 MARK_VISIBLE (gcry_sexp_find_token)
647 MARK_VISIBLE (gcry_sexp_length)
648 MARK_VISIBLE (gcry_sexp_new)
649 MARK_VISIBLE (gcry_sexp_nth)
650 MARK_VISIBLE (gcry_sexp_nth_data)
651 MARK_VISIBLE (gcry_sexp_nth_mpi)
652 MARK_VISIBLE (gcry_sexp_prepend)
653 MARK_VISIBLE (gcry_sexp_release)
654 MARK_VISIBLE (gcry_sexp_sprint)
655 MARK_VISIBLE (gcry_sexp_sscan)
656 MARK_VISIBLE (gcry_sexp_vlist)
657 MARK_VISIBLE (gcry_sexp_nth_string)
658
659 MARK_VISIBLE (gcry_mpi_add)
660 MARK_VISIBLE (gcry_mpi_add_ui)
661 MARK_VISIBLE (gcry_mpi_addm)
662 MARK_VISIBLE (gcry_mpi_aprint)
663 MARK_VISIBLE (gcry_mpi_clear_bit)
664 MARK_VISIBLE (gcry_mpi_clear_flag)
665 MARK_VISIBLE (gcry_mpi_clear_highbit)
666 MARK_VISIBLE (gcry_mpi_cmp)
667 MARK_VISIBLE (gcry_mpi_cmp_ui)
668 MARK_VISIBLE (gcry_mpi_copy)
669 MARK_VISIBLE (gcry_mpi_div)
670 MARK_VISIBLE (gcry_mpi_dump)
671 MARK_VISIBLE (gcry_mpi_gcd)
672 MARK_VISIBLE (gcry_mpi_get_flag)
673 MARK_VISIBLE (gcry_mpi_get_nbits)
674 MARK_VISIBLE (gcry_mpi_get_opaque)
675 MARK_VISIBLE (gcry_mpi_invm)
676 MARK_VISIBLE (gcry_mpi_mod)
677 MARK_VISIBLE (gcry_mpi_mul)
678 MARK_VISIBLE (gcry_mpi_mul_2exp)
679 MARK_VISIBLE (gcry_mpi_mul_ui)
680 MARK_VISIBLE (gcry_mpi_mulm)
681 MARK_VISIBLE (gcry_mpi_new)
682 MARK_VISIBLE (gcry_mpi_powm)
683 MARK_VISIBLE (gcry_mpi_print)
684 MARK_VISIBLE (gcry_mpi_randomize)
685 MARK_VISIBLE (gcry_mpi_release)
686 MARK_VISIBLE (gcry_mpi_rshift)
687 MARK_VISIBLE (gcry_mpi_lshift)
688 MARK_VISIBLE (gcry_mpi_scan)
689 MARK_VISIBLE (gcry_mpi_set)
690 MARK_VISIBLE (gcry_mpi_set_bit)
691 MARK_VISIBLE (gcry_mpi_set_flag)
692 MARK_VISIBLE (gcry_mpi_set_highbit)
693 MARK_VISIBLE (gcry_mpi_set_opaque)
694 MARK_VISIBLE (gcry_mpi_set_ui)
695 MARK_VISIBLE (gcry_mpi_snew)
696 MARK_VISIBLE (gcry_mpi_sub)
697 MARK_VISIBLE (gcry_mpi_sub_ui)
698 MARK_VISIBLE (gcry_mpi_subm)
699 MARK_VISIBLE (gcry_mpi_swap)
700 MARK_VISIBLE (gcry_mpi_test_bit)
701
702
703
704 #undef MARK_VISIBLE
705 #endif /*_GCRY_INCLUDED_BY_VISIBILITY_C*/
706
707 #endif /*GCRY_VISIBILITY_H*/