logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

esnacc - ASN.1 compiler which generates C/C++ code suitable for encoding/decoding BER and PER

Author

       Enhanced SNACC was originally written by Michael Sample, but has since been modified by numerous
       contributors.

Name

       esnacc - ASN.1 compiler which generates C/C++ code suitable for encoding/decoding BER and PER

Options

-h
           Prints a synopsis of esnacc and exits.

Synopsis

esnacc [-h] [-P] [-t] [-v] [-e] [-d] [-p] [-f] [-y] [-M] [-B] [-c] [-C] [-Ttablefile] [-idl]
       [-Iincludedirectory] [-mm] [-mf] [-mo] [-lnegativenumber] [-VDAexport=DEFINE_NAME] [-EBER|DER]
       [-astartnumber] [ASN.1 File List].SH "DESCRIPTION"

       esnacc 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)

       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).

       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's 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.

       If the target language is C, esnacc generates .c and .h files. If the target language is C++, esnacc
       generates .cpp and .h files.

See Also