Types and Values
ASN1_API
#   define ASN1_API __attribute__((__visibility__("default")))
 
ASN1_VERSION
# define ASN1_VERSION "4.18.0"
Version of the library as a string.
 
ASN1_VERSION_MAJOR
# define ASN1_VERSION_MAJOR 4
Major version number of the library.
 
ASN1_VERSION_MINOR
# define ASN1_VERSION_MINOR 18
Minor version number of the library.
 
ASN1_VERSION_PATCH
# define ASN1_VERSION_PATCH 0
Patch version number of the library.
 
ASN1_VERSION_NUMBER
# define ASN1_VERSION_NUMBER 0x041200
Version number of the library as a number.
 
ASN1_SUCCESS
# define ASN1_SUCCESS			0
 
ASN1_FILE_NOT_FOUND
# define ASN1_FILE_NOT_FOUND		1
 
ASN1_ELEMENT_NOT_FOUND
# define ASN1_ELEMENT_NOT_FOUND		2
 
ASN1_IDENTIFIER_NOT_FOUND
# define ASN1_IDENTIFIER_NOT_FOUND 3
 
ASN1_DER_ERROR
# define ASN1_DER_ERROR			4
 
ASN1_VALUE_NOT_FOUND
# define ASN1_VALUE_NOT_FOUND		5
 
ASN1_GENERIC_ERROR
# define ASN1_GENERIC_ERROR		6
 
ASN1_VALUE_NOT_VALID
# define ASN1_VALUE_NOT_VALID		7
 
ASN1_TAG_ERROR
# define ASN1_TAG_ERROR			8
 
ASN1_TAG_IMPLICIT
# define ASN1_TAG_IMPLICIT		9
 
ASN1_ERROR_TYPE_ANY
# define ASN1_ERROR_TYPE_ANY		10
 
ASN1_SYNTAX_ERROR
# define ASN1_SYNTAX_ERROR		11
 
ASN1_MEM_ERROR
# define ASN1_MEM_ERROR			12
 
ASN1_MEM_ALLOC_ERROR
# define ASN1_MEM_ALLOC_ERROR		13
 
ASN1_DER_OVERFLOW
# define ASN1_DER_OVERFLOW		14
 
ASN1_NAME_TOO_LONG
# define ASN1_NAME_TOO_LONG		15
 
ASN1_ARRAY_ERROR
# define ASN1_ARRAY_ERROR		16
 
ASN1_ELEMENT_NOT_EMPTY
# define ASN1_ELEMENT_NOT_EMPTY		17
 
ASN1_TIME_ENCODING_ERROR
# define ASN1_TIME_ENCODING_ERROR 18
 
ASN1_RECURSION
# define ASN1_RECURSION			19
 
ASN1_PRINT_NAME
# define ASN1_PRINT_NAME			1
 
ASN1_PRINT_NAME_TYPE
# define ASN1_PRINT_NAME_TYPE		2
 
ASN1_PRINT_NAME_TYPE_VALUE
# define ASN1_PRINT_NAME_TYPE_VALUE 3
 
ASN1_PRINT_ALL
# define ASN1_PRINT_ALL			4
 
ASN1_CLASS_UNIVERSAL
# define ASN1_CLASS_UNIVERSAL		0x00 /* old: 1 */
 
ASN1_CLASS_APPLICATION
# define ASN1_CLASS_APPLICATION		0x40 /* old: 2 */
 
ASN1_CLASS_CONTEXT_SPECIFIC
# define ASN1_CLASS_CONTEXT_SPECIFIC 0x80 /* old: 3 */
 
ASN1_CLASS_PRIVATE
# define ASN1_CLASS_PRIVATE		0xC0 /* old: 4 */
 
ASN1_CLASS_STRUCTURED
# define ASN1_CLASS_STRUCTURED		0x20
 
ASN1_TAG_BOOLEAN
# define ASN1_TAG_BOOLEAN		0x01
 
ASN1_TAG_INTEGER
# define ASN1_TAG_INTEGER		0x02
 
ASN1_TAG_SEQUENCE
# define ASN1_TAG_SEQUENCE		0x10
 
ASN1_TAG_SET
# define ASN1_TAG_SET			0x11
 
ASN1_TAG_OCTET_STRING
# define ASN1_TAG_OCTET_STRING		0x04
 
ASN1_TAG_BIT_STRING
# define ASN1_TAG_BIT_STRING		0x03
 
ASN1_TAG_UTCTime
# define ASN1_TAG_UTCTime		0x17
 
ASN1_TAG_GENERALIZEDTime
# define ASN1_TAG_GENERALIZEDTime 0x18
 
ASN1_TAG_OBJECT_ID
# define ASN1_TAG_OBJECT_ID		0x06
 
ASN1_TAG_ENUMERATED
# define ASN1_TAG_ENUMERATED		0x0A
 
ASN1_TAG_NULL
# define ASN1_TAG_NULL			0x05
 
ASN1_TAG_GENERALSTRING
# define ASN1_TAG_GENERALSTRING		0x1B
 
ASN1_TAG_NUMERIC_STRING
# define ASN1_TAG_NUMERIC_STRING		0x12
 
ASN1_TAG_IA5_STRING
# define ASN1_TAG_IA5_STRING		0x16
 
ASN1_TAG_TELETEX_STRING
# define ASN1_TAG_TELETEX_STRING		0x14
 
