aboutsummaryrefslogtreecommitdiff
path: root/libjava/include
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2002-11-21 10:08:03 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2002-11-21 10:08:03 +0000
commitc3e0633cc3510ceb36a0105ef6c4fb8ad230ff36 (patch)
tree795095557dd4555cce7687419b819d95b30d4b74 /libjava/include
parent0e4f7d33ad125d023fc7d03a46a732e1eecbf4c7 (diff)
downloadgcc-c3e0633cc3510ceb36a0105ef6c4fb8ad230ff36.zip
gcc-c3e0633cc3510ceb36a0105ef6c4fb8ad230ff36.tar.gz
gcc-c3e0633cc3510ceb36a0105ef6c4fb8ad230ff36.tar.bz2
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
Diffstat (limited to 'libjava/include')
-rw-r--r--libjava/include/posix.h56
-rw-r--r--libjava/include/win32.h55
2 files changed, 110 insertions, 1 deletions
diff --git a/libjava/include/posix.h b/libjava/include/posix.h
index 8fa782f..975b93c 100644
--- a/libjava/include/posix.h
+++ b/libjava/include/posix.h
@@ -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
diff --git a/libjava/include/win32.h b/libjava/include/win32.h
index a035cfc..3965cb2 100644
--- a/libjava/include/win32.h
+++ b/libjava/include/win32.h
@@ -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