Current File : //opt/RZruby/share/doc/ruby/html/d5/d50/sha1init_8c_source.html |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Ruby: ext/digest/sha1/sha1init.c Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Ruby
 <span id="projectnumber">1.9.3p551(2014-11-13revision48407)</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main Page</span></a></li>
<li><a href="../../modules.html"><span>Modules</span></a></li>
<li><a href="../../annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="../../files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../files.html"><span>File List</span></a></li>
<li><a href="../../globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../dir_31cedd4509e06940f559c1ca2f722e02.html">ext</a></li><li class="navelem"><a class="el" href="../../dir_8462c367d9e69a7809faa14633ccfafa.html">digest</a></li><li class="navelem"><a class="el" href="../../dir_2778d15ab6fead1f9912902f7ff18a29.html">sha1</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">sha1init.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="../../d5/d50/sha1init_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $RoughId: sha1init.c,v 1.2 2001/07/13 19:49:10 knu Exp $ */</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/* $Id: sha1init.c 27437 2010-04-22 08:04:13Z nobu $ */</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "<a class="code" href="../../d9/d46/digest_8h.html">digest.h</a>"</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="preprocessor">#if defined(HAVE_OPENSSL_SHA_H)</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="../../d2/d20/sha1ossl_8h.html">sha1ossl.h</a>"</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#else</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="../../db/db5/sha1_8h.html">sha1.h</a>"</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="../../d5/d50/sha1init_8c.html#a8d2a6fd71df437d2098ce00624347ac7"> 11</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="../../df/d6f/structrb__digest__metadata__t.html">rb_digest_metadata_t</a> <a class="code" href="../../d5/d50/sha1init_8c.html#a8d2a6fd71df437d2098ce00624347ac7">sha1</a> = {</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  <a class="code" href="../../d9/d46/digest_8h.html#a0b0046cb4fe7382843ff651a8565c9cc">RUBY_DIGEST_API_VERSION</a>,</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <a class="code" href="../../db/db5/sha1_8h.html#a341f900ed2019f4da21d6970417f9efc">SHA1_DIGEST_LENGTH</a>,</div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <a class="code" href="../../db/db5/sha1_8h.html#a0dbc209bf3c6c0d9b0059cd24417f64c">SHA1_BLOCK_LENGTH</a>,</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <span class="keyword">sizeof</span>(<a class="code" href="../../d2/d20/sha1ossl_8h.html#ac87fc725883489e081c8ebc4397357a5">SHA1_CTX</a>),</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  (<a class="code" href="../../d9/d46/digest_8h.html#a0079126dd98bcd481f46e100f562d32e">rb_digest_hash_init_func_t</a>)<a class="code" href="../../d2/d24/sha1_8c.html#ac7153ad75aabddd8fa813ea0ed1cdfba">SHA1_Init</a>,</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  (<a class="code" href="../../d9/d46/digest_8h.html#af05c18bc86de66f307b6eb5fd1b177ce">rb_digest_hash_update_func_t</a>)<a class="code" href="../../d2/d24/sha1_8c.html#ad1440a26c71607309f801bd6c31546d9">SHA1_Update</a>,</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  (<a class="code" href="../../d9/d46/digest_8h.html#a857caac7ac545c4009d157e2e335b996">rb_digest_hash_finish_func_t</a>)<a class="code" href="../../d2/d24/sha1_8c.html#a93f1d45917c82629ba464a398c2cf41f">SHA1_Finish</a>,</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> };</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * A class for calculating message digests using the SHA-1 Secure Hash</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * Algorithm by NIST (the US' National Institute of Standards and</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * Technology), described in FIPS PUB 180-1.</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="../../d5/d50/sha1init_8c.html#a2c7665b05aed8697c4021523c17f0fd9"> 27</a></span> <a class="code" href="../../d5/d50/sha1init_8c.html#a2c7665b05aed8697c4021523c17f0fd9">Init_sha1</a>()</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a> mDigest, cDigest_Base, cDigest_SHA1;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <a class="code" href="../../de/de6/ruby_2ruby_8h.html#a9f4acbcae9f1821d167c69e5c429bc1b">rb_require</a>(<span class="stringliteral">"digest"</span>);</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  mDigest = <a class="code" href="../../db/d2e/intern_8h.html#a28a7241d8742ac74f2a914c222c8efc9">rb_path2class</a>(<span class="stringliteral">"Digest"</span>);</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  cDigest_Base = <a class="code" href="../../db/d2e/intern_8h.html#a28a7241d8742ac74f2a914c222c8efc9">rb_path2class</a>(<span class="stringliteral">"Digest::Base"</span>);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  cDigest_SHA1 = <a class="code" href="../../de/ddf/group__class.html#ga5266deadce0318d830a1e63c0933b898">rb_define_class_under</a>(mDigest, <span class="stringliteral">"SHA1"</span>, cDigest_Base);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="../../d5/d9d/tcltklib_8c.html#a439d454bde9ab99790d65b1fef054145">rb_ivar_set</a>(cDigest_SHA1, <a class="code" href="../../dc/dcc/array_8c.html#a9cfa42d4b79c89d68c53be8b2150a503">rb_intern</a>(<span class="stringliteral">"metadata"</span>),</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="../../d5/d9d/tcltklib_8c.html#acdb411cfd8a6dcce9a04494c66ea91fb">Data_Wrap_Struct</a>(<a class="code" href="../../de/de6/ruby_2ruby_8h.html#a57c96ead3ef230b4838e65fe037c346e">rb_cObject</a>, 0, 0, (<span class="keywordtype">void</span> *)&sha1));</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div>
<div class="ttc" id="sha1_8h_html_a341f900ed2019f4da21d6970417f9efc"><div class="ttname"><a href="../../db/db5/sha1_8h.html#a341f900ed2019f4da21d6970417f9efc">SHA1_DIGEST_LENGTH</a></div><div class="ttdeci">#define SHA1_DIGEST_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="../../db/db5/sha1_8h_source.html#l00036">sha1.h:36</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_aa6a1040cbacdc1c2a409fb3f002071bc"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#aa6a1040cbacdc1c2a409fb3f002071bc">VALUE</a></div><div class="ttdeci">unsigned long VALUE</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l00088">ruby.h:88</a></div></div>
<div class="ttc" id="sha1ossl_8h_html_ac87fc725883489e081c8ebc4397357a5"><div class="ttname"><a href="../../d2/d20/sha1ossl_8h.html#ac87fc725883489e081c8ebc4397357a5">SHA1_CTX</a></div><div class="ttdeci">#define SHA1_CTX</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d20/sha1ossl_8h_source.html#l00009">sha1ossl.h:9</a></div></div>
<div class="ttc" id="digest_8h_html"><div class="ttname"><a href="../../d9/d46/digest_8h.html">digest.h</a></div></div>
<div class="ttc" id="group__class_html_ga5266deadce0318d830a1e63c0933b898"><div class="ttname"><a href="../../de/ddf/group__class.html#ga5266deadce0318d830a1e63c0933b898">rb_define_class_under</a></div><div class="ttdeci">VALUE rb_define_class_under(VALUE outer, const char *name, VALUE super)</div><div class="ttdoc">Defines a class under the namespace of outer. </div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d0c/class_8c_source.html#l00515">class.c:515</a></div></div>
<div class="ttc" id="intern_8h_html_a28a7241d8742ac74f2a914c222c8efc9"><div class="ttname"><a href="../../db/d2e/intern_8h.html#a28a7241d8742ac74f2a914c222c8efc9">rb_path2class</a></div><div class="ttdeci">VALUE rb_path2class(const char *)</div><div class="ttdef"><b>Definition:</b> <a href="../../d0/d2a/variable_8c_source.html#l00293">variable.c:293</a></div></div>
<div class="ttc" id="sha1_8c_html_ac7153ad75aabddd8fa813ea0ed1cdfba"><div class="ttname"><a href="../../d2/d24/sha1_8c.html#ac7153ad75aabddd8fa813ea0ed1cdfba">SHA1_Init</a></div><div class="ttdeci">void SHA1_Init(SHA1_CTX *context)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d24/sha1_8c_source.html#l00202">sha1.c:202</a></div></div>
<div class="ttc" id="sha1_8h_html_a0dbc209bf3c6c0d9b0059cd24417f64c"><div class="ttname"><a href="../../db/db5/sha1_8h.html#a0dbc209bf3c6c0d9b0059cd24417f64c">SHA1_BLOCK_LENGTH</a></div><div class="ttdeci">#define SHA1_BLOCK_LENGTH</div><div class="ttdef"><b>Definition:</b> <a href="../../db/db5/sha1_8h_source.html#l00035">sha1.h:35</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a9f4acbcae9f1821d167c69e5c429bc1b"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a9f4acbcae9f1821d167c69e5c429bc1b">rb_require</a></div><div class="ttdeci">VALUE rb_require(const char *)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/dd4/load_8c_source.html#l00652">load.c:652</a></div></div>
<div class="ttc" id="tcltklib_8c_html_acdb411cfd8a6dcce9a04494c66ea91fb"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#acdb411cfd8a6dcce9a04494c66ea91fb">Data_Wrap_Struct</a></div><div class="ttdeci">return Data_Wrap_Struct(CLASS_OF(interp), 0, ip_free, slave)</div></div>
<div class="ttc" id="digest_8h_html_a0b0046cb4fe7382843ff651a8565c9cc"><div class="ttname"><a href="../../d9/d46/digest_8h.html#a0b0046cb4fe7382843ff651a8565c9cc">RUBY_DIGEST_API_VERSION</a></div><div class="ttdeci">#define RUBY_DIGEST_API_VERSION</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d46/digest_8h_source.html#l00018">digest.h:18</a></div></div>
<div class="ttc" id="ruby_2ruby_8h_html_a57c96ead3ef230b4838e65fe037c346e"><div class="ttname"><a href="../../de/de6/ruby_2ruby_8h.html#a57c96ead3ef230b4838e65fe037c346e">rb_cObject</a></div><div class="ttdeci">RUBY_EXTERN VALUE rb_cObject</div><div class="ttdef"><b>Definition:</b> <a href="../../de/de6/ruby_2ruby_8h_source.html#l01246">ruby.h:1246</a></div></div>
<div class="ttc" id="digest_8h_html_a857caac7ac545c4009d157e2e335b996"><div class="ttname"><a href="../../d9/d46/digest_8h.html#a857caac7ac545c4009d157e2e335b996">rb_digest_hash_finish_func_t</a></div><div class="ttdeci">void(* rb_digest_hash_finish_func_t)(void *, unsigned char *)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d46/digest_8h_source.html#l00022">digest.h:22</a></div></div>
<div class="ttc" id="sha1init_8c_html_a2c7665b05aed8697c4021523c17f0fd9"><div class="ttname"><a href="../../d5/d50/sha1init_8c.html#a2c7665b05aed8697c4021523c17f0fd9">Init_sha1</a></div><div class="ttdeci">void Init_sha1()</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d50/sha1init_8c_source.html#l00027">sha1init.c:27</a></div></div>
<div class="ttc" id="digest_8h_html_af05c18bc86de66f307b6eb5fd1b177ce"><div class="ttname"><a href="../../d9/d46/digest_8h.html#af05c18bc86de66f307b6eb5fd1b177ce">rb_digest_hash_update_func_t</a></div><div class="ttdeci">void(* rb_digest_hash_update_func_t)(void *, unsigned char *, size_t)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d46/digest_8h_source.html#l00021">digest.h:21</a></div></div>
<div class="ttc" id="sha1_8c_html_a93f1d45917c82629ba464a398c2cf41f"><div class="ttname"><a href="../../d2/d24/sha1_8c.html#a93f1d45917c82629ba464a398c2cf41f">SHA1_Finish</a></div><div class="ttdeci">void SHA1_Finish(SHA1_CTX *context, uint8_t digest[20])</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d24/sha1_8c_source.html#l00247">sha1.c:247</a></div></div>
<div class="ttc" id="sha1ossl_8h_html"><div class="ttname"><a href="../../d2/d20/sha1ossl_8h.html">sha1ossl.h</a></div></div>
<div class="ttc" id="sha1_8h_html"><div class="ttname"><a href="../../db/db5/sha1_8h.html">sha1.h</a></div></div>
<div class="ttc" id="tcltklib_8c_html_a439d454bde9ab99790d65b1fef054145"><div class="ttname"><a href="../../d5/d9d/tcltklib_8c.html#a439d454bde9ab99790d65b1fef054145">rb_ivar_set</a></div><div class="ttdeci">rb_ivar_set(einfo, ID_at_interp, interp)</div></div>
<div class="ttc" id="sha1_8c_html_ad1440a26c71607309f801bd6c31546d9"><div class="ttname"><a href="../../d2/d24/sha1_8c.html#ad1440a26c71607309f801bd6c31546d9">SHA1_Update</a></div><div class="ttdeci">void SHA1_Update(SHA1_CTX *context, const uint8_t *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="../../d2/d24/sha1_8c_source.html#l00220">sha1.c:220</a></div></div>
<div class="ttc" id="structrb__digest__metadata__t_html"><div class="ttname"><a href="../../df/d6f/structrb__digest__metadata__t.html">rb_digest_metadata_t</a></div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d46/digest_8h_source.html#l00024">digest.h:24</a></div></div>
<div class="ttc" id="digest_8h_html_a0079126dd98bcd481f46e100f562d32e"><div class="ttname"><a href="../../d9/d46/digest_8h.html#a0079126dd98bcd481f46e100f562d32e">rb_digest_hash_init_func_t</a></div><div class="ttdeci">void(* rb_digest_hash_init_func_t)(void *)</div><div class="ttdef"><b>Definition:</b> <a href="../../d9/d46/digest_8h_source.html#l00020">digest.h:20</a></div></div>
<div class="ttc" id="array_8c_html_a9cfa42d4b79c89d68c53be8b2150a503"><div class="ttname"><a href="../../dc/dcc/array_8c.html#a9cfa42d4b79c89d68c53be8b2150a503">rb_intern</a></div><div class="ttdeci">#define rb_intern(str)</div></div>
<div class="ttc" id="sha1init_8c_html_a8d2a6fd71df437d2098ce00624347ac7"><div class="ttname"><a href="../../d5/d50/sha1init_8c.html#a8d2a6fd71df437d2098ce00624347ac7">sha1</a></div><div class="ttdeci">static const rb_digest_metadata_t sha1</div><div class="ttdef"><b>Definition:</b> <a href="../../d5/d50/sha1init_8c_source.html#l00011">sha1init.c:11</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>