summaryrefslogtreecommitdiff
path: root/doc/reference/html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/reference/html')
-rw-r--r--doc/reference/html/api-index-1-6.html14
-rw-r--r--doc/reference/html/api-index-2-0.html14
-rw-r--r--doc/reference/html/api-index-full.html434
-rw-r--r--doc/reference/html/ch01.html6
-rw-r--r--doc/reference/html/deprecated-api-index.html60
-rw-r--r--doc/reference/html/home.pngbin256 -> 256 bytes
-rw-r--r--doc/reference/html/index.html9
-rw-r--r--doc/reference/html/left-insensitive.pngbin395 -> 395 bytes
-rw-r--r--doc/reference/html/left.pngbin262 -> 262 bytes
-rw-r--r--doc/reference/html/libtasn1-libtasn1.html3267
-rw-r--r--doc/reference/html/libtasn1.devhelp2102
-rw-r--r--doc/reference/html/object-tree.html32
-rw-r--r--doc/reference/html/right-insensitive.pngbin373 -> 373 bytes
-rw-r--r--doc/reference/html/right.pngbin261 -> 261 bytes
-rw-r--r--doc/reference/html/style.css109
-rw-r--r--doc/reference/html/up-insensitive.pngbin374 -> 374 bytes
-rw-r--r--doc/reference/html/up.pngbin260 -> 260 bytes
17 files changed, 3861 insertions, 186 deletions
diff --git a/doc/reference/html/api-index-1-6.html b/doc/reference/html/api-index-1-6.html
index f91ff0d..d5f310a 100644
--- a/doc/reference/html/api-index-1-6.html
+++ b/doc/reference/html/api-index-1-6.html
@@ -3,17 +3,17 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index of new API in 1.6: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
<link rel="next" href="api-index-2-0.html" title="Index of new API in 2.0">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
@@ -22,9 +22,13 @@
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-1-6"></a>Index of new API in 1.6</h1></div></div></div>
-<a name="idx"></a>
+<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-perror" title="asn1_perror ()">asn1_perror</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/api-index-2-0.html b/doc/reference/html/api-index-2-0.html
index 961c1bb..ac646fd 100644
--- a/doc/reference/html/api-index-2-0.html
+++ b/doc/reference/html/api-index-2-0.html
@@ -3,16 +3,16 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index of new API in 2.0: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="prev" href="api-index-1-6.html" title="Index of new API in 1.6">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="api-index-1-6.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
@@ -21,9 +21,13 @@
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-index-2-0"></a>Index of new API in 2.0</h1></div></div></div>
-<a name="idx"></a>
+<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-length-ber" title="asn1_get_length_ber ()">asn1_get_length_ber</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/api-index-full.html b/doc/reference/html/api-index-full.html
index 8f25b51..3ad3b79 100644
--- a/doc/reference/html/api-index-full.html
+++ b/doc/reference/html/api-index-full.html
@@ -3,44 +3,24 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>API Index: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
-<link rel="prev" href="object-tree.html" title="Object Hierarchy">
+<link rel="prev" href="libtasn1-libtasn1.html" title="libtasn1">
<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
 <span class="dim">|</span> 
- <a class="shortcut" href="#idxC">C</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxD">D</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxE">E</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxF">F</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxG">G</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxI">I</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxM">M</a>
-  <span class="dim">|</span> 
<a class="shortcut" href="#idxN">N</a>
 <span class="dim">|</span> 
