diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog | 7 | ||||
-rw-r--r-- | src/gpgme.c | 28 | ||||
-rw-r--r-- | src/gpgme.def | 4 | ||||
-rw-r--r-- | src/gpgme.h.in | 5 | ||||
-rw-r--r-- | src/libgpgme.vers | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
6 files changed, 49 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 5bd6ca8f..7f67b02c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,12 @@ 2009-06-09 Werner Koch <[email protected]> + * version.c (gpgme_check_version_internal): Make result const. + + * gpgme.c: Include priv-io.h. + (gpgme_io_read, gpgme_io_write): New. + * libgpgme.vers (GPGME_1.1): Add them. + * gpgme.def: Ditto. + * Makefile.am (main_sources): Remove gpgme.h. (include_HEADERS): Rename to nodist_include_HEADERS so that a VPATH build won't use the distributed one. diff --git a/src/gpgme.c b/src/gpgme.c index b76b3991..203cd711 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -34,6 +34,7 @@ #include "ops.h" #include "wait.h" #include "debug.h" +#include "priv-io.h" /* The default locale. */ @@ -428,6 +429,33 @@ gpgme_set_io_cbs (gpgme_ctx_t ctx, gpgme_io_cbs_t io_cbs) } +/* This function provides access to the internal read function; it is + normally not used. */ +ssize_t +gpgme_io_read (int fd, void *buffer, size_t count) +{ + int ret; + + ret = _gpgme_io_read (fd, buffer, count); + + return ret; +} + + +/* This function provides access to the internal write function. It + is to be used by user callbacks to return data to gpgme. See + gpgme_passphrase_cb_t and gpgme_edit_cb_t. */ +ssize_t +gpgme_io_write (int fd, const void *buffer, size_t count) +{ + int ret; + + ret = _gpgme_io_write (fd, buffer, count); + + return ret; +} + + /* This function returns the callback function for I/O. */ void gpgme_get_io_cbs (gpgme_ctx_t ctx, gpgme_io_cbs_t io_cbs) diff --git a/src/gpgme.def b/src/gpgme.def index 14636d64..b1969ea9 100644 --- a/src/gpgme.def +++ b/src/gpgme.def @@ -173,6 +173,10 @@ EXPORTS gpgme_op_assuan_transact @134 gpgme_check_version_internal @135 + + gpgme_io_read @136 + gpgme_io_write @137 + ; END diff --git a/src/gpgme.h.in b/src/gpgme.h.in index a9a4a3f7..46f8769c 100644 --- a/src/gpgme.h.in +++ b/src/gpgme.h.in @@ -961,6 +961,11 @@ void gpgme_set_io_cbs (gpgme_ctx_t ctx, gpgme_io_cbs_t io_cbs); /* Get the current I/O callback functions. */ void gpgme_get_io_cbs (gpgme_ctx_t ctx, gpgme_io_cbs_t io_cbs); +/* Wrappers around the internal I/O functions for use with + gpgme_passphrase_cb_t and gpgme_edit_cb_t. */ +ssize_t gpgme_io_read (int fd, void *buffer, size_t count); +ssize_t gpgme_io_write (int fd, const void *buffer, size_t count); + /* Process the pending operation and, if HANG is non-zero, wait for the pending operation to finish. */ gpgme_ctx_t gpgme_wait (gpgme_ctx_t ctx, gpgme_error_t *status, int hang); diff --git a/src/libgpgme.vers b/src/libgpgme.vers index bc6eb7cd..fe32392b 100644 --- a/src/libgpgme.vers +++ b/src/libgpgme.vers @@ -53,6 +53,10 @@ GPGME_1.1 { gpgme_op_assuan_transact_start; gpgme_check_version_internal; + + gpgme_io_read; + gpgme_io_write; + }; diff --git a/src/version.c b/src/version.c index 213df6de..cef49a33 100644 --- a/src/version.c +++ b/src/version.c @@ -213,7 +213,7 @@ const char * gpgme_check_version_internal (const char *req_version, size_t offset_sig_validity) { - char *result; + const char *result; TRACE2 (DEBUG_INIT, "gpgme_check_version_internal: ", 0, "req_version=%s, offset_sig_validity=%i", |