Import adns-1.0-win32-05
Added: vendor/adns/
Added: vendor/adns/current/
Added: vendor/adns/current/COPYING
Added: vendor/adns/current/GPL-vs-LGPL
Added: vendor/adns/current/INSTALL
Added: vendor/adns/current/Makefile
Added: vendor/adns/current/Makefile.in
Added: vendor/adns/current/README
Added: vendor/adns/current/README.html
Added: vendor/adns/current/TODO
Added: vendor/adns/current/acconfig.h
Added: vendor/adns/current/aclocal.m4
Added: vendor/adns/current/adns_win32/
Added: vendor/adns/current/adns_win32/README.TXT
Added: vendor/adns/current/adns_win32/adns_dll/
Added: vendor/adns/current/adns_win32/adns_dll/ReadMe.txt
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.aps
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.cpp
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.dep
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.dsp
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.mak
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.plg
Added: vendor/adns/current/adns_win32/adns_dll/adns_dll.rc
Added: vendor/adns/current/adns_win32/adns_dll/resource.h
Added: vendor/adns/current/adns_win32/adns_unix_calls.c
Added: vendor/adns/current/adns_win32/adns_win32.dsp
Added: vendor/adns/current/adns_win32/adns_win32.dsw
Added: vendor/adns/current/adns_win32/adns_win32.h.old
Added: vendor/adns/current/adns_win32/adns_win32.ncb
Added: vendor/adns/current/adns_win32/adns_win32.opt
Added: vendor/adns/current/adns_win32/adns_win32.plg
Added: vendor/adns/current/adns_win32/adnshost/
Added: vendor/adns/current/adns_win32/adnshost/adnshost.dsp
Added: vendor/adns/current/adns_win32/adnshost/adnshost.dsw
Added: vendor/adns/current/adns_win32/adnshost/adnshost.ncb
Added: vendor/adns/current/adns_win32/adnshost/adnshost.opt
Added: vendor/adns/current/adns_win32/adnshost/adnshost.plg
Added: vendor/adns/current/adns_win32/adnslogres/
Added: vendor/adns/current/adns_win32/adnslogres/adns_db_dll.dll
Added: vendor/adns/current/adns_win32/adnslogres/adnslogres.dsp
Added: vendor/adns/current/adns_win32/adnslogres/adnslogres.dsw
Added: vendor/adns/current/adns_win32/adnslogres/adnslogres.ncb
Added: vendor/adns/current/adns_win32/adnslogres/adnslogres.opt
Added: vendor/adns/current/adns_win32/adnslogres/adnslogres.plg
Added: vendor/adns/current/adns_win32/adnstest/
Added: vendor/adns/current/adns_win32/adnstest/adnstest.dsp
Added: vendor/adns/current/adns_win32/adnstest/adnstest.dsw
Added: vendor/adns/current/adns_win32/adnstest/adnstest.ncb
Added: vendor/adns/current/adns_win32/adnstest/adnstest.opt
Added: vendor/adns/current/adns_win32/adnstest/adnstest.plg
Added: vendor/adns/current/adns_win32/fanftest/
Added: vendor/adns/current/adns_win32/fanftest/fanftest.dsp
Added: vendor/adns/current/adns_win32/fanftest/fanftest.plg
Added: vendor/adns/current/adns_win32/getopt.c
Added: vendor/adns/current/adns_win32/getopt.h
Added: vendor/adns/current/adns_win32/lib/
Added: vendor/adns/current/adns_win32/lib/adns_db_dll.dll
Added: vendor/adns/current/adns_win32/lib/adns_db_dll.exp
Added: vendor/adns/current/adns_win32/lib/adns_db_dll.ilk
Added: vendor/adns/current/adns_win32/lib/adns_db_dll.lib
Added: vendor/adns/current/adns_win32/lib/adns_dll.dll
Added: vendor/adns/current/adns_win32/lib/adns_dll.exp
Added: vendor/adns/current/adns_win32/lib/adns_dll.lib
Added: vendor/adns/current/changelog
Added: vendor/adns/current/client/
Added: vendor/adns/current/client/Makefile.in
Added: vendor/adns/current/client/adh-main.c
Added: vendor/adns/current/client/adh-opts.c
Added: vendor/adns/current/client/adh-query.c
Added: vendor/adns/current/client/adnshost.h
Added: vendor/adns/current/client/adnslogres.c
Added: vendor/adns/current/client/adnsresfilter.c
Added: vendor/adns/current/client/adnstest.c
Added: vendor/adns/current/client/client.h
Added: vendor/adns/current/client/fanftest.c
Added: vendor/adns/current/client/x.gdb
Added: vendor/adns/current/configure
Added: vendor/adns/current/configure.in
Added: vendor/adns/current/dynamic/
Added: vendor/adns/current/dynamic/Makefile.in
Added: vendor/adns/current/install-sh
Added: vendor/adns/current/regress/
Added: vendor/adns/current/regress/Makefile.in
Added: vendor/adns/current/regress/addcases
Added: vendor/adns/current/regress/adnshost-xinitflags.text
Added: vendor/adns/current/regress/adnslogres-xinitflags.text
Added: vendor/adns/current/regress/adnsresfilter-xinitflags.text
Added: vendor/adns/current/regress/case-1stservbroken.err
Added: vendor/adns/current/regress/case-1stservbroken.out
Added: vendor/adns/current/regress/case-1stservbroken.sys
Added: vendor/adns/current/regress/case-1stservtotcp.err
Added: vendor/adns/current/regress/case-1stservtotcp.out
Added: vendor/adns/current/regress/case-1stservtotcp.sys
Added: vendor/adns/current/regress/case-2ndservok.err
Added: vendor/adns/current/regress/case-2ndservok.out
Added: vendor/adns/current/regress/case-2ndservok.sys
Added: vendor/adns/current/regress/case-2ndservtcp.err
Added: vendor/adns/current/regress/case-2ndservtcp.out
Added: vendor/adns/current/regress/case-2ndservtcp.sys
Added: vendor/adns/current/regress/case-abbrev.err
[truncated at 100 lines; 246 more skipped]
_____
Added: vendor/adns/current/COPYING
--- vendor/adns/current/COPYING 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/COPYING 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software,
and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on,
we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software
interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new
versions
+of the General Public License from time to time. Such new versions
will
+be similar in spirit to the present version, but may differ in detail
to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and
conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number
of
+this License, you may choose any version ever published by the Free
Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the
author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we
sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software
and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it
does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or
modify
+ it under the terms of the GNU General Public License as published
by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper
mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type
`show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the
appropriate
+parts of the General Public License. Of course, the commands you use
may
+be called something other than `show w' and `show c'; they could even
be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
program
+ `Gnomovision' (which makes passes at compilers) written by James
Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program
into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with
the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
_____
Added: vendor/adns/current/GPL-vs-LGPL
--- vendor/adns/current/GPL-vs-LGPL 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/GPL-vs-LGPL 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,122 @@
+ GPL vs LGPL, in the context of adns
+ -----------------------------------
+
+Several people have asked me to release GNU adns under the GNU Lesser
+General Public Licence (LGPL, formerly the Library GPL) instead of the
+`stronger' GPL. This file is intended to answer most of these
+questions. If you still have questions or comments, please mail me at
+<adns-maint(a)chiark.greenend.org.uk>.
+
+Typically there are two or three kinds of situation where people make
+this request: the first is where someone is developing a proprietary
+program and wishes to make use of adns but doesn't wish to make their
+program free software. The second case is where a free software
+project is currently using an MIT-like licence or the LGPL and fear
+`GPL infection'. The third case, which often overlaps with the
+second, is where another free software project currently using a
+GPL-incompatible licence, wishes to use adns.
+
+
+1. Proprietary applications of adns
+-----------------------------------
+
+So, let me get this straight. You're writing a proprietary
+program, by which I mean that you will not be distributing source code
+and not allowing users to modify and share your software; most likely
+you are doing this for your own (personal or corporate) financial
+gain.
+
+However, you want to take advantage of adns, software which I have
+spent my time and effort on, and which I release as free software so
+that everyone can improve, share and use it.
+
+Don't you think that is a little hypocritical ? I'm sorry, but I
+don't want you to just take my nice convenient software, without
+giving something back to the free software community or giving the
+same rights to your users as I do to you.
+
+If you really aren't the nasty kind of person I've described here, for
+example if you have a good reason other than your own selfishness for
+wanting to restrict distribution of your program, then perhaps you
+should contact me to discuss it.
+
+
+2. GPL-avoiding projects (MIT licence, et al)
+---------------------------------------------
+
+Some free software projects prefer to avoid the GPL and other licences
+which force the software always to be free. Instead they use
+something like the MIT X licence, which allows proprietary versions of
+their software, or the in the case of some free libraries, the LGPL,
+which allows proprietary applications. I have to say that I think
+these people are misguided, but that doesn't mean that they don't have
+a perfect right to do that.
+
+Some of these people think that merely writing to an interface
+provided by GPL'd software will cause their program to become GPL'd
+too, even if they don't distribute the GPL'd software. I don't think
+this is the case. I'm perfectly happy for non-GPL'd but
+GPL-compatible software to refer to adns in its source code. However,
+I think that exectuables (or compiled libraries) which contain or are
+dynamically linked against adns must be GPL'd; likewise executable
+programs (whether compiled or in an interpreted language) which
+require utilities from adns to function properly must be GPL'd.
+
+So, you can distribute your non-GPL'd program source which needs adns
+to compile (provided it's under a GPL-compatible licence), but people
+who wish to distribute binaries must do so under the terms of the GNU
+GPL. This may make sense for some GPL-avoiding free software
+projects; people can still make proprietary programs from your code,
+provided that they make some provision to replace adns with something
+whose copyright allows proprietary versions.
+
+However, this doesn't make much sense for the authors of LGPL'd
+libraries. All I can say to them is to ask which is more important:
+that their library be well-constructed and use all the best technology
+available as free software, or whether it is worth degrading quality
+of their library in order to allow proprietary programs to use it !
+
+To help the case of LGPL'd libraries for which adns is not a vital
+component - for example, a library which provides access to other
+libraries so that programs which use it need only use certain parts,
+I have released adns.h (just the public header file) under the LGPL as
+well as the GPL. See the copyright notice in adns.h for details.
+Note that this will not help you if it adns is essential to the
+functioning of your library, because all programs using your library
+must link against both your library and adns and so must be GPL'd.
+
+
+For some information and views from the Free Software Foundation on
+free software licensing, visit:
+
+ Various licenses and comments about them
+ at http://www.fsf.org/philosophy/license-list.html
+
+ Why you shouldn't use the Library GPL for your next library
+ at http://www.fsf.org/philosophy/why-not-lgpl.html
+
+
+3. GPL-incompatible free software licences
+------------------------------------------
+
+Regrettably, there are a number of free software licences (and
+semi-free licences) in existence which are not compatible with the
+GPL. That is, they impose restrictions which are not present in the
+GPL, and therefore distributing a whole work which contains both such
+a program and a GPL'd program is not possible: either the combination
+would have to be distributed under the GPL (violating the restrictions
+made by the original author), or under the GPL-incompatible licence
+(violating the GPL).
+
+I may be prepared to make exceptions for such a licence. Please
+contact me at <adns-maint(a)chiark.greenend.org.uk> with the full text
+of the GPL-incompatible licence. However, I would usually prefer it
+if you could use a GPL-compatible licence for your project instead.
+
+
+-- Ian Jackson 17.9.2000
+
+
+Local variables:
+mode: text
+End:
_____
Added: vendor/adns/current/INSTALL
--- vendor/adns/current/INSTALL 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/INSTALL 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,130 @@
+INSTALLATION INSTRUCTIONS for GNU ADNS
+
+1. Read the security note below.
+
+2. Standard GNU package build process:
+ $ ./configure [--disable-dynamic] [--prefix=... ...]
+ $ make
+ # make install
+
+Unfortunately, there is no comprehensive documentation yet. For now,
+use the comments in the public header file adns.h, and for the C
+programs their usage messages. If you find this information
+ambiguous, incomplete or wrong, please report it as a bug.
+
+
+TESTED PLATFORMS
+
+The following platforms have been tested at at least some point and
+should work - please report if they don't:
+ adns version OS
+ 1.0 Linux glibc 2.1 (actually tested on Debian 2.2)
+ 1.0 Solaris 2.6, 2.7, 2.8 [3]
+ 1.0 FreeBSD 3.2, 4.0 (no poll(2), so no adnsresfilter)
+The following work, but only with --disable-dynamic:
+ 1.0 IRIX 6.5 *not* with GCC [1], [2]
+ 1.0 AIX 4.1.5
+ 1.0 HP-UX 10.20, 11.00
+Later versions of the same OS should work too. Usually entries in
+this table mean adns passes its own regression test, when compiled
+with GCC, and appears to install and run correctly. If you have more
+information for this table please let me know.
+
+Notes/known problems:
+ [1] IRIX 6.5 inet_ntoa seems to break with GCC.
+ [2] The SGI IRIX compiler produces many spurious warnings.
+ [3] Dynamically linked, needs some help to find libadns.so.1.0.
+
+The following platforms are known to be deficient and will not work:
+ Solaris 2.5 Lacks vsnprintf - install glibc ?
+ TruUnix64 (DEC UNIX 4.0f) Lacks vsnprintf - install glibc ?
+Please don't report these problems unless you have a nice,
+straightforward solution or workaround for them. (I don't consider
+including a `vsnprintf' implementation nice, so don't send me one.)
+
+
+PORTABILITY INFORMATION
+
+You will find that adns requires a reasonably standard and up to date
+system. Systems which are neither GNU nor UNIX are not supported.
+
+The build system assumes by default that you have ELF shared
+libraries, and that the directory in which libadns.so.1 will be
+installed is on your dynamic library search path. If your system
+doesn't have ELF shared libraries then dynamic linking is not
+supported by adns. Use the --disable-shared configure option.
+Please don't send me patches to use libtool (which I dislike).
+
+Compilers other than GNU C should work, but are not well-tested. Feel
+free to send me patches to improve the situation. However, the
+Makefiles only know how to use GCC to make dynamic libraries.
+
+The adnsresfilter utility uses `tsearch' from the C library (a la SVID
+and X/Open). If you don't have tsearch configure will arranges for
+adnsresfilter not to be built. To fix this, install a C library
+containing tsearch, such as the GNU C library. It is best if tsearch
+uses an automatically-balancing tree algorithm, like the glibc version
+does. Simple binary trees may perform badly.
+
+If you change the m4 input files in regress/ you may need GNU m4.
+
+You will probably find that GNU Make is required.
+Please do not report this as a bug; install GNU Make instead.
+
+
+SECURITY AND PERFORMANCE - AN IMPORTANT NOTE
+
+adns is not a `full-service resolver': it does no caching of responses
+at all, and has no defence against bad nameservers or fake packets
+which appear to come from your real nameservers. It relies on the
+full-service resolvers listed in resolv.conf to handle these tasks.
+
+For secure and reasonable operation you MUST run a full-service
+nameserver on the same system as your adns applications, or on the
+same local, fully trusted network. You MUST only list such
+nameservers in the adns configuration (eg resolv.conf).
+
+You MUST use a firewall or other means to block packets which appear
+to come from these nameservers, but which were actually sent by other,
+untrusted, entities.
+
+Furthermore, adns is not DNSSEC-aware in this version; it doesn't
+understand even how to ask a DNSSEC-aware nameserver to perform the
+DNSSEC cryptographic signature checking.
+
+
+COPYRIGHT
+
+This file, INSTALL, contains installation instructions and other
+details for adns. It is
+ Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+
+adns is
+ Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+ Copyright (C) 1999-2000 Tony Finch <dot(a)dotat.at> [1]
+ Copyright (C) 1991 Massachusetts Institute of Technology [2]
+
+adns is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with adns as the file COPYING; if not, email me at the address
+above or write to the Free Software Foundation, 59 Temple Place -
+Suite 330, Boston, MA 02111-1307, USA.
+
+[1] Tony Finch holds the original copyright on client/adnslogres.c and
+ client/fanftest.c, and some modifications to those files.
+[2] MIT hold the original copyright on the included install-sh,
+ which came via GNU autoconf.
+
+
+# Local variables:
+# mode: text
+# End:
_____
Added: vendor/adns/current/Makefile
--- vendor/adns/current/Makefile 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/Makefile 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,77 @@
+# Generated automatically from Makefile.in by configure.
+# Makefile - top-level Makefile
+#
+# This file is
+# Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+#
+# It is part of adns, which is
+# Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+# Copyright (C) 1999-2000 Tony Finch <dot(a)dotat.at>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Remember to change ADNS_VERSION_STRING in client/client.h too, and
+# possibly library soname (MAJOR and MINOR in settings.make.in).
+DISTVERSION= 1.0
+
+srcdir= .
+
+ENABLE_DYNAMIC= elf
+ifeq ($(ENABLE_DYNAMIC),elf)
+SUBDIRS_DYNAMIC=dynamic
+else
+SUBDIRS_DYNAMIC=
+endif
+
+SUBDIRS= src $(SUBDIRS_DYNAMIC) client regress
+
+all install uninstall clean distclean mostlyclean maintainer-clean
distprep:
+ set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
+ $(MAKE) $@-here
+
+all-here install-here uninstall-here distprep-here: README
+
+clean-here mostlyclean-here:
+ rm -f *~ ./#*# core *.orig *.rej adns-*.tar.gz
+ rm -rf dist_tmp
+
+distclean-here maintainer-clean-here: clean-here
+ rm -f settings.make config.h config.cache config.log
config.status
+
+install-strip:
+ $(MAKE) INSTALL_PROGRAM_FLAGS=-s
+
+dist_tmp=dist_tmp/adns-$(DISTVERSION)
+dist: distprep
+ rm -rf dist_tmp*
+ mkdir dist_tmp $(dist_tmp)
+ find \( -name CVS -o -name dist_tmp* \) -prune -o -type d -print
| \
+ sed -e 's#.*#mkdir -p $(dist_tmp)/&#' | sh
+ find \( -name CVS -o -name dist_tmp* \) -prune -o -type f -print
| \
+ sed -e 's#.*#ln & $(dist_tmp)/&#' | sh
+ $(MAKE) -C dist_tmp/adns-$(DISTVERSION) distclean
+ cd dist_tmp && tar cf ../$(dist_tmp).tar `basename $(dist_tmp)`
+ gzip -9 $(dist_tmp).tar
+ mv $(dist_tmp).tar.gz .
+
+check: all
+ $(MAKE) -C regress check
+
+README: README.html
+ lynx -dump -number_links -cfg=/dev/null ./README.html
>README.tmp
+ mv -f README.tmp README
+
+TAGS info dvi:
+ # do nothing
_____
Added: vendor/adns/current/Makefile.in
--- vendor/adns/current/Makefile.in 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/Makefile.in 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,77 @@
+# Makefile - top-level Makefile
+#
+# This file is
+# Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+#
+# It is part of adns, which is
+# Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+# Copyright (C) 1999-2000 Tony Finch <dot(a)dotat.at>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Remember to change ADNS_VERSION_STRING in client/client.h too, and
+# possibly library soname (MAJOR and MINOR in settings.make.in).
+DISTVERSION= 1.0
+
+srcdir= @srcdir@
+VPATH= @srcdir@
+
+ENABLE_DYNAMIC= @ENABLE_DYNAMIC@
+ifeq ($(ENABLE_DYNAMIC),elf)
+SUBDIRS_DYNAMIC=dynamic
+else
+SUBDIRS_DYNAMIC=
+endif
+
+SUBDIRS= src $(SUBDIRS_DYNAMIC) client regress
+
+all install uninstall clean distclean mostlyclean maintainer-clean
distprep:
+ set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
+ $(MAKE) $@-here
+
+all-here install-here uninstall-here distprep-here: README
+
+clean-here mostlyclean-here:
+ rm -f *~ ./#*# core *.orig *.rej adns-*.tar.gz
+ rm -rf dist_tmp
+
+distclean-here maintainer-clean-here: clean-here
+ rm -f settings.make config.h config.cache config.log
config.status
+
+install-strip:
+ $(MAKE) INSTALL_PROGRAM_FLAGS=-s
+
+dist_tmp=dist_tmp/adns-$(DISTVERSION)
+dist: distprep
+ rm -rf dist_tmp*
+ mkdir dist_tmp $(dist_tmp)
+ find \( -name CVS -o -name dist_tmp* \) -prune -o -type d -print
| \
+ sed -e 's#.*#mkdir -p $(dist_tmp)/&#' | sh
+ find \( -name CVS -o -name dist_tmp* \) -prune -o -type f -print
| \
+ sed -e 's#.*#ln & $(dist_tmp)/&#' | sh
+ $(MAKE) -C dist_tmp/adns-$(DISTVERSION) distclean
+ cd dist_tmp && tar cf ../$(dist_tmp).tar `basename $(dist_tmp)`
+ gzip -9 $(dist_tmp).tar
+ mv $(dist_tmp).tar.gz .
+
+check: all
+ $(MAKE) -C regress check
+
+README: README.html
+ lynx -dump -number_links -cfg=/dev/null ./README.html
>README.tmp
+ mv -f README.tmp README
+
+TAGS info dvi:
+ # do nothing
_____
Added: vendor/adns/current/README
--- vendor/adns/current/README 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/README 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,167 @@
+
+ GNU adns
+
+ Advanced, easy to use, asynchronous-capable DNS client library and
+ utilities.
+
+ adns is a resolver library for C (and C++) programs, and a
collection
+ of useful DNS resolver utilities.
+
+C library
+
+ In contrast with the standard interfaces, gethostbyname et al and
+ libresolv, it has the following features:
+ * It is reasonably easy to use for simple programs which just want
+ to translate names to addresses, look up MX records, etc.
+ * It can be used in an asynchronous, non-blocking, manner. Many
+ queries can be handled simultaneously.
+ * Responses are decoded automatically into a natural
representation
+ for a C program - there is no need to deal with DNS packet
+ formats.
+ * Sanity checking (eg, name syntax checking, reverse/forward
+ correspondence, CNAME pointing to CNAME) is performed
+ automatically.
+ * Time-to-live, CNAME and other similar information is returned in
+ an easy-to-use form, without getting in the way.
+ * There is no global state in the library; resolver state is an
+ opaque data structure which the client creates explicitly. A
+ program can have several instances of the resolver.
+ * Errors are reported to the application in a way that
distinguishes
+ the various causes of failure properly.
+ * Understands conventional resolv.conf, but this can overridden by
+ environment variables.
+ * Flexibility. For example, the application can tell adns to:
ignore
+ environment variables (for setuid programs), disable hostname
+ syntax sanity checks to return arbitrary data, override or
ignore
+ resolv.conf in favour of supplied configuration, etc.
+ * Believed to be correct ! For example, will correctly back off to
+ TCP in case of long replies or queries, or to other nameservers
if
+ several are available. It has sensible handling of bad responses
+ etc.
+
+DNS utility programs
+
+ adns also comes with a number of utility programs for use from the
+ command line and in scripts:
+ * adnslogres is a much faster version of Apache's logresolv
program.
+ * adnsresfilter is a filter which copies its input to its output,
+ replacing IP addresses by the corresponding names, without
unduly
+ delaying the output. For example, you can usefully pipe the
output
+ of netstat -n, tcpdump -ln, and the like, into it.
+ * adnshost is a general-purpose DNS lookup utility which can be
used
+ easily in from the command line and from shell scripts to do
+ simple lookups. In a more advanced mode it can be used as a
+ general-purpose DNS helper program for scripting languages which
+ can invoke and communicate with subprocesses. See the
[1]adnshost
+ usage message for a summary of its capabilities.
+
+Documentation
+
+ I'm afraid there is no manual yet. However, competent C programmers
+ should be able to use the library based on the [2]commented adns.h
+ header file, and the usage messages for the programs should be
+ sufficient.
+
+Feedback
+
+ I'd be pleased if you would let me know if you're using my library
in
+ your project, and what you think of it.
+
+ If you are subscribed to adns-discuss please send feedback,
including
+ bug reports, there; otherwise send mail to
+ adns-bugreports(a)chiark.greenend.org.uk. If you'd prefer that your
+ message wasn't forwarded to the adns-bugreports list, send it to
+ adns-maint(a)chiark.greenend.org.uk.
+
+Mailinglists
+
+ I have set up mailinglists adns-announce and adns-discuss. The
+ announcements list is moderated and will contain only announcements
of
+ important bugs, new versions, etc. The bug reports address mentioned
+ above is also a mailing list; feel free to subscribe to it.
+
+ There are [3]archives and subscription web pages, or you can
subscribe
+ by sending mail containing the word `subscribe' to
+ adns-announce-REQUEST(a)chiark.greenend.org.uk or
+ adns-discuss-REQUEST(a)chiark.greenend.org.uk.
+
+Download
+
+ Available for download from [4]chiark.greenend.org.uk are:
+ * The [5]current release as a gzipped tarfile.
+ * [6]adns.h API header file with comments, and [7]usage message
for
+ adnshost (currently there is no manual, sorry).
+ * All versions released so far are also available via [8]anonymous
+ FTP and [9]HTTP,
+ * A mirror of my CVS repository is available via rsync from
+ rsync.chiark.greenend.org.uk::ftp/users/ian/cvs-pub/adns (use
FTP
+ first to find your way around), or via [10]cvsweb.
+
+ adns is also available from the [11]GNU Project FTP servers and
their
+ [12]mirrors.
+
+Technical note
+
+ adns requires a real nameserver like [13]BIND or [14]Dents running
on
+ the same system or a nearby one, which must be willing to provide
+ `recursive service'. I.e., adns is a `stub resolver'. All properly
+ configured UN*X and GNU systems will already have such
nameserver(s);
+ they are usually listed in /etc/resolv.conf.
+
+Copyright and licensing
+
+ adns is Copyright 1997-2000 Ian Jackson, Copyright 1999-2000 Tony
+ Finch, and Copyright (C) 1991 Massachusetts Institute of Technology.
+
+ adns is free software; you can redistribute it and/or modify it
under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program and documentation is distributed in the hope that it
will
+ be useful, but without any warranty; without even the implied
warranty
+ of merchantability or fitness for a particular purpose. See the
+ [15]GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with adns, or one should be available above; if not, write to
+ the [16]Free Software Foundation, 59 Temple Place - Suite 330,
Boston,
+ MA 02111-1307, USA, or email adns-maint(a)chiark.greenend.org.uk.
+ _________________________________________________________________
+
+ [17]Ian Jackson / [18]adns-maint(a)chiark.greenend.org.uk; more
[19]free
+ software by me.
+
+ [20]GNU home page; [21]chiark home page; [22]site or mirror home
page
+
+ This web page is Copyright (C)1996-2000 Ian Jackson. See the
+ [23]Copyright/acknowledgements.
+
+ Use any browser - [24]Campaign for a non-browser-specific WWW
+
+References
+
+ 1. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt
+ 2. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
+ 3. http://www.chiark.greenend.org.uk/mailman/listinfo
+ 4. http://www.chiark.greenend.org.uk/~ian/adns/
+ 5. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz
+ 6. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
+ 7. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt
+ 8. ftp://ftp.chiark.greenend.org.uk/users/ian/adns/
+ 9. http://www.chiark.greenend.org.uk/~ian/adns/ftp/
+ 10. http://www.chiark.greenend.org.uk/ucgi/~ijackson/cvsweb/adns/
+ 11. http://www.gnu.org/
+ 12. http://www.gnu.org/order/ftp.html
+ 13. http://www.isc.org/view.cgi?/products/BIND/index.phtml
+ 14. http://www.dents.org/
+ 15. http://www.chiark.greenend.org.uk/~ian/COPYING.txt
+ 16. http://www.fsf.org/
+ 17. http://www.chiark.greenend.org.uk/
+ 18. mailto:adns-maint@chiark.greenend.org.uk
+ 19. http://www.chiark.greenend.org.uk/~ian/software/
+ 20. http://www.gnu.org/
+ 21. http://www.chiark.greenend.org.uk/
+ 22. file://localhost/
+ 23. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html
+ 24. http://www.anybrowser.org/campaign/
_____
Added: vendor/adns/current/README.html
--- vendor/adns/current/README.html 2006-01-28 20:22:17 UTC (rev 23)
+++ vendor/adns/current/README.html 2006-01-28 21:18:19 UTC (rev 24)
@@ -0,0 +1,222 @@
+<html>
+<head>
+<title>adns - advanced, alternative, asynchronous resolver</title>
+<link rev="made" href="mailto:adns-maint@chiark.greenend.org.uk">
+</head>
+<body>
+<h1>GNU adns</h1>
+
+<strong>Advanced, easy to use, asynchronous-capable DNS client
+library and utilities.</strong>
+
+<!-- Note: this file is maintained in Ian Jackson's private CVS. -->
+<!-- -->
+<!-- It is served on the GNU site and also from my own system, -->
+<!-- under the URL http://www.chiark.greenend.org.uk/adns/ -->
+<!-- Please ensure that all links continine to be correct -->
+<!-- both for www.gnu.org and chiark. -->
+<!-- -->
+<!-- $Id: README.html,v 1.5 2000/09/17 14:09:22 ian Exp $ -->
+
+<p>
+
+adns is a resolver library for C (and C++) programs, and a collection
+of useful DNS resolver utilities.
+
+
+<h2>C library</h2>
+
+In contrast with the standard interfaces, gethostbyname et al and
+libresolv, it has the following features:
+
+<ul>
+
+<li>It is reasonably easy to use for simple programs which just want
+to translate names to addresses, look up MX records, etc.
+
+<li>It can be used in an asynchronous, non-blocking, manner. Many
+queries can be handled simultaneously.
+
+<li>Responses are decoded automatically into a natural representation
+for a C program - there is no need to deal with DNS packet formats.
+
+<li>Sanity checking (eg, name syntax checking, reverse/forward
+correspondence, CNAME pointing to CNAME) is performed automatically.
+
+<li>Time-to-live, CNAME and other similar information is returned in
+an easy-to-use form, without getting in the way.
+
+<li>There is no global state in the library; resolver state is an
+opaque data structure which the client creates explicitly. A program
+can have several instances of the resolver.
+
[truncated at 1000 lines; 41107 more skipped]
Added oskittcp. As the name suggests, it was taken from OSKIT.
ReactOS specific parts are interface.c and include/oskit*.h
These define an abstract interface to this TCP component that could be
used
by anyone. In this way, oskittcp can be used in a variety of roles.
Added: trunk/reactos/lib/network/
Added: trunk/reactos/lib/network/oskittcp/
Added: trunk/reactos/lib/network/oskittcp/README
Added: trunk/reactos/lib/network/oskittcp/include/
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/dev/
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm_par
am.h
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/net/
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/arpa/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/arpa/inet
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/imp.h
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/src/
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ansi.
h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/cpufu
nc.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/endia
n.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ipl.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/limit
s.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/param
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/proc.
h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/signa
l.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/spl.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/stdar
g.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/trap.
h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/types
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/vmpar
am.h
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/if.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/if_arp.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/netisr.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/radix.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/raw_cb.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/net/route.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/if_et
her.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/igmp_
var.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/in.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/in_pc
b.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/in_sy
stm.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/in_va
r.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/ip.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/ip_fw
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/ip_ic
mp.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/ip_va
r.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcp.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcp_d
ebug.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcp_f
sm.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcp_s
eq.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcp_t
imer.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcp_v
ar.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/tcpip
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/udp.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/netinet/udp_v
ar.h
Added: trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/buf.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/callout.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/cdefs.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/domain.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/errno.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/fcntl.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/file.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/filedesc.
h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/filio.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/ioccom.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/ioctl.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/kernel.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/libkern.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/malloc.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/mbuf.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/param.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/proc.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/protosw.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/queue.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/resource.
h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/resourcev
ar.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/rtprio.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/select.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/signal.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/signalvar
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/socket.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/socketvar
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/sockio.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/stat.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/sysctl.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/syslimits
.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/syslog.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/systm.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/time.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/ttycom.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/types.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/ucred.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/uio.h
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/sys/unistd.h
Added: trunk/reactos/lib/network/oskittcp/include/memtrack.h
Added: trunk/reactos/lib/network/oskittcp/include/oskitdebug.h
[truncated at 100 lines; 39 more skipped]
_____
Added: trunk/reactos/lib/network/oskittcp/README
--- trunk/reactos/lib/network/oskittcp/README 2006-01-28 20:14:38 UTC
(rev 22)
+++ trunk/reactos/lib/network/oskittcp/README 2006-01-28 20:22:17 UTC
(rev 23)
@@ -0,0 +1,5 @@
+These files are originally from the freebsd TCP stack contained on
oskit.
+Only files relevent to TCP are here, along with assorted interfaces
that
+are needed to make them useful. Overall, I intend this to implement a
+generic, standalone TCP library that can be used with any IP machinery
+required.
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm.h
2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm.h
2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 1997-1998 University of Utah and the Flux Group.
+ * All rights reserved.
+ *
+ * This file is part of the Flux OSKit. The OSKit is free software,
also known
+ * as "open source;" you can redistribute it and/or modify it under the
terms
+ * of the GNU General Public License (GPL), version 2, as published by
the Free
+ * Software Foundation (FSF). To explore alternate licensing terms,
contact
+ * the University of Utah at csl-dist(a)cs.utah.edu or +1-801-585-3271.
+ *
+ * The OSKit is distributed in the hope that it will be useful, but
WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GPL for more details. You should
have
+ * received a copy of the GPL along with the OSKit; see the file
COPYING. If
+ * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307,
USA.
+ */
+/*
+ * here's vm.h's primary purpose in life:
+ *
+ * define `vm_map_t' for the first arg to kmem_alloc()
+ */
+#ifndef _FAKE_VM_H
+#define _FAKE_VM_H
+
+typedef void *vm_map_t;
+
+#include <vm/vm_param.h>
+
+/*
+ * XXX This is used by syscons to compute the address of the video
buffer.
+ * This definition means the driver will only work when kva == pa.
+ * The real solution would be to modify the driver to map the buffer
explicitly.
+ */
+#define vtophys(va) va
+
+/*
+ * ip_icmp.c and possibly other files rely on vm/vm.h to get sys/proc
...
+ */
+#include <sys/proc.h>
+#include <sys/queue.h>
+
+#endif /* _FAKE_VM_H */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm_par
am.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm_par
am.h 2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/dev/include/vm/vm_par
am.h 2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 1997-1998 University of Utah and the Flux Group.
+ * All rights reserved.
+ *
+ * This file is part of the Flux OSKit. The OSKit is free software,
also known
+ * as "open source;" you can redistribute it and/or modify it under the
terms
+ * of the GNU General Public License (GPL), version 2, as published by
the Free
+ * Software Foundation (FSF). To explore alternate licensing terms,
contact
+ * the University of Utah at csl-dist(a)cs.utah.edu or +1-801-585-3271.
+ *
+ * The OSKit is distributed in the hope that it will be useful, but
WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GPL for more details. You should
have
+ * received a copy of the GPL along with the OSKit; see the file
COPYING. If
+ * not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307,
USA.
+ */
+#ifndef _VM_PARAM_
+#define _VM_PARAM_
+
+#include <machine/vmparam.h>
+
+typedef int boolean_t;
+
+#define TRUE 1
+#define FALSE 0
+
+#endif /* _VM_PARAM_ */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/arpa/inet
.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/arpa/inet
.h 2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/arpa/inet
.h 2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 1983, 1993
+ * The Regents of the University of California. All rights
reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
the
+ * documentation and/or other materials provided with the
distribution.
+ * 3. All advertising materials mentioning features or use of this
software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its
contributors
+ * may be used to endorse or promote products derived from this
software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
+ * SUCH DAMAGE.
+ *
+ * @(#)inet.h 8.1 (Berkeley) 6/2/93
+ */
+
+#ifndef _ARPA_INET_H_
+#define _ARPA_INET_H_
+
+/* External definitions for functions in inet(3) */
+
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+#ifndef _WINSOCKAPI_
+unsigned long inet_addr __P((const char *));
+#endif//_WINSOCKAPI_
+int inet_aton __P((const char *, struct in_addr *));
+unsigned long inet_lnaof __P((struct in_addr));
+struct in_addr inet_makeaddr __P((u_long , u_long));
+unsigned long inet_netof __P((struct in_addr));
+unsigned long inet_network __P((const char *));
+#ifndef _WINSOCKAPI_
+char *inet_ntoa __P((struct in_addr));
+#endif//_WINSOCKAPI_
+__END_DECLS
+
+#endif /* !_INET_H_ */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/imp.h
--- trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/imp.h
2006-01-28 20:14:38 UTC (rev 22)
+++ trunk/reactos/lib/network/oskittcp/include/freebsd/net/include/imp.h
2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1 @@
+#define NIMP 0
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ansi.
h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ansi.
h 2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ansi.
h 2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,96 @@
+/*-
+ * Copyright (c) 1990, 1993
+ * The Regents of the University of California. All rights
reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
the
+ * documentation and/or other materials provided with the
distribution.
+ * 3. All advertising materials mentioning features or use of this
software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its
contributors
+ * may be used to endorse or promote products derived from this
software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
+ * SUCH DAMAGE.
+ *
+ * @(#)ansi.h 8.2 (Berkeley) 1/4/94
+ */
+
+#ifndef _MACHINE_ANSI_H_
+#define _MACHINE_ANSI_H_
+
+/*
+ * Types which are fundamental to the implementation and must be
declared
+ * in more than one standard header are defined here. Standard headers
+ * then use:
+ * #ifdef _BSD_SIZE_T_
+ * typedef _BSD_SIZE_T_ size_t;
+ * #undef _BSD_SIZE_T_
+ * #endif
+ */
+#define _BSD_CLOCK_T_ unsigned long /* clock() */
+#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2
*/
+#ifndef _BSD_SIZE_T_
+#define _BSD_SIZE_T_ unsigned int /* sizeof() */
+#endif
+#define _BSD_SSIZE_T_ int /* byte count or
error */
+#define _BSD_TIME_T_ long /* time() */
+
+/*
+ * Types which are fundamental to the implementation and must be used
+ * in more than one standard header although they are only declared in
+ * one (perhaps nonstandard) header are defined here. Standard headers
+ * use _BSD_XXX_T_ without undef'ing it.
+ */
+#define _BSD_OFF_T_ long long /* file offset
*/
+#define _BSD_PID_T_ long /* process
[group] */
+#define _BSD_VA_LIST_ char * /* va_list */
+
+/*
+ * Runes (wchar_t) is declared to be an ``int'' instead of the more
natural
+ * ``unsigned long'' or ``long''. Two things are happening here. It
is not
+ * unsigned so that EOF (-1) can be naturally assigned to it and used.
Also,
+ * it looks like 10646 will be a 31 bit standard. This means that if
your
+ * ints cannot hold 32 bits, you will be in trouble. The reason an int
was
+ * chosen over a long is that the is*() and to*() routines take ints
(says
+ * ANSI C), but they use _RUNE_T_ instead of int. By changing it here,
you
+ * lose a bit of ANSI conformance, but your programs will still work.
+ *
+ * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When
wchar_t
+ * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T
remains
+ * defined for ctype.h.
+ */
+#define _BSD_WCHAR_T_ int /* wchar_t */
+#define _BSD_RUNE_T_ int /* rune_t */
+
+/*
+ * Frequencies of the clock ticks reported by clock() and times().
They
+ * are the same as stathz for bogus historical reasons. They should be
+ * 1e6 because clock() and times() are implemented using getrusage()
and
+ * there is no good reason why they should be less accurate. There is
+ * the bad reason that (broken) programs might not like clock_t or
+ * CLOCKS_PER_SEC being ``double'' (``unsigned long'' is not large
enough
+ * to hold the required 24 hours worth of ticks if the frequency is
+ * 1000000ul, and ``unsigned long long'' would be nonstandard).
+ */
+#define _BSD_CLK_TCK_ 128
+#define _BSD_CLOCKS_PER_SEC_ 128
+
+#endif /* !_MACHINE_ANSI_H_ */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/cpufu
nc.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/cpufu
nc.h 2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/cpufu
nc.h 2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,457 @@
+/*-
+ * Copyright (c) 1993 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
the
+ * documentation and/or other materials provided with the
distribution.
+ * 3. All advertising materials mentioning features or use of this
software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its
contributors
+ * may be used to endorse or promote products derived from this
software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
+ * SUCH DAMAGE.
+ *
+ */
+
+/*
+ * Functions to provide access to special i386 instructions.
+ */
+
+#ifndef _MACHINE_CPUFUNC_H_
+#define _MACHINE_CPUFUNC_H_
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
+#include <machine/spl.h> /* XXX belongs elsewhere */
+
+#ifdef __GNUC__
+
+#ifdef BDE_DEBUGGER
+extern int bdb_exists;
+
+static __inline int
+bdb(void)
+{
+ if (!bdb_exists)
+ return (0);
+ __asm __volatile("int $3");
+ return (1);
+}
+#endif /* BDE_DEBUGGER */
+
+static __inline void
+disable_intr(void)
+{
+#ifdef OSKIT
+ osenv_intr_disable();
+#else
+ __asm __volatile("cli" : : : "memory");
+#endif
+}
+
+static __inline void
+enable_intr(void)
+{
+#ifdef OSKIT
+ osenv_intr_enable();
+#else
+ __asm __volatile("sti");
+#endif
+}
+
+#define HAVE_INLINE_FFS
+
+static __inline int
+ffs(int mask)
+{
+ int result;
+ /*
+ * bsfl turns out to be not all that slow on 486's. It can
beaten
+ * using a binary search to reduce to 4 bits and then a table
lookup,
+ * but only if the code is inlined and in the cache, and the
code
+ * is quite large so inlining it probably busts the cache.
+ *
+ * Note that gcc-2's builtin ffs would be used if we didn't
declare
+ * this inline or turn off the builtin. The builtin is faster
but
+ * broken in gcc-2.4.5 and slower but working in gcc-2.5 and
2.6.
+ */
+ __asm __volatile("testl %0,%0; je 1f; bsfl %0,%0; incl %0; 1:"
+ : "=r" (result) : "0" (mask));
+ return (result);
+}
+
+#if __GNUC__ < 2
+
+#define inb(port) inbv(port)
+#define outb(port, data) outbv(port, data)
+
+#else /* __GNUC >= 2 */
+
+/*
+ * The following complications are to get around gcc not having a
+ * constraint letter for the range 0..255. We still put "d" in the
+ * constraint because "i" isn't a valid constraint when the port
+ * isn't constant. This only matters for -O0 because otherwise
+ * the non-working version gets optimized away.
+ *
+ * Use an expression-statement instead of a conditional expression
+ * because gcc-2.6.0 would promote the operands of the conditional
+ * and produce poor code for "if ((inb(var) & const1) == const2)".
+ */
+#define inb(port) ({
\
+ u_char _data;
\
+ if (__builtin_constant_p((int) (port)) && (port) < 256ul)
\
+ _data = inbc(port);
\
+ else
\
+ _data = inbv(port);
\
+ _data; })
+
+#define outb(port, data) \
+ (__builtin_constant_p((int) (port)) && (port) < 256ul \
+ ? outbc(port, data) : outbv(port, data))
+
+static __inline u_char
+inbc(u_int port)
+{
+ u_char data;
+
+ __asm __volatile("inb %1,%0" : "=a" (data) : "id"
((u_short)(port)));
+ return (data);
+}
+
+static __inline void
+outbc(u_int port, u_char data)
+{
+ __asm __volatile("outb %0,%1" : : "a" (data), "id"
((u_short)(port)));
+}
+
+#endif /* __GNUC <= 2 */
+
+static __inline u_char
+inbv(u_int port)
+{
+ u_char data;
+ /*
+ * We use %%dx and not %1 here because i/o is done at %dx and
not at
+ * %edx, while gcc generates inferior code (movw instead of
movl)
+ * if we tell it to load (u_short) port.
+ */
+ __asm __volatile("inb %%dx,%0" : "=a" (data) : "d" (port));
+ return (data);
+}
+
+static __inline u_long
+inl(u_int port)
+{
+ u_long data;
+
+ __asm __volatile("inl %%dx,%0" : "=a" (data) : "d" (port));
+ return (data);
+}
+
+static __inline void
+insb(u_int port, void *addr, size_t cnt)
+{
+ __asm __volatile("cld; rep; insb"
+ : : "d" (port), "D" (addr), "c" (cnt)
+ : "di", "cx", "memory");
+}
+
+static __inline void
+insw(u_int port, void *addr, size_t cnt)
+{
+ __asm __volatile("cld; rep; insw"
+ : : "d" (port), "D" (addr), "c" (cnt)
+ : "di", "cx", "memory");
+}
+
+static __inline void
+insl(u_int port, void *addr, size_t cnt)
+{
+ __asm __volatile("cld; rep; insl"
+ : : "d" (port), "D" (addr), "c" (cnt)
+ : "di", "cx", "memory");
+}
+
+static __inline u_short
+inw(u_int port)
+{
+ u_short data;
+
+ __asm __volatile("inw %%dx,%0" : "=a" (data) : "d" (port));
+ return (data);
+}
+
+static __inline unsigned
+loadandclear(u_int *addr)
+{
+ u_int result;
+
+ __asm __volatile("xorl %0,%0; xchgl %1,%0"
+ : "=&r" (result) : "m" (*addr));
+ return (result);
+}
+
+static __inline void
+outbv(u_int port, u_char data)
+{
+ u_char al;
+ /*
+ * Use an unnecessary assignment to help gcc's register
allocator.
+ * This make a large difference for gcc-1.40 and a tiny
difference
+ * for gcc-2.6.0. For gcc-1.40, al had to be ``asm("ax")'' for
+ * best results. gcc-2.6.0 can't handle this.
+ */
+ al = data;
+ __asm __volatile("outb %0,%%dx" : : "a" (al), "d" (port));
+}
+
+static __inline void
+outl(u_int port, u_long data)
+{
+ /*
+ * outl() and outw() aren't used much so we haven't looked at
+ * possible micro-optimizations such as the unnecessary
+ * assignment for them.
+ */
+ __asm __volatile("outl %0,%%dx" : : "a" (data), "d" (port));
+}
+
+static __inline void
+outsb(u_int port, void *addr, size_t cnt)
+{
+ __asm __volatile("cld; rep; outsb"
+ : : "d" (port), "S" (addr), "c" (cnt)
+ : "si", "cx");
+}
+
+static __inline void
+outsw(u_int port, void *addr, size_t cnt)
+{
+ __asm __volatile("cld; rep; outsw"
+ : : "d" (port), "S" (addr), "c" (cnt)
+ : "si", "cx");
+}
+
+static __inline void
+outsl(u_int port, void *addr, size_t cnt)
+{
+ __asm __volatile("cld; rep; outsl"
+ : : "d" (port), "S" (addr), "c" (cnt)
+ : "si", "cx");
+}
+
+static __inline void
+outw(u_int port, u_short data)
+{
+ __asm __volatile("outw %0,%%dx" : : "a" (data), "d" (port));
+}
+
+static __inline void
+pmap_update(void)
+{
+ u_long temp;
+ /*
+ * This should be implemented as load_cr3(rcr3()) when
load_cr3()
+ * is inlined.
+ */
+ __asm __volatile("movl %%cr3, %0; movl %0, %%cr3" : "=r" (temp)
+ : : "memory");
+}
+
+static __inline u_long
+rcr2(void)
+{
+ u_long data;
+
+ __asm __volatile("movl %%cr2,%0" : "=r" (data));
+ return (data);
+}
+
+static __inline u_long
+read_eflags(void)
+{
+ u_long ef;
+
+ __asm __volatile("pushfl; popl %0" : "=r" (ef));
+ return (ef);
+}
+
+static __inline void
+write_eflags(u_long ef)
+{
+ __asm __volatile("pushl %0; popfl" : : "r" (ef));
+}
+
+#else /* !__GNUC__ */
+
+int bdb __P((void));
+void disable_intr __P((void));
+void enable_intr __P((void));
+u_char inb __P((u_int port));
+u_long inl __P((u_int port));
+void insb __P((u_int port, void *addr, size_t cnt));
+void insl __P((u_int port, void *addr, size_t cnt));
+void insw __P((u_int port, void *addr, size_t cnt));
+u_short inw __P((u_int port));
+u_int loadandclear __P((u_int *addr));
+void outb __P((u_int port, u_char data));
+void outl __P((u_int port, u_long data));
+void outsb __P((u_int port, void *addr, size_t cnt));
+void outsl __P((u_int port, void *addr, size_t cnt));
+void outsw __P((u_int port, void *addr, size_t cnt));
+void outw __P((u_int port, u_short data));
+void pmap_update __P((void));
+u_long read_eflags __P((void));
+u_long rcr2 __P((void));
+void write_eflags __P((u_long ef));
+
+#endif /* __GNUC__ */
+
+/*
+ * XXX queue stuff belongs elsewhere.
+ */
+struct quehead {
+ struct quehead *qh_link;
+ struct quehead *qh_rlink;
+};
+
+static __inline void
+insque(void *a, void *b)
+{
+ struct quehead *element = (struct quehead *)a,
+ *head = (struct quehead *)b;
+
+ element->qh_link = head->qh_link;
+ element->qh_rlink = head;
+ head->qh_link = element;
+ element->qh_link->qh_rlink = element;
+}
+
+static __inline void
+remque(void *a)
+{
+ struct quehead *element = (struct quehead *)a;
+
+ element->qh_link->qh_rlink = element->qh_rlink;
+ element->qh_rlink->qh_link = element->qh_link;
+ element->qh_rlink = 0;
+}
+
+/*
+ * XXX the following declarations document garbage in support.s.
+ * gcc hasn't needed _divsi* for years.
+ * bcopy[bwx]() was used by pccons but isn't used now.
+ */
+int __divsi3 __P((int factor1, int factor2));
+u_int __udivsi3 __P((u_int factor1, u_int factor2));
+void bcopyb __P((const void *from, void *to, size_t len));
+void bcopyw __P((const void *from, void *to, size_t len));
+void bcopyx __P((const void *from, void *to, size_t len,
+ int stride));
+
+#if 0
+/*
+ * These functions in support.s are declared elsewhere.
+ */
+void bcopy __P((const void *from, void *to, size_t len));
+void blkclr __P((void *buf, size_t len));
+void bzero __P((void *buf, size_t len));
+int copyin __P((void *udaddr, void *kaddr, size_t len));
+int copyinstr __P((void *udaddr, void *kaddr, size_t len,
+ size_t *lencopied));
+int copyout __P((void *kaddr, void *udaddr, size_t len));
+int copystr __P((void *kfaddr, void *kdaddr, size_t len,
+ size_t *lencopied));
+int fubyte __P((void *base));
+int fuswintr __P((void *base));
+int fuibyte __P((void *base));
+int fuword __P((void *base));
+struct region_descriptor;
+void lgdt __P((struct region_descriptor *rdp));
+void lidt __P((struct region_descriptor *rdp));
+void lldt __P((u_short sel));
+/*
+ * longjmp() and setjmp() are only used by ddb. They probably
shouldn't
+ * shouldn't be supported in the kernel.
+ */
+#include <setjmp.h>
+void longjmp __P((jmp_buf jb, int rv));
+void ovbcopy __P((const void *from, void *to, size_t len);
+int setjmp __P((jmp_buf jb));
+struct soft_segment_descriptor;
+union descriptor;
+int ssdtosd __P((struct soft_segment_descriptor *ssdp,
+ union descriptor *sdp));
+int subyte __P((void *base, int byte));
+int suibyte __P((void *base, int byte));
+int suswintr __P((void *base, int word));
+int suword __P((void *base, int word));
+
+/*
+ * These functions in support.s are declared elsewhere, but never used.
+ * A silly amount of effort went into copyoutstr(). It's not worth
+ * maintaining, since the string length is usually known so copyout
+ * works better, or is easy to find so copyout() can be used.
+ */
+int copyoutstr __P((void *kaddr, void *udaddr, size_t len,
+ size_t *lencopied));
+int fuiword __P((void *base));
+int suiword __P((void *base, int word));
+
+/*
+ * These functions in support.s are also in libkern.a and are declared
in
+ * libkern.h.
+ * ffs() is built in to gcc-2 and was buggy in gcc-2.4.5 so we may may
the
+ * buggy version if we don't replace it by an inline.
+ */
+int bcmp __P((const void *b1, const void *b2, size_t
length));
+int ffs __P((int mask));
+#endif /* 0 */
+
+/*
+ * These variables and functions in support.s are used.
+ */
+extern u_int atdevbase; /* offset in virtual memory of ISA io
mem */
+
+void filli __P((int pat, void *base, size_t cnt));
+void fillw __P((int /*u_short*/ pat, void *base, size_t
cnt));
+int fusword __P((void *base));
+void load_cr0 __P((u_long cr0));
+void load_cr3 __P((u_long cr3));
+void ltr __P((u_short sel));
+u_int rcr0 __P((void));
+u_long rcr3 __P((void));
+int rtcin __P((int val));
+
+/*
+ * These functions are NOT in support.s and should be declared
elsewhere.
+ */
+void Debugger __P((const char *msg));
+u_long kvtop __P((void *addr));
+typedef void alias_for_inthand_t __P((u_int cs, u_int ef, u_int esp,
+ u_int ss));
+void setidt __P((int idx, alias_for_inthand_t *func, int
typ,
+ int dpl, int selec));
+
+#endif /* !_MACHINE_CPUFUNC_H_ */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/endia
n.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/endia
n.h 2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/endia
n.h 2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,141 @@
+/*
+ * Copyright (c) 1987, 1991 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
the
+ * documentation and/or other materials provided with the
distribution.
+ * 3. All advertising materials mentioning features or use of this
software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its
contributors
+ * may be used to endorse or promote products derived from this
software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)endian.h 7.8 (Berkeley) 4/3/91
+ */
+
+#ifndef _MACHINE_ENDIAN_H_
+#define _MACHINE_ENDIAN_H_ 1
+
+/*
+ * Define the order of 32-bit words in 64-bit words.
+ */
+#define _QUAD_HIGHWORD 1
+#define _QUAD_LOWWORD 0
+
+/*
+ * Definitions for byte order, according to byte significance from low
+ * address to high.
+ */
+#define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */
+#define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */
+#define PDP_ENDIAN 3412 /* LSB first in word, MSW first
in long */
+
+#define BYTE_ORDER LITTLE_ENDIAN
+
+#ifndef KERNEL
+#include <sys/cdefs.h>
+#endif
+
+#ifdef _MSC_VER
+static inline unsigned long __byte_swap_long ( unsigned long i )
+{
+ char dst[4];
+ char* src = (char*)&i;
+ dst[0] = src[3];
+ dst[1] = src[2];
+ dst[2] = src[1];
+ dst[3] = src[0];
+ return *(unsigned long*)&dst[0];
+}
+
+static inline unsigned short __byte_swap_word ( unsigned short i )
+{
+ char dst[2];
+ char* src = (char*)&i;
+ dst[0] = src[1];
+ dst[1] = src[0];
+ return *(unsigned short*)&dst[0];
+}
+#else/*_MSC_VER*/
+#define __word_swap_long(x) \
+({ register u_long __X = (x); \
+ __asm ("rorl $16, %1" \
+ : "=r" (__X) \
+ : "0" (__X)); \
+ __X; })
+#if __GNUC__ >= 2
+#define __byte_swap_long(x) \
+__extension__ ({ register u_long __X = (x); \
+ __asm ("xchgb %h1, %b1\n\trorl $16, %1\n\txchgb %h1, %b1" \
+ : "=q" (__X) \
+ : "0" (__X)); \
+ __X; })
+#define __byte_swap_word(x) \
+__extension__ ({ register u_short __X = (x); \
+ __asm ("xchgb %h1, %b1" \
+ : "=q" (__X) \
+ : "0" (__X)); \
+ __X; })
+#else /* __GNUC__ >= 2 */
+#define __byte_swap_long(x) \
+({ register u_long __X = (x); \
+ __asm ("rorw $8, %w1\n\trorl $16, %1\n\trorw $8, %w1" \
+ : "=r" (__X) \
+ : "0" (__X)); \
+ __X; })
+#define __byte_swap_word(x) \
+({ register u_short __X = (x); \
+ __asm ("rorw $8, %w1" \
+ : "=r" (__X) \
+ : "0" (__X)); \
+ __X; })
+#endif /* __GNUC__ >= 2 */
+#endif /* _MSC_VER */
+
+/*
+ * Macros for network/external number representation conversion.
+ */
+#if BYTE_ORDER == BIG_ENDIAN && !defined(lint)
+#define ntohl(x) (x)
+#define ntohs(x) (x)
+#define htonl(x) (x)
+#define htons(x) (x)
+
+#define NTOHL(x) (x)
+#define NTOHS(x) (x)
+#define HTONL(x) (x)
+#define HTONS(x) (x)
+
+#else
+
+#define ntohl __byte_swap_long
+#define ntohs __byte_swap_word
+#define htonl __byte_swap_long
+#define htons __byte_swap_word
+
+#define NTOHL(x) (x) = ntohl((u_long)x)
+#define NTOHS(x) (x) = ntohs((u_short)x)
+#define HTONL(x) (x) = htonl((u_long)x)
+#define HTONS(x) (x) = htons((u_short)x)
+#endif
+#endif /* _MACHINE_ENDIAN_H_ */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ipl.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ipl.h
2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/ipl.h
2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,41 @@
+/*-
+ * Copyright (c) 1993 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
the
+ * documentation and/or other materials provided with the
distribution.
+ * 3. All advertising materials mentioning features or use of this
software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its
contributors
+ * may be used to endorse or promote products derived from this
software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#ifndef _ISA_IPL_H_
+#define _ISA_IPL_H_
+
+#define NHWI 16 /* number of h/w interrupts */
+#define HWI_MASK 0xffff /* bits corresponding to h/w
interrupts */
+
+#endif /* _ISA_IPL_H_ */
_____
Added:
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/limit
s.h
---
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/limit
s.h 2006-01-28 20:14:38 UTC (rev 22)
+++
trunk/reactos/lib/network/oskittcp/include/freebsd/src/sys/machine/limit
s.h 2006-01-28 20:22:17 UTC (rev 23)
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 1988, 1993
+ * The Regents of the University of California. All rights
reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
the
+ * documentation and/or other materials provided with the
distribution.
+ * 3. All advertising materials mentioning features or use of this
software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its
contributors
+ * may be used to endorse or promote products derived from this
software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS''
AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF
+ * SUCH DAMAGE.
+ *
+ * @(#)limits.h 8.3 (Berkeley) 1/4/94
+ */
+
+#ifndef _MACHINE_LIMITS_H_
+#define _MACHINE_LIMITS_H_
+
+#define CHAR_BIT 8 /* number of bits in a
char */
+#ifndef __REACTOS__
+#define MB_LEN_MAX 6 /* Allow 31 bit UTF2 */
+#endif
+
+/*
+ * According to ANSI (section 2.2.4.2), the values below must be usable
by
+ * #if preprocessing directives. Additionally, the expression must
have the
+ * same type as would an expression that is an object of the
corresponding
+ * type converted according to the integral promotions. The
subtraction for
+ * INT_MIN and LONG_MIN is so the value is not unsigned; 2147483648 is
an
+ * unsigned int for 32-bit two's complement ANSI compilers (section
3.1.3.2).
+ * These numbers work for pcc as well. The UINT_MAX and ULONG_MAX
values
+ * are written as hex so that GCC will be quiet about large integer
constants.
+ */
+#define SCHAR_MAX 127 /* min value for a
signed char */
+#define SCHAR_MIN (-128) /* max value for a
signed char */
+
+#ifndef _MSC_VER
+#define UCHAR_MAX 255 /* max value for an
unsigned char */
+#endif//_MSC_VER
+#ifndef __REACTOS__
+#define CHAR_MAX 127 /* max value for a char
*/
+#define CHAR_MIN (-128) /* min value for a char
*/
+#endif
+
+#ifndef SHRT_MAX
+#define USHRT_MAX 65535 /* max value for an
unsigned short */
+#define SHRT_MAX 32767 /* max value for a short
*/
+#define SHRT_MIN (-32768) /* min value for a short
*/
+#endif
+
+#ifndef INT_MAX
+#define UINT_MAX 0xffffffff /* max value for an
unsigned int */
+#define INT_MAX 2147483647 /* max value for an int
*/
+#define INT_MIN (-2147483647-1) /* min value for an int
*/
+#endif
+
+#ifndef LONG_MAX
+#define ULONG_MAX 0xffffffff /* max value for an
unsigned long */
+#define LONG_MAX 2147483647 /* max value for a long
*/
+#define LONG_MIN (-2147483647-1) /* min value for a long
*/
+#endif
+
+#if !defined(_ANSI_SOURCE)
[truncated at 1000 lines; 28707 more skipped]
Added imported DNS library adns.
Added: trunk/reactos/lib/adns/
Added: trunk/reactos/lib/adns/COPYING
Added: trunk/reactos/lib/adns/GPL-vs-LGPL
Added: trunk/reactos/lib/adns/INSTALL
Added: trunk/reactos/lib/adns/Makefile.in
Added: trunk/reactos/lib/adns/README
Added: trunk/reactos/lib/adns/README.html
Added: trunk/reactos/lib/adns/TODO
Added: trunk/reactos/lib/adns/acconfig.h
Added: trunk/reactos/lib/adns/aclocal.m4
Added: trunk/reactos/lib/adns/adns.xml
Added: trunk/reactos/lib/adns/adns_win32/
Added: trunk/reactos/lib/adns/adns_win32/README.TXT
Added: trunk/reactos/lib/adns/adns_win32/adns_unix_calls.c
Added: trunk/reactos/lib/adns/adns_win32/adns_win32.h
Added: trunk/reactos/lib/adns/adns_win32/getopt.c
Added: trunk/reactos/lib/adns/adns_win32/getopt.h
Added: trunk/reactos/lib/adns/adns_win32/timercmp.h
Added: trunk/reactos/lib/adns/changelog
Added: trunk/reactos/lib/adns/client/
Added: trunk/reactos/lib/adns/client/Makefile.in
Added: trunk/reactos/lib/adns/client/adh-main.c
Added: trunk/reactos/lib/adns/client/adh-opts.c
Added: trunk/reactos/lib/adns/client/adh-query.c
Added: trunk/reactos/lib/adns/client/adnshost.h
Added: trunk/reactos/lib/adns/client/adnslogres.c
Added: trunk/reactos/lib/adns/client/adnsresfilter.c
Added: trunk/reactos/lib/adns/client/adnstest.c
Added: trunk/reactos/lib/adns/client/client.h
Added: trunk/reactos/lib/adns/client/fanftest.c
Added: trunk/reactos/lib/adns/configure.in
Added: trunk/reactos/lib/adns/dynamic/
Added: trunk/reactos/lib/adns/dynamic/Makefile.in
Added: trunk/reactos/lib/adns/install-sh
Added: trunk/reactos/lib/adns/settings.make.in
Added: trunk/reactos/lib/adns/src/
Added: trunk/reactos/lib/adns/src/Makefile.in
Added: trunk/reactos/lib/adns/src/adns.h
Added: trunk/reactos/lib/adns/src/adns.make
Added: trunk/reactos/lib/adns/src/check.c
Added: trunk/reactos/lib/adns/src/config.h
Added: trunk/reactos/lib/adns/src/config.h.in
Added: trunk/reactos/lib/adns/src/dlist.h
Added: trunk/reactos/lib/adns/src/event.c
Added: trunk/reactos/lib/adns/src/general.c
Added: trunk/reactos/lib/adns/src/internal.h
Added: trunk/reactos/lib/adns/src/parse.c
Added: trunk/reactos/lib/adns/src/poll.c
Added: trunk/reactos/lib/adns/src/query.c
Added: trunk/reactos/lib/adns/src/reply.c
Added: trunk/reactos/lib/adns/src/setup.c
Added: trunk/reactos/lib/adns/src/transmit.c
Added: trunk/reactos/lib/adns/src/tvarith.h
Added: trunk/reactos/lib/adns/src/types.c
_____
Added: trunk/reactos/lib/adns/COPYING
--- trunk/reactos/lib/adns/COPYING 2006-01-28 18:30:02 UTC (rev 20)
+++ trunk/reactos/lib/adns/COPYING 2006-01-28 20:08:32 UTC (rev 21)
@@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software,
and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on,
we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software
interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new
versions
+of the General Public License from time to time. Such new versions
will
+be similar in spirit to the present version, but may differ in detail
to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and
conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number
of
+this License, you may choose any version ever published by the Free
Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the
author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we
sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software
and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it
does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or
modify
+ it under the terms of the GNU General Public License as published
by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA
+
+
+Also add information on how to contact you by electronic and paper
mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19yy name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type
`show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the
appropriate
+parts of the General Public License. Of course, the commands you use
may
+be called something other than `show w' and `show c'; they could even
be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
program
+ `Gnomovision' (which makes passes at compilers) written by James
Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program
into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with
the
+library. If this is what you want to do, use the GNU Library General
+Public License instead of this License.
_____
Added: trunk/reactos/lib/adns/GPL-vs-LGPL
--- trunk/reactos/lib/adns/GPL-vs-LGPL 2006-01-28 18:30:02 UTC (rev 20)
+++ trunk/reactos/lib/adns/GPL-vs-LGPL 2006-01-28 20:08:32 UTC (rev 21)
@@ -0,0 +1,122 @@
+ GPL vs LGPL, in the context of adns
+ -----------------------------------
+
+Several people have asked me to release GNU adns under the GNU Lesser
+General Public Licence (LGPL, formerly the Library GPL) instead of the
+`stronger' GPL. This file is intended to answer most of these
+questions. If you still have questions or comments, please mail me at
+<adns-maint(a)chiark.greenend.org.uk>.
+
+Typically there are two or three kinds of situation where people make
+this request: the first is where someone is developing a proprietary
+program and wishes to make use of adns but doesn't wish to make their
+program free software. The second case is where a free software
+project is currently using an MIT-like licence or the LGPL and fear
+`GPL infection'. The third case, which often overlaps with the
+second, is where another free software project currently using a
+GPL-incompatible licence, wishes to use adns.
+
+
+1. Proprietary applications of adns
+-----------------------------------
+
+So, let me get this straight. You're writing a proprietary
+program, by which I mean that you will not be distributing source code
+and not allowing users to modify and share your software; most likely
+you are doing this for your own (personal or corporate) financial
+gain.
+
+However, you want to take advantage of adns, software which I have
+spent my time and effort on, and which I release as free software so
+that everyone can improve, share and use it.
+
+Don't you think that is a little hypocritical ? I'm sorry, but I
+don't want you to just take my nice convenient software, without
+giving something back to the free software community or giving the
+same rights to your users as I do to you.
+
+If you really aren't the nasty kind of person I've described here, for
+example if you have a good reason other than your own selfishness for
+wanting to restrict distribution of your program, then perhaps you
+should contact me to discuss it.
+
+
+2. GPL-avoiding projects (MIT licence, et al)
+---------------------------------------------
+
+Some free software projects prefer to avoid the GPL and other licences
+which force the software always to be free. Instead they use
+something like the MIT X licence, which allows proprietary versions of
+their software, or the in the case of some free libraries, the LGPL,
+which allows proprietary applications. I have to say that I think
+these people are misguided, but that doesn't mean that they don't have
+a perfect right to do that.
+
+Some of these people think that merely writing to an interface
+provided by GPL'd software will cause their program to become GPL'd
+too, even if they don't distribute the GPL'd software. I don't think
+this is the case. I'm perfectly happy for non-GPL'd but
+GPL-compatible software to refer to adns in its source code. However,
+I think that exectuables (or compiled libraries) which contain or are
+dynamically linked against adns must be GPL'd; likewise executable
+programs (whether compiled or in an interpreted language) which
+require utilities from adns to function properly must be GPL'd.
+
+So, you can distribute your non-GPL'd program source which needs adns
+to compile (provided it's under a GPL-compatible licence), but people
+who wish to distribute binaries must do so under the terms of the GNU
+GPL. This may make sense for some GPL-avoiding free software
+projects; people can still make proprietary programs from your code,
+provided that they make some provision to replace adns with something
+whose copyright allows proprietary versions.
+
+However, this doesn't make much sense for the authors of LGPL'd
+libraries. All I can say to them is to ask which is more important:
+that their library be well-constructed and use all the best technology
+available as free software, or whether it is worth degrading quality
+of their library in order to allow proprietary programs to use it !
+
+To help the case of LGPL'd libraries for which adns is not a vital
+component - for example, a library which provides access to other
+libraries so that programs which use it need only use certain parts,
+I have released adns.h (just the public header file) under the LGPL as
+well as the GPL. See the copyright notice in adns.h for details.
+Note that this will not help you if it adns is essential to the
+functioning of your library, because all programs using your library
+must link against both your library and adns and so must be GPL'd.
+
+
+For some information and views from the Free Software Foundation on
+free software licensing, visit:
+
+ Various licenses and comments about them
+ at http://www.fsf.org/philosophy/license-list.html
+
+ Why you shouldn't use the Library GPL for your next library
+ at http://www.fsf.org/philosophy/why-not-lgpl.html
+
+
+3. GPL-incompatible free software licences
+------------------------------------------
+
+Regrettably, there are a number of free software licences (and
+semi-free licences) in existence which are not compatible with the
+GPL. That is, they impose restrictions which are not present in the
+GPL, and therefore distributing a whole work which contains both such
+a program and a GPL'd program is not possible: either the combination
+would have to be distributed under the GPL (violating the restrictions
+made by the original author), or under the GPL-incompatible licence
+(violating the GPL).
+
+I may be prepared to make exceptions for such a licence. Please
+contact me at <adns-maint(a)chiark.greenend.org.uk> with the full text
+of the GPL-incompatible licence. However, I would usually prefer it
+if you could use a GPL-compatible licence for your project instead.
+
+
+-- Ian Jackson 17.9.2000
+
+
+Local variables:
+mode: text
+End:
_____
Added: trunk/reactos/lib/adns/INSTALL
--- trunk/reactos/lib/adns/INSTALL 2006-01-28 18:30:02 UTC (rev 20)
+++ trunk/reactos/lib/adns/INSTALL 2006-01-28 20:08:32 UTC (rev 21)
@@ -0,0 +1,130 @@
+INSTALLATION INSTRUCTIONS for GNU ADNS
+
+1. Read the security note below.
+
+2. Standard GNU package build process:
+ $ ./configure [--disable-dynamic] [--prefix=... ...]
+ $ make
+ # make install
+
+Unfortunately, there is no comprehensive documentation yet. For now,
+use the comments in the public header file adns.h, and for the C
+programs their usage messages. If you find this information
+ambiguous, incomplete or wrong, please report it as a bug.
+
+
+TESTED PLATFORMS
+
+The following platforms have been tested at at least some point and
+should work - please report if they don't:
+ adns version OS
+ 1.0 Linux glibc 2.1 (actually tested on Debian 2.2)
+ 1.0 Solaris 2.6, 2.7, 2.8 [3]
+ 1.0 FreeBSD 3.2, 4.0 (no poll(2), so no adnsresfilter)
+The following work, but only with --disable-dynamic:
+ 1.0 IRIX 6.5 *not* with GCC [1], [2]
+ 1.0 AIX 4.1.5
+ 1.0 HP-UX 10.20, 11.00
+Later versions of the same OS should work too. Usually entries in
+this table mean adns passes its own regression test, when compiled
+with GCC, and appears to install and run correctly. If you have more
+information for this table please let me know.
+
+Notes/known problems:
+ [1] IRIX 6.5 inet_ntoa seems to break with GCC.
+ [2] The SGI IRIX compiler produces many spurious warnings.
+ [3] Dynamically linked, needs some help to find libadns.so.1.0.
+
+The following platforms are known to be deficient and will not work:
+ Solaris 2.5 Lacks vsnprintf - install glibc ?
+ TruUnix64 (DEC UNIX 4.0f) Lacks vsnprintf - install glibc ?
+Please don't report these problems unless you have a nice,
+straightforward solution or workaround for them. (I don't consider
+including a `vsnprintf' implementation nice, so don't send me one.)
+
+
+PORTABILITY INFORMATION
+
+You will find that adns requires a reasonably standard and up to date
+system. Systems which are neither GNU nor UNIX are not supported.
+
+The build system assumes by default that you have ELF shared
+libraries, and that the directory in which libadns.so.1 will be
+installed is on your dynamic library search path. If your system
+doesn't have ELF shared libraries then dynamic linking is not
+supported by adns. Use the --disable-shared configure option.
+Please don't send me patches to use libtool (which I dislike).
+
+Compilers other than GNU C should work, but are not well-tested. Feel
+free to send me patches to improve the situation. However, the
+Makefiles only know how to use GCC to make dynamic libraries.
+
+The adnsresfilter utility uses `tsearch' from the C library (a la SVID
+and X/Open). If you don't have tsearch configure will arranges for
+adnsresfilter not to be built. To fix this, install a C library
+containing tsearch, such as the GNU C library. It is best if tsearch
+uses an automatically-balancing tree algorithm, like the glibc version
+does. Simple binary trees may perform badly.
+
+If you change the m4 input files in regress/ you may need GNU m4.
+
+You will probably find that GNU Make is required.
+Please do not report this as a bug; install GNU Make instead.
+
+
+SECURITY AND PERFORMANCE - AN IMPORTANT NOTE
+
+adns is not a `full-service resolver': it does no caching of responses
+at all, and has no defence against bad nameservers or fake packets
+which appear to come from your real nameservers. It relies on the
+full-service resolvers listed in resolv.conf to handle these tasks.
+
+For secure and reasonable operation you MUST run a full-service
+nameserver on the same system as your adns applications, or on the
+same local, fully trusted network. You MUST only list such
+nameservers in the adns configuration (eg resolv.conf).
+
+You MUST use a firewall or other means to block packets which appear
+to come from these nameservers, but which were actually sent by other,
+untrusted, entities.
+
+Furthermore, adns is not DNSSEC-aware in this version; it doesn't
+understand even how to ask a DNSSEC-aware nameserver to perform the
+DNSSEC cryptographic signature checking.
+
+
+COPYRIGHT
+
+This file, INSTALL, contains installation instructions and other
+details for adns. It is
+ Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+
+adns is
+ Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+ Copyright (C) 1999-2000 Tony Finch <dot(a)dotat.at> [1]
+ Copyright (C) 1991 Massachusetts Institute of Technology [2]
+
+adns is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with adns as the file COPYING; if not, email me at the address
+above or write to the Free Software Foundation, 59 Temple Place -
+Suite 330, Boston, MA 02111-1307, USA.
+
+[1] Tony Finch holds the original copyright on client/adnslogres.c and
+ client/fanftest.c, and some modifications to those files.
+[2] MIT hold the original copyright on the included install-sh,
+ which came via GNU autoconf.
+
+
+# Local variables:
+# mode: text
+# End:
_____
Added: trunk/reactos/lib/adns/Makefile.in
--- trunk/reactos/lib/adns/Makefile.in 2006-01-28 18:30:02 UTC (rev 20)
+++ trunk/reactos/lib/adns/Makefile.in 2006-01-28 20:08:32 UTC (rev 21)
@@ -0,0 +1,77 @@
+# Makefile - top-level Makefile
+#
+# This file is
+# Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+#
+# It is part of adns, which is
+# Copyright (C) 1997-2000 Ian Jackson <ian(a)davenant.greenend.org.uk>
+# Copyright (C) 1999-2000 Tony Finch <dot(a)dotat.at>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Remember to change ADNS_VERSION_STRING in client/client.h too, and
+# possibly library soname (MAJOR and MINOR in settings.make.in).
+DISTVERSION= 1.0
+
+srcdir= @srcdir@
+VPATH= @srcdir@
+
+ENABLE_DYNAMIC= @ENABLE_DYNAMIC@
+ifeq ($(ENABLE_DYNAMIC),elf)
+SUBDIRS_DYNAMIC=dynamic
+else
+SUBDIRS_DYNAMIC=
+endif
+
+SUBDIRS= src $(SUBDIRS_DYNAMIC) client regress
+
+all install uninstall clean distclean mostlyclean maintainer-clean
distprep:
+ set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done
+ $(MAKE) $@-here
+
+all-here install-here uninstall-here distprep-here: README
+
+clean-here mostlyclean-here:
+ rm -f *~ ./#*# core *.orig *.rej adns-*.tar.gz
+ rm -rf dist_tmp
+
+distclean-here maintainer-clean-here: clean-here
+ rm -f settings.make config.h config.cache config.log
config.status
+
+install-strip:
+ $(MAKE) INSTALL_PROGRAM_FLAGS=-s
+
+dist_tmp=dist_tmp/adns-$(DISTVERSION)
+dist: distprep
+ rm -rf dist_tmp*
+ mkdir dist_tmp $(dist_tmp)
+ find \( -name CVS -o -name dist_tmp* \) -prune -o -type d -print
| \
+ sed -e 's#.*#mkdir -p $(dist_tmp)/&#' | sh
+ find \( -name CVS -o -name dist_tmp* \) -prune -o -type f -print
| \
+ sed -e 's#.*#ln & $(dist_tmp)/&#' | sh
+ $(MAKE) -C dist_tmp/adns-$(DISTVERSION) distclean
+ cd dist_tmp && tar cf ../$(dist_tmp).tar `basename $(dist_tmp)`
+ gzip -9 $(dist_tmp).tar
+ mv $(dist_tmp).tar.gz .
+
+check: all
+ $(MAKE) -C regress check
+
+README: README.html
+ lynx -dump -number_links -cfg=/dev/null ./README.html
>README.tmp
+ mv -f README.tmp README
+
+TAGS info dvi:
+ # do nothing
_____
Added: trunk/reactos/lib/adns/README
--- trunk/reactos/lib/adns/README 2006-01-28 18:30:02 UTC (rev 20)
+++ trunk/reactos/lib/adns/README 2006-01-28 20:08:32 UTC (rev 21)
@@ -0,0 +1,167 @@
+
+ GNU adns
+
+ Advanced, easy to use, asynchronous-capable DNS client library and
+ utilities.
+
+ adns is a resolver library for C (and C++) programs, and a
collection
+ of useful DNS resolver utilities.
+
+C library
+
+ In contrast with the standard interfaces, gethostbyname et al and
+ libresolv, it has the following features:
+ * It is reasonably easy to use for simple programs which just want
+ to translate names to addresses, look up MX records, etc.
+ * It can be used in an asynchronous, non-blocking, manner. Many
+ queries can be handled simultaneously.
+ * Responses are decoded automatically into a natural
representation
+ for a C program - there is no need to deal with DNS packet
+ formats.
+ * Sanity checking (eg, name syntax checking, reverse/forward
+ correspondence, CNAME pointing to CNAME) is performed
+ automatically.
+ * Time-to-live, CNAME and other similar information is returned in
+ an easy-to-use form, without getting in the way.
+ * There is no global state in the library; resolver state is an
+ opaque data structure which the client creates explicitly. A
+ program can have several instances of the resolver.
+ * Errors are reported to the application in a way that
distinguishes
+ the various causes of failure properly.
+ * Understands conventional resolv.conf, but this can overridden by
+ environment variables.
+ * Flexibility. For example, the application can tell adns to:
ignore
+ environment variables (for setuid programs), disable hostname
+ syntax sanity checks to return arbitrary data, override or
ignore
+ resolv.conf in favour of supplied configuration, etc.
+ * Believed to be correct ! For example, will correctly back off to
+ TCP in case of long replies or queries, or to other nameservers
if
+ several are available. It has sensible handling of bad responses
+ etc.
+
+DNS utility programs
+
+ adns also comes with a number of utility programs for use from the
+ command line and in scripts:
+ * adnslogres is a much faster version of Apache's logresolv
program.
+ * adnsresfilter is a filter which copies its input to its output,
+ replacing IP addresses by the corresponding names, without
unduly
+ delaying the output. For example, you can usefully pipe the
output
+ of netstat -n, tcpdump -ln, and the like, into it.
+ * adnshost is a general-purpose DNS lookup utility which can be
used
+ easily in from the command line and from shell scripts to do
+ simple lookups. In a more advanced mode it can be used as a
+ general-purpose DNS helper program for scripting languages which
+ can invoke and communicate with subprocesses. See the
[1]adnshost
+ usage message for a summary of its capabilities.
+
+Documentation
+
+ I'm afraid there is no manual yet. However, competent C programmers
+ should be able to use the library based on the [2]commented adns.h
+ header file, and the usage messages for the programs should be
+ sufficient.
+
+Feedback
+
+ I'd be pleased if you would let me know if you're using my library
in
+ your project, and what you think of it.
+
+ If you are subscribed to adns-discuss please send feedback,
including
+ bug reports, there; otherwise send mail to
+ adns-bugreports(a)chiark.greenend.org.uk. If you'd prefer that your
+ message wasn't forwarded to the adns-bugreports list, send it to
+ adns-maint(a)chiark.greenend.org.uk.
+
+Mailinglists
+
+ I have set up mailinglists adns-announce and adns-discuss. The
+ announcements list is moderated and will contain only announcements
of
+ important bugs, new versions, etc. The bug reports address mentioned
+ above is also a mailing list; feel free to subscribe to it.
+
+ There are [3]archives and subscription web pages, or you can
subscribe
+ by sending mail containing the word `subscribe' to
+ adns-announce-REQUEST(a)chiark.greenend.org.uk or
+ adns-discuss-REQUEST(a)chiark.greenend.org.uk.
+
+Download
+
+ Available for download from [4]chiark.greenend.org.uk are:
+ * The [5]current release as a gzipped tarfile.
+ * [6]adns.h API header file with comments, and [7]usage message
for
+ adnshost (currently there is no manual, sorry).
+ * All versions released so far are also available via [8]anonymous
+ FTP and [9]HTTP,
+ * A mirror of my CVS repository is available via rsync from
+ rsync.chiark.greenend.org.uk::ftp/users/ian/cvs-pub/adns (use
FTP
+ first to find your way around), or via [10]cvsweb.
+
+ adns is also available from the [11]GNU Project FTP servers and
their
+ [12]mirrors.
+
+Technical note
+
+ adns requires a real nameserver like [13]BIND or [14]Dents running
on
+ the same system or a nearby one, which must be willing to provide
+ `recursive service'. I.e., adns is a `stub resolver'. All properly
+ configured UN*X and GNU systems will already have such
nameserver(s);
+ they are usually listed in /etc/resolv.conf.
+
+Copyright and licensing
+
+ adns is Copyright 1997-2000 Ian Jackson, Copyright 1999-2000 Tony
+ Finch, and Copyright (C) 1991 Massachusetts Institute of Technology.
+
+ adns is free software; you can redistribute it and/or modify it
under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This program and documentation is distributed in the hope that it
will
+ be useful, but without any warranty; without even the implied
warranty
+ of merchantability or fitness for a particular purpose. See the
+ [15]GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with adns, or one should be available above; if not, write to
+ the [16]Free Software Foundation, 59 Temple Place - Suite 330,
Boston,
+ MA 02111-1307, USA, or email adns-maint(a)chiark.greenend.org.uk.
+ _________________________________________________________________
+
+ [17]Ian Jackson / [18]adns-maint(a)chiark.greenend.org.uk; more
[19]free
+ software by me.
+
+ [20]GNU home page; [21]chiark home page; [22]site or mirror home
page
+
+ This web page is Copyright (C)1996-2000 Ian Jackson. See the
+ [23]Copyright/acknowledgements.
+
+ Use any browser - [24]Campaign for a non-browser-specific WWW
+
+References
+
+ 1. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt
+ 2. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
+ 3. http://www.chiark.greenend.org.uk/mailman/listinfo
+ 4. http://www.chiark.greenend.org.uk/~ian/adns/
+ 5. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz
+ 6. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt
+ 7. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt
+ 8. ftp://ftp.chiark.greenend.org.uk/users/ian/adns/
+ 9. http://www.chiark.greenend.org.uk/~ian/adns/ftp/
+ 10. http://www.chiark.greenend.org.uk/ucgi/~ijackson/cvsweb/adns/
+ 11. http://www.gnu.org/
+ 12. http://www.gnu.org/order/ftp.html
+ 13. http://www.isc.org/view.cgi?/products/BIND/index.phtml
+ 14. http://www.dents.org/
+ 15. http://www.chiark.greenend.org.uk/~ian/COPYING.txt
+ 16. http://www.fsf.org/
+ 17. http://www.chiark.greenend.org.uk/
+ 18. mailto:adns-maint@chiark.greenend.org.uk
+ 19. http://www.chiark.greenend.org.uk/~ian/software/
+ 20. http://www.gnu.org/
+ 21. http://www.chiark.greenend.org.uk/
+ 22. file://localhost/
+ 23. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html
+ 24. http://www.anybrowser.org/campaign/
_____
Added: trunk/reactos/lib/adns/README.html
--- trunk/reactos/lib/adns/README.html 2006-01-28 18:30:02 UTC (rev 20)
+++ trunk/reactos/lib/adns/README.html 2006-01-28 20:08:32 UTC (rev 21)
@@ -0,0 +1,222 @@
+<html>
+<head>
+<title>adns - advanced, alternative, asynchronous resolver</title>
+<link rev="made" href="mailto:adns-maint@chiark.greenend.org.uk">
+</head>
+<body>
+<h1>GNU adns</h1>
+
+<strong>Advanced, easy to use, asynchronous-capable DNS client
+library and utilities.</strong>
+
+<!-- Note: this file is maintained in Ian Jackson's private CVS. -->
+<!-- -->
+<!-- It is served on the GNU site and also from my own system, -->
+<!-- under the URL http://www.chiark.greenend.org.uk/adns/ -->
+<!-- Please ensure that all links continine to be correct -->
+<!-- both for www.gnu.org and chiark. -->
+<!-- -->
+<!-- $Id: README.html 12852 2005-01-06 13:58:04Z mf $ -->
+
+<p>
+
+adns is a resolver library for C (and C++) programs, and a collection
+of useful DNS resolver utilities.
+
+
+<h2>C library</h2>
+
+In contrast with the standard interfaces, gethostbyname et al and
+libresolv, it has the following features:
+
+<ul>
+
+<li>It is reasonably easy to use for simple programs which just want
+to translate names to addresses, look up MX records, etc.
+
+<li>It can be used in an asynchronous, non-blocking, manner. Many
+queries can be handled simultaneously.
+
+<li>Responses are decoded automatically into a natural representation
+for a C program - there is no need to deal with DNS packet formats.
+
+<li>Sanity checking (eg, name syntax checking, reverse/forward
+correspondence, CNAME pointing to CNAME) is performed automatically.
+
+<li>Time-to-live, CNAME and other similar information is returned in
+an easy-to-use form, without getting in the way.
+
+<li>There is no global state in the library; resolver state is an
+opaque data structure which the client creates explicitly. A program
+can have several instances of the resolver.
+
+<li>Errors are reported to the application in a way that distinguishes
+the various causes of failure properly.
+
+<li>Understands conventional resolv.conf, but this can overridden by
+environment variables.
+
+<li>Flexibility. For example, the application can tell adns to:
+ignore environment variables (for setuid programs), disable hostname
+syntax sanity checks to return arbitrary data, override or ignore
+resolv.conf in favour of supplied configuration, etc.
+
+<li>Believed to be correct ! For example, will correctly back off to
+TCP in case of long replies or queries, or to other nameservers if
+several are available. It has sensible handling of bad responses etc.
+
+</ul>
+
+<h2>DNS utility programs</h2>
+
+adns also comes with a number of utility programs for use from the
+command line and in scripts:
+
+<ul>
+
+<li><code>adnslogres</code> is a much faster version of Apache's
+logresolv program.
+
+<li><code>adnsresfilter</code> is a filter which copies its input to
+its output, replacing IP addresses by the corresponding names, without
+unduly delaying the output. For example, you can usefully pipe the
+output of netstat -n, tcpdump -ln, and the like, into it.
+
+<li><code>adnshost</code> is a general-purpose DNS lookup utility
+which can be used easily in from the command line and from shell
+scripts to do simple lookups. In a more advanced mode it can be used
+as a general-purpose DNS helper program for scripting languages which
+can invoke and communicate with subprocesses. See the
+<A
href="http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt">adnshost
+usage message</A> for a summary of its capabilities.
+
+</ul>
+
+<h2>Documentation</h2>
+
+I'm afraid there is no manual yet. However, competent C programmers
+should be able to use the library based on the
+<A
href="http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt">commented
+adns.h header file</A>, and the usage messages for the programs should
+be sufficient.
+
+<h2>Feedback</h2>
+
+I'd be pleased if you would let me know if you're using my library in
+your project, and what you think of it.
+
+<p>
+
+If you are subscribed to <code>adns-discuss</code> please send
+feedback, including bug reports, there; otherwise send mail to
+<code>adns-bugreports(a)chiark.greenend.org.uk</code>. If you'd prefer
+that your message wasn't forwarded to the <code>adns-bugreports</code>
+list, send it to <code>adns-maint(a)chiark.greenend.org.uk</code>.
+
+<h2>Mailinglists</h2>
+
+I have set up mailinglists <code>adns-announce</code> and
+<code>adns-discuss</code>. The announcements list is moderated and
+will contain only announcements of important bugs, new versions, etc.
+The bug reports address mentioned above is also a mailing list; feel
+free to subscribe to it.
+
+<p>
+
+There are
+<A href="http://www.chiark.greenend.org.uk/mailman/listinfo">archives
+and subscription web pages</A>, or you can subscribe by sending mail
+containing the word `subscribe' to
+<code>adns-announce-REQUEST(a)chiark.greenend.org.uk</code> or
+<code>adns-discuss-REQUEST(a)chiark.greenend.org.uk</code>.
+
+<h2>Download</h2>
+
[truncated at 1000 lines; 10845 more skipped]