aboutsummaryrefslogtreecommitdiffstats
path: root/asn1c
diff options
context:
space:
mode:
Diffstat (limited to 'asn1c')
-rw-r--r--asn1c/asn1c.120
-rw-r--r--asn1c/asn1c.c2
2 files changed, 19 insertions, 3 deletions
diff --git a/asn1c/asn1c.1 b/asn1c/asn1c.1
index 7a6f87f5..408b79f9 100644
--- a/asn1c/asn1c.1
+++ b/asn1c/asn1c.1
@@ -23,7 +23,9 @@ and other encoding standards.
.TP
\fILanguage Options\fR
.br
-\fB\-fall-defs-global \-fbless-SIZE \-fnative-types \-fno-constraints \-funnamed-unions \-ftypes88\fR
+\fB\-fall-defs-global \-fbless-SIZE \-fcompound-names
+.BI "\-fknown-extern-type="<name>
+\fB\-fnative-types \-fno-constraints \-fno-include-deps \-funnamed-unions \-ftypes88\fR
.TP
\fIOutput Options\fR
.br
@@ -80,7 +82,17 @@ structures globally visible, but will allow you to manipulate
.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 the meaningful code.
+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
+.BI "\-fknown-extern-type="<name>
+Pretend the specified type is known. The compiler will assume the target
+language source files for the given type are provided manually.
.TP
.B \-fnative-types
Use the native machine's data types (int, double) whenever possible,
@@ -89,6 +101,10 @@ instead of the compound INTEGER_t, ENUMERATED_t and REAL_t types.
.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
diff --git a/asn1c/asn1c.c b/asn1c/asn1c.c
index cf951af1..3d08c309 100644
--- a/asn1c/asn1c.c
+++ b/asn1c/asn1c.c
@@ -313,7 +313,7 @@ usage(const char *av0) {
" -fall-defs-global Don't make the asn1_DEF_'s of structure members \"static\"\n"
" -fbless-SIZE Allow SIZE() constraint for INTEGER etc (non-std.)\n"
" -fcompound-names Disambiguate C's struct NAME's inside top-level types\n"
-" -fknown-extern-type=<name> Pretend this type is known\n"
+" -fknown-extern-type=<name> Pretend the specified type is known\n"
" -fnative-types Use \"long\" instead of INTEGER_t whenever possible, etc.\n"
" -fno-constraints Do not generate constraint checking code\n"
" -fno-include-deps Do not generate courtesy #includes for dependencies\n"