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