Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 9e72f3e7ecf68cce016a7c5c59e863d3 > files > 763

lib64polarssl-devel-1.3.8-1.mga4.x86_64.rpm

<!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.8: ssl.h File Reference</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.8
   </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&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</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>
    </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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_6a9bbd12bf4e19a18c45e270f8fae3fd.html">include</a></li><li class="navelem"><a class="el" href="dir_04272d44da4745cf8b8bfc767d6c6523.html">polarssl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ssl.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>SSL/TLS functions.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="config_8h_source.html">config.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="net_8h_source.html">net.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="bignum_8h_source.html">bignum.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ecp_8h_source.html">ecp.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ssl__ciphersuites_8h_source.html">ssl_ciphersuites.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="md5_8h_source.html">md5.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="sha1_8h_source.html">sha1.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="sha256_8h_source.html">sha256.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="sha512_8h_source.html">sha512.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="aes_8h_source.html">aes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="x509__crt_8h_source.html">x509_crt.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="x509__crl_8h_source.html">x509_crl.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="dhm_8h_source.html">dhm.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ecdh_8h_source.html">ecdh.h</a>&quot;</code><br/>
<code>#include &lt;time.h&gt;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ssl.h:</div>
<div class="dyncontent">
<div class="center"><img src="ssl_8h__incl.png" border="0" usemap="#ssl_8h" alt=""/></div>
<map name="ssl_8h" id="ssl_8h">
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="ssl_8h__dep__incl.png" border="0" usemap="#ssl_8hdep" alt=""/></div>
<map name="ssl_8hdep" id="ssl_8hdep">
</map>
</div>
</div>
<p><a href="ssl_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="union__ssl__premaster__secret.html">_ssl_premaster_secret</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ssl__session.html">_ssl_session</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ssl__transform.html">_ssl_transform</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ssl__handshake__params.html">_ssl_handshake_params</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ssl__ticket__keys.html">_ssl_ticket_keys</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ssl__key__cert.html">_ssl_key_cert</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__ssl__context.html">_ssl_context</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a1043bbbffe63041fc0ba8755ed4c7d98"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1043bbbffe63041fc0ba8755ed4c7d98">POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED</a></td></tr>
<tr class="separator:a1043bbbffe63041fc0ba8755ed4c7d98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a866cdf579717ed3480366ce9afc93d8b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a866cdf579717ed3480366ce9afc93d8b">POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED</a></td></tr>
<tr class="separator:a866cdf579717ed3480366ce9afc93d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39e027ae9b490271b7c7b0e7bd4ec9a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a39e027ae9b490271b7c7b0e7bd4ec9a6">POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE</a>&#160;&#160;&#160;-0x7080</td></tr>
<tr class="memdesc:a39e027ae9b490271b7c7b0e7bd4ec9a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The requested feature is not available.  <a href="#a39e027ae9b490271b7c7b0e7bd4ec9a6">More...</a><br/></td></tr>
<tr class="separator:a39e027ae9b490271b7c7b0e7bd4ec9a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcb102bf6601922b468a812b6cbeea12"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#adcb102bf6601922b468a812b6cbeea12">POLARSSL_ERR_SSL_BAD_INPUT_DATA</a>&#160;&#160;&#160;-0x7100</td></tr>
<tr class="memdesc:adcb102bf6601922b468a812b6cbeea12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bad input parameters to function.  <a href="#adcb102bf6601922b468a812b6cbeea12">More...</a><br/></td></tr>
<tr class="separator:adcb102bf6601922b468a812b6cbeea12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8b3452c48a066a22c809a9d60bc3752"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac8b3452c48a066a22c809a9d60bc3752">POLARSSL_ERR_SSL_INVALID_MAC</a>&#160;&#160;&#160;-0x7180</td></tr>
<tr class="memdesc:ac8b3452c48a066a22c809a9d60bc3752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verification of the message MAC failed.  <a href="#ac8b3452c48a066a22c809a9d60bc3752">More...</a><br/></td></tr>
<tr class="separator:ac8b3452c48a066a22c809a9d60bc3752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a1584fe2b857e6d374d086768aaa6b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6a1584fe2b857e6d374d086768aaa6b8">POLARSSL_ERR_SSL_INVALID_RECORD</a>&#160;&#160;&#160;-0x7200</td></tr>
<tr class="memdesc:a6a1584fe2b857e6d374d086768aaa6b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">An invalid SSL record was received.  <a href="#a6a1584fe2b857e6d374d086768aaa6b8">More...</a><br/></td></tr>
<tr class="separator:a6a1584fe2b857e6d374d086768aaa6b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28bfc80f65337b0dbd4b006e53274b32"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a28bfc80f65337b0dbd4b006e53274b32">POLARSSL_ERR_SSL_CONN_EOF</a>&#160;&#160;&#160;-0x7280</td></tr>
<tr class="memdesc:a28bfc80f65337b0dbd4b006e53274b32"><td class="mdescLeft">&#160;</td><td class="mdescRight">The connection indicated an EOF.  <a href="#a28bfc80f65337b0dbd4b006e53274b32">More...</a><br/></td></tr>
<tr class="separator:a28bfc80f65337b0dbd4b006e53274b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa719a34cc90e8d15dbface25b41e88db"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa719a34cc90e8d15dbface25b41e88db">POLARSSL_ERR_SSL_UNKNOWN_CIPHER</a>&#160;&#160;&#160;-0x7300</td></tr>
<tr class="memdesc:aa719a34cc90e8d15dbface25b41e88db"><td class="mdescLeft">&#160;</td><td class="mdescRight">An unknown cipher was received.  <a href="#aa719a34cc90e8d15dbface25b41e88db">More...</a><br/></td></tr>
<tr class="separator:aa719a34cc90e8d15dbface25b41e88db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95498cade77d8c7db264bf799b2753f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a95498cade77d8c7db264bf799b2753f5">POLARSSL_ERR_SSL_NO_CIPHER_CHOSEN</a>&#160;&#160;&#160;-0x7380</td></tr>
<tr class="memdesc:a95498cade77d8c7db264bf799b2753f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The server has no ciphersuites in common with the client.  <a href="#a95498cade77d8c7db264bf799b2753f5">More...</a><br/></td></tr>
<tr class="separator:a95498cade77d8c7db264bf799b2753f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19cbe729aeb55df7d04669cb98a38fe0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a19cbe729aeb55df7d04669cb98a38fe0">POLARSSL_ERR_SSL_NO_RNG</a>&#160;&#160;&#160;-0x7400</td></tr>
<tr class="memdesc:a19cbe729aeb55df7d04669cb98a38fe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">No RNG was provided to the SSL module.  <a href="#a19cbe729aeb55df7d04669cb98a38fe0">More...</a><br/></td></tr>
<tr class="separator:a19cbe729aeb55df7d04669cb98a38fe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb836450c3b6ffa966cf6cf74ffe927f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aeb836450c3b6ffa966cf6cf74ffe927f">POLARSSL_ERR_SSL_NO_CLIENT_CERTIFICATE</a>&#160;&#160;&#160;-0x7480</td></tr>
<tr class="memdesc:aeb836450c3b6ffa966cf6cf74ffe927f"><td class="mdescLeft">&#160;</td><td class="mdescRight">No client certification received from the client, but required by the authentication mode.  <a href="#aeb836450c3b6ffa966cf6cf74ffe927f">More...</a><br/></td></tr>
<tr class="separator:aeb836450c3b6ffa966cf6cf74ffe927f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5db026d994cb67ac466c9181f380be0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad5db026d994cb67ac466c9181f380be0">POLARSSL_ERR_SSL_CERTIFICATE_TOO_LARGE</a>&#160;&#160;&#160;-0x7500</td></tr>
<tr class="memdesc:ad5db026d994cb67ac466c9181f380be0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Our own certificate(s) is/are too large to send in an SSL message.  <a href="#ad5db026d994cb67ac466c9181f380be0">More...</a><br/></td></tr>
<tr class="separator:ad5db026d994cb67ac466c9181f380be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0313a3fa877e3a3684756d2577d2b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aec0313a3fa877e3a3684756d2577d2b4">POLARSSL_ERR_SSL_CERTIFICATE_REQUIRED</a>&#160;&#160;&#160;-0x7580</td></tr>
<tr class="memdesc:aec0313a3fa877e3a3684756d2577d2b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The own certificate is not set, but needed by the server.  <a href="#aec0313a3fa877e3a3684756d2577d2b4">More...</a><br/></td></tr>
<tr class="separator:aec0313a3fa877e3a3684756d2577d2b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68feacf7e93dc9d0128e3888ae4a4858"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a68feacf7e93dc9d0128e3888ae4a4858">POLARSSL_ERR_SSL_PRIVATE_KEY_REQUIRED</a>&#160;&#160;&#160;-0x7600</td></tr>
<tr class="memdesc:a68feacf7e93dc9d0128e3888ae4a4858"><td class="mdescLeft">&#160;</td><td class="mdescRight">The own private key or pre-shared key is not set, but needed.  <a href="#a68feacf7e93dc9d0128e3888ae4a4858">More...</a><br/></td></tr>
<tr class="separator:a68feacf7e93dc9d0128e3888ae4a4858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ca3ab1629e09f0d370e14ad11be523d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8ca3ab1629e09f0d370e14ad11be523d">POLARSSL_ERR_SSL_CA_CHAIN_REQUIRED</a>&#160;&#160;&#160;-0x7680</td></tr>
<tr class="memdesc:a8ca3ab1629e09f0d370e14ad11be523d"><td class="mdescLeft">&#160;</td><td class="mdescRight">No CA Chain is set, but required to operate.  <a href="#a8ca3ab1629e09f0d370e14ad11be523d">More...</a><br/></td></tr>
<tr class="separator:a8ca3ab1629e09f0d370e14ad11be523d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae047b69d2893d835285016db717d4f56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae047b69d2893d835285016db717d4f56">POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE</a>&#160;&#160;&#160;-0x7700</td></tr>
<tr class="memdesc:ae047b69d2893d835285016db717d4f56"><td class="mdescLeft">&#160;</td><td class="mdescRight">An unexpected message was received from our peer.  <a href="#ae047b69d2893d835285016db717d4f56">More...</a><br/></td></tr>
<tr class="separator:ae047b69d2893d835285016db717d4f56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cb8a175a1f0c3b3fe77f26fd32abda2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5cb8a175a1f0c3b3fe77f26fd32abda2">POLARSSL_ERR_SSL_FATAL_ALERT_MESSAGE</a>&#160;&#160;&#160;-0x7780</td></tr>
<tr class="memdesc:a5cb8a175a1f0c3b3fe77f26fd32abda2"><td class="mdescLeft">&#160;</td><td class="mdescRight">A fatal alert message was received from our peer.  <a href="#a5cb8a175a1f0c3b3fe77f26fd32abda2">More...</a><br/></td></tr>
<tr class="separator:a5cb8a175a1f0c3b3fe77f26fd32abda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8af28117b65fb455f8bc95b7f8a1f8a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab8af28117b65fb455f8bc95b7f8a1f8a">POLARSSL_ERR_SSL_PEER_VERIFY_FAILED</a>&#160;&#160;&#160;-0x7800</td></tr>
<tr class="memdesc:ab8af28117b65fb455f8bc95b7f8a1f8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Verification of our peer failed.  <a href="#ab8af28117b65fb455f8bc95b7f8a1f8a">More...</a><br/></td></tr>
<tr class="separator:ab8af28117b65fb455f8bc95b7f8a1f8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e4c3b27c9e170358c71c83683c554da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8e4c3b27c9e170358c71c83683c554da">POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY</a>&#160;&#160;&#160;-0x7880</td></tr>
<tr class="memdesc:a8e4c3b27c9e170358c71c83683c554da"><td class="mdescLeft">&#160;</td><td class="mdescRight">The peer notified us that the connection is going to be closed.  <a href="#a8e4c3b27c9e170358c71c83683c554da">More...</a><br/></td></tr>
<tr class="separator:a8e4c3b27c9e170358c71c83683c554da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a981518b3ec1d68d785028766ccd735ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a981518b3ec1d68d785028766ccd735ae">POLARSSL_ERR_SSL_BAD_HS_CLIENT_HELLO</a>&#160;&#160;&#160;-0x7900</td></tr>
<tr class="memdesc:a981518b3ec1d68d785028766ccd735ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ClientHello handshake message failed.  <a href="#a981518b3ec1d68d785028766ccd735ae">More...</a><br/></td></tr>
<tr class="separator:a981518b3ec1d68d785028766ccd735ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89e784e728eb487979ed1d66becea54e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a89e784e728eb487979ed1d66becea54e">POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO</a>&#160;&#160;&#160;-0x7980</td></tr>
<tr class="memdesc:a89e784e728eb487979ed1d66becea54e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ServerHello handshake message failed.  <a href="#a89e784e728eb487979ed1d66becea54e">More...</a><br/></td></tr>
<tr class="separator:a89e784e728eb487979ed1d66becea54e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdc6f709e309ee39f6f1b085ee941a55"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abdc6f709e309ee39f6f1b085ee941a55">POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE</a>&#160;&#160;&#160;-0x7A00</td></tr>
<tr class="memdesc:abdc6f709e309ee39f6f1b085ee941a55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the Certificate handshake message failed.  <a href="#abdc6f709e309ee39f6f1b085ee941a55">More...</a><br/></td></tr>
<tr class="separator:abdc6f709e309ee39f6f1b085ee941a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a295157be7847f73e569ac41fb81faa08"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a295157be7847f73e569ac41fb81faa08">POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST</a>&#160;&#160;&#160;-0x7A80</td></tr>
<tr class="memdesc:a295157be7847f73e569ac41fb81faa08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the CertificateRequest handshake message failed.  <a href="#a295157be7847f73e569ac41fb81faa08">More...</a><br/></td></tr>
<tr class="separator:a295157be7847f73e569ac41fb81faa08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abde15c07b9a03c3ff57e17163af425fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abde15c07b9a03c3ff57e17163af425fc">POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE</a>&#160;&#160;&#160;-0x7B00</td></tr>
<tr class="memdesc:abde15c07b9a03c3ff57e17163af425fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ServerKeyExchange handshake message failed.  <a href="#abde15c07b9a03c3ff57e17163af425fc">More...</a><br/></td></tr>
<tr class="separator:abde15c07b9a03c3ff57e17163af425fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c3092523242ec70c8a83edae64ad24e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0c3092523242ec70c8a83edae64ad24e">POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO_DONE</a>&#160;&#160;&#160;-0x7B80</td></tr>
<tr class="memdesc:a0c3092523242ec70c8a83edae64ad24e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ServerHelloDone handshake message failed.  <a href="#a0c3092523242ec70c8a83edae64ad24e">More...</a><br/></td></tr>
<tr class="separator:a0c3092523242ec70c8a83edae64ad24e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a446cd19a186cc2a67f64993af3013fbd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a446cd19a186cc2a67f64993af3013fbd">POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE</a>&#160;&#160;&#160;-0x7C00</td></tr>
<tr class="memdesc:a446cd19a186cc2a67f64993af3013fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ClientKeyExchange handshake message failed.  <a href="#a446cd19a186cc2a67f64993af3013fbd">More...</a><br/></td></tr>
<tr class="separator:a446cd19a186cc2a67f64993af3013fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2726e209ffa43b6c2ce45e22fad0a870"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2726e209ffa43b6c2ce45e22fad0a870">POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP</a>&#160;&#160;&#160;-0x7C80</td></tr>
<tr class="memdesc:a2726e209ffa43b6c2ce45e22fad0a870"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ClientKeyExchange handshake message failed in DHM / ECDH Read Public.  <a href="#a2726e209ffa43b6c2ce45e22fad0a870">More...</a><br/></td></tr>
<tr class="separator:a2726e209ffa43b6c2ce45e22fad0a870"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6cfcd4ac760424f436ce5d023e082c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa6cfcd4ac760424f436ce5d023e082c6">POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS</a>&#160;&#160;&#160;-0x7D00</td></tr>
<tr class="memdesc:aa6cfcd4ac760424f436ce5d023e082c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ClientKeyExchange handshake message failed in DHM / ECDH Calculate Secret.  <a href="#aa6cfcd4ac760424f436ce5d023e082c6">More...</a><br/></td></tr>
<tr class="separator:aa6cfcd4ac760424f436ce5d023e082c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26bdac13261b618681a39b0a20ebf103"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a26bdac13261b618681a39b0a20ebf103">POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY</a>&#160;&#160;&#160;-0x7D80</td></tr>
<tr class="memdesc:a26bdac13261b618681a39b0a20ebf103"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the CertificateVerify handshake message failed.  <a href="#a26bdac13261b618681a39b0a20ebf103">More...</a><br/></td></tr>
<tr class="separator:a26bdac13261b618681a39b0a20ebf103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b2917c9869b66d3d7c026b5b0e00652"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1b2917c9869b66d3d7c026b5b0e00652">POLARSSL_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC</a>&#160;&#160;&#160;-0x7E00</td></tr>
<tr class="memdesc:a1b2917c9869b66d3d7c026b5b0e00652"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the ChangeCipherSpec handshake message failed.  <a href="#a1b2917c9869b66d3d7c026b5b0e00652">More...</a><br/></td></tr>
<tr class="separator:a1b2917c9869b66d3d7c026b5b0e00652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5238dfb12be0905ef5243bedf195e9b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad5238dfb12be0905ef5243bedf195e9b">POLARSSL_ERR_SSL_BAD_HS_FINISHED</a>&#160;&#160;&#160;-0x7E80</td></tr>
<tr class="memdesc:ad5238dfb12be0905ef5243bedf195e9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the Finished handshake message failed.  <a href="#ad5238dfb12be0905ef5243bedf195e9b">More...</a><br/></td></tr>
<tr class="separator:ad5238dfb12be0905ef5243bedf195e9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af35f4f9525fe3e98f989d2952fff254f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af35f4f9525fe3e98f989d2952fff254f">POLARSSL_ERR_SSL_MALLOC_FAILED</a>&#160;&#160;&#160;-0x7F00</td></tr>
<tr class="memdesc:af35f4f9525fe3e98f989d2952fff254f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory allocation failed.  <a href="#af35f4f9525fe3e98f989d2952fff254f">More...</a><br/></td></tr>
<tr class="separator:af35f4f9525fe3e98f989d2952fff254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5241d228f234e307b60bc13139eab2fc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5241d228f234e307b60bc13139eab2fc">POLARSSL_ERR_SSL_HW_ACCEL_FAILED</a>&#160;&#160;&#160;-0x7F80</td></tr>
<tr class="memdesc:a5241d228f234e307b60bc13139eab2fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hardware acceleration function returned with error.  <a href="#a5241d228f234e307b60bc13139eab2fc">More...</a><br/></td></tr>
<tr class="separator:a5241d228f234e307b60bc13139eab2fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a9cd8b2cb96afeed543fc57078e7d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a45a9cd8b2cb96afeed543fc57078e7d8">POLARSSL_ERR_SSL_HW_ACCEL_FALLTHROUGH</a>&#160;&#160;&#160;-0x6F80</td></tr>
<tr class="memdesc:a45a9cd8b2cb96afeed543fc57078e7d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hardware acceleration function skipped / left alone data.  <a href="#a45a9cd8b2cb96afeed543fc57078e7d8">More...</a><br/></td></tr>
<tr class="separator:a45a9cd8b2cb96afeed543fc57078e7d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90a14481136649c0a89a7ca5fa4eb750"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a90a14481136649c0a89a7ca5fa4eb750">POLARSSL_ERR_SSL_COMPRESSION_FAILED</a>&#160;&#160;&#160;-0x6F00</td></tr>
<tr class="memdesc:a90a14481136649c0a89a7ca5fa4eb750"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the compression / decompression failed.  <a href="#a90a14481136649c0a89a7ca5fa4eb750">More...</a><br/></td></tr>
<tr class="separator:a90a14481136649c0a89a7ca5fa4eb750"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17bbf98b50421818b851a0dca8c0da4b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a17bbf98b50421818b851a0dca8c0da4b">POLARSSL_ERR_SSL_BAD_HS_PROTOCOL_VERSION</a>&#160;&#160;&#160;-0x6E80</td></tr>
<tr class="memdesc:a17bbf98b50421818b851a0dca8c0da4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handshake protocol not within min/max boundaries.  <a href="#a17bbf98b50421818b851a0dca8c0da4b">More...</a><br/></td></tr>
<tr class="separator:a17bbf98b50421818b851a0dca8c0da4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5303c598a58f4cd226b8ca773e8445ce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5303c598a58f4cd226b8ca773e8445ce">POLARSSL_ERR_SSL_BAD_HS_NEW_SESSION_TICKET</a>&#160;&#160;&#160;-0x6E00</td></tr>
<tr class="memdesc:a5303c598a58f4cd226b8ca773e8445ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processing of the NewSessionTicket handshake message failed.  <a href="#a5303c598a58f4cd226b8ca773e8445ce">More...</a><br/></td></tr>
<tr class="separator:a5303c598a58f4cd226b8ca773e8445ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd2d6575711d0c484fbc9da8dbca3532"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afd2d6575711d0c484fbc9da8dbca3532">POLARSSL_ERR_SSL_SESSION_TICKET_EXPIRED</a>&#160;&#160;&#160;-0x6D80</td></tr>
<tr class="memdesc:afd2d6575711d0c484fbc9da8dbca3532"><td class="mdescLeft">&#160;</td><td class="mdescRight">Session ticket has expired.  <a href="#afd2d6575711d0c484fbc9da8dbca3532">More...</a><br/></td></tr>
<tr class="separator:afd2d6575711d0c484fbc9da8dbca3532"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bcdd01778f66202a4e9d9a16ac7e271"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3bcdd01778f66202a4e9d9a16ac7e271">POLARSSL_ERR_SSL_PK_TYPE_MISMATCH</a>&#160;&#160;&#160;-0x6D00</td></tr>
<tr class="memdesc:a3bcdd01778f66202a4e9d9a16ac7e271"><td class="mdescLeft">&#160;</td><td class="mdescRight">Public key type mismatch (eg, asked for RSA key exchange and presented EC key)  <a href="#a3bcdd01778f66202a4e9d9a16ac7e271">More...</a><br/></td></tr>
<tr class="separator:a3bcdd01778f66202a4e9d9a16ac7e271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a52f3f1ee73e9c928003800909fef95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5a52f3f1ee73e9c928003800909fef95">POLARSSL_ERR_SSL_UNKNOWN_IDENTITY</a>&#160;&#160;&#160;-0x6C80</td></tr>
<tr class="memdesc:a5a52f3f1ee73e9c928003800909fef95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unknown identity received (eg, PSK identity)  <a href="#a5a52f3f1ee73e9c928003800909fef95">More...</a><br/></td></tr>
<tr class="separator:a5a52f3f1ee73e9c928003800909fef95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e4844a3fd06c7dc142f5b8f3985115"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a13e4844a3fd06c7dc142f5b8f3985115">POLARSSL_ERR_SSL_INTERNAL_ERROR</a>&#160;&#160;&#160;-0x6C00</td></tr>
<tr class="memdesc:a13e4844a3fd06c7dc142f5b8f3985115"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal error (eg, unexpected failure in lower-level module)  <a href="#a13e4844a3fd06c7dc142f5b8f3985115">More...</a><br/></td></tr>
<tr class="separator:a13e4844a3fd06c7dc142f5b8f3985115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3802ace7255386bfbe71925823fc9931"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3802ace7255386bfbe71925823fc9931">POLARSSL_ERR_SSL_COUNTER_WRAPPING</a>&#160;&#160;&#160;-0x6B80</td></tr>
<tr class="memdesc:a3802ace7255386bfbe71925823fc9931"><td class="mdescLeft">&#160;</td><td class="mdescRight">A counter would wrap (eg, too many messages exchanged).  <a href="#a3802ace7255386bfbe71925823fc9931">More...</a><br/></td></tr>
<tr class="separator:a3802ace7255386bfbe71925823fc9931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84391a43fea28830ad138e2418a9728b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a84391a43fea28830ad138e2418a9728b">SSL_MAJOR_VERSION_3</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a84391a43fea28830ad138e2418a9728b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fedd81485a2c0a99b8d0d1dea245302"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4fedd81485a2c0a99b8d0d1dea245302">SSL_MINOR_VERSION_0</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a4fedd81485a2c0a99b8d0d1dea245302"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e0c978697874bb5457d61f7515e8f55"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3e0c978697874bb5457d61f7515e8f55">SSL_MINOR_VERSION_1</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a3e0c978697874bb5457d61f7515e8f55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab565447d7abe2dcb01544e7dbfcd4c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aab565447d7abe2dcb01544e7dbfcd4c9">SSL_MINOR_VERSION_2</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:aab565447d7abe2dcb01544e7dbfcd4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d963f23682491708743fd3de381cc1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6d963f23682491708743fd3de381cc1d">SSL_MINOR_VERSION_3</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a6d963f23682491708743fd3de381cc1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8480d96b4e54df5a6a7a31e38edc35c2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8480d96b4e54df5a6a7a31e38edc35c2">SSL_MIN_MAJOR_VERSION</a>&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a84391a43fea28830ad138e2418a9728b">SSL_MAJOR_VERSION_3</a></td></tr>
<tr class="separator:a8480d96b4e54df5a6a7a31e38edc35c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9505bd0c270200150a26b6d85afc0934"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9505bd0c270200150a26b6d85afc0934">SSL_MIN_MINOR_VERSION</a>&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a4fedd81485a2c0a99b8d0d1dea245302">SSL_MINOR_VERSION_0</a></td></tr>
<tr class="separator:a9505bd0c270200150a26b6d85afc0934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9777574c0f3b3d13e5c4e00981b7834"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab9777574c0f3b3d13e5c4e00981b7834">SSL_MAX_MAJOR_VERSION</a>&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a84391a43fea28830ad138e2418a9728b">SSL_MAJOR_VERSION_3</a></td></tr>
<tr class="separator:ab9777574c0f3b3d13e5c4e00981b7834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74783bb987193059554331dba3b553ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a74783bb987193059554331dba3b553ab">SSL_MAX_MINOR_VERSION</a>&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a6d963f23682491708743fd3de381cc1d">SSL_MINOR_VERSION_3</a></td></tr>
<tr class="separator:a74783bb987193059554331dba3b553ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3348879ac88b7bb93b5d503c05e13c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1e3348879ac88b7bb93b5d503c05e13c">SSL_MAX_FRAG_LEN_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a1e3348879ac88b7bb93b5d503c05e13c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf67eb19ce0cebd6592ac5cba5c2411"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6bf67eb19ce0cebd6592ac5cba5c2411">SSL_MAX_FRAG_LEN_512</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a6bf67eb19ce0cebd6592ac5cba5c2411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47cd1dca11882e95eb0910d68d6e5c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad47cd1dca11882e95eb0910d68d6e5c8">SSL_MAX_FRAG_LEN_1024</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ad47cd1dca11882e95eb0910d68d6e5c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70fac39e6cff2c09dd74185951c06695"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a70fac39e6cff2c09dd74185951c06695">SSL_MAX_FRAG_LEN_2048</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a70fac39e6cff2c09dd74185951c06695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c29a4f619719fdc1e96189033e0642d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3c29a4f619719fdc1e96189033e0642d">SSL_MAX_FRAG_LEN_4096</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a3c29a4f619719fdc1e96189033e0642d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb1200880a9fc9fea4c776242d246cb1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acb1200880a9fc9fea4c776242d246cb1">SSL_MAX_FRAG_LEN_INVALID</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:acb1200880a9fc9fea4c776242d246cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3c4f57b35a1b8c395ebd7451e2211b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7d3c4f57b35a1b8c395ebd7451e2211b">SSL_IS_CLIENT</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a7d3c4f57b35a1b8c395ebd7451e2211b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fe8b6c95281a7048839f8b30713ff35"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8fe8b6c95281a7048839f8b30713ff35">SSL_IS_SERVER</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a8fe8b6c95281a7048839f8b30713ff35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47aca4f7ebf39713fa96eac86343e7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad47aca4f7ebf39713fa96eac86343e7b">SSL_COMPRESS_NULL</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ad47aca4f7ebf39713fa96eac86343e7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4b89da0e77356598f12b3d48506276d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae4b89da0e77356598f12b3d48506276d">SSL_COMPRESS_DEFLATE</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ae4b89da0e77356598f12b3d48506276d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a060b51dc564d4b9dc941e81eab66d60c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a060b51dc564d4b9dc941e81eab66d60c">SSL_VERIFY_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a060b51dc564d4b9dc941e81eab66d60c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7760ecdb03ee6f4520a21c04942c0883"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7760ecdb03ee6f4520a21c04942c0883">SSL_VERIFY_OPTIONAL</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a7760ecdb03ee6f4520a21c04942c0883"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9549da00fa29209b3db3c5f11a329b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1f9549da00fa29209b3db3c5f11a329b">SSL_VERIFY_REQUIRED</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a1f9549da00fa29209b3db3c5f11a329b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a22bcc5982f8f2dbbc899b2d9c09b0d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3a22bcc5982f8f2dbbc899b2d9c09b0d">SSL_INITIAL_HANDSHAKE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3a22bcc5982f8f2dbbc899b2d9c09b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa061ebaead3d10597d95050554179908"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa061ebaead3d10597d95050554179908">SSL_RENEGOTIATION</a>&#160;&#160;&#160;1   /* In progress */</td></tr>
<tr class="separator:aa061ebaead3d10597d95050554179908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0293648bc85846f7bf32075bfb6a7427"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0293648bc85846f7bf32075bfb6a7427">SSL_RENEGOTIATION_DONE</a>&#160;&#160;&#160;2   /* Done */</td></tr>
<tr class="separator:a0293648bc85846f7bf32075bfb6a7427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22b6a89d4fcdfdc634d1f14bb7d19e50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a22b6a89d4fcdfdc634d1f14bb7d19e50">SSL_RENEGOTIATION_PENDING</a>&#160;&#160;&#160;3   /* Requested (server only) */</td></tr>
<tr class="separator:a22b6a89d4fcdfdc634d1f14bb7d19e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06a288ea509f8e76fcb52a5f46cb3908"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a06a288ea509f8e76fcb52a5f46cb3908">SSL_LEGACY_RENEGOTIATION</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a06a288ea509f8e76fcb52a5f46cb3908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b2194c4a00cf137d99c90859838c7e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3b2194c4a00cf137d99c90859838c7e5">SSL_SECURE_RENEGOTIATION</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a3b2194c4a00cf137d99c90859838c7e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5c9fd70cb3431d8ab7280ec69a93a57"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa5c9fd70cb3431d8ab7280ec69a93a57">SSL_RENEGOTIATION_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:aa5c9fd70cb3431d8ab7280ec69a93a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3f42e9bf819a4fc589351c103d221b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3f3f42e9bf819a4fc589351c103d221b">SSL_RENEGOTIATION_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a3f3f42e9bf819a4fc589351c103d221b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7a8a713832ae0164b5298c75945ba0e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af7a8a713832ae0164b5298c75945ba0e">SSL_RENEGOTIATION_NOT_ENFORCED</a>&#160;&#160;&#160;-1</td></tr>
<tr class="separator:af7a8a713832ae0164b5298c75945ba0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345b3de11c3837d161cc3fea122a8d4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a345b3de11c3837d161cc3fea122a8d4f">SSL_RENEGO_MAX_RECORDS_DEFAULT</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:a345b3de11c3837d161cc3fea122a8d4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63a004d5c7caac017c62bbfcfa533eae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a63a004d5c7caac017c62bbfcfa533eae">SSL_LEGACY_NO_RENEGOTIATION</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a63a004d5c7caac017c62bbfcfa533eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af85d1bdb4c936effdabd3b6bf3d953c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af85d1bdb4c936effdabd3b6bf3d953c5">SSL_LEGACY_ALLOW_RENEGOTIATION</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:af85d1bdb4c936effdabd3b6bf3d953c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31c3d047a20d178a4228eb3740a7a24f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a31c3d047a20d178a4228eb3740a7a24f">SSL_LEGACY_BREAK_HANDSHAKE</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a31c3d047a20d178a4228eb3740a7a24f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fc505cdd77f24a0b3b509376abae77f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3fc505cdd77f24a0b3b509376abae77f">SSL_TRUNC_HMAC_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3fc505cdd77f24a0b3b509376abae77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f0eeff6804fb62e9eed7fc94f751efe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8f0eeff6804fb62e9eed7fc94f751efe">SSL_TRUNC_HMAC_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a8f0eeff6804fb62e9eed7fc94f751efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36c288429758bd90fbfa891089d984ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a36c288429758bd90fbfa891089d984ff">SSL_TRUNCATED_HMAC_LEN</a>&#160;&#160;&#160;10  /* 80 bits, rfc 6066 section 7 */</td></tr>
<tr class="separator:a36c288429758bd90fbfa891089d984ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f213a5841510e97a4c7ee9d58403a75"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5f213a5841510e97a4c7ee9d58403a75">SSL_SESSION_TICKETS_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a5f213a5841510e97a4c7ee9d58403a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67615999624515739ca30912bf5b76fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a67615999624515739ca30912bf5b76fe">SSL_SESSION_TICKETS_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a67615999624515739ca30912bf5b76fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d3eb06371fa59f67919f105e4affd8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a63d3eb06371fa59f67919f105e4affd8">SSL_COMPRESSION_ADD</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a63d3eb06371fa59f67919f105e4affd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e5e7a7337db843467532cbcf48d0fb3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7e5e7a7337db843467532cbcf48d0fb3">SSL_MAC_ADD</a>&#160;&#160;&#160;48  /* SHA-384 used for HMAC */</td></tr>
<tr class="separator:a7e5e7a7337db843467532cbcf48d0fb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5838cb2225af69ac4e71284c3186b1c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5838cb2225af69ac4e71284c3186b1c6">SSL_PADDING_ADD</a>&#160;&#160;&#160;256</td></tr>
<tr class="separator:a5838cb2225af69ac4e71284c3186b1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70dcd2bbca08cfb787f98019dc98bad5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a70dcd2bbca08cfb787f98019dc98bad5">SSL_BUFFER_LEN</a></td></tr>
<tr class="separator:a70dcd2bbca08cfb787f98019dc98bad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a7c669453e92d91c13e84c205e6dc2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a61a7c669453e92d91c13e84c205e6dc2">SSL_EMPTY_RENEGOTIATION_INFO</a>&#160;&#160;&#160;0xFF</td></tr>
<tr class="memdesc:a61a7c669453e92d91c13e84c205e6dc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">renegotiation info ext  <a href="#a61a7c669453e92d91c13e84c205e6dc2">More...</a><br/></td></tr>
<tr class="separator:a61a7c669453e92d91c13e84c205e6dc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a813754e3f260fb5cd1ab79b9e1ddcf3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a813754e3f260fb5cd1ab79b9e1ddcf3a">SSL_HASH_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a813754e3f260fb5cd1ab79b9e1ddcf3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea01ccea55dba8a09c2d0cdba374cd2c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aea01ccea55dba8a09c2d0cdba374cd2c">SSL_HASH_MD5</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:aea01ccea55dba8a09c2d0cdba374cd2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7eefec922748c7c1bff814c9b5f76d3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad7eefec922748c7c1bff814c9b5f76d3">SSL_HASH_SHA1</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ad7eefec922748c7c1bff814c9b5f76d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a08b5f7e06299cee75305b73e1a9dc5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9a08b5f7e06299cee75305b73e1a9dc5">SSL_HASH_SHA224</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a9a08b5f7e06299cee75305b73e1a9dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab51d97eb425ea28e542c0679213fe40f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab51d97eb425ea28e542c0679213fe40f">SSL_HASH_SHA256</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:ab51d97eb425ea28e542c0679213fe40f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2569b6e7eaa2aec958c98f22673109e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2569b6e7eaa2aec958c98f22673109e5">SSL_HASH_SHA384</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:a2569b6e7eaa2aec958c98f22673109e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5beeed84ccae1b316a473bedec444837"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5beeed84ccae1b316a473bedec444837">SSL_HASH_SHA512</a>&#160;&#160;&#160;6</td></tr>
<tr class="separator:a5beeed84ccae1b316a473bedec444837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a733760de6baaa13ccac093ee771d7079"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a733760de6baaa13ccac093ee771d7079">SSL_SIG_ANON</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a733760de6baaa13ccac093ee771d7079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4b8439b3f7e4a686b3482b1b64ac646"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac4b8439b3f7e4a686b3482b1b64ac646">SSL_SIG_RSA</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ac4b8439b3f7e4a686b3482b1b64ac646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04b4f34dc02fbd2da44ab8b9dff6b10f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a04b4f34dc02fbd2da44ab8b9dff6b10f">SSL_SIG_ECDSA</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a04b4f34dc02fbd2da44ab8b9dff6b10f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6251d055d62aa78961d06540a64a87e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6251d055d62aa78961d06540a64a87e0">SSL_CERT_TYPE_RSA_SIGN</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a6251d055d62aa78961d06540a64a87e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82db2f8b69801caaff542cbb575f109"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab82db2f8b69801caaff542cbb575f109">SSL_CERT_TYPE_ECDSA_SIGN</a>&#160;&#160;&#160;64</td></tr>
<tr class="separator:ab82db2f8b69801caaff542cbb575f109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a738eccdfea2b6a0de26231a0c2aafe4f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a738eccdfea2b6a0de26231a0c2aafe4f">SSL_MSG_CHANGE_CIPHER_SPEC</a>&#160;&#160;&#160;20</td></tr>
<tr class="separator:a738eccdfea2b6a0de26231a0c2aafe4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d6dc94916f324f0a42881bd6e6f7db6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3d6dc94916f324f0a42881bd6e6f7db6">SSL_MSG_ALERT</a>&#160;&#160;&#160;21</td></tr>
<tr class="separator:a3d6dc94916f324f0a42881bd6e6f7db6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add1f218869a9aeb6f8b1190a99f0625a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#add1f218869a9aeb6f8b1190a99f0625a">SSL_MSG_HANDSHAKE</a>&#160;&#160;&#160;22</td></tr>
<tr class="separator:add1f218869a9aeb6f8b1190a99f0625a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ea7789fe625447a1bf69d9a2382c861"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6ea7789fe625447a1bf69d9a2382c861">SSL_MSG_APPLICATION_DATA</a>&#160;&#160;&#160;23</td></tr>
<tr class="separator:a6ea7789fe625447a1bf69d9a2382c861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8f7ea03f02f45a427379d17c0c3381"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3f8f7ea03f02f45a427379d17c0c3381">SSL_ALERT_LEVEL_WARNING</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a3f8f7ea03f02f45a427379d17c0c3381"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aada6071810eba54885ae8ba9012a14"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7aada6071810eba54885ae8ba9012a14">SSL_ALERT_LEVEL_FATAL</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a7aada6071810eba54885ae8ba9012a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad14b12418d867f679ae512c85172437d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad14b12418d867f679ae512c85172437d">SSL_ALERT_MSG_CLOSE_NOTIFY</a>&#160;&#160;&#160;0  /* 0x00 */</td></tr>
<tr class="separator:ad14b12418d867f679ae512c85172437d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c9318d0549bab6c227ecd0d70f035c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a39c9318d0549bab6c227ecd0d70f035c">SSL_ALERT_MSG_UNEXPECTED_MESSAGE</a>&#160;&#160;&#160;10  /* 0x0A */</td></tr>
<tr class="separator:a39c9318d0549bab6c227ecd0d70f035c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a736fe8af8eab0091654f5ee538f54822"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a736fe8af8eab0091654f5ee538f54822">SSL_ALERT_MSG_BAD_RECORD_MAC</a>&#160;&#160;&#160;20  /* 0x14 */</td></tr>
<tr class="separator:a736fe8af8eab0091654f5ee538f54822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9747c1125f8a52082305522b85553578"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9747c1125f8a52082305522b85553578">SSL_ALERT_MSG_DECRYPTION_FAILED</a>&#160;&#160;&#160;21  /* 0x15 */</td></tr>
<tr class="separator:a9747c1125f8a52082305522b85553578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abafde3870ba4e25a83e8f73fa8c32246"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abafde3870ba4e25a83e8f73fa8c32246">SSL_ALERT_MSG_RECORD_OVERFLOW</a>&#160;&#160;&#160;22  /* 0x16 */</td></tr>
<tr class="separator:abafde3870ba4e25a83e8f73fa8c32246"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d4c809b89c68492e6bff977e580006a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6d4c809b89c68492e6bff977e580006a">SSL_ALERT_MSG_DECOMPRESSION_FAILURE</a>&#160;&#160;&#160;30  /* 0x1E */</td></tr>
<tr class="separator:a6d4c809b89c68492e6bff977e580006a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21e00498ea9a069ec7f182a87ec8b177"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a21e00498ea9a069ec7f182a87ec8b177">SSL_ALERT_MSG_HANDSHAKE_FAILURE</a>&#160;&#160;&#160;40  /* 0x28 */</td></tr>
<tr class="separator:a21e00498ea9a069ec7f182a87ec8b177"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa39058a5209b2dc80ce6ed78df88ac1e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa39058a5209b2dc80ce6ed78df88ac1e">SSL_ALERT_MSG_NO_CERT</a>&#160;&#160;&#160;41  /* 0x29 */</td></tr>
<tr class="separator:aa39058a5209b2dc80ce6ed78df88ac1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0fc5a1e3b26c77591deb67d4c0265b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab0fc5a1e3b26c77591deb67d4c0265b7">SSL_ALERT_MSG_BAD_CERT</a>&#160;&#160;&#160;42  /* 0x2A */</td></tr>
<tr class="separator:ab0fc5a1e3b26c77591deb67d4c0265b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acab76dfccc5286d385afa9c41a2cbbda"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acab76dfccc5286d385afa9c41a2cbbda">SSL_ALERT_MSG_UNSUPPORTED_CERT</a>&#160;&#160;&#160;43  /* 0x2B */</td></tr>
<tr class="separator:acab76dfccc5286d385afa9c41a2cbbda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa39fba2c4ce5ed5eef811bbcd331df20"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa39fba2c4ce5ed5eef811bbcd331df20">SSL_ALERT_MSG_CERT_REVOKED</a>&#160;&#160;&#160;44  /* 0x2C */</td></tr>
<tr class="separator:aa39fba2c4ce5ed5eef811bbcd331df20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08cedd5d2c7b75509aec63668f02dfcd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a08cedd5d2c7b75509aec63668f02dfcd">SSL_ALERT_MSG_CERT_EXPIRED</a>&#160;&#160;&#160;45  /* 0x2D */</td></tr>
<tr class="separator:a08cedd5d2c7b75509aec63668f02dfcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1190be949de654aa59926a1a47722ef0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1190be949de654aa59926a1a47722ef0">SSL_ALERT_MSG_CERT_UNKNOWN</a>&#160;&#160;&#160;46  /* 0x2E */</td></tr>
<tr class="separator:a1190be949de654aa59926a1a47722ef0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad93db03390f910032467790dab2593fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad93db03390f910032467790dab2593fe">SSL_ALERT_MSG_ILLEGAL_PARAMETER</a>&#160;&#160;&#160;47  /* 0x2F */</td></tr>
<tr class="separator:ad93db03390f910032467790dab2593fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca99d76eb4973ab3f738810886a736f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aca99d76eb4973ab3f738810886a736f5">SSL_ALERT_MSG_UNKNOWN_CA</a>&#160;&#160;&#160;48  /* 0x30 */</td></tr>
<tr class="separator:aca99d76eb4973ab3f738810886a736f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a2f8661c31e2e1211e0586398d3f3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a00a2f8661c31e2e1211e0586398d3f3d">SSL_ALERT_MSG_ACCESS_DENIED</a>&#160;&#160;&#160;49  /* 0x31 */</td></tr>
<tr class="separator:a00a2f8661c31e2e1211e0586398d3f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a850d74ffe2fb34a9c8e9502413a50fb6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a850d74ffe2fb34a9c8e9502413a50fb6">SSL_ALERT_MSG_DECODE_ERROR</a>&#160;&#160;&#160;50  /* 0x32 */</td></tr>
<tr class="separator:a850d74ffe2fb34a9c8e9502413a50fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae944de2c846156585bee4200ef789392"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae944de2c846156585bee4200ef789392">SSL_ALERT_MSG_DECRYPT_ERROR</a>&#160;&#160;&#160;51  /* 0x33 */</td></tr>
<tr class="separator:ae944de2c846156585bee4200ef789392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a243347f3447592161fd255351344cfbc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a243347f3447592161fd255351344cfbc">SSL_ALERT_MSG_EXPORT_RESTRICTION</a>&#160;&#160;&#160;60  /* 0x3C */</td></tr>
<tr class="separator:a243347f3447592161fd255351344cfbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a368e71bd5a946294a83aa59d121a5680"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a368e71bd5a946294a83aa59d121a5680">SSL_ALERT_MSG_PROTOCOL_VERSION</a>&#160;&#160;&#160;70  /* 0x46 */</td></tr>
<tr class="separator:a368e71bd5a946294a83aa59d121a5680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee5ef076802f9d80a86676805daddeb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5ee5ef076802f9d80a86676805daddeb">SSL_ALERT_MSG_INSUFFICIENT_SECURITY</a>&#160;&#160;&#160;71  /* 0x47 */</td></tr>
<tr class="separator:a5ee5ef076802f9d80a86676805daddeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae62074a176d711811f00e9a4a6a6596b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae62074a176d711811f00e9a4a6a6596b">SSL_ALERT_MSG_INTERNAL_ERROR</a>&#160;&#160;&#160;80  /* 0x50 */</td></tr>
<tr class="separator:ae62074a176d711811f00e9a4a6a6596b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42430d65a46a924d2e89cd2909c0783a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a42430d65a46a924d2e89cd2909c0783a">SSL_ALERT_MSG_USER_CANCELED</a>&#160;&#160;&#160;90  /* 0x5A */</td></tr>
<tr class="separator:a42430d65a46a924d2e89cd2909c0783a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a575935e3c2a919ac2600e9f4f1ea27bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a575935e3c2a919ac2600e9f4f1ea27bb">SSL_ALERT_MSG_NO_RENEGOTIATION</a>&#160;&#160;&#160;100  /* 0x64 */</td></tr>
<tr class="separator:a575935e3c2a919ac2600e9f4f1ea27bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addf1aa49c1188a3be39aa7138f3f0432"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#addf1aa49c1188a3be39aa7138f3f0432">SSL_ALERT_MSG_UNSUPPORTED_EXT</a>&#160;&#160;&#160;110  /* 0x6E */</td></tr>
<tr class="separator:addf1aa49c1188a3be39aa7138f3f0432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00ab2865abf2de37dda6889f1753a984"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a00ab2865abf2de37dda6889f1753a984">SSL_ALERT_MSG_UNRECOGNIZED_NAME</a>&#160;&#160;&#160;112  /* 0x70 */</td></tr>
<tr class="separator:a00ab2865abf2de37dda6889f1753a984"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ea430b2b401f16bf572c16fa0c8804c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0ea430b2b401f16bf572c16fa0c8804c">SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY</a>&#160;&#160;&#160;115  /* 0x73 */</td></tr>
<tr class="separator:a0ea430b2b401f16bf572c16fa0c8804c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2e1d7e2cad0ef4fa4b2bf05b548d69c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa2e1d7e2cad0ef4fa4b2bf05b548d69c">SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL</a>&#160;&#160;&#160;120 /* 0x78 */</td></tr>
<tr class="separator:aa2e1d7e2cad0ef4fa4b2bf05b548d69c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afda93251f735deb8569698986df4bb95"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afda93251f735deb8569698986df4bb95">SSL_HS_HELLO_REQUEST</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:afda93251f735deb8569698986df4bb95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a565597ab4583db29a05d49c7fa0686a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a565597ab4583db29a05d49c7fa0686a2">SSL_HS_CLIENT_HELLO</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a565597ab4583db29a05d49c7fa0686a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad10d88b523225e34a788bb2553d2593"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aad10d88b523225e34a788bb2553d2593">SSL_HS_SERVER_HELLO</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:aad10d88b523225e34a788bb2553d2593"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63adfe04136af9f3990b24562569d054"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a63adfe04136af9f3990b24562569d054">SSL_HS_NEW_SESSION_TICKET</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a63adfe04136af9f3990b24562569d054"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaaa25b3ce92c5da9f357928032c3614"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aaaaa25b3ce92c5da9f357928032c3614">SSL_HS_CERTIFICATE</a>&#160;&#160;&#160;11</td></tr>
<tr class="separator:aaaaa25b3ce92c5da9f357928032c3614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9903e824d585f667a0018fa459dc30a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab9903e824d585f667a0018fa459dc30a">SSL_HS_SERVER_KEY_EXCHANGE</a>&#160;&#160;&#160;12</td></tr>
<tr class="separator:ab9903e824d585f667a0018fa459dc30a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a146ced9f8b0ae516cc78f1cec065b4a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a146ced9f8b0ae516cc78f1cec065b4a2">SSL_HS_CERTIFICATE_REQUEST</a>&#160;&#160;&#160;13</td></tr>
<tr class="separator:a146ced9f8b0ae516cc78f1cec065b4a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56bb1fe1c001cd5905e26a7ad6cee303"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a56bb1fe1c001cd5905e26a7ad6cee303">SSL_HS_SERVER_HELLO_DONE</a>&#160;&#160;&#160;14</td></tr>
<tr class="separator:a56bb1fe1c001cd5905e26a7ad6cee303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a373b6769a2f5555bc03d16f25fd43286"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a373b6769a2f5555bc03d16f25fd43286">SSL_HS_CERTIFICATE_VERIFY</a>&#160;&#160;&#160;15</td></tr>
<tr class="separator:a373b6769a2f5555bc03d16f25fd43286"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f20623ea264473b438e96339278c16b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3f20623ea264473b438e96339278c16b">SSL_HS_CLIENT_KEY_EXCHANGE</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:a3f20623ea264473b438e96339278c16b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47bcc86840fcbc68b5a70bfca774258a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a47bcc86840fcbc68b5a70bfca774258a">SSL_HS_FINISHED</a>&#160;&#160;&#160;20</td></tr>
<tr class="separator:a47bcc86840fcbc68b5a70bfca774258a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21bb5a4f093a191a4e3f0efae924dd7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a21bb5a4f093a191a4e3f0efae924dd7c">TLS_EXT_SERVERNAME</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a21bb5a4f093a191a4e3f0efae924dd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a948d249c0b07844056fdf68c640bb2ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a948d249c0b07844056fdf68c640bb2ca">TLS_EXT_SERVERNAME_HOSTNAME</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a948d249c0b07844056fdf68c640bb2ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7408a3622ebe264a5ef2c105a964cbd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa7408a3622ebe264a5ef2c105a964cbd">TLS_EXT_MAX_FRAGMENT_LENGTH</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:aa7408a3622ebe264a5ef2c105a964cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11832588d5c48b20e1cefbb1149823aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a11832588d5c48b20e1cefbb1149823aa">TLS_EXT_TRUNCATED_HMAC</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a11832588d5c48b20e1cefbb1149823aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5027dcb3f9e79d66d008105a6a10b88b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5027dcb3f9e79d66d008105a6a10b88b">TLS_EXT_SUPPORTED_ELLIPTIC_CURVES</a>&#160;&#160;&#160;10</td></tr>
<tr class="separator:a5027dcb3f9e79d66d008105a6a10b88b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4c82017108e0645f315b12052e4c7b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af4c82017108e0645f315b12052e4c7b7">TLS_EXT_SUPPORTED_POINT_FORMATS</a>&#160;&#160;&#160;11</td></tr>
<tr class="separator:af4c82017108e0645f315b12052e4c7b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03991596f1740bf164b513d6e43c1f4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a03991596f1740bf164b513d6e43c1f4c">TLS_EXT_SIG_ALG</a>&#160;&#160;&#160;13</td></tr>
<tr class="separator:a03991596f1740bf164b513d6e43c1f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b91900b335587d00420ed5a48e88e7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4b91900b335587d00420ed5a48e88e7d">TLS_EXT_ALPN</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:a4b91900b335587d00420ed5a48e88e7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef2d649998ef071cfa04c072ebd30909"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aef2d649998ef071cfa04c072ebd30909">TLS_EXT_SESSION_TICKET</a>&#160;&#160;&#160;35</td></tr>
<tr class="separator:aef2d649998ef071cfa04c072ebd30909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0fbdb0804151f3a00631c342cf65957"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad0fbdb0804151f3a00631c342cf65957">TLS_EXT_RENEGOTIATION_INFO</a>&#160;&#160;&#160;0xFF01</td></tr>
<tr class="separator:ad0fbdb0804151f3a00631c342cf65957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66091f70d8cfd5a5d43d42c221612567"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a66091f70d8cfd5a5d43d42c221612567">TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
<tr class="separator:a66091f70d8cfd5a5d43d42c221612567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c09f3b3bad4c092d408b4039196120c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2c09f3b3bad4c092d408b4039196120c">POLARSSL_PSK_MAX_LEN</a>&#160;&#160;&#160;32 /* 256 bits */</td></tr>
<tr class="separator:a2c09f3b3bad4c092d408b4039196120c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d43b3813b0d42a149b718a526a824ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3d43b3813b0d42a149b718a526a824ea">POLARSSL_PREMASTER_SIZE</a>&#160;&#160;&#160;sizeof( union <a class="el" href="union__ssl__premaster__secret.html">_ssl_premaster_secret</a> )</td></tr>
<tr class="separator:a3d43b3813b0d42a149b718a526a824ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">SECTION: Module settings</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The configuration options you can set for this module are in this section.</p>
<p>Either change them in <a class="el" href="config_8h.html" title="Configuration options (set of defines) ">config.h</a> or define them on the compiler command line. </p>
</div></td></tr>
<tr class="memitem:a8b362b1b53efb0ad81e3183c383c9394"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8b362b1b53efb0ad81e3183c383c9394">SSL_DEFAULT_TICKET_LIFETIME</a>&#160;&#160;&#160;86400</td></tr>
<tr class="memdesc:a8b362b1b53efb0ad81e3183c383c9394"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lifetime of session tickets (if enabled)  <a href="#a8b362b1b53efb0ad81e3183c383c9394">More...</a><br/></td></tr>
<tr class="separator:a8b362b1b53efb0ad81e3183c383c9394"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70bafb07a819e6bf9df2c97ce6dd139d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a70bafb07a819e6bf9df2c97ce6dd139d">SSL_MAX_CONTENT_LEN</a>&#160;&#160;&#160;16384</td></tr>
<tr class="memdesc:a70bafb07a819e6bf9df2c97ce6dd139d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of the input / output buffer.  <a href="#a70bafb07a819e6bf9df2c97ce6dd139d">More...</a><br/></td></tr>
<tr class="separator:a70bafb07a819e6bf9df2c97ce6dd139d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:afffb127b4c15c411b7655ce744fea2d6"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afffb127b4c15c411b7655ce744fea2d6">rsa_decrypt_func</a> )(void *ctx, int mode, size_t *olen, const unsigned char *input, unsigned char *output, size_t output_max_len)</td></tr>
<tr class="separator:afffb127b4c15c411b7655ce744fea2d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a808d7f77b9af7d3163c29cb129eb5968"><td class="memItemLeft" align="right" valign="top">typedef int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a808d7f77b9af7d3163c29cb129eb5968">rsa_sign_func</a> )(void *ctx, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng, int mode, <a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> md_alg, unsigned int hashlen, const unsigned char *hash, unsigned char *sig)</td></tr>
<tr class="separator:a808d7f77b9af7d3163c29cb129eb5968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbd44c00e4568ce6c12ebadd4822cf93"><td class="memItemLeft" align="right" valign="top">typedef size_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afbd44c00e4568ce6c12ebadd4822cf93">rsa_key_len_func</a> )(void *ctx)</td></tr>
<tr class="separator:afbd44c00e4568ce6c12ebadd4822cf93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb59b301c07806142c790115fa49eb9e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__ssl__session.html">_ssl_session</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a></td></tr>
<tr class="separator:abb59b301c07806142c790115fa49eb9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cc90742039ba6f9fa184c22af7ea151"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__ssl__context.html">_ssl_context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a></td></tr>
<tr class="separator:a6cc90742039ba6f9fa184c22af7ea151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52e1274f751811f2b362fe14113ee1b2"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__ssl__transform.html">_ssl_transform</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a52e1274f751811f2b362fe14113ee1b2">ssl_transform</a></td></tr>
<tr class="separator:a52e1274f751811f2b362fe14113ee1b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b24871c0036f06b89a6e186a24f5362"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="struct__ssl__handshake__params.html">_ssl_handshake_params</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7b24871c0036f06b89a6e186a24f5362">ssl_handshake_params</a></td></tr>
<tr class="separator:a7b24871c0036f06b89a6e186a24f5362"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa66a2d1f34f28f68215db9e3216ff474"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__ssl__ticket__keys.html">_ssl_ticket_keys</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa66a2d1f34f28f68215db9e3216ff474">ssl_ticket_keys</a></td></tr>
<tr class="separator:aa66a2d1f34f28f68215db9e3216ff474"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1116557ac5d41bb6310ea171ea9a3e9"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__ssl__key__cert.html">_ssl_key_cert</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af1116557ac5d41bb6310ea171ea9a3e9">ssl_key_cert</a></td></tr>
<tr class="separator:af1116557ac5d41bb6310ea171ea9a3e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a2c5a6a88b079c75237bd38369303f562"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562">ssl_states</a> { <br/>
&#160;&#160;<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562aa484774faa269995acabd2a76e56aaf0">SSL_HELLO_REQUEST</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562aa6f3b90371b211cf68edb9e1b1aa4608">SSL_CLIENT_HELLO</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562af97b0ce4208c0279bd9a2d70a4ebf39e">SSL_SERVER_HELLO</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a580e2989d137d0d2fee273bf1c88b2c9">SSL_SERVER_CERTIFICATE</a>, 
<br/>
&#160;&#160;<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a6f0b74cee5ae2dc762ad1295cf4b9516">SSL_SERVER_KEY_EXCHANGE</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a567600233b71938cea7108ad31020a03">SSL_CERTIFICATE_REQUEST</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562aa65ecefdcc848d5fbce65009c67d1968">SSL_SERVER_HELLO_DONE</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a85e000890081f50047f3783a933c821b">SSL_CLIENT_CERTIFICATE</a>, 
<br/>
&#160;&#160;<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562ae2099b4016268a6bc24336c12a739fa4">SSL_CLIENT_KEY_EXCHANGE</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a370acc709df36935088aac79e6684d75">SSL_CERTIFICATE_VERIFY</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562aad3f70e8a51b6b60b1b1433536a4c455">SSL_CLIENT_CHANGE_CIPHER_SPEC</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a2d9901871f9719d9c83ab596654a1659">SSL_CLIENT_FINISHED</a>, 
<br/>
&#160;&#160;<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a6df82339c69b544e97bcb543df990664">SSL_SERVER_CHANGE_CIPHER_SPEC</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a9c73bd4ec6c943c93ef00a4bfc655637">SSL_SERVER_FINISHED</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562ae2821731d7435adec855c36aa99ee41c">SSL_FLUSH_BUFFERS</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a9a00d046098533433f4e486963f0f16b">SSL_HANDSHAKE_WRAPUP</a>, 
<br/>
&#160;&#160;<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a5b33e824af78e48ea33553e3d712e036">SSL_HANDSHAKE_OVER</a>, 
<a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562a7743afbf71c7bb2458b84722541ff490">SSL_SERVER_NEW_SESSION_TICKET</a>
<br/>
 }</td></tr>
