$OpenBSD$

Index: runtime/druntime/src/core/sys/posix/sys/resource.d
--- runtime/druntime/src/core/sys/posix/sys/resource.d.orig
+++ runtime/druntime/src/core/sys/posix/sys/resource.d
@@ -234,6 +234,66 @@ else version (FreeBSD)
         RLIMIT_AS     = 10,
     }
 }
+else version (OpenBSD)
+{
+    enum
+    {
+        PRIO_MIN     = -20,
+        PRIO_MAX     = 20,
+        PRIO_PROCESS = 0,
+        PRIO_PGRP    = 1,
+        PRIO_USER    = 2,
+    }
+
+    alias ulong rlim_t;
+
+    enum RLIM_INFINITY   = (cast(rlim_t)((cast(ulong) 1 << 63) - 1));
+    alias RLIM_SAVED_MAX = RLIM_INFINITY;
+    alias RLIM_SAVED_CUR = RLIM_INFINITY;
+
+    enum
+    {
+        RUSAGE_SELF     =  0,
+        RUSAGE_CHILDREN = -1,
+        RUSAGE_THREAD   =  1,
+    }
+
+    struct rusage
+    {
+        timeval ru_utime;
+        timeval ru_stime;
+        c_long ru_maxrss;
+        alias ru_ixrss ru_first;
+        c_long ru_ixrss;
+        c_long ru_idrss;
+        c_long ru_isrss;
+        c_long ru_minflt;
+        c_long ru_majflt;
+        c_long ru_nswap;
+        c_long ru_inblock;
+        c_long ru_oublock;
+        c_long ru_msgsnd;
+        c_long ru_msgrcv;
+        c_long ru_nsignals;
+        c_long ru_nvcsw;
+        c_long ru_nivcsw;
+        alias ru_nivcsw ru_last;
+    }
+
+    enum
+    {
+        RLIMIT_CPU      =  0,
+        RLIMIT_FSIZE    =  1,
+        RLIMIT_DATA     =  2,
+        RLIMIT_STACK    =  3,
+        RLIMIT_CORE     =  4,
+        RLIMIT_RSS      =  5,
+        RLIMIT_MEMLOCK  =  6,
+        RLIMIT_NPROC    =  7,
+        RLIMIT_NOFILE   =  8,
+        RLIMIT_NLIMITS  =  9,
+    }
+}
 else version (DragonFlyBSD)
 {
     enum
@@ -414,6 +474,11 @@ else version (FreeBSD)
     int getpriority(int, int);
     int setpriority(int, int, int);
 }
+else version (OpenBSD)
+{
+    int getpriority(int, id_t);
+    int setpriority(int, id_t, int);
+}
 else version (DragonFlyBSD)
 {
     int getpriority(int, int);
@@ -464,6 +529,12 @@ else version (OSX)
     int setrlimit(int, in rlimit*);
 }
 else version (FreeBSD)
+{
+    int getrlimit(int, rlimit*);
+    int getrusage(int, rusage*);
+    int setrlimit(int, in rlimit*);
+}
+else version (OpenBSD)
 {
     int getrlimit(int, rlimit*);
     int getrusage(int, rusage*);
