Sophie

Sophie

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

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><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 class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">sha1.c File Reference</div>  </div>
</div>
<div class="contents">

<p><a href="sha1_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(value, bits)&#160;&#160;&#160;(((value) &lt;&lt; (bits)) | ((value) &gt;&gt; (32 - (bits))))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a1a75de24d0277c5319098c218efaef2d">blk0</a>(i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#abd06ff24e9f6f5f0a9c32a1cba4b0f9c">blk</a>(i)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a8ac24a09e1273548828d3cc9436f9bc7">R0</a>(v, w, x, y, z, i)&#160;&#160;&#160;z+=((w&amp;(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a2628f8af7bf67ca052200537279f855a">R1</a>(v, w, x, y, z, i)&#160;&#160;&#160;z+=((w&amp;(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30);</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a774229b80509be0e9e0a1d9819580224">R2</a>(v, w, x, y, z, i)&#160;&#160;&#160;z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#ac0b8b342432d17717ff1020d10cf0eea">R3</a>(v, w, x, y, z, i)&#160;&#160;&#160;z+=(((w|x)&amp;y)|(w&amp;x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#af77ddc8894422d2af2adbd4e71e55d1f">R4</a>(v, w, x, y, z, i)&#160;&#160;&#160;z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a9ea2f7a2ced91d1f38ab0be583d79a9e">ldns_sha1_transform</a> (uint32_t state[5], const unsigned char buffer[64])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#af7ff78a4aaf1013c338b8395ba1b7fdf">ldns_sha1_init</a> (<a class="el" href="structldns__sha1__ctx.html">ldns_sha1_ctx</a> *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a7006e55e7b5771b645763883fa15cd36">ldns_sha1_update</a> (<a class="el" href="structldns__sha1__ctx.html">ldns_sha1_ctx</a> *context, const unsigned char *data, unsigned int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#aad1b0d3aa8cd99d3c6849f84a72bf535">ldns_sha1_final</a> (unsigned char digest[20], <a class="el" href="structldns__sha1__ctx.html">ldns_sha1_ctx</a> *context)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sha1_8c.html#a14a9873e7068caf02c57d67fd88fb6d3">ldns_sha1</a> (unsigned char *data, unsigned int data_len, unsigned char *digest)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience function to digest a fixed block of data at once.  <a href="#a14a9873e7068caf02c57d67fd88fb6d3"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="af1373930110e4f86cb1f4bc6d44a66ee"></a><!-- doxytag: member="sha1.c::rol" ref="af1373930110e4f86cb1f4bc6d44a66ee" args="(value, bits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define rol</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">bits&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((value) &lt;&lt; (bits)) | ((value) &gt;&gt; (32 - (bits))))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00024">24</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="a1a75de24d0277c5319098c218efaef2d"></a><!-- doxytag: member="sha1.c::blk0" ref="a1a75de24d0277c5319098c218efaef2d" args="(i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define blk0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(block-&gt;l[i] = (<a class="code" href="sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(block-&gt;l[i],24)&amp;0xFF00FF00) \
    |(<a class="code" href="sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(block-&gt;l[i],8)&amp;0x00FF00FF))
</pre></div>
<p>Definition at line <a class="el" href="sha1_8c_source.html#l00029">29</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="abd06ff24e9f6f5f0a9c32a1cba4b0f9c"></a><!-- doxytag: member="sha1.c::blk" ref="abd06ff24e9f6f5f0a9c32a1cba4b0f9c" args="(i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define blk</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">(block-&gt;l[i&amp;15] = <a class="code" href="sha1_8c.html#af1373930110e4f86cb1f4bc6d44a66ee">rol</a>(block-&gt;l[(i+13)&amp;15]^block-&gt;l[(i+8)&amp;15] \
    ^block-&gt;l[(i+2)&amp;15]^block-&gt;l[i&amp;15],1))
</pre></div>
<p>Definition at line <a class="el" href="sha1_8c_source.html#l00034">34</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="a8ac24a09e1273548828d3cc9436f9bc7"></a><!-- doxytag: member="sha1.c::R0" ref="a8ac24a09e1273548828d3cc9436f9bc7" args="(v, w, x, y, z, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define R0</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">w, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">z, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;z+=((w&amp;(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00038">38</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="a2628f8af7bf67ca052200537279f855a"></a><!-- doxytag: member="sha1.c::R1" ref="a2628f8af7bf67ca052200537279f855a" args="(v, w, x, y, z, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define R1</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">w, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">z, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;z+=((w&amp;(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30);</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00039">39</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="a774229b80509be0e9e0a1d9819580224"></a><!-- doxytag: member="sha1.c::R2" ref="a774229b80509be0e9e0a1d9819580224" args="(v, w, x, y, z, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define R2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">w, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">z, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00040">40</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="ac0b8b342432d17717ff1020d10cf0eea"></a><!-- doxytag: member="sha1.c::R3" ref="ac0b8b342432d17717ff1020d10cf0eea" args="(v, w, x, y, z, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define R3</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">w, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">z, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;z+=(((w|x)&amp;y)|(w&amp;x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00041">41</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<a class="anchor" id="af77ddc8894422d2af2adbd4e71e55d1f"></a><!-- doxytag: member="sha1.c::R4" ref="af77ddc8894422d2af2adbd4e71e55d1f" args="(v, w, x, y, z, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define R4</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">w, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">z, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00042">42</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a9ea2f7a2ced91d1f38ab0be583d79a9e"></a><!-- doxytag: member="sha1.c::ldns_sha1_transform" ref="a9ea2f7a2ced91d1f38ab0be583d79a9e" args="(uint32_t state[5], const unsigned char buffer[64])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_sha1_transform </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>state</em>[5], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>buffer</em>[64]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00047">47</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

<p>References <a class="el" href="sha1_8h_source.html#l00008">LDNS_SHA1_BLOCK_LENGTH</a>, <a class="el" href="config_8h.html#a802c986820d3866639922b6bc9484f90">memmove()</a>, <a class="el" href="sha1_8c_source.html#l00038">R0</a>, <a class="el" href="sha1_8c_source.html#l00039">R1</a>, <a class="el" href="sha1_8c_source.html#l00040">R2</a>, <a class="el" href="sha1_8c_source.html#l00041">R3</a>, and <a class="el" href="sha1_8c_source.html#l00042">R4</a>.</p>

</div>
</div>
<a class="anchor" id="af7ff78a4aaf1013c338b8395ba1b7fdf"></a><!-- doxytag: member="sha1.c::ldns_sha1_init" ref="af7ff78a4aaf1013c338b8395ba1b7fdf" args="(ldns_sha1_ctx *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_sha1_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__sha1__ctx.html">ldns_sha1_ctx</a> *&#160;</td>
          <td class="paramname"><em>context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00106">106</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

<p>References <a class="el" href="sha1_8h_source.html#l00013">ldns_sha1_ctx::count</a>, and <a class="el" href="sha1_8h_source.html#l00012">ldns_sha1_ctx::state</a>.</p>

</div>
</div>
<a class="anchor" id="a7006e55e7b5771b645763883fa15cd36"></a><!-- doxytag: member="sha1.c::ldns_sha1_update" ref="a7006e55e7b5771b645763883fa15cd36" args="(ldns_sha1_ctx *context, const unsigned char *data, unsigned int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_sha1_update </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structldns__sha1__ctx.html">ldns_sha1_ctx</a> *&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00121">121</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

<p>References <a class="el" href="sha1_8h_source.html#l00014">ldns_sha1_ctx::buffer</a>, <a class="el" href="sha1_8h_source.html#l00013">ldns_sha1_ctx::count</a>, <a class="el" href="sha1_8c_source.html#l00047">ldns_sha1_transform()</a>, <a class="el" href="config_8h.html#a802c986820d3866639922b6bc9484f90">memmove()</a>, and <a class="el" href="sha1_8h_source.html#l00012">ldns_sha1_ctx::state</a>.</p>

</div>
</div>
<a class="anchor" id="aad1b0d3aa8cd99d3c6849f84a72bf535"></a><!-- doxytag: member="sha1.c::ldns_sha1_final" ref="aad1b0d3aa8cd99d3c6849f84a72bf535" args="(unsigned char digest[20], ldns_sha1_ctx *context)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ldns_sha1_final </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>digest</em>[20], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structldns__sha1__ctx.html">ldns_sha1_ctx</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00144">144</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

<p>References <a class="el" href="sha1_8h_source.html#l00014">ldns_sha1_ctx::buffer</a>, <a class="el" href="sha1_8h_source.html#l00013">ldns_sha1_ctx::count</a>, <a class="el" href="sha1_8h_source.html#l00009">LDNS_SHA1_DIGEST_LENGTH</a>, <a class="el" href="sha1_8c_source.html#l00047">ldns_sha1_transform()</a>, <a class="el" href="sha1_8c_source.html#l00121">ldns_sha1_update()</a>, and <a class="el" href="sha1_8h_source.html#l00012">ldns_sha1_ctx::state</a>.</p>

</div>
</div>
<a class="anchor" id="a14a9873e7068caf02c57d67fd88fb6d3"></a><!-- doxytag: member="sha1.c::ldns_sha1" ref="a14a9873e7068caf02c57d67fd88fb6d3" args="(unsigned char *data, unsigned int data_len, unsigned char *digest)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char* ldns_sha1 </td>
          <td>(</td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>data_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>digest</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience function to digest a fixed block of data at once. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>the data to digest </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_len</td><td>the length of data in bytes </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">digest</td><td>the length of data in bytes This pointer MUST have LDNS_SHA1_DIGEST_LENGTH bytes available </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the SHA1 digest of the given data </dd></dl>

<p>Definition at line <a class="el" href="sha1_8c_source.html#l00170">170</a> of file <a class="el" href="sha1_8c_source.html">sha1.c</a>.</p>

<p>References <a class="el" href="sha1_8c_source.html#l00144">ldns_sha1_final()</a>, <a class="el" href="sha1_8c_source.html#l00106">ldns_sha1_init()</a>, and <a class="el" href="sha1_8c_source.html#l00121">ldns_sha1_update()</a>.</p>

</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>