1
0
mirror of https://https.git.savannah.gnu.org/git/gnulib.git synced 2026-09-01 02:34:55 +00:00
Commit Graph

45 Commits

Author SHA1 Message Date
Bruno Haible 95bbafdb71 sys_socket: Ensure 'struct iovec' definition.
* lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
<sys/socket.h>.
* doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
2011-04-30 13:38:43 +02:00
Eric Blake 06d76f63c6 passfd: allow compilation on mingw
The passfd module now skips on mingw, rather than failing to compile.

It may be nice to add a sendmsg and recvmsg module in the future,
but for now passfd is the only client that cares.

* modules/sys_socket (Depends-on): Add sys_uio.
* lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
iovec and a minimal struct msghdr.
* tests/test-sys_socket.c (main): Enhance test.
* m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
* lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
guaranteed to provide what we need.
(sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
* modules/passfd-tests (Depends-on): Add sys_wait.
* tests/test-passfd.c (main): Skip test on mingw, for now.
* doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
partial 'struct msghdr' implementation.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-04-21 14:35:06 -06:00
Bruno Haible 6acf0ec37a passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
* lib/sys_socket.in.h: Include <stddef.h>.
* m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
CMSG_FIRSTHDR. Remove unused variable.
2011-03-13 23:54:58 +01:00
Bruno Haible 438ac9a296 Allow multiple gnulib generated replacements to coexist.
* lib/getopt.in.h (struct option): Avoid identical redefinition.
* lib/inttypes.in.h (imaxdiv_t): Likewise.
* lib/langinfo.in.h (nl_item): Likewise.
* lib/math.in.h (_NaN, NAN): Likewise.
* lib/netdb.in.h (struct addrinfo): Likewise.
* lib/poll.in.h (struct pollfd, nfds_t): Likewise.
* lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
pthread_mutexattr_init, pthread_mutexattr_settype,
pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
pthread_spin_trylock, pthread_spin_unlock): Likewise.
* lib/sched.in.h (struct sched_param): Likewise.
* lib/se-selinux.in.h (security_class_t, security_context_t,
is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
lsetfilecon, fsetfilecon, security_check_context,
security_check_context_raw, setexeccon, matchpathcon_init_prefix):
Likewise.
* lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
Likewise.
* lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
_gl_function_taking_int_returning_void_t, union sigval,
struct siginfo_t, siginfo_t, struct sigaction): Likewise.
* lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
* lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
* lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
* lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
socklen_t, rpl_fd_isset): Likewise.
* lib/sys_stat.in.h (rpl_mkdir): Likewise.
* lib/sys_time.in.h (struct timeval): Likewise.
* lib/sys_times.in.h (struct tms): Likewise.
* lib/sys_utsname.in.h (struct utsname):
* lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
* lib/unistd.in.h (getpagesize): Likewise.
* lib/wchar.in.h (mbstate_t): Likewise.
* lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
towlower, towupper): Likewise.
Reported by Sam Steingold <sds@gnu.org>.
2011-02-07 01:32:05 +01:00
Jim Meyering d60f3b0c6b maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
2011-01-01 22:12:59 +01:00
Bruno Haible 1a81631291 sys_socket: Hide mismatch of declarations on NonStop Kernel.
* lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
_GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2010-12-24 17:16:29 +01:00
Bruno Haible 5500698d4b sys_socket: Ensure ss_family field on AIX.
* lib/sys_socket.in.h (ss_family): New macro definition.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
(gl_SYS_SOCKET_H_DEFAULTS): Initialize
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
* modules/sys_socket (Makefile.am): Substitute
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
* doc/posix-headers/sys_socket.texi: Mention the AIX bug.
2010-11-30 21:17:15 +01:00
Bruno Haible 968e74c2c0 Avoid line length limitation from HP NonStop system header files.
* m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
* lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
* lib/ctype.in.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/errno.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/float.in.h: Likewise.
* lib/getopt.in.h: Likewise.
* lib/iconv.in.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/netdb.in.h: Likewise.
* lib/netinet_in.in.h: Likewise.
* lib/poll.in.h: Likewise.
* lib/pthread.in.h: Likewise.
* lib/pty.in.h: Likewise.
* lib/sched.in.h: Likewise.
* lib/se-selinux.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdarg.in.h: Likewise.
* lib/stddef.in.h: Likewise.
* lib/stdint.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_time.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/sys_wait.in.h: Likewise.
* lib/sysexits.in.h: Likewise.
* lib/termios.in.h: Likewise.
* lib/time.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/wchar.in.h: Likewise.
* lib/wctype.in.h: Likewise.
* modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
* modules/ctype (Makefile.am): Likewise.
* modules/dirent (Makefile.am): Likewise.
* modules/errno (Makefile.am): Likewise.
* modules/fcntl-h (Makefile.am): Likewise.
* modules/float (Makefile.am): Likewise.
* modules/getopt-posix (Makefile.am): Likewise.
* modules/iconv-h (Makefile.am): Likewise.
* modules/inttypes (Makefile.am): Likewise.
* modules/langinfo (Makefile.am): Likewise.
* modules/locale (Makefile.am): Likewise.
* modules/math (Makefile.am): Likewise.
* modules/netdb (Makefile.am): Likewise.
* modules/netinet_in (Makefile.am): Likewise.
* modules/poll-h (Makefile.am): Likewise.
* modules/pthread (Makefile.am): Likewise.
* modules/pty (Makefile.am): Likewise.
* modules/sched (Makefile.am): Likewise.
* modules/search (Makefile.am): Likewise.
* modules/selinux-h (Makefile.am): Likewise.
* modules/signal (Makefile.am): Likewise.
* modules/spawn (Makefile.am): Likewise.
* modules/stdarg (Makefile.am): Likewise.
* modules/stddef (Makefile.am): Likewise.
* modules/stdint (Makefile.am): Likewise.
* modules/stdio (Makefile.am): Likewise.
* modules/stdlib (Makefile.am): Likewise.
* modules/string (Makefile.am): Likewise.
* modules/strings (Makefile.am): Likewise.
* modules/sys_file (Makefile.am): Likewise.
* modules/sys_ioctl (Makefile.am): Likewise.
* modules/sys_select (Makefile.am): Likewise.
* modules/sys_socket (Makefile.am): Likewise.
* modules/sys_stat (Makefile.am): Likewise.
* modules/sys_time (Makefile.am): Likewise.
* modules/sys_times (Makefile.am): Likewise.
* modules/sys_utsname (Makefile.am): Likewise.
* modules/sys_wait (Makefile.am): Likewise.
* modules/sysexits (Makefile.am): Likewise.
* modules/termios (Makefile.am): Likewise.
* modules/time (Makefile.am): Likewise.
* modules/unistd (Makefile.am): Likewise.
* modules/wchar (Makefile.am): Likewise.
* modules/wctype (Makefile.am): Likewise.
2010-10-04 23:35:51 +02:00
Paul Eggert fb22d8f7da Avoid some lines longer than 80 characters.
* lib/stdint.in.h: Break long comment lines.
* lib/math.in.h: Likewise.
(_GL_NUM_UINT_WORDS): New macro, for readability.
(gl_signbitf, gl_signbitd, gl_signbitl): Use it.
* lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
* lib/stdlib.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/sys_socket.in.h: Update an URL.
* lib/sys_stat.in.h: Break long line.
2010-10-03 23:53:34 +02:00
Bruno Haible ec5187624d sys_socket: Avoid #define replacements in C++ mode. 2010-04-05 18:34:08 +02:00
Eric Blake 40aa4775a4 maint: use pragma consistently across replacement headers
Several headers set #pragma GCC system_header prior to checking
any multiple inclusion guards; maintenance is easiest if all
replacement headers follow the same paradigm.

