C/C++ Common Runtime Classes and Library Functions

ASN1C v7.0.x

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.