man asn1c (Commandes) - ASN.1 Compiler
NAME
asn1c - ASN.1 Compiler
SYNOPSIS
asn1c [-E [-F] | -P | -R] [-Sdir] [-X] [-Wdebug-...] [-foption...] [-print-...] infile...
DESCRIPTION
asn1c compiles the ASN.1 specifications into the 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
-fall-defs-global -fbless-SIZE -fcompound-names -fknown-extern-type=<name> -fnative-types -fno-constraints -fno-include-deps -funnamed-unions -ftypes88- 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 c -Ec , 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 the 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
- -fall-defs-global
- 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. Enabling 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.
- -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 an ASN.1 standard and compiler may fail to produce meaningful code.
- -fcompound-names
- Using this switch 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).
- -fknown-extern-type=<name>
- Pretend the specified type is known. The compiler will assume the target language source files for the given type are 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.
- -ftypes88
- Pretend to support only ASN.1:1988 embedded types. Certain reserved words, such as UniversalString and BMPString, become ordinary type references and may be redefined by the specification.
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
AUTHORS
Lev Walkin <vlm@lionet.info>