C/C++ Common Runtime Classes and Library Functions
ASN1C v6.0xThe 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.