* lib/ctype.in.h (system_header): Hoist for consistent placement.
* lib/dirent.in.h (system_header): Likewise.
* lib/errno.in.h (system_header): Likewise.
* lib/float.in.h (system_header): Likewise.
* lib/getopt.in.h (system_header): Likewise.
* lib/iconv.in.h (system_header): Likewise.
* lib/inttypes.in.h (system_header): Likewise.
* lib/langinfo.in.h (system_header): Likewise.
* lib/locale.in.h (system_header): Likewise.
* lib/math.in.h (system_header): Likewise.
* lib/netdb.in.h (system_header): Likewise.
* lib/netinet_in.in.h (system_header): Likewise.
* lib/pty.in.h (system_header): Likewise.
* lib/sched.in.h (system_header): Likewise.
* lib/se-selinux.in.h (system_header): Likewise.
* lib/search.in.h (system_header): Likewise.
* lib/spawn.in.h (system_header): Likewise.
* lib/stdarg.in.h (system_header): Likewise.
* lib/stdint.in.h (system_header): Likewise.
* lib/string.in.h (system_header): Likewise.
* lib/strings.in.h (system_header): Likewise.
* lib/sys_file.in.h (system_header): Likewise.
* lib/sys_ioctl.in.h (system_header): Likewise.
* lib/sys_socket.in.h (system_header): Likewise.
* lib/sys_times.in.h (system_header): Likewise.
* lib/sys_utsname.in.h (system_header): Likewise.
* lib/sys_wait.in.h (system_header): Likewise.
* lib/sysexits.in.h (system_header): Likewise.
* lib/unistd.in.h (system_header): Likewise.
* lib/wctype.in.h (system_header): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2010-03-25 16:48:19 -06:00
Bruno Haible 801187706f sys_socket: Avoid #define replacements in C++ mode. 2010-03-08 03:11:13 +01:00
Bruno Haible 9d98843254 Use POSIX declarations for socket functions. 2010-03-07 19:57:24 +01:00
Eric Blake cbd5934b19 warn-on-use: use instead of link-warning
Each *.in.h file serves two purposes - provide enough self-contained
content to serve as a replacement for the system header regardless of
the user's compiler, and offer the developer the ability to detect any
gnulib modules that might have been inadvertantly excluded.  The
former requires independence from config.h, and routes everything
through a Makefile.am snippet that uses @@ substitution specific to
the modules that were in use, with details learned at configure time.

