Home → ASN.1

ASN1C(1)			ASN.1 Compiler			      ASN1C(1)




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>  -fno-constraints  -fno-include-deps
	      -funnamed-unions

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

       -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  stan-
	      dard.  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 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.

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

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


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>



ASN.1 Compiler							      ASN1C(1)

The ASN.1 Compiler Copyright © 2003—2017 Lev Walkin <vlm@lionet.info>