Mercurial > gnulib
view lib/sys_select.in.h @ 30232:93e5702f1344
strengthen self-containedness check for sys/select.h
2008-09-29 Paolo Bonzini <bonzini@gnu.org>
Bruno Haible <bruno@clisp.org>
* lib/sys_select.in.h: Include sys/time.h.
* m4/sys_select.h.m4: Test that struct timeval is fully defined.
* modules/sys_select: Depend on sys_time.
* tests/test-sys_select.c: Test that sys/select.h defines struct
timeval fully.
author | Paolo Bonzini <bonzini@gnu.org> |
---|---|
date | Mon, 29 Sep 2008 12:02:35 +0200 |
parents | d0e994df59ca |
children | ca7f9b88efc1 |
line wrap: on
line source
/* Substitute for <sys/select.h>. Copyright (C) 2007-2008 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 2, 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, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GL_SYS_SELECT_H #if @HAVE_SYS_SELECT_H@ @PRAGMA_SYSTEM_HEADER@ /* On many platforms, <sys/select.h> assumes prior inclusion of <sys/types.h>. */ # include <sys/types.h> /* On OSF/1 4.0, <sys/select.h> provides only a forward declaration of 'struct timeval', and no definition of this type.. */ # include <sys/time.h> /* The include_next requires a split double-inclusion guard. */ # @INCLUDE_NEXT@ @NEXT_SYS_SELECT_H@ #endif #ifndef _GL_SYS_SELECT_H #define _GL_SYS_SELECT_H #if !@HAVE_SYS_SELECT_H@ /* A platform that lacks <sys/select.h>. */ # 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 #endif /* _GL_SYS_SELECT_H */ #endif /* _GL_SYS_SELECT_H */