/* # Copyright (C) 2016 g10 Code GmbH # Copyright (C) 2004 Igor Belyi # Copyright (C) 2002 John Goerzen # # This library 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. # # This library 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 library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include "Python.h" #ifdef _WIN32 #include #define write(fd, str, sz) {DWORD written; WriteFile((HANDLE) fd, str, sz, &written, 0);} #endif void pygpgme_exception_init(void); gpgme_error_t pygpgme_exception2code(void); PyObject *object_to_gpgme_t(PyObject *input, const char *objtype, int argnum); PyObject *object_to_gpgme_data_t(PyObject *input, int argnum, gpgme_data_t *wrapper, PyObject **bytesio, Py_buffer *view); PyObject *pygpgme_wrap_fragile_result(PyObject *fragile, const char *classname); PyObject *pygpgme_raise_callback_exception(PyObject *self); PyObject *pygpgme_set_passphrase_cb(PyObject *self, PyObject *cb); PyObject *pygpgme_set_progress_cb(PyObject *self, PyObject *cb); PyObject *pygpgme_set_status_cb(PyObject *self, PyObject *cb); gpgme_error_t pyEditCb(void *opaque, gpgme_status_code_t status, const char *args, int fd); PyObject *pygpgme_data_new_from_cbs(PyObject *self, PyObject *pycbs, gpgme_data_t *r_data); /* SWIG support for helpers.c */ PyObject *pygpgme_wrap_gpgme_data_t(gpgme_data_t data); gpgme_ctx_t pygpgme_unwrap_gpgme_ctx_t(PyObject *wrapped);