$OpenBSD$

Index: runtime/druntime/src/core/sys/posix/pwd.d
--- runtime/druntime/src/core/sys/posix/pwd.d.orig
+++ runtime/druntime/src/core/sys/posix/pwd.d
@@ -85,6 +85,22 @@ else version( FreeBSD )
         int pw_fields;      /* internal: fields filled in */
     }
 }
+else version (OpenBSD)
+{
+    struct passwd
+    {
+        char*   pw_name;        /* user name */
+        char*   pw_passwd;      /* encrypted password */
+        uid_t   pw_uid;         /* user uid */
+        gid_t   pw_gid;         /* user gid */
+        time_t  pw_change;      /* password change time */
+        char*   pw_class;       /* user access class */
+        char*   pw_gecos;       /* Honeywell login info */
+        char*   pw_dir;     /* home directory */
+        char*   pw_shell;       /* default shell */
+        time_t  pw_expire;      /* account expiration */
+    }
+}
 else version( DragonFlyBSD )
 {
     struct passwd
@@ -160,6 +176,11 @@ else version( FreeBSD )
     int getpwnam_r(in char*, passwd*, char*, size_t, passwd**);
     int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**);
 }
+else version (OpenBSD)
+{
+    int getpwnam_r(in char*, passwd*, char*, size_t, passwd**);
+    int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**);
+}
 else version( DragonFlyBSD )
 {
     int getpwnam_r(in char*, passwd*, char*, size_t, passwd**);
@@ -200,6 +221,12 @@ else version ( OSX )
     void    setpwent();
 }
 else version ( FreeBSD )
+{
+    void    endpwent();
+    passwd* getpwent();
+    void    setpwent();
+}
+else version (OpenBSD)
 {
     void    endpwent();
     passwd* getpwent();
