sourCEntral - mobile manpages

pdf

ASN1C

NAME

asn1c − ASN.1 Compiler

SYNOPSIS

asn1c [−E [-F] | −P | −R]
[−Sdir] [-X]
[−Wdebug-...] [−foption] [−gen-option] [−pdu=option]
[−print-option]
infile
...

DESCRIPTION

asn1c compiles ASN.1 specifications into a set of target language (C/C++) encoders and decoders for BER, DER, XER and other encoding standards.

OPTIONS

Overall Options

−E −F −P −R −S directory −X

Warning Options

−Werror −Wdebug-lexer −Wdebug-fixer −Wdebug-compiler

Language Options

−fbless-SIZE −fcompound-names −findirect-choice −fknown-extern-type=<name> −fnative-types −fno-constraints −fno-include-deps −funnamed-unions −fskeletons-copy

Codecs Generation Options

−gen-PER −pdu=auto

Output Options

−print-constraints −print-lines

OVERALL 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 creating the target language files on disk.

−R

Restrict the compiler to generate only the ASN.1 tables, omitting the usual support code.

−S directory

Use the specified directory with ASN.1 skeleton files.

−X

Generate an XML DTD schema for the specified ASN.1 files.

WARNING OPTIONS

−Werror

Treat warnings as errors; abort if any warning is produced.

−Wdebug-lexer

Enable lexer debugging during the ASN.1 parsing stage.

−Wdebug-fixer

Enable ASN.1 syntax tree fixer debugging during the fixing stage.

−Wdebug-compiler

Enable debugging during the actual compile time.

LANGUAGE OPTIONS

.TP −fbless-SIZE Allow SIZE() constraint for INTEGER, ENUMERATED, and other types for which this constraint is normally prohibited by the standard. This is a violation of ASN.1 standard, and the compiler may fail to produce a meaningful code.
−fcompound-names

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

−findirect-choice

When generating code for a CHOICE type, compile the CHOICE members as indirect pointers instead of declaring them inline. Consider using this option together with −fno-include-deps to prevent circular references.

−fknown-extern-type=<name>

Pretend the specified type is known. The compiler will assume the target language source files for the given type have been provided manually.

−fnative-types

Use the native machine’s data types (int, double) whenever possible, instead of the compound INTEGER_t, ENUMERATED_t and REAL_t types.

−fno-constraints

Do not generate ASN.1 subtype constraint checking code. This may make a shorter executable.

−fno-include-deps

Do not generate courtesy #include lines for non-critical type dependencies. Helps prevent namespace collisions.

−funnamed-unions

Enable unnamed unions in the definitions of target language’s structures.

−fskeletons-copy

Copy support files (skeletons) rather than symlink them.

CODECS GENERATION OPTIONS

−gen-PER

Generate Packed Encoding Rules (PER) support code.

−pdu=auto

Generate PDU tables by discovering Protocol Data Units automatically.

OUTPUT OPTIONS

−print-constraints

When -EF are also specified, this option forces the compiler to explain its internal understanding of subtype constraints.

−print-lines

Generate "-- #line" comments in -E output.

SEE ALSO

unber(1), enber(1)

AUTHORS

Lev Walkin <vlm AT lionet DOT info>

pdf