Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > f835bee5b8b7ec08e20fae17cab51e63 > files > 92

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: asn1.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>  </div>
  <div class="headertitle">
<div class="title">asn1.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Generic ASN.1 parsing.  
<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 &lt;stddef.h&gt;</code><br />
<code>#include &quot;<a class="el" href="bignum_8h_source.html">bignum.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for asn1.h:</div>
<div class="dyncontent">
<div class="center"><img src="asn1_8h__incl.png" border="0" usemap="#asn1_8h" alt=""/></div>
<map name="asn1_8h" id="asn1_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="asn1_8h__dep__incl.png" border="0" usemap="#asn1_8hdep" alt=""/></div>
<map name="asn1_8hdep" id="asn1_8hdep">
</map>
</div>
</div>
<p><a href="asn1_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 &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</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__asn1__bitstring.html">mbedtls_asn1_bitstring</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__asn1__sequence.html">mbedtls_asn1_sequence</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__asn1__named__data.html">mbedtls_asn1_named_data</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:ac2f2e00874ca486c912c33bb4f7bb16a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#ac2f2e00874ca486c912c33bb4f7bb16a">MBEDTLS_OID_SIZE</a>(x)&#160;&#160;&#160;(sizeof(x) - 1)</td></tr>
<tr class="separator:ac2f2e00874ca486c912c33bb4f7bb16a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b81f225b3551ec7c4da69b2d183d10b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a0b81f225b3551ec7c4da69b2d183d10b">MBEDTLS_OID_CMP</a>(oid_str,  oid_buf)</td></tr>
<tr class="separator:a0b81f225b3551ec7c4da69b2d183d10b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">ASN1 Error codes</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These error codes are OR'ed to X509 error codes for higher error granularity. ASN1 is a standard to specify data structures. </p>
</div></td></tr>
<tr class="memitem:ga284c12cf03a4ffeee89a63750f00dfdd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga284c12cf03a4ffeee89a63750f00dfdd">MBEDTLS_ERR_ASN1_OUT_OF_DATA</a>&#160;&#160;&#160;-0x0060</td></tr>
<tr class="separator:ga284c12cf03a4ffeee89a63750f00dfdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab055945fda47ad0e16dc59f8c5ecb86e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gab055945fda47ad0e16dc59f8c5ecb86e">MBEDTLS_ERR_ASN1_UNEXPECTED_TAG</a>&#160;&#160;&#160;-0x0062</td></tr>
<tr class="separator:gab055945fda47ad0e16dc59f8c5ecb86e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ebe8e0a4894533db505303504eea59b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga0ebe8e0a4894533db505303504eea59b">MBEDTLS_ERR_ASN1_INVALID_LENGTH</a>&#160;&#160;&#160;-0x0064</td></tr>
<tr class="separator:ga0ebe8e0a4894533db505303504eea59b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacf6fad8d80fa050c3463539412674a20"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gacf6fad8d80fa050c3463539412674a20">MBEDTLS_ERR_ASN1_LENGTH_MISMATCH</a>&#160;&#160;&#160;-0x0066</td></tr>
<tr class="separator:gacf6fad8d80fa050c3463539412674a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ac36bf8c63a9968afe1d35d0569e4d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga9ac36bf8c63a9968afe1d35d0569e4d8">MBEDTLS_ERR_ASN1_INVALID_DATA</a>&#160;&#160;&#160;-0x0068</td></tr>
<tr class="separator:ga9ac36bf8c63a9968afe1d35d0569e4d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7d40360e48e414ffa1a4df1961723d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gab7d40360e48e414ffa1a4df1961723d2">MBEDTLS_ERR_ASN1_ALLOC_FAILED</a>&#160;&#160;&#160;-0x006A</td></tr>
<tr class="separator:gab7d40360e48e414ffa1a4df1961723d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9bf64017ed866c846b506e80dc15e94"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gaf9bf64017ed866c846b506e80dc15e94">MBEDTLS_ERR_ASN1_BUF_TOO_SMALL</a>&#160;&#160;&#160;-0x006C</td></tr>
<tr class="separator:gaf9bf64017ed866c846b506e80dc15e94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">DER constants</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These constants comply with the DER encoded ASN.1 type tags. DER encoding uses hexadecimal representation. An example DER sequence is:<br />
</p><ul>
<li>0x02 &ndash; tag indicating INTEGER</li>
<li>0x01 &ndash; length in octets</li>
<li>0x05 &ndash; value Such sequences are typically read into <code><a class="el" href="group__x509__module.html#ga4d02c9e8e4e2934555e0d132cd2976dc">mbedtls_x509_buf</a></code>. </li>
</ul>
</div></td></tr>
<tr class="memitem:ga1382980a474a765365d8f5c7bd63795a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga1382980a474a765365d8f5c7bd63795a">MBEDTLS_ASN1_BOOLEAN</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:ga1382980a474a765365d8f5c7bd63795a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e8614f8937956c294fe791bc5ac6a7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga6e8614f8937956c294fe791bc5ac6a7c">MBEDTLS_ASN1_INTEGER</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:ga6e8614f8937956c294fe791bc5ac6a7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd5c5ecc822b7e2f4d2e64bf388fc559"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gafd5c5ecc822b7e2f4d2e64bf388fc559">MBEDTLS_ASN1_BIT_STRING</a>&#160;&#160;&#160;0x03</td></tr>
<tr class="separator:gafd5c5ecc822b7e2f4d2e64bf388fc559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga080d1f82b0996a63c561541eb22a7d0f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga080d1f82b0996a63c561541eb22a7d0f">MBEDTLS_ASN1_OCTET_STRING</a>&#160;&#160;&#160;0x04</td></tr>
<tr class="separator:ga080d1f82b0996a63c561541eb22a7d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae26e36d787617e0b2dd067ccc342db0d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gae26e36d787617e0b2dd067ccc342db0d">MBEDTLS_ASN1_NULL</a>&#160;&#160;&#160;0x05</td></tr>
<tr class="separator:gae26e36d787617e0b2dd067ccc342db0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad87ad0570a31add4ecac6cc3694ca79a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gad87ad0570a31add4ecac6cc3694ca79a">MBEDTLS_ASN1_OID</a>&#160;&#160;&#160;0x06</td></tr>
<tr class="separator:gad87ad0570a31add4ecac6cc3694ca79a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc28060cb0e9b2be4f0960ad345a2e42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gafc28060cb0e9b2be4f0960ad345a2e42">MBEDTLS_ASN1_UTF8_STRING</a>&#160;&#160;&#160;0x0C</td></tr>
<tr class="separator:gafc28060cb0e9b2be4f0960ad345a2e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64ce838eb4418e69fe9aa251436203b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga64ce838eb4418e69fe9aa251436203b3">MBEDTLS_ASN1_SEQUENCE</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="separator:ga64ce838eb4418e69fe9aa251436203b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67afaa83253889dacb9fcb47062162c5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga67afaa83253889dacb9fcb47062162c5">MBEDTLS_ASN1_SET</a>&#160;&#160;&#160;0x11</td></tr>
<tr class="separator:ga67afaa83253889dacb9fcb47062162c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57f497984e573597e1ed100afcc3f965"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga57f497984e573597e1ed100afcc3f965">MBEDTLS_ASN1_PRINTABLE_STRING</a>&#160;&#160;&#160;0x13</td></tr>
<tr class="separator:ga57f497984e573597e1ed100afcc3f965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe4ca1599521c0a3b4c54391906c2083"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gabe4ca1599521c0a3b4c54391906c2083">MBEDTLS_ASN1_T61_STRING</a>&#160;&#160;&#160;0x14</td></tr>
<tr class="separator:gabe4ca1599521c0a3b4c54391906c2083"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30d5d0f805af50deb5820e741a53e481"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga30d5d0f805af50deb5820e741a53e481">MBEDTLS_ASN1_IA5_STRING</a>&#160;&#160;&#160;0x16</td></tr>
<tr class="separator:ga30d5d0f805af50deb5820e741a53e481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4e932ef9cdf9fa9b8fb152357c6ec64"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gac4e932ef9cdf9fa9b8fb152357c6ec64">MBEDTLS_ASN1_UTC_TIME</a>&#160;&#160;&#160;0x17</td></tr>
<tr class="separator:gac4e932ef9cdf9fa9b8fb152357c6ec64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29f746333b11a4d9e0b7624dcd982fdb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga29f746333b11a4d9e0b7624dcd982fdb">MBEDTLS_ASN1_GENERALIZED_TIME</a>&#160;&#160;&#160;0x18</td></tr>
<tr class="separator:ga29f746333b11a4d9e0b7624dcd982fdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacdbc7c6bcf1b8eb158a52ed773f3cdf3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gacdbc7c6bcf1b8eb158a52ed773f3cdf3">MBEDTLS_ASN1_UNIVERSAL_STRING</a>&#160;&#160;&#160;0x1C</td></tr>
<tr class="separator:gacdbc7c6bcf1b8eb158a52ed773f3cdf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga577f12d1a059eb52928614c50f2bb0d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga577f12d1a059eb52928614c50f2bb0d8">MBEDTLS_ASN1_BMP_STRING</a>&#160;&#160;&#160;0x1E</td></tr>
<tr class="separator:ga577f12d1a059eb52928614c50f2bb0d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga800aec91d6d124d917bb2707b246c551"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga800aec91d6d124d917bb2707b246c551">MBEDTLS_ASN1_PRIMITIVE</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="separator:ga800aec91d6d124d917bb2707b246c551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d855bf93e7f26e7c0c9c70af7f04d8e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga8d855bf93e7f26e7c0c9c70af7f04d8e">MBEDTLS_ASN1_CONSTRUCTED</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="separator:ga8d855bf93e7f26e7c0c9c70af7f04d8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d78fbb123ee982c80d8020050bf86e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga8d78fbb123ee982c80d8020050bf86e0">MBEDTLS_ASN1_CONTEXT_SPECIFIC</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="separator:ga8d78fbb123ee982c80d8020050bf86e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga01a2dcbe2148d903c4bc6eaad4dbcd3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga01a2dcbe2148d903c4bc6eaad4dbcd3d">MBEDTLS_ASN1_TAG_CLASS_MASK</a>&#160;&#160;&#160;0xC0</td></tr>
<tr class="separator:ga01a2dcbe2148d903c4bc6eaad4dbcd3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5994a5ddfb487f14d03d5b61e335e9cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#ga5994a5ddfb487f14d03d5b61e335e9cc">MBEDTLS_ASN1_TAG_PC_MASK</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="separator:ga5994a5ddfb487f14d03d5b61e335e9cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2a3c5289c11edb569b306df3411ff3b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__asn1__module.html#gaa2a3c5289c11edb569b306df3411ff3b">MBEDTLS_ASN1_TAG_VALUE_MASK</a>&#160;&#160;&#160;0x1F</td></tr>
<tr class="separator:gaa2a3c5289c11edb569b306df3411ff3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Functions to parse ASN.1 data structures</h2></td></tr>
<tr class="memitem:a92008d574dc457ec6c925ef29631545b"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a92008d574dc457ec6c925ef29631545b">mbedtls_asn1_buf</a></td></tr>
<tr class="separator:a92008d574dc457ec6c925ef29631545b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfc9b9fed6d69849942d4a63ece7513d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#adfc9b9fed6d69849942d4a63ece7513d">mbedtls_asn1_bitstring</a></td></tr>
<tr class="separator:adfc9b9fed6d69849942d4a63ece7513d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21302e30db75b1b5e3387b16958080bf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a21302e30db75b1b5e3387b16958080bf">mbedtls_asn1_sequence</a></td></tr>
<tr class="separator:a21302e30db75b1b5e3387b16958080bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3ca4991620a3ab05d747d00a6cb70e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a3f3ca4991620a3ab05d747d00a6cb70e">mbedtls_asn1_named_data</a></td></tr>
<tr class="separator:a3f3ca4991620a3ab05d747d00a6cb70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad45c1d0ed3694fe903342cb32647bfb1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#ad45c1d0ed3694fe903342cb32647bfb1">mbedtls_asn1_get_len</a> (unsigned char **p, const unsigned char *end, size_t *len)</td></tr>
<tr class="memdesc:ad45c1d0ed3694fe903342cb32647bfb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the length of an ASN.1 element. Updates the pointer to immediately behind the length.  <a href="#ad45c1d0ed3694fe903342cb32647bfb1">More...</a><br /></td></tr>
<tr class="separator:ad45c1d0ed3694fe903342cb32647bfb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8d7dd42a3b99b61d2ef60bc0c2eaf0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#ae8d7dd42a3b99b61d2ef60bc0c2eaf0d">mbedtls_asn1_get_tag</a> (unsigned char **p, const unsigned char *end, size_t *len, int tag)</td></tr>
<tr class="memdesc:ae8d7dd42a3b99b61d2ef60bc0c2eaf0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the tag and length of the tag. Check for the requested tag. Updates the pointer to immediately behind the tag and length.  <a href="#ae8d7dd42a3b99b61d2ef60bc0c2eaf0d">More...</a><br /></td></tr>
<tr class="separator:ae8d7dd42a3b99b61d2ef60bc0c2eaf0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec9e4bbd8690a8ab17cabf87893dbd2b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#aec9e4bbd8690a8ab17cabf87893dbd2b">mbedtls_asn1_get_bool</a> (unsigned char **p, const unsigned char *end, int *val)</td></tr>
<tr class="memdesc:aec9e4bbd8690a8ab17cabf87893dbd2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a boolean ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.  <a href="#aec9e4bbd8690a8ab17cabf87893dbd2b">More...</a><br /></td></tr>
<tr class="separator:aec9e4bbd8690a8ab17cabf87893dbd2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f8a8b447c11f2200cc5aa8033801b72"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a7f8a8b447c11f2200cc5aa8033801b72">mbedtls_asn1_get_int</a> (unsigned char **p, const unsigned char *end, int *val)</td></tr>
<tr class="memdesc:a7f8a8b447c11f2200cc5aa8033801b72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.  <a href="#a7f8a8b447c11f2200cc5aa8033801b72">More...</a><br /></td></tr>
<tr class="separator:a7f8a8b447c11f2200cc5aa8033801b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2dcf021cf1326b62e2f23aa3bda69d0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#ae2dcf021cf1326b62e2f23aa3bda69d0">mbedtls_asn1_get_bitstring</a> (unsigned char **p, const unsigned char *end, <a class="el" href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a> *bs)</td></tr>
<tr class="memdesc:ae2dcf021cf1326b62e2f23aa3bda69d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a bitstring ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.  <a href="#ae2dcf021cf1326b62e2f23aa3bda69d0">More...</a><br /></td></tr>
<tr class="separator:ae2dcf021cf1326b62e2f23aa3bda69d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f9d2d846b16d5ce18ad99de6224313b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a0f9d2d846b16d5ce18ad99de6224313b">mbedtls_asn1_get_bitstring_null</a> (unsigned char **p, const unsigned char *end, size_t *len)</td></tr>
<tr class="memdesc:a0f9d2d846b16d5ce18ad99de6224313b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a bitstring ASN.1 tag without unused bits and its value. Updates the pointer to the beginning of the bit/octet string.  <a href="#a0f9d2d846b16d5ce18ad99de6224313b">More...</a><br /></td></tr>
<tr class="separator:a0f9d2d846b16d5ce18ad99de6224313b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a872d62128956b3574bb0e681536c0d6b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a872d62128956b3574bb0e681536c0d6b">mbedtls_asn1_get_sequence_of</a> (unsigned char **p, const unsigned char *end, <a class="el" href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a> *cur, int tag)</td></tr>
<tr class="memdesc:a872d62128956b3574bb0e681536c0d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses and splits an ASN.1 "SEQUENCE OF &lt;tag&gt;" Updated the pointer to immediately behind the full sequence tag.  <a href="#a872d62128956b3574bb0e681536c0d6b">More...</a><br /></td></tr>
<tr class="separator:a872d62128956b3574bb0e681536c0d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48e235454b64aa67c9472a6579706b05"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a48e235454b64aa67c9472a6579706b05">mbedtls_asn1_get_mpi</a> (unsigned char **p, const unsigned char *end, <a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *X)</td></tr>
<tr class="memdesc:a48e235454b64aa67c9472a6579706b05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve a MPI value from an integer ASN.1 tag. Updates the pointer to immediately behind the full tag.  <a href="#a48e235454b64aa67c9472a6579706b05">More...</a><br /></td></tr>
<tr class="separator:a48e235454b64aa67c9472a6579706b05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add253579640ea717f368d9a0f6085be0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#add253579640ea717f368d9a0f6085be0">mbedtls_asn1_get_alg</a> (unsigned char **p, const unsigned char *end, <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> *alg, <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> *params)</td></tr>
<tr class="memdesc:add253579640ea717f368d9a0f6085be0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve an AlgorithmIdentifier ASN.1 sequence. Updates the pointer to immediately behind the full AlgorithmIdentifier.  <a href="#add253579640ea717f368d9a0f6085be0">More...</a><br /></td></tr>
<tr class="separator:add253579640ea717f368d9a0f6085be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adad023ecf92a50d47eaf206705efdb0e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#adad023ecf92a50d47eaf206705efdb0e">mbedtls_asn1_get_alg_null</a> (unsigned char **p, const unsigned char *end, <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> *alg)</td></tr>
<tr class="memdesc:adad023ecf92a50d47eaf206705efdb0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve an AlgorithmIdentifier ASN.1 sequence with NULL or no params. Updates the pointer to immediately behind the full AlgorithmIdentifier.  <a href="#adad023ecf92a50d47eaf206705efdb0e">More...</a><br /></td></tr>
<tr class="separator:adad023ecf92a50d47eaf206705efdb0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabe93ade4a012da5d20cf668eededa75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#aabe93ade4a012da5d20cf668eededa75">mbedtls_asn1_find_named_data</a> (<a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *list, const char *oid, size_t len)</td></tr>
<tr class="memdesc:aabe93ade4a012da5d20cf668eededa75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find a specific named_data entry in a sequence or list based on the OID.  <a href="#aabe93ade4a012da5d20cf668eededa75">More...</a><br /></td></tr>
<tr class="separator:aabe93ade4a012da5d20cf668eededa75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46abb857e148f22a616b56b66a781506"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#a46abb857e148f22a616b56b66a781506">mbedtls_asn1_free_named_data</a> (<a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *entry)</td></tr>
<tr class="memdesc:a46abb857e148f22a616b56b66a781506"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free a <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> entry.  <a href="#a46abb857e148f22a616b56b66a781506">More...</a><br /></td></tr>
<tr class="separator:a46abb857e148f22a616b56b66a781506"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd1a084a9285cebcd289bf6df0e6c021"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="asn1_8h.html#afd1a084a9285cebcd289bf6df0e6c021">mbedtls_asn1_free_named_data_list</a> (<a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> **head)</td></tr>
<tr class="memdesc:afd1a084a9285cebcd289bf6df0e6c021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free all entries in a <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> list Head will be set to NULL.  <a href="#afd1a084a9285cebcd289bf6df0e6c021">More...</a><br /></td></tr>
<tr class="separator:afd1a084a9285cebcd289bf6df0e6c021"><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>Generic ASN.1 parsing. </p>

