1 #ifndef ASN1_COMPILER_H
2 #define ASN1_COMPILER_H
4 #include <asn1parser.h>
13 * Do not split the target output in several files, just print it.
14 * (Note: the output is not likely to be compilable in this case).
16 A1C_PRINT_COMPILED = 0x0002,
18 * Generate only the tables for ASN.1 types,
19 * do not emit ASN.1 parsing support code.
21 A1C_OMIT_SUPPORT_CODE = 0x0004,
23 * Use wide types by default (INTEGER_t etc) instead of native/long.
25 A1C_USE_WIDE_TYPES = 0x0008,
27 * Do not use C99 extensions.
31 * Enable use of unnamed unions (non-portable feature).
33 A1C_UNNAMED_UNIONS = 0x0020,
35 * Don't make the asn1_DEF_'s of structure members "static".
37 A1C_ALL_DEFS_GLOBAL = 0x0040,
39 * Do not generate constraint checking code.
41 A1C_NO_CONSTRAINTS = 0x0080,
43 * Generate type_id_PR_member things identifiers of id_PR_member.
45 A1C_COMPOUND_NAMES = 0x0100,
47 * Do not generate courtesy #includes for external dependencies.
49 A1C_NO_INCLUDE_DEPS = 0x0200,
51 * Compile members of CHOICE as indirect pointers.
53 A1C_INDIRECT_CHOICE = 0x0400,
56 * Symlink support files rather than copy them.
58 A1C_LINK_SKELETONS = 0x0800,
61 * -pdu={all|auto|Type}
65 A1C_PDU_AUTO = 0x4000,
66 A1C_PDU_TYPE = 0x8000,
69 * Avoid generating #include <foo>, generate "foo" instead.
71 A1C_INCLUDES_QUOTED = 0x10000,
74 * Include ASN.1 module's line numbers in comments.
76 A1C_LINE_REFS = 0x20000,
79 * Generate Octet Encoding Rules support code
81 A1C_GEN_OER = 0x40000,
84 * Generate Packed Encoding Rules support code
86 A1C_GEN_PER = 0x80000,
88 * Generate converter-example.c and converter-example.mk
90 A1C_GEN_EXAMPLE = 0x100000,
92 * Generate top-level configure.ac and Makefile.am
94 A1C_GEN_AUTOTOOLS_EXAMPLE = 0x200000,
96 * Print the source of generated lines.
97 * -debug-output-origin-lines
99 A1C_DEBUG_OUTPUT_ORIGIN_LINES = 0x400000,
103 * Compile the ASN.1 specification.
105 int asn1_compile(asn1p_t *asn, const char *datadir, const char *destdir, enum asn1c_flags,
106 int argc, int optc, char **argv);
108 void asn1c_debug_type_naming(asn1p_t *asn, enum asn1c_flags,
109 char **asn_type_names);
111 void asn1c__add_pdu_type(const char *typename);
113 int asn1c_attach_streams(asn1p_expr_t *expr);
115 #endif /* ASN1_COMPILER_H */