<tr class="separator:a2c5a6a88b079c75237bd38369303f562"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a8e24779662e63061762c46d09e49be61"><td class="memItemLeft" align="right" valign="top">const int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8e24779662e63061762c46d09e49be61">ssl_list_ciphersuites</a> (void)</td></tr>
<tr class="memdesc:a8e24779662e63061762c46d09e49be61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of ciphersuites supported by the SSL/TLS module.  <a href="#a8e24779662e63061762c46d09e49be61">More...</a><br/></td></tr>
<tr class="separator:a8e24779662e63061762c46d09e49be61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a156a97c76383d50a15691e1adefeca7e"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a156a97c76383d50a15691e1adefeca7e">ssl_get_ciphersuite_name</a> (const int ciphersuite_id)</td></tr>
<tr class="memdesc:a156a97c76383d50a15691e1adefeca7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the ciphersuite associated with the given ID.  <a href="#a156a97c76383d50a15691e1adefeca7e">More...</a><br/></td></tr>
<tr class="separator:a156a97c76383d50a15691e1adefeca7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28efadea2ac8dbeacfbc750c561cfdf5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a28efadea2ac8dbeacfbc750c561cfdf5">ssl_get_ciphersuite_id</a> (const char *ciphersuite_name)</td></tr>
<tr class="memdesc:a28efadea2ac8dbeacfbc750c561cfdf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the ID of the ciphersuite associated with the given name.  <a href="#a28efadea2ac8dbeacfbc750c561cfdf5">More...</a><br/></td></tr>
<tr class="separator:a28efadea2ac8dbeacfbc750c561cfdf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add102a477ee9b9d9cda8fb1b86313d2e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#add102a477ee9b9d9cda8fb1b86313d2e">ssl_init</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:add102a477ee9b9d9cda8fb1b86313d2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an SSL context (An individual SSL context is not thread-safe)  <a href="#add102a477ee9b9d9cda8fb1b86313d2e">More...</a><br/></td></tr>
<tr class="separator:add102a477ee9b9d9cda8fb1b86313d2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af28259894de653adc20857cbc543b4c1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af28259894de653adc20857cbc543b4c1">ssl_session_reset</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:af28259894de653adc20857cbc543b4c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset an already initialized SSL context for re-use while retaining application-set variables, function pointers and data.  <a href="#af28259894de653adc20857cbc543b4c1">More...</a><br/></td></tr>
<tr class="separator:af28259894de653adc20857cbc543b4c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b71db44f3dd86fb3d4da60401a9dc0f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3b71db44f3dd86fb3d4da60401a9dc0f">ssl_set_endpoint</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int endpoint)</td></tr>
<tr class="memdesc:a3b71db44f3dd86fb3d4da60401a9dc0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current endpoint type.  <a href="#a3b71db44f3dd86fb3d4da60401a9dc0f">More...</a><br/></td></tr>
<tr class="separator:a3b71db44f3dd86fb3d4da60401a9dc0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12548c85c004225593c930c83b08a109"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a12548c85c004225593c930c83b08a109">ssl_set_authmode</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int authmode)</td></tr>
<tr class="memdesc:a12548c85c004225593c930c83b08a109"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the certificate verification mode.  <a href="#a12548c85c004225593c930c83b08a109">More...</a><br/></td></tr>
<tr class="separator:a12548c85c004225593c930c83b08a109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bdf5fcd1e51a4f4c8b7ed0ace7fac66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6bdf5fcd1e51a4f4c8b7ed0ace7fac66">ssl_set_verify</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int(*f_vrfy)(void *, <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *, int, int *), void *p_vrfy)</td></tr>
<tr class="memdesc:a6bdf5fcd1e51a4f4c8b7ed0ace7fac66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the verification callback (Optional).  <a href="#a6bdf5fcd1e51a4f4c8b7ed0ace7fac66">More...</a><br/></td></tr>
<tr class="separator:a6bdf5fcd1e51a4f4c8b7ed0ace7fac66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af30d632320733202d836fe5f72531964"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af30d632320733202d836fe5f72531964">ssl_set_rng</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</td></tr>
<tr class="memdesc:af30d632320733202d836fe5f72531964"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the random number generator callback.  <a href="#af30d632320733202d836fe5f72531964">More...</a><br/></td></tr>
<tr class="separator:af30d632320733202d836fe5f72531964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a284ba5bb8d4f5e338b6a8ad9d45c9024"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a284ba5bb8d4f5e338b6a8ad9d45c9024">ssl_set_dbg</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, void(*f_dbg)(void *, int, const char *), void *p_dbg)</td></tr>
<tr class="memdesc:a284ba5bb8d4f5e338b6a8ad9d45c9024"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the debug callback.  <a href="#a284ba5bb8d4f5e338b6a8ad9d45c9024">More...</a><br/></td></tr>
<tr class="separator:a284ba5bb8d4f5e338b6a8ad9d45c9024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40d5b1fff205a1e8f96e26c1cce2a569"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a40d5b1fff205a1e8f96e26c1cce2a569">ssl_set_bio</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int(*f_recv)(void *, unsigned char *, size_t), void *p_recv, int(*f_send)(void *, const unsigned char *, size_t), void *p_send)</td></tr>
<tr class="memdesc:a40d5b1fff205a1e8f96e26c1cce2a569"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the underlying BIO read and write callbacks.  <a href="#a40d5b1fff205a1e8f96e26c1cce2a569">More...</a><br/></td></tr>
<tr class="separator:a40d5b1fff205a1e8f96e26c1cce2a569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d1f574198c31967ff01bf66cb0fd84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a94d1f574198c31967ff01bf66cb0fd84">ssl_set_session_cache</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int(*f_get_cache)(void *, <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *), void *p_get_cache, int(*f_set_cache)(void *, const <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *), void *p_set_cache)</td></tr>
<tr class="memdesc:a94d1f574198c31967ff01bf66cb0fd84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the session cache callbacks (server-side only) If not set, no session resuming is done.  <a href="#a94d1f574198c31967ff01bf66cb0fd84">More...</a><br/></td></tr>
<tr class="separator:a94d1f574198c31967ff01bf66cb0fd84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8086f87381a15a3c52d489639d286947"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8086f87381a15a3c52d489639d286947">ssl_set_session</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *session)</td></tr>
<tr class="memdesc:a8086f87381a15a3c52d489639d286947"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request resumption of session (client-side only) Session data is copied from presented session structure.  <a href="#a8086f87381a15a3c52d489639d286947">More...</a><br/></td></tr>
<tr class="separator:a8086f87381a15a3c52d489639d286947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a886e4377dcf4fb807b1abd0f5298d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a53a886e4377dcf4fb807b1abd0f5298d">ssl_set_ciphersuites</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const int *ciphersuites)</td></tr>
<tr class="memdesc:a53a886e4377dcf4fb807b1abd0f5298d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the list of allowed ciphersuites and the preference order.  <a href="#a53a886e4377dcf4fb807b1abd0f5298d">More...</a><br/></td></tr>
<tr class="separator:a53a886e4377dcf4fb807b1abd0f5298d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abee8090dc3257a28c60c7d2c9626f274"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abee8090dc3257a28c60c7d2c9626f274">ssl_set_ciphersuites_for_version</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const int *ciphersuites, int major, int minor)</td></tr>
<tr class="memdesc:abee8090dc3257a28c60c7d2c9626f274"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the list of allowed ciphersuites and the preference order for a specific version of the protocol.  <a href="#abee8090dc3257a28c60c7d2c9626f274">More...</a><br/></td></tr>
<tr class="separator:abee8090dc3257a28c60c7d2c9626f274"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb8339c354e2ea98af5ebd821d3e7ae9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afb8339c354e2ea98af5ebd821d3e7ae9">ssl_set_ca_chain</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *ca_chain, <a class="el" href="group__x509__module.html#ga6d6714f926c6cc578e0f983aa6ddaf2a">x509_crl</a> *ca_crl, const char *peer_cn)</td></tr>
<tr class="memdesc:afb8339c354e2ea98af5ebd821d3e7ae9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data required to verify peer certificate.  <a href="#afb8339c354e2ea98af5ebd821d3e7ae9">More...</a><br/></td></tr>
<tr class="separator:afb8339c354e2ea98af5ebd821d3e7ae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a442a4408cb533177e8ee7536e7be1696"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a442a4408cb533177e8ee7536e7be1696">ssl_set_own_cert</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *own_cert, <a class="el" href="structpk__context.html">pk_context</a> *pk_key)</td></tr>
<tr class="memdesc:a442a4408cb533177e8ee7536e7be1696"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set own certificate chain and private key.  <a href="#a442a4408cb533177e8ee7536e7be1696">More...</a><br/></td></tr>
<tr class="separator:a442a4408cb533177e8ee7536e7be1696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa874fab0739bb517c0ebf4ee49606599"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa874fab0739bb517c0ebf4ee49606599">ssl_set_own_cert_rsa</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *own_cert, <a class="el" href="structrsa__context.html">rsa_context</a> *rsa_key)</td></tr>
<tr class="memdesc:aa874fab0739bb517c0ebf4ee49606599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set own certificate chain and private RSA key.  <a href="#aa874fab0739bb517c0ebf4ee49606599">More...</a><br/></td></tr>
<tr class="separator:aa874fab0739bb517c0ebf4ee49606599"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2747ff64638ab5ae5dd9a9acd5c88a00"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2747ff64638ab5ae5dd9a9acd5c88a00">ssl_set_own_cert_alt</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *own_cert, void *rsa_key, <a class="el" href="ssl_8h.html#afffb127b4c15c411b7655ce744fea2d6">rsa_decrypt_func</a> rsa_decrypt, <a class="el" href="ssl_8h.html#a808d7f77b9af7d3163c29cb129eb5968">rsa_sign_func</a> rsa_sign, <a class="el" href="ssl_8h.html#afbd44c00e4568ce6c12ebadd4822cf93">rsa_key_len_func</a> rsa_key_len)</td></tr>
<tr class="memdesc:a2747ff64638ab5ae5dd9a9acd5c88a00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set own certificate and alternate non-PolarSSL RSA private key and handling callbacks, such as the PKCS#11 wrappers or any other external private key handler.  <a href="#a2747ff64638ab5ae5dd9a9acd5c88a00">More...</a><br/></td></tr>
<tr class="separator:a2747ff64638ab5ae5dd9a9acd5c88a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2791baab77a911cb3f20b997dbe98041"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2791baab77a911cb3f20b997dbe98041">ssl_set_psk</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const unsigned char *psk, size_t psk_len, const unsigned char *psk_identity, size_t psk_identity_len)</td></tr>
<tr class="memdesc:a2791baab77a911cb3f20b997dbe98041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Pre Shared Key (PSK) and the identity name connected to it.  <a href="#a2791baab77a911cb3f20b997dbe98041">More...</a><br/></td></tr>
<tr class="separator:a2791baab77a911cb3f20b997dbe98041"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21be804955c551b52f2ec45edd2dca20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a21be804955c551b52f2ec45edd2dca20">ssl_set_psk_cb</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int(*f_psk)(void *, <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *, const unsigned char *, size_t), void *p_psk)</td></tr>
<tr class="memdesc:a21be804955c551b52f2ec45edd2dca20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the PSK callback (server-side only) (Optional).  <a href="#a21be804955c551b52f2ec45edd2dca20">More...</a><br/></td></tr>
<tr class="separator:a21be804955c551b52f2ec45edd2dca20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d143cccc27033e73b13cca6c09a144e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1d143cccc27033e73b13cca6c09a144e">ssl_set_dh_param</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const char *dhm_P, const char *dhm_G)</td></tr>
<tr class="memdesc:a1d143cccc27033e73b13cca6c09a144e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Diffie-Hellman public P and G values, read as hexadecimal strings (server-side only) (Default: POLARSSL_DHM_RFC5114_MODP_1024_[PG])  <a href="#a1d143cccc27033e73b13cca6c09a144e">More...</a><br/></td></tr>
<tr class="separator:a1d143cccc27033e73b13cca6c09a144e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93435fc24c88a2a519e732f122fe7d66"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a93435fc24c88a2a519e732f122fe7d66">ssl_set_dh_param_ctx</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="structdhm__context.html">dhm_context</a> *dhm_ctx)</td></tr>
<tr class="memdesc:a93435fc24c88a2a519e732f122fe7d66"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Diffie-Hellman public P and G values, read from existing context (server-side only)  <a href="#a93435fc24c88a2a519e732f122fe7d66">More...</a><br/></td></tr>
<tr class="separator:a93435fc24c88a2a519e732f122fe7d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d6dba305dbd338ed1d323dec44fc5e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a08d6dba305dbd338ed1d323dec44fc5e">ssl_set_hostname</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const char *hostname)</td></tr>
<tr class="memdesc:a08d6dba305dbd338ed1d323dec44fc5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set hostname for ServerName TLS extension (client-side only)  <a href="#a08d6dba305dbd338ed1d323dec44fc5e">More...</a><br/></td></tr>
<tr class="separator:a08d6dba305dbd338ed1d323dec44fc5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7667c19620c74475994655f154dc001b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7667c19620c74475994655f154dc001b">ssl_set_sni</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int(*f_sni)(void *, <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *, const unsigned char *, size_t), void *p_sni)</td></tr>
<tr class="memdesc:a7667c19620c74475994655f154dc001b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set server side ServerName TLS extension callback (optional, server-side only).  <a href="#a7667c19620c74475994655f154dc001b">More...</a><br/></td></tr>
<tr class="separator:a7667c19620c74475994655f154dc001b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6248ee0cbefd9566eda3e6e1150d5f4c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6248ee0cbefd9566eda3e6e1150d5f4c">ssl_set_alpn_protocols</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const char **protos)</td></tr>
<tr class="memdesc:a6248ee0cbefd9566eda3e6e1150d5f4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the supported Application Layer Protocols.  <a href="#a6248ee0cbefd9566eda3e6e1150d5f4c">More...</a><br/></td></tr>
<tr class="separator:a6248ee0cbefd9566eda3e6e1150d5f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d0b1fad4822e360684cad533873a26f"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1d0b1fad4822e360684cad533873a26f">ssl_get_alpn_protocol</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a1d0b1fad4822e360684cad533873a26f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the negotiated Application Layer Protocol.  <a href="#a1d0b1fad4822e360684cad533873a26f">More...</a><br/></td></tr>
<tr class="separator:a1d0b1fad4822e360684cad533873a26f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe936f0d0b6bfa3a5e3a8c6c32f569e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afe936f0d0b6bfa3a5e3a8c6c32f569e0">ssl_set_max_version</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int major, int minor)</td></tr>
<tr class="memdesc:afe936f0d0b6bfa3a5e3a8c6c32f569e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum supported version sent from the client side and/or accepted at the server side (Default: SSL_MAX_MAJOR_VERSION, SSL_MAX_MINOR_VERSION)  <a href="#afe936f0d0b6bfa3a5e3a8c6c32f569e0">More...</a><br/></td></tr>
<tr class="separator:afe936f0d0b6bfa3a5e3a8c6c32f569e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0efcadb95f314f995f9d990f969a426"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac0efcadb95f314f995f9d990f969a426">ssl_set_min_version</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int major, int minor)</td></tr>
<tr class="memdesc:ac0efcadb95f314f995f9d990f969a426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the minimum accepted SSL/TLS protocol version (Default: SSL_MIN_MAJOR_VERSION, SSL_MIN_MINOR_VERSION)  <a href="#ac0efcadb95f314f995f9d990f969a426">More...</a><br/></td></tr>
<tr class="separator:ac0efcadb95f314f995f9d990f969a426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8e7aef5cceead6836e9446fba358a5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3f8e7aef5cceead6836e9446fba358a5">ssl_set_max_frag_len</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, unsigned char mfl_code)</td></tr>
<tr class="memdesc:a3f8e7aef5cceead6836e9446fba358a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum fragment length to emit and/or negotiate (Default: SSL_MAX_CONTENT_LEN, usually 2^14 bytes) (Server: set maximum fragment length to emit, usually negotiated by the client during handshake (Client: set maximum fragment length to emit <em>and</em> negotiate with the server during handshake)  <a href="#a3f8e7aef5cceead6836e9446fba358a5">More...</a><br/></td></tr>
<tr class="separator:a3f8e7aef5cceead6836e9446fba358a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44bfce49fdd283b91ba4513eed7567e0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a44bfce49fdd283b91ba4513eed7567e0">ssl_set_truncated_hmac</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int truncate)</td></tr>
<tr class="memdesc:a44bfce49fdd283b91ba4513eed7567e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate negotiation of truncated HMAC (Client only) (Default: SSL_TRUNC_HMAC_ENABLED)  <a href="#a44bfce49fdd283b91ba4513eed7567e0">More...</a><br/></td></tr>
<tr class="separator:a44bfce49fdd283b91ba4513eed7567e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a092d77e083ddeaea0a1776a50aad3fa2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a092d77e083ddeaea0a1776a50aad3fa2">ssl_set_session_tickets</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int use_tickets)</td></tr>
<tr class="memdesc:a092d77e083ddeaea0a1776a50aad3fa2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable / Disable session tickets (Default: SSL_SESSION_TICKETS_ENABLED on client, SSL_SESSION_TICKETS_DISABLED on server)  <a href="#a092d77e083ddeaea0a1776a50aad3fa2">More...</a><br/></td></tr>
<tr class="separator:a092d77e083ddeaea0a1776a50aad3fa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36a62c1fb127feb3aef57450ecae3efe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a36a62c1fb127feb3aef57450ecae3efe">ssl_set_session_ticket_lifetime</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int lifetime)</td></tr>
<tr class="memdesc:a36a62c1fb127feb3aef57450ecae3efe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set session ticket lifetime (server only) (Default: SSL_DEFAULT_TICKET_LIFETIME (86400 secs / 1 day))  <a href="#a36a62c1fb127feb3aef57450ecae3efe">More...</a><br/></td></tr>
<tr class="separator:a36a62c1fb127feb3aef57450ecae3efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a7fbfd9664aa43a5334a2b931546ac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a61a7fbfd9664aa43a5334a2b931546ac">ssl_set_renegotiation</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int renegotiation)</td></tr>
<tr class="memdesc:a61a7fbfd9664aa43a5334a2b931546ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable / Disable renegotiation support for connection when initiated by peer (Default: SSL_RENEGOTIATION_DISABLED)  <a href="#a61a7fbfd9664aa43a5334a2b931546ac">More...</a><br/></td></tr>
<tr class="separator:a61a7fbfd9664aa43a5334a2b931546ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7bd54692de1ba735a31256cb28ef323"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac7bd54692de1ba735a31256cb28ef323">ssl_legacy_renegotiation</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int allow_legacy)</td></tr>
<tr class="memdesc:ac7bd54692de1ba735a31256cb28ef323"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent or allow legacy renegotiation.  <a href="#ac7bd54692de1ba735a31256cb28ef323">More...</a><br/></td></tr>
<tr class="separator:ac7bd54692de1ba735a31256cb28ef323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e95efbf6faac9f64958f2eed2e06351"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9e95efbf6faac9f64958f2eed2e06351">ssl_set_renegotiation_enforced</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, int max_records)</td></tr>
<tr class="memdesc:a9e95efbf6faac9f64958f2eed2e06351"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enforce server-requested renegotiation.  <a href="#a9e95efbf6faac9f64958f2eed2e06351">More...</a><br/></td></tr>
<tr class="separator:a9e95efbf6faac9f64958f2eed2e06351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a592a84cbdec035fdeeb17cb58263dafe"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a592a84cbdec035fdeeb17cb58263dafe">ssl_get_bytes_avail</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a592a84cbdec035fdeeb17cb58263dafe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of data bytes available to read.  <a href="#a592a84cbdec035fdeeb17cb58263dafe">More...</a><br/></td></tr>
<tr class="separator:a592a84cbdec035fdeeb17cb58263dafe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac209bee37b76c6de34dd4d6bd97a7738"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac209bee37b76c6de34dd4d6bd97a7738">ssl_get_verify_result</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ac209bee37b76c6de34dd4d6bd97a7738"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the result of the certificate verification.  <a href="#ac209bee37b76c6de34dd4d6bd97a7738">More...</a><br/></td></tr>
<tr class="separator:ac209bee37b76c6de34dd4d6bd97a7738"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe1ab038db231f32cae8b4d96e792b27"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abe1ab038db231f32cae8b4d96e792b27">ssl_get_ciphersuite</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:abe1ab038db231f32cae8b4d96e792b27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the current ciphersuite.  <a href="#abe1ab038db231f32cae8b4d96e792b27">More...</a><br/></td></tr>
<tr class="separator:abe1ab038db231f32cae8b4d96e792b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaef4f2d1eceb641744e97b5a65662b85"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aaef4f2d1eceb641744e97b5a65662b85">ssl_get_version</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:aaef4f2d1eceb641744e97b5a65662b85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current SSL version (SSLv3/TLSv1/etc)  <a href="#aaef4f2d1eceb641744e97b5a65662b85">More...</a><br/></td></tr>
<tr class="separator:aaef4f2d1eceb641744e97b5a65662b85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3d66ad09ad8be9e3ed177e884fc0968"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af3d66ad09ad8be9e3ed177e884fc0968">ssl_get_peer_cert</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:af3d66ad09ad8be9e3ed177e884fc0968"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the peer certificate from the current connection.  <a href="#af3d66ad09ad8be9e3ed177e884fc0968">More...</a><br/></td></tr>
<tr class="separator:af3d66ad09ad8be9e3ed177e884fc0968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a563913fea96a9cd2412b1a513aac53e4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a563913fea96a9cd2412b1a513aac53e4">ssl_get_session</a> (const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *session)</td></tr>
<tr class="memdesc:a563913fea96a9cd2412b1a513aac53e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Save session in order to resume it later (client-side only) Session data is copied to presented session structure.  <a href="#a563913fea96a9cd2412b1a513aac53e4">More...</a><br/></td></tr>
<tr class="separator:a563913fea96a9cd2412b1a513aac53e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac16d7f3ed66ca2d497b47b0e68d58f20"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac16d7f3ed66ca2d497b47b0e68d58f20">ssl_handshake</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ac16d7f3ed66ca2d497b47b0e68d58f20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the SSL handshake.  <a href="#ac16d7f3ed66ca2d497b47b0e68d58f20">More...</a><br/></td></tr>
<tr class="separator:ac16d7f3ed66ca2d497b47b0e68d58f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f65a65e0bb161cae5113b181f42870c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5f65a65e0bb161cae5113b181f42870c">ssl_handshake_step</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a5f65a65e0bb161cae5113b181f42870c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a single step of the SSL handshake.  <a href="#a5f65a65e0bb161cae5113b181f42870c">More...</a><br/></td></tr>
<tr class="separator:a5f65a65e0bb161cae5113b181f42870c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7e70651e0876f2d20fa5c3c6eb29bf8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af7e70651e0876f2d20fa5c3c6eb29bf8">ssl_renegotiate</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:af7e70651e0876f2d20fa5c3c6eb29bf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate an SSL renegotiation on the running connection.  <a href="#af7e70651e0876f2d20fa5c3c6eb29bf8">More...</a><br/></td></tr>
<tr class="separator:af7e70651e0876f2d20fa5c3c6eb29bf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae44745097ca1b6af8193468836873280"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae44745097ca1b6af8193468836873280">ssl_read</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:ae44745097ca1b6af8193468836873280"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read at most 'len' application data bytes.  <a href="#ae44745097ca1b6af8193468836873280">More...</a><br/></td></tr>
<tr class="separator:ae44745097ca1b6af8193468836873280"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabe30130f0baea4521515e382367ba7b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aabe30130f0baea4521515e382367ba7b">ssl_write</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:aabe30130f0baea4521515e382367ba7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write exactly 'len' application data bytes.  <a href="#aabe30130f0baea4521515e382367ba7b">More...</a><br/></td></tr>
<tr class="separator:aabe30130f0baea4521515e382367ba7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff9ef93650fe16fc7f89dababd1ea3b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0ff9ef93650fe16fc7f89dababd1ea3b">ssl_send_alert_message</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, unsigned char level, unsigned char message)</td></tr>
<tr class="memdesc:a0ff9ef93650fe16fc7f89dababd1ea3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an alert message.  <a href="#a0ff9ef93650fe16fc7f89dababd1ea3b">More...</a><br/></td></tr>
<tr class="separator:a0ff9ef93650fe16fc7f89dababd1ea3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9d44e2a86b85dea525b43ae31269bf7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab9d44e2a86b85dea525b43ae31269bf7">ssl_close_notify</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ab9d44e2a86b85dea525b43ae31269bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Notify the peer that the connection is being closed.  <a href="#ab9d44e2a86b85dea525b43ae31269bf7">More...</a><br/></td></tr>
<tr class="separator:ab9d44e2a86b85dea525b43ae31269bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac58911881e51c463abfca52e2143dfd3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac58911881e51c463abfca52e2143dfd3">ssl_free</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ac58911881e51c463abfca52e2143dfd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free referenced items in an SSL context and clear memory.  <a href="#ac58911881e51c463abfca52e2143dfd3">More...</a><br/></td></tr>
<tr class="separator:ac58911881e51c463abfca52e2143dfd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91d8738f64c233c86ed982e88f3db897"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a91d8738f64c233c86ed982e88f3db897">ssl_session_init</a> (<a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *session)</td></tr>
<tr class="memdesc:a91d8738f64c233c86ed982e88f3db897"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize SSL session structure.  <a href="#a91d8738f64c233c86ed982e88f3db897">More...</a><br/></td></tr>
<tr class="separator:a91d8738f64c233c86ed982e88f3db897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5079435f7e59a37a6b2f049d5fb33758"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5079435f7e59a37a6b2f049d5fb33758">ssl_session_free</a> (<a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *session)</td></tr>
<tr class="memdesc:a5079435f7e59a37a6b2f049d5fb33758"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free referenced items in an SSL session including the peer certificate and clear memory.  <a href="#a5079435f7e59a37a6b2f049d5fb33758">More...</a><br/></td></tr>
<tr class="separator:a5079435f7e59a37a6b2f049d5fb33758"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52cd5006595a3bc975e3f15d7820e342"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a52cd5006595a3bc975e3f15d7820e342">ssl_transform_free</a> (<a class="el" href="ssl_8h.html#a52e1274f751811f2b362fe14113ee1b2">ssl_transform</a> *transform)</td></tr>
<tr class="memdesc:a52cd5006595a3bc975e3f15d7820e342"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free referenced items in an SSL transform context and clear memory.  <a href="#a52cd5006595a3bc975e3f15d7820e342">More...</a><br/></td></tr>
<tr class="separator:a52cd5006595a3bc975e3f15d7820e342"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb69d3b6a7bcdfefa4632c49681c780f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abb69d3b6a7bcdfefa4632c49681c780f">ssl_handshake_free</a> (<a class="el" href="ssl_8h.html#a7b24871c0036f06b89a6e186a24f5362">ssl_handshake_params</a> *handshake)</td></tr>
<tr class="memdesc:abb69d3b6a7bcdfefa4632c49681c780f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free referenced items in an SSL handshake context and clear memory.  <a href="#abb69d3b6a7bcdfefa4632c49681c780f">More...</a><br/></td></tr>
<tr class="separator:abb69d3b6a7bcdfefa4632c49681c780f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f4039ce73d6fb8d850a00b1f422d494"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2f4039ce73d6fb8d850a00b1f422d494">ssl_handshake_client_step</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a2f4039ce73d6fb8d850a00b1f422d494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45502aedef43fffe2214352b7fa16d9b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a45502aedef43fffe2214352b7fa16d9b">ssl_handshake_server_step</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a45502aedef43fffe2214352b7fa16d9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84bb45eddc77d2020cee1f5af99ae108"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a84bb45eddc77d2020cee1f5af99ae108">ssl_handshake_wrapup</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a84bb45eddc77d2020cee1f5af99ae108"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add6b9c3b948bf733693a64e126caefa5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#add6b9c3b948bf733693a64e126caefa5">ssl_send_fatal_handshake_failure</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:add6b9c3b948bf733693a64e126caefa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dedff2211a3724e2992c5172389ce33"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5dedff2211a3724e2992c5172389ce33">ssl_derive_keys</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a5dedff2211a3724e2992c5172389ce33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04bbbb6ff83880a6657b4eb1c2765821"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a04bbbb6ff83880a6657b4eb1c2765821">ssl_read_record</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a04bbbb6ff83880a6657b4eb1c2765821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7dc8ae52d34b48ad88b7de7480dd35a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af7dc8ae52d34b48ad88b7de7480dd35a">ssl_fetch_input</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, size_t nb_want)</td></tr>
<tr class="separator:af7dc8ae52d34b48ad88b7de7480dd35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32550924677c7edf4bb249d1f56916a5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a32550924677c7edf4bb249d1f56916a5">ssl_write_record</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a32550924677c7edf4bb249d1f56916a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab54c776878e3d8976c07ddeaa11ef9a4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab54c776878e3d8976c07ddeaa11ef9a4">ssl_flush_output</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:ab54c776878e3d8976c07ddeaa11ef9a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa6c01a5ac49039a9335f6d452ed9034"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aaa6c01a5ac49039a9335f6d452ed9034">ssl_parse_certificate</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:aaa6c01a5ac49039a9335f6d452ed9034"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49747db4781cba620844afeeb8c393f3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a49747db4781cba620844afeeb8c393f3">ssl_write_certificate</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a49747db4781cba620844afeeb8c393f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd03a1da48523e5aff86920bff119c7e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abd03a1da48523e5aff86920bff119c7e">ssl_parse_change_cipher_spec</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:abd03a1da48523e5aff86920bff119c7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6613709b99e391d8b166fcee4810dccb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6613709b99e391d8b166fcee4810dccb">ssl_write_change_cipher_spec</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a6613709b99e391d8b166fcee4810dccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4bc3f2691c2e488329a5f60be6f25fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab4bc3f2691c2e488329a5f60be6f25fc">ssl_parse_finished</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:ab4bc3f2691c2e488329a5f60be6f25fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ef4eeb9a03b9a474ff8aa71c9c949da"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6ef4eeb9a03b9a474ff8aa71c9c949da">ssl_write_finished</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a6ef4eeb9a03b9a474ff8aa71c9c949da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5f16e585b6838acc5c99c8cb85a3bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6e5f16e585b6838acc5c99c8cb85a3bb">ssl_optimize_checksum</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, const <a class="el" href="ssl__ciphersuites_8h.html#a97822bfefc780b0a33636fa10545d4ca">ssl_ciphersuite_t</a> *ciphersuite_info)</td></tr>
<tr class="separator:a6e5f16e585b6838acc5c99c8cb85a3bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d60144591ae055c36459169a5e80425"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3d60144591ae055c36459169a5e80425">ssl_psk_derive_premaster</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl, <a class="el" href="ssl__ciphersuites_8h.html#ad03856f3049ec58f64d97b461a53b0b0">key_exchange_type_t</a> key_ex)</td></tr>
<tr class="separator:a3d60144591ae055c36459169a5e80425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1870e89ca6f0ea3a0c15f2ce89b3d8e1"><td class="memItemLeft" align="right" valign="top">unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1870e89ca6f0ea3a0c15f2ce89b3d8e1">ssl_sig_from_pk</a> (<a class="el" href="structpk__context.html">pk_context</a> *pk)</td></tr>
<tr class="separator:a1870e89ca6f0ea3a0c15f2ce89b3d8e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b2677dc88ef0085b26be4f44c1a118b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7b2677dc88ef0085b26be4f44c1a118b">ssl_pk_alg_from_sig</a> (unsigned char sig)</td></tr>
<tr class="separator:a7b2677dc88ef0085b26be4f44c1a118b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a4e37a986c952098aa1ac9ccc43fdb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a38a4e37a986c952098aa1ac9ccc43fdb">ssl_md_alg_from_hash</a> (unsigned char hash)</td></tr>
<tr class="separator:a38a4e37a986c952098aa1ac9ccc43fdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b85d0cc735c4587d7fae6aa36d10b0d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structpk__context.html">pk_context</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9b85d0cc735c4587d7fae6aa36d10b0d">ssl_own_key</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a9b85d0cc735c4587d7fae6aa36d10b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3838f48bbde0d60938ad91a0f2e4e582"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3838f48bbde0d60938ad91a0f2e4e582">ssl_own_cert</a> (<a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *ssl)</td></tr>
<tr class="separator:a3838f48bbde0d60938ad91a0f2e4e582"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52bbef3dd5713c7986c7d123aa71f3d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a52bbef3dd5713c7986c7d123aa71f3d5">ssl_check_cert_usage</a> (const <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *cert, const <a class="el" href="ssl__ciphersuites_8h.html#a97822bfefc780b0a33636fa10545d4ca">ssl_ciphersuite_t</a> *ciphersuite, int cert_endpoint)</td></tr>
<tr class="separator:a52bbef3dd5713c7986c7d123aa71f3d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd1f18e779e6880dfb9b6d3cb1cca4f6"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afd1f18e779e6880dfb9b6d3cb1cca4f6">safer_memcmp</a> (const void *a, const void *b, size_t n)</td></tr>
<tr class="separator:afd1f18e779e6880dfb9b6d3cb1cca4f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>SSL/TLS functions. </p>
<p>Copyright (C) 2006-2014, Brainspark B.V.</p>
<p>This file is part of PolarSSL (<a href="http://www.polarssl.org">http://www.polarssl.org</a>) Lead Maintainer: Paul Bakker &lt;polarssl_maintainer at polarssl.org&gt;</p>
<p>All rights reserved.</p>
<p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p>You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. </p>

<p>Definition in file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="abdc6f709e309ee39f6f1b085ee941a55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE&#160;&#160;&#160;-0x7A00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the Certificate handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00127">127</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a295157be7847f73e569ac41fb81faa08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST&#160;&#160;&#160;-0x7A80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the CertificateRequest handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00128">128</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a26bdac13261b618681a39b0a20ebf103"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY&#160;&#160;&#160;-0x7D80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the CertificateVerify handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00134">134</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1b2917c9869b66d3d7c026b5b0e00652"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC&#160;&#160;&#160;-0x7E00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ChangeCipherSpec handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00135">135</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a981518b3ec1d68d785028766ccd735ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CLIENT_HELLO&#160;&#160;&#160;-0x7900</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ClientHello handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00125">125</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a446cd19a186cc2a67f64993af3013fbd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE&#160;&#160;&#160;-0x7C00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ClientKeyExchange handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00131">131</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa6cfcd4ac760424f436ce5d023e082c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS&#160;&#160;&#160;-0x7D00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ClientKeyExchange handshake message failed in DHM / ECDH Calculate Secret. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00133">133</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2726e209ffa43b6c2ce45e22fad0a870"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP&#160;&#160;&#160;-0x7C80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ClientKeyExchange handshake message failed in DHM / ECDH Read Public. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00132">132</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad5238dfb12be0905ef5243bedf195e9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_FINISHED&#160;&#160;&#160;-0x7E80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the Finished handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00136">136</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5303c598a58f4cd226b8ca773e8445ce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_NEW_SESSION_TICKET&#160;&#160;&#160;-0x6E00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the NewSessionTicket handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00142">142</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a17bbf98b50421818b851a0dca8c0da4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_PROTOCOL_VERSION&#160;&#160;&#160;-0x6E80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handshake protocol not within min/max boundaries. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00141">141</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a89e784e728eb487979ed1d66becea54e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO&#160;&#160;&#160;-0x7980</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ServerHello handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00126">126</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0c3092523242ec70c8a83edae64ad24e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO_DONE&#160;&#160;&#160;-0x7B80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ServerHelloDone handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00130">130</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="abde15c07b9a03c3ff57e17163af425fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE&#160;&#160;&#160;-0x7B00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the ServerKeyExchange handshake message failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00129">129</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="adcb102bf6601922b468a812b6cbeea12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_BAD_INPUT_DATA&#160;&#160;&#160;-0x7100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bad input parameters to function. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00109">109</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8ca3ab1629e09f0d370e14ad11be523d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_CA_CHAIN_REQUIRED&#160;&#160;&#160;-0x7680</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No CA Chain is set, but required to operate. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00120">120</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aec0313a3fa877e3a3684756d2577d2b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_CERTIFICATE_REQUIRED&#160;&#160;&#160;-0x7580</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The own certificate is not set, but needed by the server. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00118">118</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad5db026d994cb67ac466c9181f380be0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_CERTIFICATE_TOO_LARGE&#160;&#160;&#160;-0x7500</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Our own certificate(s) is/are too large to send in an SSL message. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00117">117</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a90a14481136649c0a89a7ca5fa4eb750"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_COMPRESSION_FAILED&#160;&#160;&#160;-0x6F00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processing of the compression / decompression failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00140">140</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a28bfc80f65337b0dbd4b006e53274b32"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_CONN_EOF&#160;&#160;&#160;-0x7280</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The connection indicated an EOF. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00112">112</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3802ace7255386bfbe71925823fc9931"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_COUNTER_WRAPPING&#160;&#160;&#160;-0x6B80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A counter would wrap (eg, too many messages exchanged). </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00147">147</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5cb8a175a1f0c3b3fe77f26fd32abda2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_FATAL_ALERT_MESSAGE&#160;&#160;&#160;-0x7780</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A fatal alert message was received from our peer. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00122">122</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a39e027ae9b490271b7c7b0e7bd4ec9a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE&#160;&#160;&#160;-0x7080</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The requested feature is not available. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00108">108</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5241d228f234e307b60bc13139eab2fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_HW_ACCEL_FAILED&#160;&#160;&#160;-0x7F80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Hardware acceleration function returned with error. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00138">138</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a45a9cd8b2cb96afeed543fc57078e7d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_HW_ACCEL_FALLTHROUGH&#160;&#160;&#160;-0x6F80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Hardware acceleration function skipped / left alone data. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00139">139</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a13e4844a3fd06c7dc142f5b8f3985115"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_INTERNAL_ERROR&#160;&#160;&#160;-0x6C00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal error (eg, unexpected failure in lower-level module) </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00146">146</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac8b3452c48a066a22c809a9d60bc3752"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_INVALID_MAC&#160;&#160;&#160;-0x7180</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verification of the message MAC failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00110">110</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6a1584fe2b857e6d374d086768aaa6b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_INVALID_RECORD&#160;&#160;&#160;-0x7200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An invalid SSL record was received. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00111">111</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="af35f4f9525fe3e98f989d2952fff254f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_MALLOC_FAILED&#160;&#160;&#160;-0x7F00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory allocation failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00137">137</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a95498cade77d8c7db264bf799b2753f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_NO_CIPHER_CHOSEN&#160;&#160;&#160;-0x7380</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The server has no ciphersuites in common with the client. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00114">114</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aeb836450c3b6ffa966cf6cf74ffe927f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_NO_CLIENT_CERTIFICATE&#160;&#160;&#160;-0x7480</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No client certification received from the client, but required by the authentication mode. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00116">116</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a19cbe729aeb55df7d04669cb98a38fe0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_NO_RNG&#160;&#160;&#160;-0x7400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No RNG was provided to the SSL module. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00115">115</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8e4c3b27c9e170358c71c83683c554da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY&#160;&#160;&#160;-0x7880</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The peer notified us that the connection is going to be closed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00124">124</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab8af28117b65fb455f8bc95b7f8a1f8a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_PEER_VERIFY_FAILED&#160;&#160;&#160;-0x7800</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Verification of our peer failed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00123">123</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3bcdd01778f66202a4e9d9a16ac7e271"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_PK_TYPE_MISMATCH&#160;&#160;&#160;-0x6D00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Public key type mismatch (eg, asked for RSA key exchange and presented EC key) </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00144">144</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a68feacf7e93dc9d0128e3888ae4a4858"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_PRIVATE_KEY_REQUIRED&#160;&#160;&#160;-0x7600</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The own private key or pre-shared key is not set, but needed. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00119">119</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="afd2d6575711d0c484fbc9da8dbca3532"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_SESSION_TICKET_EXPIRED&#160;&#160;&#160;-0x6D80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Session ticket has expired. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00143">143</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae047b69d2893d835285016db717d4f56"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE&#160;&#160;&#160;-0x7700</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An unexpected message was received from our peer. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00121">121</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa719a34cc90e8d15dbface25b41e88db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_UNKNOWN_CIPHER&#160;&#160;&#160;-0x7300</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>An unknown cipher was received. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00113">113</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5a52f3f1ee73e9c928003800909fef95"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_ERR_SSL_UNKNOWN_IDENTITY&#160;&#160;&#160;-0x6C80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Unknown identity received (eg, PSK identity) </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00145">145</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a866cdf579717ed3480366ce9afc93d8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00094">94</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1043bbbffe63041fc0ba8755ed4c7d98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00088">88</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3d43b3813b0d42a149b718a526a824ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_PREMASTER_SIZE&#160;&#160;&#160;sizeof( union <a class="el" href="union__ssl__premaster__secret.html">_ssl_premaster_secret</a> )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00451">451</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2c09f3b3bad4c092d408b4039196120c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define POLARSSL_PSK_MAX_LEN&#160;&#160;&#160;32 /* 256 bits */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00417">417</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7aada6071810eba54885ae8ba9012a14"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_LEVEL_FATAL&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00342">342</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f8f7ea03f02f45a427379d17c0c3381"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_LEVEL_WARNING&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00341">341</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a00a2f8661c31e2e1211e0586398d3f3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_ACCESS_DENIED&#160;&#160;&#160;49  /* 0x31 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00359">359</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab0fc5a1e3b26c77591deb67d4c0265b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_BAD_CERT&#160;&#160;&#160;42  /* 0x2A */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00352">352</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a736fe8af8eab0091654f5ee538f54822"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_BAD_RECORD_MAC&#160;&#160;&#160;20  /* 0x14 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00346">346</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a08cedd5d2c7b75509aec63668f02dfcd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_CERT_EXPIRED&#160;&#160;&#160;45  /* 0x2D */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00355">355</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa39fba2c4ce5ed5eef811bbcd331df20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_CERT_REVOKED&#160;&#160;&#160;44  /* 0x2C */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00354">354</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1190be949de654aa59926a1a47722ef0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_CERT_UNKNOWN&#160;&#160;&#160;46  /* 0x2E */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00356">356</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad14b12418d867f679ae512c85172437d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_CLOSE_NOTIFY&#160;&#160;&#160;0  /* 0x00 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00344">344</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a850d74ffe2fb34a9c8e9502413a50fb6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_DECODE_ERROR&#160;&#160;&#160;50  /* 0x32 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00360">360</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6d4c809b89c68492e6bff977e580006a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_DECOMPRESSION_FAILURE&#160;&#160;&#160;30  /* 0x1E */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00349">349</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae944de2c846156585bee4200ef789392"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_DECRYPT_ERROR&#160;&#160;&#160;51  /* 0x33 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00361">361</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9747c1125f8a52082305522b85553578"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_DECRYPTION_FAILED&#160;&#160;&#160;21  /* 0x15 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00347">347</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a243347f3447592161fd255351344cfbc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_EXPORT_RESTRICTION&#160;&#160;&#160;60  /* 0x3C */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00362">362</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a21e00498ea9a069ec7f182a87ec8b177"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_HANDSHAKE_FAILURE&#160;&#160;&#160;40  /* 0x28 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00350">350</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad93db03390f910032467790dab2593fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_ILLEGAL_PARAMETER&#160;&#160;&#160;47  /* 0x2F */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00357">357</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5ee5ef076802f9d80a86676805daddeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_INSUFFICIENT_SECURITY&#160;&#160;&#160;71  /* 0x47 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00364">364</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae62074a176d711811f00e9a4a6a6596b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_INTERNAL_ERROR&#160;&#160;&#160;80  /* 0x50 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00365">365</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa2e1d7e2cad0ef4fa4b2bf05b548d69c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL&#160;&#160;&#160;120 /* 0x78 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00371">371</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa39058a5209b2dc80ce6ed78df88ac1e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_NO_CERT&#160;&#160;&#160;41  /* 0x29 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00351">351</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a575935e3c2a919ac2600e9f4f1ea27bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_NO_RENEGOTIATION&#160;&#160;&#160;100  /* 0x64 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00367">367</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a368e71bd5a946294a83aa59d121a5680"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_PROTOCOL_VERSION&#160;&#160;&#160;70  /* 0x46 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00363">363</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="abafde3870ba4e25a83e8f73fa8c32246"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_RECORD_OVERFLOW&#160;&#160;&#160;22  /* 0x16 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00348">348</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a39c9318d0549bab6c227ecd0d70f035c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_UNEXPECTED_MESSAGE&#160;&#160;&#160;10  /* 0x0A */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00345">345</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aca99d76eb4973ab3f738810886a736f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_UNKNOWN_CA&#160;&#160;&#160;48  /* 0x30 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00358">358</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0ea430b2b401f16bf572c16fa0c8804c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY&#160;&#160;&#160;115  /* 0x73 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00370">370</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a00ab2865abf2de37dda6889f1753a984"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_UNRECOGNIZED_NAME&#160;&#160;&#160;112  /* 0x70 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00369">369</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="acab76dfccc5286d385afa9c41a2cbbda"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_UNSUPPORTED_CERT&#160;&#160;&#160;43  /* 0x2B */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00353">353</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="addf1aa49c1188a3be39aa7138f3f0432"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_UNSUPPORTED_EXT&#160;&#160;&#160;110  /* 0x6E */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00368">368</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a42430d65a46a924d2e89cd2909c0783a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_ALERT_MSG_USER_CANCELED&#160;&#160;&#160;90  /* 0x5A */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00366">366</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a70dcd2bbca08cfb787f98019dc98bad5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_BUFFER_LEN</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">( <a class="code" href="ssl_8h.html#a70bafb07a819e6bf9df2c97ce6dd139d">SSL_MAX_CONTENT_LEN</a>               \</div>
<div class="line">                        + <a class="code" href="ssl_8h.html#a63d3eb06371fa59f67919f105e4affd8">SSL_COMPRESSION_ADD</a>               \</div>
<div class="line">                        + 29 <span class="comment">/* counter + header + IV */</span>    \</div>
<div class="line">                        + <a class="code" href="ssl_8h.html#a7e5e7a7337db843467532cbcf48d0fb3">SSL_MAC_ADD</a>                       \</div>
<div class="line">                        + <a class="code" href="ssl_8h.html#a5838cb2225af69ac4e71284c3186b1c6">SSL_PADDING_ADD</a>                   \</div>
<div class="line">                        )</div>
<div class="ttc" id="ssl_8h_html_a63d3eb06371fa59f67919f105e4affd8"><div class="ttname"><a href="ssl_8h.html#a63d3eb06371fa59f67919f105e4affd8">SSL_COMPRESSION_ADD</a></div><div class="ttdeci">#define SSL_COMPRESSION_ADD</div><div class="ttdef"><b>Definition:</b> <a href="ssl_8h_source.html#l00275">ssl.h:275</a></div></div>
<div class="ttc" id="ssl_8h_html_a5838cb2225af69ac4e71284c3186b1c6"><div class="ttname"><a href="ssl_8h.html#a5838cb2225af69ac4e71284c3186b1c6">SSL_PADDING_ADD</a></div><div class="ttdeci">#define SSL_PADDING_ADD</div><div class="ttdef"><b>Definition:</b> <a href="ssl_8h_source.html#l00293">ssl.h:293</a></div></div>
<div class="ttc" id="ssl_8h_html_a70bafb07a819e6bf9df2c97ce6dd139d"><div class="ttname"><a href="ssl_8h.html#a70bafb07a819e6bf9df2c97ce6dd139d">SSL_MAX_CONTENT_LEN</a></div><div class="ttdeci">#define SSL_MAX_CONTENT_LEN</div><div class="ttdoc">Size of the input / output buffer. </div><div class="ttdef"><b>Definition:</b> <a href="ssl_8h_source.html#l00261">ssl.h:261</a></div></div>
<div class="ttc" id="ssl_8h_html_a7e5e7a7337db843467532cbcf48d0fb3"><div class="ttname"><a href="ssl_8h.html#a7e5e7a7337db843467532cbcf48d0fb3">SSL_MAC_ADD</a></div><div class="ttdeci">#define SSL_MAC_ADD</div><div class="ttdef"><b>Definition:</b> <a href="ssl_8h_source.html#l00281">ssl.h:281</a></div></div>
</div><!-- fragment -->
<p>Definition at line <a class="el" href="ssl_8h_source.html#l00298">298</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab82db2f8b69801caaff542cbb575f109"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_CERT_TYPE_ECDSA_SIGN&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00331">331</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6251d055d62aa78961d06540a64a87e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_CERT_TYPE_RSA_SIGN&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00330">330</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae4b89da0e77356598f12b3d48506276d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_COMPRESS_DEFLATE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00208">208</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad47aca4f7ebf39713fa96eac86343e7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_COMPRESS_NULL&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00207">207</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a63d3eb06371fa59f67919f105e4affd8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_COMPRESSION_ADD&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00275">275</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8b362b1b53efb0ad81e3183c383c9394"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_DEFAULT_TICKET_LIFETIME&#160;&#160;&#160;86400</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Lifetime of session tickets (if enabled) </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00248">248</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a61a7c669453e92d91c13e84c205e6dc2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_EMPTY_RENEGOTIATION_INFO&#160;&#160;&#160;0xFF</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>renegotiation info ext </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00308">308</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aea01ccea55dba8a09c2d0cdba374cd2c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_MD5&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00315">315</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a813754e3f260fb5cd1ab79b9e1ddcf3a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00314">314</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad7eefec922748c7c1bff814c9b5f76d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_SHA1&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00316">316</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9a08b5f7e06299cee75305b73e1a9dc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_SHA224&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00317">317</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab51d97eb425ea28e542c0679213fe40f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_SHA256&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00318">318</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2569b6e7eaa2aec958c98f22673109e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_SHA384&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00319">319</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5beeed84ccae1b316a473bedec444837"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HASH_SHA512&#160;&#160;&#160;6</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00320">320</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaaaa25b3ce92c5da9f357928032c3614"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_CERTIFICATE&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00377">377</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a146ced9f8b0ae516cc78f1cec065b4a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_CERTIFICATE_REQUEST&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00379">379</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a373b6769a2f5555bc03d16f25fd43286"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_CERTIFICATE_VERIFY&#160;&#160;&#160;15</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00381">381</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a565597ab4583db29a05d49c7fa0686a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_CLIENT_HELLO&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00374">374</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f20623ea264473b438e96339278c16b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_CLIENT_KEY_EXCHANGE&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00382">382</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a47bcc86840fcbc68b5a70bfca774258a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_FINISHED&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00383">383</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="afda93251f735deb8569698986df4bb95"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_HELLO_REQUEST&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00373">373</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a63adfe04136af9f3990b24562569d054"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_NEW_SESSION_TICKET&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00376">376</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aad10d88b523225e34a788bb2553d2593"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_SERVER_HELLO&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00375">375</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a56bb1fe1c001cd5905e26a7ad6cee303"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_SERVER_HELLO_DONE&#160;&#160;&#160;14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00380">380</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab9903e824d585f667a0018fa459dc30a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_HS_SERVER_KEY_EXCHANGE&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00378">378</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3a22bcc5982f8f2dbbc899b2d9c09b0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_INITIAL_HANDSHAKE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00214">214</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d3c4f57b35a1b8c395ebd7451e2211b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_IS_CLIENT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00205">205</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8fe8b6c95281a7048839f8b30713ff35"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_IS_SERVER&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00206">206</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="af85d1bdb4c936effdabd3b6bf3d953c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_LEGACY_ALLOW_RENEGOTIATION&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00229">229</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a31c3d047a20d178a4228eb3740a7a24f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_LEGACY_BREAK_HANDSHAKE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00230">230</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a63a004d5c7caac017c62bbfcfa533eae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_LEGACY_NO_RENEGOTIATION&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00228">228</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a06a288ea509f8e76fcb52a5f46cb3908"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_LEGACY_RENEGOTIATION&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00219">219</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7e5e7a7337db843467532cbcf48d0fb3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAC_ADD&#160;&#160;&#160;48  /* SHA-384 used for HMAC */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00281">281</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a84391a43fea28830ad138e2418a9728b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAJOR_VERSION_3&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00152">152</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a70bafb07a819e6bf9df2c97ce6dd139d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_CONTENT_LEN&#160;&#160;&#160;16384</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of the input / output buffer. </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00261">261</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad47cd1dca11882e95eb0910d68d6e5c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_FRAG_LEN_1024&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>MaxFragmentLength 2^10 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00200">200</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a70fac39e6cff2c09dd74185951c06695"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_FRAG_LEN_2048&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>MaxFragmentLength 2^11 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00201">201</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3c29a4f619719fdc1e96189033e0642d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_FRAG_LEN_4096&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>MaxFragmentLength 2^12 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00202">202</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6bf67eb19ce0cebd6592ac5cba5c2411"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_FRAG_LEN_512&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>MaxFragmentLength 2^9 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00199">199</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="acb1200880a9fc9fea4c776242d246cb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_FRAG_LEN_INVALID&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>first invalid value </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00203">203</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1e3348879ac88b7bb93b5d503c05e13c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_FRAG_LEN_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>don't use this extension </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00198">198</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab9777574c0f3b3d13e5c4e00981b7834"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_MAJOR_VERSION&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a84391a43fea28830ad138e2418a9728b">SSL_MAJOR_VERSION_3</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00178">178</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a74783bb987193059554331dba3b553ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MAX_MINOR_VERSION&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a6d963f23682491708743fd3de381cc1d">SSL_MINOR_VERSION_3</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00181">181</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8480d96b4e54df5a6a7a31e38edc35c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MIN_MAJOR_VERSION&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a84391a43fea28830ad138e2418a9728b">SSL_MAJOR_VERSION_3</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00159">159</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9505bd0c270200150a26b6d85afc0934"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MIN_MINOR_VERSION&#160;&#160;&#160;<a class="el" href="ssl_8h.html#a4fedd81485a2c0a99b8d0d1dea245302">SSL_MINOR_VERSION_0</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00162">162</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4fedd81485a2c0a99b8d0d1dea245302"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MINOR_VERSION_0&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>SSL v3.0 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00153">153</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3e0c978697874bb5457d61f7515e8f55"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MINOR_VERSION_1&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>TLS v1.0 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00154">154</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab565447d7abe2dcb01544e7dbfcd4c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MINOR_VERSION_2&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>TLS v1.1 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00155">155</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6d963f23682491708743fd3de381cc1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MINOR_VERSION_3&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>TLS v1.2 </p>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00156">156</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3d6dc94916f324f0a42881bd6e6f7db6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MSG_ALERT&#160;&#160;&#160;21</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00337">337</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6ea7789fe625447a1bf69d9a2382c861"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MSG_APPLICATION_DATA&#160;&#160;&#160;23</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00339">339</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a738eccdfea2b6a0de26231a0c2aafe4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MSG_CHANGE_CIPHER_SPEC&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00336">336</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="add1f218869a9aeb6f8b1190a99f0625a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_MSG_HANDSHAKE&#160;&#160;&#160;22</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00338">338</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5838cb2225af69ac4e71284c3186b1c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_PADDING_ADD&#160;&#160;&#160;256</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00293">293</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a345b3de11c3837d161cc3fea122a8d4f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGO_MAX_RECORDS_DEFAULT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00226">226</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa061ebaead3d10597d95050554179908"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGOTIATION&#160;&#160;&#160;1   /* In progress */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00215">215</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa5c9fd70cb3431d8ab7280ec69a93a57"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGOTIATION_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00222">222</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0293648bc85846f7bf32075bfb6a7427"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGOTIATION_DONE&#160;&#160;&#160;2   /* Done */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00216">216</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f3f42e9bf819a4fc589351c103d221b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGOTIATION_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00223">223</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="af7a8a713832ae0164b5298c75945ba0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGOTIATION_NOT_ENFORCED&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00225">225</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a22b6a89d4fcdfdc634d1f14bb7d19e50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_RENEGOTIATION_PENDING&#160;&#160;&#160;3   /* Requested (server only) */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00217">217</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3b2194c4a00cf137d99c90859838c7e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_SECURE_RENEGOTIATION&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00220">220</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5f213a5841510e97a4c7ee9d58403a75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_SESSION_TICKETS_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00236">236</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a67615999624515739ca30912bf5b76fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_SESSION_TICKETS_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00237">237</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a733760de6baaa13ccac093ee771d7079"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_SIG_ANON&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00322">322</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a04b4f34dc02fbd2da44ab8b9dff6b10f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_SIG_ECDSA&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00324">324</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac4b8439b3f7e4a686b3482b1b64ac646"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_SIG_RSA&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00323">323</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3fc505cdd77f24a0b3b509376abae77f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_TRUNC_HMAC_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00232">232</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8f0eeff6804fb62e9eed7fc94f751efe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_TRUNC_HMAC_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00233">233</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a36c288429758bd90fbfa891089d984ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_TRUNCATED_HMAC_LEN&#160;&#160;&#160;10  /* 80 bits, rfc 6066 section 7 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00234">234</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a060b51dc564d4b9dc941e81eab66d60c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_VERIFY_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00210">210</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7760ecdb03ee6f4520a21c04942c0883"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_VERIFY_OPTIONAL&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00211">211</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1f9549da00fa29209b3db3c5f11a329b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SSL_VERIFY_REQUIRED&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00212">212</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4b91900b335587d00420ed5a48e88e7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_ALPN&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00400">400</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa7408a3622ebe264a5ef2c105a964cbd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_MAX_FRAGMENT_LENGTH&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00391">391</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad0fbdb0804151f3a00631c342cf65957"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_RENEGOTIATION_INFO&#160;&#160;&#160;0xFF01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00404">404</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a21bb5a4f093a191a4e3f0efae924dd7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SERVERNAME&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00388">388</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a948d249c0b07844056fdf68c640bb2ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SERVERNAME_HOSTNAME&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00389">389</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aef2d649998ef071cfa04c072ebd30909"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SESSION_TICKET&#160;&#160;&#160;35</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00402">402</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a03991596f1740bf164b513d6e43c1f4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SIG_ALG&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00398">398</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5027dcb3f9e79d66d008105a6a10b88b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SUPPORTED_ELLIPTIC_CURVES&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00395">395</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="af4c82017108e0645f315b12052e4c7b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SUPPORTED_POINT_FORMATS&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00396">396</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a66091f70d8cfd5a5d43d42c221612567"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT&#160;&#160;&#160;(1 &lt;&lt; 0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00411">411</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a11832588d5c48b20e1cefbb1149823aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TLS_EXT_TRUNCATED_HMAC&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00393">393</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="afffb127b4c15c411b7655ce744fea2d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* rsa_decrypt_func)(void *ctx, int mode, size_t *olen, const unsigned char *input, unsigned char *output, size_t output_max_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00461">461</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="afbd44c00e4568ce6c12ebadd4822cf93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t(* rsa_key_len_func)(void *ctx)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00468">468</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a808d7f77b9af7d3163c29cb129eb5968"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* rsa_sign_func)(void *ctx, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng, int mode, <a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> md_alg, unsigned int hashlen, const unsigned char *hash, unsigned char *sig)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00464">464</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6cc90742039ba6f9fa184c22af7ea151"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__ssl__context.html">_ssl_context</a> <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00497">497</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7b24871c0036f06b89a6e186a24f5362"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__ssl__handshake__params.html">_ssl_handshake_params</a> <a class="el" href="ssl_8h.html#a7b24871c0036f06b89a6e186a24f5362">ssl_handshake_params</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00499">499</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="af1116557ac5d41bb6310ea171ea9a3e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__ssl__key__cert.html">_ssl_key_cert</a> <a class="el" href="ssl_8h.html#af1116557ac5d41bb6310ea171ea9a3e9">ssl_key_cert</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00504">504</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="abb59b301c07806142c790115fa49eb9e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__ssl__session.html">_ssl_session</a> <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00496">496</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa66a2d1f34f28f68215db9e3216ff474"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__ssl__ticket__keys.html">_ssl_ticket_keys</a> <a class="el" href="ssl_8h.html#aa66a2d1f34f28f68215db9e3216ff474">ssl_ticket_keys</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00501">501</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a52e1274f751811f2b362fe14113ee1b2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__ssl__transform.html">_ssl_transform</a> <a class="el" href="ssl_8h.html#a52e1274f751811f2b362fe14113ee1b2">ssl_transform</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00498">498</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a2c5a6a88b079c75237bd38369303f562"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="ssl_8h.html#a2c5a6a88b079c75237bd38369303f562">ssl_states</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562aa484774faa269995acabd2a76e56aaf0"></a>SSL_HELLO_REQUEST</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562aa6f3b90371b211cf68edb9e1b1aa4608"></a>SSL_CLIENT_HELLO</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562af97b0ce4208c0279bd9a2d70a4ebf39e"></a>SSL_SERVER_HELLO</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a580e2989d137d0d2fee273bf1c88b2c9"></a>SSL_SERVER_CERTIFICATE</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a6f0b74cee5ae2dc762ad1295cf4b9516"></a>SSL_SERVER_KEY_EXCHANGE</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a567600233b71938cea7108ad31020a03"></a>SSL_CERTIFICATE_REQUEST</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562aa65ecefdcc848d5fbce65009c67d1968"></a>SSL_SERVER_HELLO_DONE</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a85e000890081f50047f3783a933c821b"></a>SSL_CLIENT_CERTIFICATE</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562ae2099b4016268a6bc24336c12a739fa4"></a>SSL_CLIENT_KEY_EXCHANGE</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a370acc709df36935088aac79e6684d75"></a>SSL_CERTIFICATE_VERIFY</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562aad3f70e8a51b6b60b1b1433536a4c455"></a>SSL_CLIENT_CHANGE_CIPHER_SPEC</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a2d9901871f9719d9c83ab596654a1659"></a>SSL_CLIENT_FINISHED</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a6df82339c69b544e97bcb543df990664"></a>SSL_SERVER_CHANGE_CIPHER_SPEC</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a9c73bd4ec6c943c93ef00a4bfc655637"></a>SSL_SERVER_FINISHED</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562ae2821731d7435adec855c36aa99ee41c"></a>SSL_FLUSH_BUFFERS</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a9a00d046098533433f4e486963f0f16b"></a>SSL_HANDSHAKE_WRAPUP</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a5b33e824af78e48ea33553e3d712e036"></a>SSL_HANDSHAKE_OVER</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2c5a6a88b079c75237bd38369303f562a7743afbf71c7bb2458b84722541ff490"></a>SSL_SERVER_NEW_SESSION_TICKET</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

