$OpenBSD: patch-j2se_src_solaris_native_java_net_net_util_md_c,v 1.1 2006/04/28 20:56:15 kurt Exp $
--- j2se/src/solaris/native/java/net/net_util_md.c.orig	Fri Apr 28 10:57:07 2006
+++ j2se/src/solaris/native/java/net/net_util_md.c	Fri Apr 28 14:35:56 2006
@@ -23,6 +23,10 @@
 #include <sys/sysctl.h>
 #endif
 
+#ifdef __OpenBSD__
+#include <sys/socketvar.h>
+#endif
+
 #ifdef __solaris__
 #include <sys/sockio.h>
 #include <stropts.h>
@@ -1041,11 +1045,13 @@ NET_SetSockOpt(int fd, int level, int  o
 #define IPTOS_PREC_MASK 0xe0
 #endif
 
-#if defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(_ALLBSD_SOURCE)
+#if defined(KIPC_MAXSOCKBUF)
     int mib[3];
     size_t rlen;
-    int *bufsize;
+#endif
 
+    int *bufsize;
     static long maxsockbuf = -1;
 
     int addopt;
@@ -1135,7 +1141,7 @@ NET_SetSockOpt(int fd, int level, int  o
     }
 #endif
 
-#if defined(__FreeBSD__) || defined(__NetBSD__)
+#if defined(_ALLBSD_SOURCE)
     /*
      * SOL_SOCKET/{SO_SNDBUF,SO_RCVBUF} - On FreeBSD need to
      * ensure that value is <= kern.ipc.maxsockbuf as otherwise we get
@@ -1159,6 +1165,8 @@ NET_SetSockOpt(int fd, int level, int  o
                maxsockbuf = (maxsockbuf/5)*4;
 #endif
            }
+#elif defined(__OpenBSD__)
+	   maxsockbuf = SB_MAX;
 #else
 	   maxsockbuf = 64 * 1024;	/* XXX: NetBSD */
 #endif
