blob: d104dc9aa4d6ca0b5f5aa62f6296b09edc26a22c [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#ifndef ASN1_COMPILER_H
2#define ASN1_COMPILER_H
3
4#include <asn1parser.h>
5
6enum asn1c_flags {
7 A1C_NOFLAGS,
8 /*
9 * Debug the compiler.
10 */
11 A1C_DEBUG = 0x0001,
12 /*
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).
15 */
16 A1C_PRINT_COMPILED = 0x0002,
17 /*
18 * Generate only the tables for ASN.1 types,
19 * do not emit ASN.1 parsing support code.
20 */
21 A1C_OMIT_SUPPORT_CODE = 0x0004,
22 /*
23 * Use native integers instead of INTEGER_t and ENUMERATED_t types.
24 */
25 A1C_USE_NATIVE_INTEGERS = 0x0008,
26 /*
27 * Do not use C99 extensions.
28 */
29 A1C_NO_C99 = 0x0010,
30 /*
31 * Enable use of unnamed unions (non-portable feature).
32 */
33 A1C_UNNAMED_UNIONS = 0x0020,
34};
35
36/*
37 * Compile the ASN.1 specification.
38 */
39int asn1_compile(asn1p_t *asn, const char *datadir, enum asn1c_flags);
40
41#endif /* ASN1_COMPILER_H */