<p>Definition at line <a class="el" href="ssl_8h_source.html#l00473">473</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="afd1f18e779e6880dfb9b6d3cb1cca4f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int safer_memcmp </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l01792">1792</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a class="anchor" id="a52bbef3dd5713c7986c7d123aa71f3d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_check_cert_usage </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td>
          <td class="paramname"><em>cert</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="ssl__ciphersuites_8h.html#a97822bfefc780b0a33636fa10545d4ca">ssl_ciphersuite_t</a> *&#160;</td>
          <td class="paramname"><em>ciphersuite</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cert_endpoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab9d44e2a86b85dea525b43ae31269bf7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_close_notify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Notify the peer that the connection is being closed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5dedff2211a3724e2992c5172389ce33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_derive_keys </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7dc8ae52d34b48ad88b7de7480dd35a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_fetch_input </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nb_want</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>0 if successful, POLARSSL_ERR_SSL_CONN_EOF on EOF or another negative error code. </dd></dl>

</div>
</div>
<a class="anchor" id="ab54c776878e3d8976c07ddeaa11ef9a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_flush_output </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac58911881e51c463abfca52e2143dfd3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free referenced items in an SSL context and clear memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1d0b1fad4822e360684cad533873a26f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ssl_get_alpn_protocol </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the name of the negotiated Application Layer Protocol. </p>
<pre class="fragment">            This function should be called after the handshake is
            completed.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Protcol name, or NULL if no protocol was negotiated. </dd></dl>

