blob: 07c882e5e22ef52216261ed2a224c93dcd63bcf0 [file] [log] [blame]
/* ====================================================================
* Copyright (c) 1999 Ralf S. Engelschall. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``AS IS'' AND ANY
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RALF S. ENGELSCHALL OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
* ====================================================================
*/
#ifndef _POLL_H_
#define _POLL_H_
#define LIBPOLL_VERSION 19990812
#ifndef POLLIN
#define POLLIN 0x0001 /* any readable data available */
#endif
#ifndef POLLPRI
#define POLLPRI 0x0002 /* OOB/Urgent readable data */
#endif
#ifndef POLLOUT
#define POLLOUT 0x0004 /* file descriptor is writeable */
#endif
#ifndef POLLERR
#define POLLERR 0x0008 /* some poll error occurred */
#endif
#ifndef POLLHUP
#define POLLHUP 0x0010 /* file descriptor was "hung up" */
#endif
#ifndef POLLNVAL
#define POLLNVAL 0x0020 /* requested events "invalid" */
#endif
#ifndef POLLRDNORM
#define POLLRDNORM POLLIN
#endif
#ifndef POLLRDBAND
#define POLLRDBAND POLLIN
#endif
#ifndef POLLWRNORM
#define POLLWRNORM POLLOUT
#endif
#ifndef POLLWRBAND
#define POLLWRBAND POLLOUT
#endif
#ifndef INFTIM
#define INFTIM (-1)
#endif
#ifdef __cplusplus
extern "C" {
#endif
struct pollfd {
int fd; /* which file descriptor to poll */
short events; /* events we are interested in */
short revents; /* events found on return */
};
int poll(struct pollfd *, unsigned int, int);
#ifdef __cplusplus
}
#endif
#endif /* _POLL_H_ */