blob: f2c3677e2340540f6ec42ee1d09a8e28e4d6fc43 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001.de Id
2..
3.Id $Id"
4.TH ASN1C 1 "\*(Dt" "ASN.1 Compiler" "ASN.1 Compiler"
5.SH NAME
6asn1c \- ASN.1 Compiler
7.ND ASN.1 compiler
8.SH SYNOPSIS
Lev Walkin15385612004-08-20 13:24:01 +00009asn1c [\fB\-E\fR [\fB-F\fR] | \fB\-P\fR | \fB\-R\fR | \fB\-t\fR\fIdata-string\fR]
10 [\fB\-S\fR\fIdir\fR]
11 [\fB\-W\fR\fIdebug-\fR...] [\fB\-f\fR\fIoption\fR...] [\fB\-p\fR\fIrint-\fR...]
12 \fIinfile\fR...
Lev Walkinf15320b2004-06-03 03:38:44 +000013.SH DESCRIPTION
Lev Walkin15385612004-08-20 13:24:01 +000014asn1c compiles the ASN.1 specifications into the set of
15target language (C/C++) encoders and decoders for BER, DER,
16and other encoding standards.
Lev Walkinf15320b2004-06-03 03:38:44 +000017.SH OPTIONS
18.TP
Lev Walkin15385612004-08-20 13:24:01 +000019\fIOverall Options\fR
20\fB\-E \-F \-P \-R\fR
21.BI "\-S " directory
22.BI "\-t " data-string
Lev Walkinf15320b2004-06-03 03:38:44 +000023.TP
Lev Walkin15385612004-08-20 13:24:01 +000024\fIWarning Options\fR
Lev Walkinf15320b2004-06-03 03:38:44 +000025.br
Lev Walkin15385612004-08-20 13:24:01 +000026\fB\-Werror \-Wdebug-lexer \-Wdebug-fixer \-Wdebug-compiler\fR
Lev Walkinf15320b2004-06-03 03:38:44 +000027.TP
Lev Walkin15385612004-08-20 13:24:01 +000028\fILanguage Options\fR
Lev Walkin3aed7ff2004-08-19 13:24:58 +000029.br
Lev Walkindd32b592004-09-06 08:07:29 +000030\fB\-fall-defs-global \-fbless-SIZE \-fnative-integers \-funnamed-unions \-ftypes88\fR
Lev Walkin3aed7ff2004-08-19 13:24:58 +000031.TP
Lev Walkin15385612004-08-20 13:24:01 +000032\fIOutput Options\fR
Lev Walkinf15320b2004-06-03 03:38:44 +000033.br
Lev Walkin15385612004-08-20 13:24:01 +000034.B \-print-constraints \-print-lines
Lev Walkinf15320b2004-06-03 03:38:44 +000035.SH OVERALL OPTIONS
36.TP
37.B \-E
Lev Walkin15385612004-08-20 13:24:01 +000038Stop after the parsing stage and print the reconstructed ASN.1
39specification code to the standard output.
Lev Walkinf15320b2004-06-03 03:38:44 +000040.TP
41.B \-F
42Used together with \c
43.B \-E\c
44, instructs the compiler to stop after the ASN.1 syntax
45tree fixing stage and dump the reconstructed ASN.1 specification
46to the standard output.
47.TP
Lev Walkinf15320b2004-06-03 03:38:44 +000048.B \-P
49Dump the compiled output to the standard output instead of creating the
50target language files on disk.
51.TP
Lev Walkinf15320b2004-06-03 03:38:44 +000052.B \-R
53Restrict the compiler to generate only the ASN.1 tables,
54omitting the usual support code.
Lev Walkin3aed7ff2004-08-19 13:24:58 +000055.TP
Lev Walkin15385612004-08-20 13:24:01 +000056\fB\-S\fR \fIdirectory\fR
Lev Walkin3aed7ff2004-08-19 13:24:58 +000057Use the specified directory with ASN.1 skeleton files.
58.TP
Lev Walkin15385612004-08-20 13:24:01 +000059\fB\-t\fR \fIdata-string\fR
Lev Walkin3aed7ff2004-08-19 13:24:58 +000060Interpret the data-string as a sequence of hexadecimal values representing
61the start of BER TLV encoding. Print the human readable explanation.
Lev Walkinf15320b2004-06-03 03:38:44 +000062.SH WARNING OPTIONS
63.TP
64.B \-Werror
65Treat warnings as errors; abort if any warning is produced.
66.TP
67.B \-Wdebug-lexer
68Enable lexer debugging during the ASN.1 parsing stage.
69.TP
70.B \-Wdebug-fixer
71Enable ASN.1 syntax tree fixer debugging during the fixing stage.
72.TP
73.B \-Wdebug-compiler
74Enable debugging during the actual compile time.
Lev Walkin15385612004-08-20 13:24:01 +000075.SH LANGUAGE OPTIONS
76.TP
Lev Walkindd32b592004-09-06 08:07:29 +000077.B \-fall-defs-global
78Normally the compiler hides the definitions (asn1_DEF_xxx) of the inner
79structure elements (members of SEQUENCE, SET and other types). This option
80makes all such definitions global.
81Enabling this option may pollute the namespace by making lots of asn1_DEF_xxx
82structures globally visible, but will allow you to manipulate
83(encode and decode) the individual members of any complex ASN.1 structure.
84.TP
Lev Walkin15385612004-08-20 13:24:01 +000085.B \-fbless-SIZE
86Allow SIZE() constraint for INTEGER, ENUMERATED, and other types for which this
87constraint is normally prohibited by the standard. This is a violation of
88an ASN.1 standard and compiler may fail to produce the meaningful code.
89.TP
90.B \-fnative-integers
91Use native machine's integer types whenever possible,
92instead of the complex ASN.1 INTEGER and ENUMERATED types.
93.TP
94.B \-funnamed-unions
95Enable unnamed unions in the definitions of target language's structures.
96.TP
97.B \-ftypes88
98Use only ASN.1:1988 embedded types.
99.SH OUTPUT OPTIONS
100.TP
101.B \-print-constraints
102When -EF are also specified, this option forces the compiler to explain
103its internal understanding of subtype constraints.
104.TP
105.B \-print-lines
106Generate "-- #line" comments in \fB-E\fR output.
Lev Walkinf15320b2004-06-03 03:38:44 +0000107.SH AUTHORS
108Lev Walkin <vlm@lionet.info>