</div>
</div>
<a class="anchor" id="a592a84cbdec035fdeeb17cb58263dafe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t ssl_get_bytes_avail </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the number of data bytes available to read. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>how many bytes are available in the read buffer </dd></dl>

</div>
</div>
<a class="anchor" id="abe1ab038db231f32cae8b4d96e792b27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ssl_get_ciphersuite </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the name of the current ciphersuite. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a string containing the ciphersuite name </dd></dl>

</div>
</div>
<a class="anchor" id="a28efadea2ac8dbeacfbc750c561cfdf5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_get_ciphersuite_id </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ciphersuite_name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the ID of the ciphersuite associated with the given name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ciphersuite_name</td><td>SSL ciphersuite name</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the ID with the ciphersuite or 0 if not found </dd></dl>

</div>
</div>
<a class="anchor" id="a156a97c76383d50a15691e1adefeca7e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ssl_get_ciphersuite_name </td>
          <td>(</td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>ciphersuite_id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the name of the ciphersuite associated with the given ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ciphersuite_id</td><td>SSL ciphersuite ID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a string containing the ciphersuite name </dd></dl>

</div>
</div>
<a class="anchor" id="af3d66ad09ad8be9e3ed177e884fc0968"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a>* ssl_get_peer_cert </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the peer certificate from the current connection. </p>
<pre class="fragment">            Note: Can be NULL in case no certificate was sent during
            the handshake. Different calls for the same connection can
            return the same or different pointers for the same
            certificate and even a different certificate altogether.
            The peer cert CAN change in a single connection if
            renegotiation is performed.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the current peer certificate </dd></dl>

</div>
</div>
<a class="anchor" id="a563913fea96a9cd2412b1a513aac53e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_get_session </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *&#160;</td>
          <td class="paramname"><em>session</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Save session in order to resume it later (client-side only) Session data is copied to presented session structure. </p>
<dl class="section warning"><dt>Warning</dt><dd>Currently, peer certificate is lost in the operation.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">session</td><td>session context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, POLARSSL_ERR_SSL_MALLOC_FAILED if memory allocation failed, POLARSSL_ERR_SSL_BAD_INPUT_DATA if used server-side or arguments are otherwise invalid</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ssl_8h.html#a8086f87381a15a3c52d489639d286947" title="Request resumption of session (client-side only) Session data is copied from presented session struct...">ssl_set_session()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac209bee37b76c6de34dd4d6bd97a7738"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_get_verify_result </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the result of the certificate verification. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a combination of: BADCERT_EXPIRED BADCERT_REVOKED BADCERT_CN_MISMATCH BADCERT_NOT_TRUSTED </dd></dl>

</div>
</div>
<a class="anchor" id="aaef4f2d1eceb641744e97b5a65662b85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ssl_get_version </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the current SSL version (SSLv3/TLSv1/etc) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a string containing the SSL version </dd></dl>

</div>
</div>
<a class="anchor" id="ac16d7f3ed66ca2d497b47b0e68d58f20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_handshake </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform the SSL handshake. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, POLARSSL_ERR_NET_WANT_READ, POLARSSL_ERR_NET_WANT_WRITE, or a specific SSL error code. </dd></dl>

</div>
</div>
<a class="anchor" id="a2f4039ce73d6fb8d850a00b1f422d494"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_handshake_client_step </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abb69d3b6a7bcdfefa4632c49681c780f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_handshake_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a7b24871c0036f06b89a6e186a24f5362">ssl_handshake_params</a> *&#160;</td>
          <td class="paramname"><em>handshake</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free referenced items in an SSL handshake context and clear memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">handshake</td><td>SSL handshake context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a45502aedef43fffe2214352b7fa16d9b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_handshake_server_step </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5f65a65e0bb161cae5113b181f42870c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_handshake_step </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform a single step of the SSL handshake. </p>
<pre class="fragment">            Note: the state of the context (ssl-&gt;state) will be at
            the following state after execution of this function.
            Do not call this function if state is SSL_HANDSHAKE_OVER.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, POLARSSL_ERR_NET_WANT_READ, POLARSSL_ERR_NET_WANT_WRITE, or a specific SSL error code. </dd></dl>

</div>
</div>
<a class="anchor" id="a84bb45eddc77d2020cee1f5af99ae108"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_handshake_wrapup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="add102a477ee9b9d9cda8fb1b86313d2e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize an SSL context (An individual SSL context is not thread-safe) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or POLARSSL_ERR_SSL_MALLOC_FAILED if memory allocation failed </dd></dl>

</div>
</div>
<a class="anchor" id="ac7bd54692de1ba735a31256cb28ef323"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_legacy_renegotiation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>allow_legacy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Prevent or allow legacy renegotiation. </p>
<pre class="fragment">            (Default: SSL_LEGACY_NO_RENEGOTIATION)

            SSL_LEGACY_NO_RENEGOTIATION allows connections to
            be established even if the peer does not support
            secure renegotiation, but does not allow renegotiation
            to take place if not secure.
            (Interoperable and secure option)

            SSL_LEGACY_ALLOW_RENEGOTIATION allows renegotiations
            with non-upgraded peers. Allowing legacy renegotiation
            makes the connection vulnerable to specific man in the
            middle attacks. (See RFC 5746)
            (Most interoperable and least secure option)

            SSL_LEGACY_BREAK_HANDSHAKE breaks off connections
            if peer does not support secure renegotiation. Results
            in interoperability issues with non-upgraded peers
            that do not support renegotiation altogether.
            (Most secure option, interoperability issues)
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">allow_legacy</td><td>Prevent or allow (SSL_NO_LEGACY_RENEGOTIATION, SSL_ALLOW_LEGACY_RENEGOTIATION or SSL_LEGACY_BREAK_HANDSHAKE) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8e24779662e63061762c46d09e49be61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int* ssl_list_ciphersuites </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the list of ciphersuites supported by the SSL/TLS module. </p>
<dl class="section return"><dt>Returns</dt><dd>a statically allocated array of ciphersuites, the last entry is 0. </dd></dl>

</div>
</div>
<a class="anchor" id="a38a4e37a986c952098aa1ac9ccc43fdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="md_8h.html#af1fbbb67afa0daee4090cde8864e0b68">md_type_t</a> ssl_md_alg_from_hash </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>hash</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6e5f16e585b6838acc5c99c8cb85a3bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_optimize_checksum </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="ssl__ciphersuites_8h.html#a97822bfefc780b0a33636fa10545d4ca">ssl_ciphersuite_t</a> *&#160;</td>
          <td class="paramname"><em>ciphersuite_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3838f48bbde0d60938ad91a0f2e4e582"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a>* ssl_own_cert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l01771">1771</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

<p>References <a class="el" href="ssl_8h_source.html#l00674">_ssl_key_cert::cert</a>, <a class="el" href="ssl_8h_source.html#l00739">_ssl_context::handshake</a>, and <a class="el" href="ssl_8h_source.html#l00609">_ssl_handshake_params::key_cert</a>.</p>

</div>
</div>
<a class="anchor" id="a9b85d0cc735c4587d7fae6aa36d10b0d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="structpk__context.html">pk_context</a>* ssl_own_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ssl_8h_source.html#l01765">1765</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

<p>References <a class="el" href="ssl_8h_source.html#l00739">_ssl_context::handshake</a>, <a class="el" href="ssl_8h_source.html#l00675">_ssl_key_cert::key</a>, and <a class="el" href="ssl_8h_source.html#l00609">_ssl_handshake_params::key_cert</a>.</p>

</div>
</div>
<a class="anchor" id="aaa6c01a5ac49039a9335f6d452ed9034"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_parse_certificate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abd03a1da48523e5aff86920bff119c7e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_parse_change_cipher_spec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab4bc3f2691c2e488329a5f60be6f25fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_parse_finished </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7b2677dc88ef0085b26be4f44c1a118b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pk_8h.html#afca3aa33cb1f34742a7ee3fd8ccec9ca">pk_type_t</a> ssl_pk_alg_from_sig </td>
          <td>(</td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>sig</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3d60144591ae055c36459169a5e80425"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_psk_derive_premaster </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl__ciphersuites_8h.html#ad03856f3049ec58f64d97b461a53b0b0">key_exchange_type_t</a>&#160;</td>
          <td class="paramname"><em>key_ex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae44745097ca1b6af8193468836873280"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#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>Read at most 'len' application data bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">buf</td><td>buffer that will hold the data </td></tr>
    <tr><td class="paramname">len</td><td>how many bytes must be read</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This function returns the number of bytes read, 0 for EOF, or a negative error code. </dd></dl>

</div>
</div>
<a class="anchor" id="a04bbbb6ff83880a6657b4eb1c2765821"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_read_record </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7e70651e0876f2d20fa5c3c6eb29bf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_renegotiate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initiate an SSL renegotiation on the running connection. </p>
<pre class="fragment">            Client: perform the renegotiation right now.
            Server: request renegotiation, which will be performed
            during the next call to ssl_read() if honored by client.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or any <a class="el" href="ssl_8h.html#ac16d7f3ed66ca2d497b47b0e68d58f20" title="Perform the SSL handshake. ">ssl_handshake()</a> return value. </dd></dl>

</div>
</div>
<a class="anchor" id="a0ff9ef93650fe16fc7f89dababd1ea3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_send_alert_message </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>message</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send an alert message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">level</td><td>The alert level of the message (SSL_ALERT_LEVEL_WARNING or SSL_ALERT_LEVEL_FATAL) </td></tr>
    <tr><td class="paramname">message</td><td>The alert message (SSL_ALERT_MSG_*)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a specific SSL error code. </dd></dl>

</div>
</div>
<a class="anchor" id="add6b9c3b948bf733693a64e126caefa5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_send_fatal_handshake_failure </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5079435f7e59a37a6b2f049d5fb33758"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_session_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *&#160;</td>
          <td class="paramname"><em>session</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free referenced items in an SSL session including the peer certificate and clear memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>SSL session </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a91d8738f64c233c86ed982e88f3db897"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_session_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *&#160;</td>
          <td class="paramname"><em>session</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize SSL session structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">session</td><td>SSL session </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af28259894de653adc20857cbc543b4c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_session_reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset an already initialized SSL context for re-use while retaining application-set variables, function pointers and data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or POLASSL_ERR_SSL_MALLOC_FAILED, POLARSSL_ERR_SSL_HW_ACCEL_FAILED or POLARSSL_ERR_SSL_COMPRESSION_FAILED </dd></dl>

</div>
</div>
<a class="anchor" id="a6248ee0cbefd9566eda3e6e1150d5f4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_alpn_protocols </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>protos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the supported Application Layer Protocols. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">protos</td><td>NULL-terminated list of supported protocols, in decreasing preference order.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or POLARSSL_ERR_SSL_BAD_INPUT_DATA. </dd></dl>

</div>
</div>
<a class="anchor" id="a12548c85c004225593c930c83b08a109"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_authmode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>authmode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the certificate verification mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">authmode</td><td>can be:</td></tr>
  </table>
  </dd>
</dl>
<p>SSL_VERIFY_NONE: peer certificate is not checked (default), this is insecure and SHOULD be avoided.</p>
<p>SSL_VERIFY_OPTIONAL: peer certificate is checked, however the handshake continues even if verification failed; <a class="el" href="ssl_8h.html#ac209bee37b76c6de34dd4d6bd97a7738" title="Return the result of the certificate verification. ">ssl_get_verify_result()</a> can be called after the handshake is complete.</p>
<p>SSL_VERIFY_REQUIRED: peer <em>must</em> present a valid certificate, handshake is aborted if verification failed.</p>
<dl class="section note"><dt>Note</dt><dd>On client, SSL_VERIFY_REQUIRED is the recommended mode. With SSL_VERIFY_OPTIONAL, the user needs to call <a class="el" href="ssl_8h.html#ac209bee37b76c6de34dd4d6bd97a7738" title="Return the result of the certificate verification. ">ssl_get_verify_result()</a> at the right time(s), which may not be obvious, while REQUIRED always perform the verification as soon as possible. For example, REQUIRED was protecting against the "triple handshake" attack even before it was found. </dd></dl>

</div>
</div>
<a class="anchor" id="a40d5b1fff205a1e8f96e26c1cce2a569"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_bio </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_recv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_recv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, const unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_send</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_send</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the underlying BIO read and write callbacks. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_recv</td><td>read callback </td></tr>
    <tr><td class="paramname">p_recv</td><td>read parameter </td></tr>
    <tr><td class="paramname">f_send</td><td>write callback </td></tr>
    <tr><td class="paramname">p_send</td><td>write parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afb8339c354e2ea98af5ebd821d3e7ae9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_ca_chain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td>
          <td class="paramname"><em>ca_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__x509__module.html#ga6d6714f926c6cc578e0f983aa6ddaf2a">x509_crl</a> *&#160;</td>
          <td class="paramname"><em>ca_crl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>peer_cn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the data required to verify peer certificate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">ca_chain</td><td>trusted CA chain (meaning all fully trusted top-level CAs) </td></tr>
    <tr><td class="paramname">ca_crl</td><td>trusted CA CRLs </td></tr>
    <tr><td class="paramname">peer_cn</td><td>expected peer CommonName (or NULL) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a53a886e4377dcf4fb807b1abd0f5298d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_ciphersuites </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int *&#160;</td>
          <td class="paramname"><em>ciphersuites</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the list of allowed ciphersuites and the preference order. </p>
<p>First in the list has the highest preference. (Overrides all version specific lists)</p>
<p>Note: The PolarSSL SSL server uses its own preferences over the preference of the connection SSL client unless POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE is defined!</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">ciphersuites</td><td>0-terminated list of allowed ciphersuites </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abee8090dc3257a28c60c7d2c9626f274"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_ciphersuites_for_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int *&#160;</td>
          <td class="paramname"><em>ciphersuites</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the list of allowed ciphersuites and the preference order for a specific version of the protocol. </p>
<pre class="fragment">                 (Only useful on the server side)
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">ciphersuites</td><td>0-terminated list of allowed ciphersuites </td></tr>
    <tr><td class="paramname">major</td><td>Major version number (only SSL_MAJOR_VERSION_3 supported) </td></tr>
    <tr><td class="paramname">minor</td><td>Minor version number (SSL_MINOR_VERSION_0, SSL_MINOR_VERSION_1 and SSL_MINOR_VERSION_2, SSL_MINOR_VERSION_3 supported) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a284ba5bb8d4f5e338b6a8ad9d45c9024"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_dbg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *, int, const char *)&#160;</td>
          <td class="paramname"><em>f_dbg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_dbg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the debug callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_dbg</td><td>debug function </td></tr>
    <tr><td class="paramname">p_dbg</td><td>debug parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1d143cccc27033e73b13cca6c09a144e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_dh_param </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dhm_P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dhm_G</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the Diffie-Hellman public P and G values, read as hexadecimal strings (server-side only) (Default: POLARSSL_DHM_RFC5114_MODP_1024_[PG]) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">dhm_P</td><td>Diffie-Hellman-Merkle modulus </td></tr>
    <tr><td class="paramname">dhm_G</td><td>Diffie-Hellman-Merkle generator</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful </dd></dl>

</div>
</div>
<a class="anchor" id="a93435fc24c88a2a519e732f122fe7d66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_dh_param_ctx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structdhm__context.html">dhm_context</a> *&#160;</td>
          <td class="paramname"><em>dhm_ctx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the Diffie-Hellman public P and G values, read from existing context (server-side only) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">dhm_ctx</td><td>Diffie-Hellman-Merkle context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful </dd></dl>

</div>
</div>
<a class="anchor" id="a3b71db44f3dd86fb3d4da60401a9dc0f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_endpoint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>endpoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the current endpoint type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">endpoint</td><td>must be SSL_IS_CLIENT or SSL_IS_SERVER</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function should be called right after <a class="el" href="ssl_8h.html#add102a477ee9b9d9cda8fb1b86313d2e" title="Initialize an SSL context (An individual SSL context is not thread-safe) ">ssl_init()</a> since some other ssl_set_foo() functions depend on it. </dd></dl>

</div>
</div>
<a class="anchor" id="a08d6dba305dbd338ed1d323dec44fc5e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_hostname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>hostname</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set hostname for ServerName TLS extension (client-side only) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">hostname</td><td>the server hostname</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or POLARSSL_ERR_SSL_MALLOC_FAILED </dd></dl>

</div>
</div>
<a class="anchor" id="a3f8e7aef5cceead6836e9446fba358a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_max_frag_len </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>mfl_code</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the maximum fragment length to emit and/or negotiate (Default: SSL_MAX_CONTENT_LEN, usually 2^14 bytes) (Server: set maximum fragment length to emit, usually negotiated by the client during handshake (Client: set maximum fragment length to emit <em>and</em> negotiate with the server during handshake) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">mfl_code</td><td>Code for maximum fragment length (allowed values: SSL_MAX_FRAG_LEN_512, SSL_MAX_FRAG_LEN_1024, SSL_MAX_FRAG_LEN_2048, SSL_MAX_FRAG_LEN_4096)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>O if successful or POLARSSL_ERR_SSL_BAD_INPUT_DATA </dd></dl>

</div>
</div>
<a class="anchor" id="afe936f0d0b6bfa3a5e3a8c6c32f569e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_max_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the maximum supported version sent from the client side and/or accepted at the server side (Default: SSL_MAX_MAJOR_VERSION, SSL_MAX_MINOR_VERSION) </p>
<pre class="fragment">            Note: This ignores ciphersuites from 'higher' versions.
            Note: Input outside of the SSL_MAX_XXXXX_VERSION and
                  SSL_MIN_XXXXX_VERSION range is ignored.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">major</td><td>Major version number (only SSL_MAJOR_VERSION_3 supported) </td></tr>
    <tr><td class="paramname">minor</td><td>Minor version number (SSL_MINOR_VERSION_0, SSL_MINOR_VERSION_1 and SSL_MINOR_VERSION_2, SSL_MINOR_VERSION_3 supported) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac0efcadb95f314f995f9d990f969a426"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_min_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>major</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the minimum accepted SSL/TLS protocol version (Default: SSL_MIN_MAJOR_VERSION, SSL_MIN_MINOR_VERSION) </p>
<pre class="fragment">            Note: Input outside of the SSL_MAX_XXXXX_VERSION and
                  SSL_MIN_XXXXX_VERSION range is ignored.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">major</td><td>Major version number (only SSL_MAJOR_VERSION_3 supported) </td></tr>
    <tr><td class="paramname">minor</td><td>Minor version number (SSL_MINOR_VERSION_0, SSL_MINOR_VERSION_1 and SSL_MINOR_VERSION_2, SSL_MINOR_VERSION_3 supported) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a442a4408cb533177e8ee7536e7be1696"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_own_cert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td>
          <td class="paramname"><em>own_cert</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structpk__context.html">pk_context</a> *&#160;</td>
          <td class="paramname"><em>pk_key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set own certificate chain and private key. </p>
<dl class="section note"><dt>Note</dt><dd>own_cert should contain in order from the bottom up your certificate chain. The top certificate (self-signed) can be omitted.</dd>
<dd>
This function may be called more than once if you want to support multiple certificates (eg, one using RSA and one using ECDSA). However, on client, currently only the first certificate is used (subsequent calls have no effect).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">own_cert</td><td>own public certificate chain </td></tr>
    <tr><td class="paramname">pk_key</td><td>own private key</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success or POLARSSL_ERR_SSL_MALLOC_FAILED </dd></dl>

</div>
</div>
<a class="anchor" id="a2747ff64638ab5ae5dd9a9acd5c88a00"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_own_cert_alt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td>
          <td class="paramname"><em>own_cert</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>rsa_key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#afffb127b4c15c411b7655ce744fea2d6">rsa_decrypt_func</a>&#160;</td>
          <td class="paramname"><em>rsa_decrypt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a808d7f77b9af7d3163c29cb129eb5968">rsa_sign_func</a>&#160;</td>
          <td class="paramname"><em>rsa_sign</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#afbd44c00e4568ce6c12ebadd4822cf93">rsa_key_len_func</a>&#160;</td>
          <td class="paramname"><em>rsa_key_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set own certificate and alternate non-PolarSSL RSA private key and handling callbacks, such as the PKCS#11 wrappers or any other external private key handler. </p>
<pre class="fragment">            (see the respective RSA functions in rsa.h for documentation
            of the callback parameters, with the only change being
            that the rsa_context * is a void * in the callbacks)

            Note: own_cert should contain IN order from the bottom
            up your certificate chain. The top certificate (self-signed)
            can be omitted.
</pre><dl class="section warning"><dt>Warning</dt><dd>This backwards-compatibility function is deprecated! Please use <code><a class="el" href="pk_8h.html#a14ae82039a8ee045bc072bc5cc56b286" title="Initialize an RSA-alt context. ">pk_init_ctx_rsa_alt()</a></code> and <code><a class="el" href="ssl_8h.html#a442a4408cb533177e8ee7536e7be1696" title="Set own certificate chain and private key. ">ssl_set_own_cert()</a></code> instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">own_cert</td><td>own public certificate chain </td></tr>
    <tr><td class="paramname">rsa_key</td><td>alternate implementation private RSA key </td></tr>
    <tr><td class="paramname">rsa_decrypt</td><td>alternate implementation of <code><a class="el" href="rsa_8h.html#a01f8396add05e6e621f8e97d58f75e3a" title="Generic wrapper to perform a PKCS#1 decryption using the mode from the context. ">rsa_pkcs1_decrypt()</a></code> </td></tr>
    <tr><td class="paramname">rsa_sign</td><td>alternate implementation of <code><a class="el" href="rsa_8h.html#a1dd6fe83383d20d338a7434e80bc0554" title="Generic wrapper to perform a PKCS#1 signature using the mode from the context. ">rsa_pkcs1_sign()</a></code> </td></tr>
    <tr><td class="paramname">rsa_key_len</td><td>function returning length of RSA key in bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a specific error code. </dd></dl>

</div>
</div>
<a class="anchor" id="aa874fab0739bb517c0ebf4ee49606599"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_own_cert_rsa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *&#160;</td>
          <td class="paramname"><em>own_cert</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structrsa__context.html">rsa_context</a> *&#160;</td>
          <td class="paramname"><em>rsa_key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set own certificate chain and private RSA key. </p>
<pre class="fragment">            Note: own_cert should contain IN order from the bottom
            up your certificate chain. The top certificate (self-signed)
            can be omitted.
</pre><dl class="section warning"><dt>Warning</dt><dd>This backwards-compatibility function is deprecated! Please use <code><a class="el" href="ssl_8h.html#a442a4408cb533177e8ee7536e7be1696" title="Set own certificate chain and private key. ">ssl_set_own_cert()</a></code> instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">own_cert</td><td>own public certificate chain </td></tr>
    <tr><td class="paramname">rsa_key</td><td>own private RSA key</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or a specific error code. </dd></dl>

</div>
</div>
<a class="anchor" id="a2791baab77a911cb3f20b997dbe98041"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_psk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>psk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>psk_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>psk_identity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>psk_identity_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the Pre Shared Key (PSK) and the identity name connected to it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">psk</td><td>pointer to the pre-shared key </td></tr>
    <tr><td class="paramname">psk_len</td><td>pre-shared key length </td></tr>
    <tr><td class="paramname">psk_identity</td><td>pointer to the pre-shared key identity </td></tr>
    <tr><td class="paramname">psk_identity_len</td><td>identity key length</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or POLARSSL_ERR_SSL_MALLOC_FAILED </dd></dl>

</div>
</div>
<a class="anchor" id="a21be804955c551b52f2ec45edd2dca20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_psk_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *, const unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_psk</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_psk</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the PSK callback (server-side only) (Optional). </p>
<pre class="fragment">            If set, the PSK callback is called for each
            handshake where a PSK ciphersuite was negotiated.
            The caller provides the identity received and wants to
            receive the actual PSK data and length.

            The callback has the following parameters: (void *parameter,
            ssl_context *ssl, const unsigned char *psk_identity,
            size_t identity_len)
            If a valid PSK identity is found, the callback should use
            ssl_set_psk() on the ssl context to set the correct PSK and
            identity and return 0.
            Any other return value will result in a denied PSK identity.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_psk</td><td>PSK identity function </td></tr>
    <tr><td class="paramname">p_psk</td><td>PSK identity parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a61a7fbfd9664aa43a5334a2b931546ac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_renegotiation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>renegotiation</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable / Disable renegotiation support for connection when initiated by peer (Default: SSL_RENEGOTIATION_DISABLED) </p>
<pre class="fragment">            Note: A server with support enabled is more vulnerable for a
            resource DoS by a malicious client. You should enable this on
            a client to enable server-initiated renegotiation.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">renegotiation</td><td>Enable or disable (SSL_RENEGOTIATION_ENABLED or SSL_RENEGOTIATION_DISABLED) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9e95efbf6faac9f64958f2eed2e06351"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_renegotiation_enforced </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>max_records</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enforce server-requested renegotiation. </p>
<pre class="fragment">            (Default: enforced, max_records = 16)
            (No effect on client.)

            When a server requests a renegotiation, the client can
            comply or ignore the request. This function allows the
            server to decide if it should enforce its renegotiation
            requests by closing the connection if the client doesn't
            initiate a renegotiation.

            However, records could already be in transit from the
            client to the server when the request is emitted. In order
            to increase reliability, the server can accept a number of
            records containing application data before the ClientHello
            that was requested.

            The optimal value is highly dependent on the specific usage
            scenario.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">max_records</td><td>Use SSL_RENEGOTIATION_NOT_ENFORCED if you don't want to enforce renegotiation, or a non-negative value to enforce it but allow for a grace period of max_records records. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af30d632320733202d836fe5f72531964"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_rng </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_rng</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_rng</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the random number generator callback. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_rng</td><td>RNG function </td></tr>
    <tr><td class="paramname">p_rng</td><td>RNG parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8086f87381a15a3c52d489639d286947"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_session </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *&#160;</td>
          <td class="paramname"><em>session</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Request resumption of session (client-side only) Session data is copied from presented session structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">session</td><td>session context</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, POLARSSL_ERR_SSL_MALLOC_FAILED if memory allocation failed, POLARSSL_ERR_SSL_BAD_INPUT_DATA if used server-side or arguments are otherwise invalid</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ssl_8h.html#a563913fea96a9cd2412b1a513aac53e4" title="Save session in order to resume it later (client-side only) Session data is copied to presented sessi...">ssl_get_session()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a94d1f574198c31967ff01bf66cb0fd84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_session_cache </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *)&#160;</td>
          <td class="paramname"><em>f_get_cache</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_get_cache</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, const <a class="el" href="ssl_8h.html#abb59b301c07806142c790115fa49eb9e">ssl_session</a> *)&#160;</td>
          <td class="paramname"><em>f_set_cache</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_set_cache</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the session cache callbacks (server-side only) If not set, no session resuming is done. </p>
