1asn1c(1)                        Version 0.9.28                        asn1c(1)
2
3
4

NAME

6       asn1c -- the ASN.1 Compiler
7

SYNOPSIS

9       asn1c [-E [-F] | -P | -R]
10       [-Sdir] [-X]
11       [-Wdebug-...] [-foption] [-gen-option] [-pdu={all|auto|Type}]
12       [-print-option]
13       input-filenames...
14

DESCRIPTION

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

OPTIONS

21   Stage Selection Options
22       -E     Run the parsing stage only.  Print the reconstructed ASN.1 text.
23
24       -F     Used together with -E, instructs the compiler to stop after the
25              ASN.1 syntax tree fixing stage and dump the reconstructed ASN.1
26              specification to the standard output.
27
28       -P     Dump the compiled output to the standard output instead of
29              creating the target language files on disk.
30
31       -R     Restrict the compiler to generate only the ASN.1 tables,
32              omitting the usual support code.
33
34       -S directory
35              Use the specified directory with ASN.1 skeleton files.
36
37       -X     Generate an XML DTD schema for the specified ASN.1 files.
38
39   Warning Options
40       -Werror
41              Treat warnings as errors; abort if any warning is produced.
42
43       -Wdebug-lexer
44              Enable lexer debugging during the ASN.1 parsing stage.
45
46       -Wdebug-fixer
47              Enable ASN.1 syntax tree fixer debugging during the fixing
48              stage.
49
50       -Wdebug-compiler
51              Enable debugging during the actual compile time.
52
53   Language Options
54       -fbless-SIZE
55              Allow SIZE() constraint for INTEGER, ENUMERATED, and other types
56              for which this constraint is normally prohibited by the
57              standard.  This is a violation of ASN.1 standard, and the
58              compiler may fail to produce a meaningful code.
59
60       -fcompound-names
61              Using this option prevents name collisions in the target source
62              code by using complex names for target language structures.
63              (Name collisions may occur if the ASN.1 module reuses the same
64              identifiers in multiple contexts).
65
66       -findirect-choice
67              When generating code for a CHOICE type, compile the CHOICE
68              members as indirect pointers instead of declaring them inline.
69              Consider using this option together with -fno-include-deps to
70              prevent circular references.
71
72       -fincludes-quoted
73              Refer to header files in #includes using "double" instead of
74              <angle> quotes.
75
76       -fknown-extern-type=name
77              Pretend the specified type is known.  The compiler will assume
78              the target language source files for the given type have been
79              provided manually.
80
81       -fline-refs
82              Include ASN.1 module's line numbers in generated code comments.
83
84       -fno-constraints
85              Do not generate ASN.1 subtype constraint checking code.  This
86              may make a shorter executable.
87
88       -fno-include-deps
89              Do not generate courtesy #include lines for non-critical type
90              dependencies.  Helps prevent namespace collisions.
91
92       -funnamed-unions
93              Enable unnamed unions in the definitions of target language's
94              structures.
95
96       -fwide-types
97              Use the unbounded size data types (INTEGER_t, ENUMERATED_t,
98              REAL_t) by default, instead of using the native machine's data
99              types (long, double).
100
101   Codecs Generation Options
102       -gen-PER
103              Generate the Packed Encoding Rules (PER) support code.
104
105       -pdu={all|auto|Type}
106              Create a PDU table for specified types, or discover Protocol
107              Data Units automatically.  In case of -pdu=all, all ASN.1 types
108              defined in all modules will form a PDU table.  In case of
109              -pdu=auto, all types not referenced by any other type will form
110              a PDU table.  If Type is an ASN.1 type identifier, the
111              identifier is added to the generated PDU table.  The last form
112              may be specified multiple times to add any number of PDUs.
113
114   Output Options
115       -print-constraints
116              When -EF options are also specified, this option forces the
117              compiler to explain its internal understanding of subtype
118              constraints.
119
120       -print-lines
121              Generate "-- #line" comments in -E output.
122

SEE ALSO

124       unber(1), enber(1).
125

AUTHORS

127       Lev Walkin <vlm@lionet.info>.
128
129
130
131ASN.1 Compiler                    2016-01-23                          asn1c(1)
Impressum