gpgme/src/libgpgme.vers
Ben McGinnes 2375959180 estreams revised
* Egon Spengler was right, crossing the streams is bad.
* Restored both src/gpgme.def and src/libgpgme.vers to use the
  estreams symbols without the leading underscore.
* The new_from_estream() function added to lang/python/src/core.py and
  set to alias the new_from_stream() function remains.
* Opted for the solution favouring Linux onthree main grounds:
  1. Andre reported major problems with Windows as well, so the number
     of potentially affected systems would vastly increase.
  2. All the BSDs and OS X have spent far more time and development
     work in order to accommodate the eccentricities of both Microsoft
     and the GNU Project (ref. GCC), so they're more likely to be able
     to cope with doing so again than the other way around.
  3. If I really have to I can write a custom installer for OS X to
     try this and, if it fails, to then patch the two symbol entries and
     recompile from scratch.  That said, I may not have to since it
     actually behaved during the most recent tests for this
     commit; into ten separate CPython installations and all five
     supported versions (standard source installs and OS X Framework
     installs for each version).

Tested-by: Ben McGinnes <ben@adversary.org>
Signed-off-by: Ben McGinnes <ben@adversary.org>
2018-09-08 14:45:37 +10:00

280 lines
6.3 KiB
Plaintext

# libgpgme.vers - List of symbols to export.
# Copyright (C) 2002, 2004, 2005, 2009, 2012 g10 Code GmbH
#
# This file is part of GPGME.
#
# GPGME 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.
#
# GPGME 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, see <http://www.gnu.org/licenses/>.
#-------------------------------------------------------
# Please remember to add new functions also to gpgme.def
#-------------------------------------------------------
GPGME_1.1 {
global:
gpgme_set_engine_info;
gpgme_ctx_get_engine_info;
gpgme_ctx_set_engine_info;
gpgme_data_set_file_name;
gpgme_data_get_file_name;
gpgme_data_identify;
gpgme_sig_notation_clear;
gpgme_sig_notation_add;
gpgme_sig_notation_get;
gpgme_free;
gpgme_op_getauditlog_start;
gpgme_op_getauditlog;
gpgme_conf_release;
gpgme_conf_arg_new;
gpgme_conf_arg_release;
gpgme_conf_opt_change;
gpgme_op_conf_load;
gpgme_op_conf_save;
gpgme_op_conf_dir;
gpgme_cancel_async;
gpgme_op_assuan_result;
gpgme_op_assuan_transact;
gpgme_op_assuan_transact_start;
gpgme_check_version_internal;
gpgme_io_read;
gpgme_io_write;
gpgme_result_ref;
gpgme_result_unref;
gpgme_op_import_keys;
gpgme_op_import_keys_start;
gpgme_op_export_keys;
gpgme_op_export_keys_start;
gpgme_op_assuan_transact_ext;
gpgme_wait_ext;
gpgme_op_vfs_mount_result;
gpgme_op_vfs_mount;
gpgme_op_vfs_create;
gpgme_key_from_uid;
gpgme_set_sub_protocol;
gpgme_get_sub_protocol;
gpgme_op_passwd_start;
gpgme_op_passwd;
gpgme_set_global_flag;
gpgme_io_writen;
gpgme_set_pinentry_mode;
gpgme_get_pinentry_mode;
gpgme_get_dirinfo;
gpgme_op_spawn_start;
gpgme_op_spawn;
gpgme_set_offline;
gpgme_get_offline;
gpgme_set_status_cb;
gpgme_get_status_cb;
gpgme_pubkey_algo_string;
gpgme_set_ctx_flag;
gpgme_get_ctx_flag;
gpgme_data_set_flag;
gpgme_op_createkey_start;
gpgme_op_createkey;
gpgme_op_createsubkey_start;
gpgme_op_createsubkey;
gpgme_op_adduid_start;
gpgme_op_adduid;
gpgme_op_revuid_start;
gpgme_op_revuid;
gpgme_op_keysign_start;
gpgme_op_keysign;
gpgme_op_tofu_policy_start;
gpgme_op_tofu_policy;
gpgme_op_interact_start;
gpgme_op_interact;
gpgme_addrspec_from_uid;
gpgme_set_sender;
gpgme_get_sender;
gpgme_op_query_swdb;
gpgme_op_query_swdb_result;
gpgme_op_set_uid_flag_start;
gpgme_op_set_uid_flag;
gpgme_op_decrypt_ext;
gpgme_op_decrypt_ext_start;
gpgme_data_new_from_estream;
};
GPGME_1.0 {
global:
gpgme_check_version;
gpgme_get_engine_info;
gpgme_engine_check_version;
gpgme_err_code_from_errno;
gpgme_err_code_to_errno;
gpgme_err_make_from_errno;
gpgme_error_from_errno;
gpgme_strerror;
gpgme_strerror_r;
gpgme_strsource;
gpgme_data_get_encoding;
gpgme_data_new;
gpgme_data_new_from_cbs;
gpgme_data_new_from_fd;
gpgme_data_new_from_file;
gpgme_data_new_from_filepart;
gpgme_data_new_from_mem;
gpgme_data_new_from_stream;
gpgme_data_read;
gpgme_data_release;
gpgme_data_release_and_get_mem;
gpgme_data_seek;
gpgme_data_set_encoding;
gpgme_data_write;
gpgme_get_protocol_name;
gpgme_hash_algo_name;
gpgme_pubkey_algo_name;
gpgme_new;
gpgme_get_armor;
gpgme_get_include_certs;
gpgme_get_io_cbs;
gpgme_get_keylist_mode;
gpgme_get_passphrase_cb;
gpgme_get_progress_cb;
gpgme_get_protocol;
gpgme_get_textmode;
gpgme_release;
gpgme_set_armor;
gpgme_set_include_certs;
gpgme_set_io_cbs;
gpgme_set_keylist_mode;
gpgme_set_locale;
gpgme_set_passphrase_cb;
gpgme_set_progress_cb;
gpgme_set_protocol;
gpgme_set_textmode;
gpgme_signers_add;
gpgme_signers_clear;
gpgme_signers_count;
gpgme_signers_enum;
gpgme_key_ref;
gpgme_key_unref;
gpgme_key_release;
gpgme_trust_item_ref;
gpgme_trust_item_unref;
gpgme_cancel;
gpgme_op_card_edit;
gpgme_op_card_edit_start;
gpgme_op_decrypt;
gpgme_op_decrypt_result;
gpgme_op_decrypt_start;
gpgme_op_decrypt_verify;
gpgme_op_decrypt_verify_start;
gpgme_op_delete;
gpgme_op_delete_start;
gpgme_op_delete_ext;
gpgme_op_delete_ext_start;
gpgme_op_edit;
gpgme_op_edit_start;
gpgme_op_encrypt;
gpgme_op_encrypt_start;
gpgme_op_encrypt_ext;
gpgme_op_encrypt_ext_start;
gpgme_op_encrypt_sign;
gpgme_op_encrypt_sign_ext;
gpgme_op_encrypt_sign_start;
gpgme_op_encrypt_sign_ext_start;
gpgme_op_encrypt_result;
gpgme_op_export;
gpgme_op_export_ext;
gpgme_op_export_ext_start;
gpgme_op_export_start;
gpgme_op_genkey;
gpgme_op_genkey_result;
gpgme_op_genkey_start;
gpgme_get_key;
gpgme_op_import;
gpgme_op_import_result;
gpgme_op_import_start;
gpgme_op_keylist_end;
gpgme_op_keylist_ext_start;
gpgme_op_keylist_from_data_start;
gpgme_op_keylist_next;
gpgme_op_keylist_result;
gpgme_op_keylist_start;
gpgme_op_sign;
gpgme_op_sign_result;
gpgme_op_sign_start;
gpgme_op_trustlist_end;
gpgme_op_trustlist_next;
gpgme_op_trustlist_start;
gpgme_op_verify;
gpgme_op_verify_result;
gpgme_op_verify_start;
gpgme_wait;
gpgme_data_new_with_read_cb;
gpgme_data_rewind;
gpgme_get_sig_status;
gpgme_get_sig_string_attr;
gpgme_get_sig_ulong_attr;
gpgme_get_sig_key;
gpgme_key_get_string_attr;
gpgme_key_get_ulong_attr;
gpgme_key_sig_get_string_attr;
gpgme_key_sig_get_ulong_attr;
gpgme_op_import_ext;
gpgme_trust_item_get_int_attr;
gpgme_trust_item_get_string_attr;
gpgme_trust_item_release;
gpgme_err_code_from_syserror;
gpgme_err_set_errno;
local:
*;
};