Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Open Source
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

C/C++ Common Runtime Classes and Library Functions

ASN1C v5.8x

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 ASN1CTXT 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 ASN.1 context variables (variables of type ASN1CTXT) 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.

Copyright © 1997-2005 Objective Systems,Inc.
All Rights Reserved.
This document may be distributed in any form, electronic
or otherwise, provided that it is distributed in its entirety
and that the copyright and this notice are included.

This file was last modified on 8 Sep 2005.
ASN1C C/C++ Common Runtime, ASN1C v5.8x