Talura ASN.1 compiler (TACO)
(demo-version)
Description
The Talura ASN.1 compiler (demo), includes support for parts of the 2002 edition of ASN.1.
The demo do NOT support constraints.
Be aware that the demo-version has a time-lock mechanism in the generated output. Therefore the produced output can only be used for a limited time. You can recompile your ASN.1 modules and a new time-out is generated.
Download
The Talura ASN.1 compiler (demo) can be downloaded for Linux (x86) and Win32.
Beware! It is required that your C-compiler supports ISO-C99!
This is normally not a problem on Linux, but may be a problem on Win32.
If you don't have ISO-C99 support in your Win32 C-compiler, try the Open Source compiler MinGW.
Linux: taco (538562(.gz)/1540944 bytes)
Win32: taco (360376(.zip)/977408 bytes)
Unzip the downloaded file "taco_3.0.5_demo.gz/zip" and give execution rights, if necessary.
Some browsers seems to remove the '.gz/.zip' extension during download, but hasn't run (g)unzip.
If you have such a browser, add the missing '.gz/.zip' extension and run (g)unzip.
Recommended location
/usr/local/bin/taco
Execution
To run the Talura ASN.1 compiler, read the included help:
taco --help
Talura ASN.1 run-time engine (TARE)
(demo-version)
Description
The Talura ASN.1 run-time engine (demo), includes support for encoding, decoding and comparison of ASN.1 type/values.
BER and XER supported.
The demo do NOT support constraints.
Download
The Talura ASN.1 run-time engine (demo) can be downloaded for Linux (x86) and Win32.
Linux: libtare (514522 bytes)
Win32: libtare (197848 bytes)
Recommended location
/usr/local/lib/libtare.a
Header files
(For both Linux and Win32.)
asn1def.h
asn1api.h
asn1codec.h
Recommended location
/usr/local/include/
Application example
ASN.1 module
example.asn
Application (C-code)
application.c
Beware!
In the example, print-format is according to ISO-C99.
On Win32, msvcrt may not recognize 'jd', 'zd' and 'Lf'.
- 'jd' can be replaced by '"PRIdMAX"'.
- 'zd' can be replaced by 'u'.
- 'Lf' can be replaced by 'lf' and a typecast '(double)', but with a loss of precision.
Compilation
Compile ASN.1 module
taco -i example.asn -o example
Compile application
cc application.c example.c -std=c99 -o example_application -lm -ltare
(cc must be ISO-C99 compliant! E.g. gcc 3.0.x, but NOT gcc 2.x)
Megaco (Benchmark example)
ASN.1 module
megaco.asn
Application (C-code)
Performance test file
megaco_test.c
Data display
disp_megaco.c
disp_megaco.h
Beware!
In the example, print-format is according to ISO-C99.
On Win32, msvcrt may not recognize 'jd', 'zd' and 'Lf'.
- 'jd' can be replaced by '"PRIdMAX"'.
- 'zd' can be replaced by 'u'.
- 'Lf' can be replaced by 'lf' and a typecast '(double)', but with a loss of precision.
Compilation
Compile ASN.1 module
taco -i megaco.asn -o megaco -m none
Compile application
cc megaco_test.c megaco.c disp_megaco.c -std=c99 -o megaco -lm -ltare
(cc must be ISO-C99 compliant! E.g. gcc 3.0.x, but NOT gcc 2.x)
Run test
First you have to download the data files ber.tgz
into a subdirectory named ber and run tar -xzf ber.tgz.
Now you are ready to make a performance test by giving the following command:
./megaco
Result on 700MHz AMD Athlon:
- BER Encode: 6.0 - 6.6 us
- BER Decode: 17.2 - 18.2 us
- XER Encode: 23.6 - 24.3 us
- XER Decode: 56.4 - 59.9 us
See other tools benchmarking.
If you have comments or questions about the performance of our tools, please contact us.
SNMP (Robustness test)
Test-suite from Oulu
A test-suite for testing SNMP has been made at the University of Oulu, Finland.
We have taken the parts of this test-suite that concerns robustness of BER-decoders and run the tests using our ASN.1 tools.
ASN.1 modules
rfc1155.asn
rfc1157.asn
Application (C-code)
Robustness test file
snmp_test.c
Compilation
Compile ASN.1 modules
taco -i rcf115*.asn -o snmp -m none
Compile application
cc snmp_test.c snmp.c -std=c99 -o snmp -lm -ltare
(cc must be ISO-C99 compliant! E.g. gcc 3.0.x, but NOT gcc 2.x)
Run test
First you have to download the data files
c06-snmpv1-req-enc-r1.jar
c06-snmpv1-trap-enc-r1.jar
into two subdirectory and run unzip.
In each of the subdirectories, you can now run the robustness test giving the following command:
<path to executable>/snmp
If you have comments or questions about the robustness, please contact us.
Limited warranty
Although the product has been prepared using reasonable standards of care, TALURA DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE PRODUCT.
No liability for consequential damages
In no event shall Talura be liable for any damages whatsoever (including, without limitation, damages for loss of profits, business interruption, loss of information, or other pecuniary loss) arising out of the use of or inability to use this product, even if Talura has been advised of the possibility of such damages.
Copyright © 1996-2024 Talura ApS