1bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/*	$OpenBSD: poll.h,v 1.11 2003/12/10 23:10:08 millert Exp $ */
2bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
3bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/*
4bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * Copyright (c) 1996 Theo de Raadt
5bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * All rights reserved.
6bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman *
7bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * Redistribution and use in source and binary forms, with or without
8bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * modification, are permitted provided that the following conditions
9bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * are met:
10bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 1. Redistributions of source code must retain the above copyright
11bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman *    notice, this list of conditions and the following disclaimer.
12bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * 2. Redistributions in binary form must reproduce the above copyright
13bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman *    notice, this list of conditions and the following disclaimer in the
14bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman *    documentation and/or other materials provided with the distribution.
15bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman *
16bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman */
27bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
28bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* OPENBSD ORIGINAL: sys/sys/poll.h */
29bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
30bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#if !defined(HAVE_POLL) && !defined(HAVE_POLL_H)
31bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#ifndef	_COMPAT_POLL_H_
32bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	_COMPAT_POLL_H_
33bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
34bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmantypedef struct pollfd {
35bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman	int 	fd;
36bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman	short	events;
37bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman	short	revents;
38bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman} pollfd_t;
39bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
40bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmantypedef unsigned int	nfds_t;
41bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
42bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLIN		0x0001
43bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLOUT		0x0004
44bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLERR		0x0008
459768ca48f57aaf035f508a473421d210b5145e99Greg Hartman#define	POLLHUP		0x0010
469768ca48f57aaf035f508a473421d210b5145e99Greg Hartman#define	POLLNVAL	0x0020
47bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#if 0
48bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman/* the following are currently not implemented */
49bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLPRI		0x0002
50bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLRDNORM	0x0040
51bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define POLLNORM	POLLRDNORM
52bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define POLLWRNORM      POLLOUT
53bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLRDBAND	0x0080
54bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define	POLLWRBAND	0x0100
55bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#endif
56bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
57bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#define INFTIM		(-1)	/* not standard */
58bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman
59bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartmanint   poll(struct pollfd *, nfds_t, int);
60bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#endif /* !_COMPAT_POLL_H_ */
61bd77cf78387b72b7b3ea870459077672bf75c3b5Greg Hartman#endif /* !HAVE_POLL_H */
62