Sophie

Sophie

distrib > Mageia > 6 > x86_64 > by-pkgid > f835bee5b8b7ec08e20fae17cab51e63 > files > 465

lib64mbedtls-devel-2.7.3-1.mga6.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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>mbed TLS v2.7.3: 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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">mbed TLS v2.7.3
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_b4d146e9a6d8dd56ed4afb2480a97fd3.html">mbedtls</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="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="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 &quot;<a class="el" href="platform__time_8h_source.html">mbedtls/platform_time.h</a>&quot;</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="unionmbedtls__ssl__premaster__secret.html">mbedtls_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="structmbedtls__ssl__session.html">mbedtls_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="structmbedtls__ssl__config.html">mbedtls_ssl_config</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="structmbedtls__ssl__context.html">mbedtls_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:aea8b7e95c7e547959c10e9cad5f46043"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aea8b7e95c7e547959c10e9cad5f46043">MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE</a>&#160;&#160;&#160;-0x7080</td></tr>
<tr class="separator:aea8b7e95c7e547959c10e9cad5f46043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665997e4474e4ce0db5ef408c9c6b5ce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a665997e4474e4ce0db5ef408c9c6b5ce">MBEDTLS_ERR_SSL_BAD_INPUT_DATA</a>&#160;&#160;&#160;-0x7100</td></tr>
<tr class="separator:a665997e4474e4ce0db5ef408c9c6b5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88e465f67430fba26abeb44f2ac28d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac88e465f67430fba26abeb44f2ac28d5">MBEDTLS_ERR_SSL_INVALID_MAC</a>&#160;&#160;&#160;-0x7180</td></tr>
<tr class="separator:ac88e465f67430fba26abeb44f2ac28d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad21f6b8a740ef21dd162d91b809e3a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aad21f6b8a740ef21dd162d91b809e3a4">MBEDTLS_ERR_SSL_INVALID_RECORD</a>&#160;&#160;&#160;-0x7200</td></tr>
<tr class="separator:aad21f6b8a740ef21dd162d91b809e3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab82e0253b53fa62fab94b98ef9eb97f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab82e0253b53fa62fab94b98ef9eb97f9">MBEDTLS_ERR_SSL_CONN_EOF</a>&#160;&#160;&#160;-0x7280</td></tr>
<tr class="separator:ab82e0253b53fa62fab94b98ef9eb97f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9df50cb6b7d5f0d3507a6bf8405adfe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac9df50cb6b7d5f0d3507a6bf8405adfe">MBEDTLS_ERR_SSL_UNKNOWN_CIPHER</a>&#160;&#160;&#160;-0x7300</td></tr>
<tr class="separator:ac9df50cb6b7d5f0d3507a6bf8405adfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55ed67b6e414f9b381ff536d9ea6b9c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a55ed67b6e414f9b381ff536d9ea6b9c0">MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN</a>&#160;&#160;&#160;-0x7380</td></tr>
<tr class="separator:a55ed67b6e414f9b381ff536d9ea6b9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebfdb35dab3c9928c1db296b7b7140ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aebfdb35dab3c9928c1db296b7b7140ab">MBEDTLS_ERR_SSL_NO_RNG</a>&#160;&#160;&#160;-0x7400</td></tr>
<tr class="separator:aebfdb35dab3c9928c1db296b7b7140ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa160d753b94b4ecf6e22a1415450e8f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aaa160d753b94b4ecf6e22a1415450e8f">MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE</a>&#160;&#160;&#160;-0x7480</td></tr>
<tr class="separator:aaa160d753b94b4ecf6e22a1415450e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a654b5a02c3e99f08306fdaceef5a4969"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a654b5a02c3e99f08306fdaceef5a4969">MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE</a>&#160;&#160;&#160;-0x7500</td></tr>
<tr class="separator:a654b5a02c3e99f08306fdaceef5a4969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accee747c38c056e6bf1271b718b562dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#accee747c38c056e6bf1271b718b562dc">MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED</a>&#160;&#160;&#160;-0x7580</td></tr>
<tr class="separator:accee747c38c056e6bf1271b718b562dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c40a91dc331782b9aaa82812fc38eb4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4c40a91dc331782b9aaa82812fc38eb4">MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED</a>&#160;&#160;&#160;-0x7600</td></tr>
<tr class="separator:a4c40a91dc331782b9aaa82812fc38eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31bcc2bfd103177e3e76e04219e0497f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a31bcc2bfd103177e3e76e04219e0497f">MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED</a>&#160;&#160;&#160;-0x7680</td></tr>
<tr class="separator:a31bcc2bfd103177e3e76e04219e0497f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada7521232ac79a0cc64e8f5325fc7574"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ada7521232ac79a0cc64e8f5325fc7574">MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE</a>&#160;&#160;&#160;-0x7700</td></tr>
<tr class="separator:ada7521232ac79a0cc64e8f5325fc7574"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc37a34787c5c5484a993ff64c3a1634"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acc37a34787c5c5484a993ff64c3a1634">MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE</a>&#160;&#160;&#160;-0x7780</td></tr>
<tr class="separator:acc37a34787c5c5484a993ff64c3a1634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac53adea4d4086a8e344459b053a5717b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac53adea4d4086a8e344459b053a5717b">MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED</a>&#160;&#160;&#160;-0x7800</td></tr>
<tr class="separator:ac53adea4d4086a8e344459b053a5717b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e16e4c94a7e4ba0cf6b95c4547ddb1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac5e16e4c94a7e4ba0cf6b95c4547ddb1">MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY</a>&#160;&#160;&#160;-0x7880</td></tr>
<tr class="separator:ac5e16e4c94a7e4ba0cf6b95c4547ddb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac89dc637982bd86c71757c4ec86ddcc0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac89dc637982bd86c71757c4ec86ddcc0">MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO</a>&#160;&#160;&#160;-0x7900</td></tr>
<tr class="separator:ac89dc637982bd86c71757c4ec86ddcc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76613fe3ffc26a89bccd4d5d5e91df56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a76613fe3ffc26a89bccd4d5d5e91df56">MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO</a>&#160;&#160;&#160;-0x7980</td></tr>
<tr class="separator:a76613fe3ffc26a89bccd4d5d5e91df56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99d5367b23365159412220ffd9aad20f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a99d5367b23365159412220ffd9aad20f">MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE</a>&#160;&#160;&#160;-0x7A00</td></tr>
<tr class="separator:a99d5367b23365159412220ffd9aad20f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4864e3750b4f379143952215f0b1adc6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4864e3750b4f379143952215f0b1adc6">MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST</a>&#160;&#160;&#160;-0x7A80</td></tr>
<tr class="separator:a4864e3750b4f379143952215f0b1adc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a732f296f4c1d605983d60bbd7b3b0e37"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a732f296f4c1d605983d60bbd7b3b0e37">MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE</a>&#160;&#160;&#160;-0x7B00</td></tr>
<tr class="separator:a732f296f4c1d605983d60bbd7b3b0e37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa250f843c65ab2aff66e52ab5e667a0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa250f843c65ab2aff66e52ab5e667a0f">MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE</a>&#160;&#160;&#160;-0x7B80</td></tr>
<tr class="separator:aa250f843c65ab2aff66e52ab5e667a0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de57eeca7485d08d11f5f384a7bf17c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8de57eeca7485d08d11f5f384a7bf17c">MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE</a>&#160;&#160;&#160;-0x7C00</td></tr>
<tr class="separator:a8de57eeca7485d08d11f5f384a7bf17c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0038d1d08de609a963b595f423d13841"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0038d1d08de609a963b595f423d13841">MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP</a>&#160;&#160;&#160;-0x7C80</td></tr>
<tr class="separator:a0038d1d08de609a963b595f423d13841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5c8a932814077d04bc22ed51fbddf6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af5c8a932814077d04bc22ed51fbddf6a">MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS</a>&#160;&#160;&#160;-0x7D00</td></tr>
<tr class="separator:af5c8a932814077d04bc22ed51fbddf6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa420bf6b4652f53f178900f42f6e5b10"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa420bf6b4652f53f178900f42f6e5b10">MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY</a>&#160;&#160;&#160;-0x7D80</td></tr>
<tr class="separator:aa420bf6b4652f53f178900f42f6e5b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad314b558c98da450853468f71895d615"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad314b558c98da450853468f71895d615">MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC</a>&#160;&#160;&#160;-0x7E00</td></tr>
<tr class="separator:ad314b558c98da450853468f71895d615"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30610cf8e029daa83e34ff4ba572002a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a30610cf8e029daa83e34ff4ba572002a">MBEDTLS_ERR_SSL_BAD_HS_FINISHED</a>&#160;&#160;&#160;-0x7E80</td></tr>
<tr class="separator:a30610cf8e029daa83e34ff4ba572002a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a701ee611f7a16a261b306466c8602177"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a701ee611f7a16a261b306466c8602177">MBEDTLS_ERR_SSL_ALLOC_FAILED</a>&#160;&#160;&#160;-0x7F00</td></tr>
<tr class="separator:a701ee611f7a16a261b306466c8602177"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef773c241760a00e92c239a917e4868e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aef773c241760a00e92c239a917e4868e">MBEDTLS_ERR_SSL_HW_ACCEL_FAILED</a>&#160;&#160;&#160;-0x7F80</td></tr>
<tr class="separator:aef773c241760a00e92c239a917e4868e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9328fb82f9548f4fa6bf3a5e1254c65"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af9328fb82f9548f4fa6bf3a5e1254c65">MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH</a>&#160;&#160;&#160;-0x6F80</td></tr>
<tr class="separator:af9328fb82f9548f4fa6bf3a5e1254c65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a241d50351ffe9edeef80469a99592510"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a241d50351ffe9edeef80469a99592510">MBEDTLS_ERR_SSL_COMPRESSION_FAILED</a>&#160;&#160;&#160;-0x6F00</td></tr>
<tr class="separator:a241d50351ffe9edeef80469a99592510"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8285bd18c5cbf25d9a9b6780f335081"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae8285bd18c5cbf25d9a9b6780f335081">MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION</a>&#160;&#160;&#160;-0x6E80</td></tr>
<tr class="separator:ae8285bd18c5cbf25d9a9b6780f335081"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c64e204bc17d7ede8c0ef6b271d647d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5c64e204bc17d7ede8c0ef6b271d647d">MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET</a>&#160;&#160;&#160;-0x6E00</td></tr>
<tr class="separator:a5c64e204bc17d7ede8c0ef6b271d647d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b1558e0b749f8b5f856d73d8b9869e9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8b1558e0b749f8b5f856d73d8b9869e9">MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED</a>&#160;&#160;&#160;-0x6D80</td></tr>
<tr class="separator:a8b1558e0b749f8b5f856d73d8b9869e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfee5259b88126fa1f8fc5437a089f57"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acfee5259b88126fa1f8fc5437a089f57">MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH</a>&#160;&#160;&#160;-0x6D00</td></tr>
<tr class="separator:acfee5259b88126fa1f8fc5437a089f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf3630ee46adcea979db9519225d0519"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#adf3630ee46adcea979db9519225d0519">MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY</a>&#160;&#160;&#160;-0x6C80</td></tr>
<tr class="separator:adf3630ee46adcea979db9519225d0519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af06cd02b5bcd36592925c2f63d80f43f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af06cd02b5bcd36592925c2f63d80f43f">MBEDTLS_ERR_SSL_INTERNAL_ERROR</a>&#160;&#160;&#160;-0x6C00</td></tr>
<tr class="separator:af06cd02b5bcd36592925c2f63d80f43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8cfe8ffb3e7448e6097a7601b349ac5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae8cfe8ffb3e7448e6097a7601b349ac5">MBEDTLS_ERR_SSL_COUNTER_WRAPPING</a>&#160;&#160;&#160;-0x6B80</td></tr>
<tr class="separator:ae8cfe8ffb3e7448e6097a7601b349ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbadeb512c769067a5dbe1de97a85ad5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#adbadeb512c769067a5dbe1de97a85ad5">MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO</a>&#160;&#160;&#160;-0x6B00</td></tr>
<tr class="separator:adbadeb512c769067a5dbe1de97a85ad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18d6936a834082004d1b1d16fe0007a2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a18d6936a834082004d1b1d16fe0007a2">MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED</a>&#160;&#160;&#160;-0x6A80</td></tr>
<tr class="separator:a18d6936a834082004d1b1d16fe0007a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7215c366f66035c9b5a60918168e950"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad7215c366f66035c9b5a60918168e950">MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL</a>&#160;&#160;&#160;-0x6A00</td></tr>
<tr class="separator:ad7215c366f66035c9b5a60918168e950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50fc11595bf8ff0c2a39afe627623aae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a50fc11595bf8ff0c2a39afe627623aae">MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE</a>&#160;&#160;&#160;-0x6980</td></tr>
<tr class="separator:a50fc11595bf8ff0c2a39afe627623aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67a1e093cf042831aa60bb567915b560"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a67a1e093cf042831aa60bb567915b560">MBEDTLS_ERR_SSL_WANT_READ</a>&#160;&#160;&#160;-0x6900</td></tr>
<tr class="separator:a67a1e093cf042831aa60bb567915b560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a674bde213fbbf602e04bbc131dd2dc33"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a674bde213fbbf602e04bbc131dd2dc33">MBEDTLS_ERR_SSL_WANT_WRITE</a>&#160;&#160;&#160;-0x6880</td></tr>
<tr class="separator:a674bde213fbbf602e04bbc131dd2dc33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fdb240812860402a1a946eae8264148"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2fdb240812860402a1a946eae8264148">MBEDTLS_ERR_SSL_TIMEOUT</a>&#160;&#160;&#160;-0x6800</td></tr>
<tr class="separator:a2fdb240812860402a1a946eae8264148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af930aa4014a4b702a00676a6a38bd33d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af930aa4014a4b702a00676a6a38bd33d">MBEDTLS_ERR_SSL_CLIENT_RECONNECT</a>&#160;&#160;&#160;-0x6780</td></tr>
<tr class="separator:af930aa4014a4b702a00676a6a38bd33d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aa1bd782c1b11479ac950627e3c0c9b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7aa1bd782c1b11479ac950627e3c0c9b">MBEDTLS_ERR_SSL_UNEXPECTED_RECORD</a>&#160;&#160;&#160;-0x6700</td></tr>
<tr class="separator:a7aa1bd782c1b11479ac950627e3c0c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15dd6290be1edd19d292ac31f595aaae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a15dd6290be1edd19d292ac31f595aaae">MBEDTLS_ERR_SSL_NON_FATAL</a>&#160;&#160;&#160;-0x6680</td></tr>
<tr class="separator:a15dd6290be1edd19d292ac31f595aaae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a108a7d6b5de1cb99d797e468b12e09e9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a108a7d6b5de1cb99d797e468b12e09e9">MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH</a>&#160;&#160;&#160;-0x6600</td></tr>
<tr class="separator:a108a7d6b5de1cb99d797e468b12e09e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d404d5f3b4c7ebe03da19aa1bf2f23e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9d404d5f3b4c7ebe03da19aa1bf2f23e">MBEDTLS_SSL_MAJOR_VERSION_3</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a9d404d5f3b4c7ebe03da19aa1bf2f23e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f89cb1c3fa78a8c57f683495feff15"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a29f89cb1c3fa78a8c57f683495feff15">MBEDTLS_SSL_MINOR_VERSION_0</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a29f89cb1c3fa78a8c57f683495feff15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a364e4bfbd4f909a2aa7ac5eb31c6b1b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a364e4bfbd4f909a2aa7ac5eb31c6b1b2">MBEDTLS_SSL_MINOR_VERSION_1</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a364e4bfbd4f909a2aa7ac5eb31c6b1b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fe59361b834e334b80efacb10f8e33a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9fe59361b834e334b80efacb10f8e33a">MBEDTLS_SSL_MINOR_VERSION_2</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a9fe59361b834e334b80efacb10f8e33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c5a90b4b4aded2190f31f7d4c670cb4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3c5a90b4b4aded2190f31f7d4c670cb4">MBEDTLS_SSL_MINOR_VERSION_3</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a3c5a90b4b4aded2190f31f7d4c670cb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf690cf4772ff3e2df4b8295275e6fc7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acf690cf4772ff3e2df4b8295275e6fc7">MBEDTLS_SSL_TRANSPORT_STREAM</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:acf690cf4772ff3e2df4b8295275e6fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac00527bc4661e5d7f2df5e7e96a6a896"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac00527bc4661e5d7f2df5e7e96a6a896">MBEDTLS_SSL_TRANSPORT_DATAGRAM</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ac00527bc4661e5d7f2df5e7e96a6a896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef622c5c0303bce83a09cb1a332c611c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aef622c5c0303bce83a09cb1a332c611c">MBEDTLS_SSL_MAX_HOST_NAME_LEN</a>&#160;&#160;&#160;255</td></tr>
<tr class="separator:aef622c5c0303bce83a09cb1a332c611c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a952256aaeb342b5f8cb55fb39891b235"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a952256aaeb342b5f8cb55fb39891b235">MBEDTLS_SSL_MAX_FRAG_LEN_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a952256aaeb342b5f8cb55fb39891b235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a148f83e96299be6220fc3c922cfb58d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a148f83e96299be6220fc3c922cfb58d5">MBEDTLS_SSL_MAX_FRAG_LEN_512</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a148f83e96299be6220fc3c922cfb58d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2d55e32e6514fb146b8681ea914b991"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad2d55e32e6514fb146b8681ea914b991">MBEDTLS_SSL_MAX_FRAG_LEN_1024</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ad2d55e32e6514fb146b8681ea914b991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08a6eb65d87c8d6565f47689d4e80bd3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a08a6eb65d87c8d6565f47689d4e80bd3">MBEDTLS_SSL_MAX_FRAG_LEN_2048</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a08a6eb65d87c8d6565f47689d4e80bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe756e3f577397f4a3328b0e927bb6a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#adfe756e3f577397f4a3328b0e927bb6a">MBEDTLS_SSL_MAX_FRAG_LEN_4096</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:adfe756e3f577397f4a3328b0e927bb6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a256731a4bb52bb1960cc88ec4f350926"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a256731a4bb52bb1960cc88ec4f350926">MBEDTLS_SSL_MAX_FRAG_LEN_INVALID</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:a256731a4bb52bb1960cc88ec4f350926"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2064e7d9ad950b5979d2d6bab6ddc739"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2064e7d9ad950b5979d2d6bab6ddc739">MBEDTLS_SSL_IS_CLIENT</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a2064e7d9ad950b5979d2d6bab6ddc739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb28200b2a66fbc24cdb60e995cf82f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6eb28200b2a66fbc24cdb60e995cf82f">MBEDTLS_SSL_IS_SERVER</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a6eb28200b2a66fbc24cdb60e995cf82f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6423d5331b5c5166a40d5bb1a1ad5fc3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6423d5331b5c5166a40d5bb1a1ad5fc3">MBEDTLS_SSL_IS_NOT_FALLBACK</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a6423d5331b5c5166a40d5bb1a1ad5fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c6466ef0e38b09e9b8476134bedb68d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7c6466ef0e38b09e9b8476134bedb68d">MBEDTLS_SSL_IS_FALLBACK</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a7c6466ef0e38b09e9b8476134bedb68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e3d5af18adf3deece8c6db552044e1f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5e3d5af18adf3deece8c6db552044e1f">MBEDTLS_SSL_EXTENDED_MS_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a5e3d5af18adf3deece8c6db552044e1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f29a4b71919584024896d2c06e2447"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a71f29a4b71919584024896d2c06e2447">MBEDTLS_SSL_EXTENDED_MS_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a71f29a4b71919584024896d2c06e2447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab96eb32c8181525f2d508a0d2feead01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab96eb32c8181525f2d508a0d2feead01">MBEDTLS_SSL_ETM_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ab96eb32c8181525f2d508a0d2feead01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab46e22481503a76e5437e71be3c45f2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab46e22481503a76e5437e71be3c45f2d">MBEDTLS_SSL_ETM_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ab46e22481503a76e5437e71be3c45f2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a676d13d335535176e2e75e4eee98833c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a676d13d335535176e2e75e4eee98833c">MBEDTLS_SSL_COMPRESS_NULL</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a676d13d335535176e2e75e4eee98833c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf3d629fb7b9263db5c3cfbe6a2b6089"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abf3d629fb7b9263db5c3cfbe6a2b6089">MBEDTLS_SSL_COMPRESS_DEFLATE</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:abf3d629fb7b9263db5c3cfbe6a2b6089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1976b5c76af7b8b8f76c6f302828b387"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1976b5c76af7b8b8f76c6f302828b387">MBEDTLS_SSL_VERIFY_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a1976b5c76af7b8b8f76c6f302828b387"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a781032826cba362cda1c9201490d6f62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a781032826cba362cda1c9201490d6f62">MBEDTLS_SSL_VERIFY_OPTIONAL</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a781032826cba362cda1c9201490d6f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc9ad7a06d7c65260e815a3187a5fb37"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acc9ad7a06d7c65260e815a3187a5fb37">MBEDTLS_SSL_VERIFY_REQUIRED</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:acc9ad7a06d7c65260e815a3187a5fb37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedae08b9b939f56fd64763aa6df026ce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aedae08b9b939f56fd64763aa6df026ce">MBEDTLS_SSL_VERIFY_UNSET</a>&#160;&#160;&#160;3 /* Used only for sni_authmode */</td></tr>
<tr class="separator:aedae08b9b939f56fd64763aa6df026ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700877ec0d00170fa21b419f23dff7da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a700877ec0d00170fa21b419f23dff7da">MBEDTLS_SSL_LEGACY_RENEGOTIATION</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a700877ec0d00170fa21b419f23dff7da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fe0060cf903cffeb0da1f92abdfb2c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8fe0060cf903cffeb0da1f92abdfb2c3">MBEDTLS_SSL_SECURE_RENEGOTIATION</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a8fe0060cf903cffeb0da1f92abdfb2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2906fd989d6140e2e44156f3f4de539"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab2906fd989d6140e2e44156f3f4de539">MBEDTLS_SSL_RENEGOTIATION_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ab2906fd989d6140e2e44156f3f4de539"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c3d531d6f50c391c906fee2644d74e8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2c3d531d6f50c391c906fee2644d74e8">MBEDTLS_SSL_RENEGOTIATION_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a2c3d531d6f50c391c906fee2644d74e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a285e6b3a4779aca09553176120900001"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a285e6b3a4779aca09553176120900001">MBEDTLS_SSL_ANTI_REPLAY_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a285e6b3a4779aca09553176120900001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34dc22ba8832d5a5d72bb4e5d01ed0d9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a34dc22ba8832d5a5d72bb4e5d01ed0d9">MBEDTLS_SSL_ANTI_REPLAY_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a34dc22ba8832d5a5d72bb4e5d01ed0d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2de1929e7819ed07965e08469ae7201f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2de1929e7819ed07965e08469ae7201f">MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED</a>&#160;&#160;&#160;-1</td></tr>
<tr class="separator:a2de1929e7819ed07965e08469ae7201f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1b45662f14bb9dedf1a477ba6956123"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af1b45662f14bb9dedf1a477ba6956123">MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:af1b45662f14bb9dedf1a477ba6956123"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ce0943627aaacccb0df01c23075232e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8ce0943627aaacccb0df01c23075232e">MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a8ce0943627aaacccb0df01c23075232e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdc84b7b79f91d4e0628f6d20875d7ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acdc84b7b79f91d4e0628f6d20875d7ca">MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:acdc84b7b79f91d4e0628f6d20875d7ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c6431df5730ce2690f3f9af1979676b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0c6431df5730ce2690f3f9af1979676b">MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a0c6431df5730ce2690f3f9af1979676b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e4abda89afa299baa930e33891b00b9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5e4abda89afa299baa930e33891b00b9">MBEDTLS_SSL_TRUNC_HMAC_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a5e4abda89afa299baa930e33891b00b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa70647c55d669facfe3364e5d604e7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0fa70647c55d669facfe3364e5d604e7">MBEDTLS_SSL_TRUNC_HMAC_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a0fa70647c55d669facfe3364e5d604e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a299866ebaa08c8b37ece3c652dfb8082"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a299866ebaa08c8b37ece3c652dfb8082">MBEDTLS_SSL_TRUNCATED_HMAC_LEN</a>&#160;&#160;&#160;10  /* 80 bits, rfc 6066 section 7 */</td></tr>
<tr class="separator:a299866ebaa08c8b37ece3c652dfb8082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84702526473717a1c38f14fdbbe9967a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a84702526473717a1c38f14fdbbe9967a">MBEDTLS_SSL_SESSION_TICKETS_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a84702526473717a1c38f14fdbbe9967a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6575b4025d4f6586a36e639b78672d7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6575b4025d4f6586a36e639b78672d7c">MBEDTLS_SSL_SESSION_TICKETS_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a6575b4025d4f6586a36e639b78672d7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65fd4c9379172843ae37b729704ea1a0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a65fd4c9379172843ae37b729704ea1a0">MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a65fd4c9379172843ae37b729704ea1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab54bc287ba680cb40c20536754935873"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab54bc287ba680cb40c20536754935873">MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ab54bc287ba680cb40c20536754935873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac175ac195de05e1f900bdeebfa82de5f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac175ac195de05e1f900bdeebfa82de5f">MBEDTLS_SSL_ARC4_ENABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ac175ac195de05e1f900bdeebfa82de5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a181720b27ed0ccdbb6d9be96326ddf37"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a181720b27ed0ccdbb6d9be96326ddf37">MBEDTLS_SSL_ARC4_DISABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a181720b27ed0ccdbb6d9be96326ddf37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb44a7bdf71d0a1472db0c70596599cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afb44a7bdf71d0a1472db0c70596599cb">MBEDTLS_SSL_PRESET_DEFAULT</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:afb44a7bdf71d0a1472db0c70596599cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89fceac26c7341fe2e64cb4dd8ecd9f0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a89fceac26c7341fe2e64cb4dd8ecd9f0">MBEDTLS_SSL_PRESET_SUITEB</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a89fceac26c7341fe2e64cb4dd8ecd9f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae117ccb725d2a67af4472db2bc14a49f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae117ccb725d2a67af4472db2bc14a49f">MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ae117ccb725d2a67af4472db2bc14a49f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25618afeff372f69c156cf00bb2b87b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a25618afeff372f69c156cf00bb2b87b7">MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a25618afeff372f69c156cf00bb2b87b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50d609cafdb26f3d93ee79a233d13b24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a50d609cafdb26f3d93ee79a233d13b24">MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN</a>&#160;&#160;&#160;1000</td></tr>
<tr class="separator:a50d609cafdb26f3d93ee79a233d13b24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8876bbe6b4d64163299aa99c0977abe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad8876bbe6b4d64163299aa99c0977abe">MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX</a>&#160;&#160;&#160;60000</td></tr>
<tr class="separator:ad8876bbe6b4d64163299aa99c0977abe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bb4393075100dbfbb37008fb81c6d29"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7bb4393075100dbfbb37008fb81c6d29">MBEDTLS_SSL_VERIFY_DATA_MAX_LEN</a>&#160;&#160;&#160;12</td></tr>
<tr class="separator:a7bb4393075100dbfbb37008fb81c6d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcfcbbd2bb1a0d4c2a9589f371fd6b83"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#adcfcbbd2bb1a0d4c2a9589f371fd6b83">MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO</a>&#160;&#160;&#160;0xFF</td></tr>
<tr class="separator:adcfcbbd2bb1a0d4c2a9589f371fd6b83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada038aaa998abef6412308eef7ae6ada"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ada038aaa998abef6412308eef7ae6ada">MBEDTLS_SSL_FALLBACK_SCSV_VALUE</a>&#160;&#160;&#160;0x5600</td></tr>
<tr class="separator:ada038aaa998abef6412308eef7ae6ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f42b17b50c1f2f83b6537e4db62548e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3f42b17b50c1f2f83b6537e4db62548e">MBEDTLS_SSL_HASH_NONE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a3f42b17b50c1f2f83b6537e4db62548e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a2d68114d36533bfe4005e9727033ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7a2d68114d36533bfe4005e9727033ff">MBEDTLS_SSL_HASH_MD5</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a7a2d68114d36533bfe4005e9727033ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b431c6897abb19d96c60e2642d66a39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2b431c6897abb19d96c60e2642d66a39">MBEDTLS_SSL_HASH_SHA1</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a2b431c6897abb19d96c60e2642d66a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bfe188244e611233538b888cb74a3b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5bfe188244e611233538b888cb74a3b7">MBEDTLS_SSL_HASH_SHA224</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a5bfe188244e611233538b888cb74a3b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a674cc54218acc7ea986608cc567040f3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a674cc54218acc7ea986608cc567040f3">MBEDTLS_SSL_HASH_SHA256</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a674cc54218acc7ea986608cc567040f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba929ac98d93a0e9248777e4a8688728"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aba929ac98d93a0e9248777e4a8688728">MBEDTLS_SSL_HASH_SHA384</a>&#160;&#160;&#160;5</td></tr>
<tr class="separator:aba929ac98d93a0e9248777e4a8688728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecf70f5833670a2ac5821b57006aca16"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aecf70f5833670a2ac5821b57006aca16">MBEDTLS_SSL_HASH_SHA512</a>&#160;&#160;&#160;6</td></tr>
<tr class="separator:aecf70f5833670a2ac5821b57006aca16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4da5bf751b2f10ce5cc889ecc65b9a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac4da5bf751b2f10ce5cc889ecc65b9a1">MBEDTLS_SSL_SIG_ANON</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:ac4da5bf751b2f10ce5cc889ecc65b9a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ad0ae8214df337efb1bde3eb83673f1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2ad0ae8214df337efb1bde3eb83673f1">MBEDTLS_SSL_SIG_RSA</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a2ad0ae8214df337efb1bde3eb83673f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa87b5d7f48bfdd4eb2d936b138ddead3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa87b5d7f48bfdd4eb2d936b138ddead3">MBEDTLS_SSL_SIG_ECDSA</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:aa87b5d7f48bfdd4eb2d936b138ddead3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb389513e320bc337fa4a8fb75eb5f24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abb389513e320bc337fa4a8fb75eb5f24">MBEDTLS_SSL_CERT_TYPE_RSA_SIGN</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:abb389513e320bc337fa4a8fb75eb5f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dd842a86575ae2c2c6173379f4ce7c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5dd842a86575ae2c2c6173379f4ce7c1">MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN</a>&#160;&#160;&#160;64</td></tr>
<tr class="separator:a5dd842a86575ae2c2c6173379f4ce7c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80034e4bb6039b0fe59643ef73158685"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a80034e4bb6039b0fe59643ef73158685">MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC</a>&#160;&#160;&#160;20</td></tr>
<tr class="separator:a80034e4bb6039b0fe59643ef73158685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e7b8865c215ffd865b665e615cf2543"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8e7b8865c215ffd865b665e615cf2543">MBEDTLS_SSL_MSG_ALERT</a>&#160;&#160;&#160;21</td></tr>
<tr class="separator:a8e7b8865c215ffd865b665e615cf2543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9d460925507c3eb3c16afb4e479c4e6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af9d460925507c3eb3c16afb4e479c4e6">MBEDTLS_SSL_MSG_HANDSHAKE</a>&#160;&#160;&#160;22</td></tr>
<tr class="separator:af9d460925507c3eb3c16afb4e479c4e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46568720d8bc2adb85639b43661e165d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a46568720d8bc2adb85639b43661e165d">MBEDTLS_SSL_MSG_APPLICATION_DATA</a>&#160;&#160;&#160;23</td></tr>
<tr class="separator:a46568720d8bc2adb85639b43661e165d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23ca8f8544f9713e67abcb8ef55948bd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a23ca8f8544f9713e67abcb8ef55948bd">MBEDTLS_SSL_ALERT_LEVEL_WARNING</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a23ca8f8544f9713e67abcb8ef55948bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ad70eb6a9bae37818e795724675fbfb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8ad70eb6a9bae37818e795724675fbfb">MBEDTLS_SSL_ALERT_LEVEL_FATAL</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a8ad70eb6a9bae37818e795724675fbfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4472901cb8f53faa48101c42b48e44de"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4472901cb8f53faa48101c42b48e44de">MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY</a>&#160;&#160;&#160;0  /* 0x00 */</td></tr>
<tr class="separator:a4472901cb8f53faa48101c42b48e44de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab17a92a7d0512a71310b8a4841a64442"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab17a92a7d0512a71310b8a4841a64442">MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE</a>&#160;&#160;&#160;10  /* 0x0A */</td></tr>
<tr class="separator:ab17a92a7d0512a71310b8a4841a64442"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0864fcf3359ee66e3959f5efb4c0505f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0864fcf3359ee66e3959f5efb4c0505f">MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC</a>&#160;&#160;&#160;20  /* 0x14 */</td></tr>
<tr class="separator:a0864fcf3359ee66e3959f5efb4c0505f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4820ff3e880f3d96021c2aecde7c2887"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4820ff3e880f3d96021c2aecde7c2887">MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED</a>&#160;&#160;&#160;21  /* 0x15 */</td></tr>
<tr class="separator:a4820ff3e880f3d96021c2aecde7c2887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64774f767d912002125bee0ac3db1f5c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a64774f767d912002125bee0ac3db1f5c">MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW</a>&#160;&#160;&#160;22  /* 0x16 */</td></tr>
<tr class="separator:a64774f767d912002125bee0ac3db1f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c54745afbef4c6aa6174f5f25ffd476"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1c54745afbef4c6aa6174f5f25ffd476">MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE</a>&#160;&#160;&#160;30  /* 0x1E */</td></tr>
<tr class="separator:a1c54745afbef4c6aa6174f5f25ffd476"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a107264f1597432c595db416d1b9a0985"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a107264f1597432c595db416d1b9a0985">MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE</a>&#160;&#160;&#160;40  /* 0x28 */</td></tr>
<tr class="separator:a107264f1597432c595db416d1b9a0985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a722ddc936f841b4eb603fc5a39e88bbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a722ddc936f841b4eb603fc5a39e88bbe">MBEDTLS_SSL_ALERT_MSG_NO_CERT</a>&#160;&#160;&#160;41  /* 0x29 */</td></tr>
<tr class="separator:a722ddc936f841b4eb603fc5a39e88bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6412b21ed10bc53eff53050f36d8ebe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae6412b21ed10bc53eff53050f36d8ebe">MBEDTLS_SSL_ALERT_MSG_BAD_CERT</a>&#160;&#160;&#160;42  /* 0x2A */</td></tr>
<tr class="separator:ae6412b21ed10bc53eff53050f36d8ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11b1fb765e3a67f5c51478f0ac60aea5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a11b1fb765e3a67f5c51478f0ac60aea5">MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT</a>&#160;&#160;&#160;43  /* 0x2B */</td></tr>
<tr class="separator:a11b1fb765e3a67f5c51478f0ac60aea5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1463d5ac5ecdb318b8476e8626ae4ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac1463d5ac5ecdb318b8476e8626ae4ae">MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED</a>&#160;&#160;&#160;44  /* 0x2C */</td></tr>
<tr class="separator:ac1463d5ac5ecdb318b8476e8626ae4ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9e718b111b0d5feef358042e3b8056"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1f9e718b111b0d5feef358042e3b8056">MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED</a>&#160;&#160;&#160;45  /* 0x2D */</td></tr>
<tr class="separator:a1f9e718b111b0d5feef358042e3b8056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae60bd9af40ced069f670559a8ce79b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0ae60bd9af40ced069f670559a8ce79b">MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN</a>&#160;&#160;&#160;46  /* 0x2E */</td></tr>
<tr class="separator:a0ae60bd9af40ced069f670559a8ce79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a547c792d9f5ab56adc98af556b8e7cb3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a547c792d9f5ab56adc98af556b8e7cb3">MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER</a>&#160;&#160;&#160;47  /* 0x2F */</td></tr>
<tr class="separator:a547c792d9f5ab56adc98af556b8e7cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70c944ab8ac62a1a4657ba0e1460a9fd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a70c944ab8ac62a1a4657ba0e1460a9fd">MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA</a>&#160;&#160;&#160;48  /* 0x30 */</td></tr>
<tr class="separator:a70c944ab8ac62a1a4657ba0e1460a9fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd89a8eae2cbfbd2263bdcfa8248c285"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#acd89a8eae2cbfbd2263bdcfa8248c285">MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED</a>&#160;&#160;&#160;49  /* 0x31 */</td></tr>
<tr class="separator:acd89a8eae2cbfbd2263bdcfa8248c285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e78bc53317a0dc97c85b0670d3ec47a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4e78bc53317a0dc97c85b0670d3ec47a">MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR</a>&#160;&#160;&#160;50  /* 0x32 */</td></tr>
<tr class="separator:a4e78bc53317a0dc97c85b0670d3ec47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7656ca08ca9231d9b5a1d96657f2ed4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af7656ca08ca9231d9b5a1d96657f2ed4">MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR</a>&#160;&#160;&#160;51  /* 0x33 */</td></tr>
<tr class="separator:af7656ca08ca9231d9b5a1d96657f2ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ead35e5ec582fde31ff2719a429b496"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0ead35e5ec582fde31ff2719a429b496">MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION</a>&#160;&#160;&#160;60  /* 0x3C */</td></tr>
<tr class="separator:a0ead35e5ec582fde31ff2719a429b496"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2436b79c76bb7c9a64a19324938fe7f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2436b79c76bb7c9a64a19324938fe7f6">MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION</a>&#160;&#160;&#160;70  /* 0x46 */</td></tr>
<tr class="separator:a2436b79c76bb7c9a64a19324938fe7f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60f137fca04f01dddc6cc415e6a102d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a60f137fca04f01dddc6cc415e6a102d0">MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY</a>&#160;&#160;&#160;71  /* 0x47 */</td></tr>
<tr class="separator:a60f137fca04f01dddc6cc415e6a102d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a925ce2353fafc7b9b67f819de57fd828"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a925ce2353fafc7b9b67f819de57fd828">MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR</a>&#160;&#160;&#160;80  /* 0x50 */</td></tr>
<tr class="separator:a925ce2353fafc7b9b67f819de57fd828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a721eedb9c97af415079190c133c8085e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a721eedb9c97af415079190c133c8085e">MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK</a>&#160;&#160;&#160;86  /* 0x56 */</td></tr>
<tr class="separator:a721eedb9c97af415079190c133c8085e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0f3fcb8c4a447b421ab37200ab021de"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae0f3fcb8c4a447b421ab37200ab021de">MBEDTLS_SSL_ALERT_MSG_USER_CANCELED</a>&#160;&#160;&#160;90  /* 0x5A */</td></tr>
<tr class="separator:ae0f3fcb8c4a447b421ab37200ab021de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a919ba6ac88766715bd23402c8d5de2c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a919ba6ac88766715bd23402c8d5de2c3">MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION</a>&#160;&#160;&#160;100  /* 0x64 */</td></tr>
<tr class="separator:a919ba6ac88766715bd23402c8d5de2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d6786a28a09997887960bbf49f237c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9d6786a28a09997887960bbf49f237c6">MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT</a>&#160;&#160;&#160;110  /* 0x6E */</td></tr>
<tr class="separator:a9d6786a28a09997887960bbf49f237c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5003b563ba0fe6a695504fa56dc13c42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5003b563ba0fe6a695504fa56dc13c42">MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME</a>&#160;&#160;&#160;112  /* 0x70 */</td></tr>
<tr class="separator:a5003b563ba0fe6a695504fa56dc13c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f5fe3554740f9d2d28b8b5265667a97"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2f5fe3554740f9d2d28b8b5265667a97">MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY</a>&#160;&#160;&#160;115  /* 0x73 */</td></tr>
<tr class="separator:a2f5fe3554740f9d2d28b8b5265667a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab595e62e10ccc2879c5a3fc6f90789af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab595e62e10ccc2879c5a3fc6f90789af">MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL</a>&#160;&#160;&#160;120 /* 0x78 */</td></tr>
<tr class="separator:ab595e62e10ccc2879c5a3fc6f90789af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a706ff16a6c43733a7da65246859fc830"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a706ff16a6c43733a7da65246859fc830">MBEDTLS_SSL_HS_HELLO_REQUEST</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a706ff16a6c43733a7da65246859fc830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae768902fb94d3388219bf10f07a878ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae768902fb94d3388219bf10f07a878ff">MBEDTLS_SSL_HS_CLIENT_HELLO</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ae768902fb94d3388219bf10f07a878ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae64b6d9cb5a4c3f089f7239813e3908f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae64b6d9cb5a4c3f089f7239813e3908f">MBEDTLS_SSL_HS_SERVER_HELLO</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ae64b6d9cb5a4c3f089f7239813e3908f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5f7ae374a1f79b8b6f5c2d698575757"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac5f7ae374a1f79b8b6f5c2d698575757">MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:ac5f7ae374a1f79b8b6f5c2d698575757"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6a45148b438c8269afa04e972db48ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa6a45148b438c8269afa04e972db48ff">MBEDTLS_SSL_HS_NEW_SESSION_TICKET</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:aa6a45148b438c8269afa04e972db48ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27392833c81be2caee387ac7b619c52"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa27392833c81be2caee387ac7b619c52">MBEDTLS_SSL_HS_CERTIFICATE</a>&#160;&#160;&#160;11</td></tr>
<tr class="separator:aa27392833c81be2caee387ac7b619c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7241ce99f979d7dff0a2b2217bfad4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8d7241ce99f979d7dff0a2b2217bfad4">MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE</a>&#160;&#160;&#160;12</td></tr>
<tr class="separator:a8d7241ce99f979d7dff0a2b2217bfad4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed6cdea239c61bc37f2b8bbf68d2df28"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aed6cdea239c61bc37f2b8bbf68d2df28">MBEDTLS_SSL_HS_CERTIFICATE_REQUEST</a>&#160;&#160;&#160;13</td></tr>
<tr class="separator:aed6cdea239c61bc37f2b8bbf68d2df28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f56b4e3a2aad3bd2872b9894b33adfd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4f56b4e3a2aad3bd2872b9894b33adfd">MBEDTLS_SSL_HS_SERVER_HELLO_DONE</a>&#160;&#160;&#160;14</td></tr>
<tr class="separator:a4f56b4e3a2aad3bd2872b9894b33adfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae66986e57bfa975d82d6a445178ee9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aae66986e57bfa975d82d6a445178ee9a">MBEDTLS_SSL_HS_CERTIFICATE_VERIFY</a>&#160;&#160;&#160;15</td></tr>
<tr class="separator:aae66986e57bfa975d82d6a445178ee9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a068dedb465afb5170cffaab265f082e4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a068dedb465afb5170cffaab265f082e4">MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:a068dedb465afb5170cffaab265f082e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a08488cd4c6e2f8ec9e800779cc9e2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6a08488cd4c6e2f8ec9e800779cc9e2d">MBEDTLS_SSL_HS_FINISHED</a>&#160;&#160;&#160;20</td></tr>
<tr class="separator:a6a08488cd4c6e2f8ec9e800779cc9e2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a942dee25d2dee550625b17f9d1a3a256"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a942dee25d2dee550625b17f9d1a3a256">MBEDTLS_TLS_EXT_SERVERNAME</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a942dee25d2dee550625b17f9d1a3a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d7028236245fee182f6243497b0398c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5d7028236245fee182f6243497b0398c">MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a5d7028236245fee182f6243497b0398c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f3ec6c787cf368ad28f19c78821179"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a29f3ec6c787cf368ad28f19c78821179">MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a29f3ec6c787cf368ad28f19c78821179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe71b85be37d12a7cfc9c0236c4d0bcf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afe71b85be37d12a7cfc9c0236c4d0bcf">MBEDTLS_TLS_EXT_TRUNCATED_HMAC</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:afe71b85be37d12a7cfc9c0236c4d0bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affdee4d954541f35389c538c56a4a187"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#affdee4d954541f35389c538c56a4a187">MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES</a>&#160;&#160;&#160;10</td></tr>
<tr class="separator:affdee4d954541f35389c538c56a4a187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0b55c07d3c7a93799a6e7438b8feb09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac0b55c07d3c7a93799a6e7438b8feb09">MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS</a>&#160;&#160;&#160;11</td></tr>
<tr class="separator:ac0b55c07d3c7a93799a6e7438b8feb09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a633e991fcfa7e1121df9edc61901b62a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a633e991fcfa7e1121df9edc61901b62a">MBEDTLS_TLS_EXT_SIG_ALG</a>&#160;&#160;&#160;13</td></tr>
<tr class="separator:a633e991fcfa7e1121df9edc61901b62a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56245d7f7abff26b28609d798bf75716"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a56245d7f7abff26b28609d798bf75716">MBEDTLS_TLS_EXT_ALPN</a>&#160;&#160;&#160;16</td></tr>
<tr class="separator:a56245d7f7abff26b28609d798bf75716"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37fefdb5c274c60b7e9752d22faf6ceb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a37fefdb5c274c60b7e9752d22faf6ceb">MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC</a>&#160;&#160;&#160;22 /* 0x16 */</td></tr>
<tr class="separator:a37fefdb5c274c60b7e9752d22faf6ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c0c6cc7f890739240584b50fdd637ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7c0c6cc7f890739240584b50fdd637ca">MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET</a>&#160;&#160;&#160;0x0017 /* 23 */</td></tr>
<tr class="separator:a7c0c6cc7f890739240584b50fdd637ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a800c6b6b24b265e7dc48992a8614fc91"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a800c6b6b24b265e7dc48992a8614fc91">MBEDTLS_TLS_EXT_SESSION_TICKET</a>&#160;&#160;&#160;35</td></tr>
<tr class="separator:a800c6b6b24b265e7dc48992a8614fc91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53429efaa97d62c94ec2cbd259e7fc58"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a53429efaa97d62c94ec2cbd259e7fc58">MBEDTLS_TLS_EXT_ECJPAKE_KKPP</a>&#160;&#160;&#160;256 /* experimental */</td></tr>
<tr class="separator:a53429efaa97d62c94ec2cbd259e7fc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57fb40ff7186bfa2512104fa793435aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a57fb40ff7186bfa2512104fa793435aa">MBEDTLS_TLS_EXT_RENEGOTIATION_INFO</a>&#160;&#160;&#160;0xFF01</td></tr>
<tr class="separator:a57fb40ff7186bfa2512104fa793435aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a084cb30b175a3d44b33e625cd56aab6e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a084cb30b175a3d44b33e625cd56aab6e">MBEDTLS_PSK_MAX_LEN</a>&#160;&#160;&#160;32 /* 256 bits */</td></tr>
<tr class="separator:a084cb30b175a3d44b33e625cd56aab6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad842f7de937285905b38ec3d5b5be387"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad842f7de937285905b38ec3d5b5be387">MBEDTLS_PREMASTER_SIZE</a>&#160;&#160;&#160;sizeof( union <a class="el" href="unionmbedtls__ssl__premaster__secret.html">mbedtls_ssl_premaster_secret</a> )</td></tr>
<tr class="separator:ad842f7de937285905b38ec3d5b5be387"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f53b232ef244efb301233d111930dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a></td></tr>
<tr class="separator:aa9f53b232ef244efb301233d111930dc"><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. 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:a893bf99106ecae0f9d9c0de2b02da6aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a893bf99106ecae0f9d9c0de2b02da6aa">MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME</a>&#160;&#160;&#160;86400</td></tr>
<tr class="separator:a893bf99106ecae0f9d9c0de2b02da6aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a5b73bae4d762a05684812ad6c6b1b2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4a5b73bae4d762a05684812ad6c6b1b2">MBEDTLS_SSL_MAX_CONTENT_LEN</a>&#160;&#160;&#160;16384</td></tr>
<tr class="separator:a4a5b73bae4d762a05684812ad6c6b1b2"><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:a38e2b400d361f42f85833cdc30b3916e"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a38e2b400d361f42f85833cdc30b3916e">mbedtls_ssl_send_t</a>(void *ctx, const unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:a38e2b400d361f42f85833cdc30b3916e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: send data on the network.  <a href="#a38e2b400d361f42f85833cdc30b3916e">More...</a><br /></td></tr>
<tr class="separator:a38e2b400d361f42f85833cdc30b3916e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac06b19b96b643090c55f19b6c28b10c4"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac06b19b96b643090c55f19b6c28b10c4">mbedtls_ssl_recv_t</a>(void *ctx, unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:ac06b19b96b643090c55f19b6c28b10c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: receive data from the network.  <a href="#ac06b19b96b643090c55f19b6c28b10c4">More...</a><br /></td></tr>
<tr class="separator:ac06b19b96b643090c55f19b6c28b10c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d615ca95c8a67d7c5f9d7d256dc09e6"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6d615ca95c8a67d7c5f9d7d256dc09e6">mbedtls_ssl_recv_timeout_t</a>(void *ctx, unsigned char *buf, size_t len, uint32_t timeout)</td></tr>
<tr class="memdesc:a6d615ca95c8a67d7c5f9d7d256dc09e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: receive data from the network, with timeout.  <a href="#a6d615ca95c8a67d7c5f9d7d256dc09e6">More...</a><br /></td></tr>
<tr class="separator:a6d615ca95c8a67d7c5f9d7d256dc09e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61c5d9ed63c50ee809eec98820d3f36c"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a61c5d9ed63c50ee809eec98820d3f36c">mbedtls_ssl_set_timer_t</a>(void *ctx, uint32_t int_ms, uint32_t fin_ms)</td></tr>
<tr class="memdesc:a61c5d9ed63c50ee809eec98820d3f36c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: set a pair of timers/delays to watch.  <a href="#a61c5d9ed63c50ee809eec98820d3f36c">More...</a><br /></td></tr>
<tr class="separator:a61c5d9ed63c50ee809eec98820d3f36c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adea005600b532d788c05e9d01b42895b"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#adea005600b532d788c05e9d01b42895b">mbedtls_ssl_get_timer_t</a>(void *ctx)</td></tr>
<tr class="memdesc:adea005600b532d788c05e9d01b42895b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: get status of timers/delays.  <a href="#adea005600b532d788c05e9d01b42895b">More...</a><br /></td></tr>
<tr class="separator:adea005600b532d788c05e9d01b42895b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a2ac45d548df527404c929bdce76ea6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3a2ac45d548df527404c929bdce76ea6">mbedtls_ssl_session</a></td></tr>
<tr class="separator:a3a2ac45d548df527404c929bdce76ea6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a225b5187c17ee65d13a14450bf228068"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a225b5187c17ee65d13a14450bf228068">mbedtls_ssl_context</a></td></tr>
<tr class="separator:a225b5187c17ee65d13a14450bf228068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc3ee8174ecf267f5ff42b278376a2fd"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afc3ee8174ecf267f5ff42b278376a2fd">mbedtls_ssl_config</a></td></tr>
<tr class="separator:afc3ee8174ecf267f5ff42b278376a2fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a265603a8d5d7e22cbe95c9a7588395f6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ssl_8h.html#a265603a8d5d7e22cbe95c9a7588395f6">mbedtls_ssl_transform</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a265603a8d5d7e22cbe95c9a7588395f6">mbedtls_ssl_transform</a></td></tr>
<tr class="separator:a265603a8d5d7e22cbe95c9a7588395f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c13e913e3b1de510e5d12c1b0ae9358"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ssl_8h.html#a5c13e913e3b1de510e5d12c1b0ae9358">mbedtls_ssl_handshake_params</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5c13e913e3b1de510e5d12c1b0ae9358">mbedtls_ssl_handshake_params</a></td></tr>
<tr class="separator:a5c13e913e3b1de510e5d12c1b0ae9358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ff9b096662c00c26b6d44d8bf4bc5d5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ssl_8h.html#a4ff9b096662c00c26b6d44d8bf4bc5d5">mbedtls_ssl_sig_hash_set_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4ff9b096662c00c26b6d44d8bf4bc5d5">mbedtls_ssl_sig_hash_set_t</a></td></tr>
<tr class="separator:a4ff9b096662c00c26b6d44d8bf4bc5d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af06d98867191eb685ab0c7067840b6f3"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ssl_8h.html#af06d98867191eb685ab0c7067840b6f3">mbedtls_ssl_key_cert</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af06d98867191eb685ab0c7067840b6f3">mbedtls_ssl_key_cert</a></td></tr>
<tr class="separator:af06d98867191eb685ab0c7067840b6f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0357eb38b019a7638e34852ac90f6d7"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ssl_8h.html#ac0357eb38b019a7638e34852ac90f6d7">mbedtls_ssl_flight_item</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac0357eb38b019a7638e34852ac90f6d7">mbedtls_ssl_flight_item</a></td></tr>
<tr class="separator:ac0357eb38b019a7638e34852ac90f6d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112d1fc2dd4db788592457d14c0c2899"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a112d1fc2dd4db788592457d14c0c2899">mbedtls_ssl_ticket_write_t</a>(void *p_ticket, const <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session, unsigned char *start, const unsigned char *end, size_t *tlen, uint32_t *lifetime)</td></tr>
<tr class="memdesc:a112d1fc2dd4db788592457d14c0c2899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: generate and write session ticket.  <a href="#a112d1fc2dd4db788592457d14c0c2899">More...</a><br /></td></tr>
<tr class="separator:a112d1fc2dd4db788592457d14c0c2899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f3ea9d32be68d7cd1605f39ce00d697"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8f3ea9d32be68d7cd1605f39ce00d697">mbedtls_ssl_export_keys_t</a>(void *p_expkey, const unsigned char *ms, const unsigned char *kb, size_t maclen, size_t keylen, size_t ivlen)</td></tr>
<tr class="memdesc:a8f3ea9d32be68d7cd1605f39ce00d697"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: Export key block and master secret.  <a href="#a8f3ea9d32be68d7cd1605f39ce00d697">More...</a><br /></td></tr>
<tr class="separator:a8f3ea9d32be68d7cd1605f39ce00d697"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48aea353b22e86deece00933ef941536"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a48aea353b22e86deece00933ef941536">mbedtls_ssl_ticket_parse_t</a>(void *p_ticket, <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session, unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:a48aea353b22e86deece00933ef941536"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: parse and load session ticket.  <a href="#a48aea353b22e86deece00933ef941536">More...</a><br /></td></tr>
<tr class="separator:a48aea353b22e86deece00933ef941536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a536f8b89936f26732150b00639a47ff0"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a536f8b89936f26732150b00639a47ff0">mbedtls_ssl_cookie_write_t</a>(void *ctx, unsigned char **p, unsigned char *end, const unsigned char *info, size_t ilen)</td></tr>
<tr class="memdesc:a536f8b89936f26732150b00639a47ff0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: generate a cookie.  <a href="#a536f8b89936f26732150b00639a47ff0">More...</a><br /></td></tr>
<tr class="separator:a536f8b89936f26732150b00639a47ff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cfda5aee70d6c2c19a8dfb5af900d80"><td class="memItemLeft" align="right" valign="top">typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9cfda5aee70d6c2c19a8dfb5af900d80">mbedtls_ssl_cookie_check_t</a>(void *ctx, const unsigned char *cookie, size_t clen, const unsigned char *info, size_t ilen)</td></tr>
<tr class="memdesc:a9cfda5aee70d6c2c19a8dfb5af900d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback type: verify a cookie.  <a href="#a9cfda5aee70d6c2c19a8dfb5af900d80">More...</a><br /></td></tr>
<tr class="separator:a9cfda5aee70d6c2c19a8dfb5af900d80"><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:a38f2ea5d01dc38dc852a1dd3af6988b0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0">mbedtls_ssl_states</a> { <br />
&#160;&#160;<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0ad0d0417e506d2c0dd9d3ba8f8ed16b98">MBEDTLS_SSL_HELLO_REQUEST</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a719dfc3139318a9433c982d5ad7e1da3">MBEDTLS_SSL_CLIENT_HELLO</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a3a8fbf7a2b30a55fc54919f44ecec277">MBEDTLS_SSL_SERVER_HELLO</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a75ce38da6d18a1bbb536e90545de25a2">MBEDTLS_SSL_SERVER_CERTIFICATE</a>, 
<br />
&#160;&#160;<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a2fa8d6dec9530663abd97f1e40a73048">MBEDTLS_SSL_SERVER_KEY_EXCHANGE</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a7ec5efe40ef7cd3eb2a1822c3e1f5835">MBEDTLS_SSL_CERTIFICATE_REQUEST</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a0f515cc56cbc0c9a361776b25076d585">MBEDTLS_SSL_SERVER_HELLO_DONE</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0ad9148742aef0e7d5dfc3347e7fcaac1c">MBEDTLS_SSL_CLIENT_CERTIFICATE</a>, 
<br />
&#160;&#160;<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a5665849f570a62c18646f929949c0a58">MBEDTLS_SSL_CLIENT_KEY_EXCHANGE</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a0585b241140cf6b0833b5c8bc77d154a">MBEDTLS_SSL_CERTIFICATE_VERIFY</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0abba1c6f9a06c48dc59cabb38230b336f">MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a856895e8166b855be5e1655bc90a85ea">MBEDTLS_SSL_CLIENT_FINISHED</a>, 
<br />
&#160;&#160;<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a9ec83156132a2a9989c1639cabbf8862">MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a2f5c45008331d3bef3ee8b4830bb43d7">MBEDTLS_SSL_SERVER_FINISHED</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0ade6250da8ee1486c5dc8adbd2bc4a176">MBEDTLS_SSL_FLUSH_BUFFERS</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0ab97eae0c72f041818f8af2cfafac7e5c">MBEDTLS_SSL_HANDSHAKE_WRAPUP</a>, 
<br />
&#160;&#160;<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a077633740a69a39daf3cd1366cf57f45">MBEDTLS_SSL_HANDSHAKE_OVER</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0a81f0344c3c9220697130861980df9eb5">MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET</a>, 
<a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0aa0a4ac1bd375ca695704302c09f6f116">MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT</a>
<br />
 }</td></tr>
<tr class="separator:a38f2ea5d01dc38dc852a1dd3af6988b0"><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:aa475d287496d8a93a236a9b91b71dc87"><td class="memItemLeft" align="right" valign="top">const int *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa475d287496d8a93a236a9b91b71dc87">mbedtls_ssl_list_ciphersuites</a> (void)</td></tr>
<tr class="memdesc:aa475d287496d8a93a236a9b91b71dc87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the list of ciphersuites supported by the SSL/TLS module.  <a href="#aa475d287496d8a93a236a9b91b71dc87">More...</a><br /></td></tr>
<tr class="separator:aa475d287496d8a93a236a9b91b71dc87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada9a0169e4712521049117d29b91e1e5"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ada9a0169e4712521049117d29b91e1e5">mbedtls_ssl_get_ciphersuite_name</a> (const int ciphersuite_id)</td></tr>
<tr class="memdesc:ada9a0169e4712521049117d29b91e1e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the ciphersuite associated with the given ID.  <a href="#ada9a0169e4712521049117d29b91e1e5">More...</a><br /></td></tr>
<tr class="separator:ada9a0169e4712521049117d29b91e1e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9914cdf5533e813e1ea7ca52981aa006"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9914cdf5533e813e1ea7ca52981aa006">mbedtls_ssl_get_ciphersuite_id</a> (const char *ciphersuite_name)</td></tr>
<tr class="memdesc:a9914cdf5533e813e1ea7ca52981aa006"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the ID of the ciphersuite associated with the given name.  <a href="#a9914cdf5533e813e1ea7ca52981aa006">More...</a><br /></td></tr>
<tr class="separator:a9914cdf5533e813e1ea7ca52981aa006"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8560dea66d7830a11874188727ec4c45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8560dea66d7830a11874188727ec4c45">mbedtls_ssl_init</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a8560dea66d7830a11874188727ec4c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an SSL context Just makes the context ready for <a class="el" href="ssl_8h.html#af79cb539a0ee6ac20cf9c574f4c3b343" title="Set up an SSL context for use. ">mbedtls_ssl_setup()</a> or <a class="el" href="ssl_8h.html#a2dc104a181bcd11eafbbf7e6923978bc" title="Free referenced items in an SSL context and clear memory. ">mbedtls_ssl_free()</a>  <a href="#a8560dea66d7830a11874188727ec4c45">More...</a><br /></td></tr>
<tr class="separator:a8560dea66d7830a11874188727ec4c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79cb539a0ee6ac20cf9c574f4c3b343"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#af79cb539a0ee6ac20cf9c574f4c3b343">mbedtls_ssl_setup</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const <a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf)</td></tr>
<tr class="memdesc:af79cb539a0ee6ac20cf9c574f4c3b343"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set up an SSL context for use.  <a href="#af79cb539a0ee6ac20cf9c574f4c3b343">More...</a><br /></td></tr>
<tr class="separator:af79cb539a0ee6ac20cf9c574f4c3b343"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21432367cbce428f10dcb62d9456fa7e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e">mbedtls_ssl_session_reset</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a21432367cbce428f10dcb62d9456fa7e"><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="#a21432367cbce428f10dcb62d9456fa7e">More...</a><br /></td></tr>
<tr class="separator:a21432367cbce428f10dcb62d9456fa7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a763e35d55c18e6792a3b756d825684"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a3a763e35d55c18e6792a3b756d825684">mbedtls_ssl_conf_endpoint</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int endpoint)</td></tr>
<tr class="memdesc:a3a763e35d55c18e6792a3b756d825684"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the current endpoint type.  <a href="#a3a763e35d55c18e6792a3b756d825684">More...</a><br /></td></tr>
<tr class="separator:a3a763e35d55c18e6792a3b756d825684"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eb03afe9b2ca0f144a1c307100dc0ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2eb03afe9b2ca0f144a1c307100dc0ca">mbedtls_ssl_conf_transport</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int transport)</td></tr>
<tr class="memdesc:a2eb03afe9b2ca0f144a1c307100dc0ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the transport type (TLS or DTLS). Default: TLS.  <a href="#a2eb03afe9b2ca0f144a1c307100dc0ca">More...</a><br /></td></tr>
<tr class="separator:a2eb03afe9b2ca0f144a1c307100dc0ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5695285c9dbfefec295012b566290f37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5695285c9dbfefec295012b566290f37">mbedtls_ssl_conf_authmode</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int authmode)</td></tr>
<tr class="memdesc:a5695285c9dbfefec295012b566290f37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the certificate verification mode Default: NONE on server, REQUIRED on client.  <a href="#a5695285c9dbfefec295012b566290f37">More...</a><br /></td></tr>
<tr class="separator:a5695285c9dbfefec295012b566290f37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc2b6b55d7ccaf38d84a4fbf1655f426"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afc2b6b55d7ccaf38d84a4fbf1655f426">mbedtls_ssl_conf_verify</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int(*f_vrfy)(void *, <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *, int, uint32_t *), void *p_vrfy)</td></tr>
<tr class="memdesc:afc2b6b55d7ccaf38d84a4fbf1655f426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the verification callback (Optional).  <a href="#afc2b6b55d7ccaf38d84a4fbf1655f426">More...</a><br /></td></tr>
<tr class="separator:afc2b6b55d7ccaf38d84a4fbf1655f426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a469cd1c64bbba4be22347bf8874a017e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a469cd1c64bbba4be22347bf8874a017e">mbedtls_ssl_conf_rng</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)</td></tr>
<tr class="memdesc:a469cd1c64bbba4be22347bf8874a017e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the random number generator callback.  <a href="#a469cd1c64bbba4be22347bf8874a017e">More...</a><br /></td></tr>
<tr class="separator:a469cd1c64bbba4be22347bf8874a017e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab15dcbe7c7fe2a5c118e7c486c07c921"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab15dcbe7c7fe2a5c118e7c486c07c921">mbedtls_ssl_conf_dbg</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, void(*f_dbg)(void *, int, const char *, int, const char *), void *p_dbg)</td></tr>
<tr class="memdesc:ab15dcbe7c7fe2a5c118e7c486c07c921"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the debug callback.  <a href="#ab15dcbe7c7fe2a5c118e7c486c07c921">More...</a><br /></td></tr>
<tr class="separator:ab15dcbe7c7fe2a5c118e7c486c07c921"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b7442420aef7f1a76fa8c5336362f9e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8b7442420aef7f1a76fa8c5336362f9e">mbedtls_ssl_set_bio</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, void *p_bio, <a class="el" href="ssl_8h.html#a38e2b400d361f42f85833cdc30b3916e">mbedtls_ssl_send_t</a> *f_send, <a class="el" href="ssl_8h.html#ac06b19b96b643090c55f19b6c28b10c4">mbedtls_ssl_recv_t</a> *f_recv, <a class="el" href="ssl_8h.html#a6d615ca95c8a67d7c5f9d7d256dc09e6">mbedtls_ssl_recv_timeout_t</a> *f_recv_timeout)</td></tr>
<tr class="memdesc:a8b7442420aef7f1a76fa8c5336362f9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the underlying BIO callbacks for write, read and read-with-timeout.  <a href="#a8b7442420aef7f1a76fa8c5336362f9e">More...</a><br /></td></tr>
<tr class="separator:a8b7442420aef7f1a76fa8c5336362f9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d925033b3a46a48b3f8acc1d743af90"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0d925033b3a46a48b3f8acc1d743af90">mbedtls_ssl_conf_read_timeout</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, uint32_t timeout)</td></tr>
<tr class="memdesc:a0d925033b3a46a48b3f8acc1d743af90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the timeout period for <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a> (Default: no timeout.)  <a href="#a0d925033b3a46a48b3f8acc1d743af90">More...</a><br /></td></tr>
<tr class="separator:a0d925033b3a46a48b3f8acc1d743af90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a335ee78886daf7f8fb369fa925b3cca8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a335ee78886daf7f8fb369fa925b3cca8">mbedtls_ssl_set_timer_cb</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, void *p_timer, <a class="el" href="ssl_8h.html#a61c5d9ed63c50ee809eec98820d3f36c">mbedtls_ssl_set_timer_t</a> *f_set_timer, <a class="el" href="ssl_8h.html#adea005600b532d788c05e9d01b42895b">mbedtls_ssl_get_timer_t</a> *f_get_timer)</td></tr>
<tr class="memdesc:a335ee78886daf7f8fb369fa925b3cca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the timer callbacks (Mandatory for DTLS.)  <a href="#a335ee78886daf7f8fb369fa925b3cca8">More...</a><br /></td></tr>
<tr class="separator:a335ee78886daf7f8fb369fa925b3cca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73f028424df0b3a3b3360df0768df992"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a73f028424df0b3a3b3360df0768df992">mbedtls_ssl_conf_session_tickets_cb</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, <a class="el" href="ssl_8h.html#a112d1fc2dd4db788592457d14c0c2899">mbedtls_ssl_ticket_write_t</a> *f_ticket_write, <a class="el" href="ssl_8h.html#a48aea353b22e86deece00933ef941536">mbedtls_ssl_ticket_parse_t</a> *f_ticket_parse, void *p_ticket)</td></tr>
<tr class="memdesc:a73f028424df0b3a3b3360df0768df992"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure SSL session ticket callbacks (server only). (Default: none.)  <a href="#a73f028424df0b3a3b3360df0768df992">More...</a><br /></td></tr>
<tr class="separator:a73f028424df0b3a3b3360df0768df992"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab31125a4db90d3313e17581cb5d6d634"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ab31125a4db90d3313e17581cb5d6d634">mbedtls_ssl_conf_export_keys_cb</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, <a class="el" href="ssl_8h.html#a8f3ea9d32be68d7cd1605f39ce00d697">mbedtls_ssl_export_keys_t</a> *f_export_keys, void *p_export_keys)</td></tr>
<tr class="memdesc:ab31125a4db90d3313e17581cb5d6d634"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure key export callback. (Default: none.)  <a href="#ab31125a4db90d3313e17581cb5d6d634">More...</a><br /></td></tr>
<tr class="separator:ab31125a4db90d3313e17581cb5d6d634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5865631bc70b4511c25f558d5221fd65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5865631bc70b4511c25f558d5221fd65">mbedtls_ssl_conf_dtls_cookies</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, <a class="el" href="ssl_8h.html#a536f8b89936f26732150b00639a47ff0">mbedtls_ssl_cookie_write_t</a> *f_cookie_write, <a class="el" href="ssl_8h.html#a9cfda5aee70d6c2c19a8dfb5af900d80">mbedtls_ssl_cookie_check_t</a> *f_cookie_check, void *p_cookie)</td></tr>
<tr class="memdesc:a5865631bc70b4511c25f558d5221fd65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register callbacks for DTLS cookies (Server only. DTLS only.)  <a href="#a5865631bc70b4511c25f558d5221fd65">More...</a><br /></td></tr>
<tr class="separator:a5865631bc70b4511c25f558d5221fd65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15fab95c13a898f32fa69ff2065c1051"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a15fab95c13a898f32fa69ff2065c1051">mbedtls_ssl_set_client_transport_id</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const unsigned char *info, size_t ilen)</td></tr>
<tr class="memdesc:a15fab95c13a898f32fa69ff2065c1051"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set client's transport-level identification info. (Server only. DTLS only.)  <a href="#a15fab95c13a898f32fa69ff2065c1051">More...</a><br /></td></tr>
<tr class="separator:a15fab95c13a898f32fa69ff2065c1051"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d919254eafef2ae642fb692c5e560a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a46d919254eafef2ae642fb692c5e560a">mbedtls_ssl_conf_dtls_anti_replay</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char mode)</td></tr>
<tr class="memdesc:a46d919254eafef2ae642fb692c5e560a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable anti-replay protection for DTLS. (DTLS only, no effect on TLS.) Default: enabled.  <a href="#a46d919254eafef2ae642fb692c5e560a">More...</a><br /></td></tr>
<tr class="separator:a46d919254eafef2ae642fb692c5e560a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9baa37a4b839319d00d8b43c8d266719"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9baa37a4b839319d00d8b43c8d266719">mbedtls_ssl_conf_dtls_badmac_limit</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, unsigned limit)</td></tr>
<tr class="memdesc:a9baa37a4b839319d00d8b43c8d266719"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a limit on the number of records with a bad MAC before terminating the connection. (DTLS only, no effect on TLS.) Default: 0 (disabled).  <a href="#a9baa37a4b839319d00d8b43c8d266719">More...</a><br /></td></tr>
<tr class="separator:a9baa37a4b839319d00d8b43c8d266719"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6625bc4e7ffd535900ef53259cc21651"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a6625bc4e7ffd535900ef53259cc21651">mbedtls_ssl_conf_handshake_timeout</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, uint32_t min, uint32_t max)</td></tr>
<tr class="memdesc:a6625bc4e7ffd535900ef53259cc21651"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set retransmit timeout values for the DTLS handshake. (DTLS only, no effect on TLS.)  <a href="#a6625bc4e7ffd535900ef53259cc21651">More...</a><br /></td></tr>
<tr class="separator:a6625bc4e7ffd535900ef53259cc21651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a69464288d80b3904bc7540bd52aab0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9a69464288d80b3904bc7540bd52aab0">mbedtls_ssl_conf_session_cache</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, void *p_cache, int(*f_get_cache)(void *, <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *), int(*f_set_cache)(void *, const <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *))</td></tr>
<tr class="memdesc:a9a69464288d80b3904bc7540bd52aab0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the session cache callbacks (server-side only) If not set, no session resuming is done (except if session tickets are enabled too).  <a href="#a9a69464288d80b3904bc7540bd52aab0">More...</a><br /></td></tr>
<tr class="separator:a9a69464288d80b3904bc7540bd52aab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91be5c606b9f7c1e44b3e507a4fe7b66"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a91be5c606b9f7c1e44b3e507a4fe7b66">mbedtls_ssl_set_session</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session)</td></tr>
<tr class="memdesc:a91be5c606b9f7c1e44b3e507a4fe7b66"><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="#a91be5c606b9f7c1e44b3e507a4fe7b66">More...</a><br /></td></tr>
<tr class="separator:a91be5c606b9f7c1e44b3e507a4fe7b66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8e4df37cadda8f743ed45501a51fec1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac8e4df37cadda8f743ed45501a51fec1">mbedtls_ssl_conf_ciphersuites</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const int *ciphersuites)</td></tr>
<tr class="memdesc:ac8e4df37cadda8f743ed45501a51fec1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the list of allowed ciphersuites and the preference order. First in the list has the highest preference. (Overrides all version-specific lists)  <a href="#ac8e4df37cadda8f743ed45501a51fec1">More...</a><br /></td></tr>
<tr class="separator:ac8e4df37cadda8f743ed45501a51fec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa597f5461c48ee6014397c926916e6ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa597f5461c48ee6014397c926916e6ae">mbedtls_ssl_conf_ciphersuites_for_version</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const int *ciphersuites, int major, int minor)</td></tr>
<tr class="memdesc:aa597f5461c48ee6014397c926916e6ae"><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. (Only useful on the server side)  <a href="#aa597f5461c48ee6014397c926916e6ae">More...</a><br /></td></tr>
<tr class="separator:aa597f5461c48ee6014397c926916e6ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76dc3c312ffd51f6d0ca127b322307bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a76dc3c312ffd51f6d0ca127b322307bb">mbedtls_ssl_conf_cert_profile</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const <a class="el" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a> *profile)</td></tr>
<tr class="memdesc:a76dc3c312ffd51f6d0ca127b322307bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the X.509 security profile used for verification.  <a href="#a76dc3c312ffd51f6d0ca127b322307bb">More...</a><br /></td></tr>
<tr class="separator:a76dc3c312ffd51f6d0ca127b322307bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c3bb6b682ba361d13de1c0a1eb69fb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a85c3bb6b682ba361d13de1c0a1eb69fb">mbedtls_ssl_conf_ca_chain</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *ca_chain, <a class="el" href="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *ca_crl)</td></tr>
<tr class="memdesc:a85c3bb6b682ba361d13de1c0a1eb69fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data required to verify peer certificate.  <a href="#a85c3bb6b682ba361d13de1c0a1eb69fb">More...</a><br /></td></tr>
<tr class="separator:a85c3bb6b682ba361d13de1c0a1eb69fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e54e9ace21beb608bae36ddb81a4fb0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4e54e9ace21beb608bae36ddb81a4fb0">mbedtls_ssl_conf_own_cert</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *own_cert, <a class="el" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> *pk_key)</td></tr>
<tr class="memdesc:a4e54e9ace21beb608bae36ddb81a4fb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set own certificate chain and private key.  <a href="#a4e54e9ace21beb608bae36ddb81a4fb0">More...</a><br /></td></tr>
<tr class="separator:a4e54e9ace21beb608bae36ddb81a4fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e185199e3ff613bdd1c8231a19e24fc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1e185199e3ff613bdd1c8231a19e24fc">mbedtls_ssl_conf_psk</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const unsigned char *psk, size_t psk_len, const unsigned char *psk_identity, size_t psk_identity_len)</td></tr>
<tr class="memdesc:a1e185199e3ff613bdd1c8231a19e24fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Pre Shared Key (PSK) and the expected identity name.  <a href="#a1e185199e3ff613bdd1c8231a19e24fc">More...</a><br /></td></tr>
<tr class="separator:a1e185199e3ff613bdd1c8231a19e24fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50f8bb06a3ec75f6fec4ccc2c1aad151"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a50f8bb06a3ec75f6fec4ccc2c1aad151">mbedtls_ssl_set_hs_psk</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const unsigned char *psk, size_t psk_len)</td></tr>
<tr class="memdesc:a50f8bb06a3ec75f6fec4ccc2c1aad151"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Pre Shared Key (PSK) for the current handshake.  <a href="#a50f8bb06a3ec75f6fec4ccc2c1aad151">More...</a><br /></td></tr>
<tr class="separator:a50f8bb06a3ec75f6fec4ccc2c1aad151"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b804626a236e493316c58b048ab5937"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1b804626a236e493316c58b048ab5937">mbedtls_ssl_conf_psk_cb</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int(*f_psk)(void *, <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *, const unsigned char *, size_t), void *p_psk)</td></tr>
<tr class="memdesc:a1b804626a236e493316c58b048ab5937"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the PSK callback (server-side only).  <a href="#a1b804626a236e493316c58b048ab5937">More...</a><br /></td></tr>
<tr class="separator:a1b804626a236e493316c58b048ab5937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a599d59d63ca864eb4548d3626293febc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a599d59d63ca864eb4548d3626293febc">mbedtls_ssl_conf_dh_param</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const char *dhm_P, const char *dhm_G)</td></tr>
<tr class="memdesc:a599d59d63ca864eb4548d3626293febc"><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 values: MBEDTLS_DHM_RFC3526_MODP_2048_[PG])  <a href="#a599d59d63ca864eb4548d3626293febc">More...</a><br /></td></tr>
<tr class="separator:a599d59d63ca864eb4548d3626293febc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a457078c76cf96c9696fd226c8efe0674"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a457078c76cf96c9696fd226c8efe0674">mbedtls_ssl_conf_dh_param_bin</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const unsigned char *dhm_P, size_t P_len, const unsigned char *dhm_G, size_t G_len)</td></tr>
<tr class="memdesc:a457078c76cf96c9696fd226c8efe0674"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the Diffie-Hellman public P and G values from big-endian binary presentations. (Default values: MBEDTLS_DHM_RFC3526_MODP_2048_[PG]_BIN)  <a href="#a457078c76cf96c9696fd226c8efe0674">More...</a><br /></td></tr>
<tr class="separator:a457078c76cf96c9696fd226c8efe0674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec6d67681da3a0d5cb259137af176d56"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aec6d67681da3a0d5cb259137af176d56">mbedtls_ssl_conf_dh_param_ctx</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, <a class="el" href="structmbedtls__dhm__context.html">mbedtls_dhm_context</a> *dhm_ctx)</td></tr>
<tr class="memdesc:aec6d67681da3a0d5cb259137af176d56"><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="#aec6d67681da3a0d5cb259137af176d56">More...</a><br /></td></tr>
<tr class="separator:aec6d67681da3a0d5cb259137af176d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dd56f07a798d344dba5bcf33376edfd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9dd56f07a798d344dba5bcf33376edfd">mbedtls_ssl_conf_dhm_min_bitlen</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, unsigned int bitlen)</td></tr>
<tr class="memdesc:a9dd56f07a798d344dba5bcf33376edfd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the minimum length for Diffie-Hellman parameters. (Client-side only.) (Default: 1024 bits.)  <a href="#a9dd56f07a798d344dba5bcf33376edfd">More...</a><br /></td></tr>
<tr class="separator:a9dd56f07a798d344dba5bcf33376edfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1d705b8fc48224262ab92eb5aa4598c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae1d705b8fc48224262ab92eb5aa4598c">mbedtls_ssl_conf_curves</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const <a class="el" href="ecp_8h.html#af79e530ea8f8416480f805baa20b1a2d">mbedtls_ecp_group_id</a> *curves)</td></tr>
<tr class="memdesc:ae1d705b8fc48224262ab92eb5aa4598c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the allowed curves in order of preference. (Default: all defined curves.)  <a href="#ae1d705b8fc48224262ab92eb5aa4598c">More...</a><br /></td></tr>
<tr class="separator:ae1d705b8fc48224262ab92eb5aa4598c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73725fed867e0fd29396c7c6565a76e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a73725fed867e0fd29396c7c6565a76e6">mbedtls_ssl_conf_sig_hashes</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const int *hashes)</td></tr>
<tr class="memdesc:a73725fed867e0fd29396c7c6565a76e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the allowed hashes for signatures during the handshake. (Default: all available hashes except MD5.)  <a href="#a73725fed867e0fd29396c7c6565a76e6">More...</a><br /></td></tr>
<tr class="separator:a73725fed867e0fd29396c7c6565a76e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa659024cf89e20d6d2248c0626db7ef2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa659024cf89e20d6d2248c0626db7ef2">mbedtls_ssl_set_hostname</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const char *hostname)</td></tr>
<tr class="memdesc:aa659024cf89e20d6d2248c0626db7ef2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set or reset the hostname to check against the received server certificate. It sets the ServerName TLS extension, too, if that extension is enabled. (client-side only)  <a href="#aa659024cf89e20d6d2248c0626db7ef2">More...</a><br /></td></tr>
<tr class="separator:aa659024cf89e20d6d2248c0626db7ef2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0353666974b1cd19dafb2c2b165d2f2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa0353666974b1cd19dafb2c2b165d2f2">mbedtls_ssl_set_hs_own_cert</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *own_cert, <a class="el" href="structmbedtls__pk__context.html">mbedtls_pk_context</a> *pk_key)</td></tr>
<tr class="memdesc:aa0353666974b1cd19dafb2c2b165d2f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set own certificate and key for the current handshake.  <a href="#aa0353666974b1cd19dafb2c2b165d2f2">More...</a><br /></td></tr>
<tr class="separator:aa0353666974b1cd19dafb2c2b165d2f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33a781dcdc16bd649ea0346a598e9656"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a33a781dcdc16bd649ea0346a598e9656">mbedtls_ssl_set_hs_ca_chain</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *ca_chain, <a class="el" href="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *ca_crl)</td></tr>
<tr class="memdesc:a33a781dcdc16bd649ea0346a598e9656"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the data required to verify peer certificate for the current handshake.  <a href="#a33a781dcdc16bd649ea0346a598e9656">More...</a><br /></td></tr>
<tr class="separator:a33a781dcdc16bd649ea0346a598e9656"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8366b49e25054078b5be139c0ce560d7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a8366b49e25054078b5be139c0ce560d7">mbedtls_ssl_set_hs_authmode</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int authmode)</td></tr>
<tr class="memdesc:a8366b49e25054078b5be139c0ce560d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set authmode for the current handshake.  <a href="#a8366b49e25054078b5be139c0ce560d7">More...</a><br /></td></tr>
<tr class="separator:a8366b49e25054078b5be139c0ce560d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38ee2c1e3f232444df5ba3952d7ded33"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a38ee2c1e3f232444df5ba3952d7ded33">mbedtls_ssl_conf_sni</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int(*f_sni)(void *, <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *, const unsigned char *, size_t), void *p_sni)</td></tr>
<tr class="memdesc:a38ee2c1e3f232444df5ba3952d7ded33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set server side ServerName TLS extension callback (optional, server-side only).  <a href="#a38ee2c1e3f232444df5ba3952d7ded33">More...</a><br /></td></tr>
<tr class="separator:a38ee2c1e3f232444df5ba3952d7ded33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae21135dddd89b2ef273c13e140097f5a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ae21135dddd89b2ef273c13e140097f5a">mbedtls_ssl_conf_alpn_protocols</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const char **protos)</td></tr>
<tr class="memdesc:ae21135dddd89b2ef273c13e140097f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the supported Application Layer Protocols.  <a href="#ae21135dddd89b2ef273c13e140097f5a">More...</a><br /></td></tr>
<tr class="separator:ae21135dddd89b2ef273c13e140097f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1ab606db1a9307b4aacccdcd1d1a6ef"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad1ab606db1a9307b4aacccdcd1d1a6ef">mbedtls_ssl_get_alpn_protocol</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ad1ab606db1a9307b4aacccdcd1d1a6ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the negotiated Application Layer Protocol. This function should be called after the handshake is completed.  <a href="#ad1ab606db1a9307b4aacccdcd1d1a6ef">More...</a><br /></td></tr>
<tr class="separator:ad1ab606db1a9307b4aacccdcd1d1a6ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1a81e3fcbea3045b41ce739a47f54e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afc1a81e3fcbea3045b41ce739a47f54e">mbedtls_ssl_conf_max_version</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int major, int minor)</td></tr>
<tr class="memdesc:afc1a81e3fcbea3045b41ce739a47f54e"><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: MBEDTLS_SSL_MAX_MAJOR_VERSION, MBEDTLS_SSL_MAX_MINOR_VERSION)  <a href="#afc1a81e3fcbea3045b41ce739a47f54e">More...</a><br /></td></tr>
<tr class="separator:afc1a81e3fcbea3045b41ce739a47f54e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eade5c83cc08001672061c5925caaaa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a0eade5c83cc08001672061c5925caaaa">mbedtls_ssl_conf_min_version</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int major, int minor)</td></tr>
<tr class="memdesc:a0eade5c83cc08001672061c5925caaaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the minimum accepted SSL/TLS protocol version (Default: TLS 1.0)  <a href="#a0eade5c83cc08001672061c5925caaaa">More...</a><br /></td></tr>
<tr class="separator:a0eade5c83cc08001672061c5925caaaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb5a878b9aabe137572a8c73a840c480"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#abb5a878b9aabe137572a8c73a840c480">mbedtls_ssl_conf_fallback</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char fallback)</td></tr>
<tr class="memdesc:abb5a878b9aabe137572a8c73a840c480"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the fallback flag (client-side only). (Default: MBEDTLS_SSL_IS_NOT_FALLBACK).  <a href="#abb5a878b9aabe137572a8c73a840c480">More...</a><br /></td></tr>
<tr class="separator:abb5a878b9aabe137572a8c73a840c480"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa8a1d55630fec25f2247fc9958eaa53"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#afa8a1d55630fec25f2247fc9958eaa53">mbedtls_ssl_conf_encrypt_then_mac</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char etm)</td></tr>
<tr class="memdesc:afa8a1d55630fec25f2247fc9958eaa53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable Encrypt-then-MAC (Default: MBEDTLS_SSL_ETM_ENABLED)  <a href="#afa8a1d55630fec25f2247fc9958eaa53">More...</a><br /></td></tr>
<tr class="separator:afa8a1d55630fec25f2247fc9958eaa53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a133db91d4a1dd44d212ac57e386c23b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a133db91d4a1dd44d212ac57e386c23b3">mbedtls_ssl_conf_extended_master_secret</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char ems)</td></tr>
<tr class="memdesc:a133db91d4a1dd44d212ac57e386c23b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable Extended Master Secret negotiation. (Default: MBEDTLS_SSL_EXTENDED_MS_ENABLED)  <a href="#a133db91d4a1dd44d212ac57e386c23b3">More...</a><br /></td></tr>
<tr class="separator:a133db91d4a1dd44d212ac57e386c23b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e904913a122bd7cb13260217e4cc868"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a9e904913a122bd7cb13260217e4cc868">mbedtls_ssl_conf_arc4_support</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char arc4)</td></tr>
<tr class="memdesc:a9e904913a122bd7cb13260217e4cc868"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable or enable support for RC4 (Default: MBEDTLS_SSL_ARC4_DISABLED)  <a href="#a9e904913a122bd7cb13260217e4cc868">More...</a><br /></td></tr>
<tr class="separator:a9e904913a122bd7cb13260217e4cc868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05492293c43910a64f746af8f71efb2f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a05492293c43910a64f746af8f71efb2f">mbedtls_ssl_conf_cert_req_ca_list</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char cert_req_ca_list)</td></tr>
<tr class="memdesc:a05492293c43910a64f746af8f71efb2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to send a list of acceptable CAs in CertificateRequest messages. (Default: do send)  <a href="#a05492293c43910a64f746af8f71efb2f">More...</a><br /></td></tr>
<tr class="separator:a05492293c43910a64f746af8f71efb2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac68fda83c26b3078e80f4dfc3b09bb94"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac68fda83c26b3078e80f4dfc3b09bb94">mbedtls_ssl_conf_max_frag_len</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, unsigned char mfl_code)</td></tr>
<tr class="memdesc:ac68fda83c26b3078e80f4dfc3b09bb94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the maximum fragment length to emit and/or negotiate (Default: MBEDTLS_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="#ac68fda83c26b3078e80f4dfc3b09bb94">More...</a><br /></td></tr>
<tr class="separator:ac68fda83c26b3078e80f4dfc3b09bb94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a739b67cfc0350ae4a2c9a2e99737bea7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a739b67cfc0350ae4a2c9a2e99737bea7">mbedtls_ssl_conf_truncated_hmac</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int truncate)</td></tr>
<tr class="memdesc:a739b67cfc0350ae4a2c9a2e99737bea7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate negotiation of truncated HMAC (Default: MBEDTLS_SSL_TRUNC_HMAC_DISABLED)  <a href="#a739b67cfc0350ae4a2c9a2e99737bea7">More...</a><br /></td></tr>
<tr class="separator:a739b67cfc0350ae4a2c9a2e99737bea7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cafaf0e79682a1152838d4991b59e23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2cafaf0e79682a1152838d4991b59e23">mbedtls_ssl_conf_cbc_record_splitting</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, char split)</td></tr>
<tr class="memdesc:a2cafaf0e79682a1152838d4991b59e23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable / Disable 1/n-1 record splitting (Default: MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED)  <a href="#a2cafaf0e79682a1152838d4991b59e23">More...</a><br /></td></tr>
<tr class="separator:a2cafaf0e79682a1152838d4991b59e23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97e547f900979337f4083a8158918fcc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a97e547f900979337f4083a8158918fcc">mbedtls_ssl_conf_session_tickets</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int use_tickets)</td></tr>
<tr class="memdesc:a97e547f900979337f4083a8158918fcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable / Disable session tickets (client only). (Default: MBEDTLS_SSL_SESSION_TICKETS_ENABLED.)  <a href="#a97e547f900979337f4083a8158918fcc">More...</a><br /></td></tr>
<tr class="separator:a97e547f900979337f4083a8158918fcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4f50fc1c0a018fd5eb18fd9621d0d3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aad4f50fc1c0a018fd5eb18fd9621d0d3">mbedtls_ssl_conf_renegotiation</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int renegotiation)</td></tr>
<tr class="memdesc:aad4f50fc1c0a018fd5eb18fd9621d0d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable / Disable renegotiation support for connection when initiated by peer (Default: MBEDTLS_SSL_RENEGOTIATION_DISABLED)  <a href="#aad4f50fc1c0a018fd5eb18fd9621d0d3">More...</a><br /></td></tr>
<tr class="separator:aad4f50fc1c0a018fd5eb18fd9621d0d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a193c7bf368780f485e20170c807709e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a193c7bf368780f485e20170c807709e5">mbedtls_ssl_conf_legacy_renegotiation</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int allow_legacy)</td></tr>
<tr class="memdesc:a193c7bf368780f485e20170c807709e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prevent or allow legacy renegotiation. (Default: MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION)  <a href="#a193c7bf368780f485e20170c807709e5">More...</a><br /></td></tr>
<tr class="separator:a193c7bf368780f485e20170c807709e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d193b15941a556baaf2cb94138d66df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2d193b15941a556baaf2cb94138d66df">mbedtls_ssl_conf_renegotiation_enforced</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int max_records)</td></tr>
<tr class="memdesc:a2d193b15941a556baaf2cb94138d66df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enforce renegotiation requests. (Default: enforced, max_records = 16)  <a href="#a2d193b15941a556baaf2cb94138d66df">More...</a><br /></td></tr>
<tr class="separator:a2d193b15941a556baaf2cb94138d66df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1785faa0640bd6190c1c17a94b408e31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1785faa0640bd6190c1c17a94b408e31">mbedtls_ssl_conf_renegotiation_period</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, const unsigned char period[8])</td></tr>
<tr class="memdesc:a1785faa0640bd6190c1c17a94b408e31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set record counter threshold for periodic renegotiation. (Default: 2^48 - 1)  <a href="#a1785faa0640bd6190c1c17a94b408e31">More...</a><br /></td></tr>
<tr class="separator:a1785faa0640bd6190c1c17a94b408e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad43142085f3182e9b0dc967ec582032b"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad43142085f3182e9b0dc967ec582032b">mbedtls_ssl_get_bytes_avail</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ad43142085f3182e9b0dc967ec582032b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of data bytes available to read.  <a href="#ad43142085f3182e9b0dc967ec582032b">More...</a><br /></td></tr>
<tr class="separator:ad43142085f3182e9b0dc967ec582032b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a516064f1468d459159ef7cd6c496a026"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a516064f1468d459159ef7cd6c496a026">mbedtls_ssl_get_verify_result</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a516064f1468d459159ef7cd6c496a026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the result of the certificate verification.  <a href="#a516064f1468d459159ef7cd6c496a026">More...</a><br /></td></tr>
<tr class="separator:a516064f1468d459159ef7cd6c496a026"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18739598df499461369020b8ea6fff1c"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a18739598df499461369020b8ea6fff1c">mbedtls_ssl_get_ciphersuite</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a18739598df499461369020b8ea6fff1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name of the current ciphersuite.  <a href="#a18739598df499461369020b8ea6fff1c">More...</a><br /></td></tr>
<tr class="separator:a18739598df499461369020b8ea6fff1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ee2e52fe2ae9620af84df97a0347ce3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a1ee2e52fe2ae9620af84df97a0347ce3">mbedtls_ssl_get_version</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a1ee2e52fe2ae9620af84df97a0347ce3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current SSL version (SSLv3/TLSv1/etc)  <a href="#a1ee2e52fe2ae9620af84df97a0347ce3">More...</a><br /></td></tr>
<tr class="separator:a1ee2e52fe2ae9620af84df97a0347ce3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a935f3ebfb31f988e24a8bf9bcb0fd26b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a935f3ebfb31f988e24a8bf9bcb0fd26b">mbedtls_ssl_get_record_expansion</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a935f3ebfb31f988e24a8bf9bcb0fd26b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the (maximum) number of bytes added by the record layer: header + encryption/MAC overhead (inc. padding)  <a href="#a935f3ebfb31f988e24a8bf9bcb0fd26b">More...</a><br /></td></tr>
<tr class="separator:a935f3ebfb31f988e24a8bf9bcb0fd26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44fb4dcf45412d667778432836be9150"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a44fb4dcf45412d667778432836be9150">mbedtls_ssl_get_max_frag_len</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a44fb4dcf45412d667778432836be9150"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the maximum fragment length (payload, in bytes). This is the value negotiated with peer if any, or the locally configured value.  <a href="#a44fb4dcf45412d667778432836be9150">More...</a><br /></td></tr>
<tr class="separator:a44fb4dcf45412d667778432836be9150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7ab0ac8d8341063a0f815ee99337831"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa7ab0ac8d8341063a0f815ee99337831">mbedtls_ssl_get_peer_cert</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:aa7ab0ac8d8341063a0f815ee99337831"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the peer certificate from the current connection.  <a href="#aa7ab0ac8d8341063a0f815ee99337831">More...</a><br /></td></tr>
<tr class="separator:aa7ab0ac8d8341063a0f815ee99337831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad617a178adfaf259db89c4fe092ad6e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ad617a178adfaf259db89c4fe092ad6e1">mbedtls_ssl_get_session</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session)</td></tr>
<tr class="memdesc:ad617a178adfaf259db89c4fe092ad6e1"><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="#ad617a178adfaf259db89c4fe092ad6e1">More...</a><br /></td></tr>
<tr class="separator:ad617a178adfaf259db89c4fe092ad6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a37e497cd08c896870a42b1b618186e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a4a37e497cd08c896870a42b1b618186e">mbedtls_ssl_handshake</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a4a37e497cd08c896870a42b1b618186e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform the SSL handshake.  <a href="#a4a37e497cd08c896870a42b1b618186e">More...</a><br /></td></tr>
<tr class="separator:a4a37e497cd08c896870a42b1b618186e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac1583fe56eda081580742999968bbcf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aac1583fe56eda081580742999968bbcf">mbedtls_ssl_handshake_step</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:aac1583fe56eda081580742999968bbcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a single step of the SSL handshake.  <a href="#aac1583fe56eda081580742999968bbcf">More...</a><br /></td></tr>
<tr class="separator:aac1583fe56eda081580742999968bbcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49b7a27a616495d5f0a4fabc3f550dbb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a49b7a27a616495d5f0a4fabc3f550dbb">mbedtls_ssl_renegotiate</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a49b7a27a616495d5f0a4fabc3f550dbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate an SSL renegotiation on the running connection. Client: perform the renegotiation right now. Server: request renegotiation, which will be performed during the next call to <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a> if honored by client.  <a href="#a49b7a27a616495d5f0a4fabc3f550dbb">More...</a><br /></td></tr>
<tr class="separator:a49b7a27a616495d5f0a4fabc3f550dbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c29eeb1deaf5ad9f01a7515006ede5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5">mbedtls_ssl_read</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:aa2c29eeb1deaf5ad9f01a7515006ede5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read at most 'len' application data bytes.  <a href="#aa2c29eeb1deaf5ad9f01a7515006ede5">More...</a><br /></td></tr>
<tr class="separator:aa2c29eeb1deaf5ad9f01a7515006ede5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bbda87d484de82df730758b475f32e5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a5bbda87d484de82df730758b475f32e5">mbedtls_ssl_write</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const unsigned char *buf, size_t len)</td></tr>
<tr class="memdesc:a5bbda87d484de82df730758b475f32e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Try to write exactly 'len' application data bytes.  <a href="#a5bbda87d484de82df730758b475f32e5">More...</a><br /></td></tr>
<tr class="separator:a5bbda87d484de82df730758b475f32e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431e67252731a34bd9b5f2c9222f4c43"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a431e67252731a34bd9b5f2c9222f4c43">mbedtls_ssl_send_alert_message</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, unsigned char level, unsigned char message)</td></tr>
<tr class="memdesc:a431e67252731a34bd9b5f2c9222f4c43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an alert message.  <a href="#a431e67252731a34bd9b5f2c9222f4c43">More...</a><br /></td></tr>
<tr class="separator:a431e67252731a34bd9b5f2c9222f4c43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2c1b17128ead2df3082e27b603deb4c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac2c1b17128ead2df3082e27b603deb4c">mbedtls_ssl_close_notify</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:ac2c1b17128ead2df3082e27b603deb4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Notify the peer that the connection is being closed.  <a href="#ac2c1b17128ead2df3082e27b603deb4c">More...</a><br /></td></tr>
<tr class="separator:ac2c1b17128ead2df3082e27b603deb4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dc104a181bcd11eafbbf7e6923978bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a2dc104a181bcd11eafbbf7e6923978bc">mbedtls_ssl_free</a> (<a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl)</td></tr>
<tr class="memdesc:a2dc104a181bcd11eafbbf7e6923978bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free referenced items in an SSL context and clear memory.  <a href="#a2dc104a181bcd11eafbbf7e6923978bc">More...</a><br /></td></tr>
<tr class="separator:a2dc104a181bcd11eafbbf7e6923978bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba55bcda50a47e83803e31a8db7c9a86"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aba55bcda50a47e83803e31a8db7c9a86">mbedtls_ssl_config_init</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf)</td></tr>
<tr class="memdesc:aba55bcda50a47e83803e31a8db7c9a86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an SSL configuration context Just makes the context ready for <a class="el" href="ssl_8h.html#aa1335b65ba57e81accc91ef95454d5a6" title="Load reasonnable default SSL configuration values. (You need to call mbedtls_ssl_config_init() first...">mbedtls_ssl_config_defaults()</a> or <a class="el" href="ssl_8h.html#a7655f025440a6c5ccd4fc13832abb1dd" title="Free an SSL configuration context. ">mbedtls_ssl_config_free()</a>.  <a href="#aba55bcda50a47e83803e31a8db7c9a86">More...</a><br /></td></tr>
<tr class="separator:aba55bcda50a47e83803e31a8db7c9a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1335b65ba57e81accc91ef95454d5a6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#aa1335b65ba57e81accc91ef95454d5a6">mbedtls_ssl_config_defaults</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf, int endpoint, int transport, int preset)</td></tr>
<tr class="memdesc:aa1335b65ba57e81accc91ef95454d5a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load reasonnable default SSL configuration values. (You need to call <a class="el" href="ssl_8h.html#aba55bcda50a47e83803e31a8db7c9a86" title="Initialize an SSL configuration context Just makes the context ready for mbedtls_ssl_config_defaults(...">mbedtls_ssl_config_init()</a> first.)  <a href="#aa1335b65ba57e81accc91ef95454d5a6">More...</a><br /></td></tr>
<tr class="separator:aa1335b65ba57e81accc91ef95454d5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7655f025440a6c5ccd4fc13832abb1dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7655f025440a6c5ccd4fc13832abb1dd">mbedtls_ssl_config_free</a> (<a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *conf)</td></tr>
<tr class="memdesc:a7655f025440a6c5ccd4fc13832abb1dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free an SSL configuration context.  <a href="#a7655f025440a6c5ccd4fc13832abb1dd">More...</a><br /></td></tr>
<tr class="separator:a7655f025440a6c5ccd4fc13832abb1dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7980469655c1cdb8fd7e966bffe1fd02"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#a7980469655c1cdb8fd7e966bffe1fd02">mbedtls_ssl_session_init</a> (<a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session)</td></tr>
<tr class="memdesc:a7980469655c1cdb8fd7e966bffe1fd02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize SSL session structure.  <a href="#a7980469655c1cdb8fd7e966bffe1fd02">More...</a><br /></td></tr>
<tr class="separator:a7980469655c1cdb8fd7e966bffe1fd02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac085defe1a02ab784a0a2fb201bcc741"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ssl_8h.html#ac085defe1a02ab784a0a2fb201bcc741">mbedtls_ssl_session_free</a> (<a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session)</td></tr>
<tr class="memdesc:ac085defe1a02ab784a0a2fb201bcc741"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free referenced items in an SSL session including the peer certificate and clear memory.  <a href="#ac085defe1a02ab784a0a2fb201bcc741">More...</a><br /></td></tr>
<tr class="separator:ac085defe1a02ab784a0a2fb201bcc741"><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 class="definition">Definition in file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aa9f53b232ef244efb301233d111930dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9f53b232ef244efb301233d111930dc">&#9670;&nbsp;</a></span>MBEDTLS_DEPRECATED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_DEPRECATED</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a701ee611f7a16a261b306466c8602177"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a701ee611f7a16a261b306466c8602177">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_ALLOC_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_ALLOC_FAILED&#160;&#160;&#160;-0x7F00</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Memory allocation failed </p>

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

