X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=I9hs7BX3/AuwKZs3uCgfAd5IVVNXId/ZJ0WAHgBQjao=; b=xBOnu+c5HsgLiqyUHIQTm65Rc9n01YWZieSzm51vje66cv0LhNzg7qBejYoMQ5D+XI zhSf/E52vp4Nn6bZfLUuy04XLv10fLYpXhr87y5fwgqS68KWzVDYCmQg+668PwWiOLAI tSinqrcSrUHzNoBa1ZNu/i+Gz+7Q0LimXQyKdVO7kfRZ7bgumuarsMZUQhAlDUMjVYqf 7IFlBJh6kjGimEV41pc0fvp0d6MXQCVvlhQxNophDlGOI9mQpbuSIzPlf/6PlTSnGDvC mokUwFqWaDNiB78/5pfMSa7PNaZh1oHPghD2ab4mKxI5Y4gseXYvj3ai87KVCsUoPqUV Bf3w== MIME-Version: 1.0 In-Reply-To: <201301131923.r0DJNA3A013357@delorie.com> References: <201301131923 DOT r0DJNA3A013357 AT delorie DOT com> Date: Mon, 14 Jan 2013 18:56:01 +0200 Message-ID: Subject: Re: ANNOUNCE: tcp/ip library Watt-32 (version 2.2 dev-rel. 10) compiled with DJGPP. From: Ozkan Sezer To: djgpp AT delorie DOT com Content-Type: text/plain; charset=ISO-8859-1 Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 1/13/13, Juan Manuel Guerrero wrote: > This is the Watt-32 tcp/ip library compiled with DJGPP. > > Watt-32 is a library for making networked TCP/IP programs in the > language > of C and C++ under DOS and Windows-NT. Both 16-bit real-mode and > 32-bit > protected-mode is supported. For DOS, Watt-32 requires a > packet-driver > (PKTDRVR) to access the data-link layer. Futher information about > this > library can be obtained at: > > Thanks for doing the packaging. However, watt-32 is something that most developers need to configure for their needs and then build for themselves. The default configuration is too _heavy_ for most purposes. As a side note: fragment reassembly is (still) broken in watt-32, hich is why my dos port of hexenworld doesn't work... > > > 1. DJGPP specific changes. > ======================= > > The code source files have NOT been modified. The only source files > that have been modified are the Makefiles. These need to be adjusted > to > work with compiler versions used nowadays. AFAIK the Makefiles were > tailored to be used with gcc272 and gcc293. Especially the selected > coff > debug format makes seriuos problems. > As usual the changes are documented in a patch file. You can inspect > it > in /contrib/watt/djgpp/diffs-watt-32.txt > > The -gcoff flag has been removed from all Makefiles. If this is not > done > all binaries produced with this library will abort with SIGSEGV. This > is > true at least if gcc46N and later is used. > > The dj_err program has been recompiled. This is necessary to produce > an > up-to-date sys_errlist[] for the different versions of djgpp. > > The test programs stored in /src/tests have not been tested by me. > They > may be compilable and may work or not. If they do not work, fix them > and > send me a patch. To fix them you are alone. > > This source archive (wat3222s.zip) has been created combining > watt32s-2.2-dev.10.zip > and small parts from watt32b-2.2-dev.10.zip. Both have been > downloaded > from: > > This source archive contains the complete content of > watt32s-2.2-dev.10.zip > and the djgpp specific makefiles from the /bin directory of > watt32b-2.2-dev.10.zip > together with ping.c, tiny.c and tcpinfo.c. This two programs are > probably > the most important to make a very first check if the library and the > network > connection really work. I have not tried to build any of the other > programs stored in watt32b-2.2-dev.10.zip. The may work or not. If > you > need them, you are alone. If you really want to build them, download > watt32b-2.2-dev.10.zip and copy the /bin directory into the directory > tree > created by wat3222s.zip archive. > Please, pay attention to NOT replace the DJGPP specific makefiles > provided > by wat3222s.zip or the binaries will be build with coff debug format > instead > dwarf2 debug format. This usually leads to SIGSEGV at run time. > > I have tested this library only on MS-DOS 6.22 using VMware. I have > created > a NAT network connecting two identical MS-DOS VMWare clones configured > by > DHCP. Only ping test were made. For DOS a packet driver is required. > I have used the one stored in pcntpk.zip. I do not remember from > where > I have downloaded it, but anyway you need to install the pocket driver > that > matches the network hardware you are using so you are alone here > again. > The wattcp.cfg file used has a single line like this: > my_ip = dhcp > > Writing a wattcp.cfg that works for your network environment is your > task. > I cannot help you. > I have _NOT_ tested the library with any windows version. > > The /bin directory contains all configuration files like wattcp.cfg, > etc. > provided by watt32s-2.2-dev.10.zip. I have not modified them. You > must > adjust them according to your network hardware anyway. Here you are > alone. > Please, read the original documentation. I have no major experience > neither using WATT-32 nor using DJGPP for DOS networking. > > > 2: Installing the binary package. > ============================== > > Copy the binary distribution into the top DJGPP installation directory > and unzip it running *ONE* of the following commands: > unzip32 wat3222b.zip or > djtarx wat3222b.zip or > pkunzip -d wat3222b.zip > > It will create a /watt directory into the top DJGPP installation > directory. > To use the binaries produced with this library you must set the > WATTCP.CFG > environment variable to point to the directory containing the > wattcp.cfg > file. E.g.: > set SET WATTCP.CFG=c:\djgpp\net\watt\bin > This file must be adjusted according to your network. To use the > headers > and library in your own projects, you must set the WATT_ROOT > environment > variable to point to directory where the /inc and /lib directories > are. > E.g.: > set WATT_ROOT=c:\djgpp\net\watt > Of course, the "c:\djgpp" part of the string must be adjusted to > reflect > the path where you have installed the binaries, headers and library. > > To be able to compile projects that use this library, you must set the > following gcc environment variables: > set C_INCLUDE_PATH=c:/djgpp/net/watt/inc > set LIBRARY_PATH=c:/djgpp/net/watt/lib > > If you have installed and configured everthing correctly you can start > the tcpinfo program like this: > redir -eo c:\djgpp\net\watt\bin\tcpinfo.exe > 1.txt > and inspect its output. Please note that "c:\djgpp\net\watt\bin" is > usually not in your %PATH%. > For my installation I get the following output: > --------- START --------- > using sample configuration > contact local network guru for more details > Configuring through DHCP..Reading configuration file > `c:\djgpp-2.04\net\watt\bin\wattcp.cfg' > Warning: %WATT_ROOT% contains forward ('/') slashes. > This may break some Makefiles. > PKTDRVR Name : NE2100, version 0.03, API ?, intr 0x60 > Class : Ethernet, level 2, RX mode 5 > Address : 00:50:56:21:5C:AF > > IP Address : 172.16.244.142 > Network Mask : 255.255.255.0 > > Gateways : GATEWAY'S IP SUBNET SUBNET MASK > : 172.16.244.2 DEFAULT DEFAULT > > ARP Cache : IP Address MAC Address Type Timeout > : 172.16.244.2 00:50:56:FE:B0:9E dynamic 299451 ms > > Host name : random-pc.localdomain > Domain name : localdomain > Nameserver : 172.16.244.2 Timeout 120s > > DHCP : Enabled and SUCCEEDED > DHCP Server : 172.16.244.254 > > IPv6-address : FE80::2001:80FF:FE21:5CAF > 6-to-4 gateway : 0.0.0.0 > > Max Seg Size,MSS : 1460 bytes > Max Transmit,MTU : 1500 bytes > > TCP timers : Sock delay 30s, Inactivity 0s, Keep-alive 120s/30s > : Open 1000ms, Close 1000ms, RST time 100ms > : RTO base 10ms, RTO add 100ms, Retrans 10ms > > _tcp_Socket size : 4460 bytes > _udp_Socket size : 1736 bytes > > HOSTS file : > HOSTS6 file : > SERVICES file : > PROTOCOL file : > NETWORKS file : > ETHERS file : > > Version info : Watt-32 (2.2.10), GNU-C 4.7.2 (Pent), djgpp 2.04, Jan 12 > 2013 > Capabilities : > /debug/mcast/bind/BSDsock/BSDfatal/bootp/dhcp/rarp/lang/frag/stat/fortify/fsext/loopback/tftp/echo/PPPoE/IPv6/RS232/gzip-compr/TCP-MD5/DynIP/profiler/fast-pkt > --------- END --------- > > For further information about WATT-32 please read the readme and > install > files stored in /net/watt __VERY CAREFULLY__. > > > 3: Building the binaries from sources. > =================================== > > To build the library and binaries you must install at least the > following > binary packages: > gcc472b, bnu2231b, mak381b and sed421b. > I have not tested with any previous versions of these binaries. > Especially > I have not tried any versions previous neither of gcc472 nor of > bnu2231. > I have no intentions to support any older versions of the compiler and > binutils. > All these packages can be found in the v2gnu directory of > ftp.delorie.com > and any mirror. > > Create a temporary directory. Copy the source package: wat3222s.zip > into the directory and unzip it running ONE of the following commands: > unzip32 wat3222s.zip or > djtarx wat3222s.zip or > pkunzip -d wat3222s.zip > > Set the WATT_ROOT environment variable. It must point to the > directory > where the /src/makefile.all is stored. E.g.: if the source archive > has > been unziped in z:/tmp, then WATT_ROOT must be set to: > set WATT_ROOT=z:\tmp\contrib\watt > > cd into /contrib/watt/util and run the command: > make -f errnos.mak dj_err.exe > This binary is required by the build process of the library. > > cd into /contrib/watt/src and configure the sources by running the > batch > file: > configur.bat djgpp > This will create the required makefile for DJGPP and all other required > files to compile the library. > Now you can build the library by running the command: > make -f djgpp.mak > > After having build the library, you can build the binaries ping.exe and > tcpinfo.exe. To this purpose, cd into /contrib/watt/bin and run the > command: > make -f djgpp.mak ping.exe tcpinfo.exe > > There is no installation target in the makefiles. You can create a > directory where you want to install the library. Make a /bin, /inc > and /lib directory. Copy the *.cfg files from the /contrib/watt/bin > into the new /bin directory, copy the contents of the /contrib/watt/inc > directory into the new /inc directory _preserving_ the directory tree. > Copy libwatt.a from /contrib/watt/lib into the new /lib directory. > Then > set C_INCLUDE_PATH and LIBRARY_PATH environment variable to point to > the > directory where the library and headers have been installed. > Also set the WATTCP.CFG environment variable to point to the directory > where wattcp.cfg has been stored. > > > > The port has been compiled using stock djdev203 (patchlevel 2) and > consists > of the two packages that can be downloaded from ftp.delorie.com and > mirrors > as (timestamp 2013-01-13): > > Watt-32(version 2.2 dev-rel. 10) binaries, headers,, library and docs: > ftp://ftp.delorie.com/pub/djgpp/current/v2tk/wat3222b.zip > > Watt-32(version 2.2 dev-rel. 10) source: > ftp://ftp.delorie.com/pub/djgpp/current/v2tk/wat3222s.zip > > > The binaries have been produced a second time using the stock version of > djdev204 beta library. This package is available at ftp.delorie.com and > mirrors as (timestamp 2013-01-13): > > Watt-32(version 2.2 dev-rel. 10) binaries, headers,, library and docs: > ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/wat3222b.zip > > > > Send suggestions and bug reports concerning the DJGPP port to > comp.os.msdos.djgpp or . > > > Enjoy. > > Guerrero, Juan Manuel > > > P.S.: this build has been used to create the OpenSSL 1.0.1c port released > lately. > > -- O.S.