summaryrefslogtreecommitdiff
path: root/doc/reference
diff options
context:
space:
mode:
Diffstat (limited to 'doc/reference')
-rw-r--r--doc/reference/Makefile.am25
-rw-r--r--doc/reference/Makefile.in1105
-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
-rw-r--r--doc/reference/libtasn1-docs.xml13
-rw-r--r--doc/reference/libtasn1-sections.txt97
-rw-r--r--doc/reference/libtasn1.types0
22 files changed, 5007 insertions, 280 deletions
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
index ef6bf98..7c2dfb8 100644
--- a/doc/reference/Makefile.am
+++ b/doc/reference/Makefile.am
@@ -42,14 +42,14 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# gtk-doc will search all .c and .h files beneath these paths
# for inline comments documenting functions and macros.
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
-DOC_SOURCE_DIR=$(top_srcdir)/lib
+DOC_SOURCE_DIR=$(top_srcdir)/lib $(top_builddir)/lib
# Extra options to pass to gtkdoc-scangobj. Normally not needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
-SCAN_OPTIONS=--ignore-decorators=ASN1_API
+SCAN_OPTIONS=--ignore-decorators=ASN1_API --deprecated-guards="ASN1_DISABLE_DEPRECATED"
# Extra options to supply to gtkdoc-mkdb
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
@@ -65,7 +65,7 @@ FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/lib/*.h
+HFILE_GLOB=$(top_srcdir)/lib/*.h $(top_builddir)/lib/includes/libtasn1.h
CFILE_GLOB=$(top_srcdir)/lib/*.c
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
@@ -74,7 +74,7 @@ EXTRA_HFILES=
# Header files or dirs to ignore when scanning. Use base file/dir names
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
-IGNORE_HFILES=element.h gstr.h int.h parser_aux.h structure.h gllib
+IGNORE_HFILES=element.h gstr.h int.h parser_aux.h structure.h gl
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
@@ -84,7 +84,7 @@ HTML_IMAGES=
# e.g. content_files=running.xml building.xml changes-2.0.xml
content_files=
-# Files where gtk-doc abbrevations (#GtkWidget) are expanded
+# Files where gtk-doc abbreviations (#GtkWidget) are expanded
# e.g. expand_content_files=running.xml
expand_content_files=
@@ -109,3 +109,18 @@ TESTS_ENVIRONMENT = \
endif
-include $(top_srcdir)/git.mk
+
+html-build.stamp: $(top_builddir)/.version
+pdf-build.stamp: $(top_builddir)/.version
+
+CLEANFILES ?=
+CLEANFILES += $(PACKAGE)-overrides.txt
+CLEANFILES += $(PACKAGE)-decl.txt $(PACKAGE)-decl-list.txt
+CLEANFILES += $(PACKAGE)-sections.txt $(PACKAGE).pdf
+
+clean-local: clean-local-junk
+.PHONY: clean-local-junk
+clean-local-junk:
+ -rm -rf xml html tmpl
+
+dist-hook-local: all-local
diff --git a/doc/reference/Makefile.in b/doc/reference/Makefile.in
index 4bdd9b2..4adb258 100644
--- a/doc/reference/Makefile.in
+++ b/doc/reference/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.5 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -144,36 +144,85 @@ build_triplet = @build@
host_triplet = @host@
subdir = doc/reference
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/src/gl/m4/alloca.m4 \
+ $(top_srcdir)/src/gl/m4/clock_time.m4 \
+ $(top_srcdir)/src/gl/m4/close.m4 \
+ $(top_srcdir)/src/gl/m4/dup2.m4 \
+ $(top_srcdir)/src/gl/m4/eealloc.m4 \
+ $(top_srcdir)/src/gl/m4/errno_h.m4 \
+ $(top_srcdir)/src/gl/m4/explicit_bzero.m4 \
+ $(top_srcdir)/src/gl/m4/fcntl-o.m4 \
+ $(top_srcdir)/src/gl/m4/fcntl.m4 \
+ $(top_srcdir)/src/gl/m4/fcntl_h.m4 \
+ $(top_srcdir)/src/gl/m4/fopen.m4 \
+ $(top_srcdir)/src/gl/m4/free.m4 \
+ $(top_srcdir)/src/gl/m4/fseeko.m4 \
+ $(top_srcdir)/src/gl/m4/fstat.m4 \
+ $(top_srcdir)/src/gl/m4/ftell.m4 \
+ $(top_srcdir)/src/gl/m4/ftello.m4 \
+ $(top_srcdir)/src/gl/m4/getdtablesize.m4 \
+ $(top_srcdir)/src/gl/m4/getopt.m4 \
+ $(top_srcdir)/src/gl/m4/gettime.m4 \
+ $(top_srcdir)/src/gl/m4/gettimeofday.m4 \
+ $(top_srcdir)/src/gl/m4/gnulib-comp.m4 \
+ $(top_srcdir)/src/gl/m4/inttypes.m4 \
+ $(top_srcdir)/src/gl/m4/largefile.m4 \
+ $(top_srcdir)/src/gl/m4/lseek.m4 \
+ $(top_srcdir)/src/gl/m4/malloc.m4 \
+ $(top_srcdir)/src/gl/m4/malloca.m4 \
+ $(top_srcdir)/src/gl/m4/mode_t.m4 \
+ $(top_srcdir)/src/gl/m4/msvc-inval.m4 \
+ $(top_srcdir)/src/gl/m4/msvc-nothrow.m4 \
+ $(top_srcdir)/src/gl/m4/nocrash.m4 \
+ $(top_srcdir)/src/gl/m4/open-cloexec.m4 \
+ $(top_srcdir)/src/gl/m4/open-slash.m4 \
+ $(top_srcdir)/src/gl/m4/open.m4 \
+ $(top_srcdir)/src/gl/m4/pathmax.m4 \
+ $(top_srcdir)/src/gl/m4/read-file.m4 \
+ $(top_srcdir)/src/gl/m4/realloc.m4 \
+ $(top_srcdir)/src/gl/m4/stat-time.m4 \
+ $(top_srcdir)/src/gl/m4/stat.m4 \
+ $(top_srcdir)/src/gl/m4/stdarg.m4 \
+ $(top_srcdir)/src/gl/m4/stdio_h.m4 \
+ $(top_srcdir)/src/gl/m4/sys_socket_h.m4 \
+ $(top_srcdir)/src/gl/m4/sys_stat_h.m4 \
+ $(top_srcdir)/src/gl/m4/sys_time_h.m4 \
+ $(top_srcdir)/src/gl/m4/time_h.m4 \
+ $(top_srcdir)/src/gl/m4/timespec.m4 \
+ $(top_srcdir)/src/gl/m4/ungetc.m4 \
+ $(top_srcdir)/src/gl/m4/version-etc.m4 \
+ $(top_srcdir)/src/gl/m4/wchar_h.m4 \
+ $(top_srcdir)/src/gl/m4/year2038.m4 \
+ $(top_srcdir)/m4/00gnulib.m4 $(top_srcdir)/m4/__inline.m4 \
+ $(top_srcdir)/m4/absolute-header.m4 \
+ $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
$(top_srcdir)/m4/ax_ac_print_to_file.m4 \
$(top_srcdir)/m4/ax_add_am_macro_static.m4 \
$(top_srcdir)/m4/ax_am_macros_static.m4 \
$(top_srcdir)/m4/ax_check_gnu_make.m4 \
$(top_srcdir)/m4/ax_code_coverage.m4 \
$(top_srcdir)/m4/ax_file_escapes.m4 \
- $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/extensions.m4 \
+ $(top_srcdir)/m4/extern-inline.m4 \
+ $(top_srcdir)/m4/gnulib-common.m4 \
+ $(top_srcdir)/m4/gnulib-comp.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/include_next.m4 \
+ $(top_srcdir)/m4/ld-output-def.m4 \
+ $(top_srcdir)/m4/ld-version-script.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/limits-h.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4-gl/00gnulib.m4 \
- $(top_srcdir)/m4-gl/__inline.m4 \
- $(top_srcdir)/m4-gl/absolute-header.m4 \
- $(top_srcdir)/m4-gl/extensions.m4 \
- $(top_srcdir)/m4-gl/extern-inline.m4 \
- $(top_srcdir)/m4-gl/gnulib-common.m4 \
- $(top_srcdir)/m4-gl/gnulib-comp.m4 \
- $(top_srcdir)/m4-gl/include_next.m4 \
- $(top_srcdir)/m4-gl/ld-version-script.m4 \
- $(top_srcdir)/m4-gl/limits-h.m4 \
- $(top_srcdir)/m4-gl/longlong.m4 $(top_srcdir)/m4-gl/minmax.m4 \
- $(top_srcdir)/m4-gl/multiarch.m4 $(top_srcdir)/m4-gl/off_t.m4 \
- $(top_srcdir)/m4-gl/ssize_t.m4 $(top_srcdir)/m4-gl/stddef_h.m4 \
- $(top_srcdir)/m4-gl/stdint.m4 $(top_srcdir)/m4-gl/string_h.m4 \
- $(top_srcdir)/m4-gl/strverscmp.m4 \
- $(top_srcdir)/m4-gl/sys_types_h.m4 \
- $(top_srcdir)/m4-gl/valgrind-tests.m4 \
- $(top_srcdir)/m4-gl/visibility.m4 \
- $(top_srcdir)/m4-gl/warn-on-use.m4 \
- $(top_srcdir)/m4-gl/wchar_t.m4 $(top_srcdir)/m4-gl/wint_t.m4 \
+ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/minmax.m4 \
+ $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/off_t.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/ssize_t.m4 \
+ $(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
+ $(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdlib_h.m4 \
+ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strverscmp.m4 \
+ $(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
+ $(top_srcdir)/m4/valgrind-tests.m4 \
+ $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/warn-on-use.m4 \
+ $(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_t.m4 \
+ $(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/zzgnulib.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@ -205,16 +254,15 @@ am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/gtk-doc.make
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AM_VALGRINDFLAGS = @AM_VALGRINDFLAGS@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARFLAGS = @ARFLAGS@
AS = @AS@
-ASN1_VERSION_MAJOR = @ASN1_VERSION_MAJOR@
-ASN1_VERSION_MINOR = @ASN1_VERSION_MINOR@
-ASN1_VERSION_NUMBER = @ASN1_VERSION_NUMBER@
-ASN1_VERSION_PATCH = @ASN1_VERSION_PATCH@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -236,7 +284,10 @@ CODE_COVERAGE_LIBS = @CODE_COVERAGE_LIBS@
CONFIG_INCLUDE = @CONFIG_INCLUDE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
+DEFAULT_VALGRINDFLAGS = @DEFAULT_VALGRINDFLAGS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
@@ -246,49 +297,523 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
+FUZZ_LIBS = @FUZZ_LIBS@
GCOV = @GCOV@
GENHTML = @GENHTML@
-GNULIB_EXPLICIT_BZERO = @GNULIB_EXPLICIT_BZERO@
-GNULIB_FFSL = @GNULIB_FFSL@
-GNULIB_FFSLL = @GNULIB_FFSLL@
-GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
-GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
-GNULIB_MBSCHR = @GNULIB_MBSCHR@
-GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
-GNULIB_MBSLEN = @GNULIB_MBSLEN@
-GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
-GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
-GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
-GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
-GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
-GNULIB_MBSSEP = @GNULIB_MBSSEP@
-GNULIB_MBSSPN = @GNULIB_MBSSPN@
-GNULIB_MBSSTR = @GNULIB_MBSSTR@
-GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
-GNULIB_MEMCHR = @GNULIB_MEMCHR@
-GNULIB_MEMMEM = @GNULIB_MEMMEM@
-GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
-GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
-GNULIB_OVERRIDES_WINT_T = @GNULIB_OVERRIDES_WINT_T@
-GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
-GNULIB_STPCPY = @GNULIB_STPCPY@
-GNULIB_STPNCPY = @GNULIB_STPNCPY@
-GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
-GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
-GNULIB_STRDUP = @GNULIB_STRDUP@
-GNULIB_STRERROR = @GNULIB_STRERROR@
-GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
-GNULIB_STRNCAT = @GNULIB_STRNCAT@
-GNULIB_STRNDUP = @GNULIB_STRNDUP@
-GNULIB_STRNLEN = @GNULIB_STRNLEN@
-GNULIB_STRPBRK = @GNULIB_STRPBRK@
-GNULIB_STRSEP = @GNULIB_STRSEP@
-GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
-GNULIB_STRSTR = @GNULIB_STRSTR@
-GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
-GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
+GETOPT_H = @GETOPT_H@
+GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
+GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
+GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
+GL_GNULIB_ALIGNED_ALLOC = @GL_GNULIB_ALIGNED_ALLOC@
+GL_GNULIB_ATOLL = @GL_GNULIB_ATOLL@
+GL_GNULIB_CALLOC_GNU = @GL_GNULIB_CALLOC_GNU@
+GL_GNULIB_CALLOC_POSIX = @GL_GNULIB_CALLOC_POSIX@
+GL_GNULIB_CANONICALIZE_FILE_NAME = @GL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_GNULIB_CHDIR = @GL_GNULIB_CHDIR@
+GL_GNULIB_CHOWN = @GL_GNULIB_CHOWN@
+GL_GNULIB_CLOSE = @GL_GNULIB_CLOSE@
+GL_GNULIB_COPY_FILE_RANGE = @GL_GNULIB_COPY_FILE_RANGE@
+GL_GNULIB_DUP = @GL_GNULIB_DUP@
+GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
+GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
+GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
+GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
+GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
+GL_GNULIB_EXECLE = @GL_GNULIB_EXECLE@
+GL_GNULIB_EXECLP = @GL_GNULIB_EXECLP@
+GL_GNULIB_EXECV = @GL_GNULIB_EXECV@
+GL_GNULIB_EXECVE = @GL_GNULIB_EXECVE@
+GL_GNULIB_EXECVP = @GL_GNULIB_EXECVP@
+GL_GNULIB_EXECVPE = @GL_GNULIB_EXECVPE@
+GL_GNULIB_EXPLICIT_BZERO = @GL_GNULIB_EXPLICIT_BZERO@
+GL_GNULIB_FACCESSAT = @GL_GNULIB_FACCESSAT@
+GL_GNULIB_FCHDIR = @GL_GNULIB_FCHDIR@
+GL_GNULIB_FCHOWNAT = @GL_GNULIB_FCHOWNAT@
+GL_GNULIB_FDATASYNC = @GL_GNULIB_FDATASYNC@
+GL_GNULIB_FFSL = @GL_GNULIB_FFSL@
+GL_GNULIB_FFSLL = @GL_GNULIB_FFSLL@
+GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
+GL_GNULIB_FSYNC = @GL_GNULIB_FSYNC@
+GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
+GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
+GL_GNULIB_GETDOMAINNAME = @GL_GNULIB_GETDOMAINNAME@
+GL_GNULIB_GETDTABLESIZE = @GL_GNULIB_GETDTABLESIZE@
+GL_GNULIB_GETENTROPY = @GL_GNULIB_GETENTROPY@
+GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
+GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
+GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
+GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
+GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
+GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
+GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
+GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@
+GL_GNULIB_GETUSERSHELL = @GL_GNULIB_GETUSERSHELL@
+GL_GNULIB_GRANTPT = @GL_GNULIB_GRANTPT@
+GL_GNULIB_GROUP_MEMBER = @GL_GNULIB_GROUP_MEMBER@
+GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
+GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@
+GL_GNULIB_LINK = @GL_GNULIB_LINK@
+GL_GNULIB_LINKAT = @GL_GNULIB_LINKAT@
+GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
+GL_GNULIB_MALLOC_GNU = @GL_GNULIB_MALLOC_GNU@
+GL_GNULIB_MALLOC_POSIX = @GL_GNULIB_MALLOC_POSIX@
+GL_GNULIB_MBSCASECMP = @GL_GNULIB_MBSCASECMP@
+GL_GNULIB_MBSCASESTR = @GL_GNULIB_MBSCASESTR@
+GL_GNULIB_MBSCHR = @GL_GNULIB_MBSCHR@
+GL_GNULIB_MBSCSPN = @GL_GNULIB_MBSCSPN@
+GL_GNULIB_MBSLEN = @GL_GNULIB_MBSLEN@
+GL_GNULIB_MBSNCASECMP = @GL_GNULIB_MBSNCASECMP@
+GL_GNULIB_MBSNLEN = @GL_GNULIB_MBSNLEN@
+GL_GNULIB_MBSPBRK = @GL_GNULIB_MBSPBRK@
+GL_GNULIB_MBSPCASECMP = @GL_GNULIB_MBSPCASECMP@
+GL_GNULIB_MBSRCHR = @GL_GNULIB_MBSRCHR@
+GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@
+GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@
+GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@
+GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@
+GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
+GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
+GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
+GL_GNULIB_MDA_CLOSE = @GL_GNULIB_MDA_CLOSE@
+GL_GNULIB_MDA_DUP = @GL_GNULIB_MDA_DUP@
+GL_GNULIB_MDA_DUP2 = @GL_GNULIB_MDA_DUP2@
+GL_GNULIB_MDA_ECVT = @GL_GNULIB_MDA_ECVT@
+GL_GNULIB_MDA_EXECL = @GL_GNULIB_MDA_EXECL@
+GL_GNULIB_MDA_EXECLE = @GL_GNULIB_MDA_EXECLE@
+GL_GNULIB_MDA_EXECLP = @GL_GNULIB_MDA_EXECLP@
+GL_GNULIB_MDA_EXECV = @GL_GNULIB_MDA_EXECV@
+GL_GNULIB_MDA_EXECVE = @GL_GNULIB_MDA_EXECVE@
+GL_GNULIB_MDA_EXECVP = @GL_GNULIB_MDA_EXECVP@
+GL_GNULIB_MDA_EXECVPE = @GL_GNULIB_MDA_EXECVPE@
+GL_GNULIB_MDA_FCVT = @GL_GNULIB_MDA_FCVT@
+GL_GNULIB_MDA_GCVT = @GL_GNULIB_MDA_GCVT@
+GL_GNULIB_MDA_GETCWD = @GL_GNULIB_MDA_GETCWD@
+GL_GNULIB_MDA_GETPID = @GL_GNULIB_MDA_GETPID@
+GL_GNULIB_MDA_ISATTY = @GL_GNULIB_MDA_ISATTY@
+GL_GNULIB_MDA_LSEEK = @GL_GNULIB_MDA_LSEEK@
+GL_GNULIB_MDA_MEMCCPY = @GL_GNULIB_MDA_MEMCCPY@
+GL_GNULIB_MDA_MKTEMP = @GL_GNULIB_MDA_MKTEMP@
+GL_GNULIB_MDA_PUTENV = @GL_GNULIB_MDA_PUTENV@
+GL_GNULIB_MDA_READ = @GL_GNULIB_MDA_READ@
+GL_GNULIB_MDA_RMDIR = @GL_GNULIB_MDA_RMDIR@
+GL_GNULIB_MDA_STRDUP = @GL_GNULIB_MDA_STRDUP@
+GL_GNULIB_MDA_SWAB = @GL_GNULIB_MDA_SWAB@
+GL_GNULIB_MDA_UNLINK = @GL_GNULIB_MDA_UNLINK@
+GL_GNULIB_MDA_WRITE = @GL_GNULIB_MDA_WRITE@
+GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@
+GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@
+GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@
+GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@
+GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@
+GL_GNULIB_MKOSTEMP = @GL_GNULIB_MKOSTEMP@
+GL_GNULIB_MKOSTEMPS = @GL_GNULIB_MKOSTEMPS@
+GL_GNULIB_MKSTEMP = @GL_GNULIB_MKSTEMP@
+GL_GNULIB_MKSTEMPS = @GL_GNULIB_MKSTEMPS@
+GL_GNULIB_PIPE = @GL_GNULIB_PIPE@
+GL_GNULIB_PIPE2 = @GL_GNULIB_PIPE2@
+GL_GNULIB_POSIX_MEMALIGN = @GL_GNULIB_POSIX_MEMALIGN@
+GL_GNULIB_POSIX_OPENPT = @GL_GNULIB_POSIX_OPENPT@
+GL_GNULIB_PREAD = @GL_GNULIB_PREAD@
+GL_GNULIB_PTSNAME = @GL_GNULIB_PTSNAME@
+GL_GNULIB_PTSNAME_R = @GL_GNULIB_PTSNAME_R@
+GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@
+GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@
+GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@
+GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@
+GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@
+GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@
+GL_GNULIB_READ = @GL_GNULIB_READ@
+GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
+GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
+GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
+GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
+GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
+GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
+GL_GNULIB_RMDIR = @GL_GNULIB_RMDIR@
+GL_GNULIB_RPMATCH = @GL_GNULIB_RPMATCH@
+GL_GNULIB_SECURE_GETENV = @GL_GNULIB_SECURE_GETENV@
+GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
+GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
+GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
+GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
+GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
+GL_GNULIB_STPCPY = @GL_GNULIB_STPCPY@
+GL_GNULIB_STPNCPY = @GL_GNULIB_STPNCPY@
+GL_GNULIB_STRCASESTR = @GL_GNULIB_STRCASESTR@
+GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
+GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
+GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
+GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
+GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
+GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
+GL_GNULIB_STRSEP = @GL_GNULIB_STRSEP@
+GL_GNULIB_STRSIGNAL = @GL_GNULIB_STRSIGNAL@
+GL_GNULIB_STRSTR = @GL_GNULIB_STRSTR@
+GL_GNULIB_STRTOD = @GL_GNULIB_STRTOD@
+GL_GNULIB_STRTOK_R = @GL_GNULIB_STRTOK_R@
+GL_GNULIB_STRTOL = @GL_GNULIB_STRTOL@
+GL_GNULIB_STRTOLD = @GL_GNULIB_STRTOLD@
+GL_GNULIB_STRTOLL = @GL_GNULIB_STRTOLL@
+GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
+GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
+GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
+GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
+GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
+GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_UNISTD_H_GETOPT = @GL_GNULIB_UNISTD_H_GETOPT@
+GL_GNULIB_UNISTD_H_NONBLOCKING = @GL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_GNULIB_UNISTD_H_SIGPIPE = @GL_GNULIB_UNISTD_H_SIGPIPE@
+GL_GNULIB_UNLINK = @GL_GNULIB_UNLINK@
+GL_GNULIB_UNLINKAT = @GL_GNULIB_UNLINKAT@
+GL_GNULIB_UNLOCKPT = @GL_GNULIB_UNLOCKPT@
+GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
+GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
+GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@
+GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB__EXIT = @GL_GNULIB__EXIT@
+GL_SGL_GNULIB_ACCESS = @GL_SGL_GNULIB_ACCESS@
+GL_SGL_GNULIB_ALIGNED_ALLOC = @GL_SGL_GNULIB_ALIGNED_ALLOC@
+GL_SGL_GNULIB_ATOLL = @GL_SGL_GNULIB_ATOLL@
+GL_SGL_GNULIB_BTOWC = @GL_SGL_GNULIB_BTOWC@
+GL_SGL_GNULIB_CALLOC_GNU = @GL_SGL_GNULIB_CALLOC_GNU@
+GL_SGL_GNULIB_CALLOC_POSIX = @GL_SGL_GNULIB_CALLOC_POSIX@
+GL_SGL_GNULIB_CANONICALIZE_FILE_NAME = @GL_SGL_GNULIB_CANONICALIZE_FILE_NAME@
+GL_SGL_GNULIB_CHDIR = @GL_SGL_GNULIB_CHDIR@
+GL_SGL_GNULIB_CHMOD = @GL_SGL_GNULIB_CHMOD@
+GL_SGL_GNULIB_CHOWN = @GL_SGL_GNULIB_CHOWN@
+GL_SGL_GNULIB_CLOSE = @GL_SGL_GNULIB_CLOSE@
+GL_SGL_GNULIB_COPY_FILE_RANGE = @GL_SGL_GNULIB_COPY_FILE_RANGE@
+GL_SGL_GNULIB_CREAT = @GL_SGL_GNULIB_CREAT@
+GL_SGL_GNULIB_CTIME = @GL_SGL_GNULIB_CTIME@
+GL_SGL_GNULIB_DPRINTF = @GL_SGL_GNULIB_DPRINTF@
+GL_SGL_GNULIB_DUP = @GL_SGL_GNULIB_DUP@
+GL_SGL_GNULIB_DUP2 = @GL_SGL_GNULIB_DUP2@
+GL_SGL_GNULIB_DUP3 = @GL_SGL_GNULIB_DUP3@
+GL_SGL_GNULIB_ENVIRON = @GL_SGL_GNULIB_ENVIRON@
+GL_SGL_GNULIB_EUIDACCESS = @GL_SGL_GNULIB_EUIDACCESS@
+GL_SGL_GNULIB_EXECL = @GL_SGL_GNULIB_EXECL@
+GL_SGL_GNULIB_EXECLE = @GL_SGL_GNULIB_EXECLE@
+GL_SGL_GNULIB_EXECLP = @GL_SGL_GNULIB_EXECLP@
+GL_SGL_GNULIB_EXECV = @GL_SGL_GNULIB_EXECV@
+GL_SGL_GNULIB_EXECVE = @GL_SGL_GNULIB_EXECVE@
+GL_SGL_GNULIB_EXECVP = @GL_SGL_GNULIB_EXECVP@
+GL_SGL_GNULIB_EXECVPE = @GL_SGL_GNULIB_EXECVPE@
+GL_SGL_GNULIB_EXPLICIT_BZERO = @GL_SGL_GNULIB_EXPLICIT_BZERO@
+GL_SGL_GNULIB_FACCESSAT = @GL_SGL_GNULIB_FACCESSAT@
+GL_SGL_GNULIB_FCHDIR = @GL_SGL_GNULIB_FCHDIR@
+GL_SGL_GNULIB_FCHMODAT = @GL_SGL_GNULIB_FCHMODAT@
+GL_SGL_GNULIB_FCHOWNAT = @GL_SGL_GNULIB_FCHOWNAT@
+GL_SGL_GNULIB_FCLOSE = @GL_SGL_GNULIB_FCLOSE@
+GL_SGL_GNULIB_FCNTL = @GL_SGL_GNULIB_FCNTL@
+GL_SGL_GNULIB_FDATASYNC = @GL_SGL_GNULIB_FDATASYNC@
+GL_SGL_GNULIB_FDOPEN = @GL_SGL_GNULIB_FDOPEN@
+GL_SGL_GNULIB_FFLUSH = @GL_SGL_GNULIB_FFLUSH@
+GL_SGL_GNULIB_FFSL = @GL_SGL_GNULIB_FFSL@
+GL_SGL_GNULIB_FFSLL = @GL_SGL_GNULIB_FFSLL@
+GL_SGL_GNULIB_FGETC = @GL_SGL_GNULIB_FGETC@
+GL_SGL_GNULIB_FGETS = @GL_SGL_GNULIB_FGETS@
+GL_SGL_GNULIB_FOPEN = @GL_SGL_GNULIB_FOPEN@
+GL_SGL_GNULIB_FOPEN_GNU = @GL_SGL_GNULIB_FOPEN_GNU@
+GL_SGL_GNULIB_FPRINTF = @GL_SGL_GNULIB_FPRINTF@
+GL_SGL_GNULIB_FPRINTF_POSIX = @GL_SGL_GNULIB_FPRINTF_POSIX@
+GL_SGL_GNULIB_FPURGE = @GL_SGL_GNULIB_FPURGE@
+GL_SGL_GNULIB_FPUTC = @GL_SGL_GNULIB_FPUTC@
+GL_SGL_GNULIB_FPUTS = @GL_SGL_GNULIB_FPUTS@
+GL_SGL_GNULIB_FREAD = @GL_SGL_GNULIB_FREAD@
+GL_SGL_GNULIB_FREE_POSIX = @GL_SGL_GNULIB_FREE_POSIX@
+GL_SGL_GNULIB_FREOPEN = @GL_SGL_GNULIB_FREOPEN@
+GL_SGL_GNULIB_FSCANF = @GL_SGL_GNULIB_FSCANF@
+GL_SGL_GNULIB_FSEEK = @GL_SGL_GNULIB_FSEEK@
+GL_SGL_GNULIB_FSEEKO = @GL_SGL_GNULIB_FSEEKO@
+GL_SGL_GNULIB_FSTAT = @GL_SGL_GNULIB_FSTAT@
+GL_SGL_GNULIB_FSTATAT = @GL_SGL_GNULIB_FSTATAT@
+GL_SGL_GNULIB_FSYNC = @GL_SGL_GNULIB_FSYNC@
+GL_SGL_GNULIB_FTELL = @GL_SGL_GNULIB_FTELL@
+GL_SGL_GNULIB_FTELLO = @GL_SGL_GNULIB_FTELLO@
+GL_SGL_GNULIB_FTRUNCATE = @GL_SGL_GNULIB_FTRUNCATE@
+GL_SGL_GNULIB_FUTIMENS = @GL_SGL_GNULIB_FUTIMENS@
+GL_SGL_GNULIB_FWRITE = @GL_SGL_GNULIB_FWRITE@
+GL_SGL_GNULIB_GETC = @GL_SGL_GNULIB_GETC@
+GL_SGL_GNULIB_GETCHAR = @GL_SGL_GNULIB_GETCHAR@
+GL_SGL_GNULIB_GETCWD = @GL_SGL_GNULIB_GETCWD@
+GL_SGL_GNULIB_GETDELIM = @GL_SGL_GNULIB_GETDELIM@
+GL_SGL_GNULIB_GETDOMAINNAME = @GL_SGL_GNULIB_GETDOMAINNAME@
+GL_SGL_GNULIB_GETDTABLESIZE = @GL_SGL_GNULIB_GETDTABLESIZE@
+GL_SGL_GNULIB_GETENTROPY = @GL_SGL_GNULIB_GETENTROPY@
+GL_SGL_GNULIB_GETGROUPS = @GL_SGL_GNULIB_GETGROUPS@
+GL_SGL_GNULIB_GETHOSTNAME = @GL_SGL_GNULIB_GETHOSTNAME@
+GL_SGL_GNULIB_GETLINE = @GL_SGL_GNULIB_GETLINE@
+GL_SGL_GNULIB_GETLOADAVG = @GL_SGL_GNULIB_GETLOADAVG@
+GL_SGL_GNULIB_GETLOGIN = @GL_SGL_GNULIB_GETLOGIN@
+GL_SGL_GNULIB_GETLOGIN_R = @GL_SGL_GNULIB_GETLOGIN_R@
+GL_SGL_GNULIB_GETOPT_POSIX = @GL_SGL_GNULIB_GETOPT_POSIX@
+GL_SGL_GNULIB_GETPAGESIZE = @GL_SGL_GNULIB_GETPAGESIZE@
+GL_SGL_GNULIB_GETPASS = @GL_SGL_GNULIB_GETPASS@
+GL_SGL_GNULIB_GETPASS_GNU = @GL_SGL_GNULIB_GETPASS_GNU@
+GL_SGL_GNULIB_GETSUBOPT = @GL_SGL_GNULIB_GETSUBOPT@
+GL_SGL_GNULIB_GETTIMEOFDAY = @GL_SGL_GNULIB_GETTIMEOFDAY@
+GL_SGL_GNULIB_GETUMASK = @GL_SGL_GNULIB_GETUMASK@
+GL_SGL_GNULIB_GETUSERSHELL = @GL_SGL_GNULIB_GETUSERSHELL@
+GL_SGL_GNULIB_GRANTPT = @GL_SGL_GNULIB_GRANTPT@
+GL_SGL_GNULIB_GROUP_MEMBER = @GL_SGL_GNULIB_GROUP_MEMBER@
+GL_SGL_GNULIB_IMAXABS = @GL_SGL_GNULIB_IMAXABS@
+GL_SGL_GNULIB_IMAXDIV = @GL_SGL_GNULIB_IMAXDIV@
+GL_SGL_GNULIB_ISATTY = @GL_SGL_GNULIB_ISATTY@
+GL_SGL_GNULIB_LCHMOD = @GL_SGL_GNULIB_LCHMOD@
+GL_SGL_GNULIB_LCHOWN = @GL_SGL_GNULIB_LCHOWN@
+GL_SGL_GNULIB_LINK = @GL_SGL_GNULIB_LINK@
+GL_SGL_GNULIB_LINKAT = @GL_SGL_GNULIB_LINKAT@
+GL_SGL_GNULIB_LOCALTIME = @GL_SGL_GNULIB_LOCALTIME@
+GL_SGL_GNULIB_LSEEK = @GL_SGL_GNULIB_LSEEK@
+GL_SGL_GNULIB_LSTAT = @GL_SGL_GNULIB_LSTAT@
+GL_SGL_GNULIB_MALLOC_GNU = @GL_SGL_GNULIB_MALLOC_GNU@
+GL_SGL_GNULIB_MALLOC_POSIX = @GL_SGL_GNULIB_MALLOC_POSIX@
+GL_SGL_GNULIB_MBRLEN = @GL_SGL_GNULIB_MBRLEN@
+GL_SGL_GNULIB_MBRTOWC = @GL_SGL_GNULIB_MBRTOWC@
+GL_SGL_GNULIB_MBSCASECMP = @GL_SGL_GNULIB_MBSCASECMP@
+GL_SGL_GNULIB_MBSCASESTR = @GL_SGL_GNULIB_MBSCASESTR@
+GL_SGL_GNULIB_MBSCHR = @GL_SGL_GNULIB_MBSCHR@
+GL_SGL_GNULIB_MBSCSPN = @GL_SGL_GNULIB_MBSCSPN@
+GL_SGL_GNULIB_MBSINIT = @GL_SGL_GNULIB_MBSINIT@
+GL_SGL_GNULIB_MBSLEN = @GL_SGL_GNULIB_MBSLEN@
+GL_SGL_GNULIB_MBSNCASECMP = @GL_SGL_GNULIB_MBSNCASECMP@
+GL_SGL_GNULIB_MBSNLEN = @GL_SGL_GNULIB_MBSNLEN@
+GL_SGL_GNULIB_MBSNRTOWCS = @GL_SGL_GNULIB_MBSNRTOWCS@
+GL_SGL_GNULIB_MBSPBRK = @GL_SGL_GNULIB_MBSPBRK@
+GL_SGL_GNULIB_MBSPCASECMP = @GL_SGL_GNULIB_MBSPCASECMP@
+GL_SGL_GNULIB_MBSRCHR = @GL_SGL_GNULIB_MBSRCHR@
+GL_SGL_GNULIB_MBSRTOWCS = @GL_SGL_GNULIB_MBSRTOWCS@
+GL_SGL_GNULIB_MBSSEP = @GL_SGL_GNULIB_MBSSEP@
+GL_SGL_GNULIB_MBSSPN = @GL_SGL_GNULIB_MBSSPN@
+GL_SGL_GNULIB_MBSSTR = @GL_SGL_GNULIB_MBSSTR@
+GL_SGL_GNULIB_MBSTOK_R = @GL_SGL_GNULIB_MBSTOK_R@
+GL_SGL_GNULIB_MBTOWC = @GL_SGL_GNULIB_MBTOWC@
+GL_SGL_GNULIB_MDA_ACCESS = @GL_SGL_GNULIB_MDA_ACCESS@
+GL_SGL_GNULIB_MDA_CHDIR = @GL_SGL_GNULIB_MDA_CHDIR@
+GL_SGL_GNULIB_MDA_CHMOD = @GL_SGL_GNULIB_MDA_CHMOD@
+GL_SGL_GNULIB_MDA_CLOSE = @GL_SGL_GNULIB_MDA_CLOSE@
+GL_SGL_GNULIB_MDA_CREAT = @GL_SGL_GNULIB_MDA_CREAT@
+GL_SGL_GNULIB_MDA_DUP = @GL_SGL_GNULIB_MDA_DUP@
+GL_SGL_GNULIB_MDA_DUP2 = @GL_SGL_GNULIB_MDA_DUP2@
+GL_SGL_GNULIB_MDA_ECVT = @GL_SGL_GNULIB_MDA_ECVT@
+GL_SGL_GNULIB_MDA_EXECL = @GL_SGL_GNULIB_MDA_EXECL@
+GL_SGL_GNULIB_MDA_EXECLE = @GL_SGL_GNULIB_MDA_EXECLE@
+GL_SGL_GNULIB_MDA_EXECLP = @GL_SGL_GNULIB_MDA_EXECLP@
+GL_SGL_GNULIB_MDA_EXECV = @GL_SGL_GNULIB_MDA_EXECV@
+GL_SGL_GNULIB_MDA_EXECVE = @GL_SGL_GNULIB_MDA_EXECVE@
+GL_SGL_GNULIB_MDA_EXECVP = @GL_SGL_GNULIB_MDA_EXECVP@
+GL_SGL_GNULIB_MDA_EXECVPE = @GL_SGL_GNULIB_MDA_EXECVPE@
+GL_SGL_GNULIB_MDA_FCLOSEALL = @GL_SGL_GNULIB_MDA_FCLOSEALL@
+GL_SGL_GNULIB_MDA_FCVT = @GL_SGL_GNULIB_MDA_FCVT@
+GL_SGL_GNULIB_MDA_FDOPEN = @GL_SGL_GNULIB_MDA_FDOPEN@
+GL_SGL_GNULIB_MDA_FILENO = @GL_SGL_GNULIB_MDA_FILENO@
+GL_SGL_GNULIB_MDA_GCVT = @GL_SGL_GNULIB_MDA_GCVT@
+GL_SGL_GNULIB_MDA_GETCWD = @GL_SGL_GNULIB_MDA_GETCWD@
+GL_SGL_GNULIB_MDA_GETPID = @GL_SGL_GNULIB_MDA_GETPID@
+GL_SGL_GNULIB_MDA_GETW = @GL_SGL_GNULIB_MDA_GETW@
+GL_SGL_GNULIB_MDA_ISATTY = @GL_SGL_GNULIB_MDA_ISATTY@
+GL_SGL_GNULIB_MDA_LSEEK = @GL_SGL_GNULIB_MDA_LSEEK@
+GL_SGL_GNULIB_MDA_MEMCCPY = @GL_SGL_GNULIB_MDA_MEMCCPY@
+GL_SGL_GNULIB_MDA_MKDIR = @GL_SGL_GNULIB_MDA_MKDIR@
+GL_SGL_GNULIB_MDA_MKTEMP = @GL_SGL_GNULIB_MDA_MKTEMP@
+GL_SGL_GNULIB_MDA_OPEN = @GL_SGL_GNULIB_MDA_OPEN@
+GL_SGL_GNULIB_MDA_PUTENV = @GL_SGL_GNULIB_MDA_PUTENV@
+GL_SGL_GNULIB_MDA_PUTW = @GL_SGL_GNULIB_MDA_PUTW@
+GL_SGL_GNULIB_MDA_READ = @GL_SGL_GNULIB_MDA_READ@
+GL_SGL_GNULIB_MDA_RMDIR = @GL_SGL_GNULIB_MDA_RMDIR@
+GL_SGL_GNULIB_MDA_STRDUP = @GL_SGL_GNULIB_MDA_STRDUP@
+GL_SGL_GNULIB_MDA_SWAB = @GL_SGL_GNULIB_MDA_SWAB@
+GL_SGL_GNULIB_MDA_TEMPNAM = @GL_SGL_GNULIB_MDA_TEMPNAM@
+GL_SGL_GNULIB_MDA_TZSET = @GL_SGL_GNULIB_MDA_TZSET@
+GL_SGL_GNULIB_MDA_UMASK = @GL_SGL_GNULIB_MDA_UMASK@
+GL_SGL_GNULIB_MDA_UNLINK = @GL_SGL_GNULIB_MDA_UNLINK@
+GL_SGL_GNULIB_MDA_WCSDUP = @GL_SGL_GNULIB_MDA_WCSDUP@
+GL_SGL_GNULIB_MDA_WRITE = @GL_SGL_GNULIB_MDA_WRITE@
+GL_SGL_GNULIB_MEMCHR = @GL_SGL_GNULIB_MEMCHR@
+GL_SGL_GNULIB_MEMMEM = @GL_SGL_GNULIB_MEMMEM@
+GL_SGL_GNULIB_MEMPCPY = @GL_SGL_GNULIB_MEMPCPY@
+GL_SGL_GNULIB_MEMRCHR = @GL_SGL_GNULIB_MEMRCHR@
+GL_SGL_GNULIB_MKDIR = @GL_SGL_GNULIB_MKDIR@
+GL_SGL_GNULIB_MKDIRAT = @GL_SGL_GNULIB_MKDIRAT@
+GL_SGL_GNULIB_MKDTEMP = @GL_SGL_GNULIB_MKDTEMP@
+GL_SGL_GNULIB_MKFIFO = @GL_SGL_GNULIB_MKFIFO@
+GL_SGL_GNULIB_MKFIFOAT = @GL_SGL_GNULIB_MKFIFOAT@
+GL_SGL_GNULIB_MKNOD = @GL_SGL_GNULIB_MKNOD@
+GL_SGL_GNULIB_MKNODAT = @GL_SGL_GNULIB_MKNODAT@
+GL_SGL_GNULIB_MKOSTEMP = @GL_SGL_GNULIB_MKOSTEMP@
+GL_SGL_GNULIB_MKOSTEMPS = @GL_SGL_GNULIB_MKOSTEMPS@
+GL_SGL_GNULIB_MKSTEMP = @GL_SGL_GNULIB_MKSTEMP@
+GL_SGL_GNULIB_MKSTEMPS = @GL_SGL_GNULIB_MKSTEMPS@
+GL_SGL_GNULIB_MKTIME = @GL_SGL_GNULIB_MKTIME@
+GL_SGL_GNULIB_NANOSLEEP = @GL_SGL_GNULIB_NANOSLEEP@
+GL_SGL_GNULIB_NONBLOCKING = @GL_SGL_GNULIB_NONBLOCKING@
+GL_SGL_GNULIB_OBSTACK_PRINTF = @GL_SGL_GNULIB_OBSTACK_PRINTF@
+GL_SGL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_SGL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_SGL_GNULIB_OPEN = @GL_SGL_GNULIB_OPEN@
+GL_SGL_GNULIB_OPENAT = @GL_SGL_GNULIB_OPENAT@
+GL_SGL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_SGL_GNULIB_OVERRIDES_STRUCT_STAT@
+GL_SGL_GNULIB_PCLOSE = @GL_SGL_GNULIB_PCLOSE@
+GL_SGL_GNULIB_PERROR = @GL_SGL_GNULIB_PERROR@
+GL_SGL_GNULIB_PIPE = @GL_SGL_GNULIB_PIPE@
+GL_SGL_GNULIB_PIPE2 = @GL_SGL_GNULIB_PIPE2@
+GL_SGL_GNULIB_POPEN = @GL_SGL_GNULIB_POPEN@
+GL_SGL_GNULIB_POSIX_MEMALIGN = @GL_SGL_GNULIB_POSIX_MEMALIGN@
+GL_SGL_GNULIB_POSIX_OPENPT = @GL_SGL_GNULIB_POSIX_OPENPT@
+GL_SGL_GNULIB_PREAD = @GL_SGL_GNULIB_PREAD@
+GL_SGL_GNULIB_PRINTF = @GL_SGL_GNULIB_PRINTF@
+GL_SGL_GNULIB_PRINTF_POSIX = @GL_SGL_GNULIB_PRINTF_POSIX@
+GL_SGL_GNULIB_PTSNAME = @GL_SGL_GNULIB_PTSNAME@
+GL_SGL_GNULIB_PTSNAME_R = @GL_SGL_GNULIB_PTSNAME_R@
+GL_SGL_GNULIB_PUTC = @GL_SGL_GNULIB_PUTC@
+GL_SGL_GNULIB_PUTCHAR = @GL_SGL_GNULIB_PUTCHAR@
+GL_SGL_GNULIB_PUTENV = @GL_SGL_GNULIB_PUTENV@
+GL_SGL_GNULIB_PUTS = @GL_SGL_GNULIB_PUTS@
+GL_SGL_GNULIB_PWRITE = @GL_SGL_GNULIB_PWRITE@
+GL_SGL_GNULIB_QSORT_R = @GL_SGL_GNULIB_QSORT_R@
+GL_SGL_GNULIB_RANDOM = @GL_SGL_GNULIB_RANDOM@
+GL_SGL_GNULIB_RANDOM_R = @GL_SGL_GNULIB_RANDOM_R@
+GL_SGL_GNULIB_RAWMEMCHR = @GL_SGL_GNULIB_RAWMEMCHR@
+GL_SGL_GNULIB_READ = @GL_SGL_GNULIB_READ@
+GL_SGL_GNULIB_READLINK = @GL_SGL_GNULIB_READLINK@
+GL_SGL_GNULIB_READLINKAT = @GL_SGL_GNULIB_READLINKAT@
+GL_SGL_GNULIB_REALLOCARRAY = @GL_SGL_GNULIB_REALLOCARRAY@
+GL_SGL_GNULIB_REALLOC_GNU = @GL_SGL_GNULIB_REALLOC_GNU@
+GL_SGL_GNULIB_REALLOC_POSIX = @GL_SGL_GNULIB_REALLOC_POSIX@
+GL_SGL_GNULIB_REALPATH = @GL_SGL_GNULIB_REALPATH@
+GL_SGL_GNULIB_REMOVE = @GL_SGL_GNULIB_REMOVE@
+GL_SGL_GNULIB_RENAME = @GL_SGL_GNULIB_RENAME@
+GL_SGL_GNULIB_RENAMEAT = @GL_SGL_GNULIB_RENAMEAT@
+GL_SGL_GNULIB_RMDIR = @GL_SGL_GNULIB_RMDIR@
+GL_SGL_GNULIB_RPMATCH = @GL_SGL_GNULIB_RPMATCH@
+GL_SGL_GNULIB_SCANF = @GL_SGL_GNULIB_SCANF@
+GL_SGL_GNULIB_SECURE_GETENV = @GL_SGL_GNULIB_SECURE_GETENV@
+GL_SGL_GNULIB_SETENV = @GL_SGL_GNULIB_SETENV@
+GL_SGL_GNULIB_SETHOSTNAME = @GL_SGL_GNULIB_SETHOSTNAME@
+GL_SGL_GNULIB_SIGABBREV_NP = @GL_SGL_GNULIB_SIGABBREV_NP@
+GL_SGL_GNULIB_SIGDESCR_NP = @GL_SGL_GNULIB_SIGDESCR_NP@
+GL_SGL_GNULIB_SLEEP = @GL_SGL_GNULIB_SLEEP@
+GL_SGL_GNULIB_SNPRINTF = @GL_SGL_GNULIB_SNPRINTF@
+GL_SGL_GNULIB_SPRINTF_POSIX = @GL_SGL_GNULIB_SPRINTF_POSIX@
+GL_SGL_GNULIB_STAT = @GL_SGL_GNULIB_STAT@
+GL_SGL_GNULIB_STDIO_H_NONBLOCKING = @GL_SGL_GNULIB_STDIO_H_NONBLOCKING@
+GL_SGL_GNULIB_STDIO_H_SIGPIPE = @GL_SGL_GNULIB_STDIO_H_SIGPIPE@
+GL_SGL_GNULIB_STPCPY = @GL_SGL_GNULIB_STPCPY@
+GL_SGL_GNULIB_STPNCPY = @GL_SGL_GNULIB_STPNCPY@
+GL_SGL_GNULIB_STRCASESTR = @GL_SGL_GNULIB_STRCASESTR@
+GL_SGL_GNULIB_STRCHRNUL = @GL_SGL_GNULIB_STRCHRNUL@
+GL_SGL_GNULIB_STRDUP = @GL_SGL_GNULIB_STRDUP@
+GL_SGL_GNULIB_STRERROR = @GL_SGL_GNULIB_STRERROR@
+GL_SGL_GNULIB_STRERRORNAME_NP = @GL_SGL_GNULIB_STRERRORNAME_NP@
+GL_SGL_GNULIB_STRERROR_R = @GL_SGL_GNULIB_STRERROR_R@
+GL_SGL_GNULIB_STRFTIME = @GL_SGL_GNULIB_STRFTIME@
+GL_SGL_GNULIB_STRNCAT = @GL_SGL_GNULIB_STRNCAT@
+GL_SGL_GNULIB_STRNDUP = @GL_SGL_GNULIB_STRNDUP@
+GL_SGL_GNULIB_STRNLEN = @GL_SGL_GNULIB_STRNLEN@
+GL_SGL_GNULIB_STRPBRK = @GL_SGL_GNULIB_STRPBRK@
+GL_SGL_GNULIB_STRPTIME = @GL_SGL_GNULIB_STRPTIME@
+GL_SGL_GNULIB_STRSEP = @GL_SGL_GNULIB_STRSEP@
+GL_SGL_GNULIB_STRSIGNAL = @GL_SGL_GNULIB_STRSIGNAL@
+GL_SGL_GNULIB_STRSTR = @GL_SGL_GNULIB_STRSTR@
+GL_SGL_GNULIB_STRTOD = @GL_SGL_GNULIB_STRTOD@
+GL_SGL_GNULIB_STRTOIMAX = @GL_SGL_GNULIB_STRTOIMAX@
+GL_SGL_GNULIB_STRTOK_R = @GL_SGL_GNULIB_STRTOK_R@
+GL_SGL_GNULIB_STRTOL = @GL_SGL_GNULIB_STRTOL@
+GL_SGL_GNULIB_STRTOLD = @GL_SGL_GNULIB_STRTOLD@
+GL_SGL_GNULIB_STRTOLL = @GL_SGL_GNULIB_STRTOLL@
+GL_SGL_GNULIB_STRTOUL = @GL_SGL_GNULIB_STRTOUL@
+GL_SGL_GNULIB_STRTOULL = @GL_SGL_GNULIB_STRTOULL@
+GL_SGL_GNULIB_STRTOUMAX = @GL_SGL_GNULIB_STRTOUMAX@
+GL_SGL_GNULIB_STRVERSCMP = @GL_SGL_GNULIB_STRVERSCMP@
+GL_SGL_GNULIB_SYMLINK = @GL_SGL_GNULIB_SYMLINK@
+GL_SGL_GNULIB_SYMLINKAT = @GL_SGL_GNULIB_SYMLINKAT@
+GL_SGL_GNULIB_SYSTEM_POSIX = @GL_SGL_GNULIB_SYSTEM_POSIX@
+GL_SGL_GNULIB_TIMEGM = @GL_SGL_GNULIB_TIMEGM@
+GL_SGL_GNULIB_TIMESPEC_GET = @GL_SGL_GNULIB_TIMESPEC_GET@
+GL_SGL_GNULIB_TIMESPEC_GETRES = @GL_SGL_GNULIB_TIMESPEC_GETRES@
+GL_SGL_GNULIB_TIME_R = @GL_SGL_GNULIB_TIME_R@
+GL_SGL_GNULIB_TIME_RZ = @GL_SGL_GNULIB_TIME_RZ@
+GL_SGL_GNULIB_TMPFILE = @GL_SGL_GNULIB_TMPFILE@
+GL_SGL_GNULIB_TRUNCATE = @GL_SGL_GNULIB_TRUNCATE@
+GL_SGL_GNULIB_TTYNAME_R = @GL_SGL_GNULIB_TTYNAME_R@
+GL_SGL_GNULIB_TZSET = @GL_SGL_GNULIB_TZSET@
+GL_SGL_GNULIB_UNISTD_H_GETOPT = @GL_SGL_GNULIB_UNISTD_H_GETOPT@
+GL_SGL_GNULIB_UNISTD_H_NONBLOCKING = @GL_SGL_GNULIB_UNISTD_H_NONBLOCKING@
+GL_SGL_GNULIB_UNISTD_H_SIGPIPE = @GL_SGL_GNULIB_UNISTD_H_SIGPIPE@
+GL_SGL_GNULIB_UNLINK = @GL_SGL_GNULIB_UNLINK@
+GL_SGL_GNULIB_UNLINKAT = @GL_SGL_GNULIB_UNLINKAT@
+GL_SGL_GNULIB_UNLOCKPT = @GL_SGL_GNULIB_UNLOCKPT@
+GL_SGL_GNULIB_UNSETENV = @GL_SGL_GNULIB_UNSETENV@
+GL_SGL_GNULIB_USLEEP = @GL_SGL_GNULIB_USLEEP@
+GL_SGL_GNULIB_UTIMENSAT = @GL_SGL_GNULIB_UTIMENSAT@
+GL_SGL_GNULIB_VASPRINTF = @GL_SGL_GNULIB_VASPRINTF@
+GL_SGL_GNULIB_VDPRINTF = @GL_SGL_GNULIB_VDPRINTF@
+GL_SGL_GNULIB_VFPRINTF = @GL_SGL_GNULIB_VFPRINTF@
+GL_SGL_GNULIB_VFPRINTF_POSIX = @GL_SGL_GNULIB_VFPRINTF_POSIX@
+GL_SGL_GNULIB_VFSCANF = @GL_SGL_GNULIB_VFSCANF@
+GL_SGL_GNULIB_VPRINTF = @GL_SGL_GNULIB_VPRINTF@
+GL_SGL_GNULIB_VPRINTF_POSIX = @GL_SGL_GNULIB_VPRINTF_POSIX@
+GL_SGL_GNULIB_VSCANF = @GL_SGL_GNULIB_VSCANF@
+GL_SGL_GNULIB_VSNPRINTF = @GL_SGL_GNULIB_VSNPRINTF@
+GL_SGL_GNULIB_VSPRINTF_POSIX = @GL_SGL_GNULIB_VSPRINTF_POSIX@
+GL_SGL_GNULIB_WCPCPY = @GL_SGL_GNULIB_WCPCPY@
+GL_SGL_GNULIB_WCPNCPY = @GL_SGL_GNULIB_WCPNCPY@
+GL_SGL_GNULIB_WCRTOMB = @GL_SGL_GNULIB_WCRTOMB@
+GL_SGL_GNULIB_WCSCASECMP = @GL_SGL_GNULIB_WCSCASECMP@
+GL_SGL_GNULIB_WCSCAT = @GL_SGL_GNULIB_WCSCAT@
+GL_SGL_GNULIB_WCSCHR = @GL_SGL_GNULIB_WCSCHR@
+GL_SGL_GNULIB_WCSCMP = @GL_SGL_GNULIB_WCSCMP@
+GL_SGL_GNULIB_WCSCOLL = @GL_SGL_GNULIB_WCSCOLL@
+GL_SGL_GNULIB_WCSCPY = @GL_SGL_GNULIB_WCSCPY@
+GL_SGL_GNULIB_WCSCSPN = @GL_SGL_GNULIB_WCSCSPN@
+GL_SGL_GNULIB_WCSDUP = @GL_SGL_GNULIB_WCSDUP@
+GL_SGL_GNULIB_WCSFTIME = @GL_SGL_GNULIB_WCSFTIME@
+GL_SGL_GNULIB_WCSLEN = @GL_SGL_GNULIB_WCSLEN@
+GL_SGL_GNULIB_WCSNCASECMP = @GL_SGL_GNULIB_WCSNCASECMP@
+GL_SGL_GNULIB_WCSNCAT = @GL_SGL_GNULIB_WCSNCAT@
+GL_SGL_GNULIB_WCSNCMP = @GL_SGL_GNULIB_WCSNCMP@
+GL_SGL_GNULIB_WCSNCPY = @GL_SGL_GNULIB_WCSNCPY@
+GL_SGL_GNULIB_WCSNLEN = @GL_SGL_GNULIB_WCSNLEN@
+GL_SGL_GNULIB_WCSNRTOMBS = @GL_SGL_GNULIB_WCSNRTOMBS@
+GL_SGL_GNULIB_WCSPBRK = @GL_SGL_GNULIB_WCSPBRK@
+GL_SGL_GNULIB_WCSRCHR = @GL_SGL_GNULIB_WCSRCHR@
+GL_SGL_GNULIB_WCSRTOMBS = @GL_SGL_GNULIB_WCSRTOMBS@
+GL_SGL_GNULIB_WCSSPN = @GL_SGL_GNULIB_WCSSPN@
+GL_SGL_GNULIB_WCSSTR = @GL_SGL_GNULIB_WCSSTR@
+GL_SGL_GNULIB_WCSTOK = @GL_SGL_GNULIB_WCSTOK@
+GL_SGL_GNULIB_WCSWIDTH = @GL_SGL_GNULIB_WCSWIDTH@
+GL_SGL_GNULIB_WCSXFRM = @GL_SGL_GNULIB_WCSXFRM@
+GL_SGL_GNULIB_WCTOB = @GL_SGL_GNULIB_WCTOB@
+GL_SGL_GNULIB_WCTOMB = @GL_SGL_GNULIB_WCTOMB@
+GL_SGL_GNULIB_WCWIDTH = @GL_SGL_GNULIB_WCWIDTH@
+GL_SGL_GNULIB_WMEMCHR = @GL_SGL_GNULIB_WMEMCHR@
+GL_SGL_GNULIB_WMEMCMP = @GL_SGL_GNULIB_WMEMCMP@
+GL_SGL_GNULIB_WMEMCPY = @GL_SGL_GNULIB_WMEMCPY@
+GL_SGL_GNULIB_WMEMMOVE = @GL_SGL_GNULIB_WMEMMOVE@
+GL_SGL_GNULIB_WMEMPCPY = @GL_SGL_GNULIB_WMEMPCPY@
+GL_SGL_GNULIB_WMEMSET = @GL_SGL_GNULIB_WMEMSET@
+GL_SGL_GNULIB_WRITE = @GL_SGL_GNULIB_WRITE@
+GL_SGL_GNULIB__EXIT = @GL_SGL_GNULIB__EXIT@
+GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@
+GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GREP = @GREP@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
@@ -296,43 +821,233 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
+HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@
+HAVE_ALLOCA_H = @HAVE_ALLOCA_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
+HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
+HAVE_CHOWN = @HAVE_CHOWN@
+HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
+HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
+HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
+HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
+HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
+HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
+HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
+HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
+HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
+HAVE_DECL_GCVT = @HAVE_DECL_GCVT@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
+HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
+HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
+HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
+HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
+HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
+HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
+HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
+HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
+HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
+HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP3 = @HAVE_DUP3@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_EXECVPE = @HAVE_EXECVPE@
HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
+HAVE_FACCESSAT = @HAVE_FACCESSAT@
+HAVE_FCHDIR = @HAVE_FCHDIR@
+HAVE_FCHMODAT = @HAVE_FCHMODAT@
+HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
+HAVE_FCNTL = @HAVE_FCNTL@
+HAVE_FDATASYNC = @HAVE_FDATASYNC@
+HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSTATAT = @HAVE_FSTATAT@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_FUTIMENS = @HAVE_FUTIMENS@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETENTROPY = @HAVE_GETENTROPY@
+HAVE_GETGROUPS = @HAVE_GETGROUPS@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOGIN = @HAVE_GETLOGIN@
+HAVE_GETOPT_H = @HAVE_GETOPT_H@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
+HAVE_GETUMASK = @HAVE_GETUMASK@
+HAVE_GRANTPT = @HAVE_GRANTPT@
+HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
+HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@
+HAVE_INITSTATE = @HAVE_INITSTATE@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
-HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LCHOWN = @HAVE_LCHOWN@
+HAVE_LINK = @HAVE_LINK@
+HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LSTAT = @HAVE_LSTAT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
-HAVE_MEMCHR = @HAVE_MEMCHR@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MBTOWC = @HAVE_MBTOWC@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDIRAT = @HAVE_MKDIRAT@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_MKFIFO = @HAVE_MKFIFO@
+HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
+HAVE_MKNOD = @HAVE_MKNOD@
+HAVE_MKNODAT = @HAVE_MKNODAT@
+HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
+HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
+HAVE_MKSTEMP = @HAVE_MKSTEMP@
+HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
+HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
+HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
+HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_PCLOSE = @HAVE_PCLOSE@
+HAVE_PIPE = @HAVE_PIPE@
+HAVE_PIPE2 = @HAVE_PIPE2@
+HAVE_POPEN = @HAVE_POPEN@
+HAVE_POSIX_MEMALIGN = @HAVE_POSIX_MEMALIGN@
+HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
+HAVE_PREAD = @HAVE_PREAD@
+HAVE_PTSNAME = @HAVE_PTSNAME@
+HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
+HAVE_PWRITE = @HAVE_PWRITE@
+HAVE_QSORT_R = @HAVE_QSORT_R@
+HAVE_RANDOM = @HAVE_RANDOM@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_READLINKAT = @HAVE_READLINKAT@
+HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
+HAVE_REALPATH = @HAVE_REALPATH@
+HAVE_RENAMEAT = @HAVE_RENAMEAT@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
+HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SLEEP = @HAVE_SLEEP@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOL = @HAVE_STRTOL@
+HAVE_STRTOLD = @HAVE_STRTOLD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOUL = @HAVE_STRTOUL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYMLINK = @HAVE_SYMLINK@
+HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_CDEFS_H = @HAVE_SYS_CDEFS_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
-HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_TIMEGM = @HAVE_TIMEGM@
+HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
+HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
+HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNLINKAT = @HAVE_UNLINKAT@
+HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
+HAVE_USLEEP = @HAVE_USLEEP@
+HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCHAR_T = @HAVE_WCHAR_T@
+HAVE_WCPCPY = @HAVE_WCPCPY@
+HAVE_WCPNCPY = @HAVE_WCPNCPY@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
+HAVE_WCSCAT = @HAVE_WCSCAT@
+HAVE_WCSCHR = @HAVE_WCSCHR@
+HAVE_WCSCMP = @HAVE_WCSCMP@
+HAVE_WCSCOLL = @HAVE_WCSCOLL@
+HAVE_WCSCPY = @HAVE_WCSCPY@
+HAVE_WCSCSPN = @HAVE_WCSCSPN@
+HAVE_WCSDUP = @HAVE_WCSDUP@
+HAVE_WCSFTIME = @HAVE_WCSFTIME@
+HAVE_WCSLEN = @HAVE_WCSLEN@
+HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
+HAVE_WCSNCAT = @HAVE_WCSNCAT@
+HAVE_WCSNCMP = @HAVE_WCSNCMP@
+HAVE_WCSNCPY = @HAVE_WCSNCPY@
+HAVE_WCSNLEN = @HAVE_WCSNLEN@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSPBRK = @HAVE_WCSPBRK@
+HAVE_WCSRCHR = @HAVE_WCSRCHR@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WCSSPN = @HAVE_WCSSPN@
+HAVE_WCSSTR = @HAVE_WCSSTR@
+HAVE_WCSTOK = @HAVE_WCSTOK@
+HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
+HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WMEMCHR = @HAVE_WMEMCHR@
+HAVE_WMEMCMP = @HAVE_WMEMCMP@
+HAVE_WMEMCPY = @HAVE_WMEMCPY@
+HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
+HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
+HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE__BOOL = @HAVE__BOOL@
+HAVE__EXIT = @HAVE__EXIT@
HELP2MAN = @HELP2MAN@
HTML_DIR = @HTML_DIR@
INCLUDE_NEXT = @INCLUDE_NEXT@
@@ -342,36 +1057,70 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@
+INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@
LCOV = @LCOV@
LD = @LD@
LDFLAGS = @LDFLAGS@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
LIBTOOL = @LIBTOOL@
+LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
+LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@
LIMITS_H = @LIMITS_H@
LIPO = @LIPO@
LN_S = @LN_S@
+LOG_VALGRIND = @LOG_VALGRIND@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAJOR_VERSION = @MAJOR_VERSION@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
+MINOR_VERSION = @MINOR_VERSION@
MKDIR_P = @MKDIR_P@
+NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
+NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
+NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
+NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
+NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
+NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
+NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
+NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
+NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
+NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
+NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FCNTL_H = @NEXT_FCNTL_H@
+NEXT_GETOPT_H = @NEXT_GETOPT_H@
+NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_LIMITS_H = @NEXT_LIMITS_H@
+NEXT_STDARG_H = @NEXT_STDARG_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
NM = @NM@
NMEDIT = @NMEDIT@
+NUMBER_VERSION = @NUMBER_VERSION@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
@@ -383,42 +1132,216 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PATCH_VERSION = @PATCH_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PRIPTR_PREFIX = @PRIPTR_PREFIX@
+PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
+REPLACE_ACCESS = @REPLACE_ACCESS@
+REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CALLOC_FOR_CALLOC_GNU = @REPLACE_CALLOC_FOR_CALLOC_GNU@
+REPLACE_CALLOC_FOR_CALLOC_POSIX = @REPLACE_CALLOC_FOR_CALLOC_POSIX@
+REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
+REPLACE_CHMOD = @REPLACE_CHMOD@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
+REPLACE_CREAT = @REPLACE_CREAT@
+REPLACE_CTIME = @REPLACE_CTIME@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_DUP = @REPLACE_DUP@
+REPLACE_DUP2 = @REPLACE_DUP2@
+REPLACE_EXECL = @REPLACE_EXECL@
+REPLACE_EXECLE = @REPLACE_EXECLE@
+REPLACE_EXECLP = @REPLACE_EXECLP@
+REPLACE_EXECV = @REPLACE_EXECV@
+REPLACE_EXECVE = @REPLACE_EXECVE@
+REPLACE_EXECVP = @REPLACE_EXECVP@
+REPLACE_EXECVPE = @REPLACE_EXECVPE@
+REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
+REPLACE_FCHMODAT = @REPLACE_FCHMODAT@
+REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FCNTL = @REPLACE_FCNTL@
+REPLACE_FDOPEN = @REPLACE_FDOPEN@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FFSLL = @REPLACE_FFSLL@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FOPEN_FOR_FOPEN_GNU = @REPLACE_FOPEN_FOR_FOPEN_GNU@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FPURGE = @REPLACE_FPURGE@
+REPLACE_FREE = @REPLACE_FREE@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FSTAT = @REPLACE_FSTAT@
+REPLACE_FSTATAT = @REPLACE_FSTATAT@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
+REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETDELIM = @REPLACE_GETDELIM@
+REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
+REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
+REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETPASS = @REPLACE_GETPASS@
+REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GMTIME = @REPLACE_GMTIME@
+REPLACE_INITSTATE = @REPLACE_INITSTATE@
+REPLACE_ISATTY = @REPLACE_ISATTY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LINK = @REPLACE_LINK@
+REPLACE_LINKAT = @REPLACE_LINKAT@
+REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MALLOC_FOR_MALLOC_GNU = @REPLACE_MALLOC_FOR_MALLOC_GNU@
+REPLACE_MALLOC_FOR_MALLOC_POSIX = @REPLACE_MALLOC_FOR_MALLOC_POSIX@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MBTOWC = @REPLACE_MBTOWC@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKFIFO = @REPLACE_MKFIFO@
+REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@
+REPLACE_MKNOD = @REPLACE_MKNOD@
+REPLACE_MKNODAT = @REPLACE_MKNODAT@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_MKTIME = @REPLACE_MKTIME@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NULL = @REPLACE_NULL@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_OPEN = @REPLACE_OPEN@
+REPLACE_OPENAT = @REPLACE_OPENAT@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_POPEN = @REPLACE_POPEN@
+REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@
+REPLACE_PREAD = @REPLACE_PREAD@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PTSNAME = @REPLACE_PTSNAME@
+REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_PWRITE = @REPLACE_PWRITE@
+REPLACE_QSORT_R = @REPLACE_QSORT_R@
+REPLACE_RANDOM = @REPLACE_RANDOM@
+REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
+REPLACE_READ = @REPLACE_READ@
+REPLACE_READLINK = @REPLACE_READLINK@
+REPLACE_READLINKAT = @REPLACE_READLINKAT@
+REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
+REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
+REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
+REPLACE_REALPATH = @REPLACE_REALPATH@
+REPLACE_REMOVE = @REPLACE_REMOVE@
+REPLACE_RENAME = @REPLACE_RENAME@
+REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
+REPLACE_RMDIR = @REPLACE_RMDIR@
+REPLACE_SETENV = @REPLACE_SETENV@
+REPLACE_SETSTATE = @REPLACE_SETSTATE@
+REPLACE_SLEEP = @REPLACE_SLEEP@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STAT = @REPLACE_STAT@
+REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
+REPLACE_STRFTIME = @REPLACE_STRFTIME@
REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_STRTOIMAX = @REPLACE_STRTOIMAX@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
+REPLACE_STRTOL = @REPLACE_STRTOL@
+REPLACE_STRTOLD = @REPLACE_STRTOLD@
+REPLACE_STRTOLL = @REPLACE_STRTOLL@
+REPLACE_STRTOUL = @REPLACE_STRTOUL@
+REPLACE_STRTOULL = @REPLACE_STRTOULL@
+REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@
+REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
+REPLACE_SYMLINK = @REPLACE_SYMLINK@
+REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_TMPFILE = @REPLACE_TMPFILE@
+REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
+REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
+REPLACE_TZSET = @REPLACE_TZSET@
+REPLACE_UNLINK = @REPLACE_UNLINK@
+REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
+REPLACE_UNSETENV = @REPLACE_UNSETENV@
+REPLACE_USLEEP = @REPLACE_USLEEP@
+REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSFTIME = @REPLACE_WCSFTIME@
+REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCSTOK = @REPLACE_WCSTOK@
+REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCTOMB = @REPLACE_WCTOMB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STDARG_H = @STDARG_H@
+STDBOOL_H = @STDBOOL_H@
+STDCKDINT_H = @STDCKDINT_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+TIME_H_DEFINES_TIME_UTC = @TIME_H_DEFINES_TIME_UTC@
+UINT32_MAX_LT_UINTMAX_MAX = @UINT32_MAX_LT_UINTMAX_MAX@
+UINT64_MAX_EQ_ULONG_MAX = @UINT64_MAX_EQ_ULONG_MAX@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
+UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
+UNISTD_H_HAVE_SYS_RANDOM_H = @UNISTD_H_HAVE_SYS_RANDOM_H@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
VALGRIND = @VALGRIND@
+VALGRINDFLAGS = @VALGRINDFLAGS@
+VALGRIND_PROGRAM = @VALGRIND_PROGRAM@
VERSION = @VERSION@
WARN_CFLAGS = @WARN_CFLAGS@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
+WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
+WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
YACC = @YACC@
YFLAGS = @YFLAGS@
@@ -446,8 +1369,10 @@ datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
+gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
gl_LIBOBJS = @gl_LIBOBJS@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
gltests_WITNESS = @gltests_WITNESS@
@@ -475,6 +1400,13 @@ program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
+sgl_LIBOBJDEPS = @sgl_LIBOBJDEPS@
+sgl_LIBOBJS = @sgl_LIBOBJS@
+sgl_LTLIBOBJS = @sgl_LTLIBOBJS@
+sgltests_LIBOBJDEPS = @sgltests_LIBOBJDEPS@
+sgltests_LIBOBJS = @sgltests_LIBOBJS@
+sgltests_LTLIBOBJS = @sgltests_LTLIBOBJS@
+sgltests_WITNESS = @sgltests_WITNESS@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
@@ -496,14 +1428,14 @@ DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
# gtk-doc will search all .c and .h files beneath these paths
# for inline comments documenting functions and macros.
# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
-DOC_SOURCE_DIR = $(top_srcdir)/lib
+DOC_SOURCE_DIR = $(top_srcdir)/lib $(top_builddir)/lib
# Extra options to pass to gtkdoc-scangobj. Normally not needed.
SCANGOBJ_OPTIONS =
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
-SCAN_OPTIONS = --ignore-decorators=ASN1_API
+SCAN_OPTIONS = --ignore-decorators=ASN1_API --deprecated-guards="ASN1_DISABLE_DEPRECATED"
# Extra options to supply to gtkdoc-mkdb
# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
@@ -519,7 +1451,7 @@ FIXXREF_OPTIONS =
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB = $(top_srcdir)/lib/*.h
+HFILE_GLOB = $(top_srcdir)/lib/*.h $(top_builddir)/lib/includes/libtasn1.h
CFILE_GLOB = $(top_srcdir)/lib/*.c
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
@@ -528,7 +1460,7 @@ EXTRA_HFILES =
# Header files or dirs to ignore when scanning. Use base file/dir names
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
-IGNORE_HFILES = element.h gstr.h int.h parser_aux.h structure.h gllib
+IGNORE_HFILES = element.h gstr.h int.h parser_aux.h structure.h gl
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
@@ -538,7 +1470,7 @@ HTML_IMAGES =
# e.g. content_files=running.xml building.xml changes-2.0.xml
content_files =
-# Files where gtk-doc abbrevations (#GtkWidget) are expanded
+# Files where gtk-doc abbreviations (#GtkWidget) are expanded
# e.g. expand_content_files=running.xml
expand_content_files =
@@ -579,6 +1511,7 @@ DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
sgml.stamp html.stamp pdf.stamp
SCANOBJ_FILES = \
+ $(DOC_MODULE).actions \
$(DOC_MODULE).args \
$(DOC_MODULE).hierarchy \
$(DOC_MODULE).interfaces \
@@ -590,7 +1523,10 @@ REPORT_FILES = \
$(DOC_MODULE)-undeclared.txt \
$(DOC_MODULE)-unused.txt
-CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) \
+ gtkdoc-check.test $(PACKAGE)-overrides.txt $(PACKAGE)-decl.txt \
+ $(PACKAGE)-decl-list.txt $(PACKAGE)-sections.txt \
+ $(PACKAGE).pdf
@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
@@ -647,9 +1583,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__c
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/reference/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/reference/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --foreign doc/reference/Makefile
+ $(AUTOMAKE) --gnu doc/reference/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -680,7 +1616,6 @@ ctags CTAGS:
cscope cscopelist:
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -1038,6 +1973,18 @@ dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
-include $(top_srcdir)/git.mk
+html-build.stamp: $(top_builddir)/.version
+pdf-build.stamp: $(top_builddir)/.version
+
+CLEANFILES ?=
+
+clean-local: clean-local-junk
+.PHONY: clean-local-junk
+clean-local-junk:
+ -rm -rf xml html tmpl
+
+dist-hook-local: all-local
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
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
diff --git a/doc/reference/libtasn1-docs.xml b/doc/reference/libtasn1-docs.xml
index accdb85..02d8865 100644
--- a/doc/reference/libtasn1-docs.xml
+++ b/doc/reference/libtasn1-docs.xml
@@ -34,27 +34,20 @@
<xi:include href="xml/libtasn1.xml"/>
</chapter>
- <chapter id="object-tree">
- <title>Object Hierarchy</title>
- <xi:include href="xml/tree_index.sgml"/>
- </chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
- <index id="deprecated-api-index" role="deprecated">
+ <index id="deprecated-api-index">
<title>Index of deprecated API</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
- <index id="api-index-1-6" role="1.6">
+ <index id="api-index-1-6">
<title>Index of new API in 1.6</title>
<xi:include href="xml/api-index-1.6.xml"><xi:fallback /></xi:include>
</index>
- <index id="api-index-2-0" role="2.0">
+ <index id="api-index-2-0">
<title>Index of new API in 2.0</title>
<xi:include href="xml/api-index-2.0.xml"><xi:fallback /></xi:include>
</index>
- <!-- enable this when you use gobject introspection annotations
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
- -->
</book>
diff --git a/doc/reference/libtasn1-sections.txt b/doc/reference/libtasn1-sections.txt
index c9acb7b..ffb6b02 100644
--- a/doc/reference/libtasn1-sections.txt
+++ b/doc/reference/libtasn1-sections.txt
@@ -2,6 +2,10 @@
<FILE>libtasn1</FILE>
ASN1_API
ASN1_VERSION
+ASN1_VERSION_MAJOR
+ASN1_VERSION_MINOR
+ASN1_VERSION_PATCH
+ASN1_VERSION_NUMBER
ASN1_SUCCESS
ASN1_FILE_NOT_FOUND
ASN1_ELEMENT_NOT_FOUND
@@ -21,6 +25,7 @@ ASN1_NAME_TOO_LONG
ASN1_ARRAY_ERROR
ASN1_ELEMENT_NOT_EMPTY
ASN1_TIME_ENCODING_ERROR
+ASN1_RECURSION
ASN1_PRINT_NAME
ASN1_PRINT_NAME_TYPE
ASN1_PRINT_NAME_TYPE_VALUE
@@ -52,6 +57,98 @@ ASN1_TAG_UTF8_STRING
ASN1_TAG_VISIBLE_STRING
asn1_node_st
asn1_node
+asn1_node_const
ASN1_MAX_NAME_SIZE
+ASN1_ETYPE_INVALID
+ASN1_ETYPE_CONSTANT
+ASN1_ETYPE_IDENTIFIER
+ASN1_ETYPE_INTEGER
+ASN1_ETYPE_BOOLEAN
+ASN1_ETYPE_SEQUENCE
+ASN1_ETYPE_BIT_STRING
+ASN1_ETYPE_OCTET_STRING
+ASN1_ETYPE_TAG
+ASN1_ETYPE_DEFAULT
+ASN1_ETYPE_SIZE
+ASN1_ETYPE_SEQUENCE_OF
+ASN1_ETYPE_OBJECT_ID
+ASN1_ETYPE_ANY
+ASN1_ETYPE_SET
+ASN1_ETYPE_SET_OF
+ASN1_ETYPE_DEFINITIONS
+ASN1_ETYPE_CHOICE
+ASN1_ETYPE_IMPORTS
+ASN1_ETYPE_NULL
+ASN1_ETYPE_ENUMERATED
+ASN1_ETYPE_GENERALSTRING
+ASN1_ETYPE_NUMERIC_STRING
+ASN1_ETYPE_IA5_STRING
+ASN1_ETYPE_TELETEX_STRING
+ASN1_ETYPE_PRINTABLE_STRING
+ASN1_ETYPE_UNIVERSAL_STRING
+ASN1_ETYPE_BMP_STRING
+ASN1_ETYPE_UTF8_STRING
+ASN1_ETYPE_VISIBLE_STRING
+ASN1_ETYPE_UTC_TIME
+ASN1_ETYPE_GENERALIZED_TIME
+ASN1_DELETE_FLAG_ZEROIZE
+ASN1_DECODE_FLAG_ALLOW_PADDING
+ASN1_DECODE_FLAG_STRICT_DER
+ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME
+asn1_data_node_st
+ASN1_MAX_ERROR_DESCRIPTION_SIZE
+asn1_parser2tree
+asn1_parser2array
+asn1_array2tree
+asn1_print_structure
+asn1_create_element
+asn1_delete_structure
+asn1_delete_structure2
+asn1_delete_element
+asn1_write_value
+asn1_read_value
+asn1_read_value_type
+asn1_read_node_value
+asn1_number_of_elements
+asn1_der_coding
+asn1_der_decoding2
+asn1_der_decoding
+asn1_der_decoding_element
+asn1_der_decoding_startEnd
+asn1_expand_any_defined_by
+asn1_expand_octet_string
+asn1_read_tag
+asn1_find_structure_from_oid
+asn1_check_version
+asn1_perror
+ASN1_MAX_TAG_SIZE
+ASN1_MAX_LENGTH_SIZE
+ASN1_MAX_TL_SIZE
+asn1_get_length_der
+asn1_get_length_ber
+asn1_length_der
+asn1_decode_simple_der
+asn1_decode_simple_ber
+asn1_encode_simple_der
+asn1_find_node
+asn1_copy_node
+asn1_dup_node
+asn1_get_tag_der
+asn1_octet_der
+asn1_get_octet_der
+asn1_bit_der
+asn1_get_bit_der
+asn1_get_object_id_der
+asn1_object_id_der
+_ASN1_GCC_ATTR_DEPRECATED
+node_asn_struct
+node_asn
+ASN1_TYPE
+ASN1_TYPE_EMPTY
+static_struct_asn
+ASN1_ARRAY_TYPE
+asn1_static_node_t
+node_data_struct
+ASN1_DATA_NODE
</SECTION>
diff --git a/doc/reference/libtasn1.types b/doc/reference/libtasn1.types
deleted file mode 100644
index e69de29..0000000
--- a/doc/reference/libtasn1.types
+++ /dev/null