The latter works by poisoning anything that gnulib did not replace,
but which the developer had natively available, explaining why their
tests passed during development.  Poisoning relies on gcc features,
and requires manual triggering by adding -DGNULIB_POSIXCHECK to
CFLAGS; it assumes that <config.h> is properly included.  In fact, we
do not want to use @@ substitution for HAVE_DECL_* during poisoning,
because the warning is only relevant for the gnulib modules which were
not included, and thus where the m4 macros to set proper @@ values
have not been run.  Furthermore, we only need to poison interfaces
that already have a declaration; if something is not declared, then
the developer wouldn't have been able to link, so their code won't be
using the problematic interface in the first place.

* modules/stdio (Depends-on, Makefile.am): Drop link-warning.
* modules/unistd (Depends-on, Makefile.am): Likewise.
* modules/arpa_inet (Depends-on): Replace link-warning with
warn-on-use.
(Makefile.am): Update rules accordingly.
* modules/ctype (Depends-on, Makefile.am): Likewise.
* modules/dirent (Depends-on, Makefile.am): Likewise.
* modules/fcntl-h (Depends-on, Makefile.am): Likewise.
* modules/inttypes (Depends-on, Makefile.am): Likewise.
* modules/langinfo (Depends-on, Makefile.am): Likewise.
* modules/locale (Depends-on, Makefile.am): Likewise.
* modules/math (Depends-on, Makefile.am): Likewise.
* modules/search (Depends-on, Makefile.am): Likewise.
* modules/signal (Depends-on, Makefile.am): Likewise.
* modules/spawn (Depends-on, Makefile.am): Likewise.
* modules/stdlib (Depends-on, Makefile.am): Likewise.
* modules/string (Depends-on, Makefile.am): Likewise.
* modules/strings (Depends-on, Makefile.am): Likewise.
* modules/sys_file (Depends-on, Makefile.am): Likewise.
* modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
* modules/sys_select (Depends-on, Makefile.am): Likewise.
* modules/sys_socket (Depends-on, Makefile.am): Likewise.
* modules/sys_stat (Depends-on, Makefile.am): Likewise.
* modules/sys_times (Depends-on, Makefile.am): Likewise.
* modules/sys_utsname (Depends-on, Makefile.am): Likewise.
* modules/wchar (Depends-on, Makefile.am): Likewise.
* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
should be poisoned.
* m4/ctype.m4 (gl_CTYPE_H): Likewise.
* m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
* m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
* m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
* m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
* m4/locale_h.m4 (gl_LOCALE_H): Likewise.
* m4/math_h.m4 (gl_MATH_H): Likewise.
* m4/search_h.m4 (gl_SEARCH_H): Likewise.
* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
* m4/wchar.m4 (gl_WCHAR_H): Likewise.
* lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
GL_LINK_WARNING.
* lib/ctype.in.h: Likewise.
* lib/dirent.in.h: Likewise.
* lib/fcntl.in.h: Likewise.
* lib/inttypes.in.h: Likewise.
* lib/langinfo.in.h: Likewise.
* lib/locale.in.h: Likewise.
* lib/math.in.h: Likewise.
* lib/search.in.h: Likewise.
* lib/signal.in.h: Likewise.
* lib/spawn.in.h: Likewise.
* lib/stdio.in.h: Likewise.
* lib/stdlib.in.h: Likewise.
* lib/string.in.h: Likewise.
* lib/strings.in.h: Likewise.
* lib/sys_file.in.h: Likewise.
* lib/sys_ioctl.in.h: Likewise.
* lib/sys_select.in.h: Likewise.
* lib/sys_socket.in.h: Likewise.
* lib/sys_stat.in.h: Likewise.
* lib/sys_times.in.h: Likewise.
* lib/sys_utsname.in.h: Likewise.
* lib/unistd.in.h: Likewise.
* lib/wchar.in.h: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2010-01-20 07:04:51 -07:00
Jim Meyering b2e2010c7c update nearly all FSF copyright year lists to include 2010
Use the same procedure as for 2009, outlined in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2010-01-01 10:42:00 +01:00
Bruno Haible 6948250861 New module 'arg-nonnull'. Declare which arguments expect non-NULL values. 2009-12-11 01:15:28 +01:00
Bruno Haible 441aa3044f Use spaces for indentation, not tabs. 2009-12-10 20:28:30 +01:00
Bruno Haible 27d2db5511 Tolerate declared but missing accept4 syscall. 2009-08-25 02:26:18 +02:00
Bruno Haible e8c71d94ae New module 'accept4'. 2009-08-25 02:17:09 +02:00
Simon Josefsson a7b3227b59 sys_socket: MinGW and IRIX does not have sa_family_t type.
Reported by "Tom G. Christensen" <tgc@jupiterrise.com>.
2009-05-20 08:52:49 +02:00
Bruno Haible 87b0392631 Don't use undefined macro 'max'. 2009-05-09 00:01:36 +02:00
Simon Josefsson 014f60069c sys_socket: Define sockaddr_storage. 2009-05-08 16:21:34 +02:00
Bruno Haible 6aebe8304a Use socklen_t in the native Windows replacements prototypes. 2009-03-01 20:45:42 +01:00
Bruno Haible 20491bb197 Override the gethostname() declaration on native Windows systems. 2008-10-25 23:13:43 +02:00
Bruno Haible 719ff2a7c6 Move HAVE__GL_CLOSE_FD_MAYBE_SOCKET macro. 2008-10-25 22:48:11 +02:00
Simon Josefsson 49577adb63 lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw. 2008-10-22 18:06:15 +02:00
Bruno Haible dbd243d079 Cleanup and simplify winsock split changes.
Simplification.
* lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
* lib/close.c (_gl_close_fd_maybe_socket): Make static.

