ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/ext/IO/poll.h
Revision: 1.1
Committed: Thu Jun 30 14:27:02 2005 UTC (21 years, 3 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 /*
2     * poll.h
3     *
4     * Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
5     * This program is free software; you can redistribute it and/or
6     * modify it under the same terms as Perl itself.
7     *
8     */
9    
10     #ifndef POLL_H
11     # define POLL_H
12    
13     #if (defined(HAS_POLL) && defined(I_POLL)) || defined(POLLWRBAND)
14     # include <poll.h>
15     #else
16     #ifdef HAS_SELECT
17    
18    
19     /* We shall emulate poll using select */
20    
21     #define EMULATE_POLL_WITH_SELECT
22    
23     #ifdef poll
24     # undef poll
25     #endif
26     #define poll Perl_my_poll
27    
28     typedef struct pollfd {
29     int fd;
30     short events;
31     short revents;
32     } pollfd_t;
33    
34     #define POLLIN 0x0001
35     #define POLLPRI 0x0002
36     #define POLLOUT 0x0004
37     #define POLLRDNORM 0x0040
38     #define POLLWRNORM POLLOUT
39     #define POLLRDBAND 0x0080
40     #define POLLWRBAND 0x0100
41     #define POLLNORM POLLRDNORM
42    
43     /* Return ONLY events (NON testable) */
44    
45     #define POLLERR 0x0008
46     #define POLLHUP 0x0010
47     #define POLLNVAL 0x0020
48    
49     int poll (struct pollfd *, unsigned long, int);
50    
51     #ifndef HAS_POLL
52     # define HAS_POLL
53     #endif
54    
55     #endif /* HAS_SELECT */
56    
57     #endif /* I_POLL */
58    
59     #endif /* POLL_H */
60