2002-11-21 Michael Koch <konqueror@gmx.de>
* include/posix.h
(_Jv_socket): New method.
(_Jv_connect): New method.
(_Jv_close): New method.
(_Jv_platform_close_on_exec): Prefixed system function with "::".
(_Jv_bind): New method.
(_Jv_listen): New method.
(_Jv_write): New method.
(_Jv_read): New method.
* include/win32.h
(_Jv_socket): New method.
(_Jv_connect): New method.
(_Jv_close): New method.
(_Jv_bind): New method.
(_Jv_listen): New method.
(_Jv_write): New method.
(_Jv_read): New method.
* java/net/natNetworkInterface.cc:
Include platform.h, removed inclusion of socket.h
(getRealNetworkInterfaces): Replaced ::socket() by _Jv_socket() and
::close() by _Jv_close().
* java/net/natPlainDatagramSocketImpl.cc:
Removed include of socket.h, definition of NATIVE_CLOSE and _Jv_bind,
added some new lines to make code more readable.
(create): Replaced ::socket() by _Jv_socket().
(close): Replaced NATIVE_CLOSE() by _Jv_close().
* java/net/natPlainSocketImpl.cc:
Removed definition of NATIVE_CLOSE, _Jv_bind, Jv_connect and _Jv_accept,
removed include of socket.h, removed some windows defines
(now in include/win32.h).
(create): Replaced ::socket() by _Jv_socket().
(close): Replaced NATIVE_CLOSE() by _Jv_close().
(write): Replaced ::read by _Jv_write().
(read): Replaced ::read by _Jv_read().
From-SVN: r59338
This commit is contained in:
committed by
Michael Koch
parent
0e4f7d33ad
commit
c3e0633cc3
+55
-1
@@ -27,6 +27,10 @@ details. */
|
||||
#include <sys/select.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
@@ -41,11 +45,61 @@ extern jlong _Jv_platform_gettimeofday ();
|
||||
extern void _Jv_platform_initialize (void);
|
||||
extern void _Jv_platform_initProperties (java::util::Properties*);
|
||||
|
||||
static inline int
|
||||
_Jv_socket (int domain, int type, int protocol)
|
||||
{
|
||||
return ::socket (domain, type, protocol);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_connect (jint fd, sockaddr *ptr, int len)
|
||||
{
|
||||
return ::connect (fd, ptr, len);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_close (jint fd)
|
||||
{
|
||||
return ::close (fd);
|
||||
}
|
||||
|
||||
inline void
|
||||
_Jv_platform_close_on_exec (jint fd)
|
||||
{
|
||||
// Ignore errors.
|
||||
fcntl (fd, F_SETFD, FD_CLOEXEC);
|
||||
::fcntl (fd, F_SETFD, FD_CLOEXEC);
|
||||
}
|
||||
|
||||
// Avoid macro definitions of bind from system headers, e.g. on
|
||||
// Solaris 7 with _XOPEN_SOURCE. FIXME
|
||||
inline int
|
||||
_Jv_bind (int fd, struct sockaddr *addr, int addrlen)
|
||||
{
|
||||
return ::bind (fd, addr, addrlen);
|
||||
}
|
||||
|
||||
// Same problem with accept on Tru64 UNIX with _POSIX_PII_SOCKET
|
||||
inline int
|
||||
_Jv_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
|
||||
{
|
||||
return ::accept (fd, addr, addrlen);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_listen (int fd, int backlog)
|
||||
{
|
||||
return ::listen (fd, backlog);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_write(int s, void *buf, int len)
|
||||
{
|
||||
return ::write (s, buf, len);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_read(int s, void *buf, int len)
|
||||
{
|
||||
return ::read (s, buf, len);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -22,16 +22,71 @@ details. */
|
||||
|
||||
#include <io.h>
|
||||
|
||||
// these errors cannot occur on Win32
|
||||
#define ENOTCONN 0
|
||||
#define ECONNRESET 0
|
||||
|
||||
#ifndef ENOPROTOOPT
|
||||
#define ENOPROTOOPT 109
|
||||
#endif
|
||||
|
||||
extern void _Jv_platform_initialize (void);
|
||||
extern void _Jv_platform_initProperties (java::util::Properties*);
|
||||
extern jlong _Jv_platform_gettimeofday ();
|
||||
|
||||
static inline int
|
||||
_Jv_socket (int domain, int type, int protocol)
|
||||
{
|
||||
return ::socket (domain, type, protocol);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_connect (jint fd, sockaddr *ptr, int len)
|
||||
{
|
||||
return ::connect (fd, ptr, len);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_close (jint fd)
|
||||
{
|
||||
return ::closesocket (fd);
|
||||
}
|
||||
|
||||
inline void
|
||||
_Jv_platform_close_on_exec (jint)
|
||||
{
|
||||
// Ignore.
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_bind (int fd, struct sockaddr *addr, int addrlen)
|
||||
{
|
||||
return ::bind (fd, addr, addrlen);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_accept (int fd, struct sockaddr *addr, socklen_t *addrlen)
|
||||
{
|
||||
return ::accept (fd, addr, addrlen);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_listen (int fd, int backlog)
|
||||
{
|
||||
return ::listen (fd, backlog);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_write(int s, void *buf, int len)
|
||||
{
|
||||
return ::send (s, (char*) buf, len, 0);
|
||||
}
|
||||
|
||||
inline int
|
||||
_Jv_read(int s, void *buf, int len)
|
||||
{
|
||||
return ::recv (s, (char*) buf, len, 0);
|
||||
}
|
||||
#define HAVE_BACKTRACE
|
||||
|
||||
/* Store up to SIZE return address of the current program state in
|
||||
|
||||
Reference in New Issue
Block a user