<!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.8: threading.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.8 </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> | <a href="#define-members">Macros</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">threading.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Threading abstraction layer. <a href="#details">More...</a></p> <div class="textblock"><code>#include "<a class="el" href="config_8h_source.html">config.h</a>"</code><br /> <code>#include <stdlib.h></code><br /> <code>#include <pthread.h></code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for threading.h:</div> <div class="dyncontent"> <div class="center"><img src="threading_8h__incl.png" border="0" usemap="#threading_8h" alt=""/></div> <map name="threading_8h" id="threading_8h"> <area shape="rect" id="node2" href="config_8h.html" title="Configuration options (set of defines) " alt="" coords="35,80,138,107"/> <area shape="rect" id="node3" href="check__config_8h.html" title="Consistency checks for configuration options. " alt="" coords="5,155,168,181"/> </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="threading_8h__dep__incl.png" border="0" usemap="#threading_8hdep" alt=""/></div> <map name="threading_8hdep" id="threading_8hdep"> <area shape="rect" id="node2" href="ctr__drbg_8h.html" title="CTR_DRBG is based on AES-256, as defined in NIST SP 800-90A: Recommendation for Random Number Generat..." alt="" coords="245,80,368,107"/> <area shape="rect" id="node3" href="rsa_8h.html" title="The RSA public-key cryptosystem. " alt="" coords="392,80,464,107"/> <area shape="rect" id="node10" href="ssl__cache_8h.html" title="SSL session cache implementation. " alt="" coords="298,528,430,555"/> <area shape="rect" id="node11" href="ssl__cookie_8h.html" title="DTLS cookie callbacks implementation. " alt="" coords="454,528,597,555"/> <area shape="rect" id="node12" href="ssl__ticket_8h.html" title="TLS server ticket callbacks implementation. " alt="" coords="621,528,763,555"/> <area shape="rect" id="node18" href="entropy_8h.html" title="Entropy accumulator implementation. " alt="" coords="653,80,765,107"/> <area shape="rect" id="node19" href="hmac__drbg_8h.html" title="HMAC_DRBG (NIST SP 800-90A) " alt="" coords="790,80,922,107"/> <area shape="rect" id="node4" href="pk_8h.html" title="Public Key abstraction layer. " alt="" coords="378,155,441,181"/> <area shape="rect" id="node13" href="x509_8h.html" title="X.509 generic defines and structures. " alt="" coords="251,229,333,256"/> <area shape="rect" id="node5" href="ssl__ciphersuites_8h.html" title="SSL Ciphersuites for mbed TLS. " alt="" coords="267,379,469,405"/> <area shape="rect" id="node16" href="oid_8h.html" title="Object Identifier (OID) database. " alt="" coords="355,304,427,331"/> <area shape="rect" id="node6" href="ssl_8h.html" title="SSL/TLS functions. " alt="" coords="228,453,300,480"/> <area shape="rect" id="node7" href="debug_8h.html" title="Functions for controlling and providing debug output from the library. " alt="" coords="182,528,274,555"/> <area shape="rect" id="node8" href="net__sockets_8h.html" title="Network communication functions. " alt="" coords="5,528,157,555"/> <area shape="rect" id="node9" href="net_8h.html" title="Deprecated header file that includes net_sockets.h. " alt="" coords="45,603,117,629"/> <area shape="rect" id="node14" href="x509__crt_8h.html" title="X.509 certificate parsing and writing. " alt="" coords="61,379,184,405"/> <area shape="rect" id="node15" href="x509__crl_8h.html" title="X.509 certificate revocation list parsing. " alt="" coords="61,304,184,331"/> <area shape="rect" id="node17" href="x509__csr_8h.html" title="X.509 certificate signing request parsing and writing. " alt="" coords="208,304,331,331"/> </map> </div> </div> <p><a href="threading_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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </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:ad3cbda6bbb5ce837b33ada893d7d5613"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#ad3cbda6bbb5ce837b33ada893d7d5613">MBEDTLS_ERR_THREADING_FEATURE_UNAVAILABLE</a>   -0x001A</td></tr> <tr class="separator:ad3cbda6bbb5ce837b33ada893d7d5613"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76cd79a1ed3fd583ed3a4428d6a1e967"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a76cd79a1ed3fd583ed3a4428d6a1e967">MBEDTLS_ERR_THREADING_BAD_INPUT_DATA</a>   -0x001C</td></tr> <tr class="separator:a76cd79a1ed3fd583ed3a4428d6a1e967"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a51005c51b928706511d3c2ea3390c07f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a51005c51b928706511d3c2ea3390c07f">MBEDTLS_ERR_THREADING_MUTEX_ERROR</a>   -0x001E</td></tr> <tr class="separator:a51005c51b928706511d3c2ea3390c07f"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a> Variables</h2></td></tr> <tr class="memitem:a197b6c71b89a7db14e6540c1280d4b1f"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a197b6c71b89a7db14e6540c1280d4b1f">mbedtls_mutex_init</a> )(<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td></tr> <tr class="separator:a197b6c71b89a7db14e6540c1280d4b1f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a623f4688707b88f2ee3313b64f505c0e"><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a623f4688707b88f2ee3313b64f505c0e">mbedtls_mutex_free</a> )(<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td></tr> <tr class="separator:a623f4688707b88f2ee3313b64f505c0e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af42238b3b7d16726a7b87edf7e7a68fe"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#af42238b3b7d16726a7b87edf7e7a68fe">mbedtls_mutex_lock</a> )(<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td></tr> <tr class="separator:af42238b3b7d16726a7b87edf7e7a68fe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a98737d8d49dfb29a36efc3d9ef7cf13c"><td class="memItemLeft" align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a98737d8d49dfb29a36efc3d9ef7cf13c">mbedtls_mutex_unlock</a> )(<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td></tr> <tr class="separator:a98737d8d49dfb29a36efc3d9ef7cf13c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a87bbccdf40874b80a9f7313627734c38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a87bbccdf40874b80a9f7313627734c38">mbedtls_threading_readdir_mutex</a></td></tr> <tr class="separator:a87bbccdf40874b80a9f7313627734c38"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a81df682884dc24198fb7fc86c6100f34"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="threading_8h.html#a81df682884dc24198fb7fc86c6100f34">mbedtls_threading_gmtime_mutex</a></td></tr> <tr class="separator:a81df682884dc24198fb7fc86c6100f34"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Threading abstraction layer. </p> <p class="definition">Definition in file <a class="el" href="threading_8h_source.html">threading.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="a76cd79a1ed3fd583ed3a4428d6a1e967"></a> <h2 class="memtitle"><span class="permalink"><a href="#a76cd79a1ed3fd583ed3a4428d6a1e967">◆ </a></span>MBEDTLS_ERR_THREADING_BAD_INPUT_DATA</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_ERR_THREADING_BAD_INPUT_DATA   -0x001C</td> </tr> </table> </div><div class="memdoc"> <p>Bad input parameters to function. </p> <p class="definition">Definition at line <a class="el" href="threading_8h_source.html#l00040">40</a> of file <a class="el" href="threading_8h_source.html">threading.h</a>.</p> </div> </div> <a id="ad3cbda6bbb5ce837b33ada893d7d5613"></a> <h2 class="memtitle"><span class="permalink"><a href="#ad3cbda6bbb5ce837b33ada893d7d5613">◆ </a></span>MBEDTLS_ERR_THREADING_FEATURE_UNAVAILABLE</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_ERR_THREADING_FEATURE_UNAVAILABLE   -0x001A</td> </tr> </table> </div><div class="memdoc"> <p>The selected feature is not available. </p> <p class="definition">Definition at line <a class="el" href="threading_8h_source.html#l00039">39</a> of file <a class="el" href="threading_8h_source.html">threading.h</a>.</p> </div> </div> <a id="a51005c51b928706511d3c2ea3390c07f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a51005c51b928706511d3c2ea3390c07f">◆ </a></span>MBEDTLS_ERR_THREADING_MUTEX_ERROR</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_ERR_THREADING_MUTEX_ERROR   -0x001E</td> </tr> </table> </div><div class="memdoc"> <p>Locking / unlocking / free failed with error code. </p> <p class="definition">Definition at line <a class="el" href="threading_8h_source.html#l00041">41</a> of file <a class="el" href="threading_8h_source.html">threading.h</a>.</p> </div> </div> <h2 class="groupheader">Variable Documentation</h2> <a id="a623f4688707b88f2ee3313b64f505c0e"></a> <h2 class="memtitle"><span class="permalink"><a href="#a623f4688707b88f2ee3313b64f505c0e">◆ </a></span>mbedtls_mutex_free</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* mbedtls_mutex_free) (<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a197b6c71b89a7db14e6540c1280d4b1f"></a> <h2 class="memtitle"><span class="permalink"><a href="#a197b6c71b89a7db14e6540c1280d4b1f">◆ </a></span>mbedtls_mutex_init</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* mbedtls_mutex_init) (<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="af42238b3b7d16726a7b87edf7e7a68fe"></a> <h2 class="memtitle"><span class="permalink"><a href="#af42238b3b7d16726a7b87edf7e7a68fe">◆ </a></span>mbedtls_mutex_lock</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* mbedtls_mutex_lock) (<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a98737d8d49dfb29a36efc3d9ef7cf13c"></a> <h2 class="memtitle"><span class="permalink"><a href="#a98737d8d49dfb29a36efc3d9ef7cf13c">◆ </a></span>mbedtls_mutex_unlock</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* mbedtls_mutex_unlock) (<a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> *mutex)</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a81df682884dc24198fb7fc86c6100f34"></a> <h2 class="memtitle"><span class="permalink"><a href="#a81df682884dc24198fb7fc86c6100f34">◆ </a></span>mbedtls_threading_gmtime_mutex</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> mbedtls_threading_gmtime_mutex</td> </tr> </table> </div><div class="memdoc"> </div> </div> <a id="a87bbccdf40874b80a9f7313627734c38"></a> <h2 class="memtitle"><span class="permalink"><a href="#a87bbccdf40874b80a9f7313627734c38">◆ </a></span>mbedtls_threading_readdir_mutex</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structmbedtls__threading__mutex__t.html">mbedtls_threading_mutex_t</a> mbedtls_threading_readdir_mutex</td> </tr> </table> </div><div class="memdoc"> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Tue Jan 1 2019 18:27:18 for mbed TLS v2.7.8 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.13 </small></address> </body> </html>