<!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>PolarSSL v1.3.9: sha256.h 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">PolarSSL v1.3.9 </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_fe5d89da45ebcc1a7ff7bc3c5e7e1db0.html">include</a></li><li class="navelem"><a class="el" href="dir_a7a97f5a70c18a81e14d82e1a0dd0021.html">polarssl</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">sha256.h</div> </div> </div><!--header--> <div class="contents"> <a href="sha256_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#ifndef POLARSSL_SHA256_H</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor"></span><span class="preprocessor">#define POLARSSL_SHA256_H</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#if !defined(POLARSSL_CONFIG_FILE)</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="config_8h.html">config.h</a>"</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor"></span><span class="preprocessor">#include POLARSSL_CONFIG_FILE</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <string.h></span></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> <span class="preprocessor">#if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)</span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#include <basetsd.h></span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">typedef</span> UINT32 uint32_t;</div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor"></span><span class="preprocessor">#include <inttypes.h></span></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="sha256_8h.html#a3aefddbb99ed99898d7ccd1d58301205"> 45</a></span> <span class="preprocessor">#define POLARSSL_ERR_SHA256_FILE_IO_ERROR -0x0078 </span></div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#if !defined(POLARSSL_SHA256_ALT)</span></div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"></span><span class="comment">// Regular implementation</span></div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">//</span></div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="structsha256__context.html"> 58</a></span> <span class="keyword">typedef</span> <span class="keyword">struct</span></div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> {</div> <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="structsha256__context.html#a6e598ceaf9cb75aad8b689c1b07d358e"> 60</a></span>  uint32_t total[2]; </div> <div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="structsha256__context.html#ab7bf5902034814047eb2fba1743b1ab9"> 61</a></span>  uint32_t state[8]; </div> <div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="structsha256__context.html#a4407f41fff25df35a92b96f3f1149f30"> 62</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> buffer[64]; </div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="structsha256__context.html#a1d2a3ca3dace65cef68b537198eaaea5"> 64</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> ipad[64]; </div> <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="structsha256__context.html#a305827030b2e173ed2c4f88566a7522a"> 65</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> opad[64]; </div> <div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="structsha256__context.html#a989d1712943ff3eee807e957e6787209"> 66</a></span>  <span class="keywordtype">int</span> <a class="code" href="structsha256__context.html#a989d1712943ff3eee807e957e6787209">is224</a>; </div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="structsha256__context.html">sha256_context</a>;</div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#afd98ce0e59b312d20c586b0c78890f4e">sha256_init</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx );</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a671c45e9f4d3b1f9af1560892f025768">sha256_free</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx );</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#ae8e12a0ae383d163ed4d5ead3b96c4de">sha256_starts</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keywordtype">int</span> is224 );</div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#ad6a332874701f3170d35dc42dec89428">sha256_update</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input,</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">size_t</span> ilen );</div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a2336e05cf0778065a128557c3e69fe53">sha256_finish</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> output[32] );</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="comment">/* Internal use */</span></div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a7d9516c49ffb7c4533c19aef3d5da3e8">sha256_process</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> data[64] );</div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"></span>}</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#else </span><span class="comment">/* POLARSSL_SHA256_ALT */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"></span><span class="preprocessor">#include "sha256_alt.h"</span></div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor">#endif </span><span class="comment">/* POLARSSL_SHA256_ALT */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a67457fa83af0439e80538d99426eb39a">sha256</a>( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen,</div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> output[32], <span class="keywordtype">int</span> is224 );</div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">int</span> <a class="code" href="sha256_8h.html#a28c036f06f6c9bef50ea366d13e25da4">sha256_file</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> output[32], <span class="keywordtype">int</span> is224 );</div> <div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a9149920697b6ca77185fb8c25d29ed2d">sha256_hmac_starts</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key,</div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">size_t</span> keylen, <span class="keywordtype">int</span> is224 );</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a4dbd9d5d390a0cf457e1dab00923167b">sha256_hmac_update</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input,</div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordtype">size_t</span> ilen );</div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div> <div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a2c0da55b9f26e74f14f1d1764932fc6a">sha256_hmac_finish</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx, <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> output[32] );</div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#a7ffbdf4d843ecf7231d89d279ec57abd">sha256_hmac_reset</a>( <a class="code" href="structsha256__context.html">sha256_context</a> *ctx );</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> <div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keywordtype">void</span> <a class="code" href="sha256_8h.html#acdc08a6c1083b3a1ffb0bd5850272054">sha256_hmac</a>( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *key, <span class="keywordtype">size_t</span> keylen,</div> <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *input, <span class="keywordtype">size_t</span> ilen,</div> <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> output[32], <span class="keywordtype">int</span> is224 );</div> <div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> <div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">int</span> <a class="code" href="sha256_8h.html#a471f1c466477f7073aba0cf61d109991">sha256_self_test</a>( <span class="keywordtype">int</span> verbose );</div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor">#ifdef __cplusplus</span></div> <div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"></span>}</div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor">#endif </span><span class="comment">/* sha256.h */</span><span class="preprocessor"></span></div> <div class="ttc" id="sha256_8h_html_a4dbd9d5d390a0cf457e1dab00923167b"><div class="ttname"><a href="sha256_8h.html#a4dbd9d5d390a0cf457e1dab00923167b">sha256_hmac_update</a></div><div class="ttdeci">void sha256_hmac_update(sha256_context *ctx, const unsigned char *input, size_t ilen)</div><div class="ttdoc">SHA-256 HMAC process buffer. </div></div> <div class="ttc" id="structsha256__context_html_a989d1712943ff3eee807e957e6787209"><div class="ttname"><a href="structsha256__context.html#a989d1712943ff3eee807e957e6787209">sha256_context::is224</a></div><div class="ttdeci">int is224</div><div class="ttdef"><b>Definition:</b> <a href="sha256_8h_source.html#l00066">sha256.h:66</a></div></div> <div class="ttc" id="sha256_8h_html_a28c036f06f6c9bef50ea366d13e25da4"><div class="ttname"><a href="sha256_8h.html#a28c036f06f6c9bef50ea366d13e25da4">sha256_file</a></div><div class="ttdeci">int sha256_file(const char *path, unsigned char output[32], int is224)</div><div class="ttdoc">Output = SHA-256( file contents ) </div></div> <div class="ttc" id="sha256_8h_html_ad6a332874701f3170d35dc42dec89428"><div class="ttname"><a href="sha256_8h.html#ad6a332874701f3170d35dc42dec89428">sha256_update</a></div><div class="ttdeci">void sha256_update(sha256_context *ctx, const unsigned char *input, size_t ilen)</div><div class="ttdoc">SHA-256 process buffer. </div></div> <div class="ttc" id="sha256_8h_html_a67457fa83af0439e80538d99426eb39a"><div class="ttname"><a href="sha256_8h.html#a67457fa83af0439e80538d99426eb39a">sha256</a></div><div class="ttdeci">void sha256(const unsigned char *input, size_t ilen, unsigned char output[32], int is224)</div><div class="ttdoc">Output = SHA-256( input buffer ) </div></div> <div class="ttc" id="sha256_8h_html_acdc08a6c1083b3a1ffb0bd5850272054"><div class="ttname"><a href="sha256_8h.html#acdc08a6c1083b3a1ffb0bd5850272054">sha256_hmac</a></div><div class="ttdeci">void sha256_hmac(const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char output[32], int is224)</div><div class="ttdoc">Output = HMAC-SHA-256( hmac key, input buffer ) </div></div> <div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div><div class="ttdoc">Configuration options (set of defines) </div></div> <div class="ttc" id="sha256_8h_html_a2c0da55b9f26e74f14f1d1764932fc6a"><div class="ttname"><a href="sha256_8h.html#a2c0da55b9f26e74f14f1d1764932fc6a">sha256_hmac_finish</a></div><div class="ttdeci">void sha256_hmac_finish(sha256_context *ctx, unsigned char output[32])</div><div class="ttdoc">SHA-256 HMAC final digest. </div></div> <div class="ttc" id="sha256_8h_html_a9149920697b6ca77185fb8c25d29ed2d"><div class="ttname"><a href="sha256_8h.html#a9149920697b6ca77185fb8c25d29ed2d">sha256_hmac_starts</a></div><div class="ttdeci">void sha256_hmac_starts(sha256_context *ctx, const unsigned char *key, size_t keylen, int is224)</div><div class="ttdoc">SHA-256 HMAC context setup. </div></div> <div class="ttc" id="sha256_8h_html_a471f1c466477f7073aba0cf61d109991"><div class="ttname"><a href="sha256_8h.html#a471f1c466477f7073aba0cf61d109991">sha256_self_test</a></div><div class="ttdeci">int sha256_self_test(int verbose)</div><div class="ttdoc">Checkup routine. </div></div> <div class="ttc" id="sha256_8h_html_ae8e12a0ae383d163ed4d5ead3b96c4de"><div class="ttname"><a href="sha256_8h.html#ae8e12a0ae383d163ed4d5ead3b96c4de">sha256_starts</a></div><div class="ttdeci">void sha256_starts(sha256_context *ctx, int is224)</div><div class="ttdoc">SHA-256 context setup. </div></div> <div class="ttc" id="sha256_8h_html_a7ffbdf4d843ecf7231d89d279ec57abd"><div class="ttname"><a href="sha256_8h.html#a7ffbdf4d843ecf7231d89d279ec57abd">sha256_hmac_reset</a></div><div class="ttdeci">void sha256_hmac_reset(sha256_context *ctx)</div><div class="ttdoc">SHA-256 HMAC context reset. </div></div> <div class="ttc" id="sha256_8h_html_a7d9516c49ffb7c4533c19aef3d5da3e8"><div class="ttname"><a href="sha256_8h.html#a7d9516c49ffb7c4533c19aef3d5da3e8">sha256_process</a></div><div class="ttdeci">void sha256_process(sha256_context *ctx, const unsigned char data[64])</div></div> <div class="ttc" id="sha256_8h_html_afd98ce0e59b312d20c586b0c78890f4e"><div class="ttname"><a href="sha256_8h.html#afd98ce0e59b312d20c586b0c78890f4e">sha256_init</a></div><div class="ttdeci">void sha256_init(sha256_context *ctx)</div><div class="ttdoc">Initialize SHA-256 context. </div></div> <div class="ttc" id="sha256_8h_html_a671c45e9f4d3b1f9af1560892f025768"><div class="ttname"><a href="sha256_8h.html#a671c45e9f4d3b1f9af1560892f025768">sha256_free</a></div><div class="ttdeci">void sha256_free(sha256_context *ctx)</div><div class="ttdoc">Clear SHA-256 context. </div></div> <div class="ttc" id="sha256_8h_html_a2336e05cf0778065a128557c3e69fe53"><div class="ttname"><a href="sha256_8h.html#a2336e05cf0778065a128557c3e69fe53">sha256_finish</a></div><div class="ttdeci">void sha256_finish(sha256_context *ctx, unsigned char output[32])</div><div class="ttdoc">SHA-256 final digest. </div></div> <div class="ttc" id="structsha256__context_html"><div class="ttname"><a href="structsha256__context.html">sha256_context</a></div><div class="ttdoc">SHA-256 context structure. </div><div class="ttdef"><b>Definition:</b> <a href="sha256_8h_source.html#l00058">sha256.h:58</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Mon May 4 2015 10:42:40 for PolarSSL v1.3.9 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>