--- a/jdk/src/share/classes/sun/nio/ch/Net.java Mon Mar 14 14:49:52 2011 -0700
+++ b/jdk/src/share/classes/sun/nio/ch/Net.java Tue Mar 15 13:15:31 2011 +0000
@@ -60,6 +60,21 @@
return isIPv6Available;
}
+ /**
+ * Tells whether IPv6 sockets can join IPv4 multicast groups
+ */
+ static boolean canIPv6SocketJoinIPv4Group() {
+ return canIPv6SocketJoinIPv4Group0();
+ }
+
+ /**
+ * Tells whether {@link #join6} can be used to join an IPv4
+ * multicast group (IPv4 group as IPv4-mapped IPv6 address)
+ */
+ static boolean canJoin6WithIPv4Group() {
+ return canJoin6WithIPv4Group0();
+ }
+
static InetSocketAddress checkAddress(SocketAddress sa) {
if (sa == null)
throw new NullPointerException();
@@ -291,7 +306,11 @@
// -- Socket operations --
- static native boolean isIPv6Available0();
+ private static native boolean isIPv6Available0();
+
+ private static native boolean canIPv6SocketJoinIPv4Group0();
+
+ private static native boolean canJoin6WithIPv4Group0();
static FileDescriptor socket(boolean stream) {
return socket(UNSPEC, stream);