[-=-] [-=-]  
[Main Page]
[Mailing List]
[Library Guide]


[Introduction] [Source Snapshots] [Bugs] [Tools]


Welcome to the development page for libsocket! This page is intended to document libsocket's internals to enable its further development. There is not much information here yet:

  • Some Notes on debugging libsocket - This is a brief introduction to debugging libsocket using gdb and a couple of the demo programs.

  • libsocket Interface Writer's Guide - This is nowhere near finished, but may be helpful to read. [It's also highly out-of-date - e-mail me if you'd like some of my rough'n'ready development notes.]

  • My Info file writing notes might be useful for anyone trying to add to libsocket's texinfo documentation. I also have some tips from Eli Zaretskii - eliz-txi.txt.

  • libsocket uses the services of WSOCK.VXD to provide access to Winsock 1.x's networking from a DOS box. I have documented this in the WSOCK.VXD Pseudo-Documentation. See also the sources in src/wsock/.

  • libsocket uses the services of SOCK.VXD to provide access to Winsock 1.x's networking from a DOS box. I have documented this in the Coda SOCK.VXD Pseudo-Documentation, so-called because SOCK.VXD was developed as part of the Coda network file system project. There is a Freenix 99 paper on Coda that explains about the architecture. See also the sources in src/csock/.

  • The Winsock Programmers' FAQ is useful when trying to understand some of the limitations placed upon libsocket. For instance, why a ping application cannot be implemented with libsocket over Winsock 1.1 (no ICMP support). This should be read by everyone looking at libsocket's internals.

  • Transport Driver Interface (TDI) VxD Documentation - This document is from Microsoft. TDI is used by SOCK.VXD to provide libsocket with TCP/IP networking with Winsock 2. This document may help deciphering the SOCK.VXD sources easier.

  • Alfons Hoogervorst has compiled some information about finding out various IP details under Windows into ipdata.txt. I have compiled a similar, but complementary, document called "Where IP Data is Stored for Network Cards under Windows". These are both used by libsocket to find IP data for each interface - see the sources in src/win3x/ and src/win9x/.

  • libsocket is being written to comply with the Unix98 interface definition - this can be obtained freely in HTML format, after registration, from the Unix System page, which is run by The Open Group.

If you are interested in developing libsocket, please subscribe to the libsocket Mailing List.


Source Snapshots

Periodic source snapshots of libsocket were made available - please e-mail me if you require them:

  • Old snapshots:

    • 1999-05-16 snapshot - patch 1, patch 2
    • 1999-07-22 snapshot - change list, patch 1, patch 2, patch 3, patch 4, patch 5
    • 1999-11-07 snapshot - patch 1 (1999-12-12)
    • 2000-04-25 snapshot

  • libsocket 0.7.5 - This is an abandoned attempt at integrating Watt-32 into libsocket, to allow programs linked with libsocket to run under DOS and Windows with networking, rather than requiring separate binaries for both operating systems. It was abandoned due to time constraints. libsocket 0.7.5 is a separate branch in the private CVS - no other branches have any Watt-32 code.

  • libsocket 0.8.0 is the latest release.

  • libsocket CVS snapshot 2001-02-10 - This is a copy of Richard Dawe's CVS of libsocket, just after he announced that he was no longer going to maintain it. It contains a basic "hacky" start to support Winsock 2 properly with WSOCK2.VXD. Anyone interested in developing libsocket further is encouraged to look at this snapshot!



'Tis a shame, but libsocket has bugs too. The Bugzilla system from the Mozilla project is being used. Since I don't have a permanent Internet connection, the reports are static only. Still, they should help follow the progress of bugfixes. If you find a bug, please e-mail me and I'll enter the bug and put you on the CC list, so you get updated with any developments.

Here are the bug reports:

  • A Bug's Life Cycle - This details the lifecycle of a bug in the Bugzilla bug tracking system. This defines the meaning of the the terms in the following reports.

  • libsocket 0.7.3 bugs - This is the last, finished release of libsocket. All versions after this are development versions.

  • libsocket 0.7.4 bugs - This was the development version and wasin prolonged beta testing. This is now going to be release as version 0.8.0 (see below). Bugs in specific versions of this may have been fixed in later source snapshots or patches (or bugs may have been introduced ;) ).

  • libsocket 0.8.0 bugs - This is the development version and will be the first "stable" release after 0.7.3.



These tools might be useful for low-level development:

  • Ethereal is a GNU GPL'd packet capture program for Linux. It's excellent and extremely powerful, with the ability to decode many networking protocols.

  • FreeCap is a GNU GPL'd packet capture program for Windows NT.


The layout of this page is by Indrek Mandre, and the content is by Richard Dawe.

[Previous] [Top] [Next]