blob: 8c9a6ea70d12f3824cf7a16a552329fb622df458 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#ifndef ASN1_COMPILER_LANGUAGE_H
2#define ASN1_COMPILER_LANGUAGE_H
3
4struct arg_s;
5
6typedef struct asn1_language_map_s {
7 asn1p_expr_meta_e meta_match; /* meta_type */
8 asn1p_expr_type_e expr_match; /* expr_type */
9 /*
10 * A callback that would create a language-specific type declaration.
11 */
12 int (*type_cb)(struct arg_s *arg);
13} asn1_language_map_t;
14
15
16extern asn1_language_map_t asn1_lang_map[AMT_EXPR_META_MAX][ASN_EXPR_TYPE_MAX];
17
18
19typedef enum asn1c_target_language {
20 ASN1C_LANGUAGE_C,
21} asn1c_target_language_e;
22
23/*
24 * Initialize the compiler to generate specified target language.
25 */
26int asn1c_with_language(asn1c_target_language_e lang);
27
28#endif /* ASN1_COMPILER_LANGUAGE_H */