xenial (1) asn1c.1.gz

Provided by: asn1c_0.9.24+dfsg-1_amd64 bug

NAME

       asn1c - ASN.1 Compiler

SYNOPSIS

       asn1c [-E [-F] | -P | -R]
             [-Sdir] [-X]
             [-Wdebug-...] [-foption] [-gen-option] [-pdu={all|auto|Type}]
             [-print-option]
             infile...

DESCRIPTION

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

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={all|auto|Type}

       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

       -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={all|auto|Type}
              Create  a PDU table for specified types, or discover Protocol Data Units automatically. In case of
              -pdu=all, all ASN.1 types defined in all modules will form a PDU table. In case of -pdu=auto,  all
              types  not  referenced  by  any  other  type  will  form  a  PDU  table.  If Type is an ASN.1 type
              identifier, it is added to a PDU table.  The last form may be specified multiple times to add  any
              number of PDUs.

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>