• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-linux/sysroot/usr/include/sys/
1/* Compatibility definitions for System V `poll' interface.
2   Copyright (C) 1994,1996-2001,2004,2005,2006 Free Software Foundation, Inc.
3   This file is part of the GNU C Library.
4
5   The GNU C Library is free software; you can redistribute it and/or
6   modify it under the terms of the GNU Lesser General Public
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9
10   The GNU C Library is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13   Lesser General Public License for more details.
14
15   You should have received a copy of the GNU Lesser General Public
16   License along with the GNU C Library; if not, write to the Free
17   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18   02111-1307 USA.  */
19
20#ifndef	_SYS_POLL_H
21#define	_SYS_POLL_H	1
22
23#include <features.h>
24
25/* Get the platform dependent bits of `poll'.  */
26#include <bits/poll.h>
27#ifdef __USE_GNU
28/* Get the __sigset_t definition.  */
29# include <bits/sigset.h>
30/* Get the timespec definition.  */
31# define __need_timespec
32# include <time.h>
33#endif
34
35
36/* Type used for the number of file descriptors.  */
37typedef unsigned long int nfds_t;
38
39/* Data structure describing a polling request.  */
40struct pollfd
41  {
42    int fd;			/* File descriptor to poll.  */
43    short int events;		/* Types of events poller cares about.  */
44    short int revents;		/* Types of events that actually occurred.  */
45  };
46
47
48__BEGIN_DECLS
49
50/* Poll the file descriptors described by the NFDS structures starting at
51   FDS.  If TIMEOUT is nonzero and not -1, allow TIMEOUT milliseconds for
52   an event to occur; if TIMEOUT is -1, block until an event occurs.
53   Returns the number of file descriptors with events, zero if timed out,
54   or -1 for errors.
55
56   This function is a cancellation point and therefore not marked with
57   __THROW.  */
58extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout);
59
60#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
61/* Like poll, but before waiting the threads signal mask is replaced
62   with that specified in the fourth parameter.  For better usability,
63   the timeout value is specified using a TIMESPEC object.
64
65   This function is a cancellation point and therefore not marked with
66   __THROW.  */
67extern int ppoll (struct pollfd *__fds, nfds_t __nfds,
68		  __const struct timespec *__timeout,
69		  __const __sigset_t *__ss);
70#endif
71
72__END_DECLS
73
74#endif	/* sys/poll.h */
75