Simplification.
* lib/ioctl.c (ioctl): Don't undefine.
* lib/socket.c (socket): Don't undefine.

Remove unused module indicator macros.
* m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
GNULIB_$1 as a C macro.

* doc/posix-functions/close.texi: Undo last change.
* doc/posix-functions/ioctl.texi: Merge the two paragraphs about
Windows platforms.
2008-10-21 17:15:43 +02:00
Bruno Haible 3c08dcc35c Avoid gcc warnings because of #pragma GCC system_header on older gcc. 2008-10-18 02:43:18 +02:00
Bruno Haible 47a2ecab8b New module 'shutdown'. 2008-10-11 15:03:20 +02:00
Bruno Haible a8b0bc1056 New module 'ioctl'. 2008-10-10 04:33:25 +02:00
Bruno Haible 9e63878c72 Make the ioctl() signature POSIX compliant. 2008-10-10 04:17:02 +02:00
Paolo Bonzini 59a539f3e6 Combine the two replacements of 'close'. 2008-10-10 00:25:23 +02:00
Bruno Haible 44656541e5 New modules 'accept', 'bind', 'connect', 'getpeername', 'getsockname', 'getsockopt', 'listen', 'recv', 'recvfrom', 'send', 'sendto', 'setsockopt', 'socket'. 2008-10-06 02:15:14 +02:00
Jim Meyering 9c9a976581 remove trailing spaces
* NEWS: Likewise.
* lib/poll.c (poll): Likewise.
* lib/sys_socket.in.h (SHUT_RDWR): Likewise.
* lib/winsock.c (rpl_close): Likewise.
* m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
* modules/yield: Likewise.
* tests/test-poll.c (connect_to_socket, poll1): Likewise.
* tests/test-sys_select.c (connect_to_socket): Likewise.
2008-10-01 09:44:51 +02:00
Bruno Haible ce8789a332 Make the headers usable in C++. 2008-09-29 11:37:15 +02:00
Paolo Bonzini 76bb60b45a implement full-blown select(2) for winsock
2008-09-24  Paolo Bonzini  <bonzini@gnu.org>

	* NEWS: Document increased portability that sys_select now provides.

	* lib/sys_select.in.h: Install select wrapper.
	* lib/sys_socket.in.h: Use more descriptive name when there is no
	select wrapper.
	* lib/winsock-select.c: New.
	* m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
	Require gl_HEADER_SYS_SOCKET.
	* modules/sys_select: Depend on alloca, add lib/winsock-select.c.
	* modules/sys_select-tests: Copy dependencies from modules/poll-tests.
	* tests/test-sys_select.c: Add functional tests.
