blob: 4171f5114c628ebbec54cf9b238b3675f0d95bea [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001
Lev Walkinb47ddce2004-08-11 05:25:47 +00002/*** <<< INCLUDES [LogLine] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +00003
Lev Walkinf15320b2004-06-03 03:38:44 +00004#include <IA5String.h>
Lev Walkinf15320b2004-06-03 03:38:44 +00005#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +00006#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +00007#include <constr_SEQUENCE.h>
8
Lev Walkinc8285712005-03-04 22:18:20 +00009/*** <<< FWD-DECLS [LogLine] >>> ***/
Lev Walkinb47ddce2004-08-11 05:25:47 +000010
Lev Walkinbf56d542005-03-04 23:50:56 +000011struct VariablePartSet;
Lev Walkinf15320b2004-06-03 03:38:44 +000012
13/*** <<< TYPE-DECLS [LogLine] >>> ***/
14
Lev Walkinf15320b2004-06-03 03:38:44 +000015typedef struct LogLine {
16 IA5String_t line_digest;
17 struct varsets {
Lev Walkinc8285712005-03-04 22:18:20 +000018 A_SEQUENCE_OF(struct VariablePartSet) list;
Lev Walkinf15320b2004-06-03 03:38:44 +000019
20 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000021 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +000022 } varsets;
23 /*
24 * This type is extensible,
25 * possible extensions are below.
26 */
27
28 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000029 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +000030} LogLine_t;
31
Lev Walkinc8285712005-03-04 22:18:20 +000032/*** <<< FUNC-DECLS [LogLine] >>> ***/
33
34extern asn_TYPE_descriptor_t asn_DEF_LogLine;
35
36/*** <<< POST-INCLUDE [LogLine] >>> ***/
37
Lev Walkin22b5ed42006-09-13 02:51:20 +000038#include "VariablePartSet.h"
Lev Walkinc8285712005-03-04 22:18:20 +000039
Lev Walkin2e3055d2004-08-20 13:36:32 +000040/*** <<< CODE [LogLine] >>> ***/
41
42static int
Lev Walkin59b176e2005-11-26 11:25:14 +000043memb_varsets_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +000044 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +000045 size_t size;
46
47 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -070048 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +000049 "%s: value not given (%s:%d)",
50 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +000051 return -1;
52 }
53
Lev Walkin66d542b2005-07-04 02:03:57 +000054 /* Determine the number of elements */
55 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
Lev Walkin2e3055d2004-08-20 13:36:32 +000056
57 if((size >= 1)) {
Lev Walkin29a82192005-03-29 19:05:37 +000058 /* Perform validation of the inner elements */
Lev Walkin739d9bf2006-07-13 13:28:32 +000059 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +000060 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -070061 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +000062 "%s: constraint failed (%s:%d)",
63 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +000064 return -1;
65 }
66}
67
68
Lev Walkinf15320b2004-06-03 03:38:44 +000069/*** <<< STAT-DEFS [LogLine] >>> ***/
70
Lev Walkine8318b82005-03-06 09:29:03 +000071static asn_TYPE_member_t asn_MBR_varsets_3[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000072 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000073 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
74 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000075 .type = &asn_DEF_VariablePartSet,
Lev Walkinba58e1b2005-01-17 12:20:19 +000076 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040077 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000078 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
79 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000080 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +000081 },
Lev Walkin2e3055d2004-08-20 13:36:32 +000082};
Lev Walkina7591b52014-10-12 18:37:35 -070083static const ber_tlv_tag_t asn_DEF_varsets_tags_3[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000084 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
85};
Lev Walkin59b176e2005-11-26 11:25:14 +000086static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000087 sizeof(struct varsets),
Lev Walkindfae9752004-09-29 13:19:37 +000088 offsetof(struct varsets, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000089 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +000090};
Lev Walkind04430c2004-09-07 06:44:29 +000091static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +000092asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000093 "varsets",
Lev Walkindc06f6b2004-10-20 15:50:55 +000094 "varsets",
Lev Walkina9cc46e2004-09-22 16:06:28 +000095 SEQUENCE_OF_free,
96 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +000097 SEQUENCE_OF_constraint,
98 SEQUENCE_OF_decode_ber,
99 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000100 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000101 SEQUENCE_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700102 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400103 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000104 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000105 asn_DEF_varsets_tags_3,
106 sizeof(asn_DEF_varsets_tags_3)
107 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
108 asn_DEF_varsets_tags_3, /* Same as above */
109 sizeof(asn_DEF_varsets_tags_3)
110 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400111 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000112 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000113 asn_MBR_varsets_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000114 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000115 &asn_SPC_varsets_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000116};
117
Lev Walkine0272aa2005-03-04 11:26:08 +0000118static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000119 { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000120 .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
121 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000122 .type = &asn_DEF_IA5String,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000123 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400124 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000125 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
126 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000127 .name = "line-digest"
128 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000129 { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000130 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
131 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000132 .type = &asn_DEF_varsets_3,
Lev Walkin59b176e2005-11-26 11:25:14 +0000133 .memb_constraints = memb_varsets_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400134 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000135 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
136 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000137 .name = "varsets"
Lev Walkinf15320b2004-06-03 03:38:44 +0000138 },
139};
Lev Walkina7591b52014-10-12 18:37:35 -0700140static const ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000141 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
142};
Lev Walkina7591b52014-10-12 18:37:35 -0700143static const asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700144 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets */
145 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000146};
Lev Walkin59b176e2005-11-26 11:25:14 +0000147static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000148 sizeof(struct LogLine),
Lev Walkindfae9752004-09-29 13:19:37 +0000149 offsetof(struct LogLine, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000150 asn_MAP_LogLine_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000151 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000152 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000153 1, /* Start extensions */
154 3 /* Stop extensions */
155};
Lev Walkindfae9752004-09-29 13:19:37 +0000156asn_TYPE_descriptor_t asn_DEF_LogLine = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000157 "LogLine",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000158 "LogLine",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000159 SEQUENCE_free,
160 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000161 SEQUENCE_constraint,
162 SEQUENCE_decode_ber,
163 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000164 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000165 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700166 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400167 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000168 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000169 asn_DEF_LogLine_tags_1,
170 sizeof(asn_DEF_LogLine_tags_1)
171 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
172 asn_DEF_LogLine_tags_1, /* Same as above */
173 sizeof(asn_DEF_LogLine_tags_1)
174 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400175 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000176 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000177 asn_MBR_LogLine_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000178 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000179 &asn_SPC_LogLine_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000180};
181
182
Lev Walkinb47ddce2004-08-11 05:25:47 +0000183/*** <<< INCLUDES [VariablePartSet] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000184
Lev Walkin22b5ed42006-09-13 02:51:20 +0000185#include "ActionItem.h"
Lev Walkinf15320b2004-06-03 03:38:44 +0000186#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000187#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000188#include <constr_SEQUENCE.h>
189
Lev Walkinc8285712005-03-04 22:18:20 +0000190/*** <<< FWD-DECLS [VariablePartSet] >>> ***/
Lev Walkinb47ddce2004-08-11 05:25:47 +0000191
Lev Walkinbf56d542005-03-04 23:50:56 +0000192struct VariablePart;
Lev Walkinf15320b2004-06-03 03:38:44 +0000193
194/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
195
Lev Walkinf15320b2004-06-03 03:38:44 +0000196typedef struct VariablePartSet {
197 struct vparts {
Lev Walkinc8285712005-03-04 22:18:20 +0000198 A_SEQUENCE_OF(struct VariablePart) list;
Lev Walkinf15320b2004-06-03 03:38:44 +0000199
200 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000201 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000202 } vparts;
203 ActionItem_t resolution;
204 /*
205 * This type is extensible,
206 * possible extensions are below.
207 */
208
209 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000210 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000211} VariablePartSet_t;
212
Lev Walkinc8285712005-03-04 22:18:20 +0000213/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
214
215extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
216
217/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
218
Lev Walkin22b5ed42006-09-13 02:51:20 +0000219#include "VariablePart.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000220
Lev Walkin2e3055d2004-08-20 13:36:32 +0000221/*** <<< CODE [VariablePartSet] >>> ***/
222
223static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000224memb_vparts_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000225 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000226
227 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700228 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000229 "%s: value not given (%s:%d)",
230 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000231 return -1;
232 }
233
234
235 if(1 /* No applicable constraints whatsoever */) {
236 /* Nothing is here. See below */
237 }
238
Lev Walkin1eded352006-07-13 11:19:01 +0000239 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000240}
241
242
Lev Walkinf15320b2004-06-03 03:38:44 +0000243/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
244
Lev Walkine0272aa2005-03-04 11:26:08 +0000245static asn_TYPE_member_t asn_MBR_vparts_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000246 { ATF_POINTER, 0, 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000247 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000248 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000249 .type = &asn_DEF_VariablePart,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000250 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400251 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000252 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
253 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000254 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000255 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000256};
Lev Walkina7591b52014-10-12 18:37:35 -0700257static const ber_tlv_tag_t asn_DEF_vparts_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000258 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
259};
Lev Walkin59b176e2005-11-26 11:25:14 +0000260static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000261 sizeof(struct vparts),
Lev Walkindfae9752004-09-29 13:19:37 +0000262 offsetof(struct vparts, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000263 2, /* XER encoding is XMLValueList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000264};
Lev Walkind04430c2004-09-07 06:44:29 +0000265static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000266asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000267 "vparts",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000268 "vparts",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000269 SEQUENCE_OF_free,
270 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000271 SEQUENCE_OF_constraint,
272 SEQUENCE_OF_decode_ber,
273 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000274 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000275 SEQUENCE_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700276 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400277 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000278 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000279 asn_DEF_vparts_tags_2,
280 sizeof(asn_DEF_vparts_tags_2)
281 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
282 asn_DEF_vparts_tags_2, /* Same as above */
283 sizeof(asn_DEF_vparts_tags_2)
284 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400285 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000286 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000287 asn_MBR_vparts_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000288 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000289 &asn_SPC_vparts_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000290};
291
Lev Walkine0272aa2005-03-04 11:26:08 +0000292static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000293 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000294 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
295 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000296 .type = &asn_DEF_vparts_2,
Lev Walkin59b176e2005-11-26 11:25:14 +0000297 .memb_constraints = memb_vparts_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400298 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000299 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
300 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000301 .name = "vparts"
302 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000303 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000304 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
305 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000306 .type = &asn_DEF_ActionItem,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000307 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400308 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000309 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
310 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000311 .name = "resolution"
Lev Walkinf15320b2004-06-03 03:38:44 +0000312 },
313};
Lev Walkina7591b52014-10-12 18:37:35 -0700314static const ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000315 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
316};
Lev Walkina7591b52014-10-12 18:37:35 -0700317static const asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700318 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */
319 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000320};
Lev Walkin59b176e2005-11-26 11:25:14 +0000321static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000322 sizeof(struct VariablePartSet),
Lev Walkindfae9752004-09-29 13:19:37 +0000323 offsetof(struct VariablePartSet, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000324 asn_MAP_VariablePartSet_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000325 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000326 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000327 1, /* Start extensions */
328 3 /* Stop extensions */
329};
Lev Walkindfae9752004-09-29 13:19:37 +0000330asn_TYPE_descriptor_t asn_DEF_VariablePartSet = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000331 "VariablePartSet",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000332 "VariablePartSet",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000333 SEQUENCE_free,
334 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000335 SEQUENCE_constraint,
336 SEQUENCE_decode_ber,
337 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000338 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000339 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700340 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400341 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000342 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000343 asn_DEF_VariablePartSet_tags_1,
344 sizeof(asn_DEF_VariablePartSet_tags_1)
345 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
346 asn_DEF_VariablePartSet_tags_1, /* Same as above */
347 sizeof(asn_DEF_VariablePartSet_tags_1)
348 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400349 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000350 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000351 asn_MBR_VariablePartSet_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000352 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000353 &asn_SPC_VariablePartSet_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000354};
355
356
Lev Walkinb47ddce2004-08-11 05:25:47 +0000357/*** <<< INCLUDES [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000358
Lev Walkinf15320b2004-06-03 03:38:44 +0000359#include <VisibleString.h>
360#include <asn_SET_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000361#include <constr_SET_OF.h>
362#include <constr_SEQUENCE.h>
363#include <constr_CHOICE.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000364
Lev Walkinb47ddce2004-08-11 05:25:47 +0000365/*** <<< DEPS [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000366
Lev Walkinb47ddce2004-08-11 05:25:47 +0000367typedef enum VariablePart_PR {
368 VariablePart_PR_NOTHING, /* No components present */
369 VariablePart_PR_vset,
johvik792216e2017-04-11 10:42:21 +0200370 VariablePart_PR_vrange
Lev Walkinb47ddce2004-08-11 05:25:47 +0000371 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000372
Lev Walkin64399722004-08-11 07:17:22 +0000373} VariablePart_PR;
Lev Walkinf15320b2004-06-03 03:38:44 +0000374
375/*** <<< TYPE-DECLS [VariablePart] >>> ***/
376
Lev Walkinf15320b2004-06-03 03:38:44 +0000377typedef struct VariablePart {
Lev Walkin64399722004-08-11 07:17:22 +0000378 VariablePart_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000379 union VariablePart_u {
Lev Walkinf15320b2004-06-03 03:38:44 +0000380 struct vset {
381 A_SET_OF(VisibleString_t) list;
382
383 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000384 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000385 } vset;
386 struct vrange {
387 VisibleString_t from;
388 VisibleString_t to;
389 /*
390 * This type is extensible,
391 * possible extensions are below.
392 */
393
394 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000395 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000396 } vrange;
397 /*
398 * This type is extensible,
399 * possible extensions are below.
400 */
401 } choice;
402
403 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000404 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000405} VariablePart_t;
406
Lev Walkinc8285712005-03-04 22:18:20 +0000407/*** <<< FUNC-DECLS [VariablePart] >>> ***/
408
409extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
410
Lev Walkin2e3055d2004-08-20 13:36:32 +0000411/*** <<< CODE [VariablePart] >>> ***/
412
413static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000414memb_vset_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000415 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000416 size_t size;
417
418 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700419 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000420 "%s: value not given (%s:%d)",
421 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000422 return -1;
423 }
424
Lev Walkin66d542b2005-07-04 02:03:57 +0000425 /* Determine the number of elements */
426 size = _A_CSET_FROM_VOID(sptr)->count;
Lev Walkin2e3055d2004-08-20 13:36:32 +0000427
428 if((size >= 1)) {
Lev Walkin29a82192005-03-29 19:05:37 +0000429 /* Perform validation of the inner elements */
Lev Walkin739d9bf2006-07-13 13:28:32 +0000430 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000431 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700432 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000433 "%s: constraint failed (%s:%d)",
434 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000435 return -1;
436 }
437}
438
439
Lev Walkinf15320b2004-06-03 03:38:44 +0000440/*** <<< STAT-DEFS [VariablePart] >>> ***/
441
Lev Walkine0272aa2005-03-04 11:26:08 +0000442static asn_TYPE_member_t asn_MBR_vset_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000443 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000444 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
445 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000446 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000447 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400448 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000449 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
450 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000451 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000452 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000453};
Lev Walkina7591b52014-10-12 18:37:35 -0700454static const ber_tlv_tag_t asn_DEF_vset_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000455 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
456};
Lev Walkin59b176e2005-11-26 11:25:14 +0000457static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000458 sizeof(struct vset),
Lev Walkindfae9752004-09-29 13:19:37 +0000459 offsetof(struct vset, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000460 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000461};
Lev Walkind04430c2004-09-07 06:44:29 +0000462static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000463asn_TYPE_descriptor_t asn_DEF_vset_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000464 "vset",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000465 "vset",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000466 SET_OF_free,
467 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000468 SET_OF_constraint,
469 SET_OF_decode_ber,
470 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000471 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000472 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700473 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400474 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000475 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000476 asn_DEF_vset_tags_2,
477 sizeof(asn_DEF_vset_tags_2)
478 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
479 asn_DEF_vset_tags_2, /* Same as above */
480 sizeof(asn_DEF_vset_tags_2)
481 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400482 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000483 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000484 asn_MBR_vset_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000485 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000486 &asn_SPC_vset_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000487};
488
Lev Walkine8318b82005-03-06 09:29:03 +0000489static asn_TYPE_member_t asn_MBR_vrange_4[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000490 { ATF_NOFLAGS, 0, offsetof(struct vrange, from),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000491 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
492 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000493 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000494 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400495 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000496 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
497 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000498 .name = "from"
499 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000500 { ATF_NOFLAGS, 0, offsetof(struct vrange, to),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000501 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
502 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000503 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000504 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400505 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000506 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
507 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000508 .name = "to"
509 },
510};
Lev Walkina7591b52014-10-12 18:37:35 -0700511static const ber_tlv_tag_t asn_DEF_vrange_tags_4[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000512 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
513};
Lev Walkina7591b52014-10-12 18:37:35 -0700514static const asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700515 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from */
516 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000517};
Lev Walkin59b176e2005-11-26 11:25:14 +0000518static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000519 sizeof(struct vrange),
Lev Walkindfae9752004-09-29 13:19:37 +0000520 offsetof(struct vrange, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000521 asn_MAP_vrange_tag2el_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000522 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000523 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000524 1, /* Start extensions */
525 3 /* Stop extensions */
526};
Lev Walkind04430c2004-09-07 06:44:29 +0000527static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000528asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000529 "vrange",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000530 "vrange",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000531 SEQUENCE_free,
532 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000533 SEQUENCE_constraint,
534 SEQUENCE_decode_ber,
535 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000536 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000537 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700538 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400539 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000540 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000541 asn_DEF_vrange_tags_4,
542 sizeof(asn_DEF_vrange_tags_4)
543 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
544 asn_DEF_vrange_tags_4, /* Same as above */
545 sizeof(asn_DEF_vrange_tags_4)
546 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400547 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000548 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000549 asn_MBR_vrange_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000550 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000551 &asn_SPC_vrange_specs_4 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000552};
553
Lev Walkine0272aa2005-03-04 11:26:08 +0000554static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000555 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000556 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
557 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000558 .type = &asn_DEF_vset_2,
Lev Walkin59b176e2005-11-26 11:25:14 +0000559 .memb_constraints = memb_vset_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400560 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000561 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
562 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000563 .name = "vset"
564 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000565 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000566 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
567 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000568 .type = &asn_DEF_vrange_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000569 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400570 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000571 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
572 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000573 .name = "vrange"
Lev Walkinf15320b2004-06-03 03:38:44 +0000574 },
575};
Lev Walkina7591b52014-10-12 18:37:35 -0700576static const asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700577 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */
578 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */
Lev Walkinf15320b2004-06-03 03:38:44 +0000579};
Lev Walkin59b176e2005-11-26 11:25:14 +0000580static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000581 sizeof(struct VariablePart),
Lev Walkindfae9752004-09-29 13:19:37 +0000582 offsetof(struct VariablePart, _asn_ctx),
Lev Walkinf15320b2004-06-03 03:38:44 +0000583 offsetof(struct VariablePart, present),
584 sizeof(((struct VariablePart *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000585 asn_MAP_VariablePart_tag2el_1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000586 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000587 .canonical_order = 0,
588 .ext_start = 2 /* Extensions start */
Lev Walkinf15320b2004-06-03 03:38:44 +0000589};
Lev Walkindfae9752004-09-29 13:19:37 +0000590asn_TYPE_descriptor_t asn_DEF_VariablePart = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000591 "VariablePart",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000592 "VariablePart",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000593 CHOICE_free,
594 CHOICE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000595 CHOICE_constraint,
596 CHOICE_decode_ber,
597 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000598 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000599 CHOICE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700600 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400601 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000602 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000603 0, /* No effective tags (pointer) */
604 0, /* No effective tags (count) */
605 0, /* No tags (pointer) */
606 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400607 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000608 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000609 asn_MBR_VariablePart_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000610 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000611 &asn_SPC_VariablePart_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000612};
613
614
Lev Walkinb47ddce2004-08-11 05:25:47 +0000615/*** <<< INCLUDES [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000616
Lev Walkin2a744a72013-03-27 01:56:23 -0700617#include <NativeEnumerated.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000618#include <BOOLEAN.h>
619#include <VisibleString.h>
620#include <asn_SET_OF.h>
621#include <constr_SET_OF.h>
622#include <constr_SEQUENCE.h>
623
624/*** <<< DEPS [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000625
Lev Walkin2e3055d2004-08-20 13:36:32 +0000626typedef enum accept_as {
627 accept_as_unknown = 0,
628 accept_as_safe = 1,
Lev Walkinbbe38662005-02-25 08:17:56 +0000629 accept_as_unsafe = 2
Lev Walkin2e3055d2004-08-20 13:36:32 +0000630 /*
631 * Enumeration is extensible
632 */
Lev Walkin171487e2006-03-21 07:25:18 +0000633} e_accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000634
635/*** <<< TYPE-DECLS [ActionItem] >>> ***/
636
Lev Walkinf15320b2004-06-03 03:38:44 +0000637typedef struct ActionItem {
Lev Walkin2a744a72013-03-27 01:56:23 -0700638 long accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000639 struct notify {
640 BOOLEAN_t critical;
641 struct email {
642 A_SET_OF(VisibleString_t) list;
643
644 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000645 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000646 } email;
647 /*
648 * This type is extensible,
649 * possible extensions are below.
650 */
651
652 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000653 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000654 } *notify;
655 /*
656 * This type is extensible,
657 * possible extensions are below.
658 */
659
660 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000661 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000662} ActionItem_t;
663
Lev Walkinbbe38662005-02-25 08:17:56 +0000664/*** <<< FUNC-DECLS [ActionItem] >>> ***/
665
Lev Walkine0272aa2005-03-04 11:26:08 +0000666/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000667extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
Lev Walkinbbe38662005-02-25 08:17:56 +0000668
669/*** <<< CODE [ActionItem] >>> ***/
670
671static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000672accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000673 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinbbe38662005-02-25 08:17:56 +0000674 /* Replace with underlying type checker */
Lev Walkin2a744a72013-03-27 01:56:23 -0700675 td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000676 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinbbe38662005-02-25 08:17:56 +0000677}
678
679/*
Lev Walkin2a744a72013-03-27 01:56:23 -0700680 * This type is implemented using NativeEnumerated,
Lev Walkinbbe38662005-02-25 08:17:56 +0000681 * so here we adjust the DEF accordingly.
682 */
683static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000684accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkin2a744a72013-03-27 01:56:23 -0700685 td->free_struct = asn_DEF_NativeEnumerated.free_struct;
686 td->print_struct = asn_DEF_NativeEnumerated.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800687 td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
Lev Walkin2a744a72013-03-27 01:56:23 -0700688 td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
689 td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
690 td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
691 td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
692 td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
693 td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
Lev Walkinba68c912017-07-06 07:52:39 -0700694 td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
695 td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
Lev Walkinb33425f2017-07-14 14:59:52 +0400696 if(!td->oer_constraints)
697 td->oer_constraints = asn_DEF_NativeEnumerated.oer_constraints;
Lev Walkin59b176e2005-11-26 11:25:14 +0000698 if(!td->per_constraints)
Lev Walkin2a744a72013-03-27 01:56:23 -0700699 td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
700 td->elements = asn_DEF_NativeEnumerated.elements;
701 td->elements_count = asn_DEF_NativeEnumerated.elements_count;
702 /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
Lev Walkinbbe38662005-02-25 08:17:56 +0000703}
704
705static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000706accept_as_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000707 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000708 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000709 td->free_struct(td, struct_ptr, contents_only);
710}
711
712static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000713accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinbbe38662005-02-25 08:17:56 +0000714 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000715 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000716 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
717}
718
719static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000720accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000721 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000722 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000723 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
724}
725
726static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000727accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000728 void *structure, int tag_mode, ber_tlv_tag_t tag,
729 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000730 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000731 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
732}
733
734static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000735accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000736 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000737 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000738 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
739}
740
741static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000742accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinbbe38662005-02-25 08:17:56 +0000743 int ilevel, enum xer_encoder_flags_e flags,
744 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000745 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000746 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
747}
748
749
Lev Walkinf15320b2004-06-03 03:38:44 +0000750/*** <<< STAT-DEFS [ActionItem] >>> ***/
751
Lev Walkina7591b52014-10-12 18:37:35 -0700752static const asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000753 { 0, 7, "unknown" },
754 { 1, 4, "safe" },
755 { 2, 6, "unsafe" }
Lev Walkinbbe38662005-02-25 08:17:56 +0000756 /* This list is extensible */
757};
Lev Walkina7591b52014-10-12 18:37:35 -0700758static const unsigned int asn_MAP_accept_as_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000759 1, /* safe(1) */
760 0, /* unknown(0) */
761 2 /* unsafe(2) */
Lev Walkinbbe38662005-02-25 08:17:56 +0000762 /* This list is extensible */
763};
johvike70c4072017-05-09 11:06:12 +0200764static asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000765 asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
766 asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinbbe38662005-02-25 08:17:56 +0000767 3, /* Number of elements in the maps */
Lev Walkin59b176e2005-11-26 11:25:14 +0000768 4, /* Extensions before this member */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000769 1, /* Strict enumeration */
770 0, /* Native long size */
771 0
Lev Walkinbbe38662005-02-25 08:17:56 +0000772};
Lev Walkina7591b52014-10-12 18:37:35 -0700773static const ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000774 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
775};
776static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000777asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000778 "accept-as",
779 "accept-as",
Lev Walkine0272aa2005-03-04 11:26:08 +0000780 accept_as_2_free,
781 accept_as_2_print,
782 accept_as_2_constraint,
783 accept_as_2_decode_ber,
784 accept_as_2_encode_der,
785 accept_as_2_decode_xer,
786 accept_as_2_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700787 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400788 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinbbe38662005-02-25 08:17:56 +0000789 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000790 asn_DEF_accept_as_tags_2,
791 sizeof(asn_DEF_accept_as_tags_2)
792 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
793 asn_DEF_accept_as_tags_2, /* Same as above */
794 sizeof(asn_DEF_accept_as_tags_2)
795 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400796 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000797 0, /* No PER visible constraints */
Lev Walkinbbe38662005-02-25 08:17:56 +0000798 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000799 &asn_SPC_accept_as_specs_2 /* Additional specs */
Lev Walkinbbe38662005-02-25 08:17:56 +0000800};
801
Lev Walkine8318b82005-03-06 09:29:03 +0000802static asn_TYPE_member_t asn_MBR_email_9[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000803 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000804 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
805 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000806 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000807 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400808 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000809 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
810 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000811 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000812 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000813};
Lev Walkina7591b52014-10-12 18:37:35 -0700814static const ber_tlv_tag_t asn_DEF_email_tags_9[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000815 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
816};
Lev Walkin59b176e2005-11-26 11:25:14 +0000817static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000818 sizeof(struct email),
Lev Walkindfae9752004-09-29 13:19:37 +0000819 offsetof(struct email, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000820 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000821};
Lev Walkind04430c2004-09-07 06:44:29 +0000822static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000823asn_TYPE_descriptor_t asn_DEF_email_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000824 "email",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000825 "email",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000826 SET_OF_free,
827 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000828 SET_OF_constraint,
829 SET_OF_decode_ber,
830 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000831 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000832 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700833 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400834 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000835 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000836 asn_DEF_email_tags_9,
837 sizeof(asn_DEF_email_tags_9)
838 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
839 asn_DEF_email_tags_9, /* Same as above */
840 sizeof(asn_DEF_email_tags_9)
841 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400842 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000843 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000844 asn_MBR_email_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000845 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000846 &asn_SPC_email_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000847};
848
Lev Walkine8318b82005-03-06 09:29:03 +0000849static asn_TYPE_member_t asn_MBR_notify_7[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000850 { ATF_NOFLAGS, 0, offsetof(struct notify, critical),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000851 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
852 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000853 .type = &asn_DEF_BOOLEAN,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000854 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400855 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000856 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
857 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000858 .name = "critical"
859 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000860 { ATF_NOFLAGS, 0, offsetof(struct notify, email),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000861 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
862 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000863 .type = &asn_DEF_email_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000864 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400865 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000866 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
867 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000868 .name = "email"
869 },
870};
Lev Walkina7591b52014-10-12 18:37:35 -0700871static const ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000872 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
873};
Lev Walkina7591b52014-10-12 18:37:35 -0700874static const asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700875 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical */
876 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000877};
Lev Walkin59b176e2005-11-26 11:25:14 +0000878static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000879 sizeof(struct notify),
Lev Walkindfae9752004-09-29 13:19:37 +0000880 offsetof(struct notify, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000881 asn_MAP_notify_tag2el_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000882 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000883 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000884 1, /* Start extensions */
885 3 /* Stop extensions */
886};
Lev Walkind04430c2004-09-07 06:44:29 +0000887static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000888asn_TYPE_descriptor_t asn_DEF_notify_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000889 "notify",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000890 "notify",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000891 SEQUENCE_free,
892 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000893 SEQUENCE_constraint,
894 SEQUENCE_decode_ber,
895 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000896 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000897 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700898 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400899 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000900 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000901 asn_DEF_notify_tags_7,
902 sizeof(asn_DEF_notify_tags_7)
903 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
904 asn_DEF_notify_tags_7, /* Same as above */
905 sizeof(asn_DEF_notify_tags_7)
906 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400907 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000908 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000909 asn_MBR_notify_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000910 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000911 &asn_SPC_notify_specs_7 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000912};
913
Lev Walkine0272aa2005-03-04 11:26:08 +0000914static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000915 { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000916 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
917 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000918 .type = &asn_DEF_accept_as_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000919 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400920 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000921 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
922 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000923 .name = "accept-as"
924 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000925 { ATF_POINTER, 1, offsetof(struct ActionItem, notify),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000926 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
927 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000928 .type = &asn_DEF_notify_7,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000929 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400930 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000931 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
932 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000933 .name = "notify"
Lev Walkinf15320b2004-06-03 03:38:44 +0000934 },
935};
Lev Walkina7591b52014-10-12 18:37:35 -0700936static const ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000937 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
938};
Lev Walkina7591b52014-10-12 18:37:35 -0700939static const asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700940 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */
941 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000942};
Lev Walkin59b176e2005-11-26 11:25:14 +0000943static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000944 sizeof(struct ActionItem),
Lev Walkindfae9752004-09-29 13:19:37 +0000945 offsetof(struct ActionItem, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000946 asn_MAP_ActionItem_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000947 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000948 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000949 1, /* Start extensions */
950 3 /* Stop extensions */
951};
Lev Walkindfae9752004-09-29 13:19:37 +0000952asn_TYPE_descriptor_t asn_DEF_ActionItem = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000953 "ActionItem",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000954 "ActionItem",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000955 SEQUENCE_free,
956 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000957 SEQUENCE_constraint,
958 SEQUENCE_decode_ber,
959 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000960 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000961 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700962 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400963 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000964 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000965 asn_DEF_ActionItem_tags_1,
966 sizeof(asn_DEF_ActionItem_tags_1)
967 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
968 asn_DEF_ActionItem_tags_1, /* Same as above */
969 sizeof(asn_DEF_ActionItem_tags_1)
970 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400971 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000972 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000973 asn_MBR_ActionItem_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000974 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000975 &asn_SPC_ActionItem_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000976};
977