- <a class="shortcut" href="#idxP">P</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxS">S</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxT">T</a>
-  <span class="dim">|</span> 
- <a class="shortcut" href="#idxV">V</a></span></td>
+ <a class="shortcut" href="#idxS">S</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="libtasn1-libtasn1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="index">
@@ -52,10 +32,25 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-array2tree" title="asn1_array2tree ()">asn1_array2tree</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-ARRAY-ERROR:CAPS" title="ASN1_ARRAY_ERROR">ASN1_ARRAY_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxC"></a><h3 class="title">C</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ARRAY-TYPE:CAPS" title="ASN1_ARRAY_TYPE">ASN1_ARRAY_TYPE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-bit-der" title="asn1_bit_der ()">asn1_bit_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-check-version" title="asn1_check_version ()">asn1_check_version</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-CLASS-APPLICATION:CAPS" title="ASN1_CLASS_APPLICATION">ASN1_CLASS_APPLICATION</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -76,7 +71,78 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-CLASS-UNIVERSAL:CAPS" title="ASN1_CLASS_UNIVERSAL">ASN1_CLASS_UNIVERSAL</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxD"></a><h3 class="title">D</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-copy-node" title="asn1_copy_node ()">asn1_copy_node</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-create-element" title="asn1_create_element ()">asn1_create_element</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DATA-NODE:CAPS" title="ASN1_DATA_NODE">ASN1_DATA_NODE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-data-node-st" title="struct asn1_data_node_st">asn1_data_node_st</a>, struct in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-INCORRECT-TIME:CAPS" title="ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME">ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-PADDING:CAPS" title="ASN1_DECODE_FLAG_ALLOW_PADDING">ASN1_DECODE_FLAG_ALLOW_PADDING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-STRICT-DER:CAPS" title="ASN1_DECODE_FLAG_STRICT_DER">ASN1_DECODE_FLAG_STRICT_DER</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-decode-simple-ber" title="asn1_decode_simple_ber ()">asn1_decode_simple_ber</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-decode-simple-der" title="asn1_decode_simple_der ()">asn1_decode_simple_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-delete-element" title="asn1_delete_element ()">asn1_delete_element</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DELETE-FLAG-ZEROIZE:CAPS" title="ASN1_DELETE_FLAG_ZEROIZE">ASN1_DELETE_FLAG_ZEROIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-delete-structure" title="asn1_delete_structure ()">asn1_delete_structure</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-delete-structure2" title="asn1_delete_structure2 ()">asn1_delete_structure2</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-coding" title="asn1_der_coding ()">asn1_der_coding</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding" title="asn1_der_decoding ()">asn1_der_decoding</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding2" title="asn1_der_decoding2 ()">asn1_der_decoding2</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding-element" title="asn1_der_decoding_element ()">asn1_der_decoding_element</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding-startEnd" title="asn1_der_decoding_startEnd ()">asn1_der_decoding_startEnd</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-DER-ERROR:CAPS" title="ASN1_DER_ERROR">ASN1_DER_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -85,7 +151,10 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-DER-OVERFLOW:CAPS" title="ASN1_DER_OVERFLOW">ASN1_DER_OVERFLOW</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxE"></a><h3 class="title">E</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-dup-node" title="asn1_dup_node ()">asn1_dup_node</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-EMPTY:CAPS" title="ASN1_ELEMENT_NOT_EMPTY">ASN1_ELEMENT_NOT_EMPTY</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -95,30 +164,222 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-encode-simple-der" title="asn1_encode_simple_der ()">asn1_encode_simple_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-ERROR-TYPE-ANY:CAPS" title="ASN1_ERROR_TYPE_ANY">ASN1_ERROR_TYPE_ANY</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxF"></a><h3 class="title">F</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-ANY:CAPS" title="ASN1_ETYPE_ANY">ASN1_ETYPE_ANY</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-BIT-STRING:CAPS" title="ASN1_ETYPE_BIT_STRING">ASN1_ETYPE_BIT_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-BMP-STRING:CAPS" title="ASN1_ETYPE_BMP_STRING">ASN1_ETYPE_BMP_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-BOOLEAN:CAPS" title="ASN1_ETYPE_BOOLEAN">ASN1_ETYPE_BOOLEAN</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-CHOICE:CAPS" title="ASN1_ETYPE_CHOICE">ASN1_ETYPE_CHOICE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-CONSTANT:CAPS" title="ASN1_ETYPE_CONSTANT">ASN1_ETYPE_CONSTANT</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-DEFAULT:CAPS" title="ASN1_ETYPE_DEFAULT">ASN1_ETYPE_DEFAULT</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-DEFINITIONS:CAPS" title="ASN1_ETYPE_DEFINITIONS">ASN1_ETYPE_DEFINITIONS</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-ENUMERATED:CAPS" title="ASN1_ETYPE_ENUMERATED">ASN1_ETYPE_ENUMERATED</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-GENERALIZED-TIME:CAPS" title="ASN1_ETYPE_GENERALIZED_TIME">ASN1_ETYPE_GENERALIZED_TIME</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-GENERALSTRING:CAPS" title="ASN1_ETYPE_GENERALSTRING">ASN1_ETYPE_GENERALSTRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-IA5-STRING:CAPS" title="ASN1_ETYPE_IA5_STRING">ASN1_ETYPE_IA5_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-IDENTIFIER:CAPS" title="ASN1_ETYPE_IDENTIFIER">ASN1_ETYPE_IDENTIFIER</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-IMPORTS:CAPS" title="ASN1_ETYPE_IMPORTS">ASN1_ETYPE_IMPORTS</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-INTEGER:CAPS" title="ASN1_ETYPE_INTEGER">ASN1_ETYPE_INTEGER</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-INVALID:CAPS" title="ASN1_ETYPE_INVALID">ASN1_ETYPE_INVALID</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-NULL:CAPS" title="ASN1_ETYPE_NULL">ASN1_ETYPE_NULL</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-NUMERIC-STRING:CAPS" title="ASN1_ETYPE_NUMERIC_STRING">ASN1_ETYPE_NUMERIC_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-OBJECT-ID:CAPS" title="ASN1_ETYPE_OBJECT_ID">ASN1_ETYPE_OBJECT_ID</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-OCTET-STRING:CAPS" title="ASN1_ETYPE_OCTET_STRING">ASN1_ETYPE_OCTET_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-PRINTABLE-STRING:CAPS" title="ASN1_ETYPE_PRINTABLE_STRING">ASN1_ETYPE_PRINTABLE_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SEQUENCE:CAPS" title="ASN1_ETYPE_SEQUENCE">ASN1_ETYPE_SEQUENCE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SEQUENCE-OF:CAPS" title="ASN1_ETYPE_SEQUENCE_OF">ASN1_ETYPE_SEQUENCE_OF</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SET:CAPS" title="ASN1_ETYPE_SET">ASN1_ETYPE_SET</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SET-OF:CAPS" title="ASN1_ETYPE_SET_OF">ASN1_ETYPE_SET_OF</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SIZE:CAPS" title="ASN1_ETYPE_SIZE">ASN1_ETYPE_SIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-TAG:CAPS" title="ASN1_ETYPE_TAG">ASN1_ETYPE_TAG</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-TELETEX-STRING:CAPS" title="ASN1_ETYPE_TELETEX_STRING">ASN1_ETYPE_TELETEX_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-UNIVERSAL-STRING:CAPS" title="ASN1_ETYPE_UNIVERSAL_STRING">ASN1_ETYPE_UNIVERSAL_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-UTC-TIME:CAPS" title="ASN1_ETYPE_UTC_TIME">ASN1_ETYPE_UTC_TIME</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-UTF8-STRING:CAPS" title="ASN1_ETYPE_UTF8_STRING">ASN1_ETYPE_UTF8_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-VISIBLE-STRING:CAPS" title="ASN1_ETYPE_VISIBLE_STRING">ASN1_ETYPE_VISIBLE_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-expand-any-defined-by" title="asn1_expand_any_defined_by ()">asn1_expand_any_defined_by</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-expand-octet-string" title="asn1_expand_octet_string ()">asn1_expand_octet_string</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-FILE-NOT-FOUND:CAPS" title="ASN1_FILE_NOT_FOUND">ASN1_FILE_NOT_FOUND</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxG"></a><h3 class="title">G</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-find-node" title="asn1_find_node ()">asn1_find_node</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-find-structure-from-oid" title="asn1_find_structure_from_oid ()">asn1_find_structure_from_oid</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-GCC-ATTR-DEPRECATED:CAPS" title="_ASN1_GCC_ATTR_DEPRECATED">_ASN1_GCC_ATTR_DEPRECATED</a>, typedef in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-GENERIC-ERROR:CAPS" title="ASN1_GENERIC_ERROR">ASN1_GENERIC_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxI"></a><h3 class="title">I</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-bit-der" title="asn1_get_bit_der ()">asn1_get_bit_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-length-ber" title="asn1_get_length_ber ()">asn1_get_length_ber</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-length-der" title="asn1_get_length_der ()">asn1_get_length_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-object-id-der" title="asn1_get_object_id_der ()">asn1_get_object_id_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-octet-der" title="asn1_get_octet_der ()">asn1_get_octet_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-tag-der" title="asn1_get_tag_der ()">asn1_get_tag_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="ASN1_IDENTIFIER_NOT_FOUND">ASN1_IDENTIFIER_NOT_FOUND</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxM"></a><h3 class="title">M</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-length-der" title="asn1_length_der ()">asn1_length_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-ERROR-DESCRIPTION-SIZE:CAPS" title="ASN1_MAX_ERROR_DESCRIPTION_SIZE">ASN1_MAX_ERROR_DESCRIPTION_SIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-LENGTH-SIZE:CAPS" title="ASN1_MAX_LENGTH_SIZE">ASN1_MAX_LENGTH_SIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-NAME-SIZE:CAPS" title="ASN1_MAX_NAME_SIZE">ASN1_MAX_NAME_SIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-TAG-SIZE:CAPS" title="ASN1_MAX_TAG_SIZE">ASN1_MAX_TAG_SIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-TL-SIZE:CAPS" title="ASN1_MAX_TL_SIZE">ASN1_MAX_TL_SIZE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-MEM-ALLOC-ERROR:CAPS" title="ASN1_MEM_ALLOC_ERROR">ASN1_MEM_ALLOC_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
@@ -126,7 +387,6 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-MEM-ERROR:CAPS" title="ASN1_MEM_ERROR">ASN1_MEM_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxN"></a><h3 class="title">N</h3>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-NAME-TOO-LONG:CAPS" title="ASN1_NAME_TOO_LONG">ASN1_NAME_TOO_LONG</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -136,10 +396,37 @@
</dt>
<dd></dd>
<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const">asn1_node_const</a>, typedef in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
<a class="link" href="libtasn1-libtasn1.html#asn1-node-st" title="asn1_node_st">asn1_node_st</a>, typedef in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxP"></a><h3 class="title">P</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-number-of-elements" title="asn1_number_of_elements ()">asn1_number_of_elements</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-object-id-der" title="asn1_object_id_der ()">asn1_object_id_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-octet-der" title="asn1_octet_der ()">asn1_octet_der</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-parser2array" title="asn1_parser2array ()">asn1_parser2array</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-parser2tree" title="asn1_parser2tree ()">asn1_parser2tree</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-perror" title="asn1_perror ()">asn1_perror</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-ALL:CAPS" title="ASN1_PRINT_ALL">ASN1_PRINT_ALL</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -156,7 +443,34 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE-VALUE:CAPS" title="ASN1_PRINT_NAME_TYPE_VALUE">ASN1_PRINT_NAME_TYPE_VALUE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-print-structure" title="asn1_print_structure ()">asn1_print_structure</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-node-value" title="asn1_read_node_value ()">asn1_read_node_value</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-tag" title="asn1_read_tag ()">asn1_read_tag</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-value" title="asn1_read_value ()">asn1_read_value</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-value-type" title="asn1_read_value_type ()">asn1_read_value_type</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-RECURSION:CAPS" title="ASN1_RECURSION">ASN1_RECURSION</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-static-node-t" title="asn1_static_node_t">asn1_static_node_t</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS">ASN1_SUCCESS</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -165,7 +479,6 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-SYNTAX-ERROR:CAPS" title="ASN1_SYNTAX_ERROR">ASN1_SYNTAX_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxT"></a><h3 class="title">T</h3>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-BIT-STRING:CAPS" title="ASN1_TAG_BIT_STRING">ASN1_TAG_BIT_STRING</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -258,7 +571,14 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS" title="ASN1_TIME_ENCODING_ERROR">ASN1_TIME_ENCODING_ERROR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
-<a name="idxV"></a><h3 class="title">V</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-TYPE:CAPS" title="ASN1_TYPE">ASN1_TYPE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-TYPE-EMPTY:CAPS" title="ASN1_TYPE_EMPTY">ASN1_TYPE_EMPTY</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
<dt>
<a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-FOUND:CAPS" title="ASN1_VALUE_NOT_FOUND">ASN1_VALUE_NOT_FOUND</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
@@ -271,8 +591,46 @@
<a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION:CAPS" title="ASN1_VERSION">ASN1_VERSION</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
</dt>
<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-MAJOR:CAPS" title="ASN1_VERSION_MAJOR">ASN1_VERSION_MAJOR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-MINOR:CAPS" title="ASN1_VERSION_MINOR">ASN1_VERSION_MINOR</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-NUMBER:CAPS" title="ASN1_VERSION_NUMBER">ASN1_VERSION_NUMBER</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-PATCH:CAPS" title="ASN1_VERSION_PATCH">ASN1_VERSION_PATCH</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-write-value" title="asn1_write_value ()">asn1_write_value</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<a name="idxN"></a><h3 class="title">N</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#node-asn" title="node_asn">node_asn</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#node-asn-struct" title="node_asn_struct">node_asn_struct</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#node-data-struct" title="node_data_struct">node_data_struct</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#static-struct-asn" title="static_struct_asn">static_struct_asn</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/ch01.html b/doc/reference/html/ch01.html
index 130512e..cdb74b3 100644
--- a/doc/reference/html/ch01.html
+++ b/doc/reference/html/ch01.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GNU Libtasn1 API Reference Manual: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="prev" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="next" href="libtasn1-libtasn1.html" title="libtasn1">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -37,6 +37,6 @@
</p>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/deprecated-api-index.html b/doc/reference/html/deprecated-api-index.html
index de6e230..1324edc 100644
--- a/doc/reference/html/deprecated-api-index.html
+++ b/doc/reference/html/deprecated-api-index.html
@@ -3,17 +3,21 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index of deprecated API: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="prev" href="api-index-full.html" title="API Index">
<link rel="next" href="api-index-1-6.html" title="Index of new API in 1.6">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxN">N</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxS">S</a></span></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="api-index-full.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
@@ -22,9 +26,55 @@
<div class="index">
<div class="titlepage"><div><div><h1 class="title">
<a name="deprecated-api-index"></a>Index of deprecated API</h1></div></div></div>
-<a name="idx"></a>
+<a name="idx"></a><a name="idxA"></a><h3 class="title">A</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ARRAY-TYPE:CAPS" title="ASN1_ARRAY_TYPE">ASN1_ARRAY_TYPE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DATA-NODE:CAPS" title="ASN1_DATA_NODE">ASN1_DATA_NODE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding-element" title="asn1_der_decoding_element ()">asn1_der_decoding_element</a>, function in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-GCC-ATTR-DEPRECATED:CAPS" title="_ASN1_GCC_ATTR_DEPRECATED">_ASN1_GCC_ATTR_DEPRECATED</a>, typedef in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#asn1-static-node-t" title="asn1_static_node_t">asn1_static_node_t</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-TYPE:CAPS" title="ASN1_TYPE">ASN1_TYPE</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#ASN1-TYPE-EMPTY:CAPS" title="ASN1_TYPE_EMPTY">ASN1_TYPE_EMPTY</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<a name="idxN"></a><h3 class="title">N</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#node-asn" title="node_asn">node_asn</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#node-asn-struct" title="node_asn_struct">node_asn_struct</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#node-data-struct" title="node_data_struct">node_data_struct</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
+<a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="libtasn1-libtasn1.html#static-struct-asn" title="static_struct_asn">static_struct_asn</a>, macro in <a class="link" href="libtasn1-libtasn1.html" title="libtasn1">libtasn1</a>
+</dt>
+<dd></dd>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/home.png b/doc/reference/html/home.png
index e80e202..3966a91 100644
--- a/doc/reference/html/home.png
+++ b/doc/reference/html/home.png
Binary files differ
diff --git a/doc/reference/html/index.html b/doc/reference/html/index.html
index e91eeb4..4079572 100644
--- a/doc/reference/html/index.html
+++ b/doc/reference/html/index.html
@@ -3,10 +3,10 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GNU Libtasn1 Reference Manual: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="next" href="ch01.html" title="GNU Libtasn1 API Reference Manual">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GNU Libtasn1 Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GNU Libtasn1 4.14.
+ for GNU Libtasn1 4.19.0.
The latest version of this documentation can be found on-line at
<a class="ulink" href="https://www.gnu.org/software/libtasn1/reference/" target="_top">https://www.gnu.org/software/libtasn1/reference/</a>.
</p></div>
@@ -27,7 +27,6 @@
<dd><dl><dt>
<span class="refentrytitle"><a href="libtasn1-libtasn1.html">libtasn1</a></span><span class="refpurpose"> — GNU ASN.1 library</span>
</dt></dl></dd>
-<dt><span class="chapter"><a href="object-tree.html">Object Hierarchy</a></span></dt>
<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
<dt><span class="index"><a href="deprecated-api-index.html">Index of deprecated API</a></span></dt>
<dt><span class="index"><a href="api-index-1-6.html">Index of new API in 1.6</a></span></dt>
@@ -35,6 +34,6 @@
</dl></div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/left-insensitive.png b/doc/reference/html/left-insensitive.png
index fea007e..2cd8c16 100644
--- a/doc/reference/html/left-insensitive.png
+++ b/doc/reference/html/left-insensitive.png
Binary files differ
diff --git a/doc/reference/html/left.png b/doc/reference/html/left.png
index 193905f..1ca1664 100644
--- a/doc/reference/html/left.png
+++ b/doc/reference/html/left.png
Binary files differ
diff --git a/doc/reference/html/libtasn1-libtasn1.html b/doc/reference/html/libtasn1-libtasn1.html
index f0ae073..afefc53 100644
--- a/doc/reference/html/libtasn1-libtasn1.html
+++ b/doc/reference/html/libtasn1-libtasn1.html
@@ -3,12 +3,12 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>libtasn1: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
<link rel="up" href="ch01.html" title="GNU Libtasn1 API Reference Manual">
<link rel="prev" href="ch01.html" title="GNU Libtasn1 API Reference Manual">
-<link rel="next" href="object-tree.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
+<link rel="next" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="libtasn1-libtasn1"></a><div class="titlepage"></div>
@@ -32,11 +32,340 @@
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
+<a name="libtasn1-libtasn1.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-parser2tree" title="asn1_parser2tree ()">asn1_parser2tree</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-parser2array" title="asn1_parser2array ()">asn1_parser2array</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-array2tree" title="asn1_array2tree ()">asn1_array2tree</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-print-structure" title="asn1_print_structure ()">asn1_print_structure</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-create-element" title="asn1_create_element ()">asn1_create_element</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-delete-structure" title="asn1_delete_structure ()">asn1_delete_structure</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-delete-structure2" title="asn1_delete_structure2 ()">asn1_delete_structure2</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-delete-element" title="asn1_delete_element ()">asn1_delete_element</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-write-value" title="asn1_write_value ()">asn1_write_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-value" title="asn1_read_value ()">asn1_read_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-value-type" title="asn1_read_value_type ()">asn1_read_value_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-node-value" title="asn1_read_node_value ()">asn1_read_node_value</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-number-of-elements" title="asn1_number_of_elements ()">asn1_number_of_elements</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-coding" title="asn1_der_coding ()">asn1_der_coding</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding2" title="asn1_der_decoding2 ()">asn1_der_decoding2</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding" title="asn1_der_decoding ()">asn1_der_decoding</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding-element" title="asn1_der_decoding_element ()">asn1_der_decoding_element</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding-startEnd" title="asn1_der_decoding_startEnd ()">asn1_der_decoding_startEnd</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-expand-any-defined-by" title="asn1_expand_any_defined_by ()">asn1_expand_any_defined_by</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-expand-octet-string" title="asn1_expand_octet_string ()">asn1_expand_octet_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-read-tag" title="asn1_read_tag ()">asn1_read_tag</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-find-structure-from-oid" title="asn1_find_structure_from_oid ()">asn1_find_structure_from_oid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <span class="returnvalue">char</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-check-version" title="asn1_check_version ()">asn1_check_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-perror" title="asn1_perror ()">asn1_perror</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">long</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-length-der" title="asn1_get_length_der ()">asn1_get_length_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">long</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-length-ber" title="asn1_get_length_ber ()">asn1_get_length_ber</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-length-der" title="asn1_length_der ()">asn1_length_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-decode-simple-der" title="asn1_decode_simple_der ()">asn1_decode_simple_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-decode-simple-ber" title="asn1_decode_simple_ber ()">asn1_decode_simple_ber</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-encode-simple-der" title="asn1_encode_simple_der ()">asn1_encode_simple_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="returnvalue">asn1_node</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-find-node" title="asn1_find_node ()">asn1_find_node</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-copy-node" title="asn1_copy_node ()">asn1_copy_node</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="returnvalue">asn1_node</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-dup-node" title="asn1_dup_node ()">asn1_dup_node</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-tag-der" title="asn1_get_tag_der ()">asn1_get_tag_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-octet-der" title="asn1_octet_der ()">asn1_octet_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-octet-der" title="asn1_get_octet_der ()">asn1_get_octet_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-bit-der" title="asn1_bit_der ()">asn1_bit_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-bit-der" title="asn1_get_bit_der ()">asn1_get_bit_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-object-id-der" title="asn1_get_object_id_der ()">asn1_get_object_id_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">int</span>
+</td>
+<td class="function_name">
+<a class="link" href="libtasn1-libtasn1.html#asn1-object-id-der" title="asn1_object_id_der ()">asn1_object_id_der</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
<a name="libtasn1-libtasn1.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
-<col width="150px" class="name">
-<col class="description">
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
</colgroup>
<tbody>
<tr>
@@ -49,6 +378,22 @@
</tr>
<tr>
<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-MAJOR:CAPS" title="ASN1_VERSION_MAJOR">ASN1_VERSION_MAJOR</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-MINOR:CAPS" title="ASN1_VERSION_MINOR">ASN1_VERSION_MINOR</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-PATCH:CAPS" title="ASN1_VERSION_PATCH">ASN1_VERSION_PATCH</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION-NUMBER:CAPS" title="ASN1_VERSION_NUMBER">ASN1_VERSION_NUMBER</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS">ASN1_SUCCESS</a></td>
</tr>
<tr>
@@ -125,6 +470,10 @@
</tr>
<tr>
<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-RECURSION:CAPS" title="ASN1_RECURSION">ASN1_RECURSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS" title="ASN1_PRINT_NAME">ASN1_PRINT_NAME</a></td>
</tr>
<tr>
@@ -248,9 +597,217 @@
<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node">asn1_node</a></td>
</tr>
<tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const">asn1_node_const</a></td>
+</tr>
+<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-NAME-SIZE:CAPS" title="ASN1_MAX_NAME_SIZE">ASN1_MAX_NAME_SIZE</a></td>
</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-INVALID:CAPS" title="ASN1_ETYPE_INVALID">ASN1_ETYPE_INVALID</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-CONSTANT:CAPS" title="ASN1_ETYPE_CONSTANT">ASN1_ETYPE_CONSTANT</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-IDENTIFIER:CAPS" title="ASN1_ETYPE_IDENTIFIER">ASN1_ETYPE_IDENTIFIER</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-INTEGER:CAPS" title="ASN1_ETYPE_INTEGER">ASN1_ETYPE_INTEGER</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-BOOLEAN:CAPS" title="ASN1_ETYPE_BOOLEAN">ASN1_ETYPE_BOOLEAN</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SEQUENCE:CAPS" title="ASN1_ETYPE_SEQUENCE">ASN1_ETYPE_SEQUENCE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-BIT-STRING:CAPS" title="ASN1_ETYPE_BIT_STRING">ASN1_ETYPE_BIT_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-OCTET-STRING:CAPS" title="ASN1_ETYPE_OCTET_STRING">ASN1_ETYPE_OCTET_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-TAG:CAPS" title="ASN1_ETYPE_TAG">ASN1_ETYPE_TAG</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-DEFAULT:CAPS" title="ASN1_ETYPE_DEFAULT">ASN1_ETYPE_DEFAULT</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SIZE:CAPS" title="ASN1_ETYPE_SIZE">ASN1_ETYPE_SIZE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SEQUENCE-OF:CAPS" title="ASN1_ETYPE_SEQUENCE_OF">ASN1_ETYPE_SEQUENCE_OF</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-OBJECT-ID:CAPS" title="ASN1_ETYPE_OBJECT_ID">ASN1_ETYPE_OBJECT_ID</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-ANY:CAPS" title="ASN1_ETYPE_ANY">ASN1_ETYPE_ANY</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SET:CAPS" title="ASN1_ETYPE_SET">ASN1_ETYPE_SET</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-SET-OF:CAPS" title="ASN1_ETYPE_SET_OF">ASN1_ETYPE_SET_OF</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-DEFINITIONS:CAPS" title="ASN1_ETYPE_DEFINITIONS">ASN1_ETYPE_DEFINITIONS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-CHOICE:CAPS" title="ASN1_ETYPE_CHOICE">ASN1_ETYPE_CHOICE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-IMPORTS:CAPS" title="ASN1_ETYPE_IMPORTS">ASN1_ETYPE_IMPORTS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-NULL:CAPS" title="ASN1_ETYPE_NULL">ASN1_ETYPE_NULL</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-ENUMERATED:CAPS" title="ASN1_ETYPE_ENUMERATED">ASN1_ETYPE_ENUMERATED</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-GENERALSTRING:CAPS" title="ASN1_ETYPE_GENERALSTRING">ASN1_ETYPE_GENERALSTRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-NUMERIC-STRING:CAPS" title="ASN1_ETYPE_NUMERIC_STRING">ASN1_ETYPE_NUMERIC_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-IA5-STRING:CAPS" title="ASN1_ETYPE_IA5_STRING">ASN1_ETYPE_IA5_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-TELETEX-STRING:CAPS" title="ASN1_ETYPE_TELETEX_STRING">ASN1_ETYPE_TELETEX_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-PRINTABLE-STRING:CAPS" title="ASN1_ETYPE_PRINTABLE_STRING">ASN1_ETYPE_PRINTABLE_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-UNIVERSAL-STRING:CAPS" title="ASN1_ETYPE_UNIVERSAL_STRING">ASN1_ETYPE_UNIVERSAL_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-BMP-STRING:CAPS" title="ASN1_ETYPE_BMP_STRING">ASN1_ETYPE_BMP_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-UTF8-STRING:CAPS" title="ASN1_ETYPE_UTF8_STRING">ASN1_ETYPE_UTF8_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-VISIBLE-STRING:CAPS" title="ASN1_ETYPE_VISIBLE_STRING">ASN1_ETYPE_VISIBLE_STRING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-UTC-TIME:CAPS" title="ASN1_ETYPE_UTC_TIME">ASN1_ETYPE_UTC_TIME</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ETYPE-GENERALIZED-TIME:CAPS" title="ASN1_ETYPE_GENERALIZED_TIME">ASN1_ETYPE_GENERALIZED_TIME</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-DELETE-FLAG-ZEROIZE:CAPS" title="ASN1_DELETE_FLAG_ZEROIZE">ASN1_DELETE_FLAG_ZEROIZE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-PADDING:CAPS" title="ASN1_DECODE_FLAG_ALLOW_PADDING">ASN1_DECODE_FLAG_ALLOW_PADDING</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-STRICT-DER:CAPS" title="ASN1_DECODE_FLAG_STRICT_DER">ASN1_DECODE_FLAG_STRICT_DER</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-INCORRECT-TIME:CAPS" title="ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME">ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#asn1-data-node-st" title="struct asn1_data_node_st">asn1_data_node_st</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-ERROR-DESCRIPTION-SIZE:CAPS" title="ASN1_MAX_ERROR_DESCRIPTION_SIZE">ASN1_MAX_ERROR_DESCRIPTION_SIZE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-TAG-SIZE:CAPS" title="ASN1_MAX_TAG_SIZE">ASN1_MAX_TAG_SIZE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-LENGTH-SIZE:CAPS" title="ASN1_MAX_LENGTH_SIZE">ASN1_MAX_LENGTH_SIZE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-TL-SIZE:CAPS" title="ASN1_MAX_TL_SIZE">ASN1_MAX_TL_SIZE</a></td>
+</tr>
+<tr>
+<td class="typedef_keyword">typedef</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-GCC-ATTR-DEPRECATED:CAPS" title="_ASN1_GCC_ATTR_DEPRECATED">_ASN1_GCC_ATTR_DEPRECATED</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#node-asn-struct" title="node_asn_struct">node_asn_struct</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#node-asn" title="node_asn">node_asn</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-TYPE:CAPS" title="ASN1_TYPE">ASN1_TYPE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-TYPE-EMPTY:CAPS" title="ASN1_TYPE_EMPTY">ASN1_TYPE_EMPTY</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#static-struct-asn" title="static_struct_asn">static_struct_asn</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-ARRAY-TYPE:CAPS" title="ASN1_ARRAY_TYPE">ASN1_ARRAY_TYPE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#asn1-static-node-t" title="asn1_static_node_t">asn1_static_node_t</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#node-data-struct" title="node_data_struct">node_data_struct</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libtasn1-libtasn1.html#ASN1-DATA-NODE:CAPS" title="ASN1_DATA_NODE">ASN1_DATA_NODE</a></td>
+</tr>
</tbody>
</table></div>
</div>
@@ -263,335 +820,2923 @@ encoding and decoding functions.</p>
</div>
<div class="refsect1">
<a name="libtasn1-libtasn1.functions_details"></a><h2>Functions</h2>
-<p></p>
+<div class="refsect2">
+<a name="asn1-parser2tree"></a><h3>asn1_parser2tree ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_parser2tree (<em class="parameter"><code>const <span class="type">char</span> *file</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *definitions</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *error_desc</code></em>);</pre>
+<p>Function used to start the parse algorithm. Creates the structures
+needed to manage the definitions included in <em class="parameter"><code>file</code></em>
+ file.</p>
+<div class="refsect3">
+<a name="asn1-parser2tree.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>specify the path and the name of file that contains
+ASN.1 declarations.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>definitions</p></td>
+<td class="parameter_description"><p>return the pointer to the structure created from
+"file" ASN.1 declarations.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error_desc</p></td>
+<td class="parameter_description"><p>return the error description or an empty
+string if success.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-parser2tree.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if the file has a correct syntax and every
+identifier is known, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-EMPTY:CAPS" title="ASN1_ELEMENT_NOT_EMPTY"><code class="literal">ASN1_ELEMENT_NOT_EMPTY</code></a> if <em class="parameter"><code>definitions</code></em>
+not
+<code class="literal">NULL</code>, <a class="link" href="libtasn1-libtasn1.html#ASN1-FILE-NOT-FOUND:CAPS" title="ASN1_FILE_NOT_FOUND"><code class="literal">ASN1_FILE_NOT_FOUND</code></a> if an error occurred while
+opening <em class="parameter"><code>file</code></em>
+, <a class="link" href="libtasn1-libtasn1.html#ASN1-SYNTAX-ERROR:CAPS" title="ASN1_SYNTAX_ERROR"><code class="literal">ASN1_SYNTAX_ERROR</code></a> if the syntax is not
+correct, <a class="link" href="libtasn1-libtasn1.html#ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="ASN1_IDENTIFIER_NOT_FOUND"><code class="literal">ASN1_IDENTIFIER_NOT_FOUND</code></a> if in the file there is an
+identifier that is not defined, <a class="link" href="libtasn1-libtasn1.html#ASN1-NAME-TOO-LONG:CAPS" title="ASN1_NAME_TOO_LONG"><code class="literal">ASN1_NAME_TOO_LONG</code></a> if in the
+file there is an identifier with more than <a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-NAME-SIZE:CAPS" title="ASN1_MAX_NAME_SIZE"><code class="literal">ASN1_MAX_NAME_SIZE</code></a>
+characters.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-parser2array"></a><h3>asn1_parser2array ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_parser2array (<em class="parameter"><code>const <span class="type">char</span> *inputFileName</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *outputFileName</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *vectorName</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *error_desc</code></em>);</pre>
+<p>Function that generates a C structure from an ASN1 file. Creates a
+file containing a C vector to use to manage the definitions
+included in <em class="parameter"><code>inputFileName</code></em>
+ file. If <em class="parameter"><code>inputFileName</code></em>
+ is
+"/aa/bb/xx.yy" and <em class="parameter"><code>outputFileName</code></em>
+ is <code class="literal">NULL</code>, the file created is
+"/aa/bb/xx_asn1_tab.c". If <em class="parameter"><code>vectorName</code></em>
+ is <code class="literal">NULL</code> the vector name
+will be "xx_asn1_tab".</p>
+<div class="refsect3">
+<a name="asn1-parser2array.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>inputFileName</p></td>
+<td class="parameter_description"><p>specify the path and the name of file that
+contains ASN.1 declarations.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>outputFileName</p></td>
+<td class="parameter_description"><p>specify the path and the name of file that will
+contain the C vector definition.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vectorName</p></td>
+<td class="parameter_description"><p>specify the name of the C vector.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error_desc</p></td>
+<td class="parameter_description"><p>return the error description or an empty
+string if success.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-parser2array.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if the file has a correct syntax and every
+identifier is known, <a class="link" href="libtasn1-libtasn1.html#ASN1-FILE-NOT-FOUND:CAPS" title="ASN1_FILE_NOT_FOUND"><code class="literal">ASN1_FILE_NOT_FOUND</code></a> if an error occurred
+while opening <em class="parameter"><code>inputFileName</code></em>
+, <a class="link" href="libtasn1-libtasn1.html#ASN1-SYNTAX-ERROR:CAPS" title="ASN1_SYNTAX_ERROR"><code class="literal">ASN1_SYNTAX_ERROR</code></a> if the syntax is
+not correct, <a class="link" href="libtasn1-libtasn1.html#ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="ASN1_IDENTIFIER_NOT_FOUND"><code class="literal">ASN1_IDENTIFIER_NOT_FOUND</code></a> if in the file there is
+an identifier that is not defined, <a class="link" href="libtasn1-libtasn1.html#ASN1-NAME-TOO-LONG:CAPS" title="ASN1_NAME_TOO_LONG"><code class="literal">ASN1_NAME_TOO_LONG</code></a> if in the
+file there is an identifier with more than <a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-NAME-SIZE:CAPS" title="ASN1_MAX_NAME_SIZE"><code class="literal">ASN1_MAX_NAME_SIZE</code></a>
+characters.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-array2tree"></a><h3>asn1_array2tree ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_array2tree (<em class="parameter"><code>const <span class="type">asn1_static_node</span> *array</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *definitions</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *errorDescription</code></em>);</pre>
+<p>Creates the structures needed to manage the ASN.1 definitions.
+<em class="parameter"><code>array</code></em>
+ is a vector created by <a class="link" href="libtasn1-libtasn1.html#asn1-parser2array" title="asn1_parser2array ()"><code class="function">asn1_parser2array()</code></a>.</p>
+<div class="refsect3">
+<a name="asn1-array2tree.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>array</p></td>
+<td class="parameter_description"><p>specify the array that contains ASN.1 declarations</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>definitions</p></td>
+<td class="parameter_description"><p>return the pointer to the structure created by
+*ARRAY ASN.1 declarations</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errorDescription</p></td>
+<td class="parameter_description"><p>return the error description.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-array2tree.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if structure was created correctly,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-EMPTY:CAPS" title="ASN1_ELEMENT_NOT_EMPTY"><code class="literal">ASN1_ELEMENT_NOT_EMPTY</code></a> if *<em class="parameter"><code>definitions</code></em>
+not NULL,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-IDENTIFIER-NOT-FOUND:CAPS" title="ASN1_IDENTIFIER_NOT_FOUND"><code class="literal">ASN1_IDENTIFIER_NOT_FOUND</code></a> if in the file there is an identifier
+that is not defined (see <em class="parameter"><code>errorDescription</code></em>
+for more information),
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ARRAY-ERROR:CAPS" title="ASN1_ARRAY_ERROR"><code class="literal">ASN1_ARRAY_ERROR</code></a> if the array pointed by <em class="parameter"><code>array</code></em>
+is wrong.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-print-structure"></a><h3>asn1_print_structure ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+asn1_print_structure (<em class="parameter"><code><span class="type">FILE</span> *out</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> structure</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code><span class="type">int</span> mode</code></em>);</pre>
+<p>Prints on the <em class="parameter"><code>out</code></em>
+ file descriptor the structure's tree starting
+from the <em class="parameter"><code>name</code></em>
+ element inside the structure <em class="parameter"><code>structure</code></em>
+.</p>
+<div class="refsect3">
+<a name="asn1-print-structure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out</p></td>
+<td class="parameter_description"><p>pointer to the output file (e.g. stdout).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p>pointer to the structure that you want to visit.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>an element of the structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>specify how much of the structure to print, can be
+<a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS" title="ASN1_PRINT_NAME"><code class="literal">ASN1_PRINT_NAME</code></a>, <a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE:CAPS" title="ASN1_PRINT_NAME_TYPE"><code class="literal">ASN1_PRINT_NAME_TYPE</code></a>,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE-VALUE:CAPS" title="ASN1_PRINT_NAME_TYPE_VALUE"><code class="literal">ASN1_PRINT_NAME_TYPE_VALUE</code></a>, or <a class="link" href="libtasn1-libtasn1.html#ASN1-PRINT-ALL:CAPS" title="ASN1_PRINT_ALL"><code class="literal">ASN1_PRINT_ALL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-create-element"></a><h3>asn1_create_element ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_create_element (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> definitions</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *source_name</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *element</code></em>);</pre>
+<p>Creates a structure of type <em class="parameter"><code>source_name</code></em>
+. Example using
+ "pkix.asn":</p>
+<p>rc = asn1_create_element(cert_def, "PKIX1.Certificate", certptr);</p>
+<div class="refsect3">
+<a name="asn1-create-element.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>definitions</p></td>
+<td class="parameter_description"><p>pointer to the structure returned by "parser_asn1" function</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>source_name</p></td>
+<td class="parameter_description"><p>the name of the type of the new structure (must be
+inside p_structure).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to the structure created.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-create-element.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if creation OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if
+<em class="parameter"><code>source_name</code></em>
+is not known.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-delete-structure"></a><h3>asn1_delete_structure ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_delete_structure (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *structure</code></em>);</pre>
+<p>Deletes the structure *<em class="parameter"><code>structure</code></em>
+. At the end, *<em class="parameter"><code>structure</code></em>
+ is set
+to NULL.</p>
+<div class="refsect3">
+<a name="asn1-delete-structure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p>pointer to the structure that you want to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-delete-structure.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if
+*<em class="parameter"><code>structure</code></em>
+was NULL.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-delete-structure2"></a><h3>asn1_delete_structure2 ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_delete_structure2 (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *structure</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>);</pre>
+<p>Deletes the structure *<em class="parameter"><code>structure</code></em>
+. At the end, *<em class="parameter"><code>structure</code></em>
+ is set
+to NULL.</p>
+<div class="refsect3">
+<a name="asn1-delete-structure2.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p>pointer to the structure that you want to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>additional flags (see <a class="link" href="libtasn1-libtasn1.html#ASN1-DELETE-FLAG-ZEROIZE:CAPS" title="ASN1_DELETE_FLAG_ZEROIZE"><code class="literal">ASN1_DELETE_FLAG_ZEROIZE</code></a>)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-delete-structure2.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if
+*<em class="parameter"><code>structure</code></em>
+was NULL.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-delete-element"></a><h3>asn1_delete_element ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_delete_element (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> structure</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *element_name</code></em>);</pre>
+<p>Deletes the element named *<em class="parameter"><code>element_name</code></em>
+ inside *<em class="parameter"><code>structure</code></em>
+.</p>
+<div class="refsect3">
+<a name="asn1-delete-element.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p>pointer to the structure that contains the element you
+want to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>element_name</p></td>
+<td class="parameter_description"><p>element's name you want to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-delete-element.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if
+the <em class="parameter"><code>element_name</code></em>
+was not found.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-write-value"></a><h3>asn1_write_value ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_write_value (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> node_root</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">void</span> *ivalue</code></em>,
+ <em class="parameter"><code><span class="type">int</span> len</code></em>);</pre>
+<p>Set the value of one element inside a structure.</p>
+<p>If an element is OPTIONAL and you want to delete it, you must use
+the value=NULL and len=0. Using "pkix.asn":</p>
+<p>result=asn1_write_value(cert, "tbsCertificate.issuerUniqueID",
+NULL, 0);</p>
+<p>Description for each type:</p>
+<p>INTEGER: VALUE must contain a two's complement form integer.</p>
+<p> value[0]=0xFF , len=1 -&gt; integer=-1.
+ value[0]=0xFF value[1]=0xFF , len=2 -&gt; integer=-1.
+ value[0]=0x01 , len=1 -&gt; integer= 1.
+ value[0]=0x00 value[1]=0x01 , len=2 -&gt; integer= 1.
+ value="123" , len=0 -&gt; integer= 123.</p>
+<p>ENUMERATED: As INTEGER (but only with not negative numbers).</p>
+<p>BOOLEAN: VALUE must be the null terminated string "TRUE" or
+ "FALSE" and LEN != 0.</p>
+<p> value="TRUE" , len=1 -&gt; boolean=TRUE.
+ value="FALSE" , len=1 -&gt; boolean=FALSE.</p>
+<p>OBJECT IDENTIFIER: VALUE must be a null terminated string with
+ each number separated by a dot (e.g. "1.2.3.543.1"). LEN != 0.</p>
+<p> value="1 2 840 10040 4 3" , len=1 -&gt; OID=dsa-with-sha.</p>
+<p>UTCTime: VALUE must be a null terminated string in one of these
+ formats: "YYMMDDhhmmssZ", "YYMMDDhhmmssZ",
+ "YYMMDDhhmmss+hh'mm'", "YYMMDDhhmmss-hh'mm'",
+ "YYMMDDhhmm+hh'mm'", or "YYMMDDhhmm-hh'mm'". LEN != 0.</p>
+<p> value="9801011200Z" , len=1 -&gt; time=Jannuary 1st, 1998
+ at 12h 00m Greenwich Mean Time</p>
+<p>GeneralizedTime: VALUE must be in one of this format:
+ "YYYYMMDDhhmmss.sZ", "YYYYMMDDhhmmss.sZ",
+ "YYYYMMDDhhmmss.s+hh'mm'", "YYYYMMDDhhmmss.s-hh'mm'",
+ "YYYYMMDDhhmm+hh'mm'", or "YYYYMMDDhhmm-hh'mm'" where ss.s
+ indicates the seconds with any precision like "10.1" or "01.02".
+ LEN != 0</p>
+<p> value="2001010112001.12-0700" , len=1 -&gt; time=Jannuary
+ 1st, 2001 at 12h 00m 01.12s Pacific Daylight Time</p>
+<p>OCTET STRING: VALUE contains the octet string and LEN is the
+ number of octets.</p>
+<p> value="$\backslash$x01$\backslash$x02$\backslash$x03" ,
+ len=3 -&gt; three bytes octet string</p>
+<p>GeneralString: VALUE contains the generalstring and LEN is the
+ number of octets.</p>
+<p> value="$\backslash$x01$\backslash$x02$\backslash$x03" ,
+ len=3 -&gt; three bytes generalstring</p>
+<p>BIT STRING: VALUE contains the bit string organized by bytes and
+ LEN is the number of bits.</p>
+<p> value="$\backslash$xCF" , len=6 -&gt; bit string="110011" (six
+ bits)</p>
+<p>CHOICE: if NAME indicates a choice type, VALUE must specify one of
+ the alternatives with a null terminated string. LEN != 0. Using
+ "pkix.asn"\:</p>
+<p> result=asn1_write_value(cert,
+ "certificate1.tbsCertificate.subject", "rdnSequence",
+ 1);</p>
+<p>ANY: VALUE indicates the der encoding of a structure. LEN != 0.</p>
+<p>SEQUENCE OF: VALUE must be the null terminated string "NEW" and
+ LEN != 0. With this instruction another element is appended in
+ the sequence. The name of this element will be "?1" if it's the
+ first one, "?2" for the second and so on.</p>
+<p> Using "pkix.asn"\:</p>
+<p> result=asn1_write_value(cert,
+ "certificate1.tbsCertificate.subject.rdnSequence", "NEW", 1);</p>
+<p>SET OF: the same as SEQUENCE OF. Using "pkix.asn":</p>
+<p> result=asn1_write_value(cert,
+ "tbsCertificate.subject.rdnSequence.?LAST", "NEW", 1);</p>
+<div class="refsect3">
+<a name="asn1-write-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>node_root</p></td>
+<td class="parameter_description"><p>pointer to a structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name of the element inside the structure that you want to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ivalue</p></td>
+<td class="parameter_description"><p>vector used to specify the value to set. If len is &gt;0,
+VALUE must be a two's complement form integer. if len=0 *VALUE
+must be a null terminated string with an integer value.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>number of bytes of *value to use to set the value:
+value[0]..value[len-1] or 0 if value is a null terminated string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-write-value.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if the value was set,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if <em class="parameter"><code>name</code></em>
+is not a valid element, and
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-VALID:CAPS" title="ASN1_VALUE_NOT_VALID"><code class="literal">ASN1_VALUE_NOT_VALID</code></a> if <em class="parameter"><code>ivalue</code></em>
+has a wrong format.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-read-value"></a><h3>asn1_read_value ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_read_value (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> root</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code><span class="type">void</span> *ivalue</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *len</code></em>);</pre>
+<p>Returns the value of one element inside a structure.
+If an element is OPTIONAL and this returns
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>, it means that this element wasn't present
+in the der encoding that created the structure. The first element
+of a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and
+so on. If the <em class="parameter"><code>root</code></em>
+ provided is a node to specific sequence element,
+then the keyword "?CURRENT" is also acceptable and indicates the
+current sequence element of this node.</p>
+<p>Note that there can be valid values with length zero. In these case
+this function will succeed and <em class="parameter"><code>len</code></em>
+ will be zero.</p>
+<p>INTEGER: VALUE will contain a two's complement form integer.</p>
+<p> integer=-1 -&gt; value[0]=0xFF , len=1.
+ integer=1 -&gt; value[0]=0x01 , len=1.</p>
+<p>ENUMERATED: As INTEGER (but only with not negative numbers).</p>
+<p>BOOLEAN: VALUE will be the null terminated string "TRUE" or
+ "FALSE" and LEN=5 or LEN=6.</p>
+<p>OBJECT IDENTIFIER: VALUE will be a null terminated string with
+ each number separated by a dot (i.e. "1.2.3.543.1").</p>
+<p> LEN = strlen(VALUE)+1</p>
+<p>UTCTime: VALUE will be a null terminated string in one of these
+ formats: "YYMMDDhhmmss+hh'mm'" or "YYMMDDhhmmss-hh'mm'".
+ LEN=strlen(VALUE)+1.</p>
+<p>GeneralizedTime: VALUE will be a null terminated string in the
+ same format used to set the value.</p>
+<p>OCTET STRING: VALUE will contain the octet string and LEN will be
+ the number of octets.</p>
+<p>GeneralString: VALUE will contain the generalstring and LEN will
+ be the number of octets.</p>
+<p>BIT STRING: VALUE will contain the bit string organized by bytes
+ and LEN will be the number of bits.</p>
+<p>CHOICE: If NAME indicates a choice type, VALUE will specify the
+ alternative selected.</p>
+<p>ANY: If NAME indicates an any type, VALUE will indicate the DER
+ encoding of the structure actually used.</p>
+<div class="refsect3">
+<a name="asn1-read-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>root</p></td>
+<td class="parameter_description"><p>pointer to a structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name of the element inside a structure that you want to read.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ivalue</p></td>
+<td class="parameter_description"><p>vector that will contain the element's content, must be a
+pointer to memory cells already allocated (may be <code class="literal">NULL</code>).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>number of bytes of *value: value[0]..value[len-1]. Initialy
+holds the sizeof value.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-read-value.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if value is returned,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if <em class="parameter"><code>name</code></em>
+is not a valid element,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-FOUND:CAPS" title="ASN1_VALUE_NOT_FOUND"><code class="literal">ASN1_VALUE_NOT_FOUND</code></a> if there isn't any value for the element
+selected, and <a class="link" href="libtasn1-libtasn1.html#ASN1-MEM-ERROR:CAPS" title="ASN1_MEM_ERROR"><code class="literal">ASN1_MEM_ERROR</code></a> if The value vector isn't big enough
+to store the result, and in this case <em class="parameter"><code>len</code></em>
+will contain the number of
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> even if the provided <em class="parameter"><code>len</code></em>
+is zero.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-read-value-type"></a><h3>asn1_read_value_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_read_value_type (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> root</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code><span class="type">void</span> *ivalue</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> *etype</code></em>);</pre>
+<p>Returns the type and value of one element inside a structure.
+If an element is OPTIONAL and this returns
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>, it means that this element wasn't present
+in the der encoding that created the structure. The first element
+of a SEQUENCE_OF or SET_OF is named "?1". The second one "?2" and
+so on. If the <em class="parameter"><code>root</code></em>
+ provided is a node to specific sequence element,
+then the keyword "?CURRENT" is also acceptable and indicates the
+current sequence element of this node.</p>
+<p>Note that there can be valid values with length zero. In these case
+this function will succeed and <em class="parameter"><code>len</code></em>
+ will be zero.</p>
+<p>INTEGER: VALUE will contain a two's complement form integer.</p>
+<p> integer=-1 -&gt; value[0]=0xFF , len=1.
+ integer=1 -&gt; value[0]=0x01 , len=1.</p>
+<p>ENUMERATED: As INTEGER (but only with not negative numbers).</p>
+<p>BOOLEAN: VALUE will be the null terminated string "TRUE" or
+ "FALSE" and LEN=5 or LEN=6.</p>
+<p>OBJECT IDENTIFIER: VALUE will be a null terminated string with
+ each number separated by a dot (i.e. "1.2.3.543.1").</p>
+<p> LEN = strlen(VALUE)+1</p>
+<p>UTCTime: VALUE will be a null terminated string in one of these
+ formats: "YYMMDDhhmmss+hh'mm'" or "YYMMDDhhmmss-hh'mm'".
+ LEN=strlen(VALUE)+1.</p>
+<p>GeneralizedTime: VALUE will be a null terminated string in the
+ same format used to set the value.</p>
+<p>OCTET STRING: VALUE will contain the octet string and LEN will be
+ the number of octets.</p>
+<p>GeneralString: VALUE will contain the generalstring and LEN will
+ be the number of octets.</p>
+<p>BIT STRING: VALUE will contain the bit string organized by bytes
+ and LEN will be the number of bits.</p>
+<p>CHOICE: If NAME indicates a choice type, VALUE will specify the
+ alternative selected.</p>
+<p>ANY: If NAME indicates an any type, VALUE will indicate the DER
+ encoding of the structure actually used.</p>
+<div class="refsect3">
+<a name="asn1-read-value-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>root</p></td>
+<td class="parameter_description"><p>pointer to a structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name of the element inside a structure that you want to read.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ivalue</p></td>
+<td class="parameter_description"><p>vector that will contain the element's content, must be a
+pointer to memory cells already allocated (may be <code class="literal">NULL</code>).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>number of bytes of *value: value[0]..value[len-1]. Initialy
+holds the sizeof value.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>etype</p></td>
+<td class="parameter_description"><p>The type of the value read (ASN1_ETYPE)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-read-value-type.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if value is returned,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if <em class="parameter"><code>name</code></em>
+is not a valid element,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-FOUND:CAPS" title="ASN1_VALUE_NOT_FOUND"><code class="literal">ASN1_VALUE_NOT_FOUND</code></a> if there isn't any value for the element
+selected, and <a class="link" href="libtasn1-libtasn1.html#ASN1-MEM-ERROR:CAPS" title="ASN1_MEM_ERROR"><code class="literal">ASN1_MEM_ERROR</code></a> if The value vector isn't big enough
+to store the result, and in this case <em class="parameter"><code>len</code></em>
+will contain the number of
+bytes needed. On the occasion that the stored data are of zero-length
+this function may return <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> even if the provided <em class="parameter"><code>len</code></em>
+is zero.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-read-node-value"></a><h3>asn1_read_node_value ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_read_node_value (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> node</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-data-node-st" title="struct asn1_data_node_st"><span class="type">asn1_data_node_st</span></a> *data</code></em>);</pre>
+<p>Returns the value a data node inside a asn1_node structure.
+The data returned should be handled as constant values.</p>
+<div class="refsect3">
+<a name="asn1-read-node-value.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>node</p></td>
+<td class="parameter_description"><p>pointer to a node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>a point to a asn1_data_node_st</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-read-node-value.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if the node exists.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-number-of-elements"></a><h3>asn1_number_of_elements ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_number_of_elements (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> element</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *num</code></em>);</pre>
+<p>Counts the number of elements of a sub-structure called NAME with
+names equal to "?1","?2", ...</p>
+<div class="refsect3">
+<a name="asn1-number-of-elements.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to the root of an ASN1 structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name of a sub-structure of ROOT.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>num</p></td>
+<td class="parameter_description"><p>pointer to an integer where the result will be stored</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-number-of-elements.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if
+<em class="parameter"><code>name</code></em>
+is not known, <a class="link" href="libtasn1-libtasn1.html#ASN1-GENERIC-ERROR:CAPS" title="ASN1_GENERIC_ERROR"><code class="literal">ASN1_GENERIC_ERROR</code></a> if pointer <em class="parameter"><code>num</code></em>
+is <code class="literal">NULL</code>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-der-coding"></a><h3>asn1_der_coding ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_der_coding (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> element</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code><span class="type">void</span> *ider</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *len</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *ErrorDescription</code></em>);</pre>
+<p>Creates the DER encoding for the NAME structure (inside *POINTER
+structure).</p>
+<div class="refsect3">
+<a name="asn1-der-coding.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 element</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name of the structure you want to encode (it must be
+inside *POINTER).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider</p></td>
+<td class="parameter_description"><p>vector that will contain the DER encoding. DER must be a
+pointer to memory cells already allocated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>number of bytes of *<em class="parameter"><code>ider</code></em>
+: <em class="parameter"><code>ider</code></em>
+[0]..<em class="parameter"><code>ider</code></em>
+[len-1], Initialy
+holds the sizeof of der vector.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ErrorDescription</p></td>
+<td class="parameter_description"><p>return the error description or an empty
+string if success.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-der-coding.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if DER encoding OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>
+if <em class="parameter"><code>name</code></em>
+is not a valid element, <a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-FOUND:CAPS" title="ASN1_VALUE_NOT_FOUND"><code class="literal">ASN1_VALUE_NOT_FOUND</code></a> if there
+is an element without a value, <a class="link" href="libtasn1-libtasn1.html#ASN1-MEM-ERROR:CAPS" title="ASN1_MEM_ERROR"><code class="literal">ASN1_MEM_ERROR</code></a> if the <em class="parameter"><code>ider</code></em>
+vector isn't big enough and in this case <em class="parameter"><code>len</code></em>
+will contain the
+length needed.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-der-decoding2"></a><h3>asn1_der_decoding2 ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_der_decoding2 (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *element</code></em>,
+ <em class="parameter"><code>const <span class="type">void</span> *ider</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *max_ider_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> flags</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *errorDescription</code></em>);</pre>
+<p>Fill the structure *<em class="parameter"><code>element</code></em>
+ with values of a DER encoding string. The
+structure must just be created with function <a class="link" href="libtasn1-libtasn1.html#asn1-create-element" title="asn1_create_element ()"><code class="function">asn1_create_element()</code></a>.</p>
+<p>If <a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-PADDING:CAPS" title="ASN1_DECODE_FLAG_ALLOW_PADDING"><code class="literal">ASN1_DECODE_FLAG_ALLOW_PADDING</code></a> flag is set then the function will ignore
+padding after the decoded DER data. Upon a successful return the value of
+*<em class="parameter"><code>max_ider_len</code></em>
+ will be set to the number of bytes decoded.</p>
+<p>If <a class="link" href="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-STRICT-DER:CAPS" title="ASN1_DECODE_FLAG_STRICT_DER"><code class="literal">ASN1_DECODE_FLAG_STRICT_DER</code></a> flag is set then the function will
+not decode any BER-encoded elements.</p>
+<div class="refsect3">
+<a name="asn1-der-decoding2.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider</p></td>
+<td class="parameter_description"><p>vector that contains the DER encoding.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>max_ider_len</p></td>
+<td class="parameter_description"><p>pointer to an integer giving the information about the
+maximal number of bytes occupied by *<em class="parameter"><code>ider</code></em>
+. The real size of the DER
+encoding is returned through this pointer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>flags controlling the behaviour of the function.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errorDescription</p></td>
+<td class="parameter_description"><p>null-terminated string contains details when an
+error occurred.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-der-decoding2.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if DER encoding OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>
+if <em class="parameter"><code>ELEMENT</code></em>
+is <code class="literal">NULL</code>, and <a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-ERROR:CAPS" title="ASN1_TAG_ERROR"><code class="literal">ASN1_TAG_ERROR</code></a> or
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DER-ERROR:CAPS" title="ASN1_DER_ERROR"><code class="literal">ASN1_DER_ERROR</code></a> if the der encoding doesn't match the structure
+name (*<em class="parameter"><code>ELEMENT</code></em>
+deleted).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-der-decoding"></a><h3>asn1_der_decoding ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_der_decoding (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *element</code></em>,
+ <em class="parameter"><code>const <span class="type">void</span> *ider</code></em>,
+ <em class="parameter"><code><span class="type">int</span> ider_len</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *errorDescription</code></em>);</pre>
+<p>Fill the structure *<em class="parameter"><code>element</code></em>
+ with values of a DER encoding
+string. The structure must just be created with function
+<a class="link" href="libtasn1-libtasn1.html#asn1-create-element" title="asn1_create_element ()"><code class="function">asn1_create_element()</code></a>.</p>
+<p>Note that the *<em class="parameter"><code>element</code></em>
+ variable is provided as a pointer for
+historical reasons.</p>
+<div class="refsect3">
+<a name="asn1-der-decoding.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider</p></td>
+<td class="parameter_description"><p>vector that contains the DER encoding.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider_len</p></td>
+<td class="parameter_description"><p>number of bytes of *<em class="parameter"><code>ider</code></em>
+: <em class="parameter"><code>ider</code></em>
+[0]..<em class="parameter"><code>ider</code></em>
+[len-1].</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errorDescription</p></td>
+<td class="parameter_description"><p>null-terminated string contains details when an
+error occurred.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-der-decoding.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if DER encoding OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>
+if <em class="parameter"><code>ELEMENT</code></em>
+is <code class="literal">NULL</code>, and <a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-ERROR:CAPS" title="ASN1_TAG_ERROR"><code class="literal">ASN1_TAG_ERROR</code></a> or
+<a class="link" href="libtasn1-libtasn1.html#ASN1-DER-ERROR:CAPS" title="ASN1_DER_ERROR"><code class="literal">ASN1_DER_ERROR</code></a> if the der encoding doesn't match the structure
+name (*<em class="parameter"><code>ELEMENT</code></em>
+deleted).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-der-decoding-element"></a><h3>asn1_der_decoding_element ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_der_decoding_element (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *structure</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *elementName</code></em>,
+ <em class="parameter"><code>const <span class="type">void</span> *ider</code></em>,
+ <em class="parameter"><code><span class="type">int</span> len</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *errorDescription</code></em>);</pre>
+<div class="warning"><p><code class="literal">asn1_der_decoding_element</code> is deprecated and should not be used in newly-written code.</p></div>
+<p>Fill the element named <em class="parameter"><code>ELEMENTNAME</code></em>
+ with values of a DER encoding
+string. The structure must just be created with function
+<a class="link" href="libtasn1-libtasn1.html#asn1-create-element" title="asn1_create_element ()"><code class="function">asn1_create_element()</code></a>. The DER vector must contain the encoding
+string of the whole <em class="parameter"><code>STRUCTURE</code></em>
+. If an error occurs during the
+decoding procedure, the *<em class="parameter"><code>STRUCTURE</code></em>
+ is deleted and set equal to
+<code class="literal">NULL</code>.</p>
+<p>This function is deprecated and may just be an alias to asn1_der_decoding
+in future versions. Use <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding" title="asn1_der_decoding ()"><code class="function">asn1_der_decoding()</code></a> instead.</p>
+<div class="refsect3">
+<a name="asn1-der-decoding-element.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>structure</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>elementName</p></td>
+<td class="parameter_description"><p>name of the element to fill</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider</p></td>
+<td class="parameter_description"><p>vector that contains the DER encoding of the whole structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>number of bytes of *der: der[0]..der[len-1]</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>errorDescription</p></td>
+<td class="parameter_description"><p>null-terminated string contains details when an
+error occurred.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-der-decoding-element.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if DER encoding OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>
+if ELEMENT is <code class="literal">NULL</code> or <em class="parameter"><code>elementName</code></em>
+== NULL, and
+<a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-ERROR:CAPS" title="ASN1_TAG_ERROR"><code class="literal">ASN1_TAG_ERROR</code></a> or <a class="link" href="libtasn1-libtasn1.html#ASN1-DER-ERROR:CAPS" title="ASN1_DER_ERROR"><code class="literal">ASN1_DER_ERROR</code></a> if the der encoding doesn't
+match the structure <em class="parameter"><code>structure</code></em>
+(*ELEMENT deleted).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-der-decoding-startEnd"></a><h3>asn1_der_decoding_startEnd ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_der_decoding_startEnd (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> element</code></em>,
+ <em class="parameter"><code>const <span class="type">void</span> *ider</code></em>,
+ <em class="parameter"><code><span class="type">int</span> ider_len</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name_element</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *start</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *end</code></em>);</pre>
+<p>Find the start and end point of an element in a DER encoding
+string. I mean that if you have a der encoding and you have already
+used the function <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding" title="asn1_der_decoding ()"><code class="function">asn1_der_decoding()</code></a> to fill a structure, it may
+happen that you want to find the piece of string concerning an
+element of the structure.</p>
+<p>One example is the sequence "tbsCertificate" inside an X509
+certificate.</p>
+<p>Note that since libtasn1 3.7 the <em class="parameter"><code>ider</code></em>
+ and <em class="parameter"><code>ider_len</code></em>
+ parameters
+can be omitted, if the element is already decoded using <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding" title="asn1_der_decoding ()"><code class="function">asn1_der_decoding()</code></a>.</p>
+<div class="refsect3">
+<a name="asn1-der-decoding-startEnd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 element</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider</p></td>
+<td class="parameter_description"><p>vector that contains the DER encoding.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ider_len</p></td>
+<td class="parameter_description"><p>number of bytes of *<em class="parameter"><code>ider</code></em>
+: <em class="parameter"><code>ider</code></em>
+[0]..<em class="parameter"><code>ider</code></em>
+[len-1]</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name_element</p></td>
+<td class="parameter_description"><p>an element of NAME structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>start</p></td>
+<td class="parameter_description"><p>the position of the first byte of NAME_ELEMENT decoding
+(<em class="parameter"><code>ider</code></em>
+[*start])</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>end</p></td>
+<td class="parameter_description"><p>the position of the last byte of NAME_ELEMENT decoding
+(<em class="parameter"><code>ider</code></em>
+[*end])</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-der-decoding-startEnd.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if DER encoding OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>
+if ELEMENT is <a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><code class="literal">asn1_node</code></a> EMPTY or <em class="parameter"><code>name_element</code></em>
+is not a valid
+element, <a class="link" href="libtasn1-libtasn1.html#ASN1-TAG-ERROR:CAPS" title="ASN1_TAG_ERROR"><code class="literal">ASN1_TAG_ERROR</code></a> or <a class="link" href="libtasn1-libtasn1.html#ASN1-DER-ERROR:CAPS" title="ASN1_DER_ERROR"><code class="literal">ASN1_DER_ERROR</code></a> if the der encoding
+doesn't match the structure ELEMENT.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-expand-any-defined-by"></a><h3>asn1_expand_any_defined_by ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_expand_any_defined_by (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> definitions</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *element</code></em>);</pre>
+<p>Expands every "ANY DEFINED BY" element of a structure created from
+a DER decoding process (asn1_der_decoding function). The element
+ANY must be defined by an OBJECT IDENTIFIER. The type used to
+expand the element ANY is the first one following the definition of
+the actual value of the OBJECT IDENTIFIER.</p>
+<div class="refsect3">
+<a name="asn1-expand-any-defined-by.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>definitions</p></td>
+<td class="parameter_description"><p>ASN1 definitions</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-expand-any-defined-by.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if Substitution OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ERROR-TYPE-ANY:CAPS" title="ASN1_ERROR_TYPE_ANY"><code class="literal">ASN1_ERROR_TYPE_ANY</code></a> if
+some "ANY DEFINED BY" element couldn't be expanded due to a
+problem in OBJECT_ID -&gt; TYPE association, or other error codes
+depending on DER decoding.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-expand-octet-string"></a><h3>asn1_expand_octet_string ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_expand_octet_string (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> definitions</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> *element</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *octetName</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *objectName</code></em>);</pre>
+<p>Expands an "OCTET STRING" element of a structure created from a DER
+decoding process (the <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding" title="asn1_der_decoding ()"><code class="function">asn1_der_decoding()</code></a> function). The type used
+for expansion is the first one following the definition of the
+actual value of the OBJECT IDENTIFIER indicated by OBJECTNAME.</p>
+<div class="refsect3">
+<a name="asn1-expand-octet-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>definitions</p></td>
+<td class="parameter_description"><p>ASN1 definitions</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>element</p></td>
+<td class="parameter_description"><p>pointer to an ASN1 structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>octetName</p></td>
+<td class="parameter_description"><p>name of the OCTECT STRING field to expand.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>objectName</p></td>
+<td class="parameter_description"><p>name of the OBJECT IDENTIFIER field to use to define
+the type for expansion.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-expand-octet-string.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if substitution OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a>
+if <em class="parameter"><code>objectName</code></em>
+or <em class="parameter"><code>octetName</code></em>
+are not correct,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-VALID:CAPS" title="ASN1_VALUE_NOT_VALID"><code class="literal">ASN1_VALUE_NOT_VALID</code></a> if it wasn't possible to find the type to
+use for expansion, or other errors depending on DER decoding.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-read-tag"></a><h3>asn1_read_tag ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_read_tag (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> root</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *tagValue</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *classValue</code></em>);</pre>
+<p>Returns the TAG and the CLASS of one element inside a structure.
+CLASS can have one of these constants: <a class="link" href="libtasn1-libtasn1.html#ASN1-CLASS-APPLICATION:CAPS" title="ASN1_CLASS_APPLICATION"><code class="literal">ASN1_CLASS_APPLICATION</code></a>,
+<a class="link" href="libtasn1-libtasn1.html#ASN1-CLASS-UNIVERSAL:CAPS" title="ASN1_CLASS_UNIVERSAL"><code class="literal">ASN1_CLASS_UNIVERSAL</code></a>, <a class="link" href="libtasn1-libtasn1.html#ASN1-CLASS-PRIVATE:CAPS" title="ASN1_CLASS_PRIVATE"><code class="literal">ASN1_CLASS_PRIVATE</code></a> or
+<a class="link" href="libtasn1-libtasn1.html#ASN1-CLASS-CONTEXT-SPECIFIC:CAPS" title="ASN1_CLASS_CONTEXT_SPECIFIC"><code class="literal">ASN1_CLASS_CONTEXT_SPECIFIC</code></a>.</p>
+<div class="refsect3">
+<a name="asn1-read-tag.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>root</p></td>
+<td class="parameter_description"><p>pointer to a structure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>the name of the element inside a structure.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tagValue</p></td>
+<td class="parameter_description"><p>variable that will contain the TAG value.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>classValue</p></td>
+<td class="parameter_description"><p>variable that will specify the TAG type.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-read-tag.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful, <a class="link" href="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS" title="ASN1_ELEMENT_NOT_FOUND"><code class="literal">ASN1_ELEMENT_NOT_FOUND</code></a> if
+<em class="parameter"><code>name</code></em>
+is not a valid element.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-find-structure-from-oid"></a><h3>asn1_find_structure_from_oid ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+asn1_find_structure_from_oid (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> definitions</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *oidValue</code></em>);</pre>
+<p>Search the structure that is defined just after an OID definition.</p>
+<div class="refsect3">
+<a name="asn1-find-structure-from-oid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>definitions</p></td>
+<td class="parameter_description"><p>ASN1 definitions</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>oidValue</p></td>
+<td class="parameter_description"><p>value of the OID to search (e.g. "1.2.3.4").</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-find-structure-from-oid.returns"></a><h4>Returns</h4>
+<p> <code class="literal">NULL</code> when <em class="parameter"><code>oidValue</code></em>
+not found, otherwise the pointer to a
+constant string that contains the element name defined just after
+the OID.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-check-version"></a><h3>asn1_check_version ()</h3>
+<pre class="programlisting">const <span class="returnvalue">char</span> *
+asn1_check_version (<em class="parameter"><code>const <span class="type">char</span> *req_version</code></em>);</pre>
+<p>Check that the version of the library is at minimum the
+requested one and return the version string; return <code class="literal">NULL</code> if the
+condition is not satisfied. If a <code class="literal">NULL</code> is passed to this function,
+no check is done, but the version string is simply returned.</p>
+<p>See <a class="link" href="libtasn1-libtasn1.html#ASN1-VERSION:CAPS" title="ASN1_VERSION"><code class="literal">ASN1_VERSION</code></a> for a suitable <em class="parameter"><code>req_version</code></em>
+ string.</p>
+<div class="refsect3">
+<a name="asn1-check-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>req_version</p></td>
+<td class="parameter_description"><p>Required version number, or <code class="literal">NULL</code>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-check-version.returns"></a><h4>Returns</h4>
+<p> Version string of run-time library, or <code class="literal">NULL</code> if the
+run-time library does not meet the required version number.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-perror"></a><h3>asn1_perror ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+asn1_perror (<em class="parameter"><code><span class="type">int</span> error</code></em>);</pre>
+<p>Prints a string to stderr with a description of an error. This
+function is like <code class="function">perror()</code>. The only difference is that it accepts
+an error returned by a libtasn1 function.</p>
+<div class="refsect3">
+<a name="asn1-perror.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>is an error returned by a libtasn1 function.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: <a class="link" href="api-index-1-6.html#api-index-1.6">1.6</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-get-length-der"></a><h3>asn1_get_length_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">long</span>
+asn1_get_length_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> der_len</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *len</code></em>);</pre>
+<p>Extract a length field from DER data.</p>
+<div class="refsect3">
+<a name="asn1-get-length-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>DER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>Length of DER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>Output variable containing the length of the DER length field.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-get-length-der.returns"></a><h4>Returns</h4>
+<p> Return the decoded length value, or -1 on indefinite
+length, or -2 when the value was too big to fit in a int, or -4
+when the decoded length value plus <em class="parameter"><code>len</code></em>
+would exceed <em class="parameter"><code>der_len</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-get-length-ber"></a><h3>asn1_get_length_ber ()</h3>
+<pre class="programlisting"><span class="returnvalue">long</span>
+asn1_get_length_ber (<em class="parameter"><code>const unsigned <span class="type">char</span> *ber</code></em>,
+ <em class="parameter"><code><span class="type">int</span> ber_len</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *len</code></em>);</pre>
+<p>Extract a length field from BER data. The difference to
+<a class="link" href="libtasn1-libtasn1.html#asn1-get-length-der" title="asn1_get_length_der ()"><code class="function">asn1_get_length_der()</code></a> is that this function will return a length
+even if the value has indefinite encoding.</p>
+<div class="refsect3">
+<a name="asn1-get-length-ber.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ber</p></td>
+<td class="parameter_description"><p>BER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ber_len</p></td>
+<td class="parameter_description"><p>Length of BER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>Output variable containing the length of the BER length field.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-get-length-ber.returns"></a><h4>Returns</h4>
+<p> Return the decoded length value, or negative value when
+the value was too big.</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-0.html#api-index-2.0">2.0</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-length-der"></a><h3>asn1_length_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+asn1_length_der (<em class="parameter"><code>unsigned long <span class="type">int</span> len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *der_len</code></em>);</pre>
+<p>Creates the DER encoding of the provided length value.
+The <em class="parameter"><code>der</code></em>
+ buffer must have enough room for the output. The maximum
+length this function will encode is <a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-LENGTH-SIZE:CAPS" title="ASN1_MAX_LENGTH_SIZE"><code class="literal">ASN1_MAX_LENGTH_SIZE</code></a>.</p>
+<p>To know the size of the DER encoding use a <code class="literal">NULL</code> value for <em class="parameter"><code>der</code></em>
+.</p>
+<div class="refsect3">
+<a name="asn1-length-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>value to convert.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>buffer to hold the returned encoding (may be <code class="literal">NULL</code>).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>number of meaningful bytes of ANS (der[0]..der[der_len-1]).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-decode-simple-der"></a><h3>asn1_decode_simple_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_decode_simple_der (<em class="parameter"><code>unsigned <span class="type">int</span> etype</code></em>,
+ <em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> _der_len</code></em>,
+ <em class="parameter"><code>const unsigned <span class="type">char</span> **str</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> *str_len</code></em>);</pre>
+<p>Decodes a simple DER encoded type (e.g. a string, which is not constructed).
+The output is a pointer inside the <em class="parameter"><code>der</code></em>
+.</p>
+<div class="refsect3">
+<a name="asn1-decode-simple-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>etype</p></td>
+<td class="parameter_description"><p>The type of the string to be encoded (ASN1_ETYPE_)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>the encoded string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>_der_len</p></td>
+<td class="parameter_description"><p>the bytes of the encoded string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a pointer to the data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_len</p></td>
+<td class="parameter_description"><p>the length of the data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-decode-simple-der.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful or an error value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-decode-simple-ber"></a><h3>asn1_decode_simple_ber ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_decode_simple_ber (<em class="parameter"><code>unsigned <span class="type">int</span> etype</code></em>,
+ <em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> _der_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> **str</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> *str_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> *ber_len</code></em>);</pre>
+<p>Decodes a BER encoded type. The output is an allocated value
+of the data. This decodes BER STRINGS only. Other types are
+decoded as DER.</p>
+<div class="refsect3">
+<a name="asn1-decode-simple-ber.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>etype</p></td>
+<td class="parameter_description"><p>The type of the string to be encoded (ASN1_ETYPE_)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>the encoded string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>_der_len</p></td>
+<td class="parameter_description"><p>the bytes of the encoded string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>a pointer to the data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_len</p></td>
+<td class="parameter_description"><p>the length of the data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ber_len</p></td>
+<td class="parameter_description"><p>the total length occupied by BER (may be <code class="literal">NULL</code>)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-decode-simple-ber.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful or an error value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-encode-simple-der"></a><h3>asn1_encode_simple_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_encode_simple_der (<em class="parameter"><code>unsigned <span class="type">int</span> etype</code></em>,
+ <em class="parameter"><code>const unsigned <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> str_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *tl</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">int</span> *tl_len</code></em>);</pre>
+<p>Creates the DER encoding for various simple ASN.1 types like strings etc.
+It stores the tag and length in <em class="parameter"><code>tl</code></em>
+, which should have space for at least
+<a class="link" href="libtasn1-libtasn1.html#ASN1-MAX-TL-SIZE:CAPS" title="ASN1_MAX_TL_SIZE"><code class="literal">ASN1_MAX_TL_SIZE</code></a> bytes. Initially <em class="parameter"><code>tl_len</code></em>
+ should contain the size of <em class="parameter"><code>tl</code></em>
+.</p>
+<p>The complete DER encoding should consist of the value in <em class="parameter"><code>tl</code></em>
+ appended
+with the provided <em class="parameter"><code>str</code></em>
+.</p>
+<div class="refsect3">
+<a name="asn1-encode-simple-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>etype</p></td>
+<td class="parameter_description"><p>The type of the string to be encoded (ASN1_ETYPE_)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the string data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_len</p></td>
+<td class="parameter_description"><p>the string length</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tl</p></td>
+<td class="parameter_description"><p>the encoded tag and length</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tl_len</p></td>
+<td class="parameter_description"><p>the bytes of the <em class="parameter"><code>tl</code></em>
+field</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-encode-simple-der.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if successful or an error value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-find-node"></a><h3>asn1_find_node ()</h3>
+<pre class="programlisting"><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="returnvalue">asn1_node</span></a>
+asn1_find_node (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> pointer</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
+<p>Searches for an element called <em class="parameter"><code>name</code></em>
+ starting from <em class="parameter"><code>pointer</code></em>
+. The
+name is composed by different identifiers separated by dots. When
+*<em class="parameter"><code>pointer</code></em>
+ has a name, the first identifier must be the name of
+*<em class="parameter"><code>pointer</code></em>
+, otherwise it must be the name of one child of *<em class="parameter"><code>pointer</code></em>
+.</p>
+<div class="refsect3">
+<a name="asn1-find-node.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>pointer</p></td>
+<td class="parameter_description"><p>NODE_ASN element pointer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>null terminated string with the element's name to find.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-find-node.returns"></a><h4>Returns</h4>
+<p> the search result, or <code class="literal">NULL</code> if not found.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-copy-node"></a><h3>asn1_copy_node ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_copy_node (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> dst</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *dst_name</code></em>,
+ <em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> src</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *src_name</code></em>);</pre>
+<p>Create a deep copy of a asn1_node variable. That
+function requires <em class="parameter"><code>dst</code></em>
+ to be expanded using <a class="link" href="libtasn1-libtasn1.html#asn1-create-element" title="asn1_create_element ()"><code class="function">asn1_create_element()</code></a>.</p>
+<div class="refsect3">
+<a name="asn1-copy-node.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>dst</p></td>
+<td class="parameter_description"><p>Destination asn1 node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dst_name</p></td>
+<td class="parameter_description"><p>Field name in destination node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>Source asn1 node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>src_name</p></td>
+<td class="parameter_description"><p>Field name in source node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-copy-node.returns"></a><h4>Returns</h4>
+<p> Return <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> on success.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-dup-node"></a><h3>asn1_dup_node ()</h3>
+<pre class="programlisting"><a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="returnvalue">asn1_node</span></a>
+asn1_dup_node (<em class="parameter"><code><a class="link" href="libtasn1-libtasn1.html#asn1-node-const" title="asn1_node_const"><span class="type">asn1_node_const</span></a> src</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *src_name</code></em>);</pre>
+<p>Create a deep copy of a asn1_node variable. This function
+will return an exact copy of the provided structure.</p>
+<div class="refsect3">
+<a name="asn1-dup-node.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>src</p></td>
+<td class="parameter_description"><p>Source asn1 node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>src_name</p></td>
+<td class="parameter_description"><p>Field name in source node.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-dup-node.returns"></a><h4>Returns</h4>
+<p> Return <code class="literal">NULL</code> on failure.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-get-tag-der"></a><h3>asn1_get_tag_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_get_tag_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> der_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *cls</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">long</span> *tag</code></em>);</pre>
+<p>Decode the class and TAG from DER code.</p>
+<div class="refsect3">
+<a name="asn1-get-tag-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>DER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>Length of DER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cls</p></td>
+<td class="parameter_description"><p>Output variable containing decoded class.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>len</p></td>
+<td class="parameter_description"><p>Output variable containing the length of the DER TAG data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tag</p></td>
+<td class="parameter_description"><p>Output variable containing the decoded tag (may be <code class="literal">NULL</code>).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-get-tag-der.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> on success, or an error.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-octet-der"></a><h3>asn1_octet_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+asn1_octet_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> str_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *der_len</code></em>);</pre>
+<p>Creates a length-value DER encoding for the input data.
+The DER encoding of the input data will be placed in the <em class="parameter"><code>der</code></em>
+ variable.</p>
+<p>Note that the OCTET STRING tag is not included in the output.</p>
+<p>This function does not return any value because it is expected
+that <em class="parameter"><code>der_len</code></em>
+ will contain enough bytes to store the string
+plus the DER encoding. The DER encoding size can be obtained using
+<a class="link" href="libtasn1-libtasn1.html#asn1-length-der" title="asn1_length_der ()"><code class="function">asn1_length_der()</code></a>.</p>
+<div class="refsect3">
+<a name="asn1-octet-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>the input data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_len</p></td>
+<td class="parameter_description"><p>STR length (str[0]..str[*str_len-1]).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>encoded string returned.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>number of meaningful bytes of DER (der[0]..der[der_len-1]).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-get-octet-der"></a><h3>asn1_get_octet_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_get_octet_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> der_len</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *ret_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> str_size</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *str_len</code></em>);</pre>
+<p>Extract an OCTET SEQUENCE from DER data. Note that this function
+expects the DER data past the tag field, i.e., the length and
+content octets.</p>
+<div class="refsect3">
+<a name="asn1-get-octet-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>DER data to decode containing the OCTET SEQUENCE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>The length of the <em class="parameter"><code>der</code></em>
+data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ret_len</p></td>
+<td class="parameter_description"><p>Output variable containing the encoded length of the DER data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>Pre-allocated output buffer to put decoded OCTET SEQUENCE in.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_size</p></td>
+<td class="parameter_description"><p>Length of pre-allocated output buffer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_len</p></td>
+<td class="parameter_description"><p>Output variable containing the length of the contents of the OCTET SEQUENCE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-get-octet-der.returns"></a><h4>Returns</h4>
+<p> Returns <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> on success, or an error.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-bit-der"></a><h3>asn1_bit_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+asn1_bit_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> bit_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *der_len</code></em>);</pre>
+<p>Creates a length-value DER encoding for the input data
+as it would have been for a BIT STRING.
+The DER encoded data will be copied in <em class="parameter"><code>der</code></em>
+.</p>
+<p>Note that the BIT STRING tag is not included in the output.</p>
+<p>This function does not return any value because it is expected
+that <em class="parameter"><code>der_len</code></em>
+ will contain enough bytes to store the string
+plus the DER encoding. The DER encoding size can be obtained using
+<a class="link" href="libtasn1-libtasn1.html#asn1-length-der" title="asn1_length_der ()"><code class="function">asn1_length_der()</code></a>.</p>
+<div class="refsect3">
+<a name="asn1-bit-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>BIT string.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bit_len</p></td>
+<td class="parameter_description"><p>number of meaningful bits in STR.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>string returned.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>number of meaningful bytes of DER
+(der[0]..der[ans_len-1]).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-get-bit-der"></a><h3>asn1_get_bit_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_get_bit_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> der_len</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *ret_len</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> str_size</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *bit_len</code></em>);</pre>
+<p>Extract a BIT SEQUENCE from DER data.</p>
+<div class="refsect3">
+<a name="asn1-get-bit-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>DER data to decode containing the BIT SEQUENCE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>Length of DER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ret_len</p></td>
+<td class="parameter_description"><p>Output variable containing the length of the DER data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>Pre-allocated output buffer to put decoded BIT SEQUENCE in.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_size</p></td>
+<td class="parameter_description"><p>Length of pre-allocated output buffer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bit_len</p></td>
+<td class="parameter_description"><p>Output variable containing the size of the BIT SEQUENCE.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-get-bit-der.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> on success, or an error.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-get-object-id-der"></a><h3>asn1_get_object_id_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_get_object_id_der (<em class="parameter"><code>const unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> der_len</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *ret_len</code></em>,
+ <em class="parameter"><code><span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code><span class="type">int</span> str_size</code></em>);</pre>
+<p>Converts a DER encoded object identifier to its textual form. This
+function expects the DER object identifier without the tag.</p>
+<div class="refsect3">
+<a name="asn1-get-object-id-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>DER data to decode containing the OBJECT IDENTIFIER</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>Length of DER data to decode.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ret_len</p></td>
+<td class="parameter_description"><p>Output variable containing the length of the DER data.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>Pre-allocated output buffer to put the textual object id in.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>str_size</p></td>
+<td class="parameter_description"><p>Length of pre-allocated output buffer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-get-object-id-der.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> on success, or an error.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-object-id-der"></a><h3>asn1_object_id_der ()</h3>
+<pre class="programlisting"><span class="returnvalue">int</span>
+asn1_object_id_der (<em class="parameter"><code>const <span class="type">char</span> *str</code></em>,
+ <em class="parameter"><code>unsigned <span class="type">char</span> *der</code></em>,
+ <em class="parameter"><code><span class="type">int</span> *der_len</code></em>,
+ <em class="parameter"><code><span class="type">unsigned </span> flags</code></em>);</pre>
+<p>Creates the DER encoding of the provided object identifier.</p>
+<div class="refsect3">
+<a name="asn1-object-id-der.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>str</p></td>
+<td class="parameter_description"><p>An object identifier in numeric, dot format.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der</p></td>
+<td class="parameter_description"><p>buffer to hold the returned encoding (may be <code class="literal">NULL</code>).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>der_len</p></td>
+<td class="parameter_description"><p>initially the size of <em class="parameter"><code>der</code></em>
+; will hold the final size.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>must be zero</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="asn1-object-id-der.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS" title="ASN1_SUCCESS"><code class="literal">ASN1_SUCCESS</code></a> if DER encoding was OK, <a class="link" href="libtasn1-libtasn1.html#ASN1-VALUE-NOT-VALID:CAPS" title="ASN1_VALUE_NOT_VALID"><code class="literal">ASN1_VALUE_NOT_VALID</code></a>
+if <em class="parameter"><code>str</code></em>
+is not a valid OID, <a class="link" href="libtasn1-libtasn1.html#ASN1-MEM-ERROR:CAPS" title="ASN1_MEM_ERROR"><code class="literal">ASN1_MEM_ERROR</code></a> if the <em class="parameter"><code>der</code></em>
+vector isn't big enough and in this case <em class="parameter"><code>der_len</code></em>
+will contain the
+length needed.</p>
+</div>
+</div>
</div>
<div class="refsect1">
<a name="libtasn1-libtasn1.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="ASN1-API:CAPS"></a><h3>ASN1_API</h3>
-<pre class="programlisting">#define ASN1_API __attribute__((__visibility__("default")))
+<pre class="programlisting"># define ASN1_API __attribute__((__visibility__("default")))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-VERSION:CAPS"></a><h3>ASN1_VERSION</h3>
-<pre class="programlisting">#define ASN1_VERSION "4.14"
+<pre class="programlisting"># define ASN1_VERSION "4.19.0"
</pre>
<p>Version of the library as a string.</p>
</div>
<hr>
<div class="refsect2">
+<a name="ASN1-VERSION-MAJOR:CAPS"></a><h3>ASN1_VERSION_MAJOR</h3>
+<pre class="programlisting"># define ASN1_VERSION_MAJOR 4
+</pre>
+<p>Major version number of the library.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-VERSION-MINOR:CAPS"></a><h3>ASN1_VERSION_MINOR</h3>
+<pre class="programlisting"># define ASN1_VERSION_MINOR 19
+</pre>
+<p>Minor version number of the library.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-VERSION-PATCH:CAPS"></a><h3>ASN1_VERSION_PATCH</h3>
+<pre class="programlisting"># define ASN1_VERSION_PATCH 0
+</pre>
+<p>Patch version number of the library.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-VERSION-NUMBER:CAPS"></a><h3>ASN1_VERSION_NUMBER</h3>
+<pre class="programlisting"># define ASN1_VERSION_NUMBER 0x041300
+</pre>
+<p>Version number of the library as a number.</p>
+</div>
+<hr>
+<div class="refsect2">
<a name="ASN1-SUCCESS:CAPS"></a><h3>ASN1_SUCCESS</h3>
-<pre class="programlisting">#define ASN1_SUCCESS 0
+<pre class="programlisting"># define ASN1_SUCCESS 0
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-FILE-NOT-FOUND:CAPS"></a><h3>ASN1_FILE_NOT_FOUND</h3>
-<pre class="programlisting">#define ASN1_FILE_NOT_FOUND 1
+<pre class="programlisting"># define ASN1_FILE_NOT_FOUND 1
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ELEMENT-NOT-FOUND:CAPS"></a><h3>ASN1_ELEMENT_NOT_FOUND</h3>
-<pre class="programlisting">#define ASN1_ELEMENT_NOT_FOUND 2
+<pre class="programlisting"># define ASN1_ELEMENT_NOT_FOUND 2
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-IDENTIFIER-NOT-FOUND:CAPS"></a><h3>ASN1_IDENTIFIER_NOT_FOUND</h3>
-<pre class="programlisting">#define ASN1_IDENTIFIER_NOT_FOUND 3
+<pre class="programlisting"># define ASN1_IDENTIFIER_NOT_FOUND 3
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-DER-ERROR:CAPS"></a><h3>ASN1_DER_ERROR</h3>
-<pre class="programlisting">#define ASN1_DER_ERROR 4
+<pre class="programlisting"># define ASN1_DER_ERROR 4
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-VALUE-NOT-FOUND:CAPS"></a><h3>ASN1_VALUE_NOT_FOUND</h3>
-<pre class="programlisting">#define ASN1_VALUE_NOT_FOUND 5
+<pre class="programlisting"># define ASN1_VALUE_NOT_FOUND 5
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-GENERIC-ERROR:CAPS"></a><h3>ASN1_GENERIC_ERROR</h3>
-<pre class="programlisting">#define ASN1_GENERIC_ERROR 6
+<pre class="programlisting"># define ASN1_GENERIC_ERROR 6
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-VALUE-NOT-VALID:CAPS"></a><h3>ASN1_VALUE_NOT_VALID</h3>
-<pre class="programlisting">#define ASN1_VALUE_NOT_VALID 7
+<pre class="programlisting"># define ASN1_VALUE_NOT_VALID 7
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-ERROR:CAPS"></a><h3>ASN1_TAG_ERROR</h3>
-<pre class="programlisting">#define ASN1_TAG_ERROR 8
+<pre class="programlisting"># define ASN1_TAG_ERROR 8
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-IMPLICIT:CAPS"></a><h3>ASN1_TAG_IMPLICIT</h3>
-<pre class="programlisting">#define ASN1_TAG_IMPLICIT 9
+<pre class="programlisting"># define ASN1_TAG_IMPLICIT 9
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ERROR-TYPE-ANY:CAPS"></a><h3>ASN1_ERROR_TYPE_ANY</h3>
-<pre class="programlisting">#define ASN1_ERROR_TYPE_ANY 10
+<pre class="programlisting"># define ASN1_ERROR_TYPE_ANY 10
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-SYNTAX-ERROR:CAPS"></a><h3>ASN1_SYNTAX_ERROR</h3>
-<pre class="programlisting">#define ASN1_SYNTAX_ERROR 11
+<pre class="programlisting"># define ASN1_SYNTAX_ERROR 11
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-MEM-ERROR:CAPS"></a><h3>ASN1_MEM_ERROR</h3>
-<pre class="programlisting">#define ASN1_MEM_ERROR 12
+<pre class="programlisting"># define ASN1_MEM_ERROR 12
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-MEM-ALLOC-ERROR:CAPS"></a><h3>ASN1_MEM_ALLOC_ERROR</h3>
-<pre class="programlisting">#define ASN1_MEM_ALLOC_ERROR 13
+<pre class="programlisting"># define ASN1_MEM_ALLOC_ERROR 13
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-DER-OVERFLOW:CAPS"></a><h3>ASN1_DER_OVERFLOW</h3>
-<pre class="programlisting">#define ASN1_DER_OVERFLOW 14
+<pre class="programlisting"># define ASN1_DER_OVERFLOW 14
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-NAME-TOO-LONG:CAPS"></a><h3>ASN1_NAME_TOO_LONG</h3>
-<pre class="programlisting">#define ASN1_NAME_TOO_LONG 15
+<pre class="programlisting"># define ASN1_NAME_TOO_LONG 15
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ARRAY-ERROR:CAPS"></a><h3>ASN1_ARRAY_ERROR</h3>
-<pre class="programlisting">#define ASN1_ARRAY_ERROR 16
+<pre class="programlisting"># define ASN1_ARRAY_ERROR 16
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-ELEMENT-NOT-EMPTY:CAPS"></a><h3>ASN1_ELEMENT_NOT_EMPTY</h3>
-<pre class="programlisting">#define ASN1_ELEMENT_NOT_EMPTY 17
+<pre class="programlisting"># define ASN1_ELEMENT_NOT_EMPTY 17
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TIME-ENCODING-ERROR:CAPS"></a><h3>ASN1_TIME_ENCODING_ERROR</h3>
-<pre class="programlisting">#define ASN1_TIME_ENCODING_ERROR 18
+<pre class="programlisting"># define ASN1_TIME_ENCODING_ERROR 18
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-RECURSION:CAPS"></a><h3>ASN1_RECURSION</h3>
+<pre class="programlisting"># define ASN1_RECURSION 19
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-NAME:CAPS"></a><h3>ASN1_PRINT_NAME</h3>
-<pre class="programlisting">#define ASN1_PRINT_NAME 1
+<pre class="programlisting"># define ASN1_PRINT_NAME 1
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-NAME-TYPE:CAPS"></a><h3>ASN1_PRINT_NAME_TYPE</h3>
-<pre class="programlisting">#define ASN1_PRINT_NAME_TYPE 2
+<pre class="programlisting"># define ASN1_PRINT_NAME_TYPE 2
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-NAME-TYPE-VALUE:CAPS"></a><h3>ASN1_PRINT_NAME_TYPE_VALUE</h3>
-<pre class="programlisting">#define ASN1_PRINT_NAME_TYPE_VALUE 3
+<pre class="programlisting"># define ASN1_PRINT_NAME_TYPE_VALUE 3
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-PRINT-ALL:CAPS"></a><h3>ASN1_PRINT_ALL</h3>
-<pre class="programlisting">#define ASN1_PRINT_ALL 4
+<pre class="programlisting"># define ASN1_PRINT_ALL 4
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-UNIVERSAL:CAPS"></a><h3>ASN1_CLASS_UNIVERSAL</h3>
-<pre class="programlisting">#define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */
+<pre class="programlisting"># define ASN1_CLASS_UNIVERSAL 0x00 /* old: 1 */
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-APPLICATION:CAPS"></a><h3>ASN1_CLASS_APPLICATION</h3>
-<pre class="programlisting">#define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */
+<pre class="programlisting"># define ASN1_CLASS_APPLICATION 0x40 /* old: 2 */
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-CONTEXT-SPECIFIC:CAPS"></a><h3>ASN1_CLASS_CONTEXT_SPECIFIC</h3>
-<pre class="programlisting">#define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */
+<pre class="programlisting"># define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-PRIVATE:CAPS"></a><h3>ASN1_CLASS_PRIVATE</h3>
-<pre class="programlisting">#define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */
+<pre class="programlisting"># define ASN1_CLASS_PRIVATE 0xC0 /* old: 4 */
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-CLASS-STRUCTURED:CAPS"></a><h3>ASN1_CLASS_STRUCTURED</h3>
-<pre class="programlisting">#define ASN1_CLASS_STRUCTURED 0x20
+<pre class="programlisting"># define ASN1_CLASS_STRUCTURED 0x20
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-BOOLEAN:CAPS"></a><h3>ASN1_TAG_BOOLEAN</h3>
-<pre class="programlisting">#define ASN1_TAG_BOOLEAN 0x01
+<pre class="programlisting"># define ASN1_TAG_BOOLEAN 0x01
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-INTEGER:CAPS"></a><h3>ASN1_TAG_INTEGER</h3>
-<pre class="programlisting">#define ASN1_TAG_INTEGER 0x02
+<pre class="programlisting"># define ASN1_TAG_INTEGER 0x02
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-SEQUENCE:CAPS"></a><h3>ASN1_TAG_SEQUENCE</h3>
-<pre class="programlisting">#define ASN1_TAG_SEQUENCE 0x10
+<pre class="programlisting"># define ASN1_TAG_SEQUENCE 0x10
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-SET:CAPS"></a><h3>ASN1_TAG_SET</h3>
-<pre class="programlisting">#define ASN1_TAG_SET 0x11
+<pre class="programlisting"># define ASN1_TAG_SET 0x11
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-OCTET-STRING:CAPS"></a><h3>ASN1_TAG_OCTET_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_OCTET_STRING 0x04
+<pre class="programlisting"># define ASN1_TAG_OCTET_STRING 0x04
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-BIT-STRING:CAPS"></a><h3>ASN1_TAG_BIT_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_BIT_STRING 0x03
+<pre class="programlisting"># define ASN1_TAG_BIT_STRING 0x03
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-UTCTime"></a><h3>ASN1_TAG_UTCTime</h3>
-<pre class="programlisting">#define ASN1_TAG_UTCTime 0x17
+<pre class="programlisting"># define ASN1_TAG_UTCTime 0x17
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-GENERALIZEDTime"></a><h3>ASN1_TAG_GENERALIZEDTime</h3>
-<pre class="programlisting">#define ASN1_TAG_GENERALIZEDTime 0x18
+<pre class="programlisting"># define ASN1_TAG_GENERALIZEDTime 0x18
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-OBJECT-ID:CAPS"></a><h3>ASN1_TAG_OBJECT_ID</h3>
-<pre class="programlisting">#define ASN1_TAG_OBJECT_ID 0x06
+<pre class="programlisting"># define ASN1_TAG_OBJECT_ID 0x06
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-ENUMERATED:CAPS"></a><h3>ASN1_TAG_ENUMERATED</h3>
-<pre class="programlisting">#define ASN1_TAG_ENUMERATED 0x0A
+<pre class="programlisting"># define ASN1_TAG_ENUMERATED 0x0A
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-NULL:CAPS"></a><h3>ASN1_TAG_NULL</h3>
-<pre class="programlisting">#define ASN1_TAG_NULL 0x05
+<pre class="programlisting"># define ASN1_TAG_NULL 0x05
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-GENERALSTRING:CAPS"></a><h3>ASN1_TAG_GENERALSTRING</h3>
-<pre class="programlisting">#define ASN1_TAG_GENERALSTRING 0x1B
+<pre class="programlisting"># define ASN1_TAG_GENERALSTRING 0x1B
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-NUMERIC-STRING:CAPS"></a><h3>ASN1_TAG_NUMERIC_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_NUMERIC_STRING 0x12
+<pre class="programlisting"># define ASN1_TAG_NUMERIC_STRING 0x12
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-IA5-STRING:CAPS"></a><h3>ASN1_TAG_IA5_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_IA5_STRING 0x16
+<pre class="programlisting"># define ASN1_TAG_IA5_STRING 0x16
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-TELETEX-STRING:CAPS"></a><h3>ASN1_TAG_TELETEX_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_TELETEX_STRING 0x14
+<pre class="programlisting"># define ASN1_TAG_TELETEX_STRING 0x14
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-PRINTABLE-STRING:CAPS"></a><h3>ASN1_TAG_PRINTABLE_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_PRINTABLE_STRING 0x13
+<pre class="programlisting"># define ASN1_TAG_PRINTABLE_STRING 0x13
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-UNIVERSAL-STRING:CAPS"></a><h3>ASN1_TAG_UNIVERSAL_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_UNIVERSAL_STRING 0x1C
+<pre class="programlisting"># define ASN1_TAG_UNIVERSAL_STRING 0x1C
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-BMP-STRING:CAPS"></a><h3>ASN1_TAG_BMP_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_BMP_STRING 0x1E
+<pre class="programlisting"># define ASN1_TAG_BMP_STRING 0x1E
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-UTF8-STRING:CAPS"></a><h3>ASN1_TAG_UTF8_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_UTF8_STRING 0x0C
+<pre class="programlisting"># define ASN1_TAG_UTF8_STRING 0x0C
</pre>
</div>
<hr>
<div class="refsect2">
<a name="ASN1-TAG-VISIBLE-STRING:CAPS"></a><h3>ASN1_TAG_VISIBLE_STRING</h3>
-<pre class="programlisting">#define ASN1_TAG_VISIBLE_STRING 0x1A
+<pre class="programlisting"># define ASN1_TAG_VISIBLE_STRING 0x1A
</pre>
</div>
<hr>
<div class="refsect2">
<a name="asn1-node-st"></a><h3>asn1_node_st</h3>
-<pre class="programlisting">typedef struct asn1_node_st asn1_node_st;
+<pre class="programlisting"> typedef struct asn1_node_st asn1_node_st;
</pre>
</div>
<hr>
<div class="refsect2">
<a name="asn1-node"></a><h3>asn1_node</h3>
-<pre class="programlisting">typedef asn1_node_st *asn1_node;
+<pre class="programlisting"> typedef asn1_node_st *asn1_node;
</pre>
<p>Structure definition used for the node of the tree
that represents an ASN.1 DEFINITION.</p>
</div>
<hr>
<div class="refsect2">
+<a name="asn1-node-const"></a><h3>asn1_node_const</h3>
+<pre class="programlisting"> typedef const asn1_node_st *asn1_node_const;
+</pre>
+</div>
+<hr>
+<div class="refsect2">
<a name="ASN1-MAX-NAME-SIZE:CAPS"></a><h3>ASN1_MAX_NAME_SIZE</h3>
-<pre class="programlisting">#define ASN1_MAX_NAME_SIZE 64
+<pre class="programlisting"># define ASN1_MAX_NAME_SIZE 64
</pre>
<p>Maximum number of characters of a name
inside a file with ASN1 definitions.</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-INVALID:CAPS"></a><h3>ASN1_ETYPE_INVALID</h3>
+<pre class="programlisting"># define ASN1_ETYPE_INVALID 0
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-CONSTANT:CAPS"></a><h3>ASN1_ETYPE_CONSTANT</h3>
+<pre class="programlisting"># define ASN1_ETYPE_CONSTANT 1
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-IDENTIFIER:CAPS"></a><h3>ASN1_ETYPE_IDENTIFIER</h3>
+<pre class="programlisting"># define ASN1_ETYPE_IDENTIFIER 2
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-INTEGER:CAPS"></a><h3>ASN1_ETYPE_INTEGER</h3>
+<pre class="programlisting"># define ASN1_ETYPE_INTEGER 3
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-BOOLEAN:CAPS"></a><h3>ASN1_ETYPE_BOOLEAN</h3>
+<pre class="programlisting"># define ASN1_ETYPE_BOOLEAN 4
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-SEQUENCE:CAPS"></a><h3>ASN1_ETYPE_SEQUENCE</h3>
+<pre class="programlisting"># define ASN1_ETYPE_SEQUENCE 5
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-BIT-STRING:CAPS"></a><h3>ASN1_ETYPE_BIT_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_BIT_STRING 6
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-OCTET-STRING:CAPS"></a><h3>ASN1_ETYPE_OCTET_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_OCTET_STRING 7
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-TAG:CAPS"></a><h3>ASN1_ETYPE_TAG</h3>
+<pre class="programlisting"># define ASN1_ETYPE_TAG 8
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-DEFAULT:CAPS"></a><h3>ASN1_ETYPE_DEFAULT</h3>
+<pre class="programlisting"># define ASN1_ETYPE_DEFAULT 9
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-SIZE:CAPS"></a><h3>ASN1_ETYPE_SIZE</h3>
+<pre class="programlisting"># define ASN1_ETYPE_SIZE 10
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-SEQUENCE-OF:CAPS"></a><h3>ASN1_ETYPE_SEQUENCE_OF</h3>
+<pre class="programlisting"># define ASN1_ETYPE_SEQUENCE_OF 11
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-OBJECT-ID:CAPS"></a><h3>ASN1_ETYPE_OBJECT_ID</h3>
+<pre class="programlisting"># define ASN1_ETYPE_OBJECT_ID 12
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-ANY:CAPS"></a><h3>ASN1_ETYPE_ANY</h3>
+<pre class="programlisting"># define ASN1_ETYPE_ANY 13
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-SET:CAPS"></a><h3>ASN1_ETYPE_SET</h3>
+<pre class="programlisting"># define ASN1_ETYPE_SET 14
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-SET-OF:CAPS"></a><h3>ASN1_ETYPE_SET_OF</h3>
+<pre class="programlisting"># define ASN1_ETYPE_SET_OF 15
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-DEFINITIONS:CAPS"></a><h3>ASN1_ETYPE_DEFINITIONS</h3>
+<pre class="programlisting"># define ASN1_ETYPE_DEFINITIONS 16
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-CHOICE:CAPS"></a><h3>ASN1_ETYPE_CHOICE</h3>
+<pre class="programlisting"># define ASN1_ETYPE_CHOICE 18
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-IMPORTS:CAPS"></a><h3>ASN1_ETYPE_IMPORTS</h3>
+<pre class="programlisting"># define ASN1_ETYPE_IMPORTS 19
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-NULL:CAPS"></a><h3>ASN1_ETYPE_NULL</h3>
+<pre class="programlisting"># define ASN1_ETYPE_NULL 20
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-ENUMERATED:CAPS"></a><h3>ASN1_ETYPE_ENUMERATED</h3>
+<pre class="programlisting"># define ASN1_ETYPE_ENUMERATED 21
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-GENERALSTRING:CAPS"></a><h3>ASN1_ETYPE_GENERALSTRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_GENERALSTRING 27
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-NUMERIC-STRING:CAPS"></a><h3>ASN1_ETYPE_NUMERIC_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_NUMERIC_STRING 28
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-IA5-STRING:CAPS"></a><h3>ASN1_ETYPE_IA5_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_IA5_STRING 29
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-TELETEX-STRING:CAPS"></a><h3>ASN1_ETYPE_TELETEX_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_TELETEX_STRING 30
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-PRINTABLE-STRING:CAPS"></a><h3>ASN1_ETYPE_PRINTABLE_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_PRINTABLE_STRING 31
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-UNIVERSAL-STRING:CAPS"></a><h3>ASN1_ETYPE_UNIVERSAL_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_UNIVERSAL_STRING 32
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-BMP-STRING:CAPS"></a><h3>ASN1_ETYPE_BMP_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_BMP_STRING 33
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-UTF8-STRING:CAPS"></a><h3>ASN1_ETYPE_UTF8_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_UTF8_STRING 34
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-VISIBLE-STRING:CAPS"></a><h3>ASN1_ETYPE_VISIBLE_STRING</h3>
+<pre class="programlisting"># define ASN1_ETYPE_VISIBLE_STRING 35
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-UTC-TIME:CAPS"></a><h3>ASN1_ETYPE_UTC_TIME</h3>
+<pre class="programlisting"># define ASN1_ETYPE_UTC_TIME 36
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ETYPE-GENERALIZED-TIME:CAPS"></a><h3>ASN1_ETYPE_GENERALIZED_TIME</h3>
+<pre class="programlisting"># define ASN1_ETYPE_GENERALIZED_TIME 37
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-DELETE-FLAG-ZEROIZE:CAPS"></a><h3>ASN1_DELETE_FLAG_ZEROIZE</h3>
+<pre class="programlisting"># define ASN1_DELETE_FLAG_ZEROIZE 1
+</pre>
+<p>Used by: <a class="link" href="libtasn1-libtasn1.html#asn1-delete-structure2" title="asn1_delete_structure2 ()"><code class="function">asn1_delete_structure2()</code></a></p>
+<p>Zeroize values prior to deinitialization.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-DECODE-FLAG-ALLOW-PADDING:CAPS"></a><h3>ASN1_DECODE_FLAG_ALLOW_PADDING</h3>
+<pre class="programlisting"># define ASN1_DECODE_FLAG_ALLOW_PADDING 1
+</pre>
+<p>Used by: <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding2" title="asn1_der_decoding2 ()"><code class="function">asn1_der_decoding2()</code></a></p>
+<p>This flag would allow arbitrary data past the DER data.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-DECODE-FLAG-STRICT-DER:CAPS"></a><h3>ASN1_DECODE_FLAG_STRICT_DER</h3>
+<pre class="programlisting"># define ASN1_DECODE_FLAG_STRICT_DER (1&lt;&lt;1)
+</pre>
+<p>Used by: <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding2" title="asn1_der_decoding2 ()"><code class="function">asn1_der_decoding2()</code></a></p>
+<p>This flag would ensure that no BER decoding takes place.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-DECODE-FLAG-ALLOW-INCORRECT-TIME:CAPS"></a><h3>ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME</h3>
+<pre class="programlisting"># define ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME (1&lt;&lt;2)
+</pre>
+<p>Used by: <a class="link" href="libtasn1-libtasn1.html#asn1-der-decoding2" title="asn1_der_decoding2 ()"><code class="function">asn1_der_decoding2()</code></a></p>
+<p>This flag will tolerate Time encoding errors when in strict DER.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-data-node-st"></a><h3>struct asn1_data_node_st</h3>
+<pre class="programlisting">struct asn1_data_node_st {
+ const char *name; /* Node name */
+ const void *value; /* Node value */
+ unsigned int value_len; /* Node value size */
+ unsigned int type; /* Node value type (ASN1_ETYPE_*) */
+};
+</pre>
+<p>Data node inside a <a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> structure.</p>
+<div class="refsect3">
+<a name="asn1-data-node-st.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p>const <span class="type">char</span> *<em class="structfield"><code><a name="asn1-data-node-st.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>Node name</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>const <span class="type">void</span> *<em class="structfield"><code><a name="asn1-data-node-st.value"></a>value</code></em>;</p></td>
+<td class="struct_member_description"><p>Node value</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="asn1-data-node-st.value-len"></a>value_len</code></em>;</p></td>
+<td class="struct_member_description"><p>Node value size</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p>unsigned <span class="type">int</span> <em class="structfield"><code><a name="asn1-data-node-st.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>Node value type (ASN1_ETYPE_*)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-MAX-ERROR-DESCRIPTION-SIZE:CAPS"></a><h3>ASN1_MAX_ERROR_DESCRIPTION_SIZE</h3>
+<pre class="programlisting"># define ASN1_MAX_ERROR_DESCRIPTION_SIZE 128
+</pre>
+<p>Maximum number of characters
+of a description message
+(null character included).</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-MAX-TAG-SIZE:CAPS"></a><h3>ASN1_MAX_TAG_SIZE</h3>
+<pre class="programlisting"># define ASN1_MAX_TAG_SIZE 4
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-MAX-LENGTH-SIZE:CAPS"></a><h3>ASN1_MAX_LENGTH_SIZE</h3>
+<pre class="programlisting"># define ASN1_MAX_LENGTH_SIZE 9
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-MAX-TL-SIZE:CAPS"></a><h3>ASN1_MAX_TL_SIZE</h3>
+<pre class="programlisting"># define ASN1_MAX_TL_SIZE (ASN1_MAX_TAG_SIZE+ASN1_MAX_LENGTH_SIZE)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-GCC-ATTR-DEPRECATED:CAPS"></a><h3>_ASN1_GCC_ATTR_DEPRECATED</h3>
+<pre class="programlisting"> typedef int asn1_retCode _ASN1_GCC_ATTR_DEPRECATED;
+</pre>
+<div class="warning"><p><code class="literal">_ASN1_GCC_ATTR_DEPRECATED</code> is deprecated and should not be used in newly-written code.</p></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="node-asn-struct"></a><h3>node_asn_struct</h3>
+<pre class="programlisting"># define node_asn_struct _Pragma ("GCC warning \"'node_asn_struct' macro is deprecated, use 'asn1_node' instead.\"") asn1_node_st
+</pre>
+<div class="warning">
+<p><code class="literal">node_asn_struct</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="node-asn"></a><h3>node_asn</h3>
+<pre class="programlisting"># define node_asn _Pragma ("GCC warning \"'node_asn' macro is deprecated, use 'asn1_node' instead.\"") asn1_node_st
+</pre>
+<div class="warning">
+<p><code class="literal">node_asn</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-TYPE:CAPS"></a><h3>ASN1_TYPE</h3>
+<pre class="programlisting"># define ASN1_TYPE _Pragma ("GCC warning \"'ASN1_TYPE' macro is deprecated, use 'asn1_node' instead.\"") asn1_node
+</pre>
+<div class="warning">
+<p><code class="literal">ASN1_TYPE</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="libtasn1-libtasn1.html#asn1-node" title="asn1_node"><span class="type">asn1_node</span></a> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-TYPE-EMPTY:CAPS"></a><h3>ASN1_TYPE_EMPTY</h3>
+<pre class="programlisting"># define ASN1_TYPE_EMPTY _Pragma ("GCC warning \"'ASN1_TYPE_EMPTY' macro is deprecated, use 'NULL' instead.\"") NULL
+</pre>
+<div class="warning">
+<p><code class="literal">ASN1_TYPE_EMPTY</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use NULL instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="static-struct-asn"></a><h3>static_struct_asn</h3>
+<pre class="programlisting"># define static_struct_asn _Pragma ("GCC warning \"'static_struct_asn' macro is deprecated, use 'asn1_static_node_st' instead.\"") asn1_static_node_st
+</pre>
+<div class="warning">
+<p><code class="literal">static_struct_asn</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <span class="type">asn1_static_node</span> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-ARRAY-TYPE:CAPS"></a><h3>ASN1_ARRAY_TYPE</h3>
+<pre class="programlisting"># define ASN1_ARRAY_TYPE _Pragma ("GCC warning \"'ASN1_ARRAY_TYPE' macro is deprecated, use 'asn1_static_node' instead.\"") asn1_static_node
+</pre>
+<div class="warning">
+<p><code class="literal">ASN1_ARRAY_TYPE</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <span class="type">asn1_static_node</span> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="asn1-static-node-t"></a><h3>asn1_static_node_t</h3>
+<pre class="programlisting"># define asn1_static_node_t _Pragma ("GCC warning \"'asn1_static_node_t' macro is deprecated, use 'asn1_static_node' instead.\"") asn1_static_node
+</pre>
+<div class="warning">
+<p><code class="literal">asn1_static_node_t</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <span class="type">asn1_static_node</span> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="node-data-struct"></a><h3>node_data_struct</h3>
+<pre class="programlisting"># define node_data_struct _Pragma ("GCC warning \"'node_data_struct' macro is deprecated, use 'asn1_data_node_st' instead.\"") asn1_data_node_st
+</pre>
+<div class="warning">
+<p><code class="literal">node_data_struct</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="libtasn1-libtasn1.html#asn1-data-node-st" title="struct asn1_data_node_st"><span class="type">asn1_data_node_st</span></a> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ASN1-DATA-NODE:CAPS"></a><h3>ASN1_DATA_NODE</h3>
+<pre class="programlisting"># define ASN1_DATA_NODE _Pragma ("GCC warning \"'asn1_static_node_t' macro is deprecated, use 'asn1_static_node' instead.\"") asn1_data_node_st
+</pre>
+<div class="warning">
+<p><code class="literal">ASN1_DATA_NODE</code> has been deprecated since version 3.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="libtasn1-libtasn1.html#asn1-data-node-st" title="struct asn1_data_node_st"><span class="type">asn1_data_node_st</span></a> instead.</p>
+</div>
+<p>Compat #define.</p>
+</div>
</div>
</div>
<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
+<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html> \ No newline at end of file
diff --git a/doc/reference/html/libtasn1.devhelp2 b/doc/reference/html/libtasn1.devhelp2
index 53e56c1..292e33c 100644
--- a/doc/reference/html/libtasn1.devhelp2
+++ b/doc/reference/html/libtasn1.devhelp2
@@ -4,15 +4,58 @@
<sub name="GNU Libtasn1 API Reference Manual" link="ch01.html">
<sub name="libtasn1" link="libtasn1-libtasn1.html"/>
</sub>
- <sub name="Object Hierarchy" link="object-tree.html"/>
<sub name="API Index" link="api-index-full.html"/>
<sub name="Index of deprecated API" link="deprecated-api-index.html"/>
<sub name="Index of new API in 1.6" link="api-index-1-6.html"/>
<sub name="Index of new API in 2.0" link="api-index-2-0.html"/>
</chapters>
<functions>
+ <keyword type="function" name="asn1_parser2tree ()" link="libtasn1-libtasn1.html#asn1-parser2tree"/>
+ <keyword type="function" name="asn1_parser2array ()" link="libtasn1-libtasn1.html#asn1-parser2array"/>
+ <keyword type="function" name="asn1_array2tree ()" link="libtasn1-libtasn1.html#asn1-array2tree"/>
+ <keyword type="function" name="asn1_print_structure ()" link="libtasn1-libtasn1.html#asn1-print-structure"/>
+ <keyword type="function" name="asn1_create_element ()" link="libtasn1-libtasn1.html#asn1-create-element"/>
+ <keyword type="function" name="asn1_delete_structure ()" link="libtasn1-libtasn1.html#asn1-delete-structure"/>
+ <keyword type="function" name="asn1_delete_structure2 ()" link="libtasn1-libtasn1.html#asn1-delete-structure2"/>
+ <keyword type="function" name="asn1_delete_element ()" link="libtasn1-libtasn1.html#asn1-delete-element"/>
+ <keyword type="function" name="asn1_write_value ()" link="libtasn1-libtasn1.html#asn1-write-value"/>
+ <keyword type="function" name="asn1_read_value ()" link="libtasn1-libtasn1.html#asn1-read-value"/>
+ <keyword type="function" name="asn1_read_value_type ()" link="libtasn1-libtasn1.html#asn1-read-value-type"/>
+ <keyword type="function" name="asn1_read_node_value ()" link="libtasn1-libtasn1.html#asn1-read-node-value"/>
+ <keyword type="function" name="asn1_number_of_elements ()" link="libtasn1-libtasn1.html#asn1-number-of-elements"/>
+ <keyword type="function" name="asn1_der_coding ()" link="libtasn1-libtasn1.html#asn1-der-coding"/>
+ <keyword type="function" name="asn1_der_decoding2 ()" link="libtasn1-libtasn1.html#asn1-der-decoding2"/>
+ <keyword type="function" name="asn1_der_decoding ()" link="libtasn1-libtasn1.html#asn1-der-decoding"/>
+ <keyword type="function" name="asn1_der_decoding_element ()" link="libtasn1-libtasn1.html#asn1-der-decoding-element" deprecated=""/>
+ <keyword type="function" name="asn1_der_decoding_startEnd ()" link="libtasn1-libtasn1.html#asn1-der-decoding-startEnd"/>
+ <keyword type="function" name="asn1_expand_any_defined_by ()" link="libtasn1-libtasn1.html#asn1-expand-any-defined-by"/>
+ <keyword type="function" name="asn1_expand_octet_string ()" link="libtasn1-libtasn1.html#asn1-expand-octet-string"/>
+ <keyword type="function" name="asn1_read_tag ()" link="libtasn1-libtasn1.html#asn1-read-tag"/>
+ <keyword type="function" name="asn1_find_structure_from_oid ()" link="libtasn1-libtasn1.html#asn1-find-structure-from-oid"/>
+ <keyword type="function" name="asn1_check_version ()" link="libtasn1-libtasn1.html#asn1-check-version"/>
+ <keyword type="function" name="asn1_perror ()" link="libtasn1-libtasn1.html#asn1-perror" since="1.6"/>
+ <keyword type="function" name="asn1_get_length_der ()" link="libtasn1-libtasn1.html#asn1-get-length-der"/>
+ <keyword type="function" name="asn1_get_length_ber ()" link="libtasn1-libtasn1.html#asn1-get-length-ber" since="2.0"/>
+ <keyword type="function" name="asn1_length_der ()" link="libtasn1-libtasn1.html#asn1-length-der"/>
+ <keyword type="function" name="asn1_decode_simple_der ()" link="libtasn1-libtasn1.html#asn1-decode-simple-der"/>
+ <keyword type="function" name="asn1_decode_simple_ber ()" link="libtasn1-libtasn1.html#asn1-decode-simple-ber"/>
+ <keyword type="function" name="asn1_encode_simple_der ()" link="libtasn1-libtasn1.html#asn1-encode-simple-der"/>
+ <keyword type="function" name="asn1_find_node ()" link="libtasn1-libtasn1.html#asn1-find-node"/>
+ <keyword type="function" name="asn1_copy_node ()" link="libtasn1-libtasn1.html#asn1-copy-node"/>
+ <keyword type="function" name="asn1_dup_node ()" link="libtasn1-libtasn1.html#asn1-dup-node"/>
+ <keyword type="function" name="asn1_get_tag_der ()" link="libtasn1-libtasn1.html#asn1-get-tag-der"/>
+ <keyword type="function" name="asn1_octet_der ()" link="libtasn1-libtasn1.html#asn1-octet-der"/>
+ <keyword type="function" name="asn1_get_octet_der ()" link="libtasn1-libtasn1.html#asn1-get-octet-der"/>
+ <keyword type="function" name="asn1_bit_der ()" link="libtasn1-libtasn1.html#asn1-bit-der"/>
+ <keyword type="function" name="asn1_get_bit_der ()" link="libtasn1-libtasn1.html#asn1-get-bit-der"/>
+ <keyword type="function" name="asn1_get_object_id_der ()" link="libtasn1-libtasn1.html#asn1-get-object-id-der"/>
+ <keyword type="function" name="asn1_object_id_der ()" link="libtasn1-libtasn1.html#asn1-object-id-der"/>
<keyword type="macro" name="ASN1_API" link="libtasn1-libtasn1.html#ASN1-API:CAPS"/>
<keyword type="macro" name="ASN1_VERSION" link="libtasn1-libtasn1.html#ASN1-VERSION:CAPS"/>
+ <keyword type="macro" name="ASN1_VERSION_MAJOR" link="libtasn1-libtasn1.html#ASN1-VERSION-MAJOR:CAPS"/>
+ <keyword type="macro" name="ASN1_VERSION_MINOR" link="libtasn1-libtasn1.html#ASN1-VERSION-MINOR:CAPS"/>
+ <keyword type="macro" name="ASN1_VERSION_PATCH" link="libtasn1-libtasn1.html#ASN1-VERSION-PATCH:CAPS"/>
+ <keyword type="macro" name="ASN1_VERSION_NUMBER" link="libtasn1-libtasn1.html#ASN1-VERSION-NUMBER:CAPS"/>
<keyword type="macro" name="ASN1_SUCCESS" link="libtasn1-libtasn1.html#ASN1-SUCCESS:CAPS"/>
<keyword type="macro" name="ASN1_FILE_NOT_FOUND" link="libtasn1-libtasn1.html#ASN1-FILE-NOT-FOUND:CAPS"/>
<keyword type="macro" name="ASN1_ELEMENT_NOT_FOUND" link="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-FOUND:CAPS"/>
@@ -32,6 +75,7 @@
<keyword type="macro" name="ASN1_ARRAY_ERROR" link="libtasn1-libtasn1.html#ASN1-ARRAY-ERROR:CAPS"/>
<keyword type="macro" name="ASN1_ELEMENT_NOT_EMPTY" link="libtasn1-libtasn1.html#ASN1-ELEMENT-NOT-EMPTY:CAPS"/>
<keyword type="macro" name="ASN1_TIME_ENCODING_ERROR" link="libtasn1-libtasn1.html#ASN1-TIME-ENCODING-ERROR:CAPS"/>
+ <keyword type="macro" name="ASN1_RECURSION" link="libtasn1-libtasn1.html#ASN1-RECURSION:CAPS"/>
<keyword type="macro" name="ASN1_PRINT_NAME" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME:CAPS"/>
<keyword type="macro" name="ASN1_PRINT_NAME_TYPE" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE:CAPS"/>
<keyword type="macro" name="ASN1_PRINT_NAME_TYPE_VALUE" link="libtasn1-libtasn1.html#ASN1-PRINT-NAME-TYPE-VALUE:CAPS"/>
@@ -63,6 +107,62 @@
<keyword type="macro" name="ASN1_TAG_VISIBLE_STRING" link="libtasn1-libtasn1.html#ASN1-TAG-VISIBLE-STRING:CAPS"/>
<keyword type="typedef" name="asn1_node_st" link="libtasn1-libtasn1.html#asn1-node-st"/>
<keyword type="typedef" name="asn1_node" link="libtasn1-libtasn1.html#asn1-node"/>
+ <keyword type="typedef" name="asn1_node_const" link="libtasn1-libtasn1.html#asn1-node-const"/>
<keyword type="macro" name="ASN1_MAX_NAME_SIZE" link="libtasn1-libtasn1.html#ASN1-MAX-NAME-SIZE:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_INVALID" link="libtasn1-libtasn1.html#ASN1-ETYPE-INVALID:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_CONSTANT" link="libtasn1-libtasn1.html#ASN1-ETYPE-CONSTANT:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_IDENTIFIER" link="libtasn1-libtasn1.html#ASN1-ETYPE-IDENTIFIER:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_INTEGER" link="libtasn1-libtasn1.html#ASN1-ETYPE-INTEGER:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_BOOLEAN" link="libtasn1-libtasn1.html#ASN1-ETYPE-BOOLEAN:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_SEQUENCE" link="libtasn1-libtasn1.html#ASN1-ETYPE-SEQUENCE:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_BIT_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-BIT-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_OCTET_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-OCTET-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_TAG" link="libtasn1-libtasn1.html#ASN1-ETYPE-TAG:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_DEFAULT" link="libtasn1-libtasn1.html#ASN1-ETYPE-DEFAULT:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_SIZE" link="libtasn1-libtasn1.html#ASN1-ETYPE-SIZE:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_SEQUENCE_OF" link="libtasn1-libtasn1.html#ASN1-ETYPE-SEQUENCE-OF:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_OBJECT_ID" link="libtasn1-libtasn1.html#ASN1-ETYPE-OBJECT-ID:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_ANY" link="libtasn1-libtasn1.html#ASN1-ETYPE-ANY:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_SET" link="libtasn1-libtasn1.html#ASN1-ETYPE-SET:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_SET_OF" link="libtasn1-libtasn1.html#ASN1-ETYPE-SET-OF:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_DEFINITIONS" link="libtasn1-libtasn1.html#ASN1-ETYPE-DEFINITIONS:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_CHOICE" link="libtasn1-libtasn1.html#ASN1-ETYPE-CHOICE:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_IMPORTS" link="libtasn1-libtasn1.html#ASN1-ETYPE-IMPORTS:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_NULL" link="libtasn1-libtasn1.html#ASN1-ETYPE-NULL:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_ENUMERATED" link="libtasn1-libtasn1.html#ASN1-ETYPE-ENUMERATED:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_GENERALSTRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-GENERALSTRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_NUMERIC_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-NUMERIC-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_IA5_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-IA5-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_TELETEX_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-TELETEX-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_PRINTABLE_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-PRINTABLE-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_UNIVERSAL_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-UNIVERSAL-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_BMP_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-BMP-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_UTF8_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-UTF8-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_VISIBLE_STRING" link="libtasn1-libtasn1.html#ASN1-ETYPE-VISIBLE-STRING:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_UTC_TIME" link="libtasn1-libtasn1.html#ASN1-ETYPE-UTC-TIME:CAPS"/>
+ <keyword type="macro" name="ASN1_ETYPE_GENERALIZED_TIME" link="libtasn1-libtasn1.html#ASN1-ETYPE-GENERALIZED-TIME:CAPS"/>
+ <keyword type="macro" name="ASN1_DELETE_FLAG_ZEROIZE" link="libtasn1-libtasn1.html#ASN1-DELETE-FLAG-ZEROIZE:CAPS"/>
+ <keyword type="macro" name="ASN1_DECODE_FLAG_ALLOW_PADDING" link="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-PADDING:CAPS"/>
+ <keyword type="macro" name="ASN1_DECODE_FLAG_STRICT_DER" link="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-STRICT-DER:CAPS"/>
+ <keyword type="macro" name="ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME" link="libtasn1-libtasn1.html#ASN1-DECODE-FLAG-ALLOW-INCORRECT-TIME:CAPS"/>
+ <keyword type="struct" name="struct asn1_data_node_st" link="libtasn1-libtasn1.html#asn1-data-node-st"/>
+ <keyword type="macro" name="ASN1_MAX_ERROR_DESCRIPTION_SIZE" link="libtasn1-libtasn1.html#ASN1-MAX-ERROR-DESCRIPTION-SIZE:CAPS"/>
+ <keyword type="macro" name="ASN1_MAX_TAG_SIZE" link="libtasn1-libtasn1.html#ASN1-MAX-TAG-SIZE:CAPS"/>
+ <keyword type="macro" name="ASN1_MAX_LENGTH_SIZE" link="libtasn1-libtasn1.html#ASN1-MAX-LENGTH-SIZE:CAPS"/>
+ <keyword type="macro" name="ASN1_MAX_TL_SIZE" link="libtasn1-libtasn1.html#ASN1-MAX-TL-SIZE:CAPS"/>
+ <keyword type="typedef" name="_ASN1_GCC_ATTR_DEPRECATED" link="libtasn1-libtasn1.html#ASN1-GCC-ATTR-DEPRECATED:CAPS" deprecated=""/>
+ <keyword type="macro" name="node_asn_struct" link="libtasn1-libtasn1.html#node-asn-struct" deprecated="3.0: Use #asn1_node instead."/>
+ <keyword type="macro" name="node_asn" link="libtasn1-libtasn1.html#node-asn" deprecated="3.0: Use #asn1_node instead."/>
+ <keyword type="macro" name="ASN1_TYPE" link="libtasn1-libtasn1.html#ASN1-TYPE:CAPS" deprecated="3.0: Use #asn1_node instead."/>
+ <keyword type="macro" name="ASN1_TYPE_EMPTY" link="libtasn1-libtasn1.html#ASN1-TYPE-EMPTY:CAPS" deprecated="3.0: Use NULL instead."/>
+ <keyword type="macro" name="static_struct_asn" link="libtasn1-libtasn1.html#static-struct-asn" deprecated="3.0: Use #asn1_static_node instead."/>
+ <keyword type="macro" name="ASN1_ARRAY_TYPE" link="libtasn1-libtasn1.html#ASN1-ARRAY-TYPE:CAPS" deprecated="3.0: Use #asn1_static_node instead."/>
+ <keyword type="macro" name="asn1_static_node_t" link="libtasn1-libtasn1.html#asn1-static-node-t" deprecated="3.0: Use #asn1_static_node instead."/>
+ <keyword type="macro" name="node_data_struct" link="libtasn1-libtasn1.html#node-data-struct" deprecated="3.0: Use #asn1_data_node_st instead."/>
+ <keyword type="macro" name="ASN1_DATA_NODE" link="libtasn1-libtasn1.html#ASN1-DATA-NODE:CAPS" deprecated="3.0: Use #asn1_data_node_st instead."/>
+ <keyword type="member" name="asn1-data-node-st.name" link="libtasn1-libtasn1.html#asn1-data-node-st.name"/>
+ <keyword type="member" name="asn1-data-node-st.value" link="libtasn1-libtasn1.html#asn1-data-node-st.value"/>
+ <keyword type="member" name="asn1-data-node-st.value-len" link="libtasn1-libtasn1.html#asn1-data-node-st.value-len"/>
+ <keyword type="member" name="asn1-data-node-st.type" link="libtasn1-libtasn1.html#asn1-data-node-st.type"/>
</functions>
</book>
diff --git a/doc/reference/html/object-tree.html b/doc/reference/html/object-tree.html
deleted file mode 100644
index cc68dfa..0000000
--- a/doc/reference/html/object-tree.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Object Hierarchy: GNU Libtasn1 Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
-<link rel="home" href="index.html" title="GNU Libtasn1 Reference Manual">
-<link rel="up" href="index.html" title="GNU Libtasn1 Reference Manual">
-<link rel="prev" href="libtasn1-libtasn1.html" title="libtasn1">
-<link rel="next" href="api-index-full.html" title="API Index">
-<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts"></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
-<td><a accesskey="p" href="libtasn1-libtasn1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="chapter">
-<div class="titlepage"><div><div><h1 class="title">
-<a name="object-tree"></a>Object Hierarchy</h1></div></div></div>
-<pre class="screen">
-
-</pre>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.28</div>
-</body>
-</html> \ No newline at end of file
diff --git a/doc/reference/html/right-insensitive.png b/doc/reference/html/right-insensitive.png
index ef7d866..763208d 100644
--- a/doc/reference/html/right-insensitive.png
+++ b/doc/reference/html/right-insensitive.png
Binary files differ
diff --git a/doc/reference/html/right.png b/doc/reference/html/right.png
index 07fefed..eb90dd4 100644
--- a/doc/reference/html/right.png
+++ b/doc/reference/html/right.png
Binary files differ
diff --git a/doc/reference/html/style.css b/doc/reference/html/style.css
index 4be4ede..41781ba 100644
--- a/doc/reference/html/style.css
+++ b/doc/reference/html/style.css
@@ -61,18 +61,6 @@ a:hover
color: #729fcf;
}
-div.informaltable table
-{
- border-collapse: separate;
- border-spacing: 1em 0.3em;
- border: none;
-}
-
-div.informaltable table td, div.informaltable table th
-{
- vertical-align: top;
-}
-
.function_type,
.variable_type,
.property_type,
@@ -127,6 +115,7 @@ td p
margin: 0.25em;
}
+div.informaltable table[border="1"],
div.table table
{
border-collapse: collapse;
@@ -135,6 +124,8 @@ div.table table
border: solid 1px #babdb6;
}
+div.informaltable table[border="1"] td,
+div.informaltable table th,
div.table table td, div.table table th
{
/* tango:aluminium 3 */
@@ -143,6 +134,7 @@ div.table table td, div.table table th
vertical-align: top;
}
+div.informaltable table[border="1"] th,
div.table table th
{
/* tango:aluminium 2 */
@@ -293,29 +285,11 @@ h2 .extralinks, h3 .extralinks
font-weight: normal;
}
-acronym,abbr
+acronym,abbr
{
border-bottom: 1px dotted gray;
}
-/* code listings */
-
-.listing_code .programlisting .normal,
-.listing_code .programlisting .normal a,
-.listing_code .programlisting .number,
-.listing_code .programlisting .cbracket,
-.listing_code .programlisting .symbol { color: #555753; }
-.listing_code .programlisting .comment,
-.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
-.listing_code .programlisting .function,
-.listing_code .programlisting .function a,
-.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
-.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
-.listing_code .programlisting .keyword,
-.listing_code .programlisting .usertype,
-.listing_code .programlisting .type,
-.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
-
.listing_frame {
/* tango:sky blue 1 */
border: solid 1px #729fcf;
@@ -481,3 +455,76 @@ acronym,abbr
}
}
+pre { line-height: 125%; margin: 0; }
+td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
+span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
+td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
+.hll { background-color: #ffffcc }
+.c { color: #408080; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666666 } /* Operator */
+.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
+.cm { color: #408080; font-style: italic } /* Comment.Multiline */
+.cp { color: #BC7A00 } /* Comment.Preproc */
+.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
+.c1 { color: #408080; font-style: italic } /* Comment.Single */
+.cs { color: #408080; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #888888 } /* Generic.Output */
+.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0044DD } /* Generic.Traceback */
+.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #7D9029 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.no { color: #880000 } /* Name.Constant */
+.nd { color: #AA22FF } /* Name.Decorator */
+.ni { color: #999999; font-weight: bold } /* Name.Entity */
+.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.nf { color: #0000FF } /* Name.Function */
+.nl { color: #A0A000 } /* Name.Label */
+.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* Name.Variable */
+.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mb { color: #666666 } /* Literal.Number.Bin */
+.mf { color: #666666 } /* Literal.Number.Float */
+.mh { color: #666666 } /* Literal.Number.Hex */
+.mi { color: #666666 } /* Literal.Number.Integer */
+.mo { color: #666666 } /* Literal.Number.Oct */
+.sa { color: #BA2121 } /* Literal.String.Affix */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.dl { color: #BA2121 } /* Literal.String.Delimiter */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #BB6688 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.fm { color: #0000FF } /* Name.Function.Magic */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.vm { color: #19177C } /* Name.Variable.Magic */
+.il { color: #666666 } /* Literal.Number.Integer.Long */ \ No newline at end of file
diff --git a/doc/reference/html/up-insensitive.png b/doc/reference/html/up-insensitive.png
index 99528f8..478700c 100644
--- a/doc/reference/html/up-insensitive.png
+++ b/doc/reference/html/up-insensitive.png
Binary files differ
diff --git a/doc/reference/html/up.png b/doc/reference/html/up.png
index aa6a2ae..636d50d 100644
--- a/doc/reference/html/up.png
+++ b/doc/reference/html/up.png
Binary files differ