From be0ca741fd12897337408d1d7a7d8f5f18e1fac9 Mon Sep 17 00:00:00 2001
From: Timothy Pearson <kb9vqf@pearsoncomputing.net>
Date: Wed, 16 Nov 2011 16:06:07 -0600
Subject: Finish rename from prior commit

---
 libtdenetwork/libgpgme-copy/gpgme/data-fd.c | 78 +++++++++++++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 libtdenetwork/libgpgme-copy/gpgme/data-fd.c

(limited to 'libtdenetwork/libgpgme-copy/gpgme/data-fd.c')

diff --git a/libtdenetwork/libgpgme-copy/gpgme/data-fd.c b/libtdenetwork/libgpgme-copy/gpgme/data-fd.c
new file mode 100644
index 000000000..b543a770d
--- /dev/null
+++ b/libtdenetwork/libgpgme-copy/gpgme/data-fd.c
@@ -0,0 +1,78 @@
+/* data-fd.c - A file descripor based data object.
+   Copyright (C) 2002, 2004 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, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.  */
+
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <unistd.h>
+#include <sys/types.h>
+
+#include "data.h"
+
+
+static ssize_t
+fd_read (gpgme_data_t dh, void *buffer, size_t size)
+{
+  return read (dh->data.fd, buffer, size);
+}
+
+
+static 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)
+{
+  return lseek (dh->data.fd, offset, whence);
+}
+
+
+static int
+fd_get_fd (gpgme_data_t dh)
+{
+  return (dh->data.fd);
+}
+
+
+static struct _gpgme_data_cbs fd_cbs =
+  {
+    fd_read,
+    fd_write,
+    fd_seek,
+    NULL,
+    fd_get_fd
+  };
+
+
+gpgme_error_t
+gpgme_data_new_from_fd (gpgme_data_t *dh, int fd)
+{
+  gpgme_error_t err = _gpgme_data_new (dh, &fd_cbs);
+  if (err)
+    return err;
+
+  (*dh)->data.fd = fd;
+  return 0;
+}
-- 
cgit v1.2.1