// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_net_InetAddress__
#define __java_net_InetAddress__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace java
  {
    namespace net
    {
      class InetAddress;
    }
  }
}

class java::net::InetAddress : public ::java::lang::Object
{
public: // actually package-private
  InetAddress (jbyteArray);
  InetAddress (jbyteArray, ::java::lang::String *);
public:
  virtual jboolean isMulticastAddress ();
  virtual jboolean isAnyLocalAddress ();
  virtual jboolean isLoopbackAddress ();
  virtual jboolean isLinkLocalAddress ();
  virtual jboolean isSiteLocalAddress ();
  virtual jboolean isMCGlobal ();
  virtual jboolean isMCNodeLocal ();
  virtual jboolean isMCLinkLocal ();
  virtual jboolean isMCSiteLocal ();
  virtual jboolean isMCOrgLocal ();
  virtual ::java::lang::String *getHostName ();
  virtual ::java::lang::String *getCanonicalHostName ();
  virtual jbyteArray getAddress ();
private:
  static JArray< ::java::net::InetAddress *> *allocArray (jint);
  static ::java::lang::SecurityException *checkConnect (::java::lang::String *);
public:
  virtual ::java::lang::String *getHostAddress ();
  virtual jint hashCode ();
  virtual jboolean equals (::java::lang::Object *);
  virtual ::java::lang::String *toString ();
  static ::java::net::InetAddress *getByAddress (jbyteArray);
  static ::java::net::InetAddress *getByAddress (::java::lang::String *, jbyteArray);
private:
  static jbyteArray aton (::java::lang::String *);
  static JArray< ::java::net::InetAddress *> *lookup (::java::lang::String *, ::java::net::InetAddress *, jboolean);
  static jint getFamily (jbyteArray);
public:
  static ::java::net::InetAddress *getByName (::java::lang::String *);
  static JArray< ::java::net::InetAddress *> *getAllByName (::java::lang::String *);
private:
  static ::java::lang::String *getLocalHostname ();
public:
  static ::java::net::InetAddress *getLocalHost ();
private:
  static void getLocalHost (::java::lang::SecurityManager *);
  void readResolve () { }
  void readObject (::java::io::ObjectInputStream *);
  void writeObject (::java::io::ObjectOutputStream *);
  static const jlong serialVersionUID = 3286316764910316507LL;
public: // actually package-private
  static ::java::net::InetAddress *ANY_IF;
private:
  static jbyteArray localhostAddress;
  static ::java::net::InetAddress *localhost;
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  address;
public: // actually package-private
  jbyteArray addr;
  ::java::lang::String *hostName;
  jint family;
public:

  static ::java::lang::Class class$;
};

#endif /* __java_net_InetAddress__ */
