aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2013-04-25 11:00:16 +0000
committerWerner Koch <[email protected]>2013-05-16 15:48:50 +0000
commit6d0d8e7ba0bb989c251545fa8af35b97d1a703ba (patch)
tree9350cede809e12536956f6487c92d3f2d9489d66 /src
parentw32: Change the way the I/O threads are cleaned up. (diff)
downloadgpgme-6d0d8e7ba0bb989c251545fa8af35b97d1a703ba.tar.gz
gpgme-6d0d8e7ba0bb989c251545fa8af35b97d1a703ba.zip
Make definition of off_t robust against misbehaving w32 toolchains.
* configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t and gpgme_ssize_t. (API__OFF_T, API__SSIZE_T): New ac_subst. * src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros. * src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h * src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c * src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c * src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t by gpgme_off_t and sszie_t by gpgme_ssize_t. * src/ath-pthread.c, src/ath.h: Include gpgme.h. -- For a detailed description, see the gpgme.texi diff.
Diffstat (limited to '')
-rw-r--r--src/assuan-support.c4
-rw-r--r--src/ath-pthread.c10
-rw-r--r--src/ath.c11
-rw-r--r--src/ath.h10
-rw-r--r--src/data-compat.c8
-rw-r--r--src/data-fd.c8
-rw-r--r--src/data-mem.c8
-rw-r--r--src/data-stream.c8
-rw-r--r--src/data-user.c8
-rw-r--r--src/data.c20
-rw-r--r--src/data.h17
-rw-r--r--src/engine-gpgsm.c2
-rw-r--r--src/engine-uiserver.c2
-rw-r--r--src/gpgme-tool.c4
-rw-r--r--src/gpgme.c4
-rw-r--r--src/gpgme.h.in25
16 files changed, 77 insertions, 72 deletions
diff --git a/src/assuan-support.c b/src/assuan-support.c
index 6ff0679d..d06518a1 100644
--- a/src/assuan-support.c
+++ b/src/assuan-support.c
@@ -68,14 +68,14 @@ my_close (assuan_context_t ctx, assuan_fd_t fd)
}
-static ssize_t
+static gpgme_ssize_t
my_read (assuan_context_t ctx, assuan_fd_t fd, void *buffer, size_t size)
{
return _gpgme_io_read ((int) fd, buffer, size);
}
-static ssize_t
+static gpgme_ssize_t
my_write (assuan_context_t ctx, assuan_fd_t fd, const void *buffer, size_t size)
{
return _gpgme_io_write ((int) fd, buffer, size);
diff --git a/src/ath-pthread.c b/src/ath-pthread.c
index dfbdac2a..47b38ee0 100644
--- a/src/ath-pthread.c
+++ b/src/ath-pthread.c
@@ -39,6 +39,8 @@
#include <pthread.h>
+#include "gpgme.h"
+
#include "ath.h"
@@ -130,21 +132,21 @@ ath_mutex_unlock (ath_mutex_t *lock)
}
-ssize_t
+gpgme_ssize_t
ath_read (int fd, void *buf, size_t nbytes)
{
return read (fd, buf, nbytes);
}
-ssize_t
+gpgme_ssize_t
ath_write (int fd, const void *buf, size_t nbytes)
{
return write (fd, buf, nbytes);
}
-ssize_t
+gpgme_ssize_t
ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
struct timeval *timeout)
{
@@ -152,7 +154,7 @@ ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
}
-ssize_t
+gpgme_ssize_t
ath_waitpid (pid_t pid, int *status, int options)
{
return waitpid (pid, status, options);
diff --git a/src/ath.c b/src/ath.c
index 52cee458..ddd8a872 100644
--- a/src/ath.c
+++ b/src/ath.c
@@ -40,8 +40,9 @@
#include <sys/wait.h>
#endif
+#include "gpgme.h"
+
#ifdef _MSC_VER
- typedef long ssize_t;
typedef int pid_t;
#endif
@@ -125,7 +126,7 @@ ath_mutex_unlock (ath_mutex_t *lock)
}
-ssize_t
+gpgme_ssize_t
ath_read (int fd, void *buf, size_t nbytes)
{
#if defined(HAVE_W32CE_SYSTEM) && defined(_MSC_VER)
@@ -136,7 +137,7 @@ ath_read (int fd, void *buf, size_t nbytes)
}
-ssize_t
+gpgme_ssize_t
ath_write (int fd, const void *buf, size_t nbytes)
{
#if defined(HAVE_W32CE_SYSTEM) && defined(_MSC_VER)
@@ -147,7 +148,7 @@ ath_write (int fd, const void *buf, size_t nbytes)
}
-ssize_t
+gpgme_ssize_t
ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
struct timeval *timeout)
{
@@ -159,7 +160,7 @@ ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
}
-ssize_t
+gpgme_ssize_t
ath_waitpid (pid_t pid, int *status, int options)
{
#ifdef HAVE_W32_SYSTEM
diff --git a/src/ath.h b/src/ath.h
index eecf8d10..8eb9eb95 100644
--- a/src/ath.h
+++ b/src/ath.h
@@ -88,11 +88,11 @@ int ath_mutex_unlock (ath_mutex_t *mutex);
/* Replacement for the POSIX functions, which can be used to allow
other (user-level) threads to run. */
-ssize_t ath_read (int fd, void *buf, size_t nbytes);
-ssize_t ath_write (int fd, const void *buf, size_t nbytes);
-ssize_t ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
- struct timeval *timeout);
-ssize_t ath_waitpid (pid_t pid, int *status, int options);
+gpgme_ssize_t ath_read (int fd, void *buf, size_t nbytes);
+gpgme_ssize_t ath_write (int fd, const void *buf, size_t nbytes);
+gpgme_ssize_t ath_select (int nfd, fd_set *rset, fd_set *wset, fd_set *eset,
+ struct timeval *timeout);
+gpgme_ssize_t ath_waitpid (pid_t pid, int *status, int options);
int ath_accept (int s, struct sockaddr *addr, socklen_t *length_ptr);
int ath_connect (int s, const struct sockaddr *addr, socklen_t length);
int ath_sendmsg (int s, const struct msghdr *msg, int flags);
diff --git a/src/data-compat.c b/src/data-compat.c
index e9ca90a9..99827f16 100644
--- a/src/data-compat.c
+++ b/src/data-compat.c
@@ -41,7 +41,7 @@
non-zero). */
gpgme_error_t
gpgme_data_new_from_filepart (gpgme_data_t *r_dh, const char *fname,
- FILE *stream, off_t offset, size_t length)
+ FILE *stream, gpgme_off_t offset, size_t length)
{
#if defined (HAVE_W32CE_SYSTEM) && defined (_MSC_VER)
return gpgme_error (GPG_ERR_NOT_IMPLEMENTED);
@@ -175,7 +175,7 @@ gpgme_error_to_errno (gpgme_error_t err)
}
-static ssize_t
+static gpgme_ssize_t
old_user_read (gpgme_data_t dh, void *buffer, size_t size)
{
gpgme_error_t err;
@@ -191,8 +191,8 @@ old_user_read (gpgme_data_t dh, void *buffer, size_t size)
}
-static off_t
-old_user_seek (gpgme_data_t dh, off_t offset, int whence)
+static gpgme_off_t
+old_user_seek (gpgme_data_t dh, gpgme_off_t offset, int whence)
{
gpgme_error_t err;
TRACE_BEG2 (DEBUG_DATA, "gpgme:old_user_seek", dh,
diff --git a/src/data-fd.c b/src/data-fd.c
index 4b75e942..42d6a0d2 100644
--- a/src/data-fd.c
+++ b/src/data-fd.c
@@ -89,22 +89,22 @@ lseek (int fildes, long offset, int whence)
-static ssize_t
+static gpgme_ssize_t
fd_read (gpgme_data_t dh, void *buffer, size_t size)
{
return read (dh->data.fd, buffer, size);
}
-static ssize_t
+static gpgme_ssize_t
fd_write (gpgme_data_t dh, const void *buffer, size_t size)
{
return write (dh->data.fd, buffer, size);
}
-static off_t
-fd_seek (gpgme_data_t dh, off_t offset, int whence)
+static gpgme_off_t
+fd_seek (gpgme_data_t dh, gpgme_off_t offset, int whence)
{
return lseek (dh->data.fd, offset, whence);
}
diff --git a/src/data-mem.c b/src/data-mem.c
index fc7694d2..e06a920c 100644
--- a/src/data-mem.c
+++ b/src/data-mem.c
@@ -35,7 +35,7 @@
#include "debug.h"
-static ssize_t
+static gpgme_ssize_t
mem_read (gpgme_data_t dh, void *buffer, size_t size)
{
size_t amt = dh->data.mem.length - dh->data.mem.offset;
@@ -54,7 +54,7 @@ mem_read (gpgme_data_t dh, void *buffer, size_t size)
}
-static ssize_t
+static gpgme_ssize_t
mem_write (gpgme_data_t dh, const void *buffer, size_t size)
{
size_t unused;
@@ -109,8 +109,8 @@ mem_write (gpgme_data_t dh, const void *buffer, size_t size)
}
-static off_t
-mem_seek (gpgme_data_t dh, off_t offset, int whence)
+static gpgme_off_t
+mem_seek (gpgme_data_t dh, gpgme_off_t offset, int whence)
{
switch (whence)
{
diff --git a/src/data-stream.c b/src/data-stream.c
index a9bb815b..f358a0e0 100644
--- a/src/data-stream.c
+++ b/src/data-stream.c
@@ -31,7 +31,7 @@
#include "data.h"
-static ssize_t
+static gpgme_ssize_t
stream_read (gpgme_data_t dh, void *buffer, size_t size)
{
size_t amt = fread (buffer, 1, size, dh->data.stream);
@@ -41,7 +41,7 @@ stream_read (gpgme_data_t dh, void *buffer, size_t size)
}
-static ssize_t
+static gpgme_ssize_t
stream_write (gpgme_data_t dh, const void *buffer, size_t size)
{
size_t amt = fwrite (buffer, 1, size, dh->data.stream);
@@ -51,8 +51,8 @@ stream_write (gpgme_data_t dh, const void *buffer, size_t size)
}
-static off_t
-stream_seek (gpgme_data_t dh, off_t offset, int whence)
+static gpgme_off_t
+stream_seek (gpgme_data_t dh, gpgme_off_t offset, int whence)
{
int err;
diff --git a/src/data-user.c b/src/data-user.c
index 52046148..816ad7db 100644
--- a/src/data-user.c
+++ b/src/data-user.c
@@ -31,7 +31,7 @@
#include "data.h"
-static ssize_t
+static gpgme_ssize_t
user_read (gpgme_data_t dh, void *buffer, size_t size)
{
if (!dh->data.user.cbs->read)
@@ -44,7 +44,7 @@ user_read (gpgme_data_t dh, void *buffer, size_t size)
}
-static ssize_t
+static gpgme_ssize_t
user_write (gpgme_data_t dh, const void *buffer, size_t size)
{
if (!dh->data.user.cbs->write)
@@ -57,8 +57,8 @@ user_write (gpgme_data_t dh, const void *buffer, size_t size)
}
-static off_t
-user_seek (gpgme_data_t dh, off_t offset, int whence)
+static gpgme_off_t
+user_seek (gpgme_data_t dh, gpgme_off_t offset, int whence)
{
if (!dh->data.user.cbs->seek)
{
diff --git a/src/data.c b/src/data.c
index 0657081c..7123a82b 100644
--- a/src/data.c
+++ b/src/data.c
@@ -72,10 +72,10 @@ _gpgme_data_release (gpgme_data_t dh)
/* Read up to SIZE bytes into buffer BUFFER from the data object with
the handle DH. Return the number of characters read, 0 on EOF and
-1 on error. If an error occurs, errno is set. */
-ssize_t
+gpgme_ssize_t
gpgme_data_read (gpgme_data_t dh, void *buffer, size_t size)
{
- ssize_t res;
+ gpgme_ssize_t res;
TRACE_BEG2 (DEBUG_DATA, "gpgme_data_read", dh,
"buffer=%p, size=%u", buffer, size);
@@ -100,10 +100,10 @@ gpgme_data_read (gpgme_data_t dh, void *buffer, size_t size)
/* Write up to SIZE bytes from buffer BUFFER to the data object with
the handle DH. Return the number of characters written, or -1 on
error. If an error occurs, errno is set. */
-ssize_t
+gpgme_ssize_t
gpgme_data_write (gpgme_data_t dh, const void *buffer, size_t size)
{
- ssize_t res;
+ gpgme_ssize_t res;
TRACE_BEG2 (DEBUG_DATA, "gpgme_data_write", dh,
"buffer=%p, size=%u", buffer, size);
@@ -128,8 +128,8 @@ gpgme_data_write (gpgme_data_t dh, const void *buffer, size_t size)
/* Set the current position from where the next read or write starts
in the data object with the handle DH to OFFSET, relativ to
WHENCE. */
-off_t
-gpgme_data_seek (gpgme_data_t dh, off_t offset, int whence)
+gpgme_off_t
+gpgme_data_seek (gpgme_data_t dh, gpgme_off_t offset, int whence)
{
TRACE_BEG2 (DEBUG_DATA, "gpgme_data_seek", dh,
"offset=%lli, whence=%i", offset, whence);
@@ -253,7 +253,7 @@ _gpgme_data_inbound_handler (void *opaque, int fd)
gpgme_data_t dh = (gpgme_data_t) data->handler_value;
char buffer[BUFFER_SIZE];
char *bufp = buffer;
- ssize_t buflen;
+ gpgme_ssize_t buflen;
TRACE_BEG1 (DEBUG_CTX, "_gpgme_data_inbound_handler", dh,
"fd=0x%x", fd);
@@ -268,7 +268,7 @@ _gpgme_data_inbound_handler (void *opaque, int fd)
do
{
- ssize_t amt = gpgme_data_write (dh, bufp, buflen);
+ gpgme_ssize_t amt = gpgme_data_write (dh, bufp, buflen);
if (amt == 0 || (amt < 0 && errno != EINTR))
return TRACE_ERR (gpg_error_from_syserror ());
bufp += amt;
@@ -284,13 +284,13 @@ _gpgme_data_outbound_handler (void *opaque, int fd)
{
struct io_cb_data *data = (struct io_cb_data *) opaque;
gpgme_data_t dh = (gpgme_data_t) data->handler_value;
- ssize_t nwritten;
+ gpgme_ssize_t nwritten;
TRACE_BEG1 (DEBUG_CTX, "_gpgme_data_outbound_handler", dh,
"fd=0x%x", fd);
if (!dh->pending_len)
{
- ssize_t amt = gpgme_data_read (dh, dh->pending, BUFFER_SIZE);
+ gpgme_ssize_t amt = gpgme_data_read (dh, dh->pending, BUFFER_SIZE);
if (amt < 0)
return TRACE_ERR (gpg_error_from_syserror ());
if (amt == 0)
diff --git a/src/data.h b/src/data.h
index 5076619b..3d404af8 100644
--- a/src/data.h
+++ b/src/data.h
@@ -36,20 +36,23 @@
/* Read up to SIZE bytes into buffer BUFFER from the data object with
the handle DH. Return the number of characters read, 0 on EOF and
-1 on error. If an error occurs, errno is set. */
-typedef ssize_t (*gpgme_data_read_cb) (gpgme_data_t dh, void *buffer,
- size_t size);
+typedef gpgme_ssize_t (*gpgme_data_read_cb) (gpgme_data_t dh,
+ void *buffer,
+ size_t size);
/* Write up to SIZE bytes from buffer BUFFER to the data object with
the handle DH. Return the number of characters written, or -1 on
error. If an error occurs, errno is set. */
-typedef ssize_t (*gpgme_data_write_cb) (gpgme_data_t dh, const void *buffer,
- size_t size);
+typedef gpgme_ssize_t (*gpgme_data_write_cb) (gpgme_data_t dh,
+ const void *buffer,
+ size_t size);
/* Set the current position from where the next read or write starts
in the data object with the handle DH to OFFSET, relativ to
WHENCE. */
-typedef off_t (*gpgme_data_seek_cb) (gpgme_data_t dh, off_t offset,
- int whence);
+typedef gpgme_off_t (*gpgme_data_seek_cb) (gpgme_data_t dh,
+ gpgme_off_t offset,
+ int whence);
/* Release the data object with the handle DH. */
typedef void (*gpgme_data_release_cb) (gpgme_data_t dh);
@@ -109,7 +112,7 @@ struct gpgme_data
/* Allocated size of BUFFER. */
size_t size;
size_t length;
- off_t offset;
+ gpgme_off_t offset;
} mem;
/* For gpgme_data_new_from_read_cb. */
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c
index 79adde2c..391b632d 100644
--- a/src/engine-gpgsm.c
+++ b/src/engine-gpgsm.c
@@ -891,7 +891,7 @@ status_handler (void *opaque, int fd)
char *src = line + 2;
char *end = line + linelen;
char *dst = src;
- ssize_t nwritten;
+ gpgme_ssize_t nwritten;
linelen = 0;
while (src < end)
diff --git a/src/engine-uiserver.c b/src/engine-uiserver.c
index a68915a5..a0008e41 100644
--- a/src/engine-uiserver.c
+++ b/src/engine-uiserver.c
@@ -754,7 +754,7 @@ status_handler (void *opaque, int fd)
char *src = line + 2;
char *end = line + linelen;
char *dst = src;
- ssize_t nwritten;
+ gpgme_ssize_t nwritten;
linelen = 0;
while (src < end)
diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c
index 978c387d..bce52b82 100644
--- a/src/gpgme-tool.c
+++ b/src/gpgme-tool.c
@@ -3056,7 +3056,7 @@ _cmd_genkey_write (gpgme_data_t data, const void *buf, size_t size)
{
while (size > 0)
{
- ssize_t writen = gpgme_data_write (data, buf, size);
+ gpgme_ssize_t writen = gpgme_data_write (data, buf, size);
if (writen < 0 && errno != EAGAIN)
return gpg_error_from_syserror ();
else if (writen > 0)
@@ -3112,7 +3112,7 @@ cmd_genkey (assuan_context_t ctx, char *line)
do
{
char buf[512];
- ssize_t readn = gpgme_data_read (inp_data, buf, sizeof (buf));
+ gpgme_ssize_t readn = gpgme_data_read (inp_data, buf, sizeof (buf));
if (readn < 0)
{
err = gpg_error_from_syserror ();
diff --git a/src/gpgme.c b/src/gpgme.c
index 281ba9cf..a8de64b4 100644
--- a/src/gpgme.c
+++ b/src/gpgme.c
@@ -643,7 +643,7 @@ 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_ssize_t
gpgme_io_read (int fd, void *buffer, size_t count)
{
int ret;
@@ -659,7 +659,7 @@ gpgme_io_read (int fd, void *buffer, size_t count)
/* 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_ssize_t
gpgme_io_write (int fd, const void *buffer, size_t count)
{
int ret;
diff --git a/src/gpgme.h.in b/src/gpgme.h.in
index 12bd4ac7..caf64d4c 100644
--- a/src/gpgme.h.in
+++ b/src/gpgme.h.in
@@ -18,7 +18,7 @@
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/>.
- File: @configure_input@ */
+ Generated from gpgme.h.in for @GPGME_CONFIG_HOST@. */
#ifndef GPGME_H
#define GPGME_H
@@ -33,10 +33,8 @@
/* Include stdio.h for the FILE type definition. */
#include <stdio.h>
-
-@INSERT__TYPEDEFS_FOR_GPGME_H@
-
#include <time.h>
+@INSERT__TYPEDEFS_FOR_GPGME_H@
#include <gpg-error.h>
@@ -1043,8 +1041,8 @@ 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);
+@API__SSIZE_T@ gpgme_io_read (int fd, void *buffer, size_t count);
+@API__SSIZE_T@ gpgme_io_write (int fd, const void *buffer, size_t count);
int gpgme_io_writen (int fd, const void *buffer, size_t count);
/* Process the pending operation and, if HANG is non-zero, wait for
@@ -1060,19 +1058,20 @@ gpgme_ctx_t gpgme_wait_ext (gpgme_ctx_t ctx, gpgme_error_t *status,
/* Read up to SIZE bytes into buffer BUFFER from the data object with
the handle HANDLE. Return the number of characters read, 0 on EOF
and -1 on error. If an error occurs, errno is set. */
-typedef ssize_t (*gpgme_data_read_cb_t) (void *handle, void *buffer,
+typedef @API__SSIZE_T@ (*gpgme_data_read_cb_t) (void *handle, void *buffer,
size_t size);
/* Write up to SIZE bytes from buffer BUFFER to the data object with
the handle HANDLE. Return the number of characters written, or -1
on error. If an error occurs, errno is set. */
-typedef ssize_t (*gpgme_data_write_cb_t) (void *handle, const void *buffer,
+typedef @API__SSIZE_T@ (*gpgme_data_write_cb_t) (void *handle, const void *buffer,
size_t size);
/* Set the current position from where the next read or write starts
in the data object with the handle HANDLE to OFFSET, relativ to
WHENCE. */
-typedef off_t (*gpgme_data_seek_cb_t) (void *handle, off_t offset, int whence);
+typedef @API__OFF_T@ (*gpgme_data_seek_cb_t) (void *handle,
+ @API__OFF_T@ offset, int whence);
/* Close the data object with the handle DL. */
typedef void (*gpgme_data_release_cb_t) (void *handle);
@@ -1089,17 +1088,17 @@ typedef struct gpgme_data_cbs *gpgme_data_cbs_t;
/* Read up to SIZE bytes into buffer BUFFER from the data object with
the handle DH. Return the number of characters read, 0 on EOF and
-1 on error. If an error occurs, errno is set. */
-ssize_t gpgme_data_read (gpgme_data_t dh, void *buffer, size_t size);
+@API__SSIZE_T@ gpgme_data_read (gpgme_data_t dh, void *buffer, size_t size);
/* Write up to SIZE bytes from buffer BUFFER to the data object with
the handle DH. Return the number of characters written, or -1 on
error. If an error occurs, errno is set. */
-ssize_t gpgme_data_write (gpgme_data_t dh, const void *buffer, size_t size);
+@API__SSIZE_T@ gpgme_data_write (gpgme_data_t dh, const void *buffer, size_t size);
/* Set the current position from where the next read or write starts
in the data object with the handle DH to OFFSET, relativ to
WHENCE. */
-off_t gpgme_data_seek (gpgme_data_t dh, off_t offset, int whence);
+@API__OFF_T@ gpgme_data_seek (gpgme_data_t dh, @API__OFF_T@ offset, int whence);
/* Create a new data buffer and return it in R_DH. */
gpgme_error_t gpgme_data_new (gpgme_data_t *r_dh);
@@ -1168,7 +1167,7 @@ gpgme_error_t gpgme_data_new_from_file (gpgme_data_t *r_dh,
non-zero). */
gpgme_error_t gpgme_data_new_from_filepart (gpgme_data_t *r_dh,
const char *fname, FILE *fp,
- off_t offset, size_t length);
+ @API__OFF_T@ offset, size_t length);
/* Reset the read pointer in DH. Deprecated, please use
gpgme_data_seek instead. */