From: Richard Dawe Newsgroups: comp.os.msdos.djgpp Subject: Re: TCP/IP V86 API ? Date: Wed, 04 Oct 2000 22:37:13 +0100 Organization: Customer of Energis Squared Lines: 84 Message-ID: <39DBA309.D98C2627@phekda.freeserve.co.uk> References: <8qli8q$jdh$10$1 AT news DOT t-online DOT com> <39D6F309 DOT C35B5453 AT phekda DOT freeserve DOT co DOT uk> <8r89to$6p$11$1 AT news DOT t-online DOT com> <39D8EC79 DOT 2BB0B32 AT phekda DOT freeserve DOT co DOT uk> <8rcfa4$9vk$16$1 AT news DOT t-online DOT com> <39DA26AD DOT 32119C6 AT phekda DOT freeserve DOT co DOT uk> <8rfijo$fgd$16$1 AT news DOT t-online DOT com> NNTP-Posting-Host: modem-101.titanium.dialup.pol.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: newsg3.svr.pol.co.uk 970769219 25934 62.136.21.101 (5 Oct 2000 18:06:59 GMT) NNTP-Posting-Date: 5 Oct 2000 18:06:59 GMT X-Complaints-To: abuse AT theplanet DOT net X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.14 i586) X-Accept-Language: de,fr To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hello. Peter Remmers wrote: > > Richard Dawe schrieb... > > > Another advantage of this is that less code needs to be put into > > libsocket than e.g. for SOCK.VXD. libsocket contains code to > > emulate certain things that SOCK.VXD doesn't provide, e.g. socket > > options with getsockopt(). WSOCK.VXD and, no doubt, WSOCK2.VXD > > should support these things directly, making libsocket "just" > > a wrapper. > > What exactly does SOCK.VXD not provide? Isn't it itself just a wrapper > for VTDI ? SOCK.VXD does not provide: * non-blocking connect(); * shutdown(); * socket options - (get|set)sockopt(); * support for any IP protocols other than UDP, TCP; * multicast support. In other words, just a basic socket interface, probably 90%-95% of what you want to do with sockets. The above list is before we get on to the bugs in what it /does/ provide. :( BTW SOCK.VXD uses the TDI (Transport Driver Interface). VTDI is just the driver that provides this on Windows '9x. TDI is supposedly portable across Windows versions, but I think Windows NT has a richer interface. > Is VTDI lacking some features? Yes, I think so. It offers a simplified interface for using TCP/IP. If you compare the features offered by TDI with those available with Winsock 2, you'll see that Winsock 2 is much richer. The reason is this: TDI calls another VxD - AFVXD.VXD IIRC - that actually does the networking. IIRC WS2_32.DLL just calls into this VxD (probably with the Win32 function DeviceIoControl()) for its networking. TDI is still pretty useful. > But even if you had managed it, watt-32 would have progressed > independently anyways, right? Yes, I suspect it would have been difficult to keep up with Watt-32. > > I don't think I'd implement it as a DXE either. I don't think the > > extra code would add that much to libsocket's library size. The > > resolver (DNS) > > But you have DXE support on your to-to list! Sure, it's on the to-do list, but there's no priority rating on the to-do list. I haven't even investigated DXE support for libsocket! > > code accounts for a lot of its size. I have been thinking about > > switching to another resolver library (adns IIRC), but I have more > > important things to do with my time. ;) > > Isn't that a contradiction to what you said above about the late night > hacking? :-) Heh, sure, but I have several choices for my late-night hacking sessions. ;) (But recently I have found that sleep, followed by programming the next day to be more productive.) > > > Of course, sock.vxd would not need to be installed beforehand, it > > > just needs to be in the same directory as the executable... > > > > That can be added to the distributable "how to use libsocket in your > > programs" guide. > > Where's this guide? Do you mean the "End-Users' Installation and > Configuration Guide" (redist/u-guide.txt) ? Yes, that's the one. Bye, -- Richard Dawe [ mailto:richdawe AT bigfoot DOT com | http://www.bigfoot.com/~richdawe/ ]