<pre class="fragment">            The session cache has the responsibility to check for stale
            entries based on timeout. See RFC 5246 for recommendations.

            Warning: session.peer_cert is cleared by the SSL/TLS layer on
            connection shutdown, so do not cache the pointer! Either set
            it to NULL or make a full copy of the certificate.

            The get callback is called once during the initial handshake
            to enable session resuming. The get function has the
            following parameters: (void *parameter, ssl_session *session)
            If a valid entry is found, it should fill the master of
            the session object with the cached values and return 0,
            return 1 otherwise. Optionally peer_cert can be set as well
            if it is properly present in cache entry.

            The set callback is called once during the initial handshake
            to enable session resuming after the entire handshake has
            been finished. The set function has the following parameters:
            (void *parameter, const ssl_session *session). The function
            should create a cache entry for future retrieval based on
            the data in the session structure and should keep in mind
            that the ssl_session object presented (and all its referenced
            data) is cleared by the SSL/TLS layer when the connection is
            terminated. It is recommended to add metadata to determine if
            an entry is still valid in the future. Return 0 if
            successfully cached, return 1 otherwise.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_get_cache</td><td>session get callback </td></tr>
    <tr><td class="paramname">p_get_cache</td><td>session get parameter </td></tr>
    <tr><td class="paramname">f_set_cache</td><td>session set callback </td></tr>
    <tr><td class="paramname">p_set_cache</td><td>session set parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a36a62c1fb127feb3aef57450ecae3efe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_session_ticket_lifetime </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>lifetime</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set session ticket lifetime (server only) (Default: SSL_DEFAULT_TICKET_LIFETIME (86400 secs / 1 day)) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">lifetime</td><td>session ticket lifetime </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a092d77e083ddeaea0a1776a50aad3fa2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_session_tickets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>use_tickets</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable / Disable session tickets (Default: SSL_SESSION_TICKETS_ENABLED on client, SSL_SESSION_TICKETS_DISABLED on server) </p>
