The ASN.1 C++ run-time classes are wrapper classes that provide an object-oriented interface to the ASN.1 C run-time library functions. The categories of classes provided are as follows:
-
Context Management classes manage the OSCTXT structure used to keep track of the working variables required to encode or decode ASN.1 messages.
-
Message Buffer classes are used to manage message buffers.
-
ASN1C Control Base classes are wrapper classes that are used as the base for compiler-generated ASN1C_ classes, including Date and Time Run-time classes.
-
ASN.1 Type (ASN1T_) Base classes are used as the base for compiler- generated ASN1T_ C++ data structures.
-
ASN.1 Stream classes are used to read and write ASN.1 messages from and to files, sockets, memory buffer, etc.
-
TCP/IP or UDP Socket classes provide utility methods for doing socket I/O.
-
Asn1NamedEventHandler classes include the base classes for user-defined error handler and event handler classes.
The C run-time common library contains common C functions used by the encoding rules (BER/DER, PER, and XER) low-level encode/decode functions. These functions are identified by their rt prefixes. The categories of functions provided are as follows:
-
Memory Allocation macros and functions handle memory management for the ASN1C run-time.
-
Context Management functions handle the allocation, initialization, and destruction of context variables (variables of type OSCTXT) that handle the working data used during encoding or decoding a message.
-
Diagnostic Trace functions allow the output of trace messages to standard output that trace the execution of complier generated functions.
-
Error Formatting and Print functions allow information about the encode/decode errors to be added to a context block structure and printed out.
-
Memory Buffer Management functions handle the allocation, expansion, and de-allocation of dynamic memory buffers used by some encode/decode functions.
-
Object Identifier Helper functions provide assistance in working with the object identifier ASN.1 type.
-
Linked List and Stack Utility functions are used to maintain linked lists and stacks used within the ASN.1 run-time library functions.
-
REAL Helper functions - REAL helper functions provide assistance in working with the REAL ASN.1 type. Two functions are provided to obtain the plus and minus infinity special values.
-
Formatted Printing functions allow raw ASN.1 data fields to be formatted and printed to standard output and other output devices.
-
Binary Coded Decimal (BCD) helper functions provide assistance in working with BCD numbers.
-
Character String Conversion functions convert between standard null-terminated C strings and different ASN.1 string types.
-
Big Integer Helper functions are arbitrary-precision integer manipulating functions used to maintain big integers used within the ASN.1 run-time functions.
-
Comparison functions allow comparison of the values of primitive ASN.1 types. They make it possible to compare complex structures and determine what elements within those structures are different.
-
Comparison to Standard Output functions do the same actions as the other comparison functions, but print the comparison results to standard output instead of to the buffer.
-
Copy functions - This group of functions allows copying values of primitive ASN.1 types.
-
Print Values to Standard Output functions print the output in a "name=value" format, where the value format is obtained by calling one of the ToString functions with the given value.