ASN1_TAG_PRINTABLE_STRING
# define ASN1_TAG_PRINTABLE_STRING 0x13
 
ASN1_TAG_UNIVERSAL_STRING
# define ASN1_TAG_UNIVERSAL_STRING 0x1C
 
ASN1_TAG_BMP_STRING
# define ASN1_TAG_BMP_STRING		0x1E
 
ASN1_TAG_UTF8_STRING
# define ASN1_TAG_UTF8_STRING		0x0C
 
ASN1_TAG_VISIBLE_STRING
# define ASN1_TAG_VISIBLE_STRING		0x1A
 
asn1_node_st
  typedef struct asn1_node_st asn1_node_st;
 
asn1_node
  typedef asn1_node_st *asn1_node;
Structure definition used for the node of the tree
that represents an ASN.1 DEFINITION.
 
asn1_node_const
  typedef const asn1_node_st *asn1_node_const;
 
ASN1_MAX_NAME_SIZE
# define ASN1_MAX_NAME_SIZE 64
Maximum number of characters of a name
inside a file with ASN1 definitions.
 
ASN1_ETYPE_INVALID
# define ASN1_ETYPE_INVALID        0
 
ASN1_ETYPE_CONSTANT
# define ASN1_ETYPE_CONSTANT       1
 
ASN1_ETYPE_IDENTIFIER
# define ASN1_ETYPE_IDENTIFIER     2
 
ASN1_ETYPE_INTEGER
# define ASN1_ETYPE_INTEGER        3
 
ASN1_ETYPE_BOOLEAN
# define ASN1_ETYPE_BOOLEAN        4
 
ASN1_ETYPE_SEQUENCE
# define ASN1_ETYPE_SEQUENCE       5
 
ASN1_ETYPE_BIT_STRING
# define ASN1_ETYPE_BIT_STRING     6
 
ASN1_ETYPE_OCTET_STRING
# define ASN1_ETYPE_OCTET_STRING   7
 
ASN1_ETYPE_TAG
# define ASN1_ETYPE_TAG            8
 
ASN1_ETYPE_DEFAULT
# define ASN1_ETYPE_DEFAULT        9
 
ASN1_ETYPE_SIZE
# define ASN1_ETYPE_SIZE          10
 
ASN1_ETYPE_SEQUENCE_OF
# define ASN1_ETYPE_SEQUENCE_OF   11
 
ASN1_ETYPE_OBJECT_ID
# define ASN1_ETYPE_OBJECT_ID     12
 
ASN1_ETYPE_ANY
# define ASN1_ETYPE_ANY           13
 
ASN1_ETYPE_SET
# define ASN1_ETYPE_SET           14
 
ASN1_ETYPE_SET_OF
# define ASN1_ETYPE_SET_OF        15
 
ASN1_ETYPE_DEFINITIONS
# define ASN1_ETYPE_DEFINITIONS   16
 
ASN1_ETYPE_CHOICE
# define ASN1_ETYPE_CHOICE        18
 
ASN1_ETYPE_IMPORTS
# define ASN1_ETYPE_IMPORTS       19
 
ASN1_ETYPE_NULL
# define ASN1_ETYPE_NULL          20
 
ASN1_ETYPE_ENUMERATED
# define ASN1_ETYPE_ENUMERATED    21
 
ASN1_ETYPE_GENERALSTRING
# define ASN1_ETYPE_GENERALSTRING 27
 
ASN1_ETYPE_NUMERIC_STRING
# define ASN1_ETYPE_NUMERIC_STRING 28
 
ASN1_ETYPE_IA5_STRING
# define ASN1_ETYPE_IA5_STRING     29
 
ASN1_ETYPE_TELETEX_STRING
# define ASN1_ETYPE_TELETEX_STRING 30
 
ASN1_ETYPE_PRINTABLE_STRING
# define ASN1_ETYPE_PRINTABLE_STRING 31
 
ASN1_ETYPE_UNIVERSAL_STRING
# define ASN1_ETYPE_UNIVERSAL_STRING 32
 
ASN1_ETYPE_BMP_STRING
# define ASN1_ETYPE_BMP_STRING     33
 
ASN1_ETYPE_UTF8_STRING
# define ASN1_ETYPE_UTF8_STRING    34
 
ASN1_ETYPE_VISIBLE_STRING
# define ASN1_ETYPE_VISIBLE_STRING 35
 
ASN1_ETYPE_UTC_TIME
# define ASN1_ETYPE_UTC_TIME       36
 
ASN1_ETYPE_GENERALIZED_TIME
# define ASN1_ETYPE_GENERALIZED_TIME 37
 
ASN1_DELETE_FLAG_ZEROIZE
# define ASN1_DELETE_FLAG_ZEROIZE 1
Used by: asn1_delete_structure2()
Zeroize values prior to deinitialization.
 
ASN1_DECODE_FLAG_ALLOW_PADDING
# define ASN1_DECODE_FLAG_ALLOW_PADDING 1
Used by: asn1_der_decoding2()
This flag would allow arbitrary data past the DER data.
 
ASN1_DECODE_FLAG_STRICT_DER
# define ASN1_DECODE_FLAG_STRICT_DER (1<<1)
Used by: asn1_der_decoding2()
This flag would ensure that no BER decoding takes place.
 
ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME
# define ASN1_DECODE_FLAG_ALLOW_INCORRECT_TIME (1<<2)
Used by: asn1_der_decoding2()
This flag will tolerate Time encoding errors when in strict DER.