</div>
</div>
<a id="a99d5367b23365159412220ffd9aad20f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99d5367b23365159412220ffd9aad20f">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00081">81</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a4864e3750b4f379143952215f0b1adc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4864e3750b4f379143952215f0b1adc6">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00082">82</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="aa420bf6b4652f53f178900f42f6e5b10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa420bf6b4652f53f178900f42f6e5b10">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">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 id="ad314b558c98da450853468f71895d615"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad314b558c98da450853468f71895d615">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00089">89</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="ac89dc637982bd86c71757c4ec86ddcc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac89dc637982bd86c71757c4ec86ddcc0">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00079">79</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a8de57eeca7485d08d11f5f384a7bf17c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8de57eeca7485d08d11f5f384a7bf17c">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00085">85</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="af5c8a932814077d04bc22ed51fbddf6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5c8a932814077d04bc22ed51fbddf6a">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00087">87</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a0038d1d08de609a963b595f423d13841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0038d1d08de609a963b595f423d13841">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00086">86</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a30610cf8e029daa83e34ff4ba572002a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30610cf8e029daa83e34ff4ba572002a">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_FINISHED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00090">90</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a5c64e204bc17d7ede8c0ef6b271d647d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c64e204bc17d7ede8c0ef6b271d647d">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00096">96</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="ae8285bd18c5cbf25d9a9b6780f335081"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8285bd18c5cbf25d9a9b6780f335081">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00095">95</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a76613fe3ffc26a89bccd4d5d5e91df56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76613fe3ffc26a89bccd4d5d5e91df56">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00080">80</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="aa250f843c65ab2aff66e52ab5e667a0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa250f843c65ab2aff66e52ab5e667a0f">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00084">84</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a732f296f4c1d605983d60bbd7b3b0e37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a732f296f4c1d605983d60bbd7b3b0e37">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00083">83</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a665997e4474e4ce0db5ef408c9c6b5ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a665997e4474e4ce0db5ef408c9c6b5ce">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BAD_INPUT_DATA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_BAD_INPUT_DATA&#160;&#160;&#160;-0x7100</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Bad input parameters to function. </p>

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