<p class="definition">Definition in file <a class="el" href="asn1_8h_source.html">asn1.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a0b81f225b3551ec7c4da69b2d183d10b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b81f225b3551ec7c4da69b2d183d10b">&#9670;&nbsp;</a></span>MBEDTLS_OID_CMP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_OID_CMP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">oid_str, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">oid_buf&#160;</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="asn1_8h.html#ac2f2e00874ca486c912c33bb4f7bb16a">MBEDTLS_OID_SIZE</a>(oid_str) != (oid_buf)-&gt;len ) ||                \</div><div class="line">          memcmp( (oid_str), (oid_buf)-&gt;p, (oid_buf)-&gt;len) != 0 )</div><div class="ttc" id="asn1_8h_html_ac2f2e00874ca486c912c33bb4f7bb16a"><div class="ttname"><a href="asn1_8h.html#ac2f2e00874ca486c912c33bb4f7bb16a">MBEDTLS_OID_SIZE</a></div><div class="ttdeci">#define MBEDTLS_OID_SIZE(x)</div><div class="ttdef"><b>Definition:</b> <a href="asn1_8h_source.html#l00110">asn1.h:110</a></div></div>
</div><!-- fragment --><p>Compares an <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> structure to a reference OID.</p>
<p>Only works for 'defined' oid_str values (MBEDTLS_OID_HMAC_SHA1), you cannot use a 'unsigned char *oid' here! </p>

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

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MBEDTLS_OID_SIZE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;(sizeof(x) - 1)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the size of the binary string, without the trailing \0 </p>

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

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a>
 <a class="el" href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Container for ASN1 bit strings. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a>
 <a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Type-length-value structure that allows for ASN1 using DER. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a>
 <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Container for a sequence or list of 'named' ASN.1 data items </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a>
 <a class="el" href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Container for a sequence of ASN.1 items </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aabe93ade4a012da5d20cf668eededa75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabe93ade4a012da5d20cf668eededa75">&#9670;&nbsp;</a></span>mbedtls_asn1_find_named_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a>* mbedtls_asn1_find_named_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>oid</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>Find a specific named_data entry in a sequence or list based on the OID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">list</td><td>The list to seek through </td></tr>
    <tr><td class="paramname">oid</td><td>The OID to look for </td></tr>
    <tr><td class="paramname">len</td><td>Size of the OID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if not found, or a pointer to the existing entry. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_asn1_free_named_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> *&#160;</td>
          <td class="paramname"><em>entry</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free a <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">entry</td><td>The named data entry to free </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mbedtls_asn1_free_named_data_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> **&#160;</td>
          <td class="paramname"><em>head</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free all entries in a <a class="el" href="structmbedtls__asn1__named__data.html">mbedtls_asn1_named_data</a> list Head will be set to NULL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">head</td><td>Pointer to the head of the list of named data entries to free </td></tr>
  </table>
  </dd>
</dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_alg </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> *&#160;</td>
          <td class="paramname"><em>alg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> *&#160;</td>
          <td class="paramname"><em>params</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve an AlgorithmIdentifier ASN.1 sequence. Updates the pointer to immediately behind the full AlgorithmIdentifier. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">alg</td><td>The buffer to receive the OID </td></tr>
    <tr><td class="paramname">params</td><td>The buffer to receive the params (if any)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 or MPI error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_alg_null </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__buf.html">mbedtls_asn1_buf</a> *&#160;</td>
          <td class="paramname"><em>alg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve an AlgorithmIdentifier ASN.1 sequence with NULL or no params. Updates the pointer to immediately behind the full AlgorithmIdentifier. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">alg</td><td>The buffer to receive the OID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 or MPI error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_bitstring </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__bitstring.html">mbedtls_asn1_bitstring</a> *&#160;</td>
          <td class="paramname"><em>bs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve a bitstring ASN.1 tag and its value. Updates the pointer to immediately behind the full tag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">bs</td><td>The variable that will receive the value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_bitstring_null </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</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>Retrieve a bitstring ASN.1 tag without unused bits and its value. Updates the pointer to the beginning of the bit/octet string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">len</td><td>Length of the actual bit/octect string in bytes</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_bool </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve a boolean ASN.1 tag and its value. Updates the pointer to immediately behind the full tag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">val</td><td>The variable that will receive the value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_int </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">val</td><td>The variable that will receive the value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_len </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</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>Get the length of an ASN.1 element. Updates the pointer to immediately behind the length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">len</td><td>The variable that will receive the value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, MBEDTLS_ERR_ASN1_OUT_OF_DATA on reaching end of data, MBEDTLS_ERR_ASN1_INVALID_LENGTH if length is unparseable. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_mpi </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__mpi.html">mbedtls_mpi</a> *&#160;</td>
          <td class="paramname"><em>X</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Retrieve a MPI value from an integer ASN.1 tag. Updates the pointer to immediately behind the full tag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">X</td><td>The MPI that will receive the value</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 or MPI error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_sequence_of </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structmbedtls__asn1__sequence.html">mbedtls_asn1_sequence</a> *&#160;</td>
          <td class="paramname"><em>cur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Parses and splits an ASN.1 "SEQUENCE OF &lt;tag&gt;" Updated the pointer to immediately behind the full sequence tag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">cur</td><td>First variable in the chain to fill </td></tr>
    <tr><td class="paramname">tag</td><td>Type of sequence</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or a specific ASN.1 error code. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mbedtls_asn1_get_tag </td>
          <td>(</td>
          <td class="paramtype">unsigned char **&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&#160;</td>
          <td class="paramname"><em>end</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the tag and length of the tag. Check for the requested tag. Updates the pointer to immediately behind the tag and length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>The position in the ASN.1 data </td></tr>
    <tr><td class="paramname">end</td><td>End of data </td></tr>
    <tr><td class="paramname">len</td><td>The variable that will receive the length </td></tr>
    <tr><td class="paramname">tag</td><td>The expected tag</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, MBEDTLS_ERR_ASN1_UNEXPECTED_TAG if tag did not match requested tag, or another specific ASN.1 error code. </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>