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