CAGL Overview

Applies to: ASN.1/C 10.5

The OSS Compile-and-Go-Library (CAGL) enables you to dynamically parse ASN.1 schemas.

CAGL is a good choice when:

  • Your data schema is unknown at build-time. CAGL provides access to the internal structure at runtime, for example, when developing protocol analyzers or message "explorer" apps, without CAGL, you are limited to compiling and linking your application with an existing set of ASN.1 specifications which cannot be changed during runtime.
  • Your ASN.1 schema (3GPP UMTS specifications, for example) changes periodically or frequently.

NOTE: The OSS CAGL compiler and API functions are provided separately by OSS Nokalva. For information about purchasing CAGL, please contact Sales ‹sales@oss.com›.

When using CAGL, you can invoke the ASN.1 compiler during runtime from your application. The API enables you to dynamically create an in-memory control table for any arbitrary ASN.1 specification. The control table provides details about the specification types, tags, constraints, information object field relations.

Additionally, you can use parts of the specified ASN.1 schema for encoding, decoding, copying, comparing.

After creating the control table, you can use the Interpretive ASN.1 API (IAAPI) functions to access and modify the contents of the ASN.1 specification corresponding to the created control table.

NOTE: The IAAPI library is provided separately by OSS Nokalva. For information about purchasing the IAAPI library, please contact Sales ‹sales@oss.com›.

Make sure you #include osscag.h when using CAGL and link with CAGL libraries (static SOED osscaglmt.lib/osscaglmd.lib or Lean osscagllmt.lib/osscagllmd.lib).


This documentation applies to the OSS® ASN.1 Tools for C release 10.5 and later.

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.