private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }
private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // BugVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv6Addresses(String interfaceName, int interfaceIndex, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // BugVM note: This method used to read from /proc/net/if_inet6 which isn't available on // Darwin. byte[] bytes = getIpv6Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 32) { byte[] addressBytes = new byte[16]; byte[] netmaskBytes = new byte[16]; System.arraycopy(bytes, i, addressBytes, 0, 16); System.arraycopy(bytes, i + 16, netmaskBytes, 0, 16); Inet6Address inet6Address = new Inet6Address(addressBytes, null, interfaceIndex); addresses.add(inet6Address); interfaceAddresses.add(new InterfaceAddress(inet6Address, (short) ipv6NetmaskToPrefixLength(netmaskBytes))); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }
private static void collectIpv4Address(String interfaceName, List<InetAddress> addresses, List<InterfaceAddress> interfaceAddresses) throws SocketException { // RoboVM note: This method used to use ioctl to probe a socket, this failed in various // ways on Darwin. byte[] bytes = getIpv4Addresses(interfaceName); if (bytes != null) { for (int i = 0; i < bytes.length; i += 12) { Inet4Address address = new Inet4Address( new byte[] { bytes[i + 0], bytes[i + 1], bytes[i + 2], bytes[i + 3] }, null); Inet4Address netmask = new Inet4Address( new byte[] { bytes[i + 4], bytes[i + 5], bytes[i + 6], bytes[i + 7] }, null); Inet4Address broadcast = new Inet4Address( new byte[] { bytes[i + 8], bytes[i + 9], bytes[i + 10], bytes[i + 11] }, null); addresses.add(address); interfaceAddresses.add(new InterfaceAddress(address, broadcast, netmask)); } } }