blob: 643d629350a7f77da78140a2329615d3fdd62daa [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001#ifndef ASN1_COMPILER_LANGUAGE_C_H
2#define ASN1_COMPILER_LANGUAGE_C_H
3
4#include "asn1c_lang.h"
5
6int asn1c_lang_C_type_REFERENCE(arg_t *);
7int asn1c_lang_C_type_EXTENSIBLE(arg_t *);
8
9int asn1c_lang_C_type_SEQUENCE(arg_t *);
10int asn1c_lang_C_type_SEQUENCE_OF(arg_t *);
11int asn1c_lang_C_type_SET(arg_t *);
12int asn1c_lang_C_type_SET_OF(arg_t *);
13int asn1c_lang_C_type_CHOICE(arg_t *);
14
15int asn1c_lang_C_type_INTEGER(arg_t *);
16int asn1c_lang_C_type_ENUMERATED(arg_t *);
17int asn1c_lang_C_type_SIMPLE_TYPE(arg_t *);
18
19static asn1_language_map_t asn1_lang_C[] __attribute__ ((unused)) = {
20 { AMT_TYPE, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE },
21 { AMT_TYPEREF, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE },
22 { AMT_TYPE, A1TC_EXTENSIBLE, asn1c_lang_C_type_EXTENSIBLE },
23 /*
24 * Constructed types
25 */
26 { AMT_TYPE, ASN_CONSTR_SEQUENCE, asn1c_lang_C_type_SEQUENCE },
27 { AMT_TYPE, ASN_CONSTR_SEQUENCE_OF, asn1c_lang_C_type_SEQUENCE_OF },
28 { AMT_TYPEREF, ASN_CONSTR_SEQUENCE_OF, asn1c_lang_C_type_SEQUENCE_OF },
29 { AMT_TYPE, ASN_CONSTR_SET, asn1c_lang_C_type_SET },
30 { AMT_TYPE, ASN_CONSTR_SET_OF, asn1c_lang_C_type_SET_OF },
31 { AMT_TYPEREF, ASN_CONSTR_SET_OF, asn1c_lang_C_type_SET_OF },
32 { AMT_TYPE, ASN_CONSTR_CHOICE, asn1c_lang_C_type_CHOICE },
33 /*
34 * Basic types
35 */
36 { AMT_TYPE, ASN_BASIC_BOOLEAN, asn1c_lang_C_type_SIMPLE_TYPE },
37 { AMT_TYPE, ASN_BASIC_NULL, asn1c_lang_C_type_SIMPLE_TYPE },
38 { AMT_TYPE, ASN_BASIC_INTEGER, asn1c_lang_C_type_INTEGER },
39 /* [Skipped REAL] */
40 { AMT_TYPE, ASN_BASIC_ENUMERATED, asn1c_lang_C_type_ENUMERATED },
41 { AMT_TYPE, ASN_BASIC_BIT_STRING, asn1c_lang_C_type_SIMPLE_TYPE },
42 { AMT_TYPE, ASN_BASIC_OCTET_STRING, asn1c_lang_C_type_SIMPLE_TYPE },
43 { AMT_TYPE, ASN_BASIC_OBJECT_IDENTIFIER,asn1c_lang_C_type_SIMPLE_TYPE },
44 { AMT_TYPE, ASN_BASIC_RELATIVE_OID, asn1c_lang_C_type_SIMPLE_TYPE },
45 { AMT_TYPE, ASN_BASIC_CHARACTER_STRING, asn1c_lang_C_type_SIMPLE_TYPE },
46 { AMT_TYPE, ASN_BASIC_UTCTime, asn1c_lang_C_type_SIMPLE_TYPE },
47 { AMT_TYPE, ASN_BASIC_GeneralizedTime, asn1c_lang_C_type_SIMPLE_TYPE },
48 /*
49 * String types
50 */
51 { AMT_TYPE, ASN_STRING_BMPString, asn1c_lang_C_type_SIMPLE_TYPE },
52 { AMT_TYPE, ASN_STRING_GeneralString, asn1c_lang_C_type_SIMPLE_TYPE },
53 { AMT_TYPE, ASN_STRING_GraphicString, asn1c_lang_C_type_SIMPLE_TYPE },
54 { AMT_TYPE, ASN_STRING_IA5String, asn1c_lang_C_type_SIMPLE_TYPE },
55 { AMT_TYPE, ASN_STRING_ISO646String, asn1c_lang_C_type_SIMPLE_TYPE },
56 { AMT_TYPE, ASN_STRING_NumericString, asn1c_lang_C_type_SIMPLE_TYPE },
57 { AMT_TYPE, ASN_STRING_PrintableString,asn1c_lang_C_type_SIMPLE_TYPE },
58 { AMT_TYPE, ASN_STRING_TeletexString, asn1c_lang_C_type_SIMPLE_TYPE },
59 { AMT_TYPE, ASN_STRING_T61String, asn1c_lang_C_type_SIMPLE_TYPE },
60 { AMT_TYPE, ASN_STRING_UniversalString,asn1c_lang_C_type_SIMPLE_TYPE },
61 { AMT_TYPE, ASN_STRING_UTF8String, asn1c_lang_C_type_SIMPLE_TYPE },
62 { AMT_TYPE, ASN_STRING_VideotexString,asn1c_lang_C_type_SIMPLE_TYPE },
63 { AMT_TYPE, ASN_STRING_VisibleString, asn1c_lang_C_type_SIMPLE_TYPE },
64 { AMT_TYPE, ASN_STRING_ObjectDescriptor,asn1c_lang_C_type_SIMPLE_TYPE },
65 { 0, 0, 0 }
66};
67
68
69#endif /* ASN1_COMPILER_LANGUAGE_C_H */