blob: 6349306385f08791b55b6208aa8fe396e03d3f3f [file] [log] [blame]
vlmfa67ddc2004-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 *);
vlmfa67ddc2004-06-03 03:38:44 +000010int asn1c_lang_C_type_SET(arg_t *);
vlmdae7f9d2004-08-22 03:25:24 +000011int asn1c_lang_C_type_SEx_OF(arg_t *); /* SET OF or SEQUENCE OF */
vlmfa67ddc2004-06-03 03:38:44 +000012int asn1c_lang_C_type_CHOICE(arg_t *);
13
14int asn1c_lang_C_type_INTEGER(arg_t *);
15int asn1c_lang_C_type_ENUMERATED(arg_t *);
16int asn1c_lang_C_type_SIMPLE_TYPE(arg_t *);
17
18static asn1_language_map_t asn1_lang_C[] __attribute__ ((unused)) = {
19 { AMT_TYPE, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE },
20 { AMT_TYPEREF, A1TC_REFERENCE, asn1c_lang_C_type_REFERENCE },
21 { AMT_TYPE, A1TC_EXTENSIBLE, asn1c_lang_C_type_EXTENSIBLE },
22 /*
23 * Constructed types
24 */
25 { AMT_TYPE, ASN_CONSTR_SEQUENCE, asn1c_lang_C_type_SEQUENCE },
vlmdae7f9d2004-08-22 03:25:24 +000026 { AMT_TYPE, ASN_CONSTR_SEQUENCE_OF, asn1c_lang_C_type_SEx_OF, },
27 { AMT_TYPEREF, ASN_CONSTR_SEQUENCE_OF, asn1c_lang_C_type_SEx_OF },
vlmfa67ddc2004-06-03 03:38:44 +000028 { AMT_TYPE, ASN_CONSTR_SET, asn1c_lang_C_type_SET },
vlmdae7f9d2004-08-22 03:25:24 +000029 { AMT_TYPE, ASN_CONSTR_SET_OF, asn1c_lang_C_type_SEx_OF },
30 { AMT_TYPEREF, ASN_CONSTR_SET_OF, asn1c_lang_C_type_SEx_OF },
vlmfa67ddc2004-06-03 03:38:44 +000031 { AMT_TYPE, ASN_CONSTR_CHOICE, asn1c_lang_C_type_CHOICE },
32 /*
33 * Basic types
34 */
35 { AMT_TYPE, ASN_BASIC_BOOLEAN, asn1c_lang_C_type_SIMPLE_TYPE },
36 { AMT_TYPE, ASN_BASIC_NULL, asn1c_lang_C_type_SIMPLE_TYPE },
37 { AMT_TYPE, ASN_BASIC_INTEGER, asn1c_lang_C_type_INTEGER },
38 /* [Skipped REAL] */
39 { AMT_TYPE, ASN_BASIC_ENUMERATED, asn1c_lang_C_type_ENUMERATED },
40 { AMT_TYPE, ASN_BASIC_BIT_STRING, asn1c_lang_C_type_SIMPLE_TYPE },
41 { AMT_TYPE, ASN_BASIC_OCTET_STRING, asn1c_lang_C_type_SIMPLE_TYPE },
42 { AMT_TYPE, ASN_BASIC_OBJECT_IDENTIFIER,asn1c_lang_C_type_SIMPLE_TYPE },
43 { AMT_TYPE, ASN_BASIC_RELATIVE_OID, asn1c_lang_C_type_SIMPLE_TYPE },
44 { AMT_TYPE, ASN_BASIC_CHARACTER_STRING, asn1c_lang_C_type_SIMPLE_TYPE },
45 { AMT_TYPE, ASN_BASIC_UTCTime, asn1c_lang_C_type_SIMPLE_TYPE },
46 { AMT_TYPE, ASN_BASIC_GeneralizedTime, asn1c_lang_C_type_SIMPLE_TYPE },
47 /*
48 * String types
49 */
50 { AMT_TYPE, ASN_STRING_BMPString, asn1c_lang_C_type_SIMPLE_TYPE },
51 { AMT_TYPE, ASN_STRING_GeneralString, asn1c_lang_C_type_SIMPLE_TYPE },
52 { AMT_TYPE, ASN_STRING_GraphicString, asn1c_lang_C_type_SIMPLE_TYPE },
53 { AMT_TYPE, ASN_STRING_IA5String, asn1c_lang_C_type_SIMPLE_TYPE },
54 { AMT_TYPE, ASN_STRING_ISO646String, asn1c_lang_C_type_SIMPLE_TYPE },
55 { AMT_TYPE, ASN_STRING_NumericString, asn1c_lang_C_type_SIMPLE_TYPE },
56 { AMT_TYPE, ASN_STRING_PrintableString,asn1c_lang_C_type_SIMPLE_TYPE },
57 { AMT_TYPE, ASN_STRING_TeletexString, asn1c_lang_C_type_SIMPLE_TYPE },
58 { AMT_TYPE, ASN_STRING_T61String, asn1c_lang_C_type_SIMPLE_TYPE },
59 { AMT_TYPE, ASN_STRING_UniversalString,asn1c_lang_C_type_SIMPLE_TYPE },
60 { AMT_TYPE, ASN_STRING_UTF8String, asn1c_lang_C_type_SIMPLE_TYPE },
61 { AMT_TYPE, ASN_STRING_VideotexString,asn1c_lang_C_type_SIMPLE_TYPE },
62 { AMT_TYPE, ASN_STRING_VisibleString, asn1c_lang_C_type_SIMPLE_TYPE },
63 { AMT_TYPE, ASN_STRING_ObjectDescriptor,asn1c_lang_C_type_SIMPLE_TYPE },
64 { 0, 0, 0 }
65};
66
67
68#endif /* ASN1_COMPILER_LANGUAGE_C_H */