<dl class="section note"><dt>Note</dt><dd>On server, <a class="el" href="ssl_8h.html#af30d632320733202d836fe5f72531964" title="Set the random number generator callback. ">ssl_set_rng()</a> must be called before this function to allow generating the ticket encryption and authentication keys.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">use_tickets</td><td>Enable or disable (SSL_SESSION_TICKETS_ENABLED or SSL_SESSION_TICKETS_DISABLED)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>O if successful, or a specific error code (server only). </dd></dl>

</div>
</div>
<a class="anchor" id="a7667c19620c74475994655f154dc001b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_sni </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *, const unsigned char *, size_t)&#160;</td>
          <td class="paramname"><em>f_sni</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_sni</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set server side ServerName TLS extension callback (optional, server-side only). </p>
<pre class="fragment">            If set, the ServerName callback is called whenever the
            server receives a ServerName TLS extension from the client
            during a handshake. The ServerName callback has the
            following parameters: (void *parameter, ssl_context *ssl,
            const unsigned char *hostname, size_t len). If a suitable
            certificate is found, the callback should set the
            certificate and key to use with ssl_set_own_cert() (and
            possibly adjust the CA chain as well) and return 0. The
            callback should return -1 to abort the handshake at this
            point.
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_sni</td><td>verification function </td></tr>
    <tr><td class="paramname">p_sni</td><td>verification parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a44bfce49fdd283b91ba4513eed7567e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_set_truncated_hmac </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>truncate</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Activate negotiation of truncated HMAC (Client only) (Default: SSL_TRUNC_HMAC_ENABLED) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">truncate</td><td>Enable or disable (SSL_TRUNC_HMAC_ENABLED or SSL_TRUNC_HMAC_DISABLED)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>O if successful, POLARSSL_ERR_SSL_BAD_INPUT_DATA if used server-side </dd></dl>