</div>
</div>
<a id="ad7215c366f66035c9b5a60918168e950"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7215c366f66035c9b5a60918168e950">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL&#160;&#160;&#160;-0x6A00</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>A buffer is too small to receive or write a message </p>

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

</div>
</div>
<a id="a31bcc2bfd103177e3e76e04219e0497f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31bcc2bfd103177e3e76e04219e0497f">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00074">74</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="accee747c38c056e6bf1271b718b562dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accee747c38c056e6bf1271b718b562dc">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00072">72</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a654b5a02c3e99f08306fdaceef5a4969"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a654b5a02c3e99f08306fdaceef5a4969">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00071">71</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="af930aa4014a4b702a00676a6a38bd33d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af930aa4014a4b702a00676a6a38bd33d">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_CLIENT_RECONNECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_CLIENT_RECONNECT&#160;&#160;&#160;-0x6780</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The client initiated a reconnect from the same port. </p>

<p class="definition">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 id="a241d50351ffe9edeef80469a99592510"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a241d50351ffe9edeef80469a99592510">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_COMPRESSION_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_COMPRESSION_FAILED&#160;&#160;&#160;-0x6F00</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Processing of the compression / decompression failed </p>

<p class="definition">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 id="ab82e0253b53fa62fab94b98ef9eb97f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab82e0253b53fa62fab94b98ef9eb97f9">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_CONN_EOF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_CONN_EOF&#160;&#160;&#160;-0x7280</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The connection indicated an EOF. </p>

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

