'\" t .\" Title: esnacc .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2016-04-26 .\" Manual: Development .\" Source: esnacc 1.8.1 .\" Language: English .\" .TH "ESNACC" "1" "2016\-04\-26" "esnacc 1\&.8\&.1" "Development" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" esnacc \- ASN\&.1 compiler which generates C/C++ code suitable for encoding/decoding BER and PER .SH "SYNOPSIS" \fBesnacc\fR [\fB\-h\fR] [\fB\-P\fR] [\fB\-t\fR] [\fB\-v\fR] [\fB\-e\fR] [\fB\-d\fR] [\fB\-p\fR] [\fB\-f\fR] [\fB\-y\fR] [\fB\-M\fR] [\fB\-B\fR] [\fB\-c\fR] [\fB\-C\fR] [\fB\-T\ \fR\fB\fItable\ file\fR\fR] [\fB\-idl\fR] [\fB\-I\ \fR\fB\fIinclude\ directory\fR\fR] [\fB\-mm\fR] [\fB\-mf\fR] [\fB\-mo\fR] [\fB\-l\ \fR\fB\fInegative\ number\fR\fR] [\fB\-VDAexport=\fR\fB\fIDEFINE_NAME\fR\fR] [\fB\-E\ \fR\fB\fIBER|DER\fR\fR] [\fB\-a\ \fR\fB\fIstart\ number\fR\fR] [ASN\&.1\ File\ List].SH "DESCRIPTION" .PP \fBesnacc\fR is an enhanced version of the Sample Neufeld ASN\&.1 C Compiler\&. It takes ASN\&.1 formatted sources and produces C or C++ source code for BER encode and decode routines as well as print and free routines for each type in the given ASN\&.1 modules\&. Alternatively, esnacc can produce type tables that can be used for table based/intepreted encoding and decoding\&. The type table based methods tend to be slower than their C or C++ counterparts, but they usually use less memory (table size vs\&. object code) .PP Most of the 1990 ASN\&.1 features are parsed although some do not affect the generated code\&. Fairly rigorous error checking is performed on the ASN\&.1 source; any errors detected will be reported (printed to stderr)\&. .PP Each file in the ASN\&.1 file list should contain a complete ASN\&.1 module\&. ASN\&.1 modules that use IMPORTS feature will be compiled together\&. The generated source files will include each module\*(Aqs header file in command line order\&. This means it is important to order the modules from least dependent to most dependent on the command line to avoid type ordering problems\&. Currently, esnacc assumes that each ASN\&.1 file given on the command line depends on all of the others from the command line\&. No attempt is made to only include the header files from modules referenced in the import list for that module\&. .PP If the target language is C, esnacc generates \&.c and \&.h files\&. If the target language is C++, esnacc generates \&.cpp and \&.h files\&. .SH "OPTIONS" .PP \fB\-h\fR .RS 4 Prints a synopsis of \fBesnacc\fR and exits\&. .RE .SH "AUTHOR" .PP Enhanced SNACC was originally written by Michael Sample, but has since been modified by numerous contributors\&. .SH "COPYRIGHT" .br Copyright \(co 2016 Aaron Conole .br