# libgcrypt.vers  - What symbols to export                  -*- std -*-
# Copyright (C) 2002, 2004, 2008, 2011 Free Software Foundation, Inc.
#
# This file is part of Libgcrypt.
#
# Libgcrypt is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser general Public License as
# published by the Free Software Foundation; either version 2.1 of
# the License, or (at your option) any later version.
#
# Libgcrypt is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

# NOTE: When adding new functions, please make sure to add them to
# visibility.h and libgcrypt.def as well.

GCRYPT_1.6 {
  global:
    gcry_check_version; gcry_control;
    gcry_set_allocation_handler; gcry_set_fatalerror_handler;
    gcry_set_gettext_handler; gcry_set_log_handler;
    gcry_set_outofcore_handler; gcry_set_progress_handler;

    gcry_err_code_from_errno; gcry_err_code_to_errno;
    gcry_err_make_from_errno; gcry_error_from_errno;
    gcry_strerror; gcry_strsource;

    gcry_free; gcry_malloc; gcry_malloc_secure; gcry_calloc;
    gcry_calloc_secure; gcry_realloc; gcry_strdup; gcry_is_secure;
    gcry_xcalloc; gcry_xcalloc_secure; gcry_xmalloc;
    gcry_xmalloc_secure; gcry_xrealloc; gcry_xstrdup;

    gcry_md_algo_info; gcry_md_algo_name; gcry_md_close;
    gcry_md_copy; gcry_md_ctl; gcry_md_enable; gcry_md_get;
    gcry_md_get_algo; gcry_md_get_algo_dlen; gcry_md_hash_buffer;
    gcry_md_hash_buffers;
    gcry_md_info; gcry_md_is_enabled; gcry_md_is_secure;
    gcry_md_map_name; gcry_md_open; gcry_md_read; gcry_md_extract;
    gcry_md_reset; gcry_md_setkey;
    gcry_md_write; gcry_md_debug;

    gcry_cipher_algo_info; gcry_cipher_algo_name; gcry_cipher_close;
    gcry_cipher_ctl; gcry_cipher_decrypt; gcry_cipher_encrypt;
    gcry_cipher_get_algo_blklen; gcry_cipher_get_algo_keylen;
    gcry_cipher_info; gcry_cipher_map_name;
    gcry_cipher_mode_from_oid; gcry_cipher_open;
    gcry_cipher_setkey; gcry_cipher_setiv; gcry_cipher_setctr;
    gcry_cipher_authenticate; gcry_cipher_gettag; gcry_cipher_checktag;

    gcry_mac_algo_info; gcry_mac_algo_name; gcry_mac_map_name;
    gcry_mac_get_algo_maclen; gcry_mac_get_algo_keylen; gcry_mac_get_algo;
    gcry_mac_open; gcry_mac_close; gcry_mac_setkey; gcry_mac_setiv;
    gcry_mac_write; gcry_mac_read; gcry_mac_verify; gcry_mac_ctl;

    gcry_pk_algo_info; gcry_pk_algo_name; gcry_pk_ctl;
    gcry_pk_decrypt; gcry_pk_encrypt; gcry_pk_genkey;
    gcry_pk_get_keygrip; gcry_pk_get_nbits;
    gcry_pk_map_name; gcry_pk_register; gcry_pk_sign;
    gcry_pk_testkey; gcry_pk_verify;
    gcry_pk_get_curve; gcry_pk_get_param;

    gcry_pubkey_get_sexp;

    gcry_ecc_get_algo_keylen;
    gcry_ecc_mul_point;

    gcry_kdf_derive;

    gcry_prime_check; gcry_prime_generate;
    gcry_prime_group_generator; gcry_prime_release_factors;

    gcry_random_add_bytes; gcry_random_bytes; gcry_random_bytes_secure;
    gcry_randomize; gcry_create_nonce;

    gcry_sexp_alist; gcry_sexp_append; gcry_sexp_build;
    gcry_sexp_build_array; gcry_sexp_cadr; gcry_sexp_canon_len;
    gcry_sexp_car; gcry_sexp_cdr; gcry_sexp_cons; gcry_sexp_create;
    gcry_sexp_dump; gcry_sexp_find_token; gcry_sexp_length;
    gcry_sexp_new; gcry_sexp_nth; gcry_sexp_nth_buffer; gcry_sexp_nth_data;
    gcry_sexp_nth_mpi; gcry_sexp_prepend; gcry_sexp_release;
    gcry_sexp_sprint; gcry_sexp_sscan; gcry_sexp_vlist;
    gcry_sexp_nth_string; gcry_sexp_extract_param;

    gcry_mpi_is_neg; gcry_mpi_neg; gcry_mpi_abs;
    gcry_mpi_add; gcry_mpi_add_ui; gcry_mpi_addm; gcry_mpi_aprint;
    gcry_mpi_clear_bit; gcry_mpi_clear_flag; gcry_mpi_clear_highbit;
    gcry_mpi_cmp; gcry_mpi_cmp_ui; gcry_mpi_copy; gcry_mpi_div;
    gcry_mpi_dump; gcry_mpi_gcd; gcry_mpi_get_flag; gcry_mpi_get_nbits;
    gcry_mpi_get_opaque; gcry_mpi_invm; gcry_mpi_mod; gcry_mpi_mul;
    gcry_mpi_mul_2exp; gcry_mpi_mul_ui; gcry_mpi_mulm; gcry_mpi_new;
    gcry_mpi_powm; gcry_mpi_print; gcry_mpi_randomize; gcry_mpi_release;
    gcry_mpi_rshift; gcry_mpi_scan; gcry_mpi_set; gcry_mpi_set_bit;
    gcry_mpi_set_flag; gcry_mpi_set_highbit;
    gcry_mpi_set_opaque; gcry_mpi_set_opaque_copy;
    gcry_mpi_set_ui; gcry_mpi_snew; gcry_mpi_sub; gcry_mpi_sub_ui;
    gcry_mpi_subm; gcry_mpi_swap; gcry_mpi_test_bit;
    gcry_mpi_lshift; gcry_mpi_snatch;
    gcry_mpi_point_new; gcry_mpi_point_release;
    gcry_mpi_point_get; gcry_mpi_point_snatch_get;
    gcry_mpi_point_set; gcry_mpi_point_snatch_set;
    gcry_mpi_ec_new;
    gcry_mpi_ec_get_mpi; gcry_mpi_ec_get_point;
    gcry_mpi_ec_set_mpi; gcry_mpi_ec_set_point;
    gcry_mpi_ec_get_affine;
    gcry_mpi_ec_dup; gcry_mpi_ec_add; gcry_mpi_ec_sub; gcry_mpi_ec_mul;
    gcry_mpi_ec_curve_point; gcry_mpi_ec_decode_point;
    gcry_mpi_point_copy;
    gcry_mpi_get_ui;

    gcry_log_debug;
    gcry_log_debughex; gcry_log_debugmpi; gcry_log_debugpnt; gcry_log_debugsxp;

    gcry_get_config;

    _gcry_mpi_get_const;

    gcry_ctx_release;

    gcry_pk_hash_sign; gcry_pk_hash_verify; gcry_pk_random_override_new;

    gcry_kdf_open; gcry_kdf_compute; gcry_kdf_final; gcry_kdf_close;
  local:
    *;

};
