aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1compiler/asn1compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'libasn1compiler/asn1compiler.h')
-rw-r--r--libasn1compiler/asn1compiler.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/libasn1compiler/asn1compiler.h b/libasn1compiler/asn1compiler.h
new file mode 100644
index 00000000..d104dc9a
--- /dev/null
+++ b/libasn1compiler/asn1compiler.h
@@ -0,0 +1,41 @@
+#ifndef ASN1_COMPILER_H
+#define ASN1_COMPILER_H
+
+#include <asn1parser.h>
+
+enum asn1c_flags {
+ A1C_NOFLAGS,
+ /*
+ * Debug the compiler.
+ */
+ A1C_DEBUG = 0x0001,
+ /*
+ * Do not split the target output in several files, just print it.
+ * (Note: the output is not likely to be compilable in this case).
+ */
+ A1C_PRINT_COMPILED = 0x0002,
+ /*
+ * Generate only the tables for ASN.1 types,
+ * do not emit ASN.1 parsing support code.
+ */
+ A1C_OMIT_SUPPORT_CODE = 0x0004,
+ /*
+ * Use native integers instead of INTEGER_t and ENUMERATED_t types.
+ */
+ A1C_USE_NATIVE_INTEGERS = 0x0008,
+ /*
+ * Do not use C99 extensions.
+ */
+ A1C_NO_C99 = 0x0010,
+ /*
+ * Enable use of unnamed unions (non-portable feature).
+ */
+ A1C_UNNAMED_UNIONS = 0x0020,
+};
+
+/*
+ * Compile the ASN.1 specification.
+ */
+int asn1_compile(asn1p_t *asn, const char *datadir, enum asn1c_flags);
+
+#endif /* ASN1_COMPILER_H */