blob: 83122fc8af38d34d04a12c7daffbd5a2fd6b1462 [file] [log] [blame]
Lev Walkin8dd0eed2004-09-17 06:32:12 +00001
2/*** <<< INCLUDES [T] >>> ***/
3
Lev Walkin22b5ed42006-09-13 02:51:20 +00004#include "SimpleType.h"
Lev Walkin8dd0eed2004-09-17 06:32:12 +00005#include <asn_SET_OF.h>
6#include <constr_SET_OF.h>
7
Lev Walkin8dd0eed2004-09-17 06:32:12 +00008/*** <<< TYPE-DECLS [T] >>> ***/
9
Lev Walkin8dd0eed2004-09-17 06:32:12 +000010typedef struct T {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +000011 A_SET_OF(SimpleType_t) list;
Lev Walkin8dd0eed2004-09-17 06:32:12 +000012
13 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000014 asn_struct_ctx_t _asn_ctx;
Lev Walkin8dd0eed2004-09-17 06:32:12 +000015} T_t;
16
Lev Walkinc8285712005-03-04 22:18:20 +000017/*** <<< FUNC-DECLS [T] >>> ***/
18
19extern asn_TYPE_descriptor_t asn_DEF_T;
20
Lev Walkin8dd0eed2004-09-17 06:32:12 +000021/*** <<< STAT-DEFS [T] >>> ***/
22
Lev Walkine0272aa2005-03-04 11:26:08 +000023static asn_TYPE_member_t asn_MBR_T_1[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000024 { ATF_POINTER, 0, 0,
Lev Walkin8dd0eed2004-09-17 06:32:12 +000025 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
26 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000027 .type = &asn_DEF_SimpleType,
Lev Walkin67a30122017-08-10 05:48:54 -070028 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +000029 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040030 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000031 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
32 .default_value = 0,
Lev Walkin152a91e2005-02-14 20:41:29 +000033 .name = "named"
Lev Walkin8dd0eed2004-09-17 06:32:12 +000034 },
35};
Lev Walkina7591b52014-10-12 18:37:35 -070036static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
Lev Walkin8dd0eed2004-09-17 06:32:12 +000037 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
38};
Lev Walkin59b176e2005-11-26 11:25:14 +000039static asn_SET_OF_specifics_t asn_SPC_T_specs_1 = {
Lev Walkin8dd0eed2004-09-17 06:32:12 +000040 sizeof(struct T),
Lev Walkindfae9752004-09-29 13:19:37 +000041 offsetof(struct T, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000042 1, /* XER encoding is XMLValueList */
Lev Walkin8dd0eed2004-09-17 06:32:12 +000043};
Lev Walkindfae9752004-09-29 13:19:37 +000044asn_TYPE_descriptor_t asn_DEF_T = {
Lev Walkin8dd0eed2004-09-17 06:32:12 +000045 "T",
Lev Walkindc06f6b2004-10-20 15:50:55 +000046 "T",
Lev Walkina9cc46e2004-09-22 16:06:28 +000047 SET_OF_free,
48 SET_OF_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -070049 SET_OF_compare,
Lev Walkin8dd0eed2004-09-17 06:32:12 +000050 SET_OF_constraint,
51 SET_OF_decode_ber,
52 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000053 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000054 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070055 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040056 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin8dd0eed2004-09-17 06:32:12 +000057 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000058 asn_DEF_T_tags_1,
59 sizeof(asn_DEF_T_tags_1)
60 /sizeof(asn_DEF_T_tags_1[0]), /* 1 */
61 asn_DEF_T_tags_1, /* Same as above */
62 sizeof(asn_DEF_T_tags_1)
63 /sizeof(asn_DEF_T_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040064 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000065 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +000066 asn_MBR_T_1,
Lev Walkin8dd0eed2004-09-17 06:32:12 +000067 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000068 &asn_SPC_T_specs_1 /* Additional specs */
Lev Walkin8dd0eed2004-09-17 06:32:12 +000069};
70
71
72/*** <<< INCLUDES [SimpleType] >>> ***/
73
74#include <ENUMERATED.h>
75
76/*** <<< DEPS [SimpleType] >>> ***/
77
78typedef enum SimpleType {
79 SimpleType_one = 0,
80 SimpleType_two = 1,
Lev Walkin8bde6472005-02-25 08:20:10 +000081 SimpleType_three = 2
Lev Walkin171487e2006-03-21 07:25:18 +000082} e_SimpleType;
Lev Walkin8dd0eed2004-09-17 06:32:12 +000083
84/*** <<< TYPE-DECLS [SimpleType] >>> ***/
85
Lev Walkin8dd0eed2004-09-17 06:32:12 +000086typedef ENUMERATED_t SimpleType_t;
87
88/*** <<< FUNC-DECLS [SimpleType] >>> ***/
89
Lev Walkindfae9752004-09-29 13:19:37 +000090extern asn_TYPE_descriptor_t asn_DEF_SimpleType;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080091extern asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1;
Lev Walkina9cc46e2004-09-22 16:06:28 +000092asn_struct_free_f SimpleType_free;
93asn_struct_print_f SimpleType_print;
Lev Walkin8dd0eed2004-09-17 06:32:12 +000094asn_constr_check_f SimpleType_constraint;
95ber_type_decoder_f SimpleType_decode_ber;
96der_type_encoder_f SimpleType_encode_der;
Lev Walkin0ebe8b32004-10-23 13:26:56 +000097xer_type_decoder_f SimpleType_decode_xer;
Lev Walkina9cc46e2004-09-22 16:06:28 +000098xer_type_encoder_f SimpleType_encode_xer;
Lev Walkin8dd0eed2004-09-17 06:32:12 +000099
100/*** <<< CODE [SimpleType] >>> ***/
101
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000102/*
103 * This type is implemented using ENUMERATED,
Lev Walkinc3808c12004-09-23 22:14:58 +0000104 * so here we adjust the DEF accordingly.
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000105 */
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000106
107/*** <<< STAT-DEFS [SimpleType] >>> ***/
108
Lev Walkina7591b52014-10-12 18:37:35 -0700109static const asn_INTEGER_enum_map_t asn_MAP_SimpleType_value2enum_1[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000110 { 0, 3, "one" },
111 { 1, 3, "two" },
112 { 2, 5, "three" }
113};
Lev Walkina7591b52014-10-12 18:37:35 -0700114static const unsigned int asn_MAP_SimpleType_enum2value_1[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000115 0, /* one(0) */
116 2, /* three(2) */
117 1 /* two(1) */
Lev Walkin8bde6472005-02-25 08:20:10 +0000118};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800119const asn_INTEGER_specifics_t asn_SPC_SimpleType_specs_1 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000120 asn_MAP_SimpleType_value2enum_1, /* "tag" => N; sorted by tag */
121 asn_MAP_SimpleType_enum2value_1, /* N => "tag"; sorted by N */
Lev Walkin8bde6472005-02-25 08:20:10 +0000122 3, /* Number of elements in the maps */
Lev Walkin295e2452005-02-25 11:47:59 +0000123 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000124 1, /* Strict enumeration */
125 0, /* Native long size */
126 0
Lev Walkin8bde6472005-02-25 08:20:10 +0000127};
Lev Walkina7591b52014-10-12 18:37:35 -0700128static const ber_tlv_tag_t asn_DEF_SimpleType_tags_1[] = {
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000129 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
130};
Lev Walkindfae9752004-09-29 13:19:37 +0000131asn_TYPE_descriptor_t asn_DEF_SimpleType = {
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000132 "SimpleType",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000133 "SimpleType",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800134 ENUMERATED_free,
135 ENUMERATED_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700136 ENUMERATED_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800137 ENUMERATED_constraint,
138 ENUMERATED_decode_ber,
139 ENUMERATED_encode_der,
140 ENUMERATED_decode_xer,
141 ENUMERATED_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700142 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400143 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000144 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000145 asn_DEF_SimpleType_tags_1,
146 sizeof(asn_DEF_SimpleType_tags_1)
147 /sizeof(asn_DEF_SimpleType_tags_1[0]), /* 1 */
148 asn_DEF_SimpleType_tags_1, /* Same as above */
149 sizeof(asn_DEF_SimpleType_tags_1)
150 /sizeof(asn_DEF_SimpleType_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400151 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000152 0, /* No PER visible constraints */
Lev Walkin8bde6472005-02-25 08:20:10 +0000153 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000154 &asn_SPC_SimpleType_specs_1 /* Additional specs */
Lev Walkin8dd0eed2004-09-17 06:32:12 +0000155};
156