67 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Header for poll(2) emulation
 | |
|    Contributed by Paolo Bonzini.
 | |
| 
 | |
|    Copyright 2001, 2002, 2003, 2007, 2009, 2010 Free Software Foundation, Inc.
 | |
| 
 | |
|    This file is part of gnulib.
 | |
| 
 | |
|    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, see <http://www.gnu.org/licenses/>.  */
 | |
| 
 | |
| #ifndef _GL_POLL_H
 | |
| #define _GL_POLL_H
 | |
| 
 | |
| #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600
 | |
| /* Vista has its own, socket-only poll() */
 | |
| #undef POLLIN
 | |
| #undef POLLPRI
 | |
| #undef POLLOUT
 | |
| #undef POLLERR
 | |
| #undef POLLHUP
 | |
| #undef POLLNVAL
 | |
| #undef POLLRDNORM
 | |
| #undef POLLRDBAND
 | |
| #undef POLLWRNORM
 | |
| #undef POLLWRBAND
 | |
| #define pollfd compat_pollfd
 | |
| #endif
 | |
| 
 | |
| /* fake a poll(2) environment */
 | |
| #define POLLIN      0x0001      /* any readable data available   */
 | |
| #define POLLPRI     0x0002      /* OOB/Urgent readable data      */
 | |
| #define POLLOUT     0x0004      /* file descriptor is writeable  */
 | |
| #define POLLERR     0x0008      /* some poll error occurred      */
 | |
| #define POLLHUP     0x0010      /* file descriptor was "hung up" */
 | |
| #define POLLNVAL    0x0020      /* requested events "invalid"    */
 | |
| #define POLLRDNORM  0x0040
 | |
| #define POLLRDBAND  0x0080
 | |
| #define POLLWRNORM  0x0100
 | |
| #define POLLWRBAND  0x0200
 | |
| 
 | |
| struct pollfd
 | |
| {
 | |
|   int fd;                       /* which file descriptor to poll */
 | |
|   short events;                 /* events we are interested in   */
 | |
|   short revents;                /* events found on return        */
 | |
| };
 | |
| 
 | |
| typedef unsigned long nfds_t;
 | |
| 
 | |
| extern int poll (struct pollfd *pfd, nfds_t nfd, int timeout);
 | |
| 
 | |
| /* Define INFTIM only if doing so conforms to POSIX.  */
 | |
| #if !defined (_POSIX_C_SOURCE) && !defined (_XOPEN_SOURCE)
 | |
| #define INFTIM (-1)
 | |
| #endif
 | |
| 
 | |
| #endif /* _GL_POLL_H */
 |