Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e3a718fcad37ff363f65d6a6e994e272 > files > 174

ldns-devel-1.6.12-1.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type"
content="text/html;charset=iso-8859-1">
<title>ldns documentation</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div class="logo">
<img src="LogoInGradientBar2-y100.png"/>
</div>
<!-- Generated by Doxygen 1.7.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">LDNS Documentation </div>  </div>
</div>
<div class="contents">
<div class="textblock"><h2><a class="anchor" id="introduction"></a>
Introduction</h2>
<p>The goal of ldns is to simplify DNS programming, it supports recent RFCs like the DNSSEC documents, and allow developers to easily create software conforming to current RFCs, and experimental software for current Internet drafts. A secondary benefit of using ldns is speed, because ldns is written in C, and although it is not optimized for performance, it should be a lot faster than Perl.</p>
<p>The first main tool to use ldns is Drill, from which part of the library was derived. From version 1.0.0 on, drill is included in the ldns release and will not be distributed seperately anymore. The library also includes some other examples and tools to show how it can be used. These can be found in the examples/ directory in the tarball.</p>
<p>ldns depends on OpenSSL for it's cryptographic functions. Feature list</p>
<ul>
<li>Transparent IPv4 and IPv6 support (overridable if necessary),</li>
<li>TSIG support,</li>
<li>DNSSEC support; signing and verification,</li>
<li>small size,</li>
<li>online documentation as well as manual pages.</li>
</ul>
<p>If you want to send us patches please use the code from subversion (trunk).</p>
<h2><a class="anchor" id="using_ldns"></a>
Using ldns</h2>
<p>Almost all interaction between an application and ldns goes through the ldns data structures (<a class="el" href="rr_8h.html#a34d846d44506c86bc94f244445605e98">ldns_rr</a>, <a class="el" href="packet_8h.html#a6b137fb9a86468d16cf66130db3b9da2">ldns_pkt</a>, etc.). These are input or output to the functions of ldns. For example, <a class="el" href="zone_8h.html#a9c19588cdd5e98ccd7072134c528dc05">ldns_zone_new_frm_fp</a> reads a zone from a <code>FILE</code> pointer, and returns an <a class="el" href="zone_8h.html#af8077ee2090d473d6c598fa95c2826b3">ldns_zone</a> structure.</p>
<p>Let's use Drill as an example. Drill is a tool much like dig, whose most basic function is to send 1 query to a nameserver and print the response.</p>
<p>To be able to do this, drill uses the resolver module of ldns, which acts as a stub resolver. The resolver module uses the net module to actually send the query that drill requested. It then uses the wire2host module to translate the response and place it in ldns' internal structures. These are passed back to drill, which then uses the host2str module to print the response in presentation format.</p>
<h2><a class="anchor" id="gettingstarted"></a>
Getting Started</h2>
<p>See the <a class="el" href="design.html">Design</a> page for a very high level description of the design choices made for ldns.</p>
<p>For an overview of the functions and types ldns provides, you can check out the <a class="el" href="dir_7a7a565456b510ac01baf8655647d8a2.html">ldns</a> ldns header file descriptions.</p>
<p>If you want to see some libdns action, you can read our tutorials:</p>
<ul>
<li><a class="el" href="tutorial1_mx.html">Tutorial 1: Querying for MX records</a></li>
<li><a class="el" href="tutorial2_zone.html">Tutorial 2: Reading a zone file</a></li>
<li><a class="el" href="tutorial3_signzone.html">Tutorial 3: Signing a zone file</a></li>
</ul>
<p>Or you can just use the menu above to browse through the API docs.</p>
<div style="visibility:hidden;"> <div class="image">
<img src="LogoInGradientBar2-y100.png" alt="LogoInGradientBar2-y100.png"/>
</div>
 </div> </div></div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Jan 11 2012 for ldns by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>