</div>
</div>
<a id="ae8cfe8ffb3e7448e6097a7601b349ac5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8cfe8ffb3e7448e6097a7601b349ac5">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_COUNTER_WRAPPING</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00101">101</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="acc37a34787c5c5484a993ff64c3a1634"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc37a34787c5c5484a993ff64c3a1634">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00076">76</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="aea8b7e95c7e547959c10e9cad5f46043"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea8b7e95c7e547959c10e9cad5f46043">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE&#160;&#160;&#160;-0x7080</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The requested feature is not available. </p>

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

</div>
</div>
<a id="a18d6936a834082004d1b1d16fe0007a2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18d6936a834082004d1b1d16fe0007a2">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED&#160;&#160;&#160;-0x6A80</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>DTLS client must retry for hello verification </p>

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

</div>
</div>
<a id="aef773c241760a00e92c239a917e4868e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef773c241760a00e92c239a917e4868e">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_HW_ACCEL_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00092">92</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="af9328fb82f9548f4fa6bf3a5e1254c65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9328fb82f9548f4fa6bf3a5e1254c65">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00093">93</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="af06cd02b5bcd36592925c2f63d80f43f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af06cd02b5bcd36592925c2f63d80f43f">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_INTERNAL_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00100">100</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="ac88e465f67430fba26abeb44f2ac28d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac88e465f67430fba26abeb44f2ac28d5">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_INVALID_MAC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_INVALID_MAC&#160;&#160;&#160;-0x7180</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Verification of the message MAC failed. </p>

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

</div>
</div>
<a id="aad21f6b8a740ef21dd162d91b809e3a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad21f6b8a740ef21dd162d91b809e3a4">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_INVALID_RECORD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_INVALID_RECORD&#160;&#160;&#160;-0x7200</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>An invalid SSL record was received. </p>

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

</div>
</div>
<a id="a108a7d6b5de1cb99d797e468b12e09e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a108a7d6b5de1cb99d797e468b12e09e9">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_INVALID_VERIFY_HASH&#160;&#160;&#160;-0x6600</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Couldn't set the hash for verifying CertificateVerify </p>

