Mail Archives: djgpp-announce/2019/07/10/17:31:07
This is the Watt-32 2.2 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:
http://www.watt-32.net/
1. DJGPP specific changes.
=======================
This source archive (aka wat3211s.zip) has been created combining
the complete content of watt32s.zip and small parts from watt32b.zip.
Both have been downloaded from:
http://www.watt-32.net/
This source archive contains the complete content of watt32s.zip and the
djgpp specific makefiles from the /bin directory of watt32b.zip together
with ping.c, tiny.c and tcpinfo.c. That source files are the ones required
to build ping.exe and tcpinfo.exe These two programs are probably the most
important ones to make a very first check if the library and the network
connection do really work. I have not tried to build any of the other
programs stored in watt32b.zip. The may work or not. If you need them,
you are alone. If you really want to build them, download watt32b.zip and
copy the /bin directory into the directory tree created by wat3211s.zip
archive. Please, pay attention to NOT replace the DJGPP specific makefiles
provided by wat3211s.zip.
poll.h has been added to the base directory. It will include sys/poll.h.
This seems to be a POSIX requirement AFAIK and is necessary to get all GNU
configure scripts working that checks for poll.h presence and usability.
Non standard functions like stricmp and strnicmp have been replaced by
macros. For other changes inspect the djgpp/diffs file. A lot of changes
may be very DJGPP centric, a very few may be of general interest.
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
can be compiled without errors but I cannot tell how usefull they may be
on plain DOS and/or some version of Windows.
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.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.
Please do __NOT__ mix libraries compiled with different versions of DJGPP.
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 wat3211b.zip or
djtarx wat3211b.zip or
pkunzip -d wat3211b.zip
It will create a /net 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 ---------
Waterloo TCP/IP setup
Configuring through DHCP..Reading configuration file `c:\drivers\net\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
MAC-address : 00:0C:29:CF:B7:5C
IP Address : 192.168.58.157
Network Mask : 255.255.255.0
Host name : random-pc.localdomain
Domain name : localdomain
Nameserver : 192.168.58.2 Timeout 120s
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
Version info : Watt-32 (2.2.11), GNU-C 3.4.6 (Pent), djgpp 2.05, Jul 7 2019
Compiler/target : __DJGPP__
$(CC) name : gcc
$(CFLAGS) : -O3 -g -I. -I../inc -W -Wall -Wno-strict-aliasing -DWATT32_BUILD -march=i386 -mtune=i586
Capabilities : /debug/mcast/bind/BSDsock/BSDfatal/bootp/dhcp/rarp/lang/frag/stat/fsext/loopback/tftp/echo/IPv6/dead-gw/gzip/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:
gcc346b, bnu232b, mak421b and sed47b.
I have not tested with any previous versions of these binaries. Especially
I have not tried any versions previous neither of gcc346 nor of bnu232.
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: wat3211s.zip
into the directory and unzip it running ONE of the following commands:
unzip32 wat3211s.zip or
djtarx wat3211s.zip or
pkunzip -d wat3211s.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 djdev205 (repository code) and consists
of two packages that can be downloaded from ftp.delorie.com and mirrors
as (timestamp 2019-07-07):
Watt-32 (version 2.2 dev.rel. 11) binaries, headers, library and docs:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/wat3211b.zip
Watt-32 (version 2.2 dev.rel. 11) source:
ftp://ftp.delorie.com/pub/djgpp/current/v2tk/wat3211s.zip
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -