Mercurial > libavformat.hg
diff os_support.h @ 1797:20c8dfd3ee84 libavformat
poll() emulation for BeOS, and maybe MinGW.
author | mmu_man |
---|---|
date | Thu, 15 Feb 2007 07:44:10 +0000 |
parents | 92afee454599 |
children | d1e61f4d02cd |
line wrap: on
line diff
--- a/os_support.h Wed Feb 14 22:12:49 2007 +0000 +++ b/os_support.h Thu Feb 15 07:44:10 2007 +0000 @@ -32,6 +32,7 @@ * - floatf() (OS/2) * - strcasecmp() (OS/2) * - closesocket() + * - poll() (BeOS) */ #if defined(__BEOS__) || defined(__INNOTEK_LIBC__) @@ -78,4 +79,31 @@ #define closesocket close #endif +#ifndef HAVE_SYS_POLL_H +typedef unsigned long nfds_t; + +struct pollfd { + int fd; + short events; /* events to look for */ + short revents; /* events that occured */ +}; + +/* events & revents */ +#define POLLIN 0x0001 /* any readable data available */ +#define POLLOUT 0x0002 /* file descriptor is writeable */ +#define POLLRDNORM POLLIN +#define POLLWRNORM POLLOUT +#define POLLRDBAND 0x0008 /* priority readable data */ +#define POLLWRBAND 0x0010 /* priority data can be written */ +#define POLLPRI 0x0020 /* high priority readable data */ + +/* revents only */ +#define POLLERR 0x0004 /* errors pending */ +#define POLLHUP 0x0080 /* disconnected */ +#define POLLNVAL 0x1000 /* invalid file descriptor */ + + +extern int poll(struct pollfd *fds, nfds_t numfds, int timeout); +#endif /* HAVE_SYS_POLL_H */ + #endif /* _OS_SUPPORT_H */