Home → ASN.1 → asn1c manual
ASN1C(1) ASN.1 Compiler ASN1C(1)
asn1c - ASN.1 Compiler
asn1c [-E [-F] | -P | -R]
[-Wdebug-...] [-foption] [-gen-option] [-print-option]
asn1c compiles ASN.1 specifications into a set of target language
(C/C++) encoders and decoders for BER, DER, XER and other encoding
-E -F -P -R -S directory -X
-Werror -Wdebug-lexer -Wdebug-fixer -Wdebug-compiler
-fall-defs-global -fbless-SIZE -fcompound-names -findirect-
choice -fknown-extern-type=<name> -fnative-types -fno-con-
straints -fno-include-deps -funnamed-unions -fskeletons-copy
Codecs Generation Options
-E Stop after the parsing stage and print the reconstructed ASN.1
specification code to the standard output.
-F Used together with -E, instructs the compiler to stop after the
ASN.1 syntax tree fixing stage and dump the reconstructed ASN.1
specification to the standard output.
-P Dump the compiled output to the standard output instead of cre-
ating the target language files on disk.
-R Restrict the compiler to generate only the ASN.1 tables, omit-
ting the usual support code.
Use the specified directory with ASN.1 skeleton files.
-X Generate an XML DTD schema for the specified ASN.1 files.
Treat warnings as errors; abort if any warning is produced.
Enable lexer debugging during the ASN.1 parsing stage.
Enable ASN.1 syntax tree fixer debugging during the fixing
Enable debugging during the actual compile time.
Normally the compiler hides the definitions (asn1_DEF_xxx) of
the inner structure elements (members of SEQUENCE, SET and other
types). This option makes all such definitions global. Using
this option may pollute the namespace by making lots of
asn1_DEF_xxx structures globally visible, but will allow you to
manipulate (encode and decode) the individual members of any
complex ASN.1 structure.
Allow SIZE() constraint for INTEGER, ENUMERATED, and other types
for which this constraint is normally prohibited by the stan-
dard. This is a violation of ASN.1 standard, and the compiler
may fail to produce a meaningful code.
Using this option prevents name collisions in the target source
code by using complex names for target language structures.
(Name collisions may occur if the ASN.1 module reuses the same
identifiers in multiple contexts).
When generating code for a CHOICE type, compile the CHOICE mem-
bers as indirect pointers instead of declaring them inline. Con-
sider using this option together with -fno-include-deps to pre-
vent circular references.
Pretend the specified type is known. The compiler will assume
the target language source files for the given type have been
Use the native machine's data types (int, double) whenever pos-
sible, instead of the compound INTEGER_t, ENUMERATED_t and
Do not generate ASN.1 subtype constraint checking code. This may
make a shorter executable.
Do not generate courtesy #include lines for non-critical type
dependencies. Helps prevent namespace collisions.
Enable unnamed unions in the definitions of target language's
Copy support files (skeletons) rather than symlink them.
CODECS GENERATION OPTIONS
Generate Packed Encoding Rules (PER) support code.
When -EF are also specified, this option forces the compiler to
explain its internal understanding of subtype constraints.
Generate "-- #line" comments in -E output.
Lev Walkin <firstname.lastname@example.org>
ASN.1 Compiler ASN1C(1)