Remove macro hacks for internal vs. external functions. Part 1.
[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
26
27 #define gcry_free                   _gcry_free
28 #define gcry_malloc                 _gcry_malloc
29 #define gcry_malloc_secure          _gcry_malloc_secure
30 #define gcry_calloc                 _gcry_calloc
31 #define gcry_calloc_secure          _gcry_calloc_secure
32 #define gcry_realloc                _gcry_realloc
33 #define gcry_strdup                 _gcry_strdup
34 #define gcry_is_secure              _gcry_is_secure
35 #define gcry_xcalloc                _gcry_xcalloc
36 #define gcry_xcalloc_secure         _gcry_xcalloc_secure
37 #define gcry_xmalloc                _gcry_xmalloc
38 #define gcry_xmalloc_secure         _gcry_xmalloc_secure
39 #define gcry_xrealloc               _gcry_xrealloc
40 #define gcry_xstrdup                _gcry_xstrdup
41
42
43
44 /* Include the main header here so that public symbols are mapped to
45    the internal underscored ones.  */
46 #ifdef _GCRY_INCLUDED_BY_VISIBILITY_C
47   /* We need to redeclare the deprecated functions without the
48      deprecated attribute.  */
49 # define GCRYPT_NO_DEPRECATED
50 # include "gcrypt-int.h"
51   /* None in this version.  */
52 #else
53 # include "gcrypt-int.h"
54 #endif
55
56 /* Prototypes of functions exported but not ready for use.  */
57 gcry_err_code_t gcry_md_get (gcry_md_hd_t hd, int algo,
58                              unsigned char *buffer, int buflen);
59
60
61 /* Our use of the ELF visibility feature works by passing
62    -fvisibiliy=hidden on the command line and by explicitly marking
63    all exported functions as visible.
64
65    NOTE: When adding new functions, please make sure to add them to
66          libgcrypt.vers and libgcrypt.def as well.  */
67
68 #ifdef _GCRY_INCLUDED_BY_VISIBILITY_C
69
70 /* A macro to flag a function as visible.  Note that we take the
71    definition from the mapped name.  */
72 #ifdef GCRY_USE_VISIBILITY
73 # define MARK_VISIBLE(name) \
74     extern __typeof__ (_##name) name __attribute__ ((visibility("default")));
75 # define MARK_VISIBLEX(name) \
76     extern __typeof__ (name) name __attribute__ ((visibility("default")));
77 #else
78 # define MARK_VISIBLE(name) /* */
79 # define MARK_VISIBLEX(name) /* */
80 #endif
81
82
83 /* First undef all redefined symbols so that we set the attribute on
84    the correct version name.  */
85
86 #undef gcry_free
87 #undef gcry_malloc
88 #undef gcry_malloc_secure
89 #undef gcry_calloc
90 #undef gcry_calloc_secure
91 #undef gcry_realloc
92 #undef gcry_strdup
93 #undef gcry_is_secure
94 #undef gcry_xcalloc
95 #undef gcry_xcalloc_secure
96 #undef gcry_xmalloc
97 #undef gcry_xmalloc_secure
98 #undef gcry_xrealloc
99 #undef gcry_xstrdup
100
101
102 /* Now mark all symbols.  */
103
104 MARK_VISIBLEX (gcry_check_version)
105 MARK_VISIBLEX (gcry_control)
106
107 MARK_VISIBLEX (gcry_set_allocation_handler)
108 MARK_VISIBLEX (gcry_set_fatalerror_handler)
109 MARK_VISIBLEX (gcry_set_gettext_handler)
110 MARK_VISIBLEX (gcry_set_log_handler)
111 MARK_VISIBLEX (gcry_set_outofcore_handler)
112 MARK_VISIBLEX (gcry_set_progress_handler)
113
114 MARK_VISIBLEX (gcry_err_code_from_errno)
115 MARK_VISIBLEX (gcry_err_code_to_errno)
116 MARK_VISIBLEX (gcry_err_make_from_errno)
117 MARK_VISIBLEX (gcry_error_from_errno)
118 MARK_VISIBLEX (gcry_strerror)
119 MARK_VISIBLEX (gcry_strsource)
120
121 MARK_VISIBLE (gcry_free)
122 MARK_VISIBLE (gcry_malloc)
123 MARK_VISIBLE (gcry_malloc_secure)
124 MARK_VISIBLE (gcry_calloc)
125 MARK_VISIBLE (gcry_calloc_secure)
126 MARK_VISIBLE (gcry_realloc)
127 MARK_VISIBLE (gcry_strdup)
128 MARK_VISIBLE (gcry_is_secure)
129 MARK_VISIBLE (gcry_xcalloc)
130 MARK_VISIBLE (gcry_xcalloc_secure)
131 MARK_VISIBLE (gcry_xmalloc)
132 MARK_VISIBLE (gcry_xmalloc_secure)
133 MARK_VISIBLE (gcry_xrealloc)
134 MARK_VISIBLE (gcry_xstrdup)
135
136 MARK_VISIBLEX (gcry_md_algo_info)
137 MARK_VISIBLEX (gcry_md_algo_name)
138 MARK_VISIBLEX (gcry_md_close)
139 MARK_VISIBLEX (gcry_md_copy)
140 MARK_VISIBLEX (gcry_md_ctl)
141 MARK_VISIBLEX (gcry_md_enable)
142 MARK_VISIBLEX (gcry_md_get)
143 MARK_VISIBLEX (gcry_md_get_algo)
144 MARK_VISIBLEX (gcry_md_get_algo_dlen)
145 MARK_VISIBLEX (gcry_md_hash_buffer)
146 MARK_VISIBLEX (gcry_md_hash_buffers)
147 MARK_VISIBLEX (gcry_md_info)
148 MARK_VISIBLEX (gcry_md_is_enabled)
149 MARK_VISIBLEX (gcry_md_is_secure)
150 MARK_VISIBLEX (gcry_md_map_name)
151 MARK_VISIBLEX (gcry_md_open)
152 MARK_VISIBLEX (gcry_md_read)
153 MARK_VISIBLEX (gcry_md_reset)
154 MARK_VISIBLEX (gcry_md_setkey)
155 MARK_VISIBLEX (gcry_md_write)
156 MARK_VISIBLEX (gcry_md_debug)
157
158 MARK_VISIBLEX (gcry_cipher_algo_info)
159 MARK_VISIBLEX (gcry_cipher_algo_name)
160 MARK_VISIBLEX (gcry_cipher_close)
161 MARK_VISIBLEX (gcry_cipher_setkey)
162 MARK_VISIBLEX (gcry_cipher_setiv)
163 MARK_VISIBLEX (gcry_cipher_setctr)
164 MARK_VISIBLEX (gcry_cipher_authenticate)
165 MARK_VISIBLEX (gcry_cipher_checktag)
166 MARK_VISIBLEX (gcry_cipher_gettag)
167 MARK_VISIBLEX (gcry_cipher_ctl)
168 MARK_VISIBLEX (gcry_cipher_decrypt)
169 MARK_VISIBLEX (gcry_cipher_encrypt)
170 MARK_VISIBLEX (gcry_cipher_get_algo_blklen)
171 MARK_VISIBLEX (gcry_cipher_get_algo_keylen)
172 MARK_VISIBLEX (gcry_cipher_info)
173 MARK_VISIBLEX (gcry_cipher_map_name)
174 MARK_VISIBLEX (gcry_cipher_mode_from_oid)
175 MARK_VISIBLEX (gcry_cipher_open)
176
177 MARK_VISIBLEX (gcry_mac_algo_info)
178 MARK_VISIBLEX (gcry_mac_algo_name)
179 MARK_VISIBLEX (gcry_mac_map_name)
180 MARK_VISIBLEX (gcry_mac_get_algo_maclen)
181 MARK_VISIBLEX (gcry_mac_get_algo_keylen)
182 MARK_VISIBLEX (gcry_mac_open)
183 MARK_VISIBLEX (gcry_mac_close)
184 MARK_VISIBLEX (gcry_mac_setkey)
185 MARK_VISIBLEX (gcry_mac_setiv)
186 MARK_VISIBLEX (gcry_mac_write)
187 MARK_VISIBLEX (gcry_mac_read)
188 MARK_VISIBLEX (gcry_mac_verify)
189 MARK_VISIBLEX (gcry_mac_ctl)
190
191 MARK_VISIBLEX (gcry_pk_algo_info)
192 MARK_VISIBLEX (gcry_pk_algo_name)
193 MARK_VISIBLEX (gcry_pk_ctl)
194 MARK_VISIBLEX (gcry_pk_decrypt)
195 MARK_VISIBLEX (gcry_pk_encrypt)
196 MARK_VISIBLEX (gcry_pk_genkey)
197 MARK_VISIBLEX (gcry_pk_get_keygrip)
198 MARK_VISIBLEX (gcry_pk_get_curve)
199 MARK_VISIBLEX (gcry_pk_get_param)
200 MARK_VISIBLEX (gcry_pk_get_nbits)
201 MARK_VISIBLEX (gcry_pk_map_name)
202 MARK_VISIBLEX (gcry_pk_sign)
203 MARK_VISIBLEX (gcry_pk_testkey)
204 MARK_VISIBLEX (gcry_pk_verify)
205 MARK_VISIBLEX (gcry_pubkey_get_sexp)
206
207 MARK_VISIBLEX (gcry_kdf_derive)
208
209 MARK_VISIBLEX (gcry_prime_check)
210 MARK_VISIBLEX (gcry_prime_generate)
211 MARK_VISIBLEX (gcry_prime_group_generator)
212 MARK_VISIBLEX (gcry_prime_release_factors)
213
214 MARK_VISIBLEX (gcry_random_add_bytes)
215 MARK_VISIBLEX (gcry_random_bytes)
216 MARK_VISIBLEX (gcry_random_bytes_secure)
217 MARK_VISIBLEX (gcry_randomize)
218 MARK_VISIBLEX (gcry_create_nonce)
219
220 MARK_VISIBLEX (gcry_sexp_alist)
221 MARK_VISIBLEX (gcry_sexp_append)
222 MARK_VISIBLEX (gcry_sexp_build)
223 MARK_VISIBLEX (gcry_sexp_build_array)
224 MARK_VISIBLEX (gcry_sexp_cadr)
225 MARK_VISIBLEX (gcry_sexp_canon_len)
226 MARK_VISIBLEX (gcry_sexp_car)
227 MARK_VISIBLEX (gcry_sexp_cdr)
228 MARK_VISIBLEX (gcry_sexp_cons)
229 MARK_VISIBLEX (gcry_sexp_create)
230 MARK_VISIBLEX (gcry_sexp_dump)
231 MARK_VISIBLEX (gcry_sexp_find_token)
232 MARK_VISIBLEX (gcry_sexp_length)
233 MARK_VISIBLEX (gcry_sexp_new)
234 MARK_VISIBLEX (gcry_sexp_nth)
235 MARK_VISIBLEX (gcry_sexp_nth_buffer)
236 MARK_VISIBLEX (gcry_sexp_nth_data)
237 MARK_VISIBLEX (gcry_sexp_nth_mpi)
238 MARK_VISIBLEX (gcry_sexp_nth_string)
239 MARK_VISIBLEX (gcry_sexp_prepend)
240 MARK_VISIBLEX (gcry_sexp_release)
241 MARK_VISIBLEX (gcry_sexp_sprint)
242 MARK_VISIBLEX (gcry_sexp_sscan)
243 MARK_VISIBLEX (gcry_sexp_vlist)
244 MARK_VISIBLEX (gcry_sexp_extract_param)
245
246 MARK_VISIBLEX (gcry_mpi_abs)
247 MARK_VISIBLEX (gcry_mpi_add)
248 MARK_VISIBLEX (gcry_mpi_add_ui)
249 MARK_VISIBLEX (gcry_mpi_addm)
250 MARK_VISIBLEX (gcry_mpi_aprint)
251 MARK_VISIBLEX (gcry_mpi_clear_bit)
252 MARK_VISIBLEX (gcry_mpi_clear_flag)
253 MARK_VISIBLEX (gcry_mpi_clear_highbit)
254 MARK_VISIBLEX (gcry_mpi_cmp)
255 MARK_VISIBLEX (gcry_mpi_cmp_ui)
256 MARK_VISIBLEX (gcry_mpi_copy)
257 MARK_VISIBLEX (gcry_mpi_div)
258 MARK_VISIBLEX (gcry_mpi_dump)
259 MARK_VISIBLEX (gcry_mpi_ec_add)
260 MARK_VISIBLEX (gcry_mpi_ec_curve_point)
261 MARK_VISIBLEX (gcry_mpi_ec_dup)
262 MARK_VISIBLEX (gcry_mpi_ec_get_affine)
263 MARK_VISIBLEX (gcry_mpi_ec_mul)
264 MARK_VISIBLEX (gcry_mpi_ec_new)
265 MARK_VISIBLEX (gcry_mpi_ec_get_mpi)
266 MARK_VISIBLEX (gcry_mpi_ec_get_point)
267 MARK_VISIBLEX (gcry_mpi_ec_set_mpi)
268 MARK_VISIBLEX (gcry_mpi_ec_set_point)
269 MARK_VISIBLEX (gcry_mpi_gcd)
270 MARK_VISIBLEX (gcry_mpi_get_flag)
271 MARK_VISIBLEX (gcry_mpi_get_nbits)
272 MARK_VISIBLEX (gcry_mpi_get_opaque)
273 MARK_VISIBLEX (gcry_mpi_is_neg)
274 MARK_VISIBLEX (gcry_mpi_invm)
275 MARK_VISIBLEX (gcry_mpi_mod)
276 MARK_VISIBLEX (gcry_mpi_mul)
277 MARK_VISIBLEX (gcry_mpi_mul_2exp)
278 MARK_VISIBLEX (gcry_mpi_mul_ui)
279 MARK_VISIBLEX (gcry_mpi_mulm)
280 MARK_VISIBLEX (gcry_mpi_neg)
281 MARK_VISIBLEX (gcry_mpi_new)
282 MARK_VISIBLEX (gcry_mpi_point_get)
283 MARK_VISIBLEX (gcry_mpi_point_new)
284 MARK_VISIBLEX (gcry_mpi_point_release)
285 MARK_VISIBLEX (gcry_mpi_point_set)
286 MARK_VISIBLEX (gcry_mpi_point_snatch_get)
287 MARK_VISIBLEX (gcry_mpi_point_snatch_set)
288 MARK_VISIBLEX (gcry_mpi_powm)
289 MARK_VISIBLEX (gcry_mpi_print)
290 MARK_VISIBLEX (gcry_mpi_randomize)
291 MARK_VISIBLEX (gcry_mpi_release)
292 MARK_VISIBLEX (gcry_mpi_rshift)
293 MARK_VISIBLEX (gcry_mpi_lshift)
294 MARK_VISIBLEX (gcry_mpi_scan)
295 MARK_VISIBLEX (gcry_mpi_snatch)
296 MARK_VISIBLEX (gcry_mpi_set)
297 MARK_VISIBLEX (gcry_mpi_set_bit)
298 MARK_VISIBLEX (gcry_mpi_set_flag)
299 MARK_VISIBLEX (gcry_mpi_set_highbit)
300 MARK_VISIBLEX (gcry_mpi_set_opaque)
301 MARK_VISIBLEX (gcry_mpi_set_opaque_copy)
302 MARK_VISIBLEX (gcry_mpi_set_ui)
303 MARK_VISIBLEX (gcry_mpi_snew)
304 MARK_VISIBLEX (gcry_mpi_sub)
305 MARK_VISIBLEX (gcry_mpi_sub_ui)
306 MARK_VISIBLEX (gcry_mpi_subm)
307 MARK_VISIBLEX (gcry_mpi_swap)
308 MARK_VISIBLEX (gcry_mpi_test_bit)
309
310 MARK_VISIBLEX (gcry_ctx_release)
311
312 MARK_VISIBLEX (gcry_log_debug)
313 MARK_VISIBLEX (gcry_log_debughex)
314 MARK_VISIBLEX (gcry_log_debugmpi)
315 MARK_VISIBLEX (gcry_log_debugpnt)
316 MARK_VISIBLEX (gcry_log_debugsxp)
317
318 /* Functions used to implement macros.  */
319 MARK_VISIBLEX (_gcry_mpi_get_const)
320
321
322
323 #undef MARK_VISIBLE
324
325 #else /*!_GCRY_INCLUDED_BY_VISIBILITY_C*/
326
327 /* To avoid accidental use of the public functions inside Libgcrypt,
328    we redefine them to catch such errors.  The usual difference
329    between a public and an internal version is that the internal
330    version use gpg_err_code_t and the public version gpg_error_t.  */
331
332 #define gcry_mpi_set_opaque_copy    _gcry_USE_THE_UNDERSCORED_FUNCTION
333
334 #define gcry_check_version          _gcry_USE_THE_UNDERSCORED_FUNCTION
335 #define gcry_control                _gcry_USE_THE_UNDERSCORED_FUNCTION
336
337 #define gcry_set_allocation_handler _gcry_USE_THE_UNDERSCORED_FUNCTION
338 #define gcry_set_fatalerror_handler _gcry_USE_THE_UNDERSCORED_FUNCTION
339 #define gcry_set_gettext_handler    _gcry_USE_THE_UNDERSCORED_FUNCTION
340 #define gcry_set_log_handler        _gcry_USE_THE_UNDERSCORED_FUNCTION
341 #define gcry_set_outofcore_handler  _gcry_USE_THE_UNDERSCORED_FUNCTION
342 #define gcry_set_progress_handler   _gcry_USE_THE_UNDERSCORED_FUNCTION
343
344 #define gcry_err_code_from_errno    _gcry_USE_THE_UNDERSCORED_FUNCTION
345 #define gcry_err_code_to_errno      _gcry_USE_THE_UNDERSCORED_FUNCTION
346 #define gcry_err_make_from_errno    _gcry_USE_THE_UNDERSCORED_FUNCTION
347 #define gcry_error_from_errno       _gcry_USE_THE_UNDERSCORED_FUNCTION
348 #define gcry_strerror               _gcry_USE_THE_UNDERSCORED_FUNCTION
349 #define gcry_strsource              _gcry_USE_THE_UNDERSCORED_FUNCTION
350
351 #define gcry_cipher_open            _gcry_USE_THE_UNDERSCORED_FUNCTION
352 #define gcry_cipher_close           _gcry_USE_THE_UNDERSCORED_FUNCTION
353 #define gcry_cipher_setkey          _gcry_USE_THE_UNDERSCORED_FUNCTION
354 #define gcry_cipher_setiv           _gcry_USE_THE_UNDERSCORED_FUNCTION
355 #define gcry_cipher_setctr          _gcry_USE_THE_UNDERSCORED_FUNCTION
356 #define gcry_cipher_algo_info       _gcry_USE_THE_UNDERSCORED_FUNCTION
357 #define gcry_cipher_algo_name       _gcry_USE_THE_UNDERSCORED_FUNCTION
358 #define gcry_cipher_authenticate    _gcry_USE_THE_UNDERSCORED_FUNCTION
359 #define gcry_cipher_checktag        _gcry_USE_THE_UNDERSCORED_FUNCTION
360 #define gcry_cipher_gettag          _gcry_USE_THE_UNDERSCORED_FUNCTION
361 #define gcry_cipher_ctl             _gcry_USE_THE_UNDERSCORED_FUNCTION
362 #define gcry_cipher_decrypt         _gcry_USE_THE_UNDERSCORED_FUNCTION
363 #define gcry_cipher_encrypt         _gcry_USE_THE_UNDERSCORED_FUNCTION
364 #define gcry_cipher_get_algo_blklen _gcry_USE_THE_UNDERSCORED_FUNCTION
365 #define gcry_cipher_get_algo_keylen _gcry_USE_THE_UNDERSCORED_FUNCTION
366 #define gcry_cipher_info            _gcry_USE_THE_UNDERSCORED_FUNCTION
367 #define gcry_cipher_map_name        _gcry_USE_THE_UNDERSCORED_FUNCTION
368 #define gcry_cipher_mode_from_oid   _gcry_USE_THE_UNDERSCORED_FUNCTION
369
370 #define gcry_pk_algo_info           _gcry_USE_THE_UNDERSCORED_FUNCTION
371 #define gcry_pk_algo_name           _gcry_USE_THE_UNDERSCORED_FUNCTION
372 #define gcry_pk_ctl                 _gcry_USE_THE_UNDERSCORED_FUNCTION
373 #define gcry_pk_decrypt             _gcry_USE_THE_UNDERSCORED_FUNCTION
374 #define gcry_pk_encrypt             _gcry_USE_THE_UNDERSCORED_FUNCTION
375 #define gcry_pk_genkey              _gcry_USE_THE_UNDERSCORED_FUNCTION
376 #define gcry_pk_get_keygrip         _gcry_USE_THE_UNDERSCORED_FUNCTION
377 #define gcry_pk_get_curve           _gcry_USE_THE_UNDERSCORED_FUNCTION
378 #define gcry_pk_get_param           _gcry_USE_THE_UNDERSCORED_FUNCTION
379 #define gcry_pk_get_nbits           _gcry_USE_THE_UNDERSCORED_FUNCTION
380 #define gcry_pk_map_name            _gcry_USE_THE_UNDERSCORED_FUNCTION
381 #define gcry_pk_sign                _gcry_USE_THE_UNDERSCORED_FUNCTION
382 #define gcry_pk_testkey             _gcry_USE_THE_UNDERSCORED_FUNCTION
383 #define gcry_pk_verify              _gcry_USE_THE_UNDERSCORED_FUNCTION
384 #define gcry_pubkey_get_sexp        _gcry_USE_THE_UNDERSCORED_FUNCTION
385
386 #define gcry_md_algo_info           _gcry_USE_THE_UNDERSCORED_FUNCTION
387 #define gcry_md_algo_name           _gcry_USE_THE_UNDERSCORED_FUNCTION
388 #define gcry_md_close               _gcry_USE_THE_UNDERSCORED_FUNCTION
389 #define gcry_md_copy                _gcry_USE_THE_UNDERSCORED_FUNCTION
390 #define gcry_md_ctl                 _gcry_USE_THE_UNDERSCORED_FUNCTION
391 #define gcry_md_enable              _gcry_USE_THE_UNDERSCORED_FUNCTION
392 #define gcry_md_get                 _gcry_USE_THE_UNDERSCORED_FUNCTION
393 #define gcry_md_get_algo            _gcry_USE_THE_UNDERSCORED_FUNCTION
394 #define gcry_md_get_algo_dlen       _gcry_USE_THE_UNDERSCORED_FUNCTION
395 #define gcry_md_hash_buffer         _gcry_USE_THE_UNDERSCORED_FUNCTION
396 #define gcry_md_hash_buffers        _gcry_USE_THE_UNDERSCORED_FUNCTION
397 #define gcry_md_info                _gcry_USE_THE_UNDERSCORED_FUNCTION
398 #define gcry_md_is_enabled          _gcry_USE_THE_UNDERSCORED_FUNCTION
399 #define gcry_md_is_secure           _gcry_USE_THE_UNDERSCORED_FUNCTION
400 #define gcry_md_map_name            _gcry_USE_THE_UNDERSCORED_FUNCTION
401 #define gcry_md_open                _gcry_USE_THE_UNDERSCORED_FUNCTION
402 #define gcry_md_read                _gcry_USE_THE_UNDERSCORED_FUNCTION
403 #define gcry_md_reset               _gcry_USE_THE_UNDERSCORED_FUNCTION
404 #define gcry_md_setkey              _gcry_USE_THE_UNDERSCORED_FUNCTION
405 #define gcry_md_write               _gcry_USE_THE_UNDERSCORED_FUNCTION
406 #define gcry_md_debug               _gcry_USE_THE_UNDERSCORED_FUNCTION
407
408 #define gcry_mac_algo_info          _gcry_USE_THE_UNDERSCORED_FUNCTION
409 #define gcry_mac_algo_name          _gcry_USE_THE_UNDERSCORED_FUNCTION
410 #define gcry_mac_map_name           _gcry_USE_THE_UNDERSCORED_FUNCTION
411 #define gcry_mac_get_algo_maclen    _gcry_USE_THE_UNDERSCORED_FUNCTION
412 #define gcry_mac_get_algo_keylen    _gcry_USE_THE_UNDERSCORED_FUNCTION
413 #define gcry_mac_open               _gcry_USE_THE_UNDERSCORED_FUNCTION
414 #define gcry_mac_close              _gcry_USE_THE_UNDERSCORED_FUNCTION
415 #define gcry_mac_setkey             _gcry_USE_THE_UNDERSCORED_FUNCTION
416 #define gcry_mac_setiv              _gcry_USE_THE_UNDERSCORED_FUNCTION
417 #define gcry_mac_write              _gcry_USE_THE_UNDERSCORED_FUNCTION
418 #define gcry_mac_read               _gcry_USE_THE_UNDERSCORED_FUNCTION
419 #define gcry_mac_verify             _gcry_USE_THE_UNDERSCORED_FUNCTION
420 #define gcry_mac_ctl                _gcry_USE_THE_UNDERSCORED_FUNCTION
421
422 #define gcry_kdf_derive             _gcry_USE_THE_UNDERSCORED_FUNCTION
423
424 #define gcry_prime_check            _gcry_USE_THE_UNDERSCORED_FUNCTION
425 #define gcry_prime_generate         _gcry_USE_THE_UNDERSCORED_FUNCTION
426 #define gcry_prime_group_generator  _gcry_USE_THE_UNDERSCORED_FUNCTION
427 #define gcry_prime_release_factors  _gcry_USE_THE_UNDERSCORED_FUNCTION
428
429 #define gcry_random_add_bytes       _gcry_USE_THE_UNDERSCORED_FUNCTION
430 #define gcry_random_bytes           _gcry_USE_THE_UNDERSCORED_FUNCTION
431 #define gcry_random_bytes_secure    _gcry_USE_THE_UNDERSCORED_FUNCTION
432 #define gcry_randomize              _gcry_USE_THE_UNDERSCORED_FUNCTION
433 #define gcry_create_nonce           _gcry_USE_THE_UNDERSCORED_FUNCTION
434
435 #define gcry_ctx_release            _gcry_USE_THE_UNDERSCORED_FUNCTION
436
437 #define gcry_sexp_alist             _gcry_USE_THE_UNDERSCORED_FUNCTION
438 #define gcry_sexp_append            _gcry_USE_THE_UNDERSCORED_FUNCTION
439 #define gcry_sexp_build             _gcry_USE_THE_UNDERSCORED_FUNCTION
440 #define gcry_sexp_build_array       _gcry_USE_THE_UNDERSCORED_FUNCTION
441 #define gcry_sexp_cadr              _gcry_USE_THE_UNDERSCORED_FUNCTION
442 #define gcry_sexp_canon_len         _gcry_USE_THE_UNDERSCORED_FUNCTION
443 #define gcry_sexp_car               _gcry_USE_THE_UNDERSCORED_FUNCTION
444 #define gcry_sexp_cdr               _gcry_USE_THE_UNDERSCORED_FUNCTION
445 #define gcry_sexp_cons              _gcry_USE_THE_UNDERSCORED_FUNCTION
446 #define gcry_sexp_create            _gcry_USE_THE_UNDERSCORED_FUNCTION
447 #define gcry_sexp_dump              _gcry_USE_THE_UNDERSCORED_FUNCTION
448 #define gcry_sexp_find_token        _gcry_USE_THE_UNDERSCORED_FUNCTION
449 #define gcry_sexp_length            _gcry_USE_THE_UNDERSCORED_FUNCTION
450 #define gcry_sexp_new               _gcry_USE_THE_UNDERSCORED_FUNCTION
451 #define gcry_sexp_nth               _gcry_USE_THE_UNDERSCORED_FUNCTION
452 #define gcry_sexp_nth_buffer        _gcry_USE_THE_UNDERSCORED_FUNCTION
453 #define gcry_sexp_nth_data          _gcry_USE_THE_UNDERSCORED_FUNCTION
454 #define gcry_sexp_nth_mpi           _gcry_USE_THE_UNDERSCORED_FUNCTION
455 #define gcry_sexp_nth_string        _gcry_USE_THE_UNDERSCORED_FUNCTION
456 #define gcry_sexp_prepend           _gcry_USE_THE_UNDERSCORED_FUNCTION
457 #define gcry_sexp_release           _gcry_USE_THE_UNDERSCORED_FUNCTION
458 #define gcry_sexp_sprint            _gcry_USE_THE_UNDERSCORED_FUNCTION
459 #define gcry_sexp_sscan             _gcry_USE_THE_UNDERSCORED_FUNCTION
460 #define gcry_sexp_vlist             _gcry_USE_THE_UNDERSCORED_FUNCTION
461 #define gcry_sexp_extract_param     _gcry_USE_THE_UNDERSCORED_FUNCTION
462
463 #define gcry_mpi_add                _gcry_USE_THE_UNDERSCORED_FUNCTION
464 #define gcry_mpi_add_ui             _gcry_USE_THE_UNDERSCORED_FUNCTION
465 #define gcry_mpi_addm               _gcry_USE_THE_UNDERSCORED_FUNCTION
466 #define gcry_mpi_aprint             _gcry_USE_THE_UNDERSCORED_FUNCTION
467 #define gcry_mpi_clear_bit          _gcry_USE_THE_UNDERSCORED_FUNCTION
468 #define gcry_mpi_clear_flag         _gcry_USE_THE_UNDERSCORED_FUNCTION
469 #define gcry_mpi_clear_highbit      _gcry_USE_THE_UNDERSCORED_FUNCTION
470 #define gcry_mpi_cmp                _gcry_USE_THE_UNDERSCORED_FUNCTION
471 #define gcry_mpi_cmp_ui             _gcry_USE_THE_UNDERSCORED_FUNCTION
472 #define gcry_mpi_copy               _gcry_USE_THE_UNDERSCORED_FUNCTION
473 #define gcry_mpi_div                _gcry_USE_THE_UNDERSCORED_FUNCTION
474 #define gcry_mpi_dump               _gcry_USE_THE_UNDERSCORED_FUNCTION
475 #define gcry_mpi_gcd                _gcry_USE_THE_UNDERSCORED_FUNCTION
476 #define gcry_mpi_get_flag           _gcry_USE_THE_UNDERSCORED_FUNCTION
477 #define gcry_mpi_get_nbits          _gcry_USE_THE_UNDERSCORED_FUNCTION
478 #define gcry_mpi_get_opaque         _gcry_USE_THE_UNDERSCORED_FUNCTION
479 #define gcry_mpi_invm               _gcry_USE_THE_UNDERSCORED_FUNCTION
480 #define gcry_mpi_mod                _gcry_USE_THE_UNDERSCORED_FUNCTION
481 #define gcry_mpi_mul                _gcry_USE_THE_UNDERSCORED_FUNCTION
482 #define gcry_mpi_mul_2exp           _gcry_USE_THE_UNDERSCORED_FUNCTION
483 #define gcry_mpi_mul_ui             _gcry_USE_THE_UNDERSCORED_FUNCTION
484 #define gcry_mpi_mulm               _gcry_USE_THE_UNDERSCORED_FUNCTION
485 #define gcry_mpi_new                _gcry_USE_THE_UNDERSCORED_FUNCTION
486 #define gcry_mpi_point_get          _gcry_USE_THE_UNDERSCORED_FUNCTION
487 #define gcry_mpi_point_new          _gcry_USE_THE_UNDERSCORED_FUNCTION
488 #define gcry_mpi_point_release      _gcry_USE_THE_UNDERSCORED_FUNCTION
489 #define gcry_mpi_point_set          _gcry_USE_THE_UNDERSCORED_FUNCTION
490 #define gcry_mpi_point_snatch_get   _gcry_USE_THE_UNDERSCORED_FUNCTION
491 #define gcry_mpi_point_snatch_set   _gcry_USE_THE_UNDERSCORED_FUNCTION
492 #define gcry_mpi_powm               _gcry_USE_THE_UNDERSCORED_FUNCTION
493 #define gcry_mpi_print              _gcry_USE_THE_UNDERSCORED_FUNCTION
494 #define gcry_mpi_randomize          _gcry_USE_THE_UNDERSCORED_FUNCTION
495 #define gcry_mpi_release            _gcry_USE_THE_UNDERSCORED_FUNCTION
496 #define gcry_mpi_rshift             _gcry_USE_THE_UNDERSCORED_FUNCTION
497 #define gcry_mpi_lshift             _gcry_USE_THE_UNDERSCORED_FUNCTION
498 #define gcry_mpi_scan               _gcry_USE_THE_UNDERSCORED_FUNCTION
499 #define gcry_mpi_set                _gcry_USE_THE_UNDERSCORED_FUNCTION
500 #define gcry_mpi_set_bit            _gcry_USE_THE_UNDERSCORED_FUNCTION
501 #define gcry_mpi_set_flag           _gcry_USE_THE_UNDERSCORED_FUNCTION
502 #define gcry_mpi_set_highbit        _gcry_USE_THE_UNDERSCORED_FUNCTION
503 #define gcry_mpi_set_opaque         _gcry_USE_THE_UNDERSCORED_FUNCTION
504 #define gcry_mpi_set_ui             _gcry_USE_THE_UNDERSCORED_FUNCTION
505 #define gcry_mpi_snatch             _gcry_USE_THE_UNDERSCORED_FUNCTION
506 #define gcry_mpi_snew               _gcry_USE_THE_UNDERSCORED_FUNCTION
507 #define gcry_mpi_sub                _gcry_USE_THE_UNDERSCORED_FUNCTION
508 #define gcry_mpi_sub_ui             _gcry_USE_THE_UNDERSCORED_FUNCTION
509 #define gcry_mpi_subm               _gcry_USE_THE_UNDERSCORED_FUNCTION
510 #define gcry_mpi_swap               _gcry_USE_THE_UNDERSCORED_FUNCTION
511 #define gcry_mpi_test_bit           _gcry_USE_THE_UNDERSCORED_FUNCTION
512
513
514 #define gcry_mpi_abs                _gcry_USE_THE_UNDERSCORED_FUNCTION
515 #define gcry_mpi_ec_add             _gcry_USE_THE_UNDERSCORED_FUNCTION
516 #define gcry_mpi_ec_curve_point     _gcry_USE_THE_UNDERSCORED_FUNCTION
517 #define gcry_mpi_ec_dup             _gcry_USE_THE_UNDERSCORED_FUNCTION
518 #define gcry_mpi_ec_get_affine      _gcry_USE_THE_UNDERSCORED_FUNCTION
519 #define gcry_mpi_ec_get_mpi         _gcry_USE_THE_UNDERSCORED_FUNCTION
520 #define gcry_mpi_ec_get_point       _gcry_USE_THE_UNDERSCORED_FUNCTION
521 #define gcry_mpi_ec_mul             _gcry_USE_THE_UNDERSCORED_FUNCTION
522 #define gcry_mpi_ec_new             _gcry_USE_THE_UNDERSCORED_FUNCTION
523 #define gcry_mpi_ec_set_mpi         _gcry_USE_THE_UNDERSCORED_FUNCTION
524 #define gcry_mpi_ec_set_point       _gcry_USE_THE_UNDERSCORED_FUNCTION
525 #define gcry_mpi_is_neg             _gcry_USE_THE_UNDERSCORED_FUNCTION
526 #define gcry_mpi_neg                _gcry_USE_THE_UNDERSCORED_FUNCTION
527 #define gcry_mpi_set_opaque_copy    _gcry_USE_THE_UNDERSCORED_FUNCTION
528
529
530 #endif /*!_GCRY_INCLUDED_BY_VISIBILITY_C*/
531
532 #endif /*GCRY_VISIBILITY_H*/