$OpenBSD$

Index: runtime/druntime/src/core/sys/posix/poll.d
--- runtime/druntime/src/core/sys/posix/poll.d.orig
+++ runtime/druntime/src/core/sys/posix/poll.d
@@ -143,6 +143,37 @@ else version( FreeBSD )
 
     int poll(pollfd*, nfds_t, int);
 }
+else version (OpenBSD)
+{
+    alias uint nfds_t;
+
+    struct pollfd
+    {
+        int     fd;
+        short   events;
+        short   revents;
+    };
+
+    enum
+    {
+        POLLIN      = 0x0001,
+        POLLPRI     = 0x0002,
+        POLLOUT     = 0x0004,
+        POLLRDNORM  = 0x0040,
+        POLLNORM    = POLLRDNORM,
+        POLLWRNORM  = POLLOUT,
+        POLLRDBAND  = 0x0080,
+        POLLWRBAND  = 0x0100,
+        POLLERR     = 0x0008,
+        POLLHUP     = 0x0010,
+        POLLNVAL    = 0x0020,
+
+        POLLSTANDARD = (POLLIN|POLLPRI|POLLOUT|POLLRDNORM|POLLRDBAND|
+        POLLWRBAND|POLLERR|POLLHUP|POLLNVAL)
+    }
+
+    int poll(pollfd*, nfds_t, int);
+}
 else version( DragonFlyBSD )
 {
     alias uint nfds_t;