2008-09-24 18:59:21 +02:00
Paolo Bonzini 77041ebc88 add sockets wrappers
2008-09-23  Paolo Bonzini  <bonzini@gnu.org>

	* lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
	instead define prototypes for a full set of wrappers.  Ensure
	that Cygwin does not use the compatibility code, which is only
	for MinGW.
	* lib/winsock.c: New.
	* m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
	* modules/sys_socket: Add lib/winsock.c.

	* modules/poll-tests: Add errno and perror.
	* tests/test-poll.c: Use ioctl, not ioctlsocket.
2008-09-23 13:29:43 +02:00
Bruno Haible f039648d23 Remove errno value definitions from <sys/socket.h>. 2008-09-14 04:32:44 +02:00
Paolo Bonzini b03b6bfb8d port poll tests to Windows
2008-09-12  Paolo Bonzini  <bonzini@gnu.org>

	* lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
	* modules/poll-tests: Add inet_pton, stdbool, sockets.
	* tests/test-poll.c: Use them.  Use _pipe on Windows.
2008-09-12 16:57:24 +02:00
Bruno Haible c2318e8859 Avoid some "gcc -pedantic" warnings. 2008-08-30 03:09:15 +02:00
Simon Josefsson c404b31376 Fix proper win32 checks and use of inline for setsockopt.
Reported by Bruno Haible  <bruno@clisp.org>.
2008-04-28 16:38:34 +02:00
Simon Josefsson 70189e759b Make setsockopt replacement more typesafe. 2008-04-23 08:09:44 +02:00
Simon Josefsson 38db0dfaf1 Cast fourth argument to setsockopt on MinGW. 2008-04-22 10:57:31 +02:00
Bruno Haible 95454b6b2d Override <sys/socket.h> when it exists but is incomplete. 2008-04-13 14:56:42 +02:00
Bruno Haible 6bce7636fb Rename sys_socket_.h to sys_socket.in.h. 2007-10-02 00:35:36 +02:00