Man Linux: Main Page and Category List

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@lionet.info>