1. /*
  2. * @(#)Inet4AddressImpl.java 1.2 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package java.net;
  8. /*
  9. * Package private implementation of InetAddressImpl for IPv4.
  10. *
  11. * @since 1.4
  12. */
  13. class Inet4AddressImpl implements InetAddressImpl {
  14. public native String getLocalHostName() throws UnknownHostException;
  15. public native byte[][]
  16. lookupAllHostAddr(String hostname) throws UnknownHostException;
  17. public native String getHostByAddr(byte[] addr) throws UnknownHostException;
  18. public synchronized InetAddress anyLocalAddress() {
  19. if (anyLocalAddress == null) {
  20. anyLocalAddress = new Inet4Address(); // {0x00,0x00,0x00,0x00}
  21. anyLocalAddress.hostName = "0.0.0.0";
  22. }
  23. return anyLocalAddress;
  24. }
  25. public synchronized InetAddress loopbackAddress() {
  26. if (loopbackAddress == null) {
  27. byte[] loopback = {0x7f,0x00,0x00,0x01};
  28. loopbackAddress = new Inet4Address("localhost", loopback);
  29. }
  30. return loopbackAddress;
  31. }
  32. private InetAddress anyLocalAddress;
  33. private InetAddress loopbackAddress;
  34. }