freeswitch/libs/ldns/doc/API-header.xml

110 lines
3.1 KiB
XML

<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!-- $Id -->
<?rfc toc="yes" ?>
<?rfc compact="yes" ?>
<?rfc editing="no" ?>
<?rfc iprnotified="no" ?>
<?rfc private="LibDNS API" ?>
<rfc ipr="none" category="info" docName="API-00.txt">
<front>
<title>LibDNS API</title>
<author initials="R." surname="Gieben" fullname="Miek Gieben">
<organization>NLnet Labs</organization>
<address>
<postal>
<street>Kruislaan 419</street>
<city>Amsterdam</city>
<code>1098 VA</code>
<country>The Netherlands</country>
</postal>
<email>miek@nlnetlabs.nl</email>
<uri>http://www.nlnetlabs.nl</uri>
</address>
</author>
<author initials="J." surname="Jansen" fullname="Jelte Jansen">
<organization>NLnet Labs</organization>
<address>
<postal>
<street>Kruislaan 419</street>
<city>Amsterdam</city>
<code>1098 VA</code>
<country>The Netherlands</country>
</postal>
<email>jelte@nlnetlabs.nl</email>
<uri>http://www.nlnetlabs.nl</uri>
</address>
</author>
<author initials="E." surname="Rozendaal" fullname="Erik Rozendaal">
<organization>NLnet Labs</organization>
<address>
<postal>
<street>Kruislaan 419</street>
<city>Amsterdam</city>
<code>1098 VA</code>
<country>The Netherlands</country>
</postal>
<email>erik@nlnetlabs.nl</email>
<uri>http://www.nlnetlabs.nl</uri>
</address>
</author>
<date month="January" year="2005" />
<keyword>DNS</keyword>
<keyword>Elite</keyword>
<keyword>Hacking</keyword>
<abstract>
<t>
A small abstract will come here, TBD.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>
LibDNS (or lDNS) is modelled after the Net::DNS perl library. It has
been shown that Net::DNS can be used vefficiently for
programming DNS aware applications. We want to bring the same
level of efficiency to C programmers.
</t>
<t>
The lDNS API consist of two layers. The top-layer, this is
what is actually exported to the application via the library. And the
bottom-layer, this is what lDNS needs to compile and function.
</t>
</section> <!-- "Introduction" -->
<section title="Differences With Other Libraries">
<t>
Short intermezzo detailing differences with other libraries. Most important
ones are the libc resolver interface (from BIND8) and the lwres_ interface
from BIND9.
</t>
</section> <!-- "Differences with other libraries" -->
<section title="Interfaces">
<t>
At its lowest level lDNS is only dependent on libc. It uses a
few networking systems calls; socket, bind, send/recv and friends.
</t>
<t>
Further more it is to be expected that lDNS will depend on OpenSSL for
its cryptography.
</t>
<t>
As said, lDNS is modelled after Net::DNS, therefor its application API
looks very much like the one used for Net::DNS. Some modification are made
ofcourse, because not all functionality of Perl can be caught in C.
</t>
<t>
This API document was written by carefully looking at the documentation
contained in the Net::DNS Perl module.
</t>
</section> <!-- "Interfaces" -->