jdk/src/share/classes/sun/nio/ch/Net.java
changeset 8788 b98f18278dc4
parent 5506 202f599c92aa
child 8817 5351579c46a9
--- 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);