1*c2c66affSColin FinckThis is the ADNS resolver library for Windows, ported
2*c2c66affSColin Finckby Jarle (jgaa) Aase, jgaa@jgaa.com
3*c2c66affSColin Finck
4*c2c66affSColin FinckADNS is not officially suppoted for Windows, but this
5*c2c66affSColin Finckport provides a 100% native Windows DLL and linker
6*c2c66affSColin Fincklibrary for the DLL - suitable for traditional compilers
7*c2c66affSColin Finckand linkers under Windows. The library itself is ported to
8*c2c66affSColin FinckMicrosot Visual C++ 6.0.
9*c2c66affSColin Finck
10*c2c66affSColin FinckThe library is tested under Windows 2000 and XP, but should work
11*c2c66affSColin Finckwith all versions from Windows NT 4 and up, and Windows98
12*c2c66affSColin Finckand up. Windows95 is not supported.
13*c2c66affSColin Finck
14*c2c66affSColin FinckIf you want to use the library in your own C/C++ project,
15*c2c66affSColin Finckyou must set the following manifests before including adns.h:
16*c2c66affSColin Finck
17*c2c66affSColin Finck#define ADNS_MAP_UNIXAPI
18*c2c66affSColin Finck#define ADNS_DLL
19*c2c66affSColin Finck
20*c2c66affSColin FinckADNS_MAP_UNIXAPI will enable the Win32 port in the header-
21*c2c66affSColin Finckfiles (else, they will use the defauts for a UNIX system)
22*c2c66affSColin Finck
23*c2c66affSColin FinckADNS_DLL will enable linking to the exported DLL functions.
24*c2c66affSColin FinckCurrently I have only made the DLL available. There are two
25*c2c66affSColin Finckreasons for this:
26*c2c66affSColin Finck
27*c2c66affSColin Finck  1) The DNS protocol is a mess - and it's difficult to make
28*c2c66affSColin Finck     a foolproof implementation. If a security-problem is
29*c2c66affSColin Finck	 found (or other bugs) - the fix can usually be deployed
30*c2c66affSColin Finck	 just by replacing the DLL.
31*c2c66affSColin Finck
32*c2c66affSColin Finck  2) The GPL/LGPL lisence of ADNS (see GPL-vs-LGPL) will allow
33*c2c66affSColin Finck     you to use the .dll in your project - as far as I can tell.
34*c2c66affSColin Finck	 A statically linked version will only be allowed in GPL
35*c2c66affSColin Finck	 licensed projects.
36*c2c66affSColin Finck
37*c2c66affSColin FinckFor more information about this port, see http://adns.jgaa.com
38*c2c66affSColin Finck
39*c2c66affSColin Finck
40*c2c66affSColin Finck///////////////////////////////////////////////////////
41*c2c66affSColin Finck
42*c2c66affSColin FinckOctober 13th 2005 jgaa: adns-1.0-win32-05
43*c2c66affSColin Finck  - Fixed a problem with the return-value from adns_inet_aton()
44*c2c66affSColin Finck    Thanks to Gerald Combs for reporting the problem.
45*c2c66affSColin Finck
46*c2c66affSColin FinckOctober 7th 2004 jgaa: adns-1.0-win32-03
47*c2c66affSColin Finck
48*c2c66affSColin Finck - Fixed a problem with error-messages when the program
49*c2c66affSColin Finck   works off-line.
50*c2c66affSColin Finck   Thanks to Ulf Lamping for pointing ourt and solving the problem.
51*c2c66affSColin Finck
52*c2c66affSColin Finck
53*c2c66affSColin FinckApril 4th 2004 jgaa: adns-1.0-win32-03
54*c2c66affSColin Finck
55*c2c66affSColin Finck - Fixed broken gettimeofday() function.
56*c2c66affSColin Finck
57*c2c66affSColin Finck - Fixed problem with TCP connections, where the librarry
58*c2c66affSColin Finck   failed to connect to DNS servers with TCP, and flooded
59*c2c66affSColin Finck   the servers with TCP connection attempts.
60*c2c66affSColin Finck
61*c2c66affSColin Finck - Made sure that errno was handled corrcetly after all network
62*c2c66affSColin Finck   (winsock) calls.
63*c2c66affSColin Finck
64*c2c66affSColin Finck - Fixed a few places where noblocking calls were not handled
65*c2c66affSColin Finck   EAGAIN and EWOULDBLOCK is not the same under Windows.
66*c2c66affSColin Finck
67*c2c66affSColin Finck
68*c2c66affSColin Finck
69