summaryrefslogtreecommitdiff
path: root/lib/poll_.h
blob: a2e235327c8a0dd6b75003601e18a25cb804eb25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* Header for poll(2) emulation
   Contributed by Paolo Bonzini.

   Copyright 2001, 2002, 2003 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, write to the Free Software Foundation,
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */

#ifndef GNULIB_POLL_H
#define GNULIB_POLL_H

/* 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