mirror of https://gerrit.osmocom.org/asn1c
135 lines
4.3 KiB
Groff
135 lines
4.3 KiB
Groff
.TH ASN1C 1 "\*(Dt" "ASN.1 Compiler" "ASN.1 Compiler"
|
|
.SH NAME
|
|
asn1c \- ASN.1 Compiler
|
|
.SH SYNOPSIS
|
|
asn1c [\fB\-E\fR [\fB-F\fR] | \fB\-P\fR | \fB\-R\fR]
|
|
[\fB\-S\fR\fIdir\fR] [\fB-X\fR]
|
|
[\fB\-W\fR\fIdebug-\fR...] [\fB\-f\fR\fIoption\fR...] [\fB\-p\fR\fIrint-\fR...]
|
|
\fIinfile\fR...
|
|
.SH 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.
|
|
.SH OPTIONS
|
|
.TP
|
|
\fIOverall Options\fR
|
|
\fB\-E \-F \-P \-R\fR
|
|
.BI "\-S " directory
|
|
\fB\-X
|
|
.TP
|
|
\fIWarning Options\fR
|
|
.br
|
|
\fB\-Werror \-Wdebug-lexer \-Wdebug-fixer \-Wdebug-compiler\fR
|
|
.TP
|
|
\fILanguage Options\fR
|
|
.br
|
|
\fB\-fall-defs-global \-fbless-SIZE \-fcompound-names \-findirect-choice
|
|
.BI "\-fknown-extern-type="<name>
|
|
\fB\-fnative-types \-fno-constraints \-fno-include-deps \-funnamed-unions \-ftypes88\fR
|
|
.TP
|
|
\fIOutput Options\fR
|
|
.br
|
|
.B \-print-constraints \-print-lines
|
|
.SH OVERALL OPTIONS
|
|
.TP
|
|
.B \-E
|
|
Stop after the parsing stage and print the reconstructed ASN.1
|
|
specification code to the standard output.
|
|
.TP
|
|
.B \-F
|
|
Used together with \c
|
|
.B \-E\c
|
|
, instructs the compiler to stop after the ASN.1 syntax
|
|
tree fixing stage and dump the reconstructed ASN.1 specification
|
|
to the standard output.
|
|
.TP
|
|
.B \-P
|
|
Dump the compiled output to the standard output instead of creating the
|
|
target language files on disk.
|
|
.TP
|
|
.B \-R
|
|
Restrict the compiler to generate only the ASN.1 tables,
|
|
omitting the usual support code.
|
|
.TP
|
|
\fB\-S\fR \fIdirectory\fR
|
|
Use the specified directory with ASN.1 skeleton files.
|
|
.TP
|
|
.B \-X
|
|
Generate the XML DTD schema for the specified ASN.1 files.
|
|
.SH WARNING OPTIONS
|
|
.TP
|
|
.B \-Werror
|
|
Treat warnings as errors; abort if any warning is produced.
|
|
.TP
|
|
.B \-Wdebug-lexer
|
|
Enable lexer debugging during the ASN.1 parsing stage.
|
|
.TP
|
|
.B \-Wdebug-fixer
|
|
Enable ASN.1 syntax tree fixer debugging during the fixing stage.
|
|
.TP
|
|
.B \-Wdebug-compiler
|
|
Enable debugging during the actual compile time.
|
|
.SH LANGUAGE OPTIONS
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-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).
|
|
.TP
|
|
.B \-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
|
|
.B \-fno-include-deps
|
|
to prevent circular references.
|
|
.TP
|
|
.BI "\-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.
|
|
.TP
|
|
.B \-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.
|
|
.TP
|
|
.B \-fno-constraints
|
|
Do not generate ASN.1 subtype constraint checking code. This may make a shorter executable.
|
|
.TP
|
|
.B \-fno-include-deps
|
|
Do not generate courtesy #include lines for non-critical type dependencies.
|
|
Helps prevent namespace collisions.
|
|
.TP
|
|
.B \-funnamed-unions
|
|
Enable unnamed unions in the definitions of target language's structures.
|
|
.TP
|
|
.B \-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.
|
|
.SH OUTPUT OPTIONS
|
|
.TP
|
|
.B \-print-constraints
|
|
When -EF are also specified, this option forces the compiler to explain
|
|
its internal understanding of subtype constraints.
|
|
.TP
|
|
.B \-print-lines
|
|
Generate "-- #line" comments in \fB-E\fR output.
|
|
.SH SEE ALSO
|
|
.TP
|
|
\&\fIunber\fR\|(1), \&\fIenber\fR\|(1)
|
|
.SH AUTHORS
|
|
Lev Walkin <vlm@lionet.info>
|