This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: win32.h Cleanup w.r.t. w32api 2.x


Hi,

    This patch proposes to slightly clean up the win32.h
header file w.r.t. to the w32api 2.x packages for Cygwin/MinGW.

Note that after this change, only w32api 2.x can be used
to compile GCJ for MinGW, but without it, it doesn't compile
at all with w32api-2.x.

The rationale for the changes are:

1. Only ws2tcpip.h defines "socklen_t" without which the
   networking code doesn't compile.

2. ws2tcpip.h defins IP_TOS to be 3 (WinSock 2) so the
   explicit definition is not needed.

3. Slight formatting error in _Jv_connect( ).

Even after these, I still have some questions on this
header which perhaps Adam is best equipped to answer:

a. What is the need for "#undef STRICT" at the begining?
   Is this to overcome some limitation of earlier w32api
   headers?

b. Why does it say that ECONNRESET and ENOTCONN cannot
   occur on Win32? Why then are the error codes
   WSAECONNRESET and WSAENOTCONN defined by WinSock 2?

c. It defines ENOPROTOOPT to 109 - however, WSAENOPROTOOPT
   is defined to be 10042 and is really what is
   returned by WinSock 2.

Thanks in advance for clarifying these issues.

ChangeLog:

2003-01-15  Ranjit Mathew  <rmathew@hotmail.com>

	* include/win32.h: Include ws2tcpip.h instead of
	winsock.h to obtain definition of the socklen_t type.
	Remove IP_TOS definition - not needed with ws2tcpip.h
	(_Jv_connect): Correct slight formatting error.

Patch:
---------------------------------- 8< ----------------------------------
--- win32.h	Wed Jan 15 11:19:35 2003
+++ win32.h	Wed Jan 15 11:21:53 2003
@@ -1,5 +1,5 @@
 // win32.h -- Helper functions for Microsoft-flavored OSs.

-/* Copyright (C) 2002  Free Software Foundation
+/* Copyright (C) 2002, 2003  Free Software Foundation

    This file is part of libgcj.
@@ -15,7 +15,5 @@
 #undef STRICT

-#undef __INSIDE_CYGWIN__
-#include <winsock.h>
-#define IP_TOS 3
+#include <ws2tcpip.h>
 #include <gcj/cni.h>
 #include <java/util/Properties.h>
@@ -75,5 +73,5 @@
 _Jv_connect (jint fd, sockaddr *ptr, int len)
 {
-   return ::connect (fd, ptr, len);
+  return ::connect (fd, ptr, len);
 }

---------------------------------- 8< ----------------------------------

Sincerely Yours,
Ranjit.

--
Ranjit Mathew          Email: rmathew AT hotmail DOT com

Bangalore, INDIA.      Web: http://ranjitmathew.tripod.com/



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]