Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
asn1c
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
asn1c
Commits
73d2e980
Commit
73d2e980
authored
Jun 02, 2021
by
Uri Blumenthal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update man page
parent
c8125d72
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
91 additions
and
154 deletions
+91
-154
doc/man/asn1c.1
doc/man/asn1c.1
+91
-154
No files found.
doc/man/asn1c.1
View file @
73d2e980
.\"t
.\"t
.\" Automatically generated by Pandoc
1.16.0.2
.\" Automatically generated by Pandoc
2.10.1
.\"
.\"
.ad l
.ad l
.TH "asn1c" "1" "2017
\-09\
-01" "ASN.1 Compiler" "Version 0.9.29"
.TH "asn1c" "1" "2017
-09
-01" "ASN.1 Compiler" "Version 0.9.29"
.nh
\" Turn off hyphenation by default.
.nh
.SH NAME
.SH NAME
.PP
.PP
asn1c \
-\-
the ASN.1 Compiler
asn1c \
[en]
the ASN.1 Compiler
.SH SYNOPSIS
.SH SYNOPSIS
.PP
.PP
asn1c [\f[B]
\-E\f[] [\f[B]\-F\f[]] | \f[B]\-P\f[] | \f[B]\-R\f[
]]
asn1c [\f[B]
-E\f[R] [\f[B]-F\f[R]] | \f[B]-P\f[R] | \f[B]-R\f[R
]]
.PD 0
.PD 0
.P
.P
.PD
.PD
[\f[B]
\-S\f[]\f[I]dir\f[]] [\f[B]\-X\f[
]]
[\f[B]
-S\f[R]\f[I]dir\f[R]] [\f[B]-X\f[R
]]
.PD 0
.PD 0
.P
.P
.PD
.PD
[\f[B]
\-W\f[]\f[I]debug\-\f[]...] [\f[B]\-f\f[]\f[I]option\f[
]]
[\f[B]
-W\f[R]\f[I]debug-\f[R]\&...] [\f[B]-f\f[R]\f[I]option\f[R
]]
[\f[B]
\-gen\-\f[]\f[I]option\f[
]]
[\f[B]
-gen-\f[R]\f[I]option\f[R
]]
[\f[B]
\-pdu\f[]={\f[B]all\f[]|\f[B]auto\f[]|\f[I]Type\f[
]}]
[\f[B]
-pdu\f[R]={\f[B]all\f[R]|\f[B]auto\f[R]|\f[I]Type\f[R
]}]
.PD 0
.PD 0
.P
.P
.PD
.PD
[\f[B]
\-print\-\f[]\f[I]option\f[
]]
[\f[B]
-print-\f[R]\f[I]option\f[R
]]
.PD 0
.PD 0
.P
.P
.PD
.PD
\f[I]input
\-filenames\f[]
...
\f[I]input
-filenames\f[R]\&
...
.SH DESCRIPTION
.SH DESCRIPTION
.PP
.PP
asn1c compiles ASN.1 specifications into a set of target language
asn1c compiles ASN.1 specifications into a set of target language
...
@@ -36,220 +36,157 @@ encoding rules.
...
@@ -36,220 +36,157 @@ encoding rules.
.SH OPTIONS
.SH OPTIONS
.SS Stage Selection Options
.SS Stage Selection Options
.TP
.TP
.B \
-E
-E
Run the parsing stage only.
Run the parsing stage only.
Print the reconstructed ASN.1 text.
Print the reconstructed ASN.1 text.
.RS
.RE
.TP
.TP
.B \
-F
-F
Used together with \f[B]
\-E\f[
], instructs the compiler to stop after
Used together with \f[B]
-E\f[R
], instructs the compiler to stop after
the ASN.1 syntax tree fixing stage and dump the reconstructed ASN.1
the ASN.1 syntax tree fixing stage and dump the reconstructed ASN.1
specification to the standard output.
specification to the standard output.
.RS
.RE
.TP
.TP
.B \
-P
-P
Dump the compiled output to the standard output instead of creating the
Dump the compiled output to the standard output instead of creating the
target language files on disk.
target language files on disk.
.RS
.RE
.TP
.TP
.B \
-R
-R
Restrict the compiler to generate only the ASN.1 tables, omitting the
Restrict the compiler to generate only the ASN.1 tables, omitting the
usual support code.
usual support code.
.RS
.RE
.TP
.TP
.B \-S \f[I]directory\f[
]
-S \f[I]directory\f[R
]
Use the specified directory with ASN.1 skeleton files.
Use the specified directory with ASN.1 skeleton files.
.RS
.RE
.TP
.TP
.B \
-X
-X
Generate an XML DTD schema for the specified ASN.1 files.
Generate an XML DTD schema for the specified ASN.1 files.
.RS
.RE
.SS Warning Options
.SS Warning Options
.TP
.TP
.B \
-Werror
-Werror
Treat warnings as errors; abort if any warning is produced.
Treat warnings as errors; abort if any warning is produced.
.RS
.RE
.TP
.TP
.B \-Wdebug\
-lexer
-Wdebug
-lexer
Enable lexer debugging during the ASN.1 lexing stage.
Enable lexer debugging during the ASN.1 lexing stage.
.RS
.RE
.TP
.TP
.B \-Wdebug\
-parser
-Wdebug
-parser
Enable lexer debugging during the ASN.1 parsing stage.
Enable lexer debugging during the ASN.1 parsing stage.
.RS
.RE
.TP
.TP
.B \-Wdebug\
-fixer
-Wdebug
-fixer
Enable ASN.1 syntax tree fixer debugging during the fixing stage.
Enable ASN.1 syntax tree fixer debugging during the fixing stage.
.RS
.RE
.TP
.TP
.B \-Wdebug\
-compiler
-Wdebug
-compiler
Enable debugging during the actual compile time.
Enable debugging during the actual compile time.
.RS
.RE
.SS Language Options
.SS Language Options
.TP
.TP
.B \-fbless\
-SIZE
-fbless
-SIZE
Allow \f[C]SIZE()\f[
] constraint for \f[C]INTEGER\f[
],
Allow \f[C]SIZE()\f[
R] constraint for \f[C]INTEGER\f[R
],
\f[C]ENUMERATED\f[], and other types for which this constraint is
\f[C]ENUMERATED\f[
R
], and other types for which this constraint is
normally prohibited by the standard.
normally prohibited by the standard.
This is a violation of ASN.1 standard, and the compiler may fail to
This is a violation of ASN.1 standard, and the compiler may fail to
produce a meaningful code.
produce a meaningful code.
.RS
.RE
.TP
.TP
.B \-fcompound\
-names
-fcompound
-names
Using this option prevents name collisions in the target source code by
Using this option prevents name collisions in the target source code by
using complex names for target language structures.
using complex names for target language structures.
(Name collisions may occur if the ASN.1 module reuses the same
(Name collisions may occur if the ASN.1 module reuses the same
identifiers in multiple contexts).
identifiers in multiple contexts).
.RS
.RE
.TP
.TP
.B \-findirect\
-choice
-findirect
-choice
When generating code for a \f[C]CHOICE\f[] type, compile the
When generating code for a \f[C]CHOICE\f[
R
] type, compile the
\f[C]CHOICE\f[] members as indirect pointers instead of declaring them
\f[C]CHOICE\f[
R
] members as indirect pointers instead of declaring them
inline.
inline.
Consider using this option together with \f[B]\-fno\-include\-deps\f[]
Consider using this option together with \f[B]-fno-include-deps\f[R] to
to prevent circular references.
prevent circular references.
.RS
.TP
.RE
-fincludes-quoted
.TP
Refer to header files in \f[C]#include\f[R]s using
.B \-fincludes\-quoted
\f[B]\[lq]\f[R]double\f[B]\[rq]\f[R] instead of
Refer to header files in \f[C]#include\f[]s using
\f[B]<\f[R]angle\f[B]>\f[R] quotes.
\f[B]"\f[]double\f[B]"\f[] instead of \f[B]<\f[]angle\f[B]>\f[] quotes.
.TP
.RS
-fknown-extern-type=\f[I]name\f[R]
.RE
.TP
.B \-fknown\-extern\-type=\f[I]name\f[]
Pretend the specified type is known.
Pretend the specified type is known.
The compiler will assume the target language source files for the given
The compiler will assume the target language source files for the given
type have been provided manually.
type have been provided manually.
.RS
.RE
.TP
.TP
.B \-fline\-refs
-fline-refs
Include ASN.1 module\[aq]s line numbers in generated code comments.
Include ASN.1 module\[cq]s line numbers in generated code comments.
.RS
.RE
.TP
.TP
.B \-fno\
-constraints
-fno
-constraints
Do not generate ASN.1 subtype constraint checking code.
Do not generate ASN.1 subtype constraint checking code.
This may make a shorter executable.
This may make a shorter executable.
.RS
.RE
.TP
.TP
.B \-fno\-include\
-deps
-fno-include
-deps
Do not generate courtesy #include lines for non
\
-critical type
Do not generate courtesy #include lines for non-critical type
dependencies.
dependencies.
Helps prevent namespace collisions.
Helps prevent namespace collisions.
.RS
.RE
.TP
.TP
.B \-funnamed\
-unions
-funnamed
-unions
Enable unnamed unions in the definitions of target language\[
a
q]s
Enable unnamed unions in the definitions of target language\[
c
q]s
structures.
structures.
.RS
.TP
.RE
-fwide-types
.TP
Use the unbounded size data types (\f[C]INTEGER_t\f[R],
.B \-fwide\-types
\f[C]ENUMERATED_t\f[R], \f[C]REAL_t\f[R]) by default, instead of using
Use the unbounded size data types (\f[C]INTEGER_t\f[],
the native machine\[cq]s data types (long, double).
\f[C]ENUMERATED_t\f[], \f[C]REAL_t\f[]) by default, instead of using the
native machine\[aq]s data types (long, double).
.RS
.RE
.SS Codecs Generation Options
.SS Codecs Generation Options
.TP
.TP
.B \-no\-gen\
-BER
-no-gen
-BER
Do not generate the Basic Encoding Rules (BER, X.690) support code
Do not generate the Basic Encoding Rules (BER, X.690) support code
.RS
.RE
.TP
.TP
.B \-no\-gen\
-XER
-no-gen
-XER
Do not generate the XML Encoding Rules (XER, X.693) support code
Do not generate the XML Encoding Rules (XER, X.693) support code
.RS
.RE
.TP
.TP
.B \-no\-gen\
-OER
-no-gen
-OER
Do not generate the Octet Encoding Rules (OER, X.696) support code
Do not generate the Octet Encoding Rules (OER, X.696) support code
.RS
.RE
.TP
.TP
.B \-no\-gen\
-UPER
-no-gen
-UPER
Do not generate the Unaligned Packed Encoding Rules (PER, X.691) support
Do not generate the Unaligned Packed Encoding Rules (PER, X.691) support
code
code
.RS
.RE
.TP
.TP
.B \-no\-gen\
-APER
-no-gen
-APER
Do not generate the Aligned Packed Encoding Rules (PER, X.691) support
Do not generate the Aligned Packed Encoding Rules (PER, X.691) support
code
code
.RS
.RE
.TP
.TP
.B \-no\-gen\
-print
-no-gen
-print
Do not generate the print code
Do not generate the print code
.RS
.RE
.TP
.TP
.B \-no\-gen\-random\
-fill
-no-gen-random
-fill
Do not generate the random fill code
Do not generate the random fill code
.RS
.RE
.TP
.TP
.B \-no\-gen\
-example
-no-gen
-example
Do not generate the ASN.1 format converter example
Do not generate the ASN.1 format converter example
.RS
.RE
.TP
.TP
.B \-pdu={all|auto|\f[I]Type\f[
]}
-pdu={all|auto|\f[I]Type\f[R
]}
Create a PDU table for specified types, or discover Protocol Data Units
Create a PDU table for specified types, or discover Protocol Data Units
automatically.
automatically.
In case of \f[B]
\-pdu=all\f[
], all ASN.1 types defined in all modules
In case of \f[B]
-pdu=all\f[R
], all ASN.1 types defined in all modules
will form a PDU table.
will form a PDU table.
In case of \f[B]
\-pdu=auto\f[
], all types not referenced by any other
In case of \f[B]
-pdu=auto\f[R
], all types not referenced by any other
type will form a PDU table.
type will form a PDU table.
If \f[I]Type\f[
] is an ASN.1 type identifier, the identifier is added to
If \f[I]Type\f[
R] is an ASN.1 type identifier, the identifier is added
the generated PDU table.
t
o t
he generated PDU table.
The last form may be specified multiple times to add any number of PDUs.
The last form may be specified multiple times to add any number of PDUs.
.RS
.RE
.SS Output Options
.SS Output Options
.TP
.TP
.B \-print\
-constraints
-print
-constraints
When \f[B]
\-EF\f[
] options are also specified, this option forces the
When \f[B]
-EF\f[R
] options are also specified, this option forces the
compiler to explain its internal understanding of subtype constraints.
compiler to explain its internal understanding of subtype constraints.
.RS
.RE
.TP
.TP
.B \-print\-lines
-print-lines
Generate "\f[C]\-\-\ #line\f[]" comments in \f[B]\-E\f[] output.
Generate \[lq]\f[C]-- #line\f[R]\[rq] comments in \f[B]-E\f[R] output.
.RS
.RE
.SH TRANSFER SYNTAXES
.SH TRANSFER SYNTAXES
.PP
.PP
The ASN.1 family of standards define a number of ways to encode data,
The ASN.1 family of standards define a number of ways to encode data,
including byte
\-oriented (e.g., BER), bit\
-oriented (e.g., PER), and
including byte
-oriented (e.g., BER), bit
-oriented (e.g., PER), and
textual (e.g., XER).
textual (e.g., XER).
Some encoding variants (e.g., DER) are just stricter variants of the
Some encoding variants (e.g., DER) are just stricter variants of the
more general encodings (e.g., BER).
more general encodings (e.g., BER).
.PP
.PP
The interoperability table below specifies which API functions can be
The interoperability table below specifies which API functions can be
used to exchange data in a compatible manner.
used to exchange data in a compatible manner.
If you need to \f[I]produce\f[] data conforming to the standard
If you need to \f[I]produce\f[
R
] data conforming to the standard
specified in the column 1, use the API function in the column 2.
specified in the column 1, use the API function in the column 2.
If you need to \f[I]process\f[] data conforming to the standard(s)
If you need to \f[I]process\f[
R
] data conforming to the standard(s)
specified in the column 3, use the API function specified in column 4.
specified in the column 3, use the API function specified in column 4.
See the \f[C]asn1c
\-usage.pdf\f[
] for details.
See the \f[C]asn1c
-usage.pdf\f[R
] for details.
.PP
.PP
.TS
.TS
tab(@);
tab(@);
...
@@ -285,72 +222,72 @@ T}
...
@@ -285,72 +222,72 @@ T}
T{
T{
CER
CER
T}@T{
T}@T{
\f[I]not supported\f[]
\f[I]not supported\f[
R
]
T}@T{
T}@T{
CER, BER
CER, BER
T}@T{
T}@T{
ber_decode()
ber_decode()
T}
T}
T{
T{
BASIC
\
-OER
BASIC-OER
T}@T{
T}@T{
oer_encode()
oer_encode()
T}@T{
T}@T{
*
\
-OER
*-OER
T}@T{
T}@T{
oer_decode()
oer_decode()
T}
T}
T{
T{
CANONICAL
\
-OER
CANONICAL-OER
T}@T{
T}@T{
oer_encode()
oer_encode()
T}@T{
T}@T{
*
\
-OER
*-OER
T}@T{
T}@T{
oer_decode()
oer_decode()
T}
T}
T{
T{
BASIC
\
-UPER
BASIC-UPER
T}@T{
T}@T{
uper_encode()
uper_encode()
T}@T{
T}@T{
*
\
-UPER
*-UPER
T}@T{
T}@T{
uper_decode()
uper_decode()
T}
T}
T{
T{
CANONICAL
\
-UPER
CANONICAL-UPER
T}@T{
T}@T{
uper_encode()
uper_encode()
T}@T{
T}@T{
*
\
-UPER
*-UPER
T}@T{
T}@T{
uper_decode()
uper_decode()
T}
T}
T{
T{
*
\
-APER
*-APER
T}@T{
T}@T{
\f[I]not supported\f[]
\f[I]not supported\f[
R
]
T}@T{
T}@T{
*
\
-APER
*-APER
T}@T{
T}@T{
\f[I]not supported\f[]
\f[I]not supported\f[
R
]
T}
T}
T{
T{
BASIC
\
-XER
BASIC-XER
T}@T{
T}@T{
xer_encode(...)
xer_encode(
\&
...)
T}@T{
T}@T{
*
\
-XER
*-XER
T}@T{
T}@T{
xer_decode()
xer_decode()
T}
T}
T{
T{
CANONICAL
\
-XER
CANONICAL-XER
T}@T{
T}@T{
xer_encode (XER_F_CANONICAL)
xer_encode (XER_F_CANONICAL)
T}@T{
T}@T{
*
\
-XER
*-XER
T}@T{
T}@T{
xer_decode()
xer_decode()
T}
T}
...
@@ -359,6 +296,6 @@ T}
...
@@ -359,6 +296,6 @@ T}
*) Asterisk means both BASIC and CANONICAL variants.
*) Asterisk means both BASIC and CANONICAL variants.
.SH SEE ALSO
.SH SEE ALSO
.PP
.PP
\f[C]unber\f[
](1), \f[C]enber\f[
](1).
\f[C]unber\f[
R](1), \f[C]enber\f[R
](1).
.SH AUTHORS
.SH AUTHORS
Lev Walkin <vlm@lionet.info>.
Lev Walkin <vlm@lionet.info>.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment