diff options
Diffstat (limited to 'libjava/java/net/natVMInetAddressWin32.cc')
-rw-r--r-- | libjava/java/net/natVMInetAddressWin32.cc | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/libjava/java/net/natVMInetAddressWin32.cc b/libjava/java/net/natVMInetAddressWin32.cc deleted file mode 100644 index 259480f..0000000 --- a/libjava/java/net/natVMInetAddressWin32.cc +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright (C) 2003, 2006 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include <config.h> -#include <platform.h> - -#undef STRICT - -#include <java/net/VMInetAddress.h> -#include <java/net/UnknownHostException.h> - -jstring -java::net::VMInetAddress::getLocalHostname () -{ - char buffer[400]; - if (gethostname (buffer, sizeof(buffer))) - return NULL; - // It is admittedly non-optimal to convert the hostname to Unicode - // only to convert it back in getByName, but simplicity wins. - return JvNewStringUTF (buffer); -} - -jbyteArray -java::net::VMInetAddress::lookupInaddrAny () -{ - unsigned long laddr = INADDR_ANY; - char *bytes = (char *) &laddr; - int blen = sizeof (laddr); - jbyteArray result = JvNewByteArray (blen); - memcpy (elements (result), bytes, blen); - return result; -} - -jstring -java::net::VMInetAddress::getHostByAddr (jbyteArray addr) -{ - struct hostent *hptr = NULL; - char *bytes = (char*) elements (addr); - int len = addr->length; - int type; - char *val; - if (len == 4) - { - val = bytes; - type = AF_INET; - } -#ifdef HAVE_INET6 - else if (len == 16) - { - val = (char *) &bytes; - type = AF_INET6; - } -#endif /* HAVE_INET6 */ - else - JvFail ("unrecognized size"); - - // FIXME: this is insufficient if some other piece of code calls - // this gethostbyaddr. - JvSynchronize sync (&java::net::VMInetAddress::class$); - hptr = gethostbyaddr (val, len, type); - - if (hptr == NULL) - throw new java::net::UnknownHostException (); - - return JvNewStringUTF (hptr->h_name); -} - -JArray<jbyteArray> * -java::net::VMInetAddress::getHostByName (jstring host) -{ - struct hostent *hptr = NULL; - JV_TEMP_UTF_STRING (hostname, host); - - // FIXME: this is insufficient if some other piece of code calls - // this gethostbyname. - JvSynchronize sync (&java::net::VMInetAddress::class$); - hptr = gethostbyname (hostname); - - if (hptr == NULL) - throw new java::net::UnknownHostException (host); - - int count = 0; - char ** ptr = hptr->h_addr_list; - while (*ptr++) count++; - - JArray<jbyteArray> *result = - (JArray<jbyteArray> *) _Jv_NewObjectArray ( - count, _Jv_GetArrayClass(JvPrimClass(byte), NULL), NULL); - jbyteArray* addrs = elements (result); - - for (int i = 0; i < count; i++) - { - addrs[i] = JvNewByteArray (hptr->h_length); - memcpy (elements (addrs[i]), hptr->h_addr_list[i], hptr->h_length); - } - return result; -} - -jbyteArray -java::net::VMInetAddress::aton (jstring host) -{ - JV_TEMP_UTF_STRING (hostname, host); - char* bytes = NULL; - int blen = 0; - unsigned long laddr = inet_addr (hostname); - if (laddr != INADDR_NONE) - { - bytes = (char *) &laddr; - blen = 4; - } - if (blen == 0) - return NULL; - jbyteArray result = JvNewByteArray (blen); - memcpy (elements (result), bytes, blen); - return result; -} |