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_kdf_derive _gcry_kdf_derive 157 158#define gcry_prime_check _gcry_prime_check 159#define gcry_prime_generate _gcry_prime_generate 160#define gcry_prime_group_generator _gcry_prime_group_generator 161#define gcry_prime_release_factors _gcry_prime_release_factors 162 163#define gcry_random_add_bytes _gcry_random_add_bytes 164#define gcry_random_bytes _gcry_random_bytes 165#define gcry_random_bytes_secure _gcry_random_bytes_secure 166#define gcry_randomize _gcry_randomize 167#define gcry_create_nonce _gcry_create_nonce 168 169#define gcry_sexp_alist _gcry_sexp_alist 170#define gcry_sexp_append _gcry_sexp_append 171#define gcry_sexp_build _gcry_sexp_build 172#define gcry_sexp_build_array _gcry_sexp_build_array 173#define gcry_sexp_cadr _gcry_sexp_cadr 174#define gcry_sexp_canon_len _gcry_sexp_canon_len 175#define gcry_sexp_car _gcry_sexp_car 176#define gcry_sexp_cdr _gcry_sexp_cdr 177#define gcry_sexp_cons _gcry_sexp_cons 178#define gcry_sexp_create _gcry_sexp_create 179#define gcry_sexp_dump _gcry_sexp_dump 180#define gcry_sexp_find_token _gcry_sexp_find_token 181#define gcry_sexp_length _gcry_sexp_length 182#define gcry_sexp_new _gcry_sexp_new 183#define gcry_sexp_nth _gcry_sexp_nth 184#define gcry_sexp_nth_data _gcry_sexp_nth_data 185#define gcry_sexp_nth_mpi _gcry_sexp_nth_mpi 186#define gcry_sexp_prepend _gcry_sexp_prepend 187#define gcry_sexp_release _gcry_sexp_release 188#define gcry_sexp_sprint _gcry_sexp_sprint 189#define gcry_sexp_sscan _gcry_sexp_sscan 190#define gcry_sexp_vlist _gcry_sexp_vlist 191#define gcry_sexp_nth_string _gcry_sexp_nth_string 192 193#define gcry_mpi_add _gcry_mpi_add 194#define gcry_mpi_add_ui _gcry_mpi_add_ui 195#define gcry_mpi_addm _gcry_mpi_addm 196#define gcry_mpi_aprint _gcry_mpi_aprint 197#define gcry_mpi_clear_bit _gcry_mpi_clear_bit 198#define gcry_mpi_clear_flag _gcry_mpi_clear_flag 199#define gcry_mpi_clear_highbit _gcry_mpi_clear_highbit 200#define gcry_mpi_cmp _gcry_mpi_cmp 201#define gcry_mpi_cmp_ui _gcry_mpi_cmp_ui 202#define gcry_mpi_copy _gcry_mpi_copy 203#define gcry_mpi_div _gcry_mpi_div 204#define gcry_mpi_dump _gcry_mpi_dump 205#define gcry_mpi_gcd _gcry_mpi_gcd 206#define gcry_mpi_get_flag _gcry_mpi_get_flag 207#define gcry_mpi_get_nbits _gcry_mpi_get_nbits 208#define gcry_mpi_get_opaque _gcry_mpi_get_opaque 209#define gcry_mpi_invm _gcry_mpi_invm 210#define gcry_mpi_mod _gcry_mpi_mod 211#define gcry_mpi_mul _gcry_mpi_mul 212#define gcry_mpi_mul_2exp _gcry_mpi_mul_2exp 213#define gcry_mpi_mul_ui _gcry_mpi_mul_ui 214#define gcry_mpi_mulm _gcry_mpi_mulm 215#define gcry_mpi_new _gcry_mpi_new 216#define gcry_mpi_powm _gcry_mpi_powm 217#define gcry_mpi_print _gcry_mpi_print 218#define gcry_mpi_randomize _gcry_mpi_randomize 219#define gcry_mpi_release _gcry_mpi_release 220#define gcry_mpi_rshift _gcry_mpi_rshift 221#define gcry_mpi_lshift _gcry_mpi_lshift 222#define gcry_mpi_scan _gcry_mpi_scan 223#define gcry_mpi_set _gcry_mpi_set 224#define gcry_mpi_set_bit _gcry_mpi_set_bit 225#define gcry_mpi_set_flag _gcry_mpi_set_flag 226#define gcry_mpi_set_highbit _gcry_mpi_set_highbit 227#define gcry_mpi_set_opaque _gcry_mpi_set_opaque 228#define gcry_mpi_set_ui _gcry_mpi_set_ui 229#define gcry_mpi_snew _gcry_mpi_snew 230#define gcry_mpi_sub _gcry_mpi_sub 231#define gcry_mpi_sub_ui _gcry_mpi_sub_ui 232#define gcry_mpi_subm _gcry_mpi_subm 233#define gcry_mpi_swap _gcry_mpi_swap 234#define gcry_mpi_test_bit _gcry_mpi_test_bit 235 236 237/* Include the main header here so that public symbols are mapped to 238 the internal underscored ones. */ 239#ifdef _GCRY_INCLUDED_BY_VISIBILITY_C 240 /* We need to redeclare the deprecated functions without the 241 deprecated attribute. */ 242# define GCRYPT_NO_DEPRECATED 243# include "gcrypt.h" 244/* The algorithm IDs. */ 245 gcry_error_t gcry_ac_data_new (gcry_ac_data_t *data); 246 void gcry_ac_data_destroy (gcry_ac_data_t data); 247 gcry_error_t gcry_ac_data_copy (gcry_ac_data_t *data_cp, 248 gcry_ac_data_t data); 249 unsigned int gcry_ac_data_length (gcry_ac_data_t data); 250 void gcry_ac_data_clear (gcry_ac_data_t data); 251 gcry_error_t gcry_ac_data_set (gcry_ac_data_t data, unsigned int flags, 252 const char *name, gcry_mpi_t mpi); 253 gcry_error_t gcry_ac_data_get_name (gcry_ac_data_t data, unsigned int flags, 254 const char *name, gcry_mpi_t *mpi); 255 gcry_error_t gcry_ac_data_get_index (gcry_ac_data_t data, unsigned int flags, 256 unsigned int idx, 257 const char **name, gcry_mpi_t *mpi); 258 gcry_error_t gcry_ac_data_to_sexp (gcry_ac_data_t data, gcry_sexp_t *sexp, 259 const char **identifiers); 260 gcry_error_t gcry_ac_data_from_sexp (gcry_ac_data_t *data, gcry_sexp_t sexp, 261 const char **identifiers); 262 void gcry_ac_io_init (gcry_ac_io_t *ac_io, gcry_ac_io_mode_t mode, 263 gcry_ac_io_type_t type, ...); 264 void gcry_ac_io_init_va (gcry_ac_io_t *ac_io, gcry_ac_io_mode_t mode, 265 gcry_ac_io_type_t type, va_list ap); 266 gcry_error_t gcry_ac_open (gcry_ac_handle_t *handle, 267 gcry_ac_id_t algorithm, unsigned int flags); 268 void gcry_ac_close (gcry_ac_handle_t handle); 269 gcry_error_t gcry_ac_key_init (gcry_ac_key_t *key, gcry_ac_handle_t handle, 270 gcry_ac_key_type_t type, gcry_ac_data_t data); 271 gcry_error_t gcry_ac_key_pair_generate (gcry_ac_handle_t handle, 272 unsigned int nbits, void *spec, 273 gcry_ac_key_pair_t *key_pair, 274 gcry_mpi_t **misc_data); 275 gcry_ac_key_t gcry_ac_key_pair_extract (gcry_ac_key_pair_t key_pair, 276 gcry_ac_key_type_t which); 277 gcry_ac_data_t gcry_ac_key_data_get (gcry_ac_key_t key); 278 gcry_error_t gcry_ac_key_test (gcry_ac_handle_t handle, gcry_ac_key_t key); 279 gcry_error_t gcry_ac_key_get_nbits (gcry_ac_handle_t handle, 280 gcry_ac_key_t key, unsigned int *nbits); 281 gcry_error_t gcry_ac_key_get_grip (gcry_ac_handle_t handle, gcry_ac_key_t key, 282 unsigned char *key_grip); 283 void gcry_ac_key_destroy (gcry_ac_key_t key); 284 void gcry_ac_key_pair_destroy (gcry_ac_key_pair_t key_pair); 285 gcry_error_t gcry_ac_data_encode (gcry_ac_em_t method, 286 unsigned int flags, void *options, 287 gcry_ac_io_t *io_read, 288 gcry_ac_io_t *io_write); 289 gcry_error_t gcry_ac_data_decode (gcry_ac_em_t method, 290 unsigned int flags, void *options, 291 gcry_ac_io_t *io_read, 292 gcry_ac_io_t *io_write); 293 gcry_error_t gcry_ac_data_encrypt (gcry_ac_handle_t handle, 294 unsigned int flags, 295 gcry_ac_key_t key, 296 gcry_mpi_t data_plain, 297 gcry_ac_data_t *data_encrypted); 298 gcry_error_t gcry_ac_data_decrypt (gcry_ac_handle_t handle, 299 unsigned int flags, 300 gcry_ac_key_t key, 301 gcry_mpi_t *data_plain, 302 gcry_ac_data_t data_encrypted); 303 gcry_error_t gcry_ac_data_sign (gcry_ac_handle_t handle, 304 gcry_ac_key_t key, 305 gcry_mpi_t data, 306 gcry_ac_data_t *data_signature); 307 gcry_error_t gcry_ac_data_verify (gcry_ac_handle_t handle, 308 gcry_ac_key_t key, 309 gcry_mpi_t data, 310 gcry_ac_data_t data_signature); 311 gcry_error_t gcry_ac_data_encrypt_scheme (gcry_ac_handle_t handle, 312 gcry_ac_scheme_t scheme, 313 unsigned int flags, void *opts, 314 gcry_ac_key_t key, 315 gcry_ac_io_t *io_message, 316 gcry_ac_io_t *io_cipher); 317 gcry_error_t gcry_ac_data_decrypt_scheme (gcry_ac_handle_t handle, 318 gcry_ac_scheme_t scheme, 319 unsigned int flags, void *opts, 320 gcry_ac_key_t key, 321 gcry_ac_io_t *io_cipher, 322 gcry_ac_io_t *io_message); 323 gcry_error_t gcry_ac_data_sign_scheme (gcry_ac_handle_t handle, 324 gcry_ac_scheme_t scheme, 325 unsigned int flags, void *opts, 326 gcry_ac_key_t key, 327 gcry_ac_io_t *io_message, 328 gcry_ac_io_t *io_signature); 329 gcry_error_t gcry_ac_data_verify_scheme (gcry_ac_handle_t handle, 330 gcry_ac_scheme_t scheme, 331 unsigned int flags, void *opts, 332 gcry_ac_key_t key, 333 gcry_ac_io_t *io_message, 334 gcry_ac_io_t *io_signature); 335 gcry_error_t gcry_ac_id_to_name (gcry_ac_id_t algorithm, const char **name); 336 gcry_error_t gcry_ac_name_to_id (const char *name, gcry_ac_id_t *algorithm); 337#else 338# include "gcrypt.h" 339#endif 340 341/* Prototypes of functions exported but not ready for use. */ 342gcry_err_code_t gcry_md_get (gcry_md_hd_t hd, int algo, 343 unsigned char *buffer, int buflen); 344void gcry_ac_mpi_to_os (gcry_mpi_t mpi, unsigned char *os, size_t os_n); 345gcry_error_t gcry_ac_mpi_to_os_alloc (gcry_mpi_t mpi, unsigned char **os, 346 size_t *os_n); 347void gcry_ac_os_to_mpi (gcry_mpi_t mpi, unsigned char *os, size_t os_n); 348 349 350 351/* Our use of the ELF visibility feature works by passing 352 -fvisibiliy=hidden on the command line and by explicitly marking 353 all exported functions as visible. 354 355 NOTE: When adding new functions, please make sure to add them to 356 libgcrypt.vers and libgcrypt.def as well. */ 357 358#ifdef _GCRY_INCLUDED_BY_VISIBILITY_C 359 360/* A macro to flag a function as visible. Note that we take the 361 definition from the mapped name. */ 362#ifdef GCRY_USE_VISIBILITY 363# define MARK_VISIBLE(name) \ 364 extern __typeof__ (_##name) name __attribute__ ((visibility("default"))); 365# define MARK_VISIBLEX(name) \ 366 extern __typeof__ (name) name __attribute__ ((visibility("default"))); 367#else 368# define MARK_VISIBLE(name) /* */ 369# define MARK_VISIBLEX(name) /* */ 370#endif 371 372 373/* First undef all redefined symbols so that we set the attribute on 374 the correct version name. */ 375#undef gcry_check_version 376#undef gcry_control 377 378#undef gcry_set_allocation_handler 379#undef gcry_set_fatalerror_handler 380#undef gcry_set_gettext_handler 381#undef gcry_set_log_handler 382#undef gcry_set_outofcore_handler 383#undef gcry_set_progress_handler 384#undef gcry_err_code_from_errno 385#undef gcry_err_code_to_errno 386#undef gcry_err_make_from_errno 387#undef gcry_error_from_errno 388#undef gcry_strerror 389#undef gcry_strsource 390 391#undef gcry_free 392#undef gcry_malloc 393#undef gcry_malloc_secure 394#undef gcry_calloc 395#undef gcry_calloc_secure 396#undef gcry_realloc 397#undef gcry_strdup 398#undef gcry_is_secure 399#undef gcry_xcalloc 400#undef gcry_xcalloc_secure 401#undef gcry_xmalloc 402#undef gcry_xmalloc_secure 403#undef gcry_xrealloc 404#undef gcry_xstrdup 405 406#undef gcry_md_algo_info 407#undef gcry_md_algo_name 408#undef gcry_md_close 409#undef gcry_md_copy 410#undef gcry_md_ctl 411#undef gcry_md_enable 412#undef gcry_md_get 413#undef gcry_md_get_algo 414#undef gcry_md_get_algo_dlen 415#undef gcry_md_hash_buffer 416#undef gcry_md_info 417#undef gcry_md_is_enabled 418#undef gcry_md_is_secure 419#undef gcry_md_list 420#undef gcry_md_map_name 421#undef gcry_md_open 422#undef gcry_md_read 423/* gcry_md_register is not anymore a macro. */ 424#undef gcry_md_unregister 425#undef gcry_md_reset 426#undef gcry_md_setkey 427#undef gcry_md_write 428#undef gcry_md_debug 429 430#undef gcry_cipher_algo_info 431#undef gcry_cipher_algo_name 432#undef gcry_cipher_close 433#undef gcry_cipher_setkey 434#undef gcry_cipher_setiv 435#undef gcry_cipher_setctr 436#undef gcry_cipher_ctl 437#undef gcry_cipher_decrypt 438#undef gcry_cipher_encrypt 439#undef gcry_cipher_get_algo_blklen 440#undef gcry_cipher_get_algo_keylen 441#undef gcry_cipher_info 442#undef gcry_cipher_list 443#undef gcry_cipher_map_name 444#undef gcry_cipher_mode_from_oid 445#undef gcry_cipher_open 446/* gcry_cipher_register is not anymore a macro. */ 447#undef gcry_cipher_unregister 448 449#undef gcry_pk_algo_info 450#undef gcry_pk_algo_name 451#undef gcry_pk_ctl 452#undef gcry_pk_decrypt 453#undef gcry_pk_encrypt 454#undef gcry_pk_genkey 455#undef gcry_pk_get_keygrip 456#undef gcry_pk_get_curve 457#undef gcry_pk_get_param 458#undef gcry_pk_get_nbits 459#undef gcry_pk_list 460#undef gcry_pk_map_name 461/* gcry_pk_register is not anymore a macro. */ 462#undef gcry_pk_unregister 463#undef gcry_pk_sign 464#undef gcry_pk_testkey 465#undef gcry_pk_verify 466 467#undef gcry_ac_data_new 468#undef gcry_ac_data_destroy 469#undef gcry_ac_data_copy 470#undef gcry_ac_data_length 471#undef gcry_ac_data_clear 472#undef gcry_ac_data_set 473#undef gcry_ac_data_get_name 474#undef gcry_ac_data_get_index 475#undef gcry_ac_open 476#undef gcry_ac_close 477#undef gcry_ac_key_init 478#undef gcry_ac_key_pair_generate 479#undef gcry_ac_key_pair_extract 480#undef gcry_ac_key_data_get 481#undef gcry_ac_key_test 482#undef gcry_ac_key_get_nbits 483#undef gcry_ac_key_get_grip 484#undef gcry_ac_key_destroy 485#undef gcry_ac_key_pair_destroy 486#undef gcry_ac_data_encrypt 487#undef gcry_ac_data_decrypt 488#undef gcry_ac_data_sign 489#undef gcry_ac_data_verify 490#undef gcry_ac_id_to_name 491#undef gcry_ac_name_to_id 492#undef gcry_ac_data_encode 493#undef gcry_ac_data_decode 494#undef gcry_ac_mpi_to_os 495#undef gcry_ac_mpi_to_os_alloc 496#undef gcry_ac_os_to_mpi 497#undef gcry_ac_data_encrypt_scheme 498#undef gcry_ac_data_decrypt_scheme 499#undef gcry_ac_data_sign_scheme 500#undef gcry_ac_data_verify_scheme 501#undef gcry_ac_data_to_sexp 502#undef gcry_ac_data_from_sexp 503#undef gcry_ac_io_init 504#undef gcry_ac_io_init_va 505 506#undef gcry_kdf_derive 507 508#undef gcry_prime_check 509#undef gcry_prime_generate 510#undef gcry_prime_group_generator 511#undef gcry_prime_release_factors 512 513#undef gcry_random_add_bytes 514#undef gcry_random_bytes 515#undef gcry_random_bytes_secure 516#undef gcry_randomize 517#undef gcry_create_nonce 518 519#undef gcry_sexp_alist 520#undef gcry_sexp_append 521#undef gcry_sexp_build 522#undef gcry_sexp_build_array 523#undef gcry_sexp_cadr 524#undef gcry_sexp_canon_len 525#undef gcry_sexp_car 526#undef gcry_sexp_cdr 527#undef gcry_sexp_cons 528#undef gcry_sexp_create 529#undef gcry_sexp_dump 530#undef gcry_sexp_find_token 531#undef gcry_sexp_length 532#undef gcry_sexp_new 533#undef gcry_sexp_nth 534#undef gcry_sexp_nth_data 535#undef gcry_sexp_nth_mpi 536#undef gcry_sexp_prepend 537#undef gcry_sexp_release 538#undef gcry_sexp_sprint 539#undef gcry_sexp_sscan 540#undef gcry_sexp_vlist 541#undef gcry_sexp_nth_string 542 543#undef gcry_mpi_add 544#undef gcry_mpi_add_ui 545#undef gcry_mpi_addm 546#undef gcry_mpi_aprint 547#undef gcry_mpi_clear_bit 548#undef gcry_mpi_clear_flag 549#undef gcry_mpi_clear_highbit 550#undef gcry_mpi_cmp 551#undef gcry_mpi_cmp_ui 552#undef gcry_mpi_copy 553#undef gcry_mpi_div 554#undef gcry_mpi_dump 555#undef gcry_mpi_gcd 556#undef gcry_mpi_get_flag 557#undef gcry_mpi_get_nbits 558#undef gcry_mpi_get_opaque 559#undef gcry_mpi_invm 560#undef gcry_mpi_mod 561#undef gcry_mpi_mul 562#undef gcry_mpi_mul_2exp 563#undef gcry_mpi_mul_ui 564#undef gcry_mpi_mulm 565#undef gcry_mpi_new 566#undef gcry_mpi_powm 567#undef gcry_mpi_print 568#undef gcry_mpi_randomize 569#undef gcry_mpi_release 570#undef gcry_mpi_rshift 571#undef gcry_mpi_lshift 572#undef gcry_mpi_scan 573#undef gcry_mpi_set 574#undef gcry_mpi_set_bit 575#undef gcry_mpi_set_flag 576#undef gcry_mpi_set_highbit 577#undef gcry_mpi_set_opaque 578#undef gcry_mpi_set_ui 579#undef gcry_mpi_snew 580#undef gcry_mpi_sub 581#undef gcry_mpi_sub_ui 582#undef gcry_mpi_subm 583#undef gcry_mpi_swap 584#undef gcry_mpi_test_bit 585 586 587/* Now mark all symbols. */ 588 589MARK_VISIBLE (gcry_check_version) 590MARK_VISIBLE (gcry_control) 591 592MARK_VISIBLE (gcry_set_allocation_handler) 593MARK_VISIBLE (gcry_set_fatalerror_handler) 594MARK_VISIBLE (gcry_set_gettext_handler) 595MARK_VISIBLE (gcry_set_log_handler) 596MARK_VISIBLE (gcry_set_outofcore_handler) 597MARK_VISIBLE (gcry_set_progress_handler) 598MARK_VISIBLE (gcry_err_code_from_errno) 599MARK_VISIBLE (gcry_err_code_to_errno) 600MARK_VISIBLE (gcry_err_make_from_errno) 601MARK_VISIBLE (gcry_error_from_errno) 602MARK_VISIBLE (gcry_strerror) 603MARK_VISIBLE (gcry_strsource) 604 605MARK_VISIBLE (gcry_free) 606MARK_VISIBLE (gcry_malloc) 607MARK_VISIBLE (gcry_malloc_secure) 608MARK_VISIBLE (gcry_calloc) 609MARK_VISIBLE (gcry_calloc_secure) 610MARK_VISIBLE (gcry_realloc) 611MARK_VISIBLE (gcry_strdup) 612MARK_VISIBLE (gcry_is_secure) 613MARK_VISIBLE (gcry_xcalloc) 614MARK_VISIBLE (gcry_xcalloc_secure) 615MARK_VISIBLE (gcry_xmalloc) 616MARK_VISIBLE (gcry_xmalloc_secure) 617MARK_VISIBLE (gcry_xrealloc) 618MARK_VISIBLE (gcry_xstrdup) 619 620MARK_VISIBLE (gcry_md_algo_info) 621MARK_VISIBLE (gcry_md_algo_name) 622MARK_VISIBLE (gcry_md_close) 623MARK_VISIBLE (gcry_md_copy) 624MARK_VISIBLE (gcry_md_ctl) 625MARK_VISIBLE (gcry_md_enable) 626MARK_VISIBLE (gcry_md_get) 627MARK_VISIBLE (gcry_md_get_algo) 628MARK_VISIBLE (gcry_md_get_algo_dlen) 629MARK_VISIBLE (gcry_md_hash_buffer) 630MARK_VISIBLE (gcry_md_info) 631MARK_VISIBLE (gcry_md_is_enabled) 632MARK_VISIBLE (gcry_md_is_secure) 633MARK_VISIBLE (gcry_md_list) 634MARK_VISIBLE (gcry_md_map_name) 635MARK_VISIBLE (gcry_md_open) 636MARK_VISIBLE (gcry_md_read) 637MARK_VISIBLEX(gcry_md_register) 638MARK_VISIBLE (gcry_md_reset) 639MARK_VISIBLE (gcry_md_setkey) 640MARK_VISIBLE (gcry_md_unregister) 641MARK_VISIBLE (gcry_md_write) 642MARK_VISIBLE (gcry_md_debug) 643 644MARK_VISIBLE (gcry_cipher_algo_info) 645MARK_VISIBLE (gcry_cipher_algo_name) 646MARK_VISIBLE (gcry_cipher_close) 647MARK_VISIBLE (gcry_cipher_setkey) 648MARK_VISIBLE (gcry_cipher_setiv) 649MARK_VISIBLE (gcry_cipher_setctr) 650MARK_VISIBLE (gcry_cipher_ctl) 651MARK_VISIBLE (gcry_cipher_decrypt) 652MARK_VISIBLE (gcry_cipher_encrypt) 653MARK_VISIBLE (gcry_cipher_get_algo_blklen) 654MARK_VISIBLE (gcry_cipher_get_algo_keylen) 655MARK_VISIBLE (gcry_cipher_info) 656MARK_VISIBLE (gcry_cipher_list) 657MARK_VISIBLE (gcry_cipher_map_name) 658MARK_VISIBLE (gcry_cipher_mode_from_oid) 659MARK_VISIBLE (gcry_cipher_open) 660MARK_VISIBLEX(gcry_cipher_register) 661MARK_VISIBLE (gcry_cipher_unregister) 662 663MARK_VISIBLE (gcry_pk_algo_info) 664MARK_VISIBLE (gcry_pk_algo_name) 665MARK_VISIBLE (gcry_pk_ctl) 666MARK_VISIBLE (gcry_pk_decrypt) 667MARK_VISIBLE (gcry_pk_encrypt) 668MARK_VISIBLE (gcry_pk_genkey) 669MARK_VISIBLE (gcry_pk_get_keygrip) 670MARK_VISIBLE (gcry_pk_get_curve) 671MARK_VISIBLE (gcry_pk_get_param) 672MARK_VISIBLE (gcry_pk_get_nbits) 673MARK_VISIBLE (gcry_pk_list) 674MARK_VISIBLE (gcry_pk_map_name) 675MARK_VISIBLEX(gcry_pk_register) 676MARK_VISIBLE (gcry_pk_sign) 677MARK_VISIBLE (gcry_pk_testkey) 678MARK_VISIBLE (gcry_pk_unregister) 679MARK_VISIBLE (gcry_pk_verify) 680 681MARK_VISIBLE (gcry_ac_data_new) 682MARK_VISIBLE (gcry_ac_data_destroy) 683MARK_VISIBLE (gcry_ac_data_copy) 684MARK_VISIBLE (gcry_ac_data_length) 685MARK_VISIBLE (gcry_ac_data_clear) 686MARK_VISIBLE (gcry_ac_data_set) 687MARK_VISIBLE (gcry_ac_data_get_name) 688MARK_VISIBLE (gcry_ac_data_get_index) 689MARK_VISIBLE (gcry_ac_open) 690MARK_VISIBLE (gcry_ac_close) 691MARK_VISIBLE (gcry_ac_key_init) 692MARK_VISIBLE (gcry_ac_key_pair_generate) 693MARK_VISIBLE (gcry_ac_key_pair_extract) 694MARK_VISIBLE (gcry_ac_key_data_get) 695MARK_VISIBLE (gcry_ac_key_test) 696MARK_VISIBLE (gcry_ac_key_get_nbits) 697MARK_VISIBLE (gcry_ac_key_get_grip) 698MARK_VISIBLE (gcry_ac_key_destroy) 699MARK_VISIBLE (gcry_ac_key_pair_destroy) 700MARK_VISIBLE (gcry_ac_data_encrypt) 701MARK_VISIBLE (gcry_ac_data_decrypt) 702MARK_VISIBLE (gcry_ac_data_sign) 703MARK_VISIBLE (gcry_ac_data_verify) 704MARK_VISIBLE (gcry_ac_id_to_name) 705MARK_VISIBLE (gcry_ac_name_to_id) 706/* MARK_VISIBLE (gcry_ac_list) Not defined although it is in 707 libgcrypt.vers. */ 708MARK_VISIBLE (gcry_ac_data_encode) 709MARK_VISIBLE (gcry_ac_data_decode) 710MARK_VISIBLE (gcry_ac_mpi_to_os) 711MARK_VISIBLE (gcry_ac_mpi_to_os_alloc) 712MARK_VISIBLE (gcry_ac_os_to_mpi) 713MARK_VISIBLE (gcry_ac_data_encrypt_scheme) 714MARK_VISIBLE (gcry_ac_data_decrypt_scheme) 715MARK_VISIBLE (gcry_ac_data_sign_scheme) 716MARK_VISIBLE (gcry_ac_data_verify_scheme) 717MARK_VISIBLE (gcry_ac_data_to_sexp) 718MARK_VISIBLE (gcry_ac_data_from_sexp) 719MARK_VISIBLE (gcry_ac_io_init) 720MARK_VISIBLE (gcry_ac_io_init_va) 721 722MARK_VISIBLE (gcry_kdf_derive) 723 724MARK_VISIBLE (gcry_prime_check) 725MARK_VISIBLE (gcry_prime_generate) 726MARK_VISIBLE (gcry_prime_group_generator) 727MARK_VISIBLE (gcry_prime_release_factors) 728 729MARK_VISIBLE (gcry_random_add_bytes) 730MARK_VISIBLE (gcry_random_bytes) 731MARK_VISIBLE (gcry_random_bytes_secure) 732MARK_VISIBLE (gcry_randomize) 733MARK_VISIBLE (gcry_create_nonce) 734 735MARK_VISIBLE (gcry_sexp_alist) 736MARK_VISIBLE (gcry_sexp_append) 737MARK_VISIBLE (gcry_sexp_build) 738MARK_VISIBLE (gcry_sexp_build_array) 739MARK_VISIBLE (gcry_sexp_cadr) 740MARK_VISIBLE (gcry_sexp_canon_len) 741MARK_VISIBLE (gcry_sexp_car) 742MARK_VISIBLE (gcry_sexp_cdr) 743MARK_VISIBLE (gcry_sexp_cons) 744MARK_VISIBLE (gcry_sexp_create) 745MARK_VISIBLE (gcry_sexp_dump) 746MARK_VISIBLE (gcry_sexp_find_token) 747MARK_VISIBLE (gcry_sexp_length) 748MARK_VISIBLE (gcry_sexp_new) 749MARK_VISIBLE (gcry_sexp_nth) 750MARK_VISIBLE (gcry_sexp_nth_data) 751MARK_VISIBLE (gcry_sexp_nth_mpi) 752MARK_VISIBLE (gcry_sexp_prepend) 753MARK_VISIBLE (gcry_sexp_release) 754MARK_VISIBLE (gcry_sexp_sprint) 755MARK_VISIBLE (gcry_sexp_sscan) 756MARK_VISIBLE (gcry_sexp_vlist) 757MARK_VISIBLE (gcry_sexp_nth_string) 758 759MARK_VISIBLE (gcry_mpi_add) 760MARK_VISIBLE (gcry_mpi_add_ui) 761MARK_VISIBLE (gcry_mpi_addm) 762MARK_VISIBLE (gcry_mpi_aprint) 763MARK_VISIBLE (gcry_mpi_clear_bit) 764MARK_VISIBLE (gcry_mpi_clear_flag) 765MARK_VISIBLE (gcry_mpi_clear_highbit) 766MARK_VISIBLE (gcry_mpi_cmp) 767MARK_VISIBLE (gcry_mpi_cmp_ui) 768MARK_VISIBLE (gcry_mpi_copy) 769MARK_VISIBLE (gcry_mpi_div) 770MARK_VISIBLE (gcry_mpi_dump) 771MARK_VISIBLE (gcry_mpi_gcd) 772MARK_VISIBLE (gcry_mpi_get_flag) 773MARK_VISIBLE (gcry_mpi_get_nbits) 774MARK_VISIBLE (gcry_mpi_get_opaque) 775MARK_VISIBLE (gcry_mpi_invm) 776MARK_VISIBLE (gcry_mpi_mod) 777MARK_VISIBLE (gcry_mpi_mul) 778MARK_VISIBLE (gcry_mpi_mul_2exp) 779MARK_VISIBLE (gcry_mpi_mul_ui) 780MARK_VISIBLE (gcry_mpi_mulm) 781MARK_VISIBLE (gcry_mpi_new) 782MARK_VISIBLE (gcry_mpi_powm) 783MARK_VISIBLE (gcry_mpi_print) 784MARK_VISIBLE (gcry_mpi_randomize) 785MARK_VISIBLE (gcry_mpi_release) 786MARK_VISIBLE (gcry_mpi_rshift) 787MARK_VISIBLE (gcry_mpi_lshift) 788MARK_VISIBLE (gcry_mpi_scan) 789MARK_VISIBLE (gcry_mpi_set) 790MARK_VISIBLE (gcry_mpi_set_bit) 791MARK_VISIBLE (gcry_mpi_set_flag) 792MARK_VISIBLE (gcry_mpi_set_highbit) 793MARK_VISIBLE (gcry_mpi_set_opaque) 794MARK_VISIBLE (gcry_mpi_set_ui) 795MARK_VISIBLE (gcry_mpi_snew) 796MARK_VISIBLE (gcry_mpi_sub) 797MARK_VISIBLE (gcry_mpi_sub_ui) 798MARK_VISIBLE (gcry_mpi_subm) 799MARK_VISIBLE (gcry_mpi_swap) 800MARK_VISIBLE (gcry_mpi_test_bit) 801 802 803 804#undef MARK_VISIBLE 805#endif /*_GCRY_INCLUDED_BY_VISIBILITY_C*/ 806 807#endif /*GCRY_VISIBILITY_H*/ 808