NativeEnumerated.c vars NULL init and check
[com/asn1c.git] / libasn1compiler / asn1c_lang.h
1 #ifndef ASN1_COMPILER_LANGUAGE_H
2 #define ASN1_COMPILER_LANGUAGE_H
3
4 struct arg_s;
5
6 typedef 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
16 extern asn1_language_map_t asn1_lang_map[AMT_EXPR_META_MAX][ASN_EXPR_TYPE_MAX];
17
18
19 typedef 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  */
26 int asn1c_with_language(asn1c_target_language_e lang);
27
28 #endif  /* ASN1_COMPILER_LANGUAGE_H */