6a054c5c46980fe48c1c2aac51cad8fe8f1e9ff2
[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_param           _gcry_pk_get_param
108 #define gcry_pk_get_nbits           _gcry_pk_get_nbits
109 #define gcry_pk_list                _gcry_pk_list
110 #define gcry_pk_map_name            _gcry_pk_map_name
111 /* gcry_pk_register and _gcry_pk_register differ.  */
112 #define gcry_pk_unregister          _gcry_pk_unregister
113 #define gcry_pk_sign                _gcry_pk_sign
114 #define gcry_pk_testkey             _gcry_pk_testkey
115 #define gcry_pk_verify              _gcry_pk_verify
116
117 #define gcry_ac_data_new            _gcry_ac_data_new
118 #define gcry_ac_data_destroy        _gcry_ac_data_destroy
119 #define gcry_ac_data_copy           _gcry_ac_data_copy
120 #define gcry_ac_data_length         _gcry_ac_data_length
121 #define gcry_ac_data_clear          _gcry_ac_data_clear
122 #define gcry_ac_data_set            _gcry_ac_data_set
123 #define gcry_ac_data_get_name       _gcry_ac_data_get_name
124 #define gcry_ac_data_get_index      _gcry_ac_data_get_index
125 #define gcry_ac_open                _gcry_ac_open
126 #define gcry_ac_close               _gcry_ac_close
127 #define gcry_ac_key_init            _gcry_ac_key_init
128 #define gcry_ac_key_pair_generate   _gcry_ac_key_pair_generate
129 #define gcry_ac_key_pair_extract    _gcry_ac_key_pair_extract
130 #define gcry_ac_key_data_get        _gcry_ac_key_data_get
131 #define gcry_ac_key_test            _gcry_ac_key_test
132 #define gcry_ac_key_get_nbits       _gcry_ac_key_get_nbits
133 #define gcry_ac_key_get_grip        _gcry_ac_key_get_grip
134 #define gcry_ac_key_destroy         _gcry_ac_key_destroy
135 #define gcry_ac_key_pair_destroy    _gcry_ac_key_pair_destroy
136 #define gcry_ac_data_encrypt        _gcry_ac_data_encrypt
137 #define gcry_ac_data_decrypt        _gcry_ac_data_decrypt
138 #define gcry_ac_data_sign           _gcry_ac_data_sign
139 #define gcry_ac_data_verify         _gcry_ac_data_verify
140 #define gcry_ac_id_to_name          _gcry_ac_id_to_name
141 #define gcry_ac_name_to_id          _gcry_ac_name_to_id
142 #define gcry_ac_data_encode         _gcry_ac_data_encode
143 #define gcry_ac_data_decode         _gcry_ac_data_decode
144 #define gcry_ac_mpi_to_os           _gcry_ac_mpi_to_os
145 #define gcry_ac_mpi_to_os_alloc     _gcry_ac_mpi_to_os_alloc
146 #define gcry_ac_os_to_mpi           _gcry_ac_os_to_mpi
147 #define gcry_ac_data_encrypt_scheme _gcry_ac_data_encrypt_scheme
148 #define gcry_ac_data_decrypt_scheme _gcry_ac_data_decrypt_scheme
149 #define gcry_ac_data_sign_scheme    _gcry_ac_data_sign_scheme
150 #define gcry_ac_data_verify_scheme  _gcry_ac_data_verify_scheme
151 #define gcry_ac_data_to_sexp        _gcry_ac_data_to_sexp
152 #define gcry_ac_data_from_sexp      _gcry_ac_data_from_sexp
153 #define gcry_ac_io_init             _gcry_ac_io_init
154 #define gcry_ac_io_init_va          _gcry_ac_io_init_va
155
156 #define gcry_prime_check            _gcry_prime_check
157 #define gcry_prime_generate         _gcry_prime_generate
158 #define gcry_prime_group_generator  _gcry_prime_group_generator
159 #define gcry_prime_release_factors  _gcry_prime_release_factors
160
161 #define gcry_random_add_bytes       _gcry_random_add_bytes
162 #define gcry_random_bytes           _gcry_random_bytes
163 #define gcry_random_bytes_secure    _gcry_random_bytes_secure
164 #define gcry_randomize              _gcry_randomize
165 #define gcry_create_nonce           _gcry_create_nonce
166
167 #define gcry_sexp_alist             _gcry_sexp_alist
168 #define gcry_sexp_append            _gcry_sexp_append
169 #define gcry_sexp_build             _gcry_sexp_build
170 #define gcry_sexp_build_array       _gcry_sexp_build_array
171 #define gcry_sexp_cadr              _gcry_sexp_cadr
172 #define gcry_sexp_canon_len         _gcry_sexp_canon_len
173 #define gcry_sexp_car               _gcry_sexp_car
174 #define gcry_sexp_cdr               _gcry_sexp_cdr
175 #define gcry_sexp_cons              _gcry_sexp_cons
176 #define gcry_sexp_create            _gcry_sexp_create
177 #define gcry_sexp_dump              _gcry_sexp_dump
178 #define gcry_sexp_find_token        _gcry_sexp_find_token
179 #define gcry_sexp_length            _gcry_sexp_length
180 #define gcry_sexp_new               _gcry_sexp_new
181 #define gcry_sexp_nth               _gcry_sexp_nth
182 #define gcry_sexp_nth_data          _gcry_sexp_nth_data
183 #define gcry_sexp_nth_mpi           _gcry_sexp_nth_mpi
184 #define gcry_sexp_prepend           _gcry_sexp_prepend
185 #define gcry_sexp_release           _gcry_sexp_release
186 #define gcry_sexp_sprint            _gcry_sexp_sprint
187 #define gcry_sexp_sscan             _gcry_sexp_sscan
188 #define gcry_sexp_vlist             _gcry_sexp_vlist
189 #define gcry_sexp_nth_string        _gcry_sexp_nth_string
190
191 #define gcry_mpi_add                _gcry_mpi_add
192 #define gcry_mpi_add_ui             _gcry_mpi_add_ui
193 #define gcry_mpi_addm               _gcry_mpi_addm
194 #define gcry_mpi_aprint             _gcry_mpi_aprint
195 #define gcry_mpi_clear_bit          _gcry_mpi_clear_bit
196 #define gcry_mpi_clear_flag         _gcry_mpi_clear_flag
197 #define gcry_mpi_clear_highbit      _gcry_mpi_clear_highbit
198 #define gcry_mpi_cmp                _gcry_mpi_cmp
199 #define gcry_mpi_cmp_ui             _gcry_mpi_cmp_ui
200 #define gcry_mpi_copy               _gcry_mpi_copy
201 #define gcry_mpi_div                _gcry_mpi_div
202 #define gcry_mpi_dump               _gcry_mpi_dump
203 #define gcry_mpi_gcd                _gcry_mpi_gcd
204 #define gcry_mpi_get_flag           _gcry_mpi_get_flag
205 #define gcry_mpi_get_nbits          _gcry_mpi_get_nbits
206 #define gcry_mpi_get_opaque         _gcry_mpi_get_opaque
207 #define gcry_mpi_invm               _gcry_mpi_invm
208 #define gcry_mpi_mod                _gcry_mpi_mod
209 #define gcry_mpi_mul                _gcry_mpi_mul
210 #define gcry_mpi_mul_2exp           _gcry_mpi_mul_2exp
211 #define gcry_mpi_mul_ui             _gcry_mpi_mul_ui
212 #define gcry_mpi_mulm               _gcry_mpi_mulm
213 #define gcry_mpi_new                _gcry_mpi_new
214 #define gcry_mpi_powm               _gcry_mpi_powm
215 #define gcry_mpi_print              _gcry_mpi_print
216 #define gcry_mpi_randomize          _gcry_mpi_randomize
217 #define gcry_mpi_release            _gcry_mpi_release
218 #define gcry_mpi_rshift             _gcry_mpi_rshift
219 #define gcry_mpi_lshift             _gcry_mpi_lshift
220 #define gcry_mpi_scan               _gcry_mpi_scan
221 #define gcry_mpi_set                _gcry_mpi_set
222 #define gcry_mpi_set_bit            _gcry_mpi_set_bit
223 #define gcry_mpi_set_flag           _gcry_mpi_set_flag
224 #define gcry_mpi_set_highbit        _gcry_mpi_set_highbit
225 #define gcry_mpi_set_opaque         _gcry_mpi_set_opaque
226 #define gcry_mpi_set_ui             _gcry_mpi_set_ui
227 #define gcry_mpi_snew               _gcry_mpi_snew
228 #define gcry_mpi_sub                _gcry_mpi_sub
229 #define gcry_mpi_sub_ui             _gcry_mpi_sub_ui
230 #define gcry_mpi_subm               _gcry_mpi_subm
231 #define gcry_mpi_swap               _gcry_mpi_swap
232 #define gcry_mpi_test_bit           _gcry_mpi_test_bit
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    definition from the mapped name.  */
269 #ifdef GCRY_USE_VISIBILITY
270 # define MARK_VISIBLE(name) \
271     extern __typeof__ (_##name) name __attribute__ ((visibility("default")));
272 # define MARK_VISIBLEX(name) \
273     extern __typeof__ (name) name __attribute__ ((visibility("default")));
274 #else
275 # define MARK_VISIBLE(name) /* */
276 # define MARK_VISIBLEX(name) /* */
277 #endif
278
279
280 /* First undef all redefined symbols so that we set the attribute on
281    the correct version name.  */
282 #undef gcry_check_version
283 #undef gcry_control
284
285 #undef gcry_set_allocation_handler
286 #undef gcry_set_fatalerror_handler
287 #undef gcry_set_gettext_handler
288 #undef gcry_set_log_handler
289 #undef gcry_set_outofcore_handler
290 #undef gcry_set_progress_handler
291 #undef gcry_err_code_from_errno
292 #undef gcry_err_code_to_errno
293 #undef gcry_err_make_from_errno
294 #undef gcry_error_from_errno
295 #undef gcry_strerror
296 #undef gcry_strsource
297
298 #undef gcry_free
299 #undef gcry_malloc
300 #undef gcry_malloc_secure
301 #undef gcry_calloc
302 #undef gcry_calloc_secure
303 #undef gcry_realloc
304 #undef gcry_strdup
305 #undef gcry_is_secure
306 #undef gcry_xcalloc
307 #undef gcry_xcalloc_secure
308 #undef gcry_xmalloc
309 #undef gcry_xmalloc_secure
310 #undef gcry_xrealloc
311 #undef gcry_xstrdup
312
313 #undef gcry_md_algo_info
314 #undef gcry_md_algo_name
315 #undef gcry_md_close
316 #undef gcry_md_copy
317 #undef gcry_md_ctl
318 #undef gcry_md_enable
319 #undef gcry_md_get
320 #undef gcry_md_get_algo
321 #undef gcry_md_get_algo_dlen
322 #undef gcry_md_hash_buffer
323 #undef gcry_md_info
324 #undef gcry_md_is_enabled
325 #undef gcry_md_is_secure
326 #undef gcry_md_list
327 #undef gcry_md_map_name
328 #undef gcry_md_open
329 #undef gcry_md_read
330 /* gcry_md_register is not anymore a macro.  */
331 #undef gcry_md_unregister
332 #undef gcry_md_reset
333 #undef gcry_md_setkey
334 #undef gcry_md_write
335 #undef gcry_md_debug
336
337 #undef gcry_cipher_algo_info
338 #undef gcry_cipher_algo_name
339 #undef gcry_cipher_close
340 #undef gcry_cipher_setkey
341 #undef gcry_cipher_setiv
342 #undef gcry_cipher_setctr
343 #undef gcry_cipher_ctl
344 #undef gcry_cipher_decrypt
345 #undef gcry_cipher_encrypt
346 #undef gcry_cipher_get_algo_blklen
347 #undef gcry_cipher_get_algo_keylen
348 #undef gcry_cipher_info
349 #undef gcry_cipher_list
350 #undef gcry_cipher_map_name
351 #undef gcry_cipher_mode_from_oid
352 #undef gcry_cipher_open
353 /* gcry_cipher_register is not anymore a macro.  */
354 #undef gcry_cipher_unregister
355
356 #undef gcry_pk_algo_info
357 #undef gcry_pk_algo_name
358 #undef gcry_pk_ctl
359 #undef gcry_pk_decrypt
360 #undef gcry_pk_encrypt
361 #undef gcry_pk_genkey
362 #undef gcry_pk_get_keygrip
363 #undef gcry_pk_get_curve
364 #undef gcry_pk_get_param
365 #undef gcry_pk_get_nbits
366 #undef gcry_pk_list
367 #undef gcry_pk_map_name
368 /* gcry_pk_register is not anymore a macro.  */
369 #undef gcry_pk_unregister
370 #undef gcry_pk_sign
371 #undef gcry_pk_testkey
372 #undef gcry_pk_verify
373
374 #undef gcry_ac_data_new
375 #undef gcry_ac_data_destroy
376 #undef gcry_ac_data_copy
377 #undef gcry_ac_data_length
378 #undef gcry_ac_data_clear
379 #undef gcry_ac_data_set
380 #undef gcry_ac_data_get_name
381 #undef gcry_ac_data_get_index
382 #undef gcry_ac_open
383 #undef gcry_ac_close
384 #undef gcry_ac_key_init
385 #undef gcry_ac_key_pair_generate
386 #undef gcry_ac_key_pair_extract
387 #undef gcry_ac_key_data_get
388 #undef gcry_ac_key_test
389 #undef gcry_ac_key_get_nbits
390 #undef gcry_ac_key_get_grip
391 #undef gcry_ac_key_destroy
392 #undef gcry_ac_key_pair_destroy
393 #undef gcry_ac_data_encrypt
394 #undef gcry_ac_data_decrypt
395 #undef gcry_ac_data_sign
396 #undef gcry_ac_data_verify
397 #undef gcry_ac_id_to_name
398 #undef gcry_ac_name_to_id
399 #undef gcry_ac_data_encode
400 #undef gcry_ac_data_decode
401 #undef gcry_ac_mpi_to_os
402 #undef gcry_ac_mpi_to_os_alloc
403 #undef gcry_ac_os_to_mpi
404 #undef gcry_ac_data_encrypt_scheme
405 #undef gcry_ac_data_decrypt_scheme
406 #undef gcry_ac_data_sign_scheme
407 #undef gcry_ac_data_verify_scheme
408 #undef gcry_ac_data_to_sexp
409 #undef gcry_ac_data_from_sexp
410 #undef gcry_ac_io_init
411 #undef gcry_ac_io_init_va
412
413 #undef gcry_prime_check
414 #undef gcry_prime_generate
415 #undef gcry_prime_group_generator
416 #undef gcry_prime_release_factors
417
418 #undef gcry_random_add_bytes
419 #undef gcry_random_bytes
420 #undef gcry_random_bytes_secure
421 #undef gcry_randomize
422 #undef gcry_create_nonce
423
424 #undef gcry_sexp_alist
425 #undef gcry_sexp_append
426 #undef gcry_sexp_build
427 #undef gcry_sexp_build_array
428 #undef gcry_sexp_cadr
429 #undef gcry_sexp_canon_len
430 #undef gcry_sexp_car
431 #undef gcry_sexp_cdr
432 #undef gcry_sexp_cons
433 #undef gcry_sexp_create
434 #undef gcry_sexp_dump
435 #undef gcry_sexp_find_token
436 #undef gcry_sexp_length
437 #undef gcry_sexp_new
438 #undef gcry_sexp_nth
439 #undef gcry_sexp_nth_data
440 #undef gcry_sexp_nth_mpi
441 #undef gcry_sexp_prepend
442 #undef gcry_sexp_release
443 #undef gcry_sexp_sprint
444 #undef gcry_sexp_sscan
445 #undef gcry_sexp_vlist
446 #undef gcry_sexp_nth_string
447
448 #undef gcry_mpi_add
449 #undef gcry_mpi_add_ui
450 #undef gcry_mpi_addm
451 #undef gcry_mpi_aprint
452 #undef gcry_mpi_clear_bit
453 #undef gcry_mpi_clear_flag
454 #undef gcry_mpi_clear_highbit
455 #undef gcry_mpi_cmp
456 #undef gcry_mpi_cmp_ui
457 #undef gcry_mpi_copy
458 #undef gcry_mpi_div
459 #undef gcry_mpi_dump
460 #undef gcry_mpi_gcd
461 #undef gcry_mpi_get_flag
462 #undef gcry_mpi_get_nbits
463 #undef gcry_mpi_get_opaque
464 #undef gcry_mpi_invm
465 #undef gcry_mpi_mod
466 #undef gcry_mpi_mul
467 #undef gcry_mpi_mul_2exp
468 #undef gcry_mpi_mul_ui
469 #undef gcry_mpi_mulm
470 #undef gcry_mpi_new
471 #undef gcry_mpi_powm
472 #undef gcry_mpi_print
473 #undef gcry_mpi_randomize
474 #undef gcry_mpi_release
475 #undef gcry_mpi_rshift
476 #undef gcry_mpi_lshift
477 #undef gcry_mpi_scan
478 #undef gcry_mpi_set
479 #undef gcry_mpi_set_bit
480 #undef gcry_mpi_set_flag
481 #undef gcry_mpi_set_highbit
482 #undef gcry_mpi_set_opaque
483 #undef gcry_mpi_set_ui
484 #undef gcry_mpi_snew
485 #undef gcry_mpi_sub
486 #undef gcry_mpi_sub_ui
487 #undef gcry_mpi_subm
488 #undef gcry_mpi_swap
489 #undef gcry_mpi_test_bit
490
491
492 /* Now mark all symbols.  */
493
494 MARK_VISIBLE (gcry_check_version)
495 MARK_VISIBLE (gcry_control)
496
497 MARK_VISIBLE (gcry_set_allocation_handler)
498 MARK_VISIBLE (gcry_set_fatalerror_handler)
499 MARK_VISIBLE (gcry_set_gettext_handler)
500 MARK_VISIBLE (gcry_set_log_handler)
501 MARK_VISIBLE (gcry_set_outofcore_handler)
502 MARK_VISIBLE (gcry_set_progress_handler)
503 MARK_VISIBLE (gcry_err_code_from_errno)
504 MARK_VISIBLE (gcry_err_code_to_errno)
505 MARK_VISIBLE (gcry_err_make_from_errno)
506 MARK_VISIBLE (gcry_error_from_errno)
507 MARK_VISIBLE (gcry_strerror)
508 MARK_VISIBLE (gcry_strsource)
509
510 MARK_VISIBLE (gcry_free)
511 MARK_VISIBLE (gcry_malloc)
512 MARK_VISIBLE (gcry_malloc_secure)
513 MARK_VISIBLE (gcry_calloc)
514 MARK_VISIBLE (gcry_calloc_secure)
515 MARK_VISIBLE (gcry_realloc)
516 MARK_VISIBLE (gcry_strdup)
517 MARK_VISIBLE (gcry_is_secure)
518 MARK_VISIBLE (gcry_xcalloc)
519 MARK_VISIBLE (gcry_xcalloc_secure)
520 MARK_VISIBLE (gcry_xmalloc)
521 MARK_VISIBLE (gcry_xmalloc_secure)
522 MARK_VISIBLE (gcry_xrealloc)
523 MARK_VISIBLE (gcry_xstrdup)
524
525 MARK_VISIBLE (gcry_md_algo_info)
526 MARK_VISIBLE (gcry_md_algo_name)
527 MARK_VISIBLE (gcry_md_close)
528 MARK_VISIBLE (gcry_md_copy)
529 MARK_VISIBLE (gcry_md_ctl)
530 MARK_VISIBLE (gcry_md_enable)
531 MARK_VISIBLE (gcry_md_get)
532 MARK_VISIBLE (gcry_md_get_algo)
533 MARK_VISIBLE (gcry_md_get_algo_dlen)
534 MARK_VISIBLE (gcry_md_hash_buffer)
535 MARK_VISIBLE (gcry_md_info)
536 MARK_VISIBLE (gcry_md_is_enabled)
537 MARK_VISIBLE (gcry_md_is_secure)
538 MARK_VISIBLE (gcry_md_list)
539 MARK_VISIBLE (gcry_md_map_name)
540 MARK_VISIBLE (gcry_md_open)
541 MARK_VISIBLE (gcry_md_read)
542 MARK_VISIBLEX(gcry_md_register)
543 MARK_VISIBLE (gcry_md_reset)
544 MARK_VISIBLE (gcry_md_setkey)
545 MARK_VISIBLE (gcry_md_unregister)
546 MARK_VISIBLE (gcry_md_write)
547 MARK_VISIBLE (gcry_md_debug)
548
549 MARK_VISIBLE (gcry_cipher_algo_info)
550 MARK_VISIBLE (gcry_cipher_algo_name)
551 MARK_VISIBLE (gcry_cipher_close)
552 MARK_VISIBLE (gcry_cipher_setkey)
553 MARK_VISIBLE (gcry_cipher_setiv)
554 MARK_VISIBLE (gcry_cipher_setctr)
555 MARK_VISIBLE (gcry_cipher_ctl)
556 MARK_VISIBLE (gcry_cipher_decrypt)
557 MARK_VISIBLE (gcry_cipher_encrypt)
558 MARK_VISIBLE (gcry_cipher_get_algo_blklen)
559 MARK_VISIBLE (gcry_cipher_get_algo_keylen)
560 MARK_VISIBLE (gcry_cipher_info)
561 MARK_VISIBLE (gcry_cipher_list)
562 MARK_VISIBLE (gcry_cipher_map_name)
563 MARK_VISIBLE (gcry_cipher_mode_from_oid)
564 MARK_VISIBLE (gcry_cipher_open)
565 MARK_VISIBLEX(gcry_cipher_register)
566 MARK_VISIBLE (gcry_cipher_unregister)
567
568 MARK_VISIBLE (gcry_pk_algo_info)
569 MARK_VISIBLE (gcry_pk_algo_name)
570 MARK_VISIBLE (gcry_pk_ctl)
571 MARK_VISIBLE (gcry_pk_decrypt)
572 MARK_VISIBLE (gcry_pk_encrypt)
573 MARK_VISIBLE (gcry_pk_genkey)
574 MARK_VISIBLE (gcry_pk_get_keygrip)
575 MARK_VISIBLE (gcry_pk_get_curve)
576 MARK_VISIBLE (gcry_pk_get_param)
577 MARK_VISIBLE (gcry_pk_get_nbits)
578 MARK_VISIBLE (gcry_pk_list)
579 MARK_VISIBLE (gcry_pk_map_name)
580 MARK_VISIBLEX(gcry_pk_register)
581 MARK_VISIBLE (gcry_pk_sign)
582 MARK_VISIBLE (gcry_pk_testkey)
583 MARK_VISIBLE (gcry_pk_unregister)
584 MARK_VISIBLE (gcry_pk_verify)
585
586 MARK_VISIBLE (gcry_ac_data_new)
587 MARK_VISIBLE (gcry_ac_data_destroy)
588 MARK_VISIBLE (gcry_ac_data_copy)
589 MARK_VISIBLE (gcry_ac_data_length)
590 MARK_VISIBLE (gcry_ac_data_clear)
591 MARK_VISIBLE (gcry_ac_data_set)
592 MARK_VISIBLE (gcry_ac_data_get_name)
593 MARK_VISIBLE (gcry_ac_data_get_index)
594 MARK_VISIBLE (gcry_ac_open)
595 MARK_VISIBLE (gcry_ac_close)
596 MARK_VISIBLE (gcry_ac_key_init)
597 MARK_VISIBLE (gcry_ac_key_pair_generate)
598 MARK_VISIBLE (gcry_ac_key_pair_extract)
599 MARK_VISIBLE (gcry_ac_key_data_get)
600 MARK_VISIBLE (gcry_ac_key_test)
601 MARK_VISIBLE (gcry_ac_key_get_nbits)
602 MARK_VISIBLE (gcry_ac_key_get_grip)
603 MARK_VISIBLE (gcry_ac_key_destroy)
604 MARK_VISIBLE (gcry_ac_key_pair_destroy)
605 MARK_VISIBLE (gcry_ac_data_encrypt)
606 MARK_VISIBLE (gcry_ac_data_decrypt)
607 MARK_VISIBLE (gcry_ac_data_sign)
608 MARK_VISIBLE (gcry_ac_data_verify)
609 MARK_VISIBLE (gcry_ac_id_to_name)
610 MARK_VISIBLE (gcry_ac_name_to_id)
611 /* MARK_VISIBLE (gcry_ac_list) Not defined although it is in
612         libgcrypt.vers. */
613 MARK_VISIBLE (gcry_ac_data_encode)
614 MARK_VISIBLE (gcry_ac_data_decode)
615 MARK_VISIBLE (gcry_ac_mpi_to_os)
616 MARK_VISIBLE (gcry_ac_mpi_to_os_alloc)
617 MARK_VISIBLE (gcry_ac_os_to_mpi)
618 MARK_VISIBLE (gcry_ac_data_encrypt_scheme)
619 MARK_VISIBLE (gcry_ac_data_decrypt_scheme)
620 MARK_VISIBLE (gcry_ac_data_sign_scheme)
621 MARK_VISIBLE (gcry_ac_data_verify_scheme)
622 MARK_VISIBLE (gcry_ac_data_to_sexp)
623 MARK_VISIBLE (gcry_ac_data_from_sexp)
624 MARK_VISIBLE (gcry_ac_io_init)
625 MARK_VISIBLE (gcry_ac_io_init_va)
626
627 MARK_VISIBLE (gcry_prime_check)
628 MARK_VISIBLE (gcry_prime_generate)
629 MARK_VISIBLE (gcry_prime_group_generator)
630 MARK_VISIBLE (gcry_prime_release_factors)
631
632 MARK_VISIBLE (gcry_random_add_bytes)
633 MARK_VISIBLE (gcry_random_bytes)
634 MARK_VISIBLE (gcry_random_bytes_secure)
635 MARK_VISIBLE (gcry_randomize)
636 MARK_VISIBLE (gcry_create_nonce)
637
638 MARK_VISIBLE (gcry_sexp_alist)
639 MARK_VISIBLE (gcry_sexp_append)
640 MARK_VISIBLE (gcry_sexp_build)
641 MARK_VISIBLE (gcry_sexp_build_array)
642 MARK_VISIBLE (gcry_sexp_cadr)
643 MARK_VISIBLE (gcry_sexp_canon_len)
644 MARK_VISIBLE (gcry_sexp_car)
645 MARK_VISIBLE (gcry_sexp_cdr)
646 MARK_VISIBLE (gcry_sexp_cons)
647 MARK_VISIBLE (gcry_sexp_create)
648 MARK_VISIBLE (gcry_sexp_dump)
649 MARK_VISIBLE (gcry_sexp_find_token)
650 MARK_VISIBLE (gcry_sexp_length)
651 MARK_VISIBLE (gcry_sexp_new)
652 MARK_VISIBLE (gcry_sexp_nth)
653 MARK_VISIBLE (gcry_sexp_nth_data)
654 MARK_VISIBLE (gcry_sexp_nth_mpi)
655 MARK_VISIBLE (gcry_sexp_prepend)
656 MARK_VISIBLE (gcry_sexp_release)
657 MARK_VISIBLE (gcry_sexp_sprint)
658 MARK_VISIBLE (gcry_sexp_sscan)
659 MARK_VISIBLE (gcry_sexp_vlist)
660 MARK_VISIBLE (gcry_sexp_nth_string)
661
662 MARK_VISIBLE (gcry_mpi_add)
663 MARK_VISIBLE (gcry_mpi_add_ui)
664 MARK_VISIBLE (gcry_mpi_addm)
665 MARK_VISIBLE (gcry_mpi_aprint)
666 MARK_VISIBLE (gcry_mpi_clear_bit)
667 MARK_VISIBLE (gcry_mpi_clear_flag)
668 MARK_VISIBLE (gcry_mpi_clear_highbit)
669 MARK_VISIBLE (gcry_mpi_cmp)
670 MARK_VISIBLE (gcry_mpi_cmp_ui)
671 MARK_VISIBLE (gcry_mpi_copy)
672 MARK_VISIBLE (gcry_mpi_div)
673 MARK_VISIBLE (gcry_mpi_dump)
674 MARK_VISIBLE (gcry_mpi_gcd)
675 MARK_VISIBLE (gcry_mpi_get_flag)
676 MARK_VISIBLE (gcry_mpi_get_nbits)
677 MARK_VISIBLE (gcry_mpi_get_opaque)
678 MARK_VISIBLE (gcry_mpi_invm)
679 MARK_VISIBLE (gcry_mpi_mod)
680 MARK_VISIBLE (gcry_mpi_mul)
681 MARK_VISIBLE (gcry_mpi_mul_2exp)
682 MARK_VISIBLE (gcry_mpi_mul_ui)
683 MARK_VISIBLE (gcry_mpi_mulm)
684 MARK_VISIBLE (gcry_mpi_new)
685 MARK_VISIBLE (gcry_mpi_powm)
686 MARK_VISIBLE (gcry_mpi_print)
687 MARK_VISIBLE (gcry_mpi_randomize)
688 MARK_VISIBLE (gcry_mpi_release)
689 MARK_VISIBLE (gcry_mpi_rshift)
690 MARK_VISIBLE (gcry_mpi_lshift)
691 MARK_VISIBLE (gcry_mpi_scan)
692 MARK_VISIBLE (gcry_mpi_set)
693 MARK_VISIBLE (gcry_mpi_set_bit)
694 MARK_VISIBLE (gcry_mpi_set_flag)
695 MARK_VISIBLE (gcry_mpi_set_highbit)
696 MARK_VISIBLE (gcry_mpi_set_opaque)
697 MARK_VISIBLE (gcry_mpi_set_ui)
698 MARK_VISIBLE (gcry_mpi_snew)
699 MARK_VISIBLE (gcry_mpi_sub)
700 MARK_VISIBLE (gcry_mpi_sub_ui)
701 MARK_VISIBLE (gcry_mpi_subm)
702 MARK_VISIBLE (gcry_mpi_swap)
703 MARK_VISIBLE (gcry_mpi_test_bit)
704
705
706
707 #undef MARK_VISIBLE
708 #endif /*_GCRY_INCLUDED_BY_VISIBILITY_C*/
709
710 #endif /*GCRY_VISIBILITY_H*/