ASNSDK TCE-C
Version 5.0 enhancements

The release TCE-C v5.0 is compliant to the latest ASN.1 standard 2008. The code-generation technology now supports constraint checking using generated code, huge integers and a decoding engine without dynamic allocations. Copy and compare function are now generated to copy and compare ASN.1 values created or decoded with TCE-C.

This chapter presents the new services and the improvements added to the TCE-C v5.0 release with regards to the TCE-C v4.1 release.

ASN.1:2008 compliance

The TCE-C Compiler and runtime are now compliant with the 2008 release of the ASN.1 standards.

It supports the following new features:

  • New types: TIME, DATE, DATE-TIME, TIME-OF-DAY, DURATION, OID-IRI and RELATIVE-OID-IRI,
  • A predefined module DefinedTimeTypes for time-related types.

The new types are available with all encoding rules and both technologies, table-driven and code generation. All features can be used with the new types.



Constraint check using code generation technology

In order to improve the runtime performance, constraint checking using generated code is now available for code-generation technology. Up to the previous release table-driven constraint checking was used for code-generation encoding or decoding.

When the ASN.1 syntax is compiled with the option -tech codegen additional files for constraint checking are generated. They must be compiled and linked with the user application and [COMP-USG] for a full list of generated files.



Huge integer type for code generation technology

Integer types which cannot be mapped on a standard or a long integer type can be processed by using the format comment --$ IntegerRange huge --. This feature was available for the table-driven encoding/decoding engine only.

In TCE-C v5.0 this feature was extended for the usage with code-generation technology.



Code generation technology without dynamic memory allocations

Some ASN.1 types require memory allocations during decoding. In order to avoid these allocations the formal comment --$ implement size -- has been introduced in the previous release. However, this feature was available for the table-driven encoding/decoding engine only.

In TCE-C v5.0 this feature was extended for the usage with code-generation technology.



Copy and compare for ASN.1 values

The runtime now provides dedicated deep copy and compare functions for each generated type. ASN.1 values which are created or decoded can easily be copied or compared. These functions need respectively the asnCopCopytor and asnCopOpCmp macros.