$OpenBSD: patch-jdk_src_solaris_native_sun_nio_ch_Sctp_h,v 1.2 2009/10/07 01:53:54 kurt Exp $
--- jdk/src/solaris/native/sun/nio/ch/Sctp.h.orig	Thu Sep 17 03:52:33 2009
+++ jdk/src/solaris/native/sun/nio/ch/Sctp.h	Sun Sep 27 10:26:36 2009
@@ -67,7 +67,7 @@ typedef int sctp_peeloff_func(int sock, sctp_assoc_t i
 
 
 
-#else /* __linux__ */
+#elif __linux__
 #include <stdint.h>
 #include <linux/types.h>
 #include <sys/socket.h>
@@ -320,14 +320,37 @@ typedef int sctp_bindx_func(int sd, struct sockaddr *a
 typedef int sctp_peeloff_func(int sock, sctp_assoc_t id);
 
 
+#elif defined(__FreeBSD__) && __FreeBSD__ >= 7
+
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/sctp.h>
+#include <netinet/sctp_peeloff.h>
+#include <netinet/sctp_uio.h>
+#include "jni.h"
+
 #endif /* __linux__ */
 
+#if !defined(__FreeBSD__) || __FreeBSD__ < 7
+
 sctp_getladdrs_func* nio_sctp_getladdrs;
 sctp_freeladdrs_func* nio_sctp_freeladdrs;
 sctp_getpaddrs_func* nio_sctp_getpaddrs;
 sctp_freepaddrs_func* nio_sctp_freepaddrs;
 sctp_bindx_func* nio_sctp_bindx;
 sctp_peeloff_func* nio_sctp_peeloff;
+
+#else
+
+#define nio_sctp_getladdrs	sctp_getladdrs
+#define nio_sctp_freeladdrs	sctp_freeladdrs
+#define nio_sctp_getpaddrs	sctp_getpaddrs
+#define nio_sctp_freepaddrs	sctp_freepaddrs
+#define nio_sctp_bindx		sctp_bindx
+#define nio_sctp_peeloff	sctp_peeloff
+
+#endif
 
 jboolean loadSocketExtensionFuncs(JNIEnv* env);
 
