blob: a07a81e23cd12fafcd52ed1071abd845daacf04d [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 Walkin59b176e2005-11-26 11:25:14 +000077 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
78 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000079 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +000080 },
Lev Walkin2e3055d2004-08-20 13:36:32 +000081};
Lev Walkina7591b52014-10-12 18:37:35 -070082static const ber_tlv_tag_t asn_DEF_varsets_tags_3[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000083 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
84};
Lev Walkin59b176e2005-11-26 11:25:14 +000085static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000086 sizeof(struct varsets),
Lev Walkindfae9752004-09-29 13:19:37 +000087 offsetof(struct varsets, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000088 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +000089};
Lev Walkind04430c2004-09-07 06:44:29 +000090static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +000091asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000092 "varsets",
Lev Walkindc06f6b2004-10-20 15:50:55 +000093 "varsets",
Lev Walkina9cc46e2004-09-22 16:06:28 +000094 SEQUENCE_OF_free,
95 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +000096 SEQUENCE_OF_constraint,
97 SEQUENCE_OF_decode_ber,
98 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +000099 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000100 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000101 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700102 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000103 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000104 asn_DEF_varsets_tags_3,
105 sizeof(asn_DEF_varsets_tags_3)
106 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
107 asn_DEF_varsets_tags_3, /* Same as above */
108 sizeof(asn_DEF_varsets_tags_3)
109 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
110 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000111 asn_MBR_varsets_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000112 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000113 &asn_SPC_varsets_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000114};
115
Lev Walkine0272aa2005-03-04 11:26:08 +0000116static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000117 { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000118 .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
119 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000120 .type = &asn_DEF_IA5String,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000121 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000122 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
123 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000124 .name = "line-digest"
125 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000126 { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000127 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
128 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000129 .type = &asn_DEF_varsets_3,
Lev Walkin59b176e2005-11-26 11:25:14 +0000130 .memb_constraints = memb_varsets_constraint_1,
131 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
132 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000133 .name = "varsets"
Lev Walkinf15320b2004-06-03 03:38:44 +0000134 },
135};
Lev Walkina7591b52014-10-12 18:37:35 -0700136static const ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000137 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
138};
Lev Walkina7591b52014-10-12 18:37:35 -0700139static const asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700140 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets */
141 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000142};
Lev Walkin59b176e2005-11-26 11:25:14 +0000143static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000144 sizeof(struct LogLine),
Lev Walkindfae9752004-09-29 13:19:37 +0000145 offsetof(struct LogLine, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000146 asn_MAP_LogLine_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000147 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000148 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000149 1, /* Start extensions */
150 3 /* Stop extensions */
151};
Lev Walkindfae9752004-09-29 13:19:37 +0000152asn_TYPE_descriptor_t asn_DEF_LogLine = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000153 "LogLine",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000154 "LogLine",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000155 SEQUENCE_free,
156 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000157 SEQUENCE_constraint,
158 SEQUENCE_decode_ber,
159 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000160 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000161 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000162 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700163 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000164 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000165 asn_DEF_LogLine_tags_1,
166 sizeof(asn_DEF_LogLine_tags_1)
167 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
168 asn_DEF_LogLine_tags_1, /* Same as above */
169 sizeof(asn_DEF_LogLine_tags_1)
170 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
171 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000172 asn_MBR_LogLine_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000173 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000174 &asn_SPC_LogLine_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000175};
176
177
Lev Walkinb47ddce2004-08-11 05:25:47 +0000178/*** <<< INCLUDES [VariablePartSet] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000179
Lev Walkin22b5ed42006-09-13 02:51:20 +0000180#include "ActionItem.h"
Lev Walkinf15320b2004-06-03 03:38:44 +0000181#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000182#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000183#include <constr_SEQUENCE.h>
184
Lev Walkinc8285712005-03-04 22:18:20 +0000185/*** <<< FWD-DECLS [VariablePartSet] >>> ***/
Lev Walkinb47ddce2004-08-11 05:25:47 +0000186
Lev Walkinbf56d542005-03-04 23:50:56 +0000187struct VariablePart;
Lev Walkinf15320b2004-06-03 03:38:44 +0000188
189/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
190
Lev Walkinf15320b2004-06-03 03:38:44 +0000191typedef struct VariablePartSet {
192 struct vparts {
Lev Walkinc8285712005-03-04 22:18:20 +0000193 A_SEQUENCE_OF(struct VariablePart) list;
Lev Walkinf15320b2004-06-03 03:38:44 +0000194
195 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000196 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000197 } vparts;
198 ActionItem_t resolution;
199 /*
200 * This type is extensible,
201 * possible extensions are below.
202 */
203
204 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000205 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000206} VariablePartSet_t;
207
Lev Walkinc8285712005-03-04 22:18:20 +0000208/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
209
210extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
211
212/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
213
Lev Walkin22b5ed42006-09-13 02:51:20 +0000214#include "VariablePart.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000215
Lev Walkin2e3055d2004-08-20 13:36:32 +0000216/*** <<< CODE [VariablePartSet] >>> ***/
217
218static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000219memb_vparts_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000220 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000221
222 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700223 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000224 "%s: value not given (%s:%d)",
225 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000226 return -1;
227 }
228
229
230 if(1 /* No applicable constraints whatsoever */) {
231 /* Nothing is here. See below */
232 }
233
Lev Walkin1eded352006-07-13 11:19:01 +0000234 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000235}
236
237
Lev Walkinf15320b2004-06-03 03:38:44 +0000238/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
239
Lev Walkine0272aa2005-03-04 11:26:08 +0000240static asn_TYPE_member_t asn_MBR_vparts_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000241 { ATF_POINTER, 0, 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000242 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000243 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000244 .type = &asn_DEF_VariablePart,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000245 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000246 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
247 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000248 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000249 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000250};
Lev Walkina7591b52014-10-12 18:37:35 -0700251static const ber_tlv_tag_t asn_DEF_vparts_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000252 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
253};
Lev Walkin59b176e2005-11-26 11:25:14 +0000254static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000255 sizeof(struct vparts),
Lev Walkindfae9752004-09-29 13:19:37 +0000256 offsetof(struct vparts, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000257 2, /* XER encoding is XMLValueList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000258};
Lev Walkind04430c2004-09-07 06:44:29 +0000259static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000260asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000261 "vparts",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000262 "vparts",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000263 SEQUENCE_OF_free,
264 SEQUENCE_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000265 SEQUENCE_OF_constraint,
266 SEQUENCE_OF_decode_ber,
267 SEQUENCE_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000268 SEQUENCE_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000269 SEQUENCE_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000270 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700271 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000272 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000273 asn_DEF_vparts_tags_2,
274 sizeof(asn_DEF_vparts_tags_2)
275 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
276 asn_DEF_vparts_tags_2, /* Same as above */
277 sizeof(asn_DEF_vparts_tags_2)
278 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
279 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000280 asn_MBR_vparts_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000281 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000282 &asn_SPC_vparts_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000283};
284
Lev Walkine0272aa2005-03-04 11:26:08 +0000285static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000286 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000287 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
288 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000289 .type = &asn_DEF_vparts_2,
Lev Walkin59b176e2005-11-26 11:25:14 +0000290 .memb_constraints = memb_vparts_constraint_1,
291 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
292 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000293 .name = "vparts"
294 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000295 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000296 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
297 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000298 .type = &asn_DEF_ActionItem,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000299 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000300 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
301 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000302 .name = "resolution"
Lev Walkinf15320b2004-06-03 03:38:44 +0000303 },
304};
Lev Walkina7591b52014-10-12 18:37:35 -0700305static const ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000306 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
307};
Lev Walkina7591b52014-10-12 18:37:35 -0700308static const asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700309 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */
310 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000311};
Lev Walkin59b176e2005-11-26 11:25:14 +0000312static asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000313 sizeof(struct VariablePartSet),
Lev Walkindfae9752004-09-29 13:19:37 +0000314 offsetof(struct VariablePartSet, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000315 asn_MAP_VariablePartSet_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000316 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000317 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000318 1, /* Start extensions */
319 3 /* Stop extensions */
320};
Lev Walkindfae9752004-09-29 13:19:37 +0000321asn_TYPE_descriptor_t asn_DEF_VariablePartSet = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000322 "VariablePartSet",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000323 "VariablePartSet",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000324 SEQUENCE_free,
325 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000326 SEQUENCE_constraint,
327 SEQUENCE_decode_ber,
328 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000329 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000330 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000331 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700332 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000333 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000334 asn_DEF_VariablePartSet_tags_1,
335 sizeof(asn_DEF_VariablePartSet_tags_1)
336 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
337 asn_DEF_VariablePartSet_tags_1, /* Same as above */
338 sizeof(asn_DEF_VariablePartSet_tags_1)
339 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
340 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000341 asn_MBR_VariablePartSet_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000342 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000343 &asn_SPC_VariablePartSet_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000344};
345
346
Lev Walkinb47ddce2004-08-11 05:25:47 +0000347/*** <<< INCLUDES [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000348
Lev Walkinf15320b2004-06-03 03:38:44 +0000349#include <VisibleString.h>
350#include <asn_SET_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000351#include <constr_SET_OF.h>
352#include <constr_SEQUENCE.h>
353#include <constr_CHOICE.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000354
Lev Walkinb47ddce2004-08-11 05:25:47 +0000355/*** <<< DEPS [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000356
Lev Walkinb47ddce2004-08-11 05:25:47 +0000357typedef enum VariablePart_PR {
358 VariablePart_PR_NOTHING, /* No components present */
359 VariablePart_PR_vset,
johvik792216e2017-04-11 10:42:21 +0200360 VariablePart_PR_vrange
Lev Walkinb47ddce2004-08-11 05:25:47 +0000361 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000362
Lev Walkin64399722004-08-11 07:17:22 +0000363} VariablePart_PR;
Lev Walkinf15320b2004-06-03 03:38:44 +0000364
365/*** <<< TYPE-DECLS [VariablePart] >>> ***/
366
Lev Walkinf15320b2004-06-03 03:38:44 +0000367typedef struct VariablePart {
Lev Walkin64399722004-08-11 07:17:22 +0000368 VariablePart_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000369 union VariablePart_u {
Lev Walkinf15320b2004-06-03 03:38:44 +0000370 struct vset {
371 A_SET_OF(VisibleString_t) list;
372
373 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000374 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000375 } vset;
376 struct vrange {
377 VisibleString_t from;
378 VisibleString_t to;
379 /*
380 * This type is extensible,
381 * possible extensions are below.
382 */
383
384 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000385 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000386 } vrange;
387 /*
388 * This type is extensible,
389 * possible extensions are below.
390 */
391 } choice;
392
393 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000394 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000395} VariablePart_t;
396
Lev Walkinc8285712005-03-04 22:18:20 +0000397/*** <<< FUNC-DECLS [VariablePart] >>> ***/
398
399extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
400
Lev Walkin2e3055d2004-08-20 13:36:32 +0000401/*** <<< CODE [VariablePart] >>> ***/
402
403static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000404memb_vset_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000405 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000406 size_t size;
407
408 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700409 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000410 "%s: value not given (%s:%d)",
411 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000412 return -1;
413 }
414
Lev Walkin66d542b2005-07-04 02:03:57 +0000415 /* Determine the number of elements */
416 size = _A_CSET_FROM_VOID(sptr)->count;
Lev Walkin2e3055d2004-08-20 13:36:32 +0000417
418 if((size >= 1)) {
Lev Walkin29a82192005-03-29 19:05:37 +0000419 /* Perform validation of the inner elements */
Lev Walkin739d9bf2006-07-13 13:28:32 +0000420 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000421 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700422 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000423 "%s: constraint failed (%s:%d)",
424 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000425 return -1;
426 }
427}
428
429
Lev Walkinf15320b2004-06-03 03:38:44 +0000430/*** <<< STAT-DEFS [VariablePart] >>> ***/
431
Lev Walkine0272aa2005-03-04 11:26:08 +0000432static asn_TYPE_member_t asn_MBR_vset_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000433 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000434 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
435 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000436 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000437 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000438 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
439 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000440 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000441 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000442};
Lev Walkina7591b52014-10-12 18:37:35 -0700443static const ber_tlv_tag_t asn_DEF_vset_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000444 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
445};
Lev Walkin59b176e2005-11-26 11:25:14 +0000446static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000447 sizeof(struct vset),
Lev Walkindfae9752004-09-29 13:19:37 +0000448 offsetof(struct vset, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000449 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000450};
Lev Walkind04430c2004-09-07 06:44:29 +0000451static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000452asn_TYPE_descriptor_t asn_DEF_vset_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000453 "vset",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000454 "vset",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000455 SET_OF_free,
456 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000457 SET_OF_constraint,
458 SET_OF_decode_ber,
459 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000460 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000461 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000462 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700463 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000464 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000465 asn_DEF_vset_tags_2,
466 sizeof(asn_DEF_vset_tags_2)
467 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
468 asn_DEF_vset_tags_2, /* Same as above */
469 sizeof(asn_DEF_vset_tags_2)
470 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
471 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000472 asn_MBR_vset_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000473 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000474 &asn_SPC_vset_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000475};
476
Lev Walkine8318b82005-03-06 09:29:03 +0000477static asn_TYPE_member_t asn_MBR_vrange_4[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000478 { ATF_NOFLAGS, 0, offsetof(struct vrange, from),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000479 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
480 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000481 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000482 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000483 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
484 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000485 .name = "from"
486 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000487 { ATF_NOFLAGS, 0, offsetof(struct vrange, to),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000488 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
489 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000490 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000491 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000492 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
493 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000494 .name = "to"
495 },
496};
Lev Walkina7591b52014-10-12 18:37:35 -0700497static const ber_tlv_tag_t asn_DEF_vrange_tags_4[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000498 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
499};
Lev Walkina7591b52014-10-12 18:37:35 -0700500static const asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700501 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from */
502 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000503};
Lev Walkin59b176e2005-11-26 11:25:14 +0000504static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000505 sizeof(struct vrange),
Lev Walkindfae9752004-09-29 13:19:37 +0000506 offsetof(struct vrange, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000507 asn_MAP_vrange_tag2el_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000508 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000509 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000510 1, /* Start extensions */
511 3 /* Stop extensions */
512};
Lev Walkind04430c2004-09-07 06:44:29 +0000513static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000514asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000515 "vrange",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000516 "vrange",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000517 SEQUENCE_free,
518 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000519 SEQUENCE_constraint,
520 SEQUENCE_decode_ber,
521 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000522 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000523 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000524 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700525 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000526 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000527 asn_DEF_vrange_tags_4,
528 sizeof(asn_DEF_vrange_tags_4)
529 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
530 asn_DEF_vrange_tags_4, /* Same as above */
531 sizeof(asn_DEF_vrange_tags_4)
532 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
533 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000534 asn_MBR_vrange_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000535 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000536 &asn_SPC_vrange_specs_4 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000537};
538
Lev Walkine0272aa2005-03-04 11:26:08 +0000539static asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000540 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000541 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
542 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000543 .type = &asn_DEF_vset_2,
Lev Walkin59b176e2005-11-26 11:25:14 +0000544 .memb_constraints = memb_vset_constraint_1,
545 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
546 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000547 .name = "vset"
548 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000549 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000550 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
551 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000552 .type = &asn_DEF_vrange_4,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000553 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000554 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
555 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000556 .name = "vrange"
Lev Walkinf15320b2004-06-03 03:38:44 +0000557 },
558};
Lev Walkina7591b52014-10-12 18:37:35 -0700559static const asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700560 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */
561 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */
Lev Walkinf15320b2004-06-03 03:38:44 +0000562};
Lev Walkin59b176e2005-11-26 11:25:14 +0000563static asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000564 sizeof(struct VariablePart),
Lev Walkindfae9752004-09-29 13:19:37 +0000565 offsetof(struct VariablePart, _asn_ctx),
Lev Walkinf15320b2004-06-03 03:38:44 +0000566 offsetof(struct VariablePart, present),
567 sizeof(((struct VariablePart *)0)->present),
Lev Walkin59b176e2005-11-26 11:25:14 +0000568 asn_MAP_VariablePart_tag2el_1,
Lev Walkinf15320b2004-06-03 03:38:44 +0000569 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000570 .canonical_order = 0,
571 .ext_start = 2 /* Extensions start */
Lev Walkinf15320b2004-06-03 03:38:44 +0000572};
Lev Walkindfae9752004-09-29 13:19:37 +0000573asn_TYPE_descriptor_t asn_DEF_VariablePart = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000574 "VariablePart",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000575 "VariablePart",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000576 CHOICE_free,
577 CHOICE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000578 CHOICE_constraint,
579 CHOICE_decode_ber,
580 CHOICE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000581 CHOICE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000582 CHOICE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000583 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700584 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000585 CHOICE_outmost_tag,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000586 0, /* No effective tags (pointer) */
587 0, /* No effective tags (count) */
588 0, /* No tags (pointer) */
589 0, /* No tags (count) */
Lev Walkin59b176e2005-11-26 11:25:14 +0000590 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000591 asn_MBR_VariablePart_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000592 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000593 &asn_SPC_VariablePart_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000594};
595
596
Lev Walkinb47ddce2004-08-11 05:25:47 +0000597/*** <<< INCLUDES [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000598
Lev Walkin2a744a72013-03-27 01:56:23 -0700599#include <NativeEnumerated.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000600#include <BOOLEAN.h>
601#include <VisibleString.h>
602#include <asn_SET_OF.h>
603#include <constr_SET_OF.h>
604#include <constr_SEQUENCE.h>
605
606/*** <<< DEPS [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000607
Lev Walkin2e3055d2004-08-20 13:36:32 +0000608typedef enum accept_as {
609 accept_as_unknown = 0,
610 accept_as_safe = 1,
Lev Walkinbbe38662005-02-25 08:17:56 +0000611 accept_as_unsafe = 2
Lev Walkin2e3055d2004-08-20 13:36:32 +0000612 /*
613 * Enumeration is extensible
614 */
Lev Walkin171487e2006-03-21 07:25:18 +0000615} e_accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000616
617/*** <<< TYPE-DECLS [ActionItem] >>> ***/
618
Lev Walkinf15320b2004-06-03 03:38:44 +0000619typedef struct ActionItem {
Lev Walkin2a744a72013-03-27 01:56:23 -0700620 long accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000621 struct notify {
622 BOOLEAN_t critical;
623 struct email {
624 A_SET_OF(VisibleString_t) list;
625
626 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000627 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000628 } email;
629 /*
630 * This type is extensible,
631 * possible extensions are below.
632 */
633
634 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000635 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000636 } *notify;
637 /*
638 * This type is extensible,
639 * possible extensions are below.
640 */
641
642 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000643 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000644} ActionItem_t;
645
Lev Walkinbbe38662005-02-25 08:17:56 +0000646/*** <<< FUNC-DECLS [ActionItem] >>> ***/
647
Lev Walkine0272aa2005-03-04 11:26:08 +0000648/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000649extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
Lev Walkinbbe38662005-02-25 08:17:56 +0000650
651/*** <<< CODE [ActionItem] >>> ***/
652
653static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000654accept_as_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000655 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkinbbe38662005-02-25 08:17:56 +0000656 /* Replace with underlying type checker */
Lev Walkin2a744a72013-03-27 01:56:23 -0700657 td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
Lev Walkin1eded352006-07-13 11:19:01 +0000658 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkinbbe38662005-02-25 08:17:56 +0000659}
660
661/*
Lev Walkin2a744a72013-03-27 01:56:23 -0700662 * This type is implemented using NativeEnumerated,
Lev Walkinbbe38662005-02-25 08:17:56 +0000663 * so here we adjust the DEF accordingly.
664 */
665static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000666accept_as_2_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
Lev Walkin2a744a72013-03-27 01:56:23 -0700667 td->free_struct = asn_DEF_NativeEnumerated.free_struct;
668 td->print_struct = asn_DEF_NativeEnumerated.print_struct;
Lev Walkin6169b8d2013-12-07 11:02:44 -0800669 td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
Lev Walkin2a744a72013-03-27 01:56:23 -0700670 td->ber_decoder = asn_DEF_NativeEnumerated.ber_decoder;
671 td->der_encoder = asn_DEF_NativeEnumerated.der_encoder;
672 td->xer_decoder = asn_DEF_NativeEnumerated.xer_decoder;
673 td->xer_encoder = asn_DEF_NativeEnumerated.xer_encoder;
674 td->uper_decoder = asn_DEF_NativeEnumerated.uper_decoder;
675 td->uper_encoder = asn_DEF_NativeEnumerated.uper_encoder;
Lev Walkinba68c912017-07-06 07:52:39 -0700676 td->oer_decoder = asn_DEF_NativeEnumerated.oer_decoder;
677 td->oer_encoder = asn_DEF_NativeEnumerated.oer_encoder;
Lev Walkin59b176e2005-11-26 11:25:14 +0000678 if(!td->per_constraints)
Lev Walkin2a744a72013-03-27 01:56:23 -0700679 td->per_constraints = asn_DEF_NativeEnumerated.per_constraints;
680 td->elements = asn_DEF_NativeEnumerated.elements;
681 td->elements_count = asn_DEF_NativeEnumerated.elements_count;
682 /* td->specifics = asn_DEF_NativeEnumerated.specifics; // Defined explicitly */
Lev Walkinbbe38662005-02-25 08:17:56 +0000683}
684
685static void
Lev Walkine0272aa2005-03-04 11:26:08 +0000686accept_as_2_free(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000687 void *struct_ptr, int contents_only) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000688 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000689 td->free_struct(td, struct_ptr, contents_only);
690}
691
692static int
Lev Walkine0272aa2005-03-04 11:26:08 +0000693accept_as_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
Lev Walkinbbe38662005-02-25 08:17:56 +0000694 int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000695 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000696 return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
697}
698
699static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000700accept_as_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000701 void **structure, const void *bufptr, size_t size, int tag_mode) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000702 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000703 return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
704}
705
706static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000707accept_as_2_encode_der(asn_TYPE_descriptor_t *td,
Lev Walkinbbe38662005-02-25 08:17:56 +0000708 void *structure, int tag_mode, ber_tlv_tag_t tag,
709 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000710 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000711 return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
712}
713
714static asn_dec_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000715accept_as_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
Lev Walkin3ebc65a2005-03-17 21:57:19 +0000716 void **structure, const char *opt_mname, const void *bufptr, size_t size) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000717 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000718 return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
719}
720
721static asn_enc_rval_t
Lev Walkine0272aa2005-03-04 11:26:08 +0000722accept_as_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
Lev Walkinbbe38662005-02-25 08:17:56 +0000723 int ilevel, enum xer_encoder_flags_e flags,
724 asn_app_consume_bytes_f *cb, void *app_key) {
Lev Walkine0272aa2005-03-04 11:26:08 +0000725 accept_as_2_inherit_TYPE_descriptor(td);
Lev Walkinbbe38662005-02-25 08:17:56 +0000726 return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
727}
728
729
Lev Walkinf15320b2004-06-03 03:38:44 +0000730/*** <<< STAT-DEFS [ActionItem] >>> ***/
731
Lev Walkina7591b52014-10-12 18:37:35 -0700732static const asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000733 { 0, 7, "unknown" },
734 { 1, 4, "safe" },
735 { 2, 6, "unsafe" }
Lev Walkinbbe38662005-02-25 08:17:56 +0000736 /* This list is extensible */
737};
Lev Walkina7591b52014-10-12 18:37:35 -0700738static const unsigned int asn_MAP_accept_as_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000739 1, /* safe(1) */
740 0, /* unknown(0) */
741 2 /* unsafe(2) */
Lev Walkinbbe38662005-02-25 08:17:56 +0000742 /* This list is extensible */
743};
johvike70c4072017-05-09 11:06:12 +0200744static asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000745 asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
746 asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinbbe38662005-02-25 08:17:56 +0000747 3, /* Number of elements in the maps */
Lev Walkin59b176e2005-11-26 11:25:14 +0000748 4, /* Extensions before this member */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000749 1, /* Strict enumeration */
750 0, /* Native long size */
751 0
Lev Walkinbbe38662005-02-25 08:17:56 +0000752};
Lev Walkina7591b52014-10-12 18:37:35 -0700753static const ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000754 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
755};
756static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000757asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000758 "accept-as",
759 "accept-as",
Lev Walkine0272aa2005-03-04 11:26:08 +0000760 accept_as_2_free,
761 accept_as_2_print,
762 accept_as_2_constraint,
763 accept_as_2_decode_ber,
764 accept_as_2_encode_der,
765 accept_as_2_decode_xer,
766 accept_as_2_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000767 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700768 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinbbe38662005-02-25 08:17:56 +0000769 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000770 asn_DEF_accept_as_tags_2,
771 sizeof(asn_DEF_accept_as_tags_2)
772 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
773 asn_DEF_accept_as_tags_2, /* Same as above */
774 sizeof(asn_DEF_accept_as_tags_2)
775 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
776 0, /* No PER visible constraints */
Lev Walkinbbe38662005-02-25 08:17:56 +0000777 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000778 &asn_SPC_accept_as_specs_2 /* Additional specs */
Lev Walkinbbe38662005-02-25 08:17:56 +0000779};
780
Lev Walkine8318b82005-03-06 09:29:03 +0000781static asn_TYPE_member_t asn_MBR_email_9[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000782 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000783 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
784 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000785 .type = &asn_DEF_VisibleString,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000786 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000787 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
788 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000789 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000790 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000791};
Lev Walkina7591b52014-10-12 18:37:35 -0700792static const ber_tlv_tag_t asn_DEF_email_tags_9[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000793 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
794};
Lev Walkin59b176e2005-11-26 11:25:14 +0000795static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000796 sizeof(struct email),
Lev Walkindfae9752004-09-29 13:19:37 +0000797 offsetof(struct email, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000798 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000799};
Lev Walkind04430c2004-09-07 06:44:29 +0000800static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000801asn_TYPE_descriptor_t asn_DEF_email_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000802 "email",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000803 "email",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000804 SET_OF_free,
805 SET_OF_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000806 SET_OF_constraint,
807 SET_OF_decode_ber,
808 SET_OF_encode_der,
Lev Walkinb2230802005-02-14 20:31:31 +0000809 SET_OF_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000810 SET_OF_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000811 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700812 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000813 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000814 asn_DEF_email_tags_9,
815 sizeof(asn_DEF_email_tags_9)
816 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
817 asn_DEF_email_tags_9, /* Same as above */
818 sizeof(asn_DEF_email_tags_9)
819 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
820 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000821 asn_MBR_email_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000822 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000823 &asn_SPC_email_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000824};
825
Lev Walkine8318b82005-03-06 09:29:03 +0000826static asn_TYPE_member_t asn_MBR_notify_7[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000827 { ATF_NOFLAGS, 0, offsetof(struct notify, critical),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000828 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
829 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000830 .type = &asn_DEF_BOOLEAN,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000831 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000832 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
833 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000834 .name = "critical"
835 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000836 { ATF_NOFLAGS, 0, offsetof(struct notify, email),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000837 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
838 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000839 .type = &asn_DEF_email_9,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000840 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000841 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
842 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000843 .name = "email"
844 },
845};
Lev Walkina7591b52014-10-12 18:37:35 -0700846static const ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000847 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
848};
Lev Walkina7591b52014-10-12 18:37:35 -0700849static const asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700850 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical */
851 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000852};
Lev Walkin59b176e2005-11-26 11:25:14 +0000853static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000854 sizeof(struct notify),
Lev Walkindfae9752004-09-29 13:19:37 +0000855 offsetof(struct notify, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000856 asn_MAP_notify_tag2el_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000857 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000858 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000859 1, /* Start extensions */
860 3 /* Stop extensions */
861};
Lev Walkind04430c2004-09-07 06:44:29 +0000862static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000863asn_TYPE_descriptor_t asn_DEF_notify_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000864 "notify",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000865 "notify",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000866 SEQUENCE_free,
867 SEQUENCE_print,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000868 SEQUENCE_constraint,
869 SEQUENCE_decode_ber,
870 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000871 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000872 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000873 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700874 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000875 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000876 asn_DEF_notify_tags_7,
877 sizeof(asn_DEF_notify_tags_7)
878 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
879 asn_DEF_notify_tags_7, /* Same as above */
880 sizeof(asn_DEF_notify_tags_7)
881 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
882 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000883 asn_MBR_notify_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000884 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000885 &asn_SPC_notify_specs_7 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000886};
887
Lev Walkine0272aa2005-03-04 11:26:08 +0000888static asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000889 { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000890 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
891 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000892 .type = &asn_DEF_accept_as_2,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000893 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000894 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
895 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000896 .name = "accept-as"
897 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000898 { ATF_POINTER, 1, offsetof(struct ActionItem, notify),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000899 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
900 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000901 .type = &asn_DEF_notify_7,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000902 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkin59b176e2005-11-26 11:25:14 +0000903 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
904 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000905 .name = "notify"
Lev Walkinf15320b2004-06-03 03:38:44 +0000906 },
907};
Lev Walkina7591b52014-10-12 18:37:35 -0700908static const ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000909 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
910};
Lev Walkina7591b52014-10-12 18:37:35 -0700911static const asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700912 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */
913 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000914};
Lev Walkin59b176e2005-11-26 11:25:14 +0000915static asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000916 sizeof(struct ActionItem),
Lev Walkindfae9752004-09-29 13:19:37 +0000917 offsetof(struct ActionItem, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000918 asn_MAP_ActionItem_tag2el_1,
Lev Walkincda6b8a2004-06-06 07:20:52 +0000919 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000920 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000921 1, /* Start extensions */
922 3 /* Stop extensions */
923};
Lev Walkindfae9752004-09-29 13:19:37 +0000924asn_TYPE_descriptor_t asn_DEF_ActionItem = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000925 "ActionItem",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000926 "ActionItem",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000927 SEQUENCE_free,
928 SEQUENCE_print,
Lev Walkinf15320b2004-06-03 03:38:44 +0000929 SEQUENCE_constraint,
930 SEQUENCE_decode_ber,
931 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000932 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000933 SEQUENCE_encode_xer,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000934 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinba68c912017-07-06 07:52:39 -0700935 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinf15320b2004-06-03 03:38:44 +0000936 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000937 asn_DEF_ActionItem_tags_1,
938 sizeof(asn_DEF_ActionItem_tags_1)
939 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
940 asn_DEF_ActionItem_tags_1, /* Same as above */
941 sizeof(asn_DEF_ActionItem_tags_1)
942 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
943 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000944 asn_MBR_ActionItem_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000945 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000946 &asn_SPC_ActionItem_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000947};
948