Sender: rich AT phekda DOT freeserve DOT co DOT uk Message-ID: <3A805D3D.9A91AD2B@phekda.freeserve.co.uk> Date: Tue, 06 Feb 2001 20:23:25 +0000 From: Richard Dawe X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.17 i586) X-Accept-Language: de,fr MIME-Version: 1.0 To: DJGPP newsgroup CC: libsocket Mailing List , Wojciech Galazka Subject: Re: Ending development of libsocket References: <3A745502 DOT 497CA8DF AT phekda DOT freeserve DOT co DOT uk> <95ngpf$bk9$1 AT pippin DOT nask DOT waw DOT pl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com Hello. I'm CC'ing the libsocket list on my reply, since it's relevant. Wojciech Galazka wrote: [snip] > Since the mission is to develop a BSD compliant networking library then > I'd consider a entry level library that supports: > * data link level > * ARP / RARP > * IP + fragmentation (both IPv4 & INv6) > * ICMP > * UDP > * no TCP at the moment > * limited ioctls > * no selec()t, pool() (oh no , perhaps could anyone suggest select() > under DOS ?) > * no async i/o I would suggest that support of the Unix98 specification's networking is about all you need, from an applications point of view. TCP support is IMHO required, if the library is to be any use. This is much more vital than RARP/BOOTP/DHCP support for getting addressses. ioctl support could just be FIONBIO, for flipping into non-blocking mode, since not much else is used. select() is probably also a requirement. DJGPP doesn't support multithreading, so select() is the only the real way of supporting multiple connections in a server. IPv6 support is probably an ambitious aim, since it's still changing. BTW I don't think the concept of fragmentation exists in IPv6 as it does in IPv4. I think path MTU discovery is always used. All network types have to support minimum MTU packets (1280 bytes, if memory servers), so senders can always fall back to that packet size. > Dave took the top-down approach, that is with wsock.vxd he got TCP and > UDP protocols and tried to go down to IP which is almost impossible > under Windows as most of the stack inrternals are undocumented > I'd opt for quite the opposite direction Dave is my brother. ;) I think you mean "Dawe", my last name. 8) Going down to IP has never been an option. ICMP echo ("ping") would be possible, by writing a helper application that uses the ping DLL. It never seemed that important, though. Writing it from the bottom only makes sense on DOS, where you have direct hardware access. I remember you suggested porting the BSD stack a while ago. That would give you a TCP/IP stack more advanced than Watt-32, because FreeBSD's stack currently has support for IPv4, IPv6, IPSec (AH and ESP). I'm not sure how simple it would be to port the IPSec facilities though. > PS Could anyone, please, forward this to the dossock list, I can post at > the usenet only now Yes, done. I sent it to the libsocket list too, so that this reply makes sense. Bye, -- Richard Dawe http://www.bigfoot.com/~richdawe/ "The soul is the mirror of an indestructible universe." --- Gottfried W. Leibniz