Commit 7c54b003 by Michael Koch Committed by Michael Koch

PlainDatagramSocketImpl.java, [...]: Renamed fnum to native_fd to match classpath more.

2003-10-21  Michael Koch  <konqueror@gmx.de>

	* gnu/java/net/PlainDatagramSocketImpl.java,
	gnu/java/net/PlainSocketImpl.java,
	gnu/java/net/natPlainDatagramSocketImplPosix.cc,
	gnu/java/net/natPlainDatagramSocketImplWin32.cc,
	gnu/java/net/natPlainSocketImplPosix.cc,
	gnu/java/net/natPlainSocketImplWin32.cc:
	Renamed fnum to native_fd to match classpath more.

From-SVN: r72746
parent d23ad8c8
2003-10-21 Michael Koch <konqueror@gmx.de>
* gnu/java/net/PlainDatagramSocketImpl.java,
gnu/java/net/PlainSocketImpl.java,
gnu/java/net/natPlainDatagramSocketImplPosix.cc,
gnu/java/net/natPlainDatagramSocketImplWin32.cc,
gnu/java/net/natPlainSocketImplPosix.cc,
gnu/java/net/natPlainSocketImplWin32.cc:
Renamed fnum to native_fd to match classpath more.
2003-10-21 Jerry Quinn <jlquinn@optonline.net> 2003-10-21 Jerry Quinn <jlquinn@optonline.net>
* posix-threads.cc (_Jv_CondNotify,_Jv_CondNotifyAll): Rename * posix-threads.cc (_Jv_CondNotify,_Jv_CondNotifyAll): Rename
......
...@@ -45,8 +45,8 @@ import java.net.InetAddress; ...@@ -45,8 +45,8 @@ import java.net.InetAddress;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.NetworkInterface; import java.net.NetworkInterface;
import java.net.SocketAddress; import java.net.SocketAddress;
import java.net.SocketOptions;
import java.net.SocketException; import java.net.SocketException;
import java.net.SocketOptions;
import gnu.classpath.Configuration; import gnu.classpath.Configuration;
/** /**
...@@ -94,7 +94,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl ...@@ -94,7 +94,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl
/** /**
* This is the actual underlying file descriptor * This is the actual underlying file descriptor
*/ */
int fnum = -1; int native_fd = -1;
// FIXME: Is this necessary? Could it help w/ DatagramSocket.getLocalAddress? // FIXME: Is this necessary? Could it help w/ DatagramSocket.getLocalAddress?
// InetAddress address; // InetAddress address;
...@@ -116,7 +116,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl ...@@ -116,7 +116,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl
{ {
synchronized (this) synchronized (this)
{ {
if (fnum != -1) if (native_fd != -1)
close(); close();
} }
super.finalize(); super.finalize();
...@@ -124,7 +124,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl ...@@ -124,7 +124,7 @@ public final class PlainDatagramSocketImpl extends DatagramSocketImpl
public int getNativeFD() public int getNativeFD()
{ {
return fnum; return native_fd;
} }
/** /**
......
/* PlainSocketImpl.java -- Default socket implementation /* PlainSocketImpl.java -- Default socket implementation
Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -100,7 +101,7 @@ public final class PlainSocketImpl extends SocketImpl ...@@ -100,7 +101,7 @@ public final class PlainSocketImpl extends SocketImpl
* *
* When the socket is closed this is reset to -1. * When the socket is closed this is reset to -1.
*/ */
int fnum = -1; int native_fd = -1;
// This value is set/read by setOption/getOption. // This value is set/read by setOption/getOption.
int timeout = 0; int timeout = 0;
...@@ -129,14 +130,13 @@ public final class PlainSocketImpl extends SocketImpl ...@@ -129,14 +130,13 @@ public final class PlainSocketImpl extends SocketImpl
{ {
synchronized (this) synchronized (this)
{ {
if (fnum != -1) if (native_fd != -1)
try try
{ {
close(); close();
} }
catch (IOException ex) catch (IOException ex)
{ {
// ignore
} }
} }
super.finalize(); super.finalize();
...@@ -144,7 +144,7 @@ public final class PlainSocketImpl extends SocketImpl ...@@ -144,7 +144,7 @@ public final class PlainSocketImpl extends SocketImpl
public int getNativeFD() public int getNativeFD()
{ {
return fnum; return native_fd;
} }
/** /**
......
...@@ -81,9 +81,9 @@ gnu::java::net::PlainDatagramSocketImpl::create () ...@@ -81,9 +81,9 @@ gnu::java::net::PlainDatagramSocketImpl::create ()
_Jv_platform_close_on_exec (sock); _Jv_platform_close_on_exec (sock);
// We use fnum in place of fd here. From leaving fd null we avoid // We use native_fd in place of fd here. From leaving fd null we avoid
// the double close problem in FileDescriptor.finalize. // the double close problem in FileDescriptor.finalize.
fnum = sock; native_fd = sock;
} }
void void
...@@ -121,20 +121,20 @@ gnu::java::net::PlainDatagramSocketImpl::bind (jint lport, ...@@ -121,20 +121,20 @@ gnu::java::net::PlainDatagramSocketImpl::bind (jint lport,
else else
throw new ::java::net::SocketException (JvNewStringUTF ("invalid length")); throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (_Jv_bind (fnum, ptr, len) == 0) if (_Jv_bind (native_fd, ptr, len) == 0)
{ {
socklen_t addrlen = sizeof(u); socklen_t addrlen = sizeof(u);
if (lport != 0) if (lport != 0)
localPort = lport; localPort = lport;
else if (::getsockname (fnum, (sockaddr*) &u, &addrlen) == 0) else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
localPort = ntohs (u.address.sin_port); localPort = ntohs (u.address.sin_port);
else else
goto error; goto error;
/* Allow broadcast by default. */ /* Allow broadcast by default. */
int broadcast = 1; int broadcast = 1;
if (::setsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast, if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast,
sizeof (broadcast)) != 0) sizeof (broadcast)) != 0)
goto error; goto error;
...@@ -167,7 +167,7 @@ gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i) ...@@ -167,7 +167,7 @@ gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i)
union SockAddr u; union SockAddr u;
socklen_t addrlen = sizeof(u); socklen_t addrlen = sizeof(u);
ssize_t retlen = ssize_t retlen =
::recvfrom (fnum, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u, ::recvfrom (native_fd, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u,
&addrlen); &addrlen);
if (retlen < 0) if (retlen < 0)
goto error; goto error;
...@@ -212,23 +212,23 @@ gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket * ...@@ -212,23 +212,23 @@ gnu::java::net::PlainDatagramSocketImpl::peekData (::java::net::DatagramPacket *
ssize_t retlen = 0; ssize_t retlen = 0;
// Do timeouts via select since SO_RCVTIMEO is not always available. // Do timeouts via select since SO_RCVTIMEO is not always available.
if (timeout > 0 && fnum >= 0 && fnum < FD_SETSIZE) if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
{ {
fd_set rset; fd_set rset;
struct timeval tv; struct timeval tv;
FD_ZERO(&rset); FD_ZERO(&rset);
FD_SET(fnum, &rset); FD_SET(native_fd, &rset);
tv.tv_sec = timeout / 1000; tv.tv_sec = timeout / 1000;
tv.tv_usec = (timeout % 1000) * 1000; tv.tv_usec = (timeout % 1000) * 1000;
int retval; int retval;
if ((retval = _Jv_select (fnum + 1, &rset, NULL, NULL, &tv)) < 0) if ((retval = _Jv_select (native_fd + 1, &rset, NULL, NULL, &tv)) < 0)
goto error; goto error;
else if (retval == 0) else if (retval == 0)
throw new ::java::io::InterruptedIOException (); throw new ::java::io::InterruptedIOException ();
} }
retlen = retlen =
::recvfrom (fnum, (char *) dbytes, p->getLength(), MSG_PEEK, (sockaddr*) &u, ::recvfrom (native_fd, (char *) dbytes, p->getLength(), MSG_PEEK, (sockaddr*) &u,
&addrlen); &addrlen);
if (retlen < 0) if (retlen < 0)
goto error; goto error;
...@@ -275,8 +275,8 @@ gnu::java::net::PlainDatagramSocketImpl::close () ...@@ -275,8 +275,8 @@ gnu::java::net::PlainDatagramSocketImpl::close ()
// The method isn't declared to throw anything, so we disregard // The method isn't declared to throw anything, so we disregard
// the return value. // the return value.
_Jv_close (fnum); _Jv_close (native_fd);
fnum = -1; native_fd = -1;
timeout = 0; timeout = 0;
} }
...@@ -310,7 +310,7 @@ gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p) ...@@ -310,7 +310,7 @@ gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
else else
throw new ::java::net::SocketException (JvNewStringUTF ("invalid length")); throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0) if (::sendto (native_fd, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
return; return;
char* strerr = strerror (errno); char* strerr = strerror (errno);
...@@ -331,23 +331,23 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p ...@@ -331,23 +331,23 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p
ssize_t retlen = 0; ssize_t retlen = 0;
// Do timeouts via select since SO_RCVTIMEO is not always available. // Do timeouts via select since SO_RCVTIMEO is not always available.
if (timeout > 0 && fnum >= 0 && fnum < FD_SETSIZE) if (timeout > 0 && native_fd >= 0 && native_fd < FD_SETSIZE)
{ {
fd_set rset; fd_set rset;
struct timeval tv; struct timeval tv;
FD_ZERO(&rset); FD_ZERO(&rset);
FD_SET(fnum, &rset); FD_SET(native_fd, &rset);
tv.tv_sec = timeout / 1000; tv.tv_sec = timeout / 1000;
tv.tv_usec = (timeout % 1000) * 1000; tv.tv_usec = (timeout % 1000) * 1000;
int retval; int retval;
if ((retval = _Jv_select (fnum + 1, &rset, NULL, NULL, &tv)) < 0) if ((retval = _Jv_select (native_fd + 1, &rset, NULL, NULL, &tv)) < 0)
goto error; goto error;
else if (retval == 0) else if (retval == 0)
throw new ::java::io::InterruptedIOException (); throw new ::java::io::InterruptedIOException ();
} }
retlen = retlen =
::recvfrom (fnum, (char *) dbytes, p->getLength(), 0, (sockaddr*) &u, ::recvfrom (native_fd, (char *) dbytes, p->getLength(), 0, (sockaddr*) &u,
&addrlen); &addrlen);
if (retlen < 0) if (retlen < 0)
goto error; goto error;
...@@ -392,7 +392,7 @@ gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl) ...@@ -392,7 +392,7 @@ gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
char val = (char) ttl; char val = (char) ttl;
socklen_t val_len = sizeof(val); socklen_t val_len = sizeof(val);
if (::setsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0) if (::setsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
return; return;
char* strerr = strerror (errno); char* strerr = strerror (errno);
...@@ -406,7 +406,7 @@ gnu::java::net::PlainDatagramSocketImpl::getTimeToLive () ...@@ -406,7 +406,7 @@ gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
char val; char val;
socklen_t val_len = sizeof(val); socklen_t val_len = sizeof(val);
if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0) if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
return ((int) val) & 0xFF; return ((int) val) & 0xFF;
char* strerr = strerror (errno); char* strerr = strerror (errno);
...@@ -466,7 +466,7 @@ gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *ine ...@@ -466,7 +466,7 @@ gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *ine
else else
throw new ::java::net::SocketException (JvNewStringUTF ("invalid length")); throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::setsockopt (fnum, level, opname, ptr, len) == 0) if (::setsockopt (native_fd, level, opname, ptr, len) == 0)
return; return;
char* strerr = strerror (errno); char* strerr = strerror (errno);
...@@ -480,7 +480,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -480,7 +480,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
int val; int val;
socklen_t val_len = sizeof (val); socklen_t val_len = sizeof (val);
if (fnum < 0) if (native_fd < 0)
throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed")); throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$)) if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
...@@ -513,7 +513,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -513,7 +513,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
return; return;
case _Jv_SO_BROADCAST_ : case _Jv_SO_BROADCAST_ :
if (::setsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &val, if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
val_len) != 0) val_len) != 0)
goto error; goto error;
break; break;
...@@ -528,7 +528,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -528,7 +528,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
#if defined(SO_SNDBUF) && defined(SO_RCVBUF) #if defined(SO_SNDBUF) && defined(SO_RCVBUF)
int opt; int opt;
optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF; optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
if (::setsockopt (fnum, SOL_SOCKET, opt, (char *) &val, val_len) != 0) if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
goto error; goto error;
#else #else
throw new ::java::lang::InternalError ( throw new ::java::lang::InternalError (
...@@ -537,7 +537,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -537,7 +537,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
return; return;
case _Jv_SO_REUSEADDR_ : case _Jv_SO_REUSEADDR_ :
#if defined(SO_REUSEADDR) #if defined(SO_REUSEADDR)
if (::setsockopt (fnum, SOL_SOCKET, SO_REUSEADDR, (char *) &val, if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
val_len) != 0) val_len) != 0)
goto error; goto error;
#else #else
...@@ -583,7 +583,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -583,7 +583,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
throw throw
new ::java::net::SocketException (JvNewStringUTF ("invalid length")); new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::setsockopt (fnum, level, opname, ptr, len) != 0) if (::setsockopt (native_fd, level, opname, ptr, len) != 0)
goto error; goto error;
return; return;
...@@ -598,7 +598,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -598,7 +598,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
break; break;
case _Jv_IP_TOS_ : case _Jv_IP_TOS_ :
if (::setsockopt (fnum, SOL_SOCKET, IP_TOS, (char *) &val, if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
val_len) != 0) val_len) != 0)
goto error; goto error;
return; return;
...@@ -639,7 +639,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -639,7 +639,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
break; break;
case _Jv_SO_BROADCAST_ : case _Jv_SO_BROADCAST_ :
if (::getsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Boolean (val != 0); return new ::java::lang::Boolean (val != 0);
...@@ -654,7 +654,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -654,7 +654,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
#if defined(SO_SNDBUF) && defined(SO_RCVBUF) #if defined(SO_SNDBUF) && defined(SO_RCVBUF)
int opt; int opt;
optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF; optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
if (::getsockopt (fnum, SOL_SOCKET, opt, (char *) &val, &val_len) != 0) if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
goto error; goto error;
else else
return new ::java::lang::Integer (val); return new ::java::lang::Integer (val);
...@@ -668,7 +668,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -668,7 +668,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
if (localAddress == NULL) if (localAddress == NULL)
{ {
jbyteArray laddr; jbyteArray laddr;
if (::getsockname (fnum, (sockaddr*) &u, &addrlen) != 0) if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
goto error; goto error;
if (u.address.sin_family == AF_INET) if (u.address.sin_family == AF_INET)
{ {
...@@ -691,7 +691,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -691,7 +691,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
break; break;
case _Jv_SO_REUSEADDR_ : case _Jv_SO_REUSEADDR_ :
#if defined(SO_REUSEADDR) #if defined(SO_REUSEADDR)
if (::getsockopt (fnum, SOL_SOCKET, SO_REUSEADDR, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Boolean (val != 0); return new ::java::lang::Boolean (val != 0);
...@@ -707,7 +707,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -707,7 +707,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
char *bytes; char *bytes;
inaddr_len = sizeof(inaddr); inaddr_len = sizeof(inaddr);
if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr, if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr,
&inaddr_len) != 0) &inaddr_len) != 0)
goto error; goto error;
...@@ -729,13 +729,13 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -729,13 +729,13 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
break; break;
case _Jv_IP_MULTICAST_LOOP_ : case _Jv_IP_MULTICAST_LOOP_ :
if (::getsockopt (fnum, SOL_SOCKET, IP_MULTICAST_LOOP, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, IP_MULTICAST_LOOP, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Boolean (val != 0); return new ::java::lang::Boolean (val != 0);
case _Jv_IP_TOS_ : case _Jv_IP_TOS_ :
if (::getsockopt (fnum, SOL_SOCKET, IP_TOS, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Integer (val); return new ::java::lang::Integer (val);
......
...@@ -71,9 +71,9 @@ gnu::java::net::PlainDatagramSocketImpl::create () ...@@ -71,9 +71,9 @@ gnu::java::net::PlainDatagramSocketImpl::create ()
_Jv_platform_close_on_exec (sock); _Jv_platform_close_on_exec (sock);
// We use fnum in place of fd here. From leaving fd null we avoid // We use native_fd in place of fd here. From leaving fd null we avoid
// the double close problem in FileDescriptor.finalize. // the double close problem in FileDescriptor.finalize.
fnum = (int) sock; native_fd = (int) sock;
} }
void void
...@@ -111,20 +111,20 @@ gnu::java::net::PlainDatagramSocketImpl::bind (jint lport, ...@@ -111,20 +111,20 @@ gnu::java::net::PlainDatagramSocketImpl::bind (jint lport,
else else
throw new ::java::net::SocketException (JvNewStringUTF ("invalid length")); throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::bind (fnum, ptr, len) == 0) if (::bind (native_fd, ptr, len) == 0)
{ {
socklen_t addrlen = sizeof(u); socklen_t addrlen = sizeof(u);
if (lport != 0) if (lport != 0)
localPort = lport; localPort = lport;
else if (::getsockname (fnum, (sockaddr*) &u, &addrlen) == 0) else if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) == 0)
localPort = ntohs (u.address.sin_port); localPort = ntohs (u.address.sin_port);
else else
goto error; goto error;
/* Allow broadcast by default. */ /* Allow broadcast by default. */
int broadcast = 1; int broadcast = 1;
if (::setsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast, if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast,
sizeof (broadcast)) != 0) sizeof (broadcast)) != 0)
goto error; goto error;
...@@ -157,7 +157,7 @@ gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i) ...@@ -157,7 +157,7 @@ gnu::java::net::PlainDatagramSocketImpl::peek (::java::net::InetAddress *i)
union SockAddr u; union SockAddr u;
socklen_t addrlen = sizeof(u); socklen_t addrlen = sizeof(u);
ssize_t retlen = ssize_t retlen =
::recvfrom (fnum, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u, ::recvfrom (native_fd, (char *) NULL, 0, MSG_PEEK, (sockaddr*) &u,
&addrlen); &addrlen);
if (retlen < 0) if (retlen < 0)
goto error; goto error;
...@@ -204,14 +204,14 @@ gnu::java::net::PlainDatagramSocketImpl::peekData(::java::net::DatagramPacket *p ...@@ -204,14 +204,14 @@ gnu::java::net::PlainDatagramSocketImpl::peekData(::java::net::DatagramPacket *p
if (timeout > 0) if (timeout > 0)
{ {
int nRet= ::setsockopt(fnum, SOL_SOCKET, SO_RCVTIMEO, int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
(char*)&timeout, sizeof(timeout)); (char*)&timeout, sizeof(timeout));
if (nRet != NO_ERROR) if (nRet != NO_ERROR)
goto error; goto error;
} }
retlen = retlen =
::recvfrom (fnum, (char *) dbytes, p->getLength(), MSG_PEEK, (sockaddr*) &u, ::recvfrom (native_fd, (char *) dbytes, p->getLength(), MSG_PEEK, (sockaddr*) &u,
&addrlen); &addrlen);
if (retlen == SOCKET_ERROR) if (retlen == SOCKET_ERROR)
goto error; goto error;
...@@ -262,8 +262,8 @@ gnu::java::net::PlainDatagramSocketImpl::close () ...@@ -262,8 +262,8 @@ gnu::java::net::PlainDatagramSocketImpl::close ()
// The method isn't declared to throw anything, so we disregard // The method isn't declared to throw anything, so we disregard
// the return value. // the return value.
::closesocket (fnum); ::closesocket (native_fd);
fnum = -1; native_fd = -1;
timeout = 0; timeout = 0;
} }
...@@ -297,7 +297,7 @@ gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p) ...@@ -297,7 +297,7 @@ gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
else else
throw new ::java::net::SocketException (JvNewStringUTF ("invalid length")); throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0) if (::sendto (native_fd, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0)
return; return;
DWORD dwErrorCode = WSAGetLastError (); DWORD dwErrorCode = WSAGetLastError ();
...@@ -321,14 +321,14 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p ...@@ -321,14 +321,14 @@ gnu::java::net::PlainDatagramSocketImpl::receive (::java::net::DatagramPacket *p
// This implementation doesn't allow specifying an infinite // This implementation doesn't allow specifying an infinite
// timeout after specifying a finite one, but Sun's JDK 1.4.1 // timeout after specifying a finite one, but Sun's JDK 1.4.1
// didn't seem to allow this either.... // didn't seem to allow this either....
int nRet= ::setsockopt(fnum, SOL_SOCKET, SO_RCVTIMEO, int nRet= ::setsockopt(native_fd, SOL_SOCKET, SO_RCVTIMEO,
(char*)&timeout, sizeof(timeout)); (char*)&timeout, sizeof(timeout));
if (nRet != NO_ERROR) if (nRet != NO_ERROR)
goto error; goto error;
} }
retlen = retlen =
::recvfrom (fnum, (char *) dbytes, p->getLength(), 0, (sockaddr*) &u, ::recvfrom (native_fd, (char *) dbytes, p->getLength(), 0, (sockaddr*) &u,
&addrlen); &addrlen);
if (retlen < 0) if (retlen < 0)
goto error; goto error;
...@@ -374,7 +374,7 @@ gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl) ...@@ -374,7 +374,7 @@ gnu::java::net::PlainDatagramSocketImpl::setTimeToLive (jint ttl)
char val = (char) ttl; char val = (char) ttl;
socklen_t val_len = sizeof(val); socklen_t val_len = sizeof(val);
if (::setsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0) if (::setsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, val_len) == 0)
return; return;
_Jv_ThrowIOException (); _Jv_ThrowIOException ();
...@@ -387,7 +387,7 @@ gnu::java::net::PlainDatagramSocketImpl::getTimeToLive () ...@@ -387,7 +387,7 @@ gnu::java::net::PlainDatagramSocketImpl::getTimeToLive ()
char val; char val;
socklen_t val_len = sizeof(val); socklen_t val_len = sizeof(val);
if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0) if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_TTL, &val, &val_len) == 0)
return ((int) val) & 0xFF; return ((int) val) & 0xFF;
_Jv_ThrowIOException (); _Jv_ThrowIOException ();
...@@ -446,7 +446,7 @@ gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *ine ...@@ -446,7 +446,7 @@ gnu::java::net::PlainDatagramSocketImpl::mcastGrp (::java::net::InetAddress *ine
else else
throw new ::java::net::SocketException (JvNewStringUTF ("invalid length")); throw new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::setsockopt (fnum, level, opname, ptr, len) == 0) if (::setsockopt (native_fd, level, opname, ptr, len) == 0)
return; return;
_Jv_ThrowIOException (); _Jv_ThrowIOException ();
...@@ -459,7 +459,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -459,7 +459,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
int val; int val;
socklen_t val_len = sizeof (val); socklen_t val_len = sizeof (val);
if (fnum < 0) if (native_fd < 0)
throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed")); throw new ::java::net::SocketException (JvNewStringUTF ("Socket closed"));
if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$)) if (_Jv_IsInstanceOf (value, &::java::lang::Boolean::class$))
...@@ -492,7 +492,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -492,7 +492,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
return; return;
case _Jv_SO_BROADCAST_ : case _Jv_SO_BROADCAST_ :
if (::setsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &val, if (::setsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
val_len) != 0) val_len) != 0)
goto error; goto error;
break; break;
...@@ -506,11 +506,11 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -506,11 +506,11 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
case _Jv_SO_RCVBUF_ : case _Jv_SO_RCVBUF_ :
int opt; int opt;
optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF; optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
if (::setsockopt (fnum, SOL_SOCKET, opt, (char *) &val, val_len) != 0) if (::setsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, val_len) != 0)
goto error; goto error;
return; return;
case _Jv_SO_REUSEADDR_ : case _Jv_SO_REUSEADDR_ :
if (::setsockopt (fnum, SOL_SOCKET, SO_REUSEADDR, (char *) &val, if (::setsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
val_len) != 0) val_len) != 0)
goto error; goto error;
return; return;
...@@ -552,7 +552,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -552,7 +552,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
throw throw
new ::java::net::SocketException (JvNewStringUTF ("invalid length")); new ::java::net::SocketException (JvNewStringUTF ("invalid length"));
if (::setsockopt (fnum, level, opname, ptr, len) != 0) if (::setsockopt (native_fd, level, opname, ptr, len) != 0)
goto error; goto error;
return; return;
...@@ -567,7 +567,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID, ...@@ -567,7 +567,7 @@ gnu::java::net::PlainDatagramSocketImpl::setOption (jint optID,
break; break;
case _Jv_IP_TOS_ : case _Jv_IP_TOS_ :
if (::setsockopt (fnum, SOL_SOCKET, IP_TOS, (char *) &val, if (::setsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
val_len) != 0) val_len) != 0)
goto error; goto error;
return; return;
...@@ -607,7 +607,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -607,7 +607,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
break; break;
case _Jv_SO_BROADCAST_ : case _Jv_SO_BROADCAST_ :
if (::getsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, SO_BROADCAST, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Boolean (val != 0); return new ::java::lang::Boolean (val != 0);
...@@ -621,7 +621,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -621,7 +621,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
case _Jv_SO_SNDBUF_ : case _Jv_SO_SNDBUF_ :
int opt; int opt;
optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF; optID == _Jv_SO_SNDBUF_ ? opt = SO_SNDBUF : opt = SO_RCVBUF;
if (::getsockopt (fnum, SOL_SOCKET, opt, (char *) &val, &val_len) != 0) if (::getsockopt (native_fd, SOL_SOCKET, opt, (char *) &val, &val_len) != 0)
goto error; goto error;
else else
return new ::java::lang::Integer (val); return new ::java::lang::Integer (val);
...@@ -631,7 +631,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -631,7 +631,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
if (localAddress == NULL) if (localAddress == NULL)
{ {
jbyteArray laddr; jbyteArray laddr;
if (::getsockname (fnum, (sockaddr*) &u, &addrlen) != 0) if (::getsockname (native_fd, (sockaddr*) &u, &addrlen) != 0)
goto error; goto error;
if (u.address.sin_family == AF_INET) if (u.address.sin_family == AF_INET)
{ {
...@@ -653,7 +653,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -653,7 +653,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
return localAddress; return localAddress;
break; break;
case _Jv_SO_REUSEADDR_ : case _Jv_SO_REUSEADDR_ :
if (::getsockopt (fnum, SOL_SOCKET, SO_REUSEADDR, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, SO_REUSEADDR, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Boolean (val != 0); return new ::java::lang::Boolean (val != 0);
...@@ -664,7 +664,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -664,7 +664,7 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
char *bytes; char *bytes;
inaddr_len = sizeof(inaddr); inaddr_len = sizeof(inaddr);
if (::getsockopt (fnum, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr, if (::getsockopt (native_fd, IPPROTO_IP, IP_MULTICAST_IF, (char *) &inaddr,
&inaddr_len) != 0) &inaddr_len) != 0)
goto error; goto error;
...@@ -682,13 +682,13 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID) ...@@ -682,13 +682,13 @@ gnu::java::net::PlainDatagramSocketImpl::getOption (jint optID)
break; break;
case _Jv_IP_MULTICAST_LOOP_ : case _Jv_IP_MULTICAST_LOOP_ :
if (::getsockopt (fnum, SOL_SOCKET, IP_MULTICAST_LOOP, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, IP_MULTICAST_LOOP, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Boolean (val != 0); return new ::java::lang::Boolean (val != 0);
case _Jv_IP_TOS_ : case _Jv_IP_TOS_ :
if (::getsockopt (fnum, SOL_SOCKET, IP_TOS, (char *) &val, if (::getsockopt (native_fd, SOL_SOCKET, IP_TOS, (char *) &val,
&val_len) != 0) &val_len) != 0)
goto error; goto error;
return new ::java::lang::Integer (val); return new ::java::lang::Integer (val);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment