summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac16
-rw-r--r--lib/includes/gnutls/gnutls.h.in5
2 files changed, 17 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index c31b102b18..8175759d6d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -160,6 +160,22 @@ esac
fi
+dnl Check for iovec type
+AC_CHECK_MEMBERS([struct iovec.iov_basea],
+ [
+ AC_SUBST([DEFINE_IOVEC_T], ["#include <sys/uio.h>
+typedef struct iovec giovec_t;"])
+ ],
+ [
+ AC_SUBST([DEFINE_IOVEC_T], ["typedef struct {
+ void *iov_base;
+ size_t iov_len;
+} giovec_t;"])
+ ],
+ [#include <sys/uio.h>
+ ])
+AM_SUBST_NOTMAKE([DEFINE_IOVEC_T])
+
dnl Need netinet/tcp.h for TCP_FASTOPEN
AC_CHECK_HEADERS([netinet/tcp.h])
diff --git a/lib/includes/gnutls/gnutls.h.in b/lib/includes/gnutls/gnutls.h.in
index 5778d4a2ec..cfe28aac78 100644
--- a/lib/includes/gnutls/gnutls.h.in
+++ b/lib/includes/gnutls/gnutls.h.in
@@ -1861,10 +1861,7 @@ int gnutls_dh_params_cpy(gnutls_dh_params_t dst, gnutls_dh_params_t src);
/* Session stuff
*/
-typedef struct {
- void *iov_base; /* Starting address */
- size_t iov_len; /* Number of bytes to transfer */
-} giovec_t;
+@DEFINE_IOVEC_T@
typedef ssize_t(*gnutls_pull_func) (gnutls_transport_ptr_t, void *,
size_t);