blob: fa07540a08929a235742144bc3f1c0b3c4d463d1 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#include "asn1c_internal.h"
2#include "asn1c_C.h"
3
4asn1_language_map_t asn1_lang_map[AMT_EXPR_META_MAX][ASN_EXPR_TYPE_MAX];
5
6int
7asn1c_with_language(asn1c_target_language_e lang) {
8 asn1_language_map_t *lptr;
9 int lsize;
10 if(lang != ASN1C_LANGUAGE_C) {
11 errno = EINVAL;
12 return -1;
13 }
14
15 lptr = asn1_lang_C;
16 lsize = sizeof(asn1_lang_C)/sizeof(asn1_lang_C[0]);
17
18 memset(asn1_lang_map, 0, sizeof(asn1_lang_map));
19
20 for(; lsize && lptr->expr_match; lsize--, lptr++) {
21 assert(lptr->meta_match > 0);
22 assert(lptr->meta_match < AMT_EXPR_META_MAX);
23 assert(lptr->expr_match > 0);
24 assert(lptr->expr_match < ASN_EXPR_TYPE_MAX);
25
26 asn1_lang_map[lptr->meta_match][lptr->expr_match]
27 = *lptr;
28 }
29
30 return 0;
31}
32