For an in-depth description, as well as for functional block diagrams and code snippets related to the ASN.1/C Compiler, Encoder/Decoder API, and CAGL (Compile-And-Go-Library), see the sections corresponding to each tool. To easily navigate to a specific topic of interest, browse the table of contents.
The OSS ASN.1 Tools for C is a toolkit developed by OSS Nokalva to support ASN.1 and its encoding rules. The toolkit provides a complete hassle-free solution, with full support of the ASN.1 syntax based on the ASN.1:1990 and ASN.1:2015 standards, and the following encoding rules:
The OSS ASN.1 Tools toolkit is designed to meet your needs and comes with many customization features, which include: command-line options, compiler directives, and encoder/decoder flags.
The OSS ASN.1 Tools package includes the following components:
The ASN.1 compiler is a stand-alone program that takes ASN.1 specifications as input, and generates C language data structures and control tables for encoding and decoding. The OSS ASN.1 compiler also provides extensive diagnostic capabilities to minimize your development time and effort.
The following files are generated:
Based on the code size, encoding/decoding speed and diagnostic capabilities, the runtime libraries are classified into three categories:
The Space-Optimized Encoder/Decoder (SOED) is table-driven and, as its name implies, minimizes the use of memory, which is especially useful when the schema is large or complex. Both the encoder and decoder have a simple, yet flexible memory management interface, as well as a wealth of trace, error trapping, diagnostic, and recovery capabilities.
The Time-Optimized Encoder/Decoder (TOED), on the other hand, is optimized for speed. It includes the same capabilities as SOED, except for tracing.
The Lean Encoder/Decoder (LED) is a table-driven encoder/decoder that is provided separately by OSS Nokalva. Similar to TOED, it is optimized for speed, and, similar to SOED, it uses a minimum amount of memory. LED is best suited for embedded systems that have a limited amount of memory and require a short amount of processing time while running applications.
The following diagram shows an overview of the SOED and TOED workflow. For more information about choosing the right encoder/decoder that suits your specific needs, see ASN.1 Tools for C — Runtime Choices.
ASN.1 Studio is a graphical development environment available for Windows and Linux platforms, and provides a rich set of capabilities that make the ASN.1 compilation process easier.
You can use ASN.1 Studio to:
To read more about its features, see ASN.1 Studio.
SOED and TOED workflow
This documentation applies to OSS® ASN.1 Tools for C release 10.3 and later. For earlier versions, consult the PDF manual available in your product installation.
Copyright © 2017 OSS Nokalva, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic, mechanical, photocopying, recording or otherwise, without the prior permission of OSS Nokalva, Inc.
Every distributed copy of the OSS® ASN.1 Tools for C is associated with a specific license and related unique license number. That license determines, among other things, what functions of the OSS ASN.1 Tools for C are available to you.