<p class="definition">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 id="a55ed67b6e414f9b381ff536d9ea6b9c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55ed67b6e414f9b381ff536d9ea6b9c0">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00068">68</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="aaa160d753b94b4ecf6e22a1415450e8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa160d753b94b4ecf6e22a1415450e8f">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00070">70</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="aebfdb35dab3c9928c1db296b7b7140ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebfdb35dab3c9928c1db296b7b7140ab">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_NO_RNG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00069">69</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a50fc11595bf8ff0c2a39afe627623aae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50fc11595bf8ff0c2a39afe627623aae">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE&#160;&#160;&#160;-0x6980</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>None of the common ciphersuites is usable (eg, no suitable certificate, see debug messages). </p>

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

</div>
</div>
<a id="a15dd6290be1edd19d292ac31f595aaae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15dd6290be1edd19d292ac31f595aaae">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_NON_FATAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_NON_FATAL&#160;&#160;&#160;-0x6680</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The alert message received indicates a non-fatal error. </p>

<p class="definition">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 id="ac5e16e4c94a7e4ba0cf6b95c4547ddb1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5e16e4c94a7e4ba0cf6b95c4547ddb1">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00078">78</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="ac53adea4d4086a8e344459b053a5717b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac53adea4d4086a8e344459b053a5717b">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED&#160;&#160;&#160;-0x7800</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Verification of our peer failed. </p>

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

</div>
</div>
<a id="acfee5259b88126fa1f8fc5437a089f57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfee5259b88126fa1f8fc5437a089f57">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00098">98</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a4c40a91dc331782b9aaa82812fc38eb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c40a91dc331782b9aaa82812fc38eb4">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00073">73</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a8b1558e0b749f8b5f856d73d8b9869e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b1558e0b749f8b5f856d73d8b9869e9">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED&#160;&#160;&#160;-0x6D80</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Session ticket has expired. </p>

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

</div>
</div>
<a id="a2fdb240812860402a1a946eae8264148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fdb240812860402a1a946eae8264148">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_TIMEOUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_TIMEOUT&#160;&#160;&#160;-0x6800</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The operation timed out. </p>

<p class="definition">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 id="ada7521232ac79a0cc64e8f5325fc7574"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada7521232ac79a0cc64e8f5325fc7574">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_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 class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00075">75</a> of file <a class="el" href="ssl_8h_source.html">ssl.h</a>.</p>

</div>
</div>
<a id="a7aa1bd782c1b11479ac950627e3c0c9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7aa1bd782c1b11479ac950627e3c0c9b">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_UNEXPECTED_RECORD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_UNEXPECTED_RECORD&#160;&#160;&#160;-0x6700</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Record header looks valid but is not expected. </p>

<p class="definition">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 id="ac9df50cb6b7d5f0d3507a6bf8405adfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9df50cb6b7d5f0d3507a6bf8405adfe">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_UNKNOWN_CIPHER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_UNKNOWN_CIPHER&#160;&#160;&#160;-0x7300</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>An unknown cipher was received. </p>

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

</div>
</div>
<a id="adf3630ee46adcea979db9519225d0519"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf3630ee46adcea979db9519225d0519">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY&#160;&#160;&#160;-0x6C80</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unknown identity received (eg, PSK identity) </p>

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

</div>
</div>
<a id="adbadeb512c769067a5dbe1de97a85ad5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbadeb512c769067a5dbe1de97a85ad5">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO&#160;&#160;&#160;-0x6B00</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unexpected message at ServerHello in renegotiation. </p>

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

</div>
</div>
<a id="a67a1e093cf042831aa60bb567915b560"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67a1e093cf042831aa60bb567915b560">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_WANT_READ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_WANT_READ&#160;&#160;&#160;-0x6900</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Connection requires a read call. </p>

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

</div>
</div>
<a id="a674bde213fbbf602e04bbc131dd2dc33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a674bde213fbbf602e04bbc131dd2dc33">&#9670;&nbsp;</a></span>MBEDTLS_ERR_SSL_WANT_WRITE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_ERR_SSL_WANT_WRITE&#160;&#160;&#160;-0x6880</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Connection requires a write call. </p>

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

</div>
</div>
<a id="ad842f7de937285905b38ec3d5b5be387"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad842f7de937285905b38ec3d5b5be387">&#9670;&nbsp;</a></span>MBEDTLS_PREMASTER_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_PREMASTER_SIZE&#160;&#160;&#160;sizeof( union <a class="el" href="unionmbedtls__ssl__premaster__secret.html">mbedtls_ssl_premaster_secret</a> )</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a084cb30b175a3d44b33e625cd56aab6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a084cb30b175a3d44b33e625cd56aab6e">&#9670;&nbsp;</a></span>MBEDTLS_PSK_MAX_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_PSK_MAX_LEN&#160;&#160;&#160;32 /* 256 bits */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a8ad70eb6a9bae37818e795724675fbfb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ad70eb6a9bae37818e795724675fbfb">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_LEVEL_FATAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_LEVEL_FATAL&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a23ca8f8544f9713e67abcb8ef55948bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23ca8f8544f9713e67abcb8ef55948bd">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_LEVEL_WARNING</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_LEVEL_WARNING&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="acd89a8eae2cbfbd2263bdcfa8248c285"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd89a8eae2cbfbd2263bdcfa8248c285">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED&#160;&#160;&#160;49  /* 0x31 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ae6412b21ed10bc53eff53050f36d8ebe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6412b21ed10bc53eff53050f36d8ebe">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_BAD_CERT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_BAD_CERT&#160;&#160;&#160;42  /* 0x2A */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a0864fcf3359ee66e3959f5efb4c0505f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0864fcf3359ee66e3959f5efb4c0505f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC&#160;&#160;&#160;20  /* 0x14 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a1f9e718b111b0d5feef358042e3b8056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f9e718b111b0d5feef358042e3b8056">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED&#160;&#160;&#160;45  /* 0x2D */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ac1463d5ac5ecdb318b8476e8626ae4ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1463d5ac5ecdb318b8476e8626ae4ae">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED&#160;&#160;&#160;44  /* 0x2C */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a0ae60bd9af40ced069f670559a8ce79b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ae60bd9af40ced069f670559a8ce79b">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN&#160;&#160;&#160;46  /* 0x2E */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a4472901cb8f53faa48101c42b48e44de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4472901cb8f53faa48101c42b48e44de">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY&#160;&#160;&#160;0  /* 0x00 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a4e78bc53317a0dc97c85b0670d3ec47a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e78bc53317a0dc97c85b0670d3ec47a">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR&#160;&#160;&#160;50  /* 0x32 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a1c54745afbef4c6aa6174f5f25ffd476"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c54745afbef4c6aa6174f5f25ffd476">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE&#160;&#160;&#160;30  /* 0x1E */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="af7656ca08ca9231d9b5a1d96657f2ed4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7656ca08ca9231d9b5a1d96657f2ed4">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR&#160;&#160;&#160;51  /* 0x33 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a4820ff3e880f3d96021c2aecde7c2887"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4820ff3e880f3d96021c2aecde7c2887">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED&#160;&#160;&#160;21  /* 0x15 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a0ead35e5ec582fde31ff2719a429b496"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ead35e5ec582fde31ff2719a429b496">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION&#160;&#160;&#160;60  /* 0x3C */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a107264f1597432c595db416d1b9a0985"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a107264f1597432c595db416d1b9a0985">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE&#160;&#160;&#160;40  /* 0x28 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a547c792d9f5ab56adc98af556b8e7cb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a547c792d9f5ab56adc98af556b8e7cb3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER&#160;&#160;&#160;47  /* 0x2F */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a721eedb9c97af415079190c133c8085e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a721eedb9c97af415079190c133c8085e">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK&#160;&#160;&#160;86  /* 0x56 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a60f137fca04f01dddc6cc415e6a102d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60f137fca04f01dddc6cc415e6a102d0">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY&#160;&#160;&#160;71  /* 0x47 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a925ce2353fafc7b9b67f819de57fd828"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a925ce2353fafc7b9b67f819de57fd828">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR&#160;&#160;&#160;80  /* 0x50 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ab595e62e10ccc2879c5a3fc6f90789af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab595e62e10ccc2879c5a3fc6f90789af">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL&#160;&#160;&#160;120 /* 0x78 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a722ddc936f841b4eb603fc5a39e88bbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a722ddc936f841b4eb603fc5a39e88bbe">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_NO_CERT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_NO_CERT&#160;&#160;&#160;41  /* 0x29 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a919ba6ac88766715bd23402c8d5de2c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a919ba6ac88766715bd23402c8d5de2c3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION&#160;&#160;&#160;100  /* 0x64 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2436b79c76bb7c9a64a19324938fe7f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2436b79c76bb7c9a64a19324938fe7f6">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION&#160;&#160;&#160;70  /* 0x46 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a64774f767d912002125bee0ac3db1f5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64774f767d912002125bee0ac3db1f5c">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW&#160;&#160;&#160;22  /* 0x16 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ab17a92a7d0512a71310b8a4841a64442"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab17a92a7d0512a71310b8a4841a64442">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE&#160;&#160;&#160;10  /* 0x0A */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a70c944ab8ac62a1a4657ba0e1460a9fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70c944ab8ac62a1a4657ba0e1460a9fd">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA&#160;&#160;&#160;48  /* 0x30 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2f5fe3554740f9d2d28b8b5265667a97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f5fe3554740f9d2d28b8b5265667a97">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY&#160;&#160;&#160;115  /* 0x73 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a5003b563ba0fe6a695504fa56dc13c42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5003b563ba0fe6a695504fa56dc13c42">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME&#160;&#160;&#160;112  /* 0x70 */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a11b1fb765e3a67f5c51478f0ac60aea5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b1fb765e3a67f5c51478f0ac60aea5">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT&#160;&#160;&#160;43  /* 0x2B */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a9d6786a28a09997887960bbf49f237c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d6786a28a09997887960bbf49f237c6">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT&#160;&#160;&#160;110  /* 0x6E */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ae0f3fcb8c4a447b421ab37200ab021de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0f3fcb8c4a447b421ab37200ab021de">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ALERT_MSG_USER_CANCELED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ALERT_MSG_USER_CANCELED&#160;&#160;&#160;90  /* 0x5A */</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a285e6b3a4779aca09553176120900001"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a285e6b3a4779aca09553176120900001">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ANTI_REPLAY_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ANTI_REPLAY_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a34dc22ba8832d5a5d72bb4e5d01ed0d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34dc22ba8832d5a5d72bb4e5d01ed0d9">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ANTI_REPLAY_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ANTI_REPLAY_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a181720b27ed0ccdbb6d9be96326ddf37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a181720b27ed0ccdbb6d9be96326ddf37">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ARC4_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ARC4_DISABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ac175ac195de05e1f900bdeebfa82de5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac175ac195de05e1f900bdeebfa82de5f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ARC4_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ARC4_ENABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a65fd4c9379172843ae37b729704ea1a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65fd4c9379172843ae37b729704ea1a0">&#9670;&nbsp;</a></span>MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ab54bc287ba680cb40c20536754935873"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab54bc287ba680cb40c20536754935873">&#9670;&nbsp;</a></span>MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a25618afeff372f69c156cf00bb2b87b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25618afeff372f69c156cf00bb2b87b7">&#9670;&nbsp;</a></span>MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ae117ccb725d2a67af4472db2bc14a49f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae117ccb725d2a67af4472db2bc14a49f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a5dd842a86575ae2c2c6173379f4ce7c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dd842a86575ae2c2c6173379f4ce7c1">&#9670;&nbsp;</a></span>MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="abb389513e320bc337fa4a8fb75eb5f24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb389513e320bc337fa4a8fb75eb5f24">&#9670;&nbsp;</a></span>MBEDTLS_SSL_CERT_TYPE_RSA_SIGN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_CERT_TYPE_RSA_SIGN&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="abf3d629fb7b9263db5c3cfbe6a2b6089"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf3d629fb7b9263db5c3cfbe6a2b6089">&#9670;&nbsp;</a></span>MBEDTLS_SSL_COMPRESS_DEFLATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_COMPRESS_DEFLATE&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a676d13d335535176e2e75e4eee98833c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a676d13d335535176e2e75e4eee98833c">&#9670;&nbsp;</a></span>MBEDTLS_SSL_COMPRESS_NULL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_COMPRESS_NULL&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a893bf99106ecae0f9d9c0de2b02da6aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a893bf99106ecae0f9d9c0de2b02da6aa">&#9670;&nbsp;</a></span>MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME&#160;&#160;&#160;86400</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Lifetime of session tickets (if enabled) </p>

<p class="definition">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 id="ad8876bbe6b4d64163299aa99c0977abe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8876bbe6b4d64163299aa99c0977abe">&#9670;&nbsp;</a></span>MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX&#160;&#160;&#160;60000</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a50d609cafdb26f3d93ee79a233d13b24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50d609cafdb26f3d93ee79a233d13b24">&#9670;&nbsp;</a></span>MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN&#160;&#160;&#160;1000</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="adcfcbbd2bb1a0d4c2a9589f371fd6b83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcfcbbd2bb1a0d4c2a9589f371fd6b83">&#9670;&nbsp;</a></span>MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO&#160;&#160;&#160;0xFF</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>renegotiation info ext </p>

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

</div>
</div>
<a id="ab96eb32c8181525f2d508a0d2feead01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab96eb32c8181525f2d508a0d2feead01">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ETM_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ETM_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ab46e22481503a76e5437e71be3c45f2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab46e22481503a76e5437e71be3c45f2d">&#9670;&nbsp;</a></span>MBEDTLS_SSL_ETM_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_ETM_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a5e3d5af18adf3deece8c6db552044e1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e3d5af18adf3deece8c6db552044e1f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_EXTENDED_MS_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_EXTENDED_MS_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a71f29a4b71919584024896d2c06e2447"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71f29a4b71919584024896d2c06e2447">&#9670;&nbsp;</a></span>MBEDTLS_SSL_EXTENDED_MS_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_EXTENDED_MS_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ada038aaa998abef6412308eef7ae6ada"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada038aaa998abef6412308eef7ae6ada">&#9670;&nbsp;</a></span>MBEDTLS_SSL_FALLBACK_SCSV_VALUE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_FALLBACK_SCSV_VALUE&#160;&#160;&#160;0x5600</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>RFC 7507 section 2 </p>

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

</div>
</div>
<a id="a7a2d68114d36533bfe4005e9727033ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a2d68114d36533bfe4005e9727033ff">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_MD5</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_MD5&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a3f42b17b50c1f2f83b6537e4db62548e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f42b17b50c1f2f83b6537e4db62548e">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_NONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2b431c6897abb19d96c60e2642d66a39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b431c6897abb19d96c60e2642d66a39">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_SHA1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_SHA1&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a5bfe188244e611233538b888cb74a3b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bfe188244e611233538b888cb74a3b7">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_SHA224</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_SHA224&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a674cc54218acc7ea986608cc567040f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a674cc54218acc7ea986608cc567040f3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_SHA256</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_SHA256&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="aba929ac98d93a0e9248777e4a8688728"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba929ac98d93a0e9248777e4a8688728">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_SHA384</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_SHA384&#160;&#160;&#160;5</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="aecf70f5833670a2ac5821b57006aca16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecf70f5833670a2ac5821b57006aca16">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HASH_SHA512</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HASH_SHA512&#160;&#160;&#160;6</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="aa27392833c81be2caee387ac7b619c52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa27392833c81be2caee387ac7b619c52">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_CERTIFICATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_CERTIFICATE&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="aed6cdea239c61bc37f2b8bbf68d2df28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed6cdea239c61bc37f2b8bbf68d2df28">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_CERTIFICATE_REQUEST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_CERTIFICATE_REQUEST&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="aae66986e57bfa975d82d6a445178ee9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae66986e57bfa975d82d6a445178ee9a">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_CERTIFICATE_VERIFY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_CERTIFICATE_VERIFY&#160;&#160;&#160;15</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ae768902fb94d3388219bf10f07a878ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae768902fb94d3388219bf10f07a878ff">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_CLIENT_HELLO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_CLIENT_HELLO&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a068dedb465afb5170cffaab265f082e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a068dedb465afb5170cffaab265f082e4">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a6a08488cd4c6e2f8ec9e800779cc9e2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a08488cd4c6e2f8ec9e800779cc9e2d">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_FINISHED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_FINISHED&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a706ff16a6c43733a7da65246859fc830"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a706ff16a6c43733a7da65246859fc830">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_HELLO_REQUEST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_HELLO_REQUEST&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ac5f7ae374a1f79b8b6f5c2d698575757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5f7ae374a1f79b8b6f5c2d698575757">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="aa6a45148b438c8269afa04e972db48ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6a45148b438c8269afa04e972db48ff">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_NEW_SESSION_TICKET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_NEW_SESSION_TICKET&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ae64b6d9cb5a4c3f089f7239813e3908f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae64b6d9cb5a4c3f089f7239813e3908f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_SERVER_HELLO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_SERVER_HELLO&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a4f56b4e3a2aad3bd2872b9894b33adfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f56b4e3a2aad3bd2872b9894b33adfd">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_SERVER_HELLO_DONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_SERVER_HELLO_DONE&#160;&#160;&#160;14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a8d7241ce99f979d7dff0a2b2217bfad4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d7241ce99f979d7dff0a2b2217bfad4">&#9670;&nbsp;</a></span>MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2064e7d9ad950b5979d2d6bab6ddc739"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2064e7d9ad950b5979d2d6bab6ddc739">&#9670;&nbsp;</a></span>MBEDTLS_SSL_IS_CLIENT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_IS_CLIENT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a7c6466ef0e38b09e9b8476134bedb68d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c6466ef0e38b09e9b8476134bedb68d">&#9670;&nbsp;</a></span>MBEDTLS_SSL_IS_FALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_IS_FALLBACK&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a6423d5331b5c5166a40d5bb1a1ad5fc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6423d5331b5c5166a40d5bb1a1ad5fc3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_IS_NOT_FALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_IS_NOT_FALLBACK&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a6eb28200b2a66fbc24cdb60e995cf82f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6eb28200b2a66fbc24cdb60e995cf82f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_IS_SERVER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_IS_SERVER&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="acdc84b7b79f91d4e0628f6d20875d7ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acdc84b7b79f91d4e0628f6d20875d7ca">&#9670;&nbsp;</a></span>MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a0c6431df5730ce2690f3f9af1979676b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c6431df5730ce2690f3f9af1979676b">&#9670;&nbsp;</a></span>MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a8ce0943627aaacccb0df01c23075232e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ce0943627aaacccb0df01c23075232e">&#9670;&nbsp;</a></span>MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a700877ec0d00170fa21b419f23dff7da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a700877ec0d00170fa21b419f23dff7da">&#9670;&nbsp;</a></span>MBEDTLS_SSL_LEGACY_RENEGOTIATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_LEGACY_RENEGOTIATION&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a9d404d5f3b4c7ebe03da19aa1bf2f23e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d404d5f3b4c7ebe03da19aa1bf2f23e">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAJOR_VERSION_3</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MAJOR_VERSION_3&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a4a5b73bae4d762a05684812ad6c6b1b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a5b73bae4d762a05684812ad6c6b1b2">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_CONTENT_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MAX_CONTENT_LEN&#160;&#160;&#160;16384</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Size of the input / output buffer </p>

<p class="definition">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 id="ad2d55e32e6514fb146b8681ea914b991"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2d55e32e6514fb146b8681ea914b991">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_FRAG_LEN_1024</h2>

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

<p class="definition">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 id="a08a6eb65d87c8d6565f47689d4e80bd3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08a6eb65d87c8d6565f47689d4e80bd3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_FRAG_LEN_2048</h2>

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

<p class="definition">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 id="adfe756e3f577397f4a3328b0e927bb6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfe756e3f577397f4a3328b0e927bb6a">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_FRAG_LEN_4096</h2>

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

<p class="definition">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 id="a148f83e96299be6220fc3c922cfb58d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a148f83e96299be6220fc3c922cfb58d5">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_FRAG_LEN_512</h2>

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

<p class="definition">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 id="a256731a4bb52bb1960cc88ec4f350926"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a256731a4bb52bb1960cc88ec4f350926">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_FRAG_LEN_INVALID</h2>

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

<p class="definition">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 id="a952256aaeb342b5f8cb55fb39891b235"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a952256aaeb342b5f8cb55fb39891b235">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_FRAG_LEN_NONE</h2>

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

<p class="definition">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 id="aef622c5c0303bce83a09cb1a332c611c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef622c5c0303bce83a09cb1a332c611c">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MAX_HOST_NAME_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MAX_HOST_NAME_LEN&#160;&#160;&#160;255</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Maximum host name defined in RFC 1035 </p>

<p class="definition">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 id="a29f89cb1c3fa78a8c57f683495feff15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29f89cb1c3fa78a8c57f683495feff15">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MINOR_VERSION_0</h2>

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

<p class="definition">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 id="a364e4bfbd4f909a2aa7ac5eb31c6b1b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a364e4bfbd4f909a2aa7ac5eb31c6b1b2">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MINOR_VERSION_1</h2>

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

<p class="definition">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 id="a9fe59361b834e334b80efacb10f8e33a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fe59361b834e334b80efacb10f8e33a">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MINOR_VERSION_2</h2>

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

<p class="definition">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 id="a3c5a90b4b4aded2190f31f7d4c670cb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c5a90b4b4aded2190f31f7d4c670cb4">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MINOR_VERSION_3</h2>

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

<p class="definition">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 id="a8e7b8865c215ffd865b665e615cf2543"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e7b8865c215ffd865b665e615cf2543">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MSG_ALERT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MSG_ALERT&#160;&#160;&#160;21</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a46568720d8bc2adb85639b43661e165d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46568720d8bc2adb85639b43661e165d">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MSG_APPLICATION_DATA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MSG_APPLICATION_DATA&#160;&#160;&#160;23</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a80034e4bb6039b0fe59643ef73158685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80034e4bb6039b0fe59643ef73158685">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC&#160;&#160;&#160;20</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="af9d460925507c3eb3c16afb4e479c4e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9d460925507c3eb3c16afb4e479c4e6">&#9670;&nbsp;</a></span>MBEDTLS_SSL_MSG_HANDSHAKE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_MSG_HANDSHAKE&#160;&#160;&#160;22</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="afb44a7bdf71d0a1472db0c70596599cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb44a7bdf71d0a1472db0c70596599cb">&#9670;&nbsp;</a></span>MBEDTLS_SSL_PRESET_DEFAULT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_PRESET_DEFAULT&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a89fceac26c7341fe2e64cb4dd8ecd9f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89fceac26c7341fe2e64cb4dd8ecd9f0">&#9670;&nbsp;</a></span>MBEDTLS_SSL_PRESET_SUITEB</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_PRESET_SUITEB&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="af1b45662f14bb9dedf1a477ba6956123"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1b45662f14bb9dedf1a477ba6956123">&#9670;&nbsp;</a></span>MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ab2906fd989d6140e2e44156f3f4de539"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2906fd989d6140e2e44156f3f4de539">&#9670;&nbsp;</a></span>MBEDTLS_SSL_RENEGOTIATION_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_RENEGOTIATION_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2c3d531d6f50c391c906fee2644d74e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c3d531d6f50c391c906fee2644d74e8">&#9670;&nbsp;</a></span>MBEDTLS_SSL_RENEGOTIATION_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_RENEGOTIATION_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2de1929e7819ed07965e08469ae7201f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2de1929e7819ed07965e08469ae7201f">&#9670;&nbsp;</a></span>MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a8fe0060cf903cffeb0da1f92abdfb2c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fe0060cf903cffeb0da1f92abdfb2c3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_SECURE_RENEGOTIATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_SECURE_RENEGOTIATION&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a84702526473717a1c38f14fdbbe9967a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84702526473717a1c38f14fdbbe9967a">&#9670;&nbsp;</a></span>MBEDTLS_SSL_SESSION_TICKETS_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_SESSION_TICKETS_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a6575b4025d4f6586a36e639b78672d7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6575b4025d4f6586a36e639b78672d7c">&#9670;&nbsp;</a></span>MBEDTLS_SSL_SESSION_TICKETS_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_SESSION_TICKETS_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ac4da5bf751b2f10ce5cc889ecc65b9a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4da5bf751b2f10ce5cc889ecc65b9a1">&#9670;&nbsp;</a></span>MBEDTLS_SSL_SIG_ANON</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_SIG_ANON&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="aa87b5d7f48bfdd4eb2d936b138ddead3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa87b5d7f48bfdd4eb2d936b138ddead3">&#9670;&nbsp;</a></span>MBEDTLS_SSL_SIG_ECDSA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_SIG_ECDSA&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a2ad0ae8214df337efb1bde3eb83673f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ad0ae8214df337efb1bde3eb83673f1">&#9670;&nbsp;</a></span>MBEDTLS_SSL_SIG_RSA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_SIG_RSA&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ac00527bc4661e5d7f2df5e7e96a6a896"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac00527bc4661e5d7f2df5e7e96a6a896">&#9670;&nbsp;</a></span>MBEDTLS_SSL_TRANSPORT_DATAGRAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_TRANSPORT_DATAGRAM&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>DTLS </p>

<p class="definition">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 id="acf690cf4772ff3e2df4b8295275e6fc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf690cf4772ff3e2df4b8295275e6fc7">&#9670;&nbsp;</a></span>MBEDTLS_SSL_TRANSPORT_STREAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_TRANSPORT_STREAM&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>TLS </p>

<p class="definition">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 id="a5e4abda89afa299baa930e33891b00b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e4abda89afa299baa930e33891b00b9">&#9670;&nbsp;</a></span>MBEDTLS_SSL_TRUNC_HMAC_DISABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_TRUNC_HMAC_DISABLED&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a0fa70647c55d669facfe3364e5d604e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fa70647c55d669facfe3364e5d604e7">&#9670;&nbsp;</a></span>MBEDTLS_SSL_TRUNC_HMAC_ENABLED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_TRUNC_HMAC_ENABLED&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a299866ebaa08c8b37ece3c652dfb8082"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a299866ebaa08c8b37ece3c652dfb8082">&#9670;&nbsp;</a></span>MBEDTLS_SSL_TRUNCATED_HMAC_LEN</h2>

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

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

