+2008-09-29  Bruno Haible  <bruno@clisp.org>
+
+       * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
+       * lib/sys_select.in.h: Likewise.
+
 2008-09-29  Bruno Haible  <bruno@clisp.org>
 
        * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
 
 # include <sys/socket.h>
 
 # if @HAVE_WINSOCK2_H@
+
+#  ifdef __cplusplus
+extern "C" {
+#  endif
+
 #  undef select
 #  define select               rpl_select
-
 extern int rpl_select (int, fd_set *, fd_set *, fd_set *, struct timeval *);
+
+#  ifdef __cplusplus
+}
+#  endif
+
 # endif
 
 #endif
 
 
 typedef int socklen_t;
 
+#  ifdef __cplusplus
+extern "C" {
+#  endif
+
 /* Re-define FD_ISSET to avoid a WSA call while we are not using 
    network sockets.  */
 static inline int
 extern int rpl_sendto (int, const void *, int, int, struct sockaddr *, int);
 extern int rpl_setsockopt (int, int, int, const void *, int);
 
+#  ifdef __cplusplus
+}
+#  endif
+
 # endif /* HAVE_WINSOCK2_H */
 
 #endif /* HAVE_SYS_SOCKET_H */