From: <dan...@ya...> - 2001-02-03 10:31:31
|
Hello all I have attempted to make winsock2.h standalone (independent of the Winsock1.1 interface in winsock.h), but would like some help with the implications for cygwin. After merging winsock.h into winsock2.h, I have removed the now unnecessary #undefs, but have left the guards for #ifndef _INSIDE_CYGWIN_. I don't think they do any harm, but please correct me if I'm wrong. I have tested on a few simple TCPIP multicast testcases, but have't exercised only a small fraction of all the options and functions. I am attaching the new standalone winsock2.h as well as a diff between this winsock2.h and a "raw" merge (ie, simpling replacing the "#include <winsock.h>" directive with the contents of that file.) I am also attaching new header (still incomplete) for the WinSock2 TCP/IP interface (ws2tcpip.h) which has comments that hopefully help to explain some of the problems with mixing WinSock1.1 and WinSock2 interfaces. Any comments? Have I created an even bigger mess? If okay I will submit patch. Kia ora Danny _____________________________________________________________________________ http://entertainment.yahoo.com.au - Yahoo! Entertainment - Feeling a little bored? Need some entertainment? |
From: Paul G. <pga...@qw...> - 2001-02-13 04:11:47
|
Hi folks, Did the question about WIN32_LEAN_AND_MEAN get answered? I noticed several updates to the files came through today. Peace, Paul G. Nothing real can be threatened. Nothing unreal exists. |
From: <dan...@ya...> - 2001-02-13 20:57:59
|
--- Paul Garceau <pga...@qw...> wrote: > Hi folks, > > Did the question about WIN32_LEAN_AND_MEAN get answered? I > noticed several updates to the files came through today. Paul, The patches I submitted address the winsock interface. They are independent of whether winsock1.1 or winsock2 (or neither) is the default and how headers are included from windows.h. Those are different issues. Regardless of which is the default, users can override it by including either winsock.h or winsock2.h (or by doing the lean-and-mean thing) before including windows.h. Kia ora Danny _____________________________________________________________________________ http://invites.yahoo.com.au - Yahoo! Invites - Creating invitations could never be easier! |
From: <dan...@ya...> - 2001-02-13 21:19:45
|
Sorry. I need to be more careful with the reply-all. To: min...@so... Reply-To: min...@li... said the message header Kia ora Danny _____________________________________________________________________________ http://invites.yahoo.com.au - Yahoo! Invites - Creating invitations could never be easier! |
From: Paul G. <pga...@qw...> - 2001-02-14 01:15:07
|
Hi folks, On 14 Feb 2001, at 9:58, the Illustrious Danny Smith wrote: > > --- Paul Garceau <pga...@qw...> wrote: > Hi folks, > > > > Did the question about WIN32_LEAN_AND_MEAN get answered? I > > noticed several updates to the files came through today. > > Paul, > The patches I submitted address the winsock interface. > They are independent of whether winsock1.1 or winsock2 (or > neither) is the default and how headers are included from > windows.h. Those are different issues. Thanks for the update, Danny. > > Regardless of which is the default, users can override it by > including either winsock.h or winsock2.h (or by doing the > lean-and-mean thing) before including windows.h. Great! I guess that is what I was trying to promote...wish I could've been more specific...ah well... > > Kia ora > Danny Peace, Paul G. > > _________________________________________________________________ > ____________ http://invites.yahoo.com.au - Yahoo! Invites - > Creating invitations could never be easier! > > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > Nothing real can be threatened. Nothing unreal exists. |
From: <dan...@ya...> - 2001-02-03 19:54:48
|
--- Danny Smith <dan...@ya...> wrote: > Hello all > > I have attempted to make winsock2.h standalone (independent of the > Winsock1.1 interface in winsock.h I forget to mention one other change that is necessary to use a standalone winsock2.h: In windows.h, the default include of <winsock.h> must be commented out or changed to a default include of <winsock2.h>. Danny _____________________________________________________________________________ http://entertainment.yahoo.com.au - Yahoo! Entertainment - Feeling a little bored? Need some entertainment? |
From: Paul G. <pga...@te...> - 2001-02-04 00:44:30
|
I was wondering if it is really necessary to continue maintenance of winsock.h when, for the most part, winsock2 is typically the version that is used, except in cases of systems that might require crtdll.dll in order to link properly (such as WFW 3.11 and Win95A). I could be wrong on this...even so, I was under the impression that winsock2 is far more reliable and faster than winsock1. I was also under the impression that the typical winsock being used is still release 2. On 4 Feb 2001, at 8:54, the Illustrious Danny Smith wrote: > > --- Danny Smith <dan...@ya...> wrote: > Hello all > > > I have attempted to make winsock2.h standalone (independent of the > > Winsock1.1 interface in winsock.h > > I forget to mention one other change that is necessary to use a > standalone winsock2.h: > In windows.h, the default include of <winsock.h> must be commented out > or changed to a default include of <winsock2.h>. Wouldn't an #ifdef work better? If we agree that winsock2 should become default, this would allow us to say "#ifdef _socket, then use winsock2.h"... ? Peace, Paul G. > > > Danny > > ________________________________________________________________________ > _____ http://entertainment.yahoo.com.au - Yahoo! Entertainment - Feeling > a little bored? Need some entertainment? > > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > Nothing real can be threatened. Nothing unreal exists. |
From: <dan...@ya...> - 2001-02-04 07:49:57
|
--- Paul Garceau <pga...@te...> wrote: > > > On 4 Feb 2001, at 8:54, the Illustrious Danny Smith wrote: > > > > > --- Danny Smith <dan...@ya...> wrote: > Hello all > > > > > I have attempted to make winsock2.h standalone (independent of the > > > > Winsock1.1 interface in winsock.h > > > > I forget to mention one other change that is necessary to use a > > standalone winsock2.h: > > In windows.h, the default include of <winsock.h> must be commented > out > > or changed to a default include of <winsock2.h>. > > Wouldn't an #ifdef work better? If we agree that winsock2 should > become default, this would allow us to say "#ifdef _socket, then use > winsock2.h"... > > ? > > Peace, > > Paul G. > There already is an ifdef in windows.h - the famous #ifndef WIN32_LEAN_AND_MEAN (why couldn't it have been #ifdef WIN32_FAT_AND_JOLLY?). Here is the problem with using winsock2.h as the default: any legacy code that has an #include <winsock.h> will compile fine, since the prior inclusion of winsock2.h prevents inclusion of winsock.h. So no redefinitions, no warnings. However, if the user doesn't realise that Winsock2 is now the default, he/she will probably link against mswsock32.dll. And that will throw mysterious errors if the code use (gs)etsockopts, since the IP level options declared in winsock2.h only work with ws2_32.dll. My personal preference is to have no default winsock interface included from windows.h, so that users (like me) have to explicitly state which one they want. Danny > > > > Danny > > > > > ________________________________________________________________________ > > _____ http://entertainment.yahoo.com.au - Yahoo! Entertainment - > Feeling > > a little bored? Need some entertainment? > > > > _______________________________________________ > > MinGW-dvlpr mailing list > > Min...@li... > > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > > > > > > > Nothing real can be threatened. > Nothing unreal exists. > > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr _____________________________________________________________________________ http://entertainment.yahoo.com.au - Yahoo! Entertainment - Feeling a little bored? Need some entertainment? |
From: Earnie B. <ear...@ya...> - 2001-02-04 20:13:08
|
Danny Smith wrote: > > --- Paul Garceau <pga...@te...> wrote: > > > > On 4 Feb 2001, at 8:54, the Illustrious Danny Smith wrote: > > > > > > > > --- Danny Smith <dan...@ya...> wrote: > Hello all > > > > > > > I have attempted to make winsock2.h standalone (independent of the > > > > > > Winsock1.1 interface in winsock.h > > > > > > I forget to mention one other change that is necessary to use a > > > standalone winsock2.h: > > > In windows.h, the default include of <winsock.h> must be commented > > out > > > or changed to a default include of <winsock2.h>. > > > > Wouldn't an #ifdef work better? If we agree that winsock2 should > > become default, this would allow us to say "#ifdef _socket, then use > > winsock2.h"... > > > > ? > > > > Peace, > > > > Paul G. > > > There already is an ifdef in windows.h - the famous #ifndef > WIN32_LEAN_AND_MEAN (why couldn't it have been #ifdef > WIN32_FAT_AND_JOLLY?). > Just exactly what does this define get me or not get me? I haven't had a round tuit to look into it yet. > Here is the problem with using winsock2.h as the default: any legacy > code that has an #include <winsock.h> will compile fine, since the > prior inclusion of winsock2.h prevents inclusion of winsock.h. So no > redefinitions, no warnings. However, if the user doesn't realise that > Winsock2 is now the default, he/she will probably link against > mswsock32.dll. And that will throw mysterious errors if the code use > (gs)etsockopts, since the IP level options declared in winsock2.h only > work with ws2_32.dll. > Perhaps a `#warning Using winsock2. Must link with -lws2_32.' in the winsock2.h header file. > My personal preference is to have no default winsock interface included > from windows.h, so that users (like me) have to explicitly state which > one they want. > I'll have to see what happens with good ol' Cygwin. Later, Earnie. _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: <dan...@ya...> - 2001-02-06 02:37:26
|
--- Earnie Boyd <ear...@ya...> wrote: > Danny Smith wrote: > > > > --- Paul Garceau <pga...@te...> wrote: > > > > > On 4 Feb 2001, at 8:54, the Illustrious Danny Smith wrote: > > > > > > > > > > > > Wouldn't an #ifdef work better? If we agree that winsock2 > should > > > become default, this would allow us to say "#ifdef _socket, then > use > > > winsock2.h"... > > > > > > ? > > > > > > Peace, > > > > > > Paul G. > > > > > There already is an ifdef in windows.h - the famous #ifndef > > WIN32_LEAN_AND_MEAN (why couldn't it have been #ifdef > > WIN32_FAT_AND_JOLLY?). > > > > Just exactly what does this define get me or not get me? I haven't > had > a round tuit to look into it yet. > This is what's in windows.h now. #ifndef WIN32_LEAN_AND_MEAN #include <commdlg.h> #include <cderr.h> #include <dde.h> #include <ddeml.h> #include <dlgs.h> #include <lzexpand.h> #include <mmsystem.h> #include <nb30.h> #include <rpc.h> #include <shellapi.h> #include <winperf.h> #include <winspool.h> #if defined(Win32_Winsock) || !(defined(__INSIDE_CYGWIN__) || defined(__CYGWIN__) || defined (__CYGWIN32__) || defined(_UWIN)) #include <winsock.h> #endif #endif /* WIN32_LEAN_AND_MEAN */ And I think ole2.h would be in there as well if vtable-thunks were the default. Danny _____________________________________________________________________________ http://entertainment.yahoo.com.au - Yahoo! Entertainment - Feeling a little bored? Need some entertainment? |
From: Earnie B. <ear...@ya...> - 2001-02-06 04:32:50
|
Danny Smith wrote: > --- Earnie Boyd <ear...@ya...> wrote: > Danny Smith wrote: > > > > > > --- Paul Garceau <pga...@te...> wrote: > > > > > > On 4 Feb 2001, at 8:54, the Illustrious Danny Smith wrote: > > > > > > > > > > > > > > > Wouldn't an #ifdef work better? If we agree that > winsock2 > > should > > > > become default, this would allow us to say "#ifdef _socket, then > > use > > > > winsock2.h"... > > > > > > > > ? > > > > > > > > Peace, > > > > > > > > Paul G. > > > > > > > There already is an ifdef in windows.h - the famous #ifndef > > > WIN32_LEAN_AND_MEAN (why couldn't it have been #ifdef > > > WIN32_FAT_AND_JOLLY?). > > > > > > > Just exactly what does this define get me or not get me? I haven't > > had > > a round tuit to look into it yet. > > > > This is what's in windows.h now. > > #ifndef WIN32_LEAN_AND_MEAN > #include <commdlg.h> > #include <cderr.h> > #include <dde.h> > #include <ddeml.h> > #include <dlgs.h> > #include <lzexpand.h> > #include <mmsystem.h> > #include <nb30.h> > #include <rpc.h> > #include <shellapi.h> > #include <winperf.h> > #include <winspool.h> > #if defined(Win32_Winsock) || > !(defined(__INSIDE_CYGWIN__) || defined(__CYGWIN__) || defined > (__CYGWIN32__) || defined(_UWIN)) > #include <winsock.h> > #endif > #endif /* WIN32_LEAN_AND_MEAN */ > The __CYGWIN32__ can disappear. I've just asked the cygwin-developers about the !(__INSIDE_CYGWIN__). > > And I think ole2.h would be in there as well if vtable-thunks were the > default. I would imagine that gcc would have to define us a _VTABLE_THUNKS_ macro when the switch is specified and would have to use a different library path or naming convention to pick those vtable-thunks libraries over no-vtable-thunks libraries. Earnie. _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com |
From: Paul G. <pga...@te...> - 2001-02-04 21:44:16
|
Thanks for the clarification, Danny. Peace, Paul G. On 4 Feb 2001, at 20:50, the Illustrious Danny Smith wrote: > > --- Paul Garceau <pga...@te...> wrote: > > > > On 4 Feb 2001, at 8:54, the Illustrious Danny Smith wrote: > > > > > > > > --- Danny Smith <dan...@ya...> wrote: > Hello all > > > > > > > I have attempted to make winsock2.h standalone (independent of the > > > > > > Winsock1.1 interface in winsock.h > > > > > > I forget to mention one other change that is necessary to use a > > > standalone winsock2.h: > > > In windows.h, the default include of <winsock.h> must be commented > > out > > > or changed to a default include of <winsock2.h>. > > > > Wouldn't an #ifdef work better? If we agree that winsock2 should > > become default, this would allow us to say "#ifdef _socket, then use > > winsock2.h"... > > > > ? > > > > Peace, > > > > Paul G. > > > There already is an ifdef in windows.h - the famous #ifndef > WIN32_LEAN_AND_MEAN (why couldn't it have been #ifdef > WIN32_FAT_AND_JOLLY?). > > Here is the problem with using winsock2.h as the default: any legacy > code that has an #include <winsock.h> will compile fine, since the > prior inclusion of winsock2.h prevents inclusion of winsock.h. So no > redefinitions, no warnings. However, if the user doesn't realise that > Winsock2 is now the default, he/she will probably link against > mswsock32.dll. And that will throw mysterious errors if the code use > (gs)etsockopts, since the IP level options declared in winsock2.h only > work with ws2_32.dll. > > My personal preference is to have no default winsock interface included > from windows.h, so that users (like me) have to explicitly state which > one they want. > > Danny > > > > > > Danny > > > > > > > > > ________________________________________________________________________ > > > _____ http://entertainment.yahoo.com.au - Yahoo! Entertainment - > > Feeling > > > a little bored? Need some entertainment? > > > > > > _______________________________________________ > > > MinGW-dvlpr mailing list > > > Min...@li... > > > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > > > > > > > > > > > > > Nothing real can be threatened. > > Nothing unreal exists. > > > > _______________________________________________ > > MinGW-dvlpr mailing list > > Min...@li... > > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > > > _____________________________________________________________________________ > http://entertainment.yahoo.com.au - Yahoo! Entertainment > - Feeling a little bored? Need some entertainment? > > _______________________________________________ > MinGW-dvlpr mailing list > Min...@li... > http://lists.sourceforge.net/lists/listinfo/mingw-dvlpr > Nothing real can be threatened. Nothing unreal exists. |