</div>
</div>
<a id="a7bb4393075100dbfbb37008fb81c6d29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bb4393075100dbfbb37008fb81c6d29">&#9670;&nbsp;</a></span>MBEDTLS_SSL_VERIFY_DATA_MAX_LEN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_VERIFY_DATA_MAX_LEN&#160;&#160;&#160;12</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a1976b5c76af7b8b8f76c6f302828b387"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1976b5c76af7b8b8f76c6f302828b387">&#9670;&nbsp;</a></span>MBEDTLS_SSL_VERIFY_NONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_VERIFY_NONE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a781032826cba362cda1c9201490d6f62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a781032826cba362cda1c9201490d6f62">&#9670;&nbsp;</a></span>MBEDTLS_SSL_VERIFY_OPTIONAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_VERIFY_OPTIONAL&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="acc9ad7a06d7c65260e815a3187a5fb37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc9ad7a06d7c65260e815a3187a5fb37">&#9670;&nbsp;</a></span>MBEDTLS_SSL_VERIFY_REQUIRED</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_VERIFY_REQUIRED&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="aedae08b9b939f56fd64763aa6df026ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedae08b9b939f56fd64763aa6df026ce">&#9670;&nbsp;</a></span>MBEDTLS_SSL_VERIFY_UNSET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_SSL_VERIFY_UNSET&#160;&#160;&#160;3 /* Used only for sni_authmode */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a56245d7f7abff26b28609d798bf75716"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56245d7f7abff26b28609d798bf75716">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_ALPN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_ALPN&#160;&#160;&#160;16</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a53429efaa97d62c94ec2cbd259e7fc58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53429efaa97d62c94ec2cbd259e7fc58">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_ECJPAKE_KKPP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_ECJPAKE_KKPP&#160;&#160;&#160;256 /* experimental */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a37fefdb5c274c60b7e9752d22faf6ceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37fefdb5c274c60b7e9752d22faf6ceb">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC&#160;&#160;&#160;22 /* 0x16 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a7c0c6cc7f890739240584b50fdd637ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c0c6cc7f890739240584b50fdd637ca">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET&#160;&#160;&#160;0x0017 /* 23 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a29f3ec6c787cf368ad28f19c78821179"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29f3ec6c787cf368ad28f19c78821179">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a57fb40ff7186bfa2512104fa793435aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57fb40ff7186bfa2512104fa793435aa">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_RENEGOTIATION_INFO</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_RENEGOTIATION_INFO&#160;&#160;&#160;0xFF01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a942dee25d2dee550625b17f9d1a3a256"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a942dee25d2dee550625b17f9d1a3a256">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_SERVERNAME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_SERVERNAME&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a5d7028236245fee182f6243497b0398c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d7028236245fee182f6243497b0398c">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="a800c6b6b24b265e7dc48992a8614fc91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a800c6b6b24b265e7dc48992a8614fc91">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_SESSION_TICKET</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_SESSION_TICKET&#160;&#160;&#160;35</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a633e991fcfa7e1121df9edc61901b62a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a633e991fcfa7e1121df9edc61901b62a">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_SIG_ALG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_SIG_ALG&#160;&#160;&#160;13</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="affdee4d954541f35389c538c56a4a187"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affdee4d954541f35389c538c56a4a187">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES&#160;&#160;&#160;10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="ac0b55c07d3c7a93799a6e7438b8feb09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0b55c07d3c7a93799a6e7438b8feb09">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS&#160;&#160;&#160;11</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">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 id="afe71b85be37d12a7cfc9c0236c4d0bcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe71b85be37d12a7cfc9c0236c4d0bcf">&#9670;&nbsp;</a></span>MBEDTLS_TLS_EXT_TRUNCATED_HMAC</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_TLS_EXT_TRUNCATED_HMAC&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="afc3ee8174ecf267f5ff42b278376a2fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc3ee8174ecf267f5ff42b278376a2fd">&#9670;&nbsp;</a></span>mbedtls_ssl_config</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> <a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a225b5187c17ee65d13a14450bf228068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a225b5187c17ee65d13a14450bf228068">&#9670;&nbsp;</a></span>mbedtls_ssl_context</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a9cfda5aee70d6c2c19a8dfb5af900d80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cfda5aee70d6c2c19a8dfb5af900d80">&#9670;&nbsp;</a></span>mbedtls_ssl_cookie_check_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_cookie_check_t(void *ctx, const unsigned char *cookie, size_t clen, const unsigned char *info, size_t ilen)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: verify a cookie. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context for the callback </td></tr>
    <tr><td class="paramname">cookie</td><td>Cookie to verify </td></tr>
    <tr><td class="paramname">clen</td><td>Length of cookie </td></tr>
    <tr><td class="paramname">info</td><td>Client ID info that was passed to <code><a class="el" href="ssl_8h.html#a15fab95c13a898f32fa69ff2065c1051" title="Set client&#39;s transport-level identification info. (Server only. DTLS only.) ">mbedtls_ssl_set_client_transport_id()</a></code> </td></tr>
    <tr><td class="paramname">ilen</td><td>Length of info in bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The callback must return 0 if cookie is valid, or a negative error code. </dd></dl>

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

</div>
</div>
<a id="a536f8b89936f26732150b00639a47ff0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a536f8b89936f26732150b00639a47ff0">&#9670;&nbsp;</a></span>mbedtls_ssl_cookie_write_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_cookie_write_t(void *ctx, unsigned char **p, unsigned char *end, const unsigned char *info, size_t ilen)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: generate a cookie. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context for the callback </td></tr>
    <tr><td class="paramname">p</td><td>Buffer to write to, must be updated to point right after the cookie </td></tr>
    <tr><td class="paramname">end</td><td>Pointer to one past the end of the output buffer </td></tr>
    <tr><td class="paramname">info</td><td>Client ID info that was passed to <code><a class="el" href="ssl_8h.html#a15fab95c13a898f32fa69ff2065c1051" title="Set client&#39;s transport-level identification info. (Server only. DTLS only.) ">mbedtls_ssl_set_client_transport_id()</a></code> </td></tr>
    <tr><td class="paramname">ilen</td><td>Length of info in bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The callback must return 0 on success, or a negative error code. </dd></dl>

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

</div>
</div>
<a id="a8f3ea9d32be68d7cd1605f39ce00d697"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f3ea9d32be68d7cd1605f39ce00d697">&#9670;&nbsp;</a></span>mbedtls_ssl_export_keys_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_export_keys_t(void *p_expkey, const unsigned char *ms, const unsigned char *kb, size_t maclen, size_t keylen, size_t ivlen)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: Export key block and master secret. </p>
<dl class="section note"><dt>Note</dt><dd>This is required for certain uses of TLS, e.g. EAP-TLS (RFC 5216) and Thread. The key pointers are ephemeral and therefore must not be stored. The master secret and keys should not be used directly except as an input to a key derivation function.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_expkey</td><td>Context for the callback </td></tr>
    <tr><td class="paramname">ms</td><td>Pointer to master secret (fixed length: 48 bytes) </td></tr>
    <tr><td class="paramname">kb</td><td>Pointer to key block, see RFC 5246 section 6.3 (variable length: 2 * maclen + 2 * keylen + 2 * ivlen). </td></tr>
    <tr><td class="paramname">maclen</td><td>MAC length </td></tr>
    <tr><td class="paramname">keylen</td><td>Key length </td></tr>
    <tr><td class="paramname">ivlen</td><td>IV length</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a specific MBEDTLS_ERR_XXX code. </dd></dl>

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

</div>
</div>
<a id="ac0357eb38b019a7638e34852ac90f6d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0357eb38b019a7638e34852ac90f6d7">&#9670;&nbsp;</a></span>mbedtls_ssl_flight_item</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ssl_8h.html#ac0357eb38b019a7638e34852ac90f6d7">mbedtls_ssl_flight_item</a> <a class="el" href="ssl_8h.html#ac0357eb38b019a7638e34852ac90f6d7">mbedtls_ssl_flight_item</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="adea005600b532d788c05e9d01b42895b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adea005600b532d788c05e9d01b42895b">&#9670;&nbsp;</a></span>mbedtls_ssl_get_timer_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_get_timer_t(void *ctx)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: get status of timers/delays. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context pointer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This callback must return: -1 if cancelled (fin_ms == 0), 0 if none of the delays have passed, 1 if only the intermediate delay has passed, 2 if the final delay has passed. </dd></dl>

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

</div>
</div>
<a id="a5c13e913e3b1de510e5d12c1b0ae9358"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c13e913e3b1de510e5d12c1b0ae9358">&#9670;&nbsp;</a></span>mbedtls_ssl_handshake_params</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ssl_8h.html#a5c13e913e3b1de510e5d12c1b0ae9358">mbedtls_ssl_handshake_params</a> <a class="el" href="ssl_8h.html#a5c13e913e3b1de510e5d12c1b0ae9358">mbedtls_ssl_handshake_params</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="af06d98867191eb685ab0c7067840b6f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af06d98867191eb685ab0c7067840b6f3">&#9670;&nbsp;</a></span>mbedtls_ssl_key_cert</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ssl_8h.html#af06d98867191eb685ab0c7067840b6f3">mbedtls_ssl_key_cert</a> <a class="el" href="ssl_8h.html#af06d98867191eb685ab0c7067840b6f3">mbedtls_ssl_key_cert</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="ac06b19b96b643090c55f19b6c28b10c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac06b19b96b643090c55f19b6c28b10c4">&#9670;&nbsp;</a></span>mbedtls_ssl_recv_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_recv_t(void *ctx, unsigned char *buf, size_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: receive data from the network. </p>
<dl class="section note"><dt>Note</dt><dd>That callback may be either blocking or non-blocking.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context for the receive callback (typically a file descriptor) </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer to write the received data to </td></tr>
    <tr><td class="paramname">len</td><td>Length of the receive buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The callback must return the number of bytes received, or a non-zero error code. If performing non-blocking I/O, <code>MBEDTLS_ERR_SSL_WANT_READ</code> must be returned when the operation would block.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The callback may receive fewer bytes than the length of the buffer. It must always return the number of bytes actually received and written to the buffer. </dd></dl>

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

</div>
</div>
<a id="a6d615ca95c8a67d7c5f9d7d256dc09e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d615ca95c8a67d7c5f9d7d256dc09e6">&#9670;&nbsp;</a></span>mbedtls_ssl_recv_timeout_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_recv_timeout_t(void *ctx, unsigned char *buf, size_t len, uint32_t timeout)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: receive data from the network, with timeout. </p>
<dl class="section note"><dt>Note</dt><dd>That callback must block until data is received, or the timeout delay expires, or the operation is interrupted by a signal.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context for the receive callback (typically a file descriptor) </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer to write the received data to </td></tr>
    <tr><td class="paramname">len</td><td>Length of the receive buffer </td></tr>
    <tr><td class="paramname">timeout</td><td>Maximum nomber of millisecondes to wait for data 0 means no timeout (potentially waiting forever)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The callback must return the number of bytes received, or a non-zero error code: <code>MBEDTLS_ERR_SSL_TIMEOUT</code> if the operation timed out, <code>MBEDTLS_ERR_SSL_WANT_READ</code> if interrupted by a signal.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The callback may receive fewer bytes than the length of the buffer. It must always return the number of bytes actually received and written to the buffer. </dd></dl>

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

</div>
</div>
<a id="a38e2b400d361f42f85833cdc30b3916e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38e2b400d361f42f85833cdc30b3916e">&#9670;&nbsp;</a></span>mbedtls_ssl_send_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_send_t(void *ctx, const unsigned char *buf, size_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: send data on the network. </p>
<dl class="section note"><dt>Note</dt><dd>That callback may be either blocking or non-blocking.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context for the send callback (typically a file descriptor) </td></tr>
    <tr><td class="paramname">buf</td><td>Buffer holding the data to send </td></tr>
    <tr><td class="paramname">len</td><td>Length of the data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The callback must return the number of bytes sent if any, or a non-zero error code. If performing non-blocking I/O, <code>MBEDTLS_ERR_SSL_WANT_WRITE</code> must be returned when the operation would block.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>The callback is allowed to send fewer bytes than requested. It must always return the number of bytes actually sent. </dd></dl>

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

</div>
</div>
<a id="a3a2ac45d548df527404c929bdce76ea6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a2ac45d548df527404c929bdce76ea6">&#9670;&nbsp;</a></span>mbedtls_ssl_session</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a61c5d9ed63c50ee809eec98820d3f36c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61c5d9ed63c50ee809eec98820d3f36c">&#9670;&nbsp;</a></span>mbedtls_ssl_set_timer_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void mbedtls_ssl_set_timer_t(void *ctx, uint32_t int_ms, uint32_t fin_ms)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: set a pair of timers/delays to watch. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ctx</td><td>Context pointer </td></tr>
    <tr><td class="paramname">int_ms</td><td>Intermediate delay in milliseconds </td></tr>
    <tr><td class="paramname">fin_ms</td><td>Final delay in milliseconds 0 cancels the current timer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This callback must at least store the necessary information for the associated <code>mbedtls_ssl_get_timer_t</code> callback to return correct information.</dd>
<dd>
If using a event-driven style of programming, an event must be generated when the final delay is passed. The event must cause a call to <code><a class="el" href="ssl_8h.html#a4a37e497cd08c896870a42b1b618186e" title="Perform the SSL handshake. ">mbedtls_ssl_handshake()</a></code> with the proper SSL context to be scheduled. Care must be taken to ensure that at most one such call happens at a time.</dd>
<dd>
Only one timer at a time must be running. Calling this function while a timer is running must cancel it. Cancelled timers must not generate any event. </dd></dl>

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

</div>
</div>
<a id="a4ff9b096662c00c26b6d44d8bf4bc5d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ff9b096662c00c26b6d44d8bf4bc5d5">&#9670;&nbsp;</a></span>mbedtls_ssl_sig_hash_set_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ssl_8h.html#a4ff9b096662c00c26b6d44d8bf4bc5d5">mbedtls_ssl_sig_hash_set_t</a> <a class="el" href="ssl_8h.html#a4ff9b096662c00c26b6d44d8bf4bc5d5">mbedtls_ssl_sig_hash_set_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<a id="a48aea353b22e86deece00933ef941536"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48aea353b22e86deece00933ef941536">&#9670;&nbsp;</a></span>mbedtls_ssl_ticket_parse_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_ticket_parse_t(void *p_ticket, <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session, unsigned char *buf, size_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: parse and load session ticket. </p>
<dl class="section note"><dt>Note</dt><dd>This describes what a callback implementation should do. This callback should parse a session ticket as generated by the corresponding mbedtls_ssl_ticket_write_t function, and, if the ticket is authentic and valid, load the session.</dd>
<dd>
The implementation is allowed to modify the first len bytes of the input buffer, eg to use it as a temporary area for the decrypted ticket contents.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_ticket</td><td>Context for the callback </td></tr>
    <tr><td class="paramname">session</td><td>SSL session to be loaded </td></tr>
    <tr><td class="paramname">buf</td><td>Start of the buffer containing the ticket </td></tr>
    <tr><td class="paramname">len</td><td>Length of the ticket.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or MBEDTLS_ERR_SSL_INVALID_MAC if not authentic, or MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED if expired, or any other non-zero code for other failures. </dd></dl>

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

</div>
</div>
<a id="a112d1fc2dd4db788592457d14c0c2899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a112d1fc2dd4db788592457d14c0c2899">&#9670;&nbsp;</a></span>mbedtls_ssl_ticket_write_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int mbedtls_ssl_ticket_write_t(void *p_ticket, const <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *session, unsigned char *start, const unsigned char *end, size_t *tlen, uint32_t *lifetime)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback type: generate and write session ticket. </p>
<dl class="section note"><dt>Note</dt><dd>This describes what a callback implementation should do. This callback should generate an encrypted and authenticated ticket for the session and write it to the output buffer. Here, ticket means the opaque ticket part of the NewSessionTicket structure of RFC 5077.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_ticket</td><td>Context for the callback </td></tr>
    <tr><td class="paramname">session</td><td>SSL session to be written in the ticket </td></tr>
    <tr><td class="paramname">start</td><td>Start of the output buffer </td></tr>
    <tr><td class="paramname">end</td><td>End of the output buffer </td></tr>
    <tr><td class="paramname">tlen</td><td>On exit, holds the length written </td></tr>
    <tr><td class="paramname">lifetime</td><td>On exit, holds the lifetime of the ticket in seconds</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a specific MBEDTLS_ERR_XXX code. </dd></dl>

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

</div>
</div>
<a id="a265603a8d5d7e22cbe95c9a7588395f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a265603a8d5d7e22cbe95c9a7588395f6">&#9670;&nbsp;</a></span>mbedtls_ssl_transform</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ssl_8h.html#a265603a8d5d7e22cbe95c9a7588395f6">mbedtls_ssl_transform</a> <a class="el" href="ssl_8h.html#a265603a8d5d7e22cbe95c9a7588395f6">mbedtls_ssl_transform</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="ssl_8h_source.html#l00536">536</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 id="a38f2ea5d01dc38dc852a1dd3af6988b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38f2ea5d01dc38dc852a1dd3af6988b0">&#9670;&nbsp;</a></span>mbedtls_ssl_states</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="ssl_8h.html#a38f2ea5d01dc38dc852a1dd3af6988b0">mbedtls_ssl_states</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0ad0d0417e506d2c0dd9d3ba8f8ed16b98"></a>MBEDTLS_SSL_HELLO_REQUEST&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a719dfc3139318a9433c982d5ad7e1da3"></a>MBEDTLS_SSL_CLIENT_HELLO&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a3a8fbf7a2b30a55fc54919f44ecec277"></a>MBEDTLS_SSL_SERVER_HELLO&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a75ce38da6d18a1bbb536e90545de25a2"></a>MBEDTLS_SSL_SERVER_CERTIFICATE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a2fa8d6dec9530663abd97f1e40a73048"></a>MBEDTLS_SSL_SERVER_KEY_EXCHANGE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a7ec5efe40ef7cd3eb2a1822c3e1f5835"></a>MBEDTLS_SSL_CERTIFICATE_REQUEST&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a0f515cc56cbc0c9a361776b25076d585"></a>MBEDTLS_SSL_SERVER_HELLO_DONE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0ad9148742aef0e7d5dfc3347e7fcaac1c"></a>MBEDTLS_SSL_CLIENT_CERTIFICATE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a5665849f570a62c18646f929949c0a58"></a>MBEDTLS_SSL_CLIENT_KEY_EXCHANGE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a0585b241140cf6b0833b5c8bc77d154a"></a>MBEDTLS_SSL_CERTIFICATE_VERIFY&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0abba1c6f9a06c48dc59cabb38230b336f"></a>MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a856895e8166b855be5e1655bc90a85ea"></a>MBEDTLS_SSL_CLIENT_FINISHED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a9ec83156132a2a9989c1639cabbf8862"></a>MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a2f5c45008331d3bef3ee8b4830bb43d7"></a>MBEDTLS_SSL_SERVER_FINISHED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0ade6250da8ee1486c5dc8adbd2bc4a176"></a>MBEDTLS_SSL_FLUSH_BUFFERS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0ab97eae0c72f041818f8af2cfafac7e5c"></a>MBEDTLS_SSL_HANDSHAKE_WRAPUP&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a077633740a69a39daf3cd1366cf57f45"></a>MBEDTLS_SSL_HANDSHAKE_OVER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0a81f0344c3c9220697130861980df9eb5"></a>MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a38f2ea5d01dc38dc852a1dd3af6988b0aa0a4ac1bd375ca695704302c09f6f116"></a>MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">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>
<h2 class="groupheader">Function Documentation</h2>
<a id="ac2c1b17128ead2df3082e27b603deb4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2c1b17128ead2df3082e27b603deb4c">&#9670;&nbsp;</a></span>mbedtls_ssl_close_notify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_close_notify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or a specific SSL error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If this function returns something other than 0 or MBEDTLS_ERR_SSL_WANT_READ/WRITE, then the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed. </dd></dl>

</div>
</div>
<a id="ae21135dddd89b2ef273c13e140097f5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae21135dddd89b2ef273c13e140097f5a">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_alpn_protocols()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_conf_alpn_protocols </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">protos</td><td>Pointer to a NULL-terminated list of supported protocols, in decreasing preference order. The pointer to the list is recorded by the library for later reference as required, so the lifetime of the table must be atleast as long as the lifetime of the SSL configuration structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or MBEDTLS_ERR_SSL_BAD_INPUT_DATA. </dd></dl>

</div>
</div>
<a id="a9e904913a122bd7cb13260217e4cc868"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e904913a122bd7cb13260217e4cc868">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_arc4_support()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_arc4_support </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>arc4</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disable or enable support for RC4 (Default: MBEDTLS_SSL_ARC4_DISABLED) </p>
<dl class="section warning"><dt>Warning</dt><dd>Use of RC4 in DTLS/TLS has been prohibited by RFC 7465 for security reasons. Use at your own risk.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function is deprecated and will likely be removed in a future version of the library. RC4 is disabled by default at compile time and needs to be actively enabled for use with legacy systems.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">arc4</td><td>MBEDTLS_SSL_ARC4_ENABLED or MBEDTLS_SSL_ARC4_DISABLED </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5695285c9dbfefec295012b566290f37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5695285c9dbfefec295012b566290f37">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_authmode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_authmode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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 Default: NONE on server, REQUIRED on client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">authmode</td><td>can be:</td></tr>
  </table>
  </dd>
</dl>
<p>MBEDTLS_SSL_VERIFY_NONE: peer certificate is not checked (default on server) (insecure on client)</p>
<p>MBEDTLS_SSL_VERIFY_OPTIONAL: peer certificate is checked, however the handshake continues even if verification failed; <a class="el" href="ssl_8h.html#a516064f1468d459159ef7cd6c496a026" title="Return the result of the certificate verification. ">mbedtls_ssl_get_verify_result()</a> can be called after the handshake is complete.</p>
<p>MBEDTLS_SSL_VERIFY_REQUIRED: peer <em>must</em> present a valid certificate, handshake is aborted if verification failed. (default on client)</p>
<dl class="section note"><dt>Note</dt><dd>On client, MBEDTLS_SSL_VERIFY_REQUIRED is the recommended mode. With MBEDTLS_SSL_VERIFY_OPTIONAL, the user needs to call <a class="el" href="ssl_8h.html#a516064f1468d459159ef7cd6c496a026" title="Return the result of the certificate verification. ">mbedtls_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 id="a85c3bb6b682ba361d13de1c0a1eb69fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a85c3bb6b682ba361d13de1c0a1eb69fb">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_ca_chain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_ca_chain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__x509__crt.html">mbedtls_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="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *&#160;</td>
          <td class="paramname"><em>ca_crl</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="section note"><dt>Note</dt><dd>See <code><a class="el" href="group__x509__module.html#ga98ed4504e4f832b735a230acf54fcde3" title="Verify the certificate signature. ">mbedtls_x509_crt_verify()</a></code> for notes regarding the parameters ca_chain (maps to trust_ca for that function) and ca_crl.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2cafaf0e79682a1152838d4991b59e23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cafaf0e79682a1152838d4991b59e23">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_cbc_record_splitting()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_cbc_record_splitting </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>split</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable / Disable 1/n-1 record splitting (Default: MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED) </p>
<dl class="section note"><dt>Note</dt><dd>Only affects SSLv3 and TLS 1.0, not higher versions. Does not affect non-CBC ciphersuites in any version.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">split</td><td>MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED or MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a76dc3c312ffd51f6d0ca127b322307bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76dc3c312ffd51f6d0ca127b322307bb">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_cert_profile()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_cert_profile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structmbedtls__x509__crt__profile.html">mbedtls_x509_crt_profile</a> *&#160;</td>
          <td class="paramname"><em>profile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the X.509 security profile used for verification. </p>
<dl class="section note"><dt>Note</dt><dd>The restrictions are enforced for all certificates in the chain. However, signatures in the handshake are not covered by this setting but by <b><a class="el" href="ssl_8h.html#a73725fed867e0fd29396c7c6565a76e6" title="Set the allowed hashes for signatures during the handshake. (Default: all available hashes except MD5...">mbedtls_ssl_conf_sig_hashes()</a></b>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">profile</td><td>Profile to use </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a05492293c43910a64f746af8f71efb2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05492293c43910a64f746af8f71efb2f">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_cert_req_ca_list()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_cert_req_ca_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>cert_req_ca_list</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Whether to send a list of acceptable CAs in CertificateRequest messages. (Default: do send) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">cert_req_ca_list</td><td>MBEDTLS_SSL_CERT_REQ_CA_LIST_ENABLED or MBEDTLS_SSL_CERT_REQ_CA_LIST_DISABLED </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac8e4df37cadda8f743ed45501a51fec1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8e4df37cadda8f743ed45501a51fec1">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_ciphersuites()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_ciphersuites </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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. First in the list has the highest preference. (Overrides all version-specific lists) </p>
<p>The ciphersuites array is not copied, and must remain valid for the lifetime of the ssl_config.</p>
<p>Note: The server uses its own preferences over the preference of the client unless MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE is defined!</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">ciphersuites</td><td>0-terminated list of allowed ciphersuites </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa597f5461c48ee6014397c926916e6ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa597f5461c48ee6014397c926916e6ae">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_ciphersuites_for_version()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_ciphersuites_for_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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. (Only useful on the server side) </p>
<p>The ciphersuites array is not copied, and must remain valid for the lifetime of the ssl_config.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 MBEDTLS_SSL_MAJOR_VERSION_3 supported) </td></tr>
    <tr><td class="paramname">minor</td><td>Minor version number (MBEDTLS_SSL_MINOR_VERSION_0, MBEDTLS_SSL_MINOR_VERSION_1 and MBEDTLS_SSL_MINOR_VERSION_2, MBEDTLS_SSL_MINOR_VERSION_3 supported)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>With DTLS, use MBEDTLS_SSL_MINOR_VERSION_2 for DTLS 1.0 and MBEDTLS_SSL_MINOR_VERSION_3 for DTLS 1.2 </dd></dl>

</div>
</div>
<a id="ae1d705b8fc48224262ab92eb5aa4598c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1d705b8fc48224262ab92eb5aa4598c">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_curves()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_curves </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="ecp_8h.html#af79e530ea8f8416480f805baa20b1a2d">mbedtls_ecp_group_id</a> *&#160;</td>
          <td class="paramname"><em>curves</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the allowed curves in order of preference. (Default: all defined curves.) </p>
<p>On server: this only affects selection of the ECDHE curve; the curves used for ECDH and ECDSA are determined by the list of available certificates instead.</p>
<p>On client: this affects the list of curves offered for any use. The server can override our preference order.</p>
<p>Both sides: limits the set of curves accepted for use in ECDHE and in the peer's end-entity certificate.</p>
<dl class="section note"><dt>Note</dt><dd>This has no influence on which curves are allowed inside the certificate chains, see <code><a class="el" href="ssl_8h.html#a76dc3c312ffd51f6d0ca127b322307bb" title="Set the X.509 security profile used for verification. ">mbedtls_ssl_conf_cert_profile()</a></code> for that. For the end-entity certificate however, the key will be accepted only if it is allowed both by this list and by the cert profile.</dd>
<dd>
This list should be ordered by decreasing preference (preferred curve first).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">curves</td><td>Ordered list of allowed curves, terminated by MBEDTLS_ECP_DP_NONE. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab15dcbe7c7fe2a5c118e7c486c07c921"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab15dcbe7c7fe2a5c118e7c486c07c921">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dbg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_dbg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(void *, int, const char *, 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>
<p>The callback has the following argument: void * opaque context for the callback int debug level const char * file name int line number const char * message</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 id="a599d59d63ca864eb4548d3626293febc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a599d59d63ca864eb4548d3626293febc">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dh_param()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ssl_8h.html#aa9f53b232ef244efb301233d111930dc">MBEDTLS_DEPRECATED</a> int mbedtls_ssl_conf_dh_param </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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 values: MBEDTLS_DHM_RFC3526_MODP_2048_[PG]) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000057">Deprecated:</a></b></dt><dd>Superseded by <code>mbedtls_ssl_conf_dh_param_bin</code>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful </dd></dl>

