<!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.6: debug.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.6 </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="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">debug.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Functions for controlling and providing debug output from the library. <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 "<a class="el" href="ssl_8h_source.html">ssl.h</a>"</code><br /> <code>#include "<a class="el" href="ecp_8h_source.html">ecp.h</a>"</code><br /> </div><div class="textblock"><div class="dynheader"> Include dependency graph for debug.h:</div> <div class="dyncontent"> <div class="center"><img src="debug_8h__incl.png" border="0" usemap="#debug_8h" alt=""/></div> <map name="debug_8h" id="debug_8h"> <area shape="rect" id="node2" href="config_8h.html" title="Configuration options (set of defines) " alt="" coords="547,677,650,704"/> <area shape="rect" id="node5" href="ssl_8h.html" title="SSL/TLS functions. " alt="" coords="800,80,872,107"/> <area shape="rect" id="node10" href="ecp_8h.html" title="Elliptic curves over GF(p) " alt="" coords="1189,528,1261,555"/> <area shape="rect" id="node3" href="check__config_8h.html" title="Consistency checks for configuration options. " alt="" coords="517,752,680,779"/> <area shape="rect" id="node6" href="bignum_8h.html" title="Multi-precision integer library. " alt="" coords="1094,603,1197,629"/> <area shape="rect" id="node11" href="ssl__ciphersuites_8h.html" title="SSL Ciphersuites for mbed TLS. " alt="" coords="735,304,937,331"/> <area shape="rect" id="node20" href="x509__crt_8h.html" title="X.509 certificate parsing and writing. " alt="" coords="500,155,623,181"/> <area shape="rect" id="node23" href="x509__crl_8h.html" title="X.509 certificate revocation list parsing. " alt="" coords="368,229,491,256"/> <area shape="rect" id="node24" href="dhm_8h.html" title="Diffie-Hellman-Merkle key exchange. " alt="" coords="1043,528,1115,555"/> <area shape="rect" id="node25" href="ecdh_8h.html" title="The Elliptic Curve Diffie-Hellman (ECDH) protocol APIs. " alt="" coords="1184,379,1267,405"/> <area shape="rect" id="node26" href="platform__time_8h.html" title="mbed TLS Platform time abstraction " alt="" coords="158,155,330,181"/> <area shape="rect" id="node12" href="pk_8h.html" title="Public Key abstraction layer. " alt="" coords="735,379,798,405"/> <area shape="rect" id="node13" href="md_8h.html" title="The generic message-digest wrapper. " alt="" coords="746,528,809,555"/> <area shape="rect" id="node19" href="cipher_8h.html" title="The generic cipher wrapper. " alt="" coords="915,603,1018,629"/> <area shape="rect" id="node14" href="rsa_8h.html" title="The RSA public-key cryptosystem. " alt="" coords="565,453,637,480"/> <area shape="rect" id="node18" href="ecdsa_8h.html" title="The Elliptic Curve Digital Signature Algorithm (ECDSA). " alt="" coords="865,453,957,480"/> <area shape="rect" id="node15" href="threading_8h.html" title="Threading abstraction layer. " alt="" coords="333,528,465,555"/> <area shape="rect" id="node21" href="x509_8h.html" title="X.509 generic defines and structures. " alt="" coords="565,304,648,331"/> <area shape="rect" id="node22" href="asn1_8h.html" title="Generic ASN.1 parsing. " alt="" coords="885,528,968,555"/> </map> </div> </div> <p><a href="debug_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="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ae7f64a58e2831778b181c89ed0d7c41b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ae7f64a58e2831778b181c89ed0d7c41b">MBEDTLS_DEBUG_STRIP_PARENS</a>(...)   __VA_ARGS__</td></tr> <tr class="separator:ae7f64a58e2831778b181c89ed0d7c41b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a76d4633d24aaac287bd14686224b3c47"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a76d4633d24aaac287bd14686224b3c47">MBEDTLS_SSL_DEBUG_MSG</a>(level, args)</td></tr> <tr class="separator:a76d4633d24aaac287bd14686224b3c47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a04d31b121dc268e602493e305fbbe168"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a04d31b121dc268e602493e305fbbe168">MBEDTLS_SSL_DEBUG_RET</a>(level, text, ret)   <a class="el" href="debug_8h.html#ac38765871abd623d8acee7091f04c061">mbedtls_debug_print_ret</a>( ssl, level, __FILE__, __LINE__, text, ret )</td></tr> <tr class="separator:a04d31b121dc268e602493e305fbbe168"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acdedea6b9cc837248785d0f21bf18e4d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#acdedea6b9cc837248785d0f21bf18e4d">MBEDTLS_SSL_DEBUG_BUF</a>(level, text, buf, len)   <a class="el" href="debug_8h.html#abd948e0fd4d81c1ef908b81ba6961614">mbedtls_debug_print_buf</a>( ssl, level, __FILE__, __LINE__, text, buf, len )</td></tr> <tr class="separator:acdedea6b9cc837248785d0f21bf18e4d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92f0b84ca7102607354ba10b600714f7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a92f0b84ca7102607354ba10b600714f7">MBEDTLS_SSL_DEBUG_MPI</a>(level, text, X)   <a class="el" href="debug_8h.html#a43a3f5a37b9816abb8c68fca8942780d">mbedtls_debug_print_mpi</a>( ssl, level, __FILE__, __LINE__, text, X )</td></tr> <tr class="separator:a92f0b84ca7102607354ba10b600714f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af9a6a54fd166cd81b3c55b99431c09df"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#af9a6a54fd166cd81b3c55b99431c09df">MBEDTLS_SSL_DEBUG_ECP</a>(level, text, X)   <a class="el" href="debug_8h.html#a67c49649a174985ae4a2b3e585a72efd">mbedtls_debug_print_ecp</a>( ssl, level, __FILE__, __LINE__, text, X )</td></tr> <tr class="separator:af9a6a54fd166cd81b3c55b99431c09df"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e80bf7a1fc7c91fe07744c6f7272149"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a6e80bf7a1fc7c91fe07744c6f7272149">MBEDTLS_SSL_DEBUG_CRT</a>(level, text, crt)   <a class="el" href="debug_8h.html#ac6af6ac3c4308a5f7abeaa30ee444d3d">mbedtls_debug_print_crt</a>( ssl, level, __FILE__, __LINE__, text, crt )</td></tr> <tr class="separator:a6e80bf7a1fc7c91fe07744c6f7272149"><td class="memSeparator" colspan="2"> </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:a6629362e96b43725ace95c8ff01d9985"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a6629362e96b43725ace95c8ff01d9985">mbedtls_debug_set_threshold</a> (int threshold)</td></tr> <tr class="memdesc:a6629362e96b43725ace95c8ff01d9985"><td class="mdescLeft"> </td><td class="mdescRight">Set the threshold error level to handle globally all debug output. Debug messages that have a level over the threshold value are discarded. (Default value: 0 = No debug ) <a href="#a6629362e96b43725ace95c8ff01d9985">More...</a><br /></td></tr> <tr class="separator:a6629362e96b43725ace95c8ff01d9985"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed62ccbc2142782faf6b0ad5d46ab226"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#aed62ccbc2142782faf6b0ad5d46ab226">mbedtls_debug_print_msg</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int level, const char *file, int line, const char *format,...)</td></tr> <tr class="memdesc:aed62ccbc2142782faf6b0ad5d46ab226"><td class="mdescLeft"> </td><td class="mdescRight">Print a message to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a76d4633d24aaac287bd14686224b3c47">MBEDTLS_SSL_DEBUG_MSG()</a> macro, which supplies the ssl context, file and line number parameters. <a href="#aed62ccbc2142782faf6b0ad5d46ab226">More...</a><br /></td></tr> <tr class="separator:aed62ccbc2142782faf6b0ad5d46ab226"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac38765871abd623d8acee7091f04c061"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ac38765871abd623d8acee7091f04c061">mbedtls_debug_print_ret</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int level, const char *file, int line, const char *text, int ret)</td></tr> <tr class="memdesc:ac38765871abd623d8acee7091f04c061"><td class="mdescLeft"> </td><td class="mdescRight">Print the return value of a function to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a04d31b121dc268e602493e305fbbe168">MBEDTLS_SSL_DEBUG_RET()</a> macro, which supplies the ssl context, file and line number parameters. <a href="#ac38765871abd623d8acee7091f04c061">More...</a><br /></td></tr> <tr class="separator:ac38765871abd623d8acee7091f04c061"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abd948e0fd4d81c1ef908b81ba6961614"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#abd948e0fd4d81c1ef908b81ba6961614">mbedtls_debug_print_buf</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int level, const char *file, int line, const char *text, const unsigned char *buf, size_t len)</td></tr> <tr class="memdesc:abd948e0fd4d81c1ef908b81ba6961614"><td class="mdescLeft"> </td><td class="mdescRight">Output a buffer of size len bytes to the debug output. This function is always used through the <a class="el" href="debug_8h.html#acdedea6b9cc837248785d0f21bf18e4d">MBEDTLS_SSL_DEBUG_BUF()</a> macro, which supplies the ssl context, file and line number parameters. <a href="#abd948e0fd4d81c1ef908b81ba6961614">More...</a><br /></td></tr> <tr class="separator:abd948e0fd4d81c1ef908b81ba6961614"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43a3f5a37b9816abb8c68fca8942780d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a43a3f5a37b9816abb8c68fca8942780d">mbedtls_debug_print_mpi</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int level, const char *file, int line, const char *text, const <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *X)</td></tr> <tr class="memdesc:a43a3f5a37b9816abb8c68fca8942780d"><td class="mdescLeft"> </td><td class="mdescRight">Print a MPI variable to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a92f0b84ca7102607354ba10b600714f7">MBEDTLS_SSL_DEBUG_MPI()</a> macro, which supplies the ssl context, file and line number parameters. <a href="#a43a3f5a37b9816abb8c68fca8942780d">More...</a><br /></td></tr> <tr class="separator:a43a3f5a37b9816abb8c68fca8942780d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67c49649a174985ae4a2b3e585a72efd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#a67c49649a174985ae4a2b3e585a72efd">mbedtls_debug_print_ecp</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int level, const char *file, int line, const char *text, const <a class="el" href="structmbedtls__ecp__point.html">mbedtls_ecp_point</a> *X)</td></tr> <tr class="memdesc:a67c49649a174985ae4a2b3e585a72efd"><td class="mdescLeft"> </td><td class="mdescRight">Print an ECP point to the debug output. This function is always used through the <a class="el" href="debug_8h.html#af9a6a54fd166cd81b3c55b99431c09df">MBEDTLS_SSL_DEBUG_ECP()</a> macro, which supplies the ssl context, file and line number parameters. <a href="#a67c49649a174985ae4a2b3e585a72efd">More...</a><br /></td></tr> <tr class="separator:a67c49649a174985ae4a2b3e585a72efd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac6af6ac3c4308a5f7abeaa30ee444d3d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="debug_8h.html#ac6af6ac3c4308a5f7abeaa30ee444d3d">mbedtls_debug_print_crt</a> (const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> *ssl, int level, const char *file, int line, const char *text, const <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> *crt)</td></tr> <tr class="memdesc:ac6af6ac3c4308a5f7abeaa30ee444d3d"><td class="mdescLeft"> </td><td class="mdescRight">Print a X.509 certificate structure to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a6e80bf7a1fc7c91fe07744c6f7272149">MBEDTLS_SSL_DEBUG_CRT()</a> macro, which supplies the ssl context, file and line number parameters. <a href="#ac6af6ac3c4308a5f7abeaa30ee444d3d">More...</a><br /></td></tr> <tr class="separator:ac6af6ac3c4308a5f7abeaa30ee444d3d"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Functions for controlling and providing debug output from the library. </p> <p class="definition">Definition in file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a id="ae7f64a58e2831778b181c89ed0d7c41b"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae7f64a58e2831778b181c89ed0d7c41b">◆ </a></span>MBEDTLS_DEBUG_STRIP_PARENS</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_DEBUG_STRIP_PARENS</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>...</em></td><td>)</td> <td>   __VA_ARGS__</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00041">41</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <a id="acdedea6b9cc837248785d0f21bf18e4d"></a> <h2 class="memtitle"><span class="permalink"><a href="#acdedea6b9cc837248785d0f21bf18e4d">◆ </a></span>MBEDTLS_SSL_DEBUG_BUF</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_DEBUG_BUF</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">text, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">buf, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">len </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="debug_8h.html#abd948e0fd4d81c1ef908b81ba6961614">mbedtls_debug_print_buf</a>( ssl, level, __FILE__, __LINE__, text, buf, len )</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00050">50</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <a id="a6e80bf7a1fc7c91fe07744c6f7272149"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6e80bf7a1fc7c91fe07744c6f7272149">◆ </a></span>MBEDTLS_SSL_DEBUG_CRT</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_DEBUG_CRT</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">text, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">crt </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="debug_8h.html#ac6af6ac3c4308a5f7abeaa30ee444d3d">mbedtls_debug_print_crt</a>( ssl, level, __FILE__, __LINE__, text, crt )</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00064">64</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <a id="af9a6a54fd166cd81b3c55b99431c09df"></a> <h2 class="memtitle"><span class="permalink"><a href="#af9a6a54fd166cd81b3c55b99431c09df">◆ </a></span>MBEDTLS_SSL_DEBUG_ECP</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_DEBUG_ECP</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">text, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">X </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="debug_8h.html#a67c49649a174985ae4a2b3e585a72efd">mbedtls_debug_print_ecp</a>( ssl, level, __FILE__, __LINE__, text, X )</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00059">59</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <a id="a92f0b84ca7102607354ba10b600714f7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a92f0b84ca7102607354ba10b600714f7">◆ </a></span>MBEDTLS_SSL_DEBUG_MPI</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_DEBUG_MPI</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">text, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">X </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="debug_8h.html#a43a3f5a37b9816abb8c68fca8942780d">mbedtls_debug_print_mpi</a>( ssl, level, __FILE__, __LINE__, text, X )</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00054">54</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <a id="a76d4633d24aaac287bd14686224b3c47"></a> <h2 class="memtitle"><span class="permalink"><a href="#a76d4633d24aaac287bd14686224b3c47">◆ </a></span>MBEDTLS_SSL_DEBUG_MSG</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_DEBUG_MSG</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">args </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <b>Value:</b><div class="fragment"><div class="line"><a class="code" href="debug_8h.html#aed62ccbc2142782faf6b0ad5d46ab226">mbedtls_debug_print_msg</a>( ssl, level, __FILE__, __LINE__, \</div><div class="line"> <a class="code" href="debug_8h.html#ae7f64a58e2831778b181c89ed0d7c41b">MBEDTLS_DEBUG_STRIP_PARENS</a> args )</div><div class="ttc" id="debug_8h_html_aed62ccbc2142782faf6b0ad5d46ab226"><div class="ttname"><a href="debug_8h.html#aed62ccbc2142782faf6b0ad5d46ab226">mbedtls_debug_print_msg</a></div><div class="ttdeci">void mbedtls_debug_print_msg(const mbedtls_ssl_context *ssl, int level, const char *file, int line, const char *format,...)</div><div class="ttdoc">Print a message to the debug output. This function is always used through the MBEDTLS_SSL_DEBUG_MSG()...</div></div> <div class="ttc" id="debug_8h_html_ae7f64a58e2831778b181c89ed0d7c41b"><div class="ttname"><a href="debug_8h.html#ae7f64a58e2831778b181c89ed0d7c41b">MBEDTLS_DEBUG_STRIP_PARENS</a></div><div class="ttdeci">#define MBEDTLS_DEBUG_STRIP_PARENS(...)</div><div class="ttdef"><b>Definition:</b> <a href="debug_8h_source.html#l00041">debug.h:41</a></div></div> </div><!-- fragment --> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00043">43</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <a id="a04d31b121dc268e602493e305fbbe168"></a> <h2 class="memtitle"><span class="permalink"><a href="#a04d31b121dc268e602493e305fbbe168">◆ </a></span>MBEDTLS_SSL_DEBUG_RET</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MBEDTLS_SSL_DEBUG_RET</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname">level, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">text, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname">ret </td> </tr> <tr> <td></td> <td>)</td> <td></td><td>   <a class="el" href="debug_8h.html#ac38765871abd623d8acee7091f04c061">mbedtls_debug_print_ret</a>( ssl, level, __FILE__, __LINE__, text, ret )</td> </tr> </table> </div><div class="memdoc"> <p class="definition">Definition at line <a class="el" href="debug_8h_source.html#l00047">47</a> of file <a class="el" href="debug_8h_source.html">debug.h</a>.</p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="abd948e0fd4d81c1ef908b81ba6961614"></a> <h2 class="memtitle"><span class="permalink"><a href="#abd948e0fd4d81c1ef908b81ba6961614">◆ </a></span>mbedtls_debug_print_buf()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_print_buf </td> <td>(</td> <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> * </td> <td class="paramname"><em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const unsigned char * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>len</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Output a buffer of size len bytes to the debug output. This function is always used through the <a class="el" href="debug_8h.html#acdedea6b9cc837248785d0f21bf18e4d">MBEDTLS_SSL_DEBUG_BUF()</a> macro, which supplies the ssl context, file and line number parameters. </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>error level of the debug message </td></tr> <tr><td class="paramname">file</td><td>file the error has occurred in </td></tr> <tr><td class="paramname">line</td><td>line number the error has occurred in </td></tr> <tr><td class="paramname">text</td><td>a name or label for the buffer being dumped. Normally the variable or buffer name </td></tr> <tr><td class="paramname">buf</td><td>the buffer to be outputted </td></tr> <tr><td class="paramname">len</td><td>length of the buffer</td></tr> </table> </dd> </dl> <dl class="section attention"><dt>Attention</dt><dd>This function is intended for INTERNAL usage within the library only. </dd></dl> </div> </div> <a id="ac6af6ac3c4308a5f7abeaa30ee444d3d"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac6af6ac3c4308a5f7abeaa30ee444d3d">◆ </a></span>mbedtls_debug_print_crt()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_print_crt </td> <td>(</td> <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> * </td> <td class="paramname"><em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmbedtls__x509__crt.html">mbedtls_x509_crt</a> * </td> <td class="paramname"><em>crt</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print a X.509 certificate structure to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a6e80bf7a1fc7c91fe07744c6f7272149">MBEDTLS_SSL_DEBUG_CRT()</a> macro, which supplies the ssl context, file and line number parameters. </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>error level of the debug message </td></tr> <tr><td class="paramname">file</td><td>file the error has occurred in </td></tr> <tr><td class="paramname">line</td><td>line number the error has occurred in </td></tr> <tr><td class="paramname">text</td><td>a name or label for the certificate being output </td></tr> <tr><td class="paramname">crt</td><td>X.509 certificate structure</td></tr> </table> </dd> </dl> <dl class="section attention"><dt>Attention</dt><dd>This function is intended for INTERNAL usage within the library only. </dd></dl> </div> </div> <a id="a67c49649a174985ae4a2b3e585a72efd"></a> <h2 class="memtitle"><span class="permalink"><a href="#a67c49649a174985ae4a2b3e585a72efd">◆ </a></span>mbedtls_debug_print_ecp()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_print_ecp </td> <td>(</td> <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> * </td> <td class="paramname"><em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmbedtls__ecp__point.html">mbedtls_ecp_point</a> * </td> <td class="paramname"><em>X</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print an ECP point to the debug output. This function is always used through the <a class="el" href="debug_8h.html#af9a6a54fd166cd81b3c55b99431c09df">MBEDTLS_SSL_DEBUG_ECP()</a> macro, which supplies the ssl context, file and line number parameters. </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>error level of the debug message </td></tr> <tr><td class="paramname">file</td><td>file the error has occurred in </td></tr> <tr><td class="paramname">line</td><td>line number the error has occurred in </td></tr> <tr><td class="paramname">text</td><td>a name or label for the ECP point being output. Normally the variable name </td></tr> <tr><td class="paramname">X</td><td>the ECP point</td></tr> </table> </dd> </dl> <dl class="section attention"><dt>Attention</dt><dd>This function is intended for INTERNAL usage within the library only. </dd></dl> </div> </div> <a id="a43a3f5a37b9816abb8c68fca8942780d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a43a3f5a37b9816abb8c68fca8942780d">◆ </a></span>mbedtls_debug_print_mpi()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_print_mpi </td> <td>(</td> <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> * </td> <td class="paramname"><em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> * </td> <td class="paramname"><em>X</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print a MPI variable to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a92f0b84ca7102607354ba10b600714f7">MBEDTLS_SSL_DEBUG_MPI()</a> macro, which supplies the ssl context, file and line number parameters. </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>error level of the debug message </td></tr> <tr><td class="paramname">file</td><td>file the error has occurred in </td></tr> <tr><td class="paramname">line</td><td>line number the error has occurred in </td></tr> <tr><td class="paramname">text</td><td>a name or label for the MPI being output. Normally the variable name </td></tr> <tr><td class="paramname">X</td><td>the MPI variable</td></tr> </table> </dd> </dl> <dl class="section attention"><dt>Attention</dt><dd>This function is intended for INTERNAL usage within the library only. </dd></dl> </div> </div> <a id="aed62ccbc2142782faf6b0ad5d46ab226"></a> <h2 class="memtitle"><span class="permalink"><a href="#aed62ccbc2142782faf6b0ad5d46ab226">◆ </a></span>mbedtls_debug_print_msg()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_print_msg </td> <td>(</td> <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> * </td> <td class="paramname"><em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"> </td> <td class="paramname"><em>...</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print a message to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a76d4633d24aaac287bd14686224b3c47">MBEDTLS_SSL_DEBUG_MSG()</a> macro, which supplies the ssl context, file and line number parameters. </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>error level of the debug message </td></tr> <tr><td class="paramname">file</td><td>file the message has occurred in </td></tr> <tr><td class="paramname">line</td><td>line number the message has occurred at </td></tr> <tr><td class="paramname">format</td><td>format specifier, in printf format </td></tr> <tr><td class="paramname">...</td><td>variables used by the format specifier</td></tr> </table> </dd> </dl> <dl class="section attention"><dt>Attention</dt><dd>This function is intended for INTERNAL usage within the library only. </dd></dl> </div> </div> <a id="ac38765871abd623d8acee7091f04c061"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac38765871abd623d8acee7091f04c061">◆ </a></span>mbedtls_debug_print_ret()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_print_ret </td> <td>(</td> <td class="paramtype">const <a class="el" href="structmbedtls__ssl__context.html">mbedtls_ssl_context</a> * </td> <td class="paramname"><em>ssl</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>level</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>file</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>line</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>text</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ret</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Print the return value of a function to the debug output. This function is always used through the <a class="el" href="debug_8h.html#a04d31b121dc268e602493e305fbbe168">MBEDTLS_SSL_DEBUG_RET()</a> macro, which supplies the ssl context, file and line number parameters. </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>error level of the debug message </td></tr> <tr><td class="paramname">file</td><td>file the error has occurred in </td></tr> <tr><td class="paramname">line</td><td>line number the error has occurred in </td></tr> <tr><td class="paramname">text</td><td>the name of the function that returned the error </td></tr> <tr><td class="paramname">ret</td><td>the return code value</td></tr> </table> </dd> </dl> <dl class="section attention"><dt>Attention</dt><dd>This function is intended for INTERNAL usage within the library only. </dd></dl> </div> </div> <a id="a6629362e96b43725ace95c8ff01d9985"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6629362e96b43725ace95c8ff01d9985">◆ </a></span>mbedtls_debug_set_threshold()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void mbedtls_debug_set_threshold </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>threshold</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Set the threshold error level to handle globally all debug output. Debug messages that have a level over the threshold value are discarded. (Default value: 0 = No debug ) </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">threshold</td><td>theshold level of messages to filter on. Messages at a higher level will be discarded.<ul> <li>Debug levels<ul> <li>0 No debug</li> <li>1 Error</li> <li>2 State change</li> <li>3 Informational</li> <li>4 Verbose </li> </ul> </li> </ul> </td></tr> </table> </dd> </dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 12 2018 20:26:59 for mbed TLS v2.7.6 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>