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 */ 29