</div>
</div>
<a class="anchor" id="a6bdf5fcd1e51a4f4c8b7ed0ace7fac66"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_set_verify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="group__x509__module.html#gabc08a73588a59be2dd8943ebfc29ec9a">x509_crt</a> *, int, int *)&#160;</td>
          <td class="paramname"><em>f_vrfy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_vrfy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the verification callback (Optional). </p>
<pre class="fragment">            If set, the verify callback is called for each
            certificate in the chain. For implementation
            information, please see \c x509parse_verify()
</pre><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">f_vrfy</td><td>verification function </td></tr>
    <tr><td class="paramname">p_vrfy</td><td>verification parameter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1870e89ca6f0ea3a0c15f2ce89b3d8e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char ssl_sig_from_pk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpk__context.html">pk_context</a> *&#160;</td>
          <td class="paramname"><em>pk</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a52cd5006595a3bc975e3f15d7820e342"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ssl_transform_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a52e1274f751811f2b362fe14113ee1b2">ssl_transform</a> *&#160;</td>
          <td class="paramname"><em>transform</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free referenced items in an SSL transform context and clear memory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">transform</td><td>SSL transform context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aabe30130f0baea4521515e382367ba7b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#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>Write exactly 'len' application data bytes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssl</td><td>SSL context </td></tr>
    <tr><td class="paramname">buf</td><td>buffer holding the data </td></tr>
    <tr><td class="paramname">len</td><td>how many bytes must be written</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This function returns the number of bytes written, or a negative error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>When this function returns POLARSSL_ERR_NET_WANT_WRITE, it must be called later with the <em>same</em> arguments, until it returns a positive value. </dd></dl>

</div>
</div>
<a class="anchor" id="a49747db4781cba620844afeeb8c393f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_write_certificate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6613709b99e391d8b166fcee4810dccb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_write_change_cipher_spec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6ef4eeb9a03b9a474ff8aa71c9c949da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_write_finished </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a32550924677c7edf4bb249d1f56916a5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ssl_write_record </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6cc90742039ba6f9fa184c22af7ea151">ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jul 31 2014 11:35:56 for PolarSSL v1.3.8 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>