]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Added bind gnulib module.
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 9 Apr 2014 13:06:40 +0000 (15:06 +0200)
committerNikos Mavrogiannopoulos <nmav@redhat.com>
Wed, 9 Apr 2014 13:06:40 +0000 (15:06 +0200)
src/gl/Makefile.am
src/gl/bind.c [new file with mode: 0644]
src/gl/m4/gnulib-cache.m4
src/gl/m4/gnulib-comp.m4

index dff58fb1a3459439f3ff7e1468af86722e5f78ee..88d5b7abad16fdc5f3880c9ff4885b41d9049dc7 100644 (file)
@@ -21,7 +21,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --local-dir=src/gl/override --lib=libgnu_gpl --source-base=src/gl --m4-base=src/gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=ggl --no-vc-files accept close connect getaddrinfo getpass inet_ntop inet_pton listen parse-datetime progname recv recvfrom select send sendto servent setsockopt shutdown socket sockets socklen
+# Reproduce by: gnulib-tool --import --dir=. --local-dir=src/gl/override --lib=libgnu_gpl --source-base=src/gl --m4-base=src/gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=ggl --no-vc-files accept bind close connect getaddrinfo getpass inet_ntop inet_pton listen parse-datetime progname recv recvfrom select send sendto servent setsockopt shutdown socket sockets socklen
 
 AUTOMAKE_OPTIONS = 1.9.6 gnits
 
@@ -148,6 +148,15 @@ EXTRA_DIST += arpa_inet.in.h
 
 ## end   gnulib module arpa_inet
 
+## begin gnulib module bind
+
+
+EXTRA_DIST += bind.c w32sock.h
+
+EXTRA_libgnu_gpl_la_SOURCES += bind.c
+
+## end   gnulib module bind
+
 ## begin gnulib module c-ctype
 
 libgnu_gpl_la_SOURCES += c-ctype.h c-ctype.c
diff --git a/src/gl/bind.c b/src/gl/bind.c
new file mode 100644 (file)
index 0000000..aa5d344
--- /dev/null
@@ -0,0 +1,49 @@
+/* bind.c --- wrappers for Windows bind function
+
+   Copyright (C) 2008-2014 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* Written by Paolo Bonzini */
+
+#include <config.h>
+
+#define WIN32_LEAN_AND_MEAN
+/* Get winsock2.h. */
+#include <sys/socket.h>
+
+/* Get set_winsock_errno, FD_TO_SOCKET etc. */
+#include "w32sock.h"
+
+#undef bind
+
+int
+rpl_bind (int fd, const struct sockaddr *sockaddr, socklen_t len)
+{
+  SOCKET sock = FD_TO_SOCKET (fd);
+
+  if (sock == INVALID_SOCKET)
+    {
+      errno = EBADF;
+      return -1;
+    }
+  else
+    {
+      int r = bind (sock, sockaddr, len);
+      if (r < 0)
+        set_winsock_errno ();
+
+      return r;
+    }
+}
index 648dc63cf9ecfc3e48dc5fcae4e4c7b35cf842c0..956a9ed738ede00a0e34ab6237df98f8e76697b5 100644 (file)
 
 
 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --local-dir=src/gl/override --lib=libgnu_gpl --source-base=src/gl --m4-base=src/gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=ggl --no-vc-files accept close connect getaddrinfo getpass inet_ntop inet_pton listen parse-datetime progname recv recvfrom select send sendto servent setsockopt shutdown socket sockets socklen
+#   gnulib-tool --import --dir=. --local-dir=src/gl/override --lib=libgnu_gpl --source-base=src/gl --m4-base=src/gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --libtool --macro-prefix=ggl --no-vc-files accept bind close connect getaddrinfo getpass inet_ntop inet_pton listen parse-datetime progname recv recvfrom select send sendto servent setsockopt shutdown socket sockets socklen
 
 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([src/gl/override])
 gl_MODULES([
   accept
+  bind
   close
   connect
   getaddrinfo
index 0194e13d72275ddf6aee9ca89219f3ec8064447d..edd03a71fd292924e3e97f31b67d4308f3b6255a 100644 (file)
@@ -43,6 +43,7 @@ AC_DEFUN([ggl_EARLY],
   # Code from module alloca:
   # Code from module alloca-opt:
   # Code from module arpa_inet:
+  # Code from module bind:
   # Code from module c-ctype:
   # Code from module clock-time:
   # Code from module close:
@@ -167,6 +168,11 @@ AC_SUBST([LTALLOCA])
   gl_FUNC_ALLOCA
   gl_HEADER_ARPA_INET
   AC_PROG_MKDIR_P
+  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
+  if test "$ac_cv_header_winsock2_h" = yes; then
+    AC_LIBOBJ([bind])
+  fi
+  gl_SYS_SOCKET_MODULE_INDICATOR([bind])
   gl_CLOCK_TIME
   gl_FUNC_CLOSE
   if test $REPLACE_CLOSE = 1; then
@@ -587,6 +593,7 @@ AC_DEFUN([ggl_FILE_LIST], [
   lib/alloca.in.h
   lib/arpa_inet.in.h
   lib/asnprintf.c
+  lib/bind.c
   lib/c-ctype.c
   lib/c-ctype.h
   lib/close.c