</div>
</div>
<a id="a457078c76cf96c9696fd226c8efe0674"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a457078c76cf96c9696fd226c8efe0674">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dh_param_bin()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_conf_dh_param_bin </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>dhm_P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>P_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>dhm_G</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>G_len</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 from big-endian binary presentations. (Default values: MBEDTLS_DHM_RFC3526_MODP_2048_[PG]_BIN) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">dhm_P</td><td>Diffie-Hellman-Merkle modulus in big-endian binary form </td></tr>
    <tr><td class="paramname">P_len</td><td>Length of DHM modulus </td></tr>
    <tr><td class="paramname">dhm_G</td><td>Diffie-Hellman-Merkle generator in big-endian binary form </td></tr>
    <tr><td class="paramname">G_len</td><td>Length of DHM generator</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful </dd></dl>

</div>
</div>
<a id="aec6d67681da3a0d5cb259137af176d56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec6d67681da3a0d5cb259137af176d56">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dh_param_ctx()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_conf_dh_param_ctx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__dhm__context.html">mbedtls_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">conf</td><td>SSL configuration </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 id="a9dd56f07a798d344dba5bcf33376edfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dd56f07a798d344dba5bcf33376edfd">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dhm_min_bitlen()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_dhm_min_bitlen </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>bitlen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the minimum length for Diffie-Hellman parameters. (Client-side only.) (Default: 1024 bits.) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">bitlen</td><td>Minimum bit length of the DHM prime </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a46d919254eafef2ae642fb692c5e560a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46d919254eafef2ae642fb692c5e560a">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dtls_anti_replay()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_dtls_anti_replay </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable or disable anti-replay protection for DTLS. (DTLS only, no effect on TLS.) Default: enabled. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">mode</td><td>MBEDTLS_SSL_ANTI_REPLAY_ENABLED or MBEDTLS_SSL_ANTI_REPLAY_DISABLED.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>Disabling this is a security risk unless the application protocol handles duplicated packets in a safe way. You should not disable this without careful consideration. However, if your application already detects duplicated packets and needs information about them to adjust its transmission strategy, then you'll want to disable this. </dd></dl>

</div>
</div>
<a id="a9baa37a4b839319d00d8b43c8d266719"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9baa37a4b839319d00d8b43c8d266719">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dtls_badmac_limit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_dtls_badmac_limit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>limit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a limit on the number of records with a bad MAC before terminating the connection. (DTLS only, no effect on TLS.) Default: 0 (disabled). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">limit</td><td>Limit, or 0 to disable.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If the limit is N, then the connection is terminated when the Nth non-authentic record is seen.</dd>
<dd>
Records with an invalid header are not counted, only the ones going through the authentication-decryption phase.</dd>
<dd>
This is a security trade-off related to the fact that it's often relatively easy for an active attacker ot inject UDP datagrams. On one hand, setting a low limit here makes it easier for such an attacker to forcibly terminated a connection. On the other hand, a high limit or no limit might make us waste resources checking authentication on many bogus packets. </dd></dl>

</div>
</div>
<a id="a5865631bc70b4511c25f558d5221fd65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5865631bc70b4511c25f558d5221fd65">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_dtls_cookies()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_dtls_cookies </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a536f8b89936f26732150b00639a47ff0">mbedtls_ssl_cookie_write_t</a> *&#160;</td>
          <td class="paramname"><em>f_cookie_write</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a9cfda5aee70d6c2c19a8dfb5af900d80">mbedtls_ssl_cookie_check_t</a> *&#160;</td>
          <td class="paramname"><em>f_cookie_check</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_cookie</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register callbacks for DTLS cookies (Server only. DTLS only.) </p>
<p>Default: dummy callbacks that fail, in order to force you to register working callbacks (and initialize their context).</p>
<p>To disable HelloVerifyRequest, register NULL callbacks.</p>
<dl class="section warning"><dt>Warning</dt><dd>Disabling hello verification allows your server to be used for amplification in DoS attacks against other hosts. Only disable if you known this can't happen in your particular environment.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>See comments on <code><a class="el" href="ssl_8h.html#a4a37e497cd08c896870a42b1b618186e" title="Perform the SSL handshake. ">mbedtls_ssl_handshake()</a></code> about handling the MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED that is expected on the first handshake attempt when this is enabled.</dd>
<dd>
This is also necessary to handle client reconnection from the same port as described in RFC 6347 section 4.2.8 (only the variant with cookies is supported currently). See comments on <code><a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a></code> for details.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">f_cookie_write</td><td>Cookie write callback </td></tr>
    <tr><td class="paramname">f_cookie_check</td><td>Cookie check callback </td></tr>
    <tr><td class="paramname">p_cookie</td><td>Context for both callbacks </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afa8a1d55630fec25f2247fc9958eaa53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa8a1d55630fec25f2247fc9958eaa53">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_encrypt_then_mac()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_encrypt_then_mac </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>etm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable or disable Encrypt-then-MAC (Default: MBEDTLS_SSL_ETM_ENABLED) </p>
<dl class="section note"><dt>Note</dt><dd>This should always be enabled, it is a security improvement, and should not cause any interoperability issue (used only if the peer supports it too).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">etm</td><td>MBEDTLS_SSL_ETM_ENABLED or MBEDTLS_SSL_ETM_DISABLED </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3a763e35d55c18e6792a3b756d825684"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a763e35d55c18e6792a3b756d825684">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_endpoint()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_endpoint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">endpoint</td><td>must be MBEDTLS_SSL_IS_CLIENT or MBEDTLS_SSL_IS_SERVER </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab31125a4db90d3313e17581cb5d6d634"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab31125a4db90d3313e17581cb5d6d634">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_export_keys_cb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_export_keys_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a8f3ea9d32be68d7cd1605f39ce00d697">mbedtls_ssl_export_keys_t</a> *&#160;</td>
          <td class="paramname"><em>f_export_keys</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_export_keys</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure key export callback. (Default: none.) </p>
<dl class="section note"><dt>Note</dt><dd>See <code>mbedtls_ssl_export_keys_t</code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration context </td></tr>
    <tr><td class="paramname">f_export_keys</td><td>Callback for exporting keys </td></tr>
    <tr><td class="paramname">p_export_keys</td><td>Context for the callback </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a133db91d4a1dd44d212ac57e386c23b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a133db91d4a1dd44d212ac57e386c23b3">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_extended_master_secret()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_extended_master_secret </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>ems</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enable or disable Extended Master Secret negotiation. (Default: MBEDTLS_SSL_EXTENDED_MS_ENABLED) </p>
<dl class="section note"><dt>Note</dt><dd>This should always be enabled, it is a security fix to the protocol, and should not cause any interoperability issue (used only if the peer supports it too).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">ems</td><td>MBEDTLS_SSL_EXTENDED_MS_ENABLED or MBEDTLS_SSL_EXTENDED_MS_DISABLED </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abb5a878b9aabe137572a8c73a840c480"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb5a878b9aabe137572a8c73a840c480">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_fallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_fallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>fallback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the fallback flag (client-side only). (Default: MBEDTLS_SSL_IS_NOT_FALLBACK). </p>
<dl class="section note"><dt>Note</dt><dd>Set to MBEDTLS_SSL_IS_FALLBACK when preparing a fallback connection, that is a connection with max_version set to a lower value than the value you're willing to use. Such fallback connections are not recommended but are sometimes necessary to interoperate with buggy (version-intolerant) servers.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>You should NOT set this to MBEDTLS_SSL_IS_FALLBACK for non-fallback connections! This would appear to work for a while, then cause failures when the server is upgraded to support a newer TLS version.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">fallback</td><td>MBEDTLS_SSL_IS_NOT_FALLBACK or MBEDTLS_SSL_IS_FALLBACK </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6625bc4e7ffd535900ef53259cc21651"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6625bc4e7ffd535900ef53259cc21651">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_handshake_timeout()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_handshake_timeout </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set retransmit timeout values for the DTLS handshake. (DTLS only, no effect on TLS.) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">min</td><td>Initial timeout value in milliseconds. Default: 1000 (1 second). </td></tr>
    <tr><td class="paramname">max</td><td>Maximum timeout value in milliseconds. Default: 60000 (60 seconds).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Default values are from RFC 6347 section 4.2.4.1.</dd>
<dd>
The 'min' value should typically be slightly above the expected round-trip time to your peer, plus whatever time it takes for the peer to process the message. For example, if your RTT is about 600ms and you peer needs up to 1s to do the cryptographic operations in the handshake, then you should set 'min' slightly above 1600. Lower values of 'min' might cause spurious resends which waste network resources, while larger value of 'min' will increase overall latency on unreliable network links.</dd>
<dd>
The more unreliable your network connection is, the larger your max / min ratio needs to be in order to achieve reliable handshakes.</dd>
<dd>
Messages are retransmitted up to log2(ceil(max/min)) times. For example, if min = 1s and max = 5s, the retransmit plan goes: send ... 1s -&gt; resend ... 2s -&gt; resend ... 4s -&gt; resend ... 5s -&gt; give up and return a timeout error. </dd></dl>

</div>
</div>
<a id="a193c7bf368780f485e20170c807709e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a193c7bf368780f485e20170c807709e5">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_legacy_renegotiation()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_legacy_renegotiation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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. (Default: MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION) </p>
<p>MBEDTLS_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)</p>
<p>MBEDTLS_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)</p>
<p>MBEDTLS_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)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">allow_legacy</td><td>Prevent or allow (SSL_NO_LEGACY_RENEGOTIATION, SSL_ALLOW_LEGACY_RENEGOTIATION or MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac68fda83c26b3078e80f4dfc3b09bb94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac68fda83c26b3078e80f4dfc3b09bb94">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_max_frag_len()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_conf_max_frag_len </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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: MBEDTLS_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">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">mfl_code</td><td>Code for maximum fragment length (allowed values: MBEDTLS_SSL_MAX_FRAG_LEN_512, MBEDTLS_SSL_MAX_FRAG_LEN_1024, MBEDTLS_SSL_MAX_FRAG_LEN_2048, MBEDTLS_SSL_MAX_FRAG_LEN_4096)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or MBEDTLS_ERR_SSL_BAD_INPUT_DATA </dd></dl>

</div>
</div>
<a id="afc1a81e3fcbea3045b41ce739a47f54e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc1a81e3fcbea3045b41ce739a47f54e">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_max_version()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_max_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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: MBEDTLS_SSL_MAX_MAJOR_VERSION, MBEDTLS_SSL_MAX_MINOR_VERSION) </p>
<dl class="section note"><dt>Note</dt><dd>This ignores ciphersuites from higher versions.</dd>
<dd>
With DTLS, use MBEDTLS_SSL_MINOR_VERSION_2 for DTLS 1.0 and MBEDTLS_SSL_MINOR_VERSION_3 for DTLS 1.2</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">major</td><td>Major version number (only MBEDTLS_SSL_MAJOR_VERSION_3 supported) </td></tr>
    <tr><td class="paramname">minor</td><td>Minor version number (MBEDTLS_SSL_MINOR_VERSION_0, MBEDTLS_SSL_MINOR_VERSION_1 and MBEDTLS_SSL_MINOR_VERSION_2, MBEDTLS_SSL_MINOR_VERSION_3 supported) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0eade5c83cc08001672061c5925caaaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0eade5c83cc08001672061c5925caaaa">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_min_version()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_min_version </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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: TLS 1.0) </p>
<dl class="section note"><dt>Note</dt><dd>Input outside of the SSL_MAX_XXXXX_VERSION and SSL_MIN_XXXXX_VERSION range is ignored.</dd>
<dd>
MBEDTLS_SSL_MINOR_VERSION_0 (SSL v3) should be avoided.</dd>
<dd>
With DTLS, use MBEDTLS_SSL_MINOR_VERSION_2 for DTLS 1.0 and MBEDTLS_SSL_MINOR_VERSION_3 for DTLS 1.2</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">major</td><td>Major version number (only MBEDTLS_SSL_MAJOR_VERSION_3 supported) </td></tr>
    <tr><td class="paramname">minor</td><td>Minor version number (MBEDTLS_SSL_MINOR_VERSION_0, MBEDTLS_SSL_MINOR_VERSION_1 and MBEDTLS_SSL_MINOR_VERSION_2, MBEDTLS_SSL_MINOR_VERSION_3 supported) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4e54e9ace21beb608bae36ddb81a4fb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e54e9ace21beb608bae36ddb81a4fb0">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_own_cert()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_conf_own_cert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__x509__crt.html">mbedtls_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="structmbedtls__pk__context.html">mbedtls_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>
On server, this function can be called multiple times to provision more than one cert/key pair (eg one ECDSA, one RSA with SHA-256, one RSA with SHA-1). An adequate certificate will be selected according to the client's advertised capabilities. In case mutliple certificates are adequate, preference is given to the one set by the first call to this function, then second, etc.</dd>
<dd>
On client, only the first call has any effect. That is, only one client certificate can be provisioned. The server's preferences in its CertficateRequest message will be ignored and our only cert will be sent regardless of whether it matches those preferences - the server can then decide what it wants to do with it.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 MBEDTLS_ERR_SSL_ALLOC_FAILED </dd></dl>

</div>
</div>
<a id="a1e185199e3ff613bdd1c8231a19e24fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e185199e3ff613bdd1c8231a19e24fc">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_psk()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_conf_psk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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 expected identity name. </p>
<dl class="section note"><dt>Note</dt><dd>This is mainly useful for clients. Servers will usually want to use <code><a class="el" href="ssl_8h.html#a1b804626a236e493316c58b048ab5937" title="Set the PSK callback (server-side only). ">mbedtls_ssl_conf_psk_cb()</a></code> instead.</dd>
<dd>
Currently clients can only register one pre-shared key. In other words, the servers' identity hint is ignored. Support for setting multiple PSKs on clients and selecting one based on the identity hint is not a planned feature but feedback is welcomed.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 MBEDTLS_ERR_SSL_ALLOC_FAILED </dd></dl>

</div>
</div>
<a id="a1b804626a236e493316c58b048ab5937"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b804626a236e493316c58b048ab5937">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_psk_cb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_psk_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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). </p>
<p>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.</p>
<p>The callback has the following parameters: (void *parameter, <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const unsigned char *psk_identity, size_t identity_len) If a valid PSK identity is found, the callback should use <code><a class="el" href="ssl_8h.html#a50f8bb06a3ec75f6fec4ccc2c1aad151" title="Set the Pre Shared Key (PSK) for the current handshake. ">mbedtls_ssl_set_hs_psk()</a></code> on the ssl context to set the correct PSK and return 0. Any other return value will result in a denied PSK identity.</p>
<dl class="section note"><dt>Note</dt><dd>If you set a PSK callback using this function, then you don't need to set a PSK key and identity using <code><a class="el" href="ssl_8h.html#a1e185199e3ff613bdd1c8231a19e24fc" title="Set the Pre Shared Key (PSK) and the expected identity name. ">mbedtls_ssl_conf_psk()</a></code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 id="a0d925033b3a46a48b3f8acc1d743af90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d925033b3a46a48b3f8acc1d743af90">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_read_timeout()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_read_timeout </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the timeout period for <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a> (Default: no timeout.) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration context </td></tr>
    <tr><td class="paramname">timeout</td><td>Timeout value in milliseconds. Use 0 for no timeout (default).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>With blocking I/O, this will only work if a non-NULL <code>f_recv_timeout</code> was set with <code><a class="el" href="ssl_8h.html#a8b7442420aef7f1a76fa8c5336362f9e" title="Set the underlying BIO callbacks for write, read and read-with-timeout. ">mbedtls_ssl_set_bio()</a></code>. With non-blocking I/O, this will only work if timer callbacks were set with <code><a class="el" href="ssl_8h.html#a335ee78886daf7f8fb369fa925b3cca8" title="Set the timer callbacks (Mandatory for DTLS.) ">mbedtls_ssl_set_timer_cb()</a></code>.</dd>
<dd>
With non-blocking I/O, you may also skip this function altogether and handle timeouts at the application layer. </dd></dl>

</div>
</div>
<a id="aad4f50fc1c0a018fd5eb18fd9621d0d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad4f50fc1c0a018fd5eb18fd9621d0d3">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_renegotiation()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_renegotiation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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: MBEDTLS_SSL_RENEGOTIATION_DISABLED) </p>
<dl class="section warning"><dt>Warning</dt><dd>It is recommended to always disable renegotation unless you know you need it and you know what you're doing. In the past, there have been several issues associated with renegotiation or a poor understanding of its properties.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Server-side, enabling renegotiation also makes the server susceptible to a resource DoS by a malicious client.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">renegotiation</td><td>Enable or disable (MBEDTLS_SSL_RENEGOTIATION_ENABLED or MBEDTLS_SSL_RENEGOTIATION_DISABLED) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2d193b15941a556baaf2cb94138d66df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d193b15941a556baaf2cb94138d66df">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_renegotiation_enforced()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_renegotiation_enforced </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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 renegotiation requests. (Default: enforced, max_records = 16) </p>
<p>When we request a renegotiation, the peer can comply or ignore the request. This function allows us to decide whether to enforce our renegotiation requests by closing the connection if the peer doesn't comply.</p>
<p>However, records could already be in transit from the peer when the request is emitted. In order to increase reliability, we can accept a number of records before the expected handshake records.</p>
<p>The optimal value is highly dependent on the specific usage scenario.</p>
<dl class="section note"><dt>Note</dt><dd>With DTLS and server-initiated renegotiation, the HelloRequest is retransmited every time <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a> times out or receives Application Data, until:<ul>
<li>max_records records have beens seen, if it is &gt;= 0, or</li>
<li>the number of retransmits that would happen during an actual handshake has been reached. Please remember the request might be lost a few times if you consider setting max_records to a really low value.</li>
</ul>
</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>On client, the grace period can only happen during <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a>, as opposed to <a class="el" href="ssl_8h.html#a5bbda87d484de82df730758b475f32e5" title="Try to write exactly &#39;len&#39; application data bytes. ">mbedtls_ssl_write()</a> and <a class="el" href="ssl_8h.html#a49b7a27a616495d5f0a4fabc3f550dbb" title="Initiate an SSL renegotiation on the running connection. Client: perform the renegotiation right now...">mbedtls_ssl_renegotiate()</a> which always behave as if max_record was 0. The reason is, if we receive application data from the server, we need a place to write it, which only happens during <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">max_records</td><td>Use MBEDTLS_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 id="a1785faa0640bd6190c1c17a94b408e31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1785faa0640bd6190c1c17a94b408e31">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_renegotiation_period()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_renegotiation_period </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char&#160;</td>
          <td class="paramname"><em>period</em>[8]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set record counter threshold for periodic renegotiation. (Default: 2^48 - 1) </p>
<p>Renegotiation is automatically triggered when a record counter (outgoing or ingoing) crosses the defined threshold. The default value is meant to prevent the connection from being closed when the counter is about to reached its maximal value (it is not allowed to wrap).</p>
<p>Lower values can be used to enforce policies such as "keys
                must be refreshed every N packets with cipher X".</p>
<p>The renegotiation period can be disabled by setting conf-&gt;disable_renegotiation to MBEDTLS_SSL_RENEGOTIATION_DISABLED.</p>
<dl class="section note"><dt>Note</dt><dd>When the configured transport is MBEDTLS_SSL_TRANSPORT_DATAGRAM the maximum renegotiation period is 2^48 - 1, and for MBEDTLS_SSL_TRANSPORT_STREAM, the maximum renegotiation period is 2^64 - 1.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">period</td><td>The threshold value: a big-endian 64-bit number. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a469cd1c64bbba4be22347bf8874a017e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a469cd1c64bbba4be22347bf8874a017e">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_rng()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_rng </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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">conf</td><td>SSL configuration </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 id="a9a69464288d80b3904bc7540bd52aab0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a69464288d80b3904bc7540bd52aab0">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_session_cache()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_session_cache </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_cache</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="structmbedtls__ssl__session.html">mbedtls_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">int(*)(void *, const <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *)&#160;</td>
          <td class="paramname"><em>f_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 (except if session tickets are enabled too). </p>
<p>The session cache has the responsibility to check for stale entries based on timeout. See RFC 5246 for recommendations.</p>
<p>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.</p>
<p>The get callback is called once during the initial handshake to enable session resuming. The get function has the following parameters: (void *parameter, <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *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.</p>
<p>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 <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> *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 <a class="el" href="structmbedtls__ssl__session.html">mbedtls_ssl_session</a> 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.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">p_cache</td><td>parmater (context) for both callbacks </td></tr>
    <tr><td class="paramname">f_get_cache</td><td>session get callback </td></tr>
    <tr><td class="paramname">f_set_cache</td><td>session set callback </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a97e547f900979337f4083a8158918fcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97e547f900979337f4083a8158918fcc">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_session_tickets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_session_tickets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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 (client only). (Default: MBEDTLS_SSL_SESSION_TICKETS_ENABLED.) </p>
<dl class="section note"><dt>Note</dt><dd>On server, use <code><a class="el" href="ssl_8h.html#a73f028424df0b3a3b3360df0768df992" title="Configure SSL session ticket callbacks (server only). (Default: none.) ">mbedtls_ssl_conf_session_tickets_cb()</a></code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">use_tickets</td><td>Enable or disable (MBEDTLS_SSL_SESSION_TICKETS_ENABLED or MBEDTLS_SSL_SESSION_TICKETS_DISABLED) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a73f028424df0b3a3b3360df0768df992"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73f028424df0b3a3b3360df0768df992">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_session_tickets_cb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_session_tickets_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a112d1fc2dd4db788592457d14c0c2899">mbedtls_ssl_ticket_write_t</a> *&#160;</td>
          <td class="paramname"><em>f_ticket_write</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a48aea353b22e86deece00933ef941536">mbedtls_ssl_ticket_parse_t</a> *&#160;</td>
          <td class="paramname"><em>f_ticket_parse</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_ticket</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure SSL session ticket callbacks (server only). (Default: none.) </p>
<dl class="section note"><dt>Note</dt><dd>On server, session tickets are enabled by providing non-NULL callbacks.</dd>
<dd>
On client, use <code><a class="el" href="ssl_8h.html#a97e547f900979337f4083a8158918fcc" title="Enable / Disable session tickets (client only). (Default: MBEDTLS_SSL_SESSION_TICKETS_ENABLED.) ">mbedtls_ssl_conf_session_tickets()</a></code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration context </td></tr>
    <tr><td class="paramname">f_ticket_write</td><td>Callback for writing a ticket </td></tr>
    <tr><td class="paramname">f_ticket_parse</td><td>Callback for parsing a ticket </td></tr>
    <tr><td class="paramname">p_ticket</td><td>Context shared by the two callbacks </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a73725fed867e0fd29396c7c6565a76e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73725fed867e0fd29396c7c6565a76e6">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_sig_hashes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_sig_hashes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int *&#160;</td>
          <td class="paramname"><em>hashes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the allowed hashes for signatures during the handshake. (Default: all available hashes except MD5.) </p>
<dl class="section note"><dt>Note</dt><dd>This only affects which hashes are offered and can be used for signatures during the handshake. Hashes for message authentication and the TLS PRF are controlled by the ciphersuite, see <code><a class="el" href="ssl_8h.html#ac8e4df37cadda8f743ed45501a51fec1" title="Set the list of allowed ciphersuites and the preference order. First in the list has the highest pref...">mbedtls_ssl_conf_ciphersuites()</a></code>. Hashes used for certificate signature are controlled by the verification profile, see <code><a class="el" href="ssl_8h.html#a76dc3c312ffd51f6d0ca127b322307bb" title="Set the X.509 security profile used for verification. ">mbedtls_ssl_conf_cert_profile()</a></code>.</dd>
<dd>
This list should be ordered by decreasing preference (preferred hash first).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">hashes</td><td>Ordered list of allowed signature hashes, terminated by <code>MBEDTLS_MD_NONE</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a38ee2c1e3f232444df5ba3952d7ded33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38ee2c1e3f232444df5ba3952d7ded33">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_sni()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_sni </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>
<p>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, <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, const unsigned char *hostname, size_t len). If a suitable certificate is found, the callback must set the certificate(s) and key(s) to use with <code><a class="el" href="ssl_8h.html#aa0353666974b1cd19dafb2c2b165d2f2" title="Set own certificate and key for the current handshake. ">mbedtls_ssl_set_hs_own_cert()</a></code> (can be called repeatedly), and may optionally adjust the CA and associated CRL with <code><a class="el" href="ssl_8h.html#a33a781dcdc16bd649ea0346a598e9656" title="Set the data required to verify peer certificate for the current handshake. ">mbedtls_ssl_set_hs_ca_chain()</a></code> as well as the client authentication mode with <code><a class="el" href="ssl_8h.html#a8366b49e25054078b5be139c0ce560d7" title="Set authmode for the current handshake. ">mbedtls_ssl_set_hs_authmode()</a></code>, then must return 0. If no matching name is found, the callback must either set a default cert, or return non-zero to abort the handshake at this point.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 id="a2eb03afe9b2ca0f144a1c307100dc0ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2eb03afe9b2ca0f144a1c307100dc0ca">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_transport()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_transport </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>transport</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the transport type (TLS or DTLS). Default: TLS. </p>
<dl class="section note"><dt>Note</dt><dd>For DTLS, you must either provide a recv callback that doesn't block, or one that handles timeouts, see <code><a class="el" href="ssl_8h.html#a8b7442420aef7f1a76fa8c5336362f9e" title="Set the underlying BIO callbacks for write, read and read-with-timeout. ">mbedtls_ssl_set_bio()</a></code>. You also need to provide timer callbacks with <code><a class="el" href="ssl_8h.html#a335ee78886daf7f8fb369fa925b3cca8" title="Set the timer callbacks (Mandatory for DTLS.) ">mbedtls_ssl_set_timer_cb()</a></code>.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">transport</td><td>transport type: MBEDTLS_SSL_TRANSPORT_STREAM for TLS, MBEDTLS_SSL_TRANSPORT_DATAGRAM for DTLS. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a739b67cfc0350ae4a2c9a2e99737bea7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a739b67cfc0350ae4a2c9a2e99737bea7">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_truncated_hmac()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_truncated_hmac </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</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 (Default: MBEDTLS_SSL_TRUNC_HMAC_DISABLED) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </td></tr>
    <tr><td class="paramname">truncate</td><td>Enable or disable (MBEDTLS_SSL_TRUNC_HMAC_ENABLED or MBEDTLS_SSL_TRUNC_HMAC_DISABLED) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afc2b6b55d7ccaf38d84a4fbf1655f426"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc2b6b55d7ccaf38d84a4fbf1655f426">&#9670;&nbsp;</a></span>mbedtls_ssl_conf_verify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_conf_verify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(void *, <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *, int, uint32_t *)&#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>
