# libgcrypt.vers  - What symbols to export                  -*- std -*-
# Copyright (C) 2002, 2004, 2008 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.2 {
  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_info; gcry_md_is_enabled; gcry_md_is_secure;
    gcry_md_list; gcry_md_map_name; gcry_md_open; gcry_md_read;
    gcry_md_register; gcry_md_reset; gcry_md_setkey;
    gcry_md_unregister; 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_list; gcry_cipher_map_name;
    gcry_cipher_mode_from_oid; gcry_cipher_open;
    gcry_cipher_register; gcry_cipher_unregister;
    gcry_cipher_setkey; gcry_cipher_setiv; gcry_cipher_setctr;

    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_list;
    gcry_pk_map_name; gcry_pk_register; gcry_pk_sign;
    gcry_pk_testkey; gcry_pk_unregister; gcry_pk_verify;
    gcry_pk_get_curve; gcry_pk_get_param;

    gcry_ac_data_new; gcry_ac_data_destroy; gcry_ac_data_copy;
    gcry_ac_data_length; gcry_ac_data_clear; gcry_ac_data_set;
    gcry_ac_data_get_name; gcry_ac_data_get_index; gcry_ac_open;
    gcry_ac_close; gcry_ac_key_init; gcry_ac_key_pair_generate;
    gcry_ac_key_pair_extract; gcry_ac_key_data_get; gcry_ac_key_test;
    gcry_ac_key_get_nbits; gcry_ac_key_get_grip; gcry_ac_key_destroy;
    gcry_ac_key_pair_destroy; gcry_ac_data_encrypt; gcry_ac_data_decrypt;
    gcry_ac_data_sign; gcry_ac_data_verify; gcry_ac_id_to_name;
    gcry_ac_name_to_id; gcry_ac_list; gcry_ac_data_encode;
    gcry_ac_data_decode; gcry_ac_mpi_to_os; gcry_ac_mpi_to_os_alloc;
    gcry_ac_os_to_mpi; gcry_ac_data_encrypt_scheme;
    gcry_ac_data_decrypt_scheme;
    gcry_ac_data_sign_scheme; gcry_ac_data_verify_scheme;
    gcry_ac_data_to_sexp; gcry_ac_data_from_sexp;
    gcry_ac_io_init; gcry_ac_io_init_va;

    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_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_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_ui; gcry_mpi_snew; gcry_mpi_sub; gcry_mpi_sub_ui;
    gcry_mpi_subm; gcry_mpi_swap; gcry_mpi_test_bit;
    gcry_mpi_lshift;

  local:
    *;

};
