diff options
author | Roland McGrath <roland@gnu.org> | 1994-05-12 03:45:45 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1994-05-12 03:45:45 +0000 |
commit | 81d3ff08f87c0a33fb7c26247ba343e47085c0a8 (patch) | |
tree | 78695a8992a9041e8818c5f6063fdf20d9b14c15 /io | |
parent | 60d710547893d317dcf5deabc52c0658d8335cec (diff) |
entered into RCS
Diffstat (limited to 'io')
-rw-r--r-- | io/Makefile | 7 | ||||
-rw-r--r-- | io/sys/poll.h | 65 |
2 files changed, 70 insertions, 2 deletions
diff --git a/io/Makefile b/io/Makefile index 44953da8f2..8797563bcc 100644 --- a/io/Makefile +++ b/io/Makefile @@ -21,7 +21,10 @@ # subdir := io -headers := statbuf.h sys/stat.h fcntlbits.h fcntl.h utime.h ftw.h sys/fcntl.h +headers := sys/stat.h statbuf.h \ + fcntl.h sys/fcntl.h fcntlbits.h \ + poll.h sys/poll.h \ + utime.h ftw.h routines := \ utime \ @@ -38,7 +41,7 @@ routines := \ ttyname __isatty \ __link __symlink __readlink \ __unlink __rmdir \ - ftw + ftw poll routines := $(sort $(foreach f,$(routines),$f $(f:__%=%))) others := pwd diff --git a/io/sys/poll.h b/io/sys/poll.h new file mode 100644 index 0000000000..48b9afac9e --- /dev/null +++ b/io/sys/poll.h @@ -0,0 +1,65 @@ +/* Compatibility definitions for System V `poll' interface. +Copyright (C) 1994 Free Software Foundation, Inc. +This file is part of the GNU C Library. + +The GNU C Library is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public License as +published by the Free Software Foundation; either version 2 of the +License, or (at your option) any later version. + +The GNU C Library 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with the GNU C Library; see the file COPYING.LIB. If +not, write to the Free Software Foundation, Inc., 675 Mass Ave, +Cambridge, MA 02139, USA. */ + +#ifndef _SYS_POLL_H +#define _SYS_POLL_H + +#include <sys/cdefs.h> + +/* Data structure describing a polling request. */ +struct pollfd + { + int fd; /* File descriptor to poll. */ + short int events; /* Types of events poller cares about. */ + short int revents; /* Types of events that actually occurred. */ + }; + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 01 /* There is data to read. */ +#define POLLPRI 02 /* There is urgent data to read. */ +#define POLLOUT 04 /* Writing now will not block. */ + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 010 /* Error condition. */ +#define POLLHUP 020 /* Hung up. */ +#define POLLNVAL 040 /* Invalid polling request. */ + +/* Canonical number of polling requests to read in at a time in poll. */ +#define NPOLLFILE 30 + + +__BEGIN_DECLS + +/* Poll the file descriptors described by the NFDS structures starting at + FDS. If TIMEOUT is nonzero and not -1, allow TIMEOUT milliseconds for + an event to occur; if TIMEOUT is -1, block until an event occurs. + Returns the number of file descriptors with events, zero if timed out, + or -1 for errors. */ + +extern int poll __P ((struct pollfd *__fds, unsigned long int __nfds, + int __timeout)); + +__END_DECLS + +#endif /* sys/poll.h */ + |