<p>If set, the verify callback is called for each certificate in the chain. For implementation information, please see <code><a class="el" href="group__x509__module.html#ga98ed4504e4f832b735a230acf54fcde3" title="Verify the certificate signature. ">mbedtls_x509_crt_verify()</a></code> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration </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 id="aa1335b65ba57e81accc91ef95454d5a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1335b65ba57e81accc91ef95454d5a6">&#9670;&nbsp;</a></span>mbedtls_ssl_config_defaults()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_config_defaults </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>endpoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>transport</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>preset</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Load reasonnable default SSL configuration values. (You need to call <a class="el" href="ssl_8h.html#aba55bcda50a47e83803e31a8db7c9a86" title="Initialize an SSL configuration context Just makes the context ready for mbedtls_ssl_config_defaults(...">mbedtls_ssl_config_init()</a> first.) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration context </td></tr>
    <tr><td class="paramname">endpoint</td><td>MBEDTLS_SSL_IS_CLIENT or MBEDTLS_SSL_IS_SERVER </td></tr>
    <tr><td class="paramname">transport</td><td>MBEDTLS_SSL_TRANSPORT_STREAM for TLS, or MBEDTLS_SSL_TRANSPORT_DATAGRAM for DTLS </td></tr>
    <tr><td class="paramname">preset</td><td>a MBEDTLS_SSL_PRESET_XXX value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>See <code><a class="el" href="ssl_8h.html#a2eb03afe9b2ca0f144a1c307100dc0ca" title="Set the transport type (TLS or DTLS). Default: TLS. ">mbedtls_ssl_conf_transport()</a></code> for notes on DTLS.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or MBEDTLS_ERR_XXX_ALLOC_FAILED on memory allocation error. </dd></dl>

</div>
</div>
<a id="a7655f025440a6c5ccd4fc13832abb1dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7655f025440a6c5ccd4fc13832abb1dd">&#9670;&nbsp;</a></span>mbedtls_ssl_config_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_config_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free an SSL configuration context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aba55bcda50a47e83803e31a8db7c9a86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba55bcda50a47e83803e31a8db7c9a86">&#9670;&nbsp;</a></span>mbedtls_ssl_config_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_config_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize an SSL configuration context Just makes the context ready for <a class="el" href="ssl_8h.html#aa1335b65ba57e81accc91ef95454d5a6" title="Load reasonnable default SSL configuration values. (You need to call mbedtls_ssl_config_init() first...">mbedtls_ssl_config_defaults()</a> or <a class="el" href="ssl_8h.html#a7655f025440a6c5ccd4fc13832abb1dd" title="Free an SSL configuration context. ">mbedtls_ssl_config_free()</a>. </p>
<dl class="section note"><dt>Note</dt><dd>You need to call <a class="el" href="ssl_8h.html#aa1335b65ba57e81accc91ef95454d5a6" title="Load reasonnable default SSL configuration values. (You need to call mbedtls_ssl_config_init() first...">mbedtls_ssl_config_defaults()</a> unless you manually set all of the relevent fields yourself.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">conf</td><td>SSL configuration context </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2dc104a181bcd11eafbbf7e6923978bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2dc104a181bcd11eafbbf7e6923978bc">&#9670;&nbsp;</a></span>mbedtls_ssl_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 id="ad1ab606db1a9307b4aacccdcd1d1a6ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1ab606db1a9307b4aacccdcd1d1a6ef">&#9670;&nbsp;</a></span>mbedtls_ssl_get_alpn_protocol()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* mbedtls_ssl_get_alpn_protocol </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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. This function should be called after the handshake is completed. </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>Protcol name, or NULL if no protocol was negotiated. </dd></dl>

</div>
</div>
<a id="ad43142085f3182e9b0dc967ec582032b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad43142085f3182e9b0dc967ec582032b">&#9670;&nbsp;</a></span>mbedtls_ssl_get_bytes_avail()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mbedtls_ssl_get_bytes_avail </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 id="a18739598df499461369020b8ea6fff1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18739598df499461369020b8ea6fff1c">&#9670;&nbsp;</a></span>mbedtls_ssl_get_ciphersuite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* mbedtls_ssl_get_ciphersuite </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 id="a9914cdf5533e813e1ea7ca52981aa006"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9914cdf5533e813e1ea7ca52981aa006">&#9670;&nbsp;</a></span>mbedtls_ssl_get_ciphersuite_id()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_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 id="ada9a0169e4712521049117d29b91e1e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada9a0169e4712521049117d29b91e1e5">&#9670;&nbsp;</a></span>mbedtls_ssl_get_ciphersuite_name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* mbedtls_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 id="a44fb4dcf45412d667778432836be9150"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44fb4dcf45412d667778432836be9150">&#9670;&nbsp;</a></span>mbedtls_ssl_get_max_frag_len()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t mbedtls_ssl_get_max_frag_len </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 maximum fragment length (payload, in bytes). This is the value negotiated with peer if any, or the locally configured value. </p>
<dl class="section note"><dt>Note</dt><dd>With DTLS, <code><a class="el" href="ssl_8h.html#a5bbda87d484de82df730758b475f32e5" title="Try to write exactly &#39;len&#39; application data bytes. ">mbedtls_ssl_write()</a></code> will return an error if called with a larger length value. With TLS, <code><a class="el" href="ssl_8h.html#a5bbda87d484de82df730758b475f32e5" title="Try to write exactly &#39;len&#39; application data bytes. ">mbedtls_ssl_write()</a></code> will fragment the input if necessary and return the number of bytes written; it is up to the caller to call <code><a class="el" href="ssl_8h.html#a5bbda87d484de82df730758b475f32e5" title="Try to write exactly &#39;len&#39; application data bytes. ">mbedtls_ssl_write()</a></code> again in order to send the remaining bytes if any.</dd></dl>
<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>Current maximum fragment length. </dd></dl>

</div>
</div>
<a id="aa7ab0ac8d8341063a0f815ee99337831"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7ab0ac8d8341063a0f815ee99337831">&#9670;&nbsp;</a></span>mbedtls_ssl_get_peer_cert()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a>* mbedtls_ssl_get_peer_cert </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>
<p>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.</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>the current peer certificate </dd></dl>

</div>
</div>
<a id="a935f3ebfb31f988e24a8bf9bcb0fd26b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a935f3ebfb31f988e24a8bf9bcb0fd26b">&#9670;&nbsp;</a></span>mbedtls_ssl_get_record_expansion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_get_record_expansion </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 (maximum) number of bytes added by the record layer: header + encryption/MAC overhead (inc. padding) </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>Current maximum record expansion in bytes, or MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE if compression is enabled, which makes expansion much less predictable </dd></dl>

</div>
</div>
<a id="ad617a178adfaf259db89c4fe092ad6e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad617a178adfaf259db89c4fe092ad6e1">&#9670;&nbsp;</a></span>mbedtls_ssl_get_session()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_get_session </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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="structmbedtls__ssl__session.html">mbedtls_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, MBEDTLS_ERR_SSL_ALLOC_FAILED if memory allocation failed, MBEDTLS_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#a91be5c606b9f7c1e44b3e507a4fe7b66" title="Request resumption of session (client-side only) Session data is copied from presented session struct...">mbedtls_ssl_set_session()</a> </dd></dl>

</div>
</div>
<a id="a516064f1468d459159ef7cd6c496a026"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a516064f1468d459159ef7cd6c496a026">&#9670;&nbsp;</a></span>mbedtls_ssl_get_verify_result()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t mbedtls_ssl_get_verify_result </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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, -1 if result is not available (eg because the handshake was aborted too early), or a combination of BADCERT_xxx and BADCRL_xxx flags, see <a class="el" href="x509_8h.html" title="X.509 generic defines and structures. ">x509.h</a> </dd></dl>

</div>
</div>
<a id="a1ee2e52fe2ae9620af84df97a0347ce3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ee2e52fe2ae9620af84df97a0347ce3">&#9670;&nbsp;</a></span>mbedtls_ssl_get_version()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* mbedtls_ssl_get_version </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 id="a4a37e497cd08c896870a42b1b618186e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a37e497cd08c896870a42b1b618186e">&#9670;&nbsp;</a></span>mbedtls_ssl_handshake()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_handshake </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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, or MBEDTLS_ERR_SSL_WANT_READ or MBEDTLS_ERR_SSL_WANT_WRITE, or MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED (see below), or a specific SSL error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If this function returns something other than 0 or MBEDTLS_ERR_SSL_WANT_READ/WRITE, then the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed.</dd>
<dd>
If DTLS is in use, then you may choose to handle MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED specially for logging purposes, as it is an expected return value rather than an actual error, but you still need to reset/free the context. </dd></dl>

</div>
</div>
<a id="aac1583fe56eda081580742999968bbcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac1583fe56eda081580742999968bbcf">&#9670;&nbsp;</a></span>mbedtls_ssl_handshake_step()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_handshake_step </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>
<dl class="section note"><dt>Note</dt><dd>The state of the context (ssl-&gt;state) will be at the next state after execution of this function. Do not call this function if state is MBEDTLS_SSL_HANDSHAKE_OVER.</dd>
<dd>
If this function returns something other than 0 or MBEDTLS_ERR_SSL_WANT_READ/WRITE, then the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed.</dd></dl>
<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 MBEDTLS_ERR_SSL_WANT_READ or MBEDTLS_ERR_SSL_WANT_WRITE, or a specific SSL error code. </dd></dl>

</div>
</div>
<a id="a8560dea66d7830a11874188727ec4c45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8560dea66d7830a11874188727ec4c45">&#9670;&nbsp;</a></span>mbedtls_ssl_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 Just makes the context ready for <a class="el" href="ssl_8h.html#af79cb539a0ee6ac20cf9c574f4c3b343" title="Set up an SSL context for use. ">mbedtls_ssl_setup()</a> or <a class="el" href="ssl_8h.html#a2dc104a181bcd11eafbbf7e6923978bc" title="Free referenced items in an SSL context and clear memory. ">mbedtls_ssl_free()</a> </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 id="aa475d287496d8a93a236a9b91b71dc87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa475d287496d8a93a236a9b91b71dc87">&#9670;&nbsp;</a></span>mbedtls_ssl_list_ciphersuites()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int* mbedtls_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 id="aa2c29eeb1deaf5ad9f01a7515006ede5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2c29eeb1deaf5ad9f01a7515006ede5">&#9670;&nbsp;</a></span>mbedtls_ssl_read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>maximum number of bytes to read</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of bytes read, or 0 for EOF, or MBEDTLS_ERR_SSL_WANT_READ or MBEDTLS_ERR_SSL_WANT_WRITE, or MBEDTLS_ERR_SSL_CLIENT_RECONNECT (see below), or another negative error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If this function returns something other than a positive value or MBEDTLS_ERR_SSL_WANT_READ/WRITE or MBEDTLS_ERR_SSL_CLIENT_RECONNECT, then the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed.</dd>
<dd>
When this function return MBEDTLS_ERR_SSL_CLIENT_RECONNECT (which can only happen server-side), it means that a client is initiating a new connection using the same source port. You can either treat that as a connection close and wait for the client to resend a ClientHello, or directly continue with <code><a class="el" href="ssl_8h.html#a4a37e497cd08c896870a42b1b618186e" title="Perform the SSL handshake. ">mbedtls_ssl_handshake()</a></code> with the same context (as it has beeen reset internally). Either way, you should make sure this is seen by the application as a new connection: application state, if any, should be reset, and most importantly the identity of the client must be checked again. WARNING: not validating the identity of the client again, or not transmitting the new identity to the application layer, would allow authentication bypass! </dd></dl>

</div>
</div>
<a id="a49b7a27a616495d5f0a4fabc3f550dbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49b7a27a616495d5f0a4fabc3f550dbb">&#9670;&nbsp;</a></span>mbedtls_ssl_renegotiate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_renegotiate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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. Client: perform the renegotiation right now. Server: request renegotiation, which will be performed during the next call to <a class="el" href="ssl_8h.html#aa2c29eeb1deaf5ad9f01a7515006ede5" title="Read at most &#39;len&#39; application data bytes. ">mbedtls_ssl_read()</a> if honored by client. </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 any <a class="el" href="ssl_8h.html#a4a37e497cd08c896870a42b1b618186e" title="Perform the SSL handshake. ">mbedtls_ssl_handshake()</a> return value.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If this function returns something other than 0 or MBEDTLS_ERR_SSL_WANT_READ/WRITE, then the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed. </dd></dl>

</div>
</div>
<a id="a431e67252731a34bd9b5f2c9222f4c43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a431e67252731a34bd9b5f2c9222f4c43">&#9670;&nbsp;</a></span>mbedtls_ssl_send_alert_message()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_send_alert_message </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 (MBEDTLS_SSL_ALERT_LEVEL_WARNING or MBEDTLS_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>
<dl class="section note"><dt>Note</dt><dd>If this function returns something other than 0 or MBEDTLS_ERR_SSL_WANT_READ/WRITE, then the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed. </dd></dl>

</div>
</div>
<a id="ac085defe1a02ab784a0a2fb201bcc741"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac085defe1a02ab784a0a2fb201bcc741">&#9670;&nbsp;</a></span>mbedtls_ssl_session_free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_session_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__session.html">mbedtls_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 id="a7980469655c1cdb8fd7e966bffe1fd02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7980469655c1cdb8fd7e966bffe1fd02">&#9670;&nbsp;</a></span>mbedtls_ssl_session_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_session_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__session.html">mbedtls_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 id="a21432367cbce428f10dcb62d9456fa7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21432367cbce428f10dcb62d9456fa7e">&#9670;&nbsp;</a></span>mbedtls_ssl_session_reset()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_session_reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 MBEDTLS_ERR_SSL_ALLOC_FAILED, MBEDTLS_ERR_SSL_HW_ACCEL_FAILED or MBEDTLS_ERR_SSL_COMPRESSION_FAILED </dd></dl>

</div>
</div>
<a id="a8b7442420aef7f1a76fa8c5336362f9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b7442420aef7f1a76fa8c5336362f9e">&#9670;&nbsp;</a></span>mbedtls_ssl_set_bio()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_set_bio </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_bio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a38e2b400d361f42f85833cdc30b3916e">mbedtls_ssl_send_t</a> *&#160;</td>
          <td class="paramname"><em>f_send</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#ac06b19b96b643090c55f19b6c28b10c4">mbedtls_ssl_recv_t</a> *&#160;</td>
          <td class="paramname"><em>f_recv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a6d615ca95c8a67d7c5f9d7d256dc09e6">mbedtls_ssl_recv_timeout_t</a> *&#160;</td>
          <td class="paramname"><em>f_recv_timeout</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the underlying BIO callbacks for write, read and read-with-timeout. </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">p_bio</td><td>parameter (context) shared by BIO callbacks </td></tr>
    <tr><td class="paramname">f_send</td><td>write callback </td></tr>
    <tr><td class="paramname">f_recv</td><td>read callback </td></tr>
    <tr><td class="paramname">f_recv_timeout</td><td>blocking read callback with timeout.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>One of f_recv or f_recv_timeout can be NULL, in which case the other is used. If both are non-NULL, f_recv_timeout is used and f_recv is ignored (as if it were NULL).</dd>
<dd>
The two most common use cases are:<ul>
<li>non-blocking I/O, f_recv != NULL, f_recv_timeout == NULL</li>
<li>blocking I/O, f_recv == NULL, f_recv_timout != NULL</li>
</ul>
</dd>
<dd>
For DTLS, you need to provide either a non-NULL f_recv_timeout callback, or a f_recv that doesn't block.</dd>
<dd>
See the documentations of <code>mbedtls_ssl_sent_t</code>, <code>mbedtls_ssl_recv_t</code> and <code>mbedtls_ssl_recv_timeout_t</code> for the conventions those callbacks must follow.</dd>
<dd>
On some platforms, net_sockets.c provides <code><a class="el" href="net__sockets_8h.html#a4841afd0e14f1fd44b82c3a850961ab7" title="Write at most &#39;len&#39; characters. If no error occurs, the actual amount read is returned. ">mbedtls_net_send()</a></code>, <code><a class="el" href="net__sockets_8h.html#a03af351ec420bbeb5e91357abcfb3663" title="Read at most &#39;len&#39; characters. If no error occurs, the actual amount read is returned. ">mbedtls_net_recv()</a></code> and <code><a class="el" href="net__sockets_8h.html#a67810154d2328a80b146155d8cdecfd9" title="Read at most &#39;len&#39; characters, blocking for at most &#39;timeout&#39; seconds. If no error occurs...">mbedtls_net_recv_timeout()</a></code> that are suitable to be used here. </dd></dl>

</div>
</div>
<a id="a15fab95c13a898f32fa69ff2065c1051"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15fab95c13a898f32fa69ff2065c1051">&#9670;&nbsp;</a></span>mbedtls_ssl_set_client_transport_id()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_set_client_transport_id </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>ilen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set client's transport-level identification info. (Server only. DTLS only.) </p>
<p>This is usually the IP address (and port), but could be anything identify the client depending on the underlying network stack. Used for HelloVerifyRequest with DTLS. This is <em>not</em> used to route the actual packets.</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">info</td><td>Transport-level info identifying the client (eg IP + port) </td></tr>
    <tr><td class="paramname">ilen</td><td>Length of info in bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>An internal copy is made, so the info buffer can be reused.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, MBEDTLS_ERR_SSL_BAD_INPUT_DATA if used on client, MBEDTLS_ERR_SSL_ALLOC_FAILED if out of memory. </dd></dl>

</div>
</div>
<a id="aa659024cf89e20d6d2248c0626db7ef2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa659024cf89e20d6d2248c0626db7ef2">&#9670;&nbsp;</a></span>mbedtls_ssl_set_hostname()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_set_hostname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 or reset the hostname to check against the received server certificate. It sets the ServerName TLS extension, too, if that extension is enabled. (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, may be NULL to clear hostname</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Maximum hostname length MBEDTLS_SSL_MAX_HOST_NAME_LEN.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, MBEDTLS_ERR_SSL_ALLOC_FAILED on allocation failure, MBEDTLS_ERR_SSL_BAD_INPUT_DATA on too long input hostname.</dd></dl>
<p>Hostname set to the one provided on success (cleared when NULL). On allocation failure hostname is cleared. On too long input failure, old hostname is unchanged. </p>

</div>
</div>
<a id="a8366b49e25054078b5be139c0ce560d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8366b49e25054078b5be139c0ce560d7">&#9670;&nbsp;</a></span>mbedtls_ssl_set_hs_authmode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_set_hs_authmode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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 authmode for the current handshake. </p>
<dl class="section note"><dt>Note</dt><dd>Same as <code><a class="el" href="ssl_8h.html#a5695285c9dbfefec295012b566290f37" title="Set the certificate verification mode Default: NONE on server, REQUIRED on client. ">mbedtls_ssl_conf_authmode()</a></code> but for use within the SNI callback.</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">authmode</td><td>MBEDTLS_SSL_VERIFY_NONE, MBEDTLS_SSL_VERIFY_OPTIONAL or MBEDTLS_SSL_VERIFY_REQUIRED </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a33a781dcdc16bd649ea0346a598e9656"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33a781dcdc16bd649ea0346a598e9656">&#9670;&nbsp;</a></span>mbedtls_ssl_set_hs_ca_chain()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_set_hs_ca_chain </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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="structmbedtls__x509__crt.html">mbedtls_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="structmbedtls__x509__crl.html">mbedtls_x509_crl</a> *&#160;</td>
          <td class="paramname"><em>ca_crl</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 for the current handshake. </p>
<dl class="section note"><dt>Note</dt><dd>Same as <code><a class="el" href="ssl_8h.html#a85c3bb6b682ba361d13de1c0a1eb69fb" title="Set the data required to verify peer certificate. ">mbedtls_ssl_conf_ca_chain()</a></code> but for use within the SNI callback.</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">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>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aa0353666974b1cd19dafb2c2b165d2f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0353666974b1cd19dafb2c2b165d2f2">&#9670;&nbsp;</a></span>mbedtls_ssl_set_hs_own_cert()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_set_hs_own_cert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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="structmbedtls__x509__crt.html">mbedtls_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="structmbedtls__pk__context.html">mbedtls_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 and key for the current handshake. </p>
<dl class="section note"><dt>Note</dt><dd>Same as <code><a class="el" href="ssl_8h.html#a4e54e9ace21beb608bae36ddb81a4fb0" title="Set own certificate chain and private key. ">mbedtls_ssl_conf_own_cert()</a></code> but for use within the SNI callback.</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 MBEDTLS_ERR_SSL_ALLOC_FAILED </dd></dl>

</div>
</div>
<a id="a50f8bb06a3ec75f6fec4ccc2c1aad151"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50f8bb06a3ec75f6fec4ccc2c1aad151">&#9670;&nbsp;</a></span>mbedtls_ssl_set_hs_psk()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_set_hs_psk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>&#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) for the current handshake. </p>
<dl class="section note"><dt>Note</dt><dd>This should only be called inside the PSK callback, ie the function passed to <code><a class="el" href="ssl_8h.html#a1b804626a236e493316c58b048ab5937" title="Set the PSK callback (server-side only). ">mbedtls_ssl_conf_psk_cb()</a></code>.</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">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>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or MBEDTLS_ERR_SSL_ALLOC_FAILED </dd></dl>

</div>
</div>
<a id="a91be5c606b9f7c1e44b3e507a4fe7b66"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91be5c606b9f7c1e44b3e507a4fe7b66">&#9670;&nbsp;</a></span>mbedtls_ssl_set_session()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_set_session </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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="structmbedtls__ssl__session.html">mbedtls_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, MBEDTLS_ERR_SSL_ALLOC_FAILED if memory allocation failed, MBEDTLS_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#ad617a178adfaf259db89c4fe092ad6e1" title="Save session in order to resume it later (client-side only) Session data is copied to presented sessi...">mbedtls_ssl_get_session()</a> </dd></dl>

</div>
</div>
<a id="a335ee78886daf7f8fb369fa925b3cca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a335ee78886daf7f8fb369fa925b3cca8">&#9670;&nbsp;</a></span>mbedtls_ssl_set_timer_cb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_ssl_set_timer_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *&#160;</td>
          <td class="paramname"><em>ssl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>p_timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#a61c5d9ed63c50ee809eec98820d3f36c">mbedtls_ssl_set_timer_t</a> *&#160;</td>
          <td class="paramname"><em>f_set_timer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ssl_8h.html#adea005600b532d788c05e9d01b42895b">mbedtls_ssl_get_timer_t</a> *&#160;</td>
          <td class="paramname"><em>f_get_timer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the timer callbacks (Mandatory for DTLS.) </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">p_timer</td><td>parameter (context) shared by timer callbacks </td></tr>
    <tr><td class="paramname">f_set_timer</td><td>set timer callback </td></tr>
    <tr><td class="paramname">f_get_timer</td><td>get timer callback. Must return:</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>See the documentation of <code>mbedtls_ssl_set_timer_t</code> and <code>mbedtls_ssl_get_timer_t</code> for the conventions this pair of callbacks must follow.</dd>
<dd>
On some platforms, timing.c provides <code><a class="el" href="timing_8h.html#aeb3497ab85adabf7db89d81c34e2ef92" title="Set a pair of delays to watch (See mbedtls_timing_get_delay().) ">mbedtls_timing_set_delay()</a></code> and <code><a class="el" href="timing_8h.html#afb1705e8c4227b0ec03089aa7fc54d9b" title="Get the status of delays (Memory helper: number of delays passed.) ">mbedtls_timing_get_delay()</a></code> that are suitable for using here, except if using an event-driven style.</dd>
<dd>
See also the "DTLS tutorial" article in our knowledge base. <a href="https://tls.mbed.org/kb/how-to/dtls-tutorial">https://tls.mbed.org/kb/how-to/dtls-tutorial</a> </dd></dl>

</div>
</div>
<a id="af79cb539a0ee6ac20cf9c574f4c3b343"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af79cb539a0ee6ac20cf9c574f4c3b343">&#9670;&nbsp;</a></span>mbedtls_ssl_setup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_setup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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="structmbedtls__ssl__config.html">mbedtls_ssl_config</a> *&#160;</td>
          <td class="paramname"><em>conf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set up an SSL context for use. </p>
<dl class="section note"><dt>Note</dt><dd>No copy of the configuration context is made, it can be shared by many <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> structures.</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The conf structure will be accessed during the session. It must not be modified or freed as long as the session is active.</dd>
<dd>
This function must be called exactly once per context. Calling mbedtls_ssl_setup again is not supported, even if no session is active.</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">conf</td><td>SSL configuration to use</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, or MBEDTLS_ERR_SSL_ALLOC_FAILED if memory allocation failed </dd></dl>

</div>
</div>
<a id="a5bbda87d484de82df730758b475f32e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bbda87d484de82df730758b475f32e5">&#9670;&nbsp;</a></span>mbedtls_ssl_write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_ssl_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__ssl__context.html">mbedtls_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>Try to write exactly 'len' application data bytes. </p>
<dl class="section warning"><dt>Warning</dt><dd>This function will do partial writes in some cases. If the return value is non-negative but less than length, the function must be called again with updated arguments: buf + ret, len - ret (if ret is the return value) until it returns a value equal to the last 'len' argument.</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">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>the number of bytes actually written (may be less than len), or MBEDTLS_ERR_SSL_WANT_WRITE or MBEDTLS_ERR_SSL_WANT_READ, or another negative error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If this function returns something other than a positive value or MBEDTLS_ERR_SSL_WANT_READ/WRITE, the ssl context becomes unusable, and you should either free it or call <code><a class="el" href="ssl_8h.html#a21432367cbce428f10dcb62d9456fa7e" title="Reset an already initialized SSL context for re-use while retaining application-set variables...">mbedtls_ssl_session_reset()</a></code> on it before re-using it for a new connection; the current connection must be closed.</dd>
<dd>
When this function returns MBEDTLS_ERR_SSL_WANT_WRITE/READ, it must be called later with the <em>same</em> arguments, until it returns a positive value. When the function returns MBEDTLS_ERR_SSL_WANT_WRITE there may be some partial data in the output buffer, however this is not yet sent.</dd>
<dd>
If the requested length is greater than the maximum fragment length (either the built-in limit or the one set or negotiated with the peer), then:<ul>
<li>with TLS, less bytes than requested are written.</li>
<li>with DTLS, MBEDTLS_ERR_SSL_BAD_INPUT_DATA is returned. <code><a class="el" href="ssl_8h.html#a44fb4dcf45412d667778432836be9150" title="Return the maximum fragment length (payload, in bytes). This is the value negotiated with peer if any...">mbedtls_ssl_get_max_frag_len()</a></code> may be used to query the active maximum fragment length. </li>
</ul>
</dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue May 8 2018 21:08:41 for mbed TLS v2.7.3 by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>