blob: 5b965c1558f15a6e9d4c87f81fdf07d08c185346 [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 Walkin67a30122017-08-10 05:48:54 -070076 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +000077 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040078 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000079 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
80 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000081 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +000082 },
Lev Walkin2e3055d2004-08-20 13:36:32 +000083};
Lev Walkina7591b52014-10-12 18:37:35 -070084static const ber_tlv_tag_t asn_DEF_varsets_tags_3[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000085 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
86};
Lev Walkin59b176e2005-11-26 11:25:14 +000087static asn_SET_OF_specifics_t asn_SPC_varsets_specs_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000088 sizeof(struct varsets),
Lev Walkindfae9752004-09-29 13:19:37 +000089 offsetof(struct varsets, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +000090 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +000091};
Lev Walkind04430c2004-09-07 06:44:29 +000092static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +000093asn_TYPE_descriptor_t asn_DEF_varsets_3 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +000094 "varsets",
Lev Walkindc06f6b2004-10-20 15:50:55 +000095 "varsets",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080096 &asn_OP_SEQUENCE_OF,
Lev Walkin2e3055d2004-08-20 13:36:32 +000097 SEQUENCE_OF_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +000098 asn_DEF_varsets_tags_3,
99 sizeof(asn_DEF_varsets_tags_3)
100 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
101 asn_DEF_varsets_tags_3, /* Same as above */
102 sizeof(asn_DEF_varsets_tags_3)
103 /sizeof(asn_DEF_varsets_tags_3[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400104 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000105 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000106 asn_MBR_varsets_3,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000107 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000108 &asn_SPC_varsets_specs_3 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000109};
110
Lev Walkine0272aa2005-03-04 11:26:08 +0000111static asn_TYPE_member_t asn_MBR_LogLine_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000112 { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000113 .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)),
114 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000115 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -0700116 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000117 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400118 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000119 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
120 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000121 .name = "line-digest"
122 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000123 { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000124 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
125 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000126 .type = &asn_DEF_varsets_3,
Lev Walkin67a30122017-08-10 05:48:54 -0700127 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000128 .memb_constraints = memb_varsets_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400129 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000130 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
131 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000132 .name = "varsets"
Lev Walkinf15320b2004-06-03 03:38:44 +0000133 },
134};
Lev Walkina7591b52014-10-12 18:37:35 -0700135static const ber_tlv_tag_t asn_DEF_LogLine_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000136 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
137};
Lev Walkina7591b52014-10-12 18:37:35 -0700138static const asn_TYPE_tag2member_t asn_MAP_LogLine_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700139 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets */
140 { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 } /* line-digest */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000141};
Lev Walkin59b176e2005-11-26 11:25:14 +0000142static asn_SEQUENCE_specifics_t asn_SPC_LogLine_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000143 sizeof(struct LogLine),
Lev Walkindfae9752004-09-29 13:19:37 +0000144 offsetof(struct LogLine, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700145 .tag2el = asn_MAP_LogLine_tag2el_1,
146 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000147 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000148 1, /* Start extensions */
149 3 /* Stop extensions */
150};
Lev Walkindfae9752004-09-29 13:19:37 +0000151asn_TYPE_descriptor_t asn_DEF_LogLine = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000152 "LogLine",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000153 "LogLine",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800154 &asn_OP_SEQUENCE,
Lev Walkinf15320b2004-06-03 03:38:44 +0000155 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000156 asn_DEF_LogLine_tags_1,
157 sizeof(asn_DEF_LogLine_tags_1)
158 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
159 asn_DEF_LogLine_tags_1, /* Same as above */
160 sizeof(asn_DEF_LogLine_tags_1)
161 /sizeof(asn_DEF_LogLine_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400162 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000163 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000164 asn_MBR_LogLine_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000165 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000166 &asn_SPC_LogLine_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000167};
168
169
Lev Walkinb47ddce2004-08-11 05:25:47 +0000170/*** <<< INCLUDES [VariablePartSet] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000171
Lev Walkin22b5ed42006-09-13 02:51:20 +0000172#include "ActionItem.h"
Lev Walkinf15320b2004-06-03 03:38:44 +0000173#include <asn_SEQUENCE_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000174#include <constr_SEQUENCE_OF.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000175#include <constr_SEQUENCE.h>
176
Lev Walkinc8285712005-03-04 22:18:20 +0000177/*** <<< FWD-DECLS [VariablePartSet] >>> ***/
Lev Walkinb47ddce2004-08-11 05:25:47 +0000178
Lev Walkinbf56d542005-03-04 23:50:56 +0000179struct VariablePart;
Lev Walkinf15320b2004-06-03 03:38:44 +0000180
181/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/
182
Lev Walkinf15320b2004-06-03 03:38:44 +0000183typedef struct VariablePartSet {
184 struct vparts {
Lev Walkinc8285712005-03-04 22:18:20 +0000185 A_SEQUENCE_OF(struct VariablePart) list;
Lev Walkinf15320b2004-06-03 03:38:44 +0000186
187 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000188 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000189 } vparts;
190 ActionItem_t resolution;
191 /*
192 * This type is extensible,
193 * possible extensions are below.
194 */
195
196 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000197 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000198} VariablePartSet_t;
199
Lev Walkinc8285712005-03-04 22:18:20 +0000200/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/
201
202extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800203extern asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1;
204extern asn_TYPE_member_t asn_MBR_VariablePartSet_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +0000205
206/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/
207
Lev Walkin22b5ed42006-09-13 02:51:20 +0000208#include "VariablePart.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000209
Lev Walkin2e3055d2004-08-20 13:36:32 +0000210/*** <<< CODE [VariablePartSet] >>> ***/
211
212static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000213memb_vparts_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000214 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000215
216 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700217 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000218 "%s: value not given (%s:%d)",
219 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000220 return -1;
221 }
222
223
224 if(1 /* No applicable constraints whatsoever */) {
225 /* Nothing is here. See below */
226 }
227
Lev Walkin1eded352006-07-13 11:19:01 +0000228 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000229}
230
231
Lev Walkinf15320b2004-06-03 03:38:44 +0000232/*** <<< STAT-DEFS [VariablePartSet] >>> ***/
233
Lev Walkine0272aa2005-03-04 11:26:08 +0000234static asn_TYPE_member_t asn_MBR_vparts_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000235 { ATF_POINTER, 0, 0,
Lev Walkinb9189732004-09-10 09:37:12 +0000236 .tag = -1 /* Ambiguous tag (CHOICE?) */,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000237 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000238 .type = &asn_DEF_VariablePart,
Lev Walkin67a30122017-08-10 05:48:54 -0700239 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000240 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400241 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000242 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
243 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000244 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000245 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000246};
Lev Walkina7591b52014-10-12 18:37:35 -0700247static const ber_tlv_tag_t asn_DEF_vparts_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000248 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
249};
Lev Walkin59b176e2005-11-26 11:25:14 +0000250static asn_SET_OF_specifics_t asn_SPC_vparts_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000251 sizeof(struct vparts),
Lev Walkindfae9752004-09-29 13:19:37 +0000252 offsetof(struct vparts, _asn_ctx),
Lev Walkind1bfea62005-11-08 03:06:16 +0000253 2, /* XER encoding is XMLValueList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000254};
Lev Walkind04430c2004-09-07 06:44:29 +0000255static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000256asn_TYPE_descriptor_t asn_DEF_vparts_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000257 "vparts",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000258 "vparts",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800259 &asn_OP_SEQUENCE_OF,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000260 SEQUENCE_OF_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000261 asn_DEF_vparts_tags_2,
262 sizeof(asn_DEF_vparts_tags_2)
263 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
264 asn_DEF_vparts_tags_2, /* Same as above */
265 sizeof(asn_DEF_vparts_tags_2)
266 /sizeof(asn_DEF_vparts_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400267 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000268 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000269 asn_MBR_vparts_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000270 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000271 &asn_SPC_vparts_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000272};
273
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800274asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000275 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000276 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
277 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000278 .type = &asn_DEF_vparts_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700279 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000280 .memb_constraints = memb_vparts_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400281 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000282 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
283 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000284 .name = "vparts"
285 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000286 { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution),
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_ActionItem,
Lev Walkin67a30122017-08-10 05:48:54 -0700290 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000291 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400292 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000293 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
294 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000295 .name = "resolution"
Lev Walkinf15320b2004-06-03 03:38:44 +0000296 },
297};
Lev Walkina7591b52014-10-12 18:37:35 -0700298static const ber_tlv_tag_t asn_DEF_VariablePartSet_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000299 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
300};
Lev Walkina7591b52014-10-12 18:37:35 -0700301static const asn_TYPE_tag2member_t asn_MAP_VariablePartSet_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700302 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts */
303 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* resolution */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000304};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800305asn_SEQUENCE_specifics_t asn_SPC_VariablePartSet_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000306 sizeof(struct VariablePartSet),
Lev Walkindfae9752004-09-29 13:19:37 +0000307 offsetof(struct VariablePartSet, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700308 .tag2el = asn_MAP_VariablePartSet_tag2el_1,
309 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000310 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000311 1, /* Start extensions */
312 3 /* Stop extensions */
313};
Lev Walkindfae9752004-09-29 13:19:37 +0000314asn_TYPE_descriptor_t asn_DEF_VariablePartSet = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000315 "VariablePartSet",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000316 "VariablePartSet",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800317 &asn_OP_SEQUENCE,
Lev Walkinf15320b2004-06-03 03:38:44 +0000318 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000319 asn_DEF_VariablePartSet_tags_1,
320 sizeof(asn_DEF_VariablePartSet_tags_1)
321 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
322 asn_DEF_VariablePartSet_tags_1, /* Same as above */
323 sizeof(asn_DEF_VariablePartSet_tags_1)
324 /sizeof(asn_DEF_VariablePartSet_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400325 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000326 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000327 asn_MBR_VariablePartSet_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000328 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000329 &asn_SPC_VariablePartSet_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000330};
331
332
Lev Walkinb47ddce2004-08-11 05:25:47 +0000333/*** <<< INCLUDES [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000334
Lev Walkinf15320b2004-06-03 03:38:44 +0000335#include <VisibleString.h>
336#include <asn_SET_OF.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000337#include <constr_SET_OF.h>
338#include <constr_SEQUENCE.h>
339#include <constr_CHOICE.h>
Lev Walkinf15320b2004-06-03 03:38:44 +0000340
Lev Walkinb47ddce2004-08-11 05:25:47 +0000341/*** <<< DEPS [VariablePart] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000342
Lev Walkinb47ddce2004-08-11 05:25:47 +0000343typedef enum VariablePart_PR {
344 VariablePart_PR_NOTHING, /* No components present */
345 VariablePart_PR_vset,
johvik792216e2017-04-11 10:42:21 +0200346 VariablePart_PR_vrange
Lev Walkinb47ddce2004-08-11 05:25:47 +0000347 /* Extensions may appear below */
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000348
Lev Walkin64399722004-08-11 07:17:22 +0000349} VariablePart_PR;
Lev Walkinf15320b2004-06-03 03:38:44 +0000350
351/*** <<< TYPE-DECLS [VariablePart] >>> ***/
352
Lev Walkinf15320b2004-06-03 03:38:44 +0000353typedef struct VariablePart {
Lev Walkin64399722004-08-11 07:17:22 +0000354 VariablePart_PR present;
Lev Walkin0f5d74c2005-08-14 15:03:31 +0000355 union VariablePart_u {
Lev Walkinf15320b2004-06-03 03:38:44 +0000356 struct vset {
357 A_SET_OF(VisibleString_t) list;
358
359 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000360 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000361 } vset;
362 struct vrange {
363 VisibleString_t from;
364 VisibleString_t to;
365 /*
366 * This type is extensible,
367 * possible extensions are below.
368 */
369
370 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000371 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000372 } vrange;
373 /*
374 * This type is extensible,
375 * possible extensions are below.
376 */
377 } choice;
378
379 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000380 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000381} VariablePart_t;
382
Lev Walkinc8285712005-03-04 22:18:20 +0000383/*** <<< FUNC-DECLS [VariablePart] >>> ***/
384
385extern asn_TYPE_descriptor_t asn_DEF_VariablePart;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800386extern asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1;
387extern asn_TYPE_member_t asn_MBR_VariablePart_1[2];
Lev Walkinc8285712005-03-04 22:18:20 +0000388
Lev Walkin2e3055d2004-08-20 13:36:32 +0000389/*** <<< CODE [VariablePart] >>> ***/
390
391static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000392memb_vset_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000393 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000394 size_t size;
395
396 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700397 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000398 "%s: value not given (%s:%d)",
399 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000400 return -1;
401 }
402
Lev Walkin66d542b2005-07-04 02:03:57 +0000403 /* Determine the number of elements */
404 size = _A_CSET_FROM_VOID(sptr)->count;
Lev Walkin2e3055d2004-08-20 13:36:32 +0000405
406 if((size >= 1)) {
Lev Walkin29a82192005-03-29 19:05:37 +0000407 /* Perform validation of the inner elements */
Lev Walkin739d9bf2006-07-13 13:28:32 +0000408 return td->check_constraints(td, sptr, ctfailcb, app_key);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000409 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700410 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin16835b62004-08-22 13:47:59 +0000411 "%s: constraint failed (%s:%d)",
412 td->name, __FILE__, __LINE__);
Lev Walkin2e3055d2004-08-20 13:36:32 +0000413 return -1;
414 }
415}
416
417
Lev Walkinf15320b2004-06-03 03:38:44 +0000418/*** <<< STAT-DEFS [VariablePart] >>> ***/
419
Lev Walkine0272aa2005-03-04 11:26:08 +0000420static asn_TYPE_member_t asn_MBR_vset_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000421 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000422 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
423 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000424 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -0700425 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000426 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400427 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000428 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
429 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000430 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000431 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000432};
Lev Walkina7591b52014-10-12 18:37:35 -0700433static const ber_tlv_tag_t asn_DEF_vset_tags_2[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000434 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
435};
Lev Walkin59b176e2005-11-26 11:25:14 +0000436static asn_SET_OF_specifics_t asn_SPC_vset_specs_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000437 sizeof(struct vset),
Lev Walkindfae9752004-09-29 13:19:37 +0000438 offsetof(struct vset, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000439 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000440};
Lev Walkind04430c2004-09-07 06:44:29 +0000441static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000442asn_TYPE_descriptor_t asn_DEF_vset_2 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000443 "vset",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000444 "vset",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800445 &asn_OP_SET_OF,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000446 SET_OF_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000447 asn_DEF_vset_tags_2,
448 sizeof(asn_DEF_vset_tags_2)
449 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
450 asn_DEF_vset_tags_2, /* Same as above */
451 sizeof(asn_DEF_vset_tags_2)
452 /sizeof(asn_DEF_vset_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400453 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000454 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000455 asn_MBR_vset_2,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000456 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000457 &asn_SPC_vset_specs_2 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000458};
459
Lev Walkine8318b82005-03-06 09:29:03 +0000460static asn_TYPE_member_t asn_MBR_vrange_4[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000461 { ATF_NOFLAGS, 0, offsetof(struct vrange, from),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000462 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
463 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000464 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -0700465 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000466 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400467 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000468 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
469 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000470 .name = "from"
471 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000472 { ATF_NOFLAGS, 0, offsetof(struct vrange, to),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000473 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
474 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000475 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -0700476 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000477 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400478 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000479 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
480 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000481 .name = "to"
482 },
483};
Lev Walkina7591b52014-10-12 18:37:35 -0700484static const ber_tlv_tag_t asn_DEF_vrange_tags_4[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000485 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
486};
Lev Walkina7591b52014-10-12 18:37:35 -0700487static const asn_TYPE_tag2member_t asn_MAP_vrange_tag2el_4[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700488 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from */
489 { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 } /* to */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000490};
Lev Walkin59b176e2005-11-26 11:25:14 +0000491static asn_SEQUENCE_specifics_t asn_SPC_vrange_specs_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000492 sizeof(struct vrange),
Lev Walkindfae9752004-09-29 13:19:37 +0000493 offsetof(struct vrange, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700494 .tag2el = asn_MAP_vrange_tag2el_4,
495 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000496 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000497 1, /* Start extensions */
498 3 /* Stop extensions */
499};
Lev Walkind04430c2004-09-07 06:44:29 +0000500static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000501asn_TYPE_descriptor_t asn_DEF_vrange_4 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000502 "vrange",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000503 "vrange",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800504 &asn_OP_SEQUENCE,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000505 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000506 asn_DEF_vrange_tags_4,
507 sizeof(asn_DEF_vrange_tags_4)
508 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
509 asn_DEF_vrange_tags_4, /* Same as above */
510 sizeof(asn_DEF_vrange_tags_4)
511 /sizeof(asn_DEF_vrange_tags_4[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400512 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000513 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000514 asn_MBR_vrange_4,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000515 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000516 &asn_SPC_vrange_specs_4 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000517};
518
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800519asn_TYPE_member_t asn_MBR_VariablePart_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000520 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000521 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
522 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000523 .type = &asn_DEF_vset_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700524 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000525 .memb_constraints = memb_vset_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400526 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000527 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
528 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000529 .name = "vset"
530 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000531 { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000532 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
533 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000534 .type = &asn_DEF_vrange_4,
Lev Walkin67a30122017-08-10 05:48:54 -0700535 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000536 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400537 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000538 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
539 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000540 .name = "vrange"
Lev Walkinf15320b2004-06-03 03:38:44 +0000541 },
542};
Lev Walkina7591b52014-10-12 18:37:35 -0700543static const asn_TYPE_tag2member_t asn_MAP_VariablePart_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700544 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange */
545 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 } /* vset */
Lev Walkinf15320b2004-06-03 03:38:44 +0000546};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800547asn_CHOICE_specifics_t asn_SPC_VariablePart_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000548 sizeof(struct VariablePart),
Lev Walkindfae9752004-09-29 13:19:37 +0000549 offsetof(struct VariablePart, _asn_ctx),
Lev Walkinf15320b2004-06-03 03:38:44 +0000550 offsetof(struct VariablePart, present),
551 sizeof(((struct VariablePart *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700552 .tag2el = asn_MAP_VariablePart_tag2el_1,
553 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000554 .canonical_order = 0,
555 .ext_start = 2 /* Extensions start */
Lev Walkinf15320b2004-06-03 03:38:44 +0000556};
Lev Walkindfae9752004-09-29 13:19:37 +0000557asn_TYPE_descriptor_t asn_DEF_VariablePart = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000558 "VariablePart",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000559 "VariablePart",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800560 &asn_OP_CHOICE,
Lev Walkinf15320b2004-06-03 03:38:44 +0000561 CHOICE_constraint,
Lev Walkin188ed2c2004-09-13 08:31:01 +0000562 0, /* No effective tags (pointer) */
563 0, /* No effective tags (count) */
564 0, /* No tags (pointer) */
565 0, /* No tags (count) */
Lev Walkinb33425f2017-07-14 14:59:52 +0400566 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000567 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000568 asn_MBR_VariablePart_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000569 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000570 &asn_SPC_VariablePart_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000571};
572
573
Lev Walkinb47ddce2004-08-11 05:25:47 +0000574/*** <<< INCLUDES [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000575
Lev Walkin2a744a72013-03-27 01:56:23 -0700576#include <NativeEnumerated.h>
Lev Walkinb47ddce2004-08-11 05:25:47 +0000577#include <BOOLEAN.h>
578#include <VisibleString.h>
579#include <asn_SET_OF.h>
580#include <constr_SET_OF.h>
581#include <constr_SEQUENCE.h>
582
583/*** <<< DEPS [ActionItem] >>> ***/
Lev Walkinf15320b2004-06-03 03:38:44 +0000584
Lev Walkin2e3055d2004-08-20 13:36:32 +0000585typedef enum accept_as {
586 accept_as_unknown = 0,
587 accept_as_safe = 1,
Lev Walkinbbe38662005-02-25 08:17:56 +0000588 accept_as_unsafe = 2
Lev Walkin2e3055d2004-08-20 13:36:32 +0000589 /*
590 * Enumeration is extensible
591 */
Lev Walkin171487e2006-03-21 07:25:18 +0000592} e_accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000593
594/*** <<< TYPE-DECLS [ActionItem] >>> ***/
595
Lev Walkinf15320b2004-06-03 03:38:44 +0000596typedef struct ActionItem {
Lev Walkin2a744a72013-03-27 01:56:23 -0700597 long accept_as;
Lev Walkinf15320b2004-06-03 03:38:44 +0000598 struct notify {
599 BOOLEAN_t critical;
600 struct email {
601 A_SET_OF(VisibleString_t) list;
602
603 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000604 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000605 } email;
606 /*
607 * This type is extensible,
608 * possible extensions are below.
609 */
610
611 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000612 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000613 } *notify;
614 /*
615 * This type is extensible,
616 * possible extensions are below.
617 */
618
619 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +0000620 asn_struct_ctx_t _asn_ctx;
Lev Walkinf15320b2004-06-03 03:38:44 +0000621} ActionItem_t;
622
Lev Walkinbbe38662005-02-25 08:17:56 +0000623/*** <<< FUNC-DECLS [ActionItem] >>> ***/
624
Lev Walkine0272aa2005-03-04 11:26:08 +0000625/* extern asn_TYPE_descriptor_t asn_DEF_accept_as_2; // (Use -fall-defs-global to expose) */
Lev Walkinc8285712005-03-04 22:18:20 +0000626extern asn_TYPE_descriptor_t asn_DEF_ActionItem;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800627extern asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1;
628extern asn_TYPE_member_t asn_MBR_ActionItem_1[2];
Lev Walkinbbe38662005-02-25 08:17:56 +0000629
630/*** <<< CODE [ActionItem] >>> ***/
631
Lev Walkinbbe38662005-02-25 08:17:56 +0000632/*
Lev Walkin2a744a72013-03-27 01:56:23 -0700633 * This type is implemented using NativeEnumerated,
Lev Walkinbbe38662005-02-25 08:17:56 +0000634 * so here we adjust the DEF accordingly.
635 */
Lev Walkinbbe38662005-02-25 08:17:56 +0000636
Lev Walkinf15320b2004-06-03 03:38:44 +0000637/*** <<< STAT-DEFS [ActionItem] >>> ***/
638
Lev Walkina7591b52014-10-12 18:37:35 -0700639static const asn_INTEGER_enum_map_t asn_MAP_accept_as_value2enum_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000640 { 0, 7, "unknown" },
641 { 1, 4, "safe" },
642 { 2, 6, "unsafe" }
Lev Walkinbbe38662005-02-25 08:17:56 +0000643 /* This list is extensible */
644};
Lev Walkina7591b52014-10-12 18:37:35 -0700645static const unsigned int asn_MAP_accept_as_enum2value_2[] = {
Lev Walkin9f30ef12005-02-25 11:08:02 +0000646 1, /* safe(1) */
647 0, /* unknown(0) */
648 2 /* unsafe(2) */
Lev Walkinbbe38662005-02-25 08:17:56 +0000649 /* This list is extensible */
650};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800651static const asn_INTEGER_specifics_t asn_SPC_accept_as_specs_2 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000652 asn_MAP_accept_as_value2enum_2, /* "tag" => N; sorted by tag */
653 asn_MAP_accept_as_enum2value_2, /* N => "tag"; sorted by N */
Lev Walkinbbe38662005-02-25 08:17:56 +0000654 3, /* Number of elements in the maps */
Lev Walkin59b176e2005-11-26 11:25:14 +0000655 4, /* Extensions before this member */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000656 1, /* Strict enumeration */
657 0, /* Native long size */
658 0
Lev Walkinbbe38662005-02-25 08:17:56 +0000659};
Lev Walkina7591b52014-10-12 18:37:35 -0700660static const ber_tlv_tag_t asn_DEF_accept_as_tags_2[] = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000661 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
662};
663static /* Use -fall-defs-global to expose */
Lev Walkine0272aa2005-03-04 11:26:08 +0000664asn_TYPE_descriptor_t asn_DEF_accept_as_2 = {
Lev Walkinbbe38662005-02-25 08:17:56 +0000665 "accept-as",
666 "accept-as",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800667 &asn_OP_NativeEnumerated,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800668 NativeEnumerated_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000669 asn_DEF_accept_as_tags_2,
670 sizeof(asn_DEF_accept_as_tags_2)
671 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
672 asn_DEF_accept_as_tags_2, /* Same as above */
673 sizeof(asn_DEF_accept_as_tags_2)
674 /sizeof(asn_DEF_accept_as_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400675 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000676 0, /* No PER visible constraints */
Lev Walkinbbe38662005-02-25 08:17:56 +0000677 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000678 &asn_SPC_accept_as_specs_2 /* Additional specs */
Lev Walkinbbe38662005-02-25 08:17:56 +0000679};
680
Lev Walkine8318b82005-03-06 09:29:03 +0000681static asn_TYPE_member_t asn_MBR_email_9[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000682 { ATF_POINTER, 0, 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000683 .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)),
684 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000685 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -0700686 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000687 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400688 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000689 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
690 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000691 .name = ""
Lev Walkinf15320b2004-06-03 03:38:44 +0000692 },
Lev Walkin2e3055d2004-08-20 13:36:32 +0000693};
Lev Walkina7591b52014-10-12 18:37:35 -0700694static const ber_tlv_tag_t asn_DEF_email_tags_9[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000695 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
696};
Lev Walkin59b176e2005-11-26 11:25:14 +0000697static asn_SET_OF_specifics_t asn_SPC_email_specs_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000698 sizeof(struct email),
Lev Walkindfae9752004-09-29 13:19:37 +0000699 offsetof(struct email, _asn_ctx),
Lev Walkina9cc46e2004-09-22 16:06:28 +0000700 0, /* XER encoding is XMLDelimitedItemList */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000701};
Lev Walkind04430c2004-09-07 06:44:29 +0000702static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000703asn_TYPE_descriptor_t asn_DEF_email_9 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000704 "email",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000705 "email",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800706 &asn_OP_SET_OF,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000707 SET_OF_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000708 asn_DEF_email_tags_9,
709 sizeof(asn_DEF_email_tags_9)
710 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
711 asn_DEF_email_tags_9, /* Same as above */
712 sizeof(asn_DEF_email_tags_9)
713 /sizeof(asn_DEF_email_tags_9[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400714 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000715 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000716 asn_MBR_email_9,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000717 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000718 &asn_SPC_email_specs_9 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000719};
720
Lev Walkine8318b82005-03-06 09:29:03 +0000721static asn_TYPE_member_t asn_MBR_notify_7[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000722 { ATF_NOFLAGS, 0, offsetof(struct notify, critical),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000723 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
724 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000725 .type = &asn_DEF_BOOLEAN,
Lev Walkin67a30122017-08-10 05:48:54 -0700726 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000727 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400728 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000729 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
730 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000731 .name = "critical"
732 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000733 { ATF_NOFLAGS, 0, offsetof(struct notify, email),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000734 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
735 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000736 .type = &asn_DEF_email_9,
Lev Walkin67a30122017-08-10 05:48:54 -0700737 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000738 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400739 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000740 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
741 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000742 .name = "email"
743 },
744};
Lev Walkina7591b52014-10-12 18:37:35 -0700745static const ber_tlv_tag_t asn_DEF_notify_tags_7[] = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000746 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
747};
Lev Walkina7591b52014-10-12 18:37:35 -0700748static const asn_TYPE_tag2member_t asn_MAP_notify_tag2el_7[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700749 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical */
750 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 } /* email */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000751};
Lev Walkin59b176e2005-11-26 11:25:14 +0000752static asn_SEQUENCE_specifics_t asn_SPC_notify_specs_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000753 sizeof(struct notify),
Lev Walkindfae9752004-09-29 13:19:37 +0000754 offsetof(struct notify, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700755 .tag2el = asn_MAP_notify_tag2el_7,
756 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000757 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000758 1, /* Start extensions */
759 3 /* Stop extensions */
760};
Lev Walkind04430c2004-09-07 06:44:29 +0000761static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000762asn_TYPE_descriptor_t asn_DEF_notify_7 = {
Lev Walkin2e3055d2004-08-20 13:36:32 +0000763 "notify",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000764 "notify",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800765 &asn_OP_SEQUENCE,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000766 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000767 asn_DEF_notify_tags_7,
768 sizeof(asn_DEF_notify_tags_7)
769 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
770 asn_DEF_notify_tags_7, /* Same as above */
771 sizeof(asn_DEF_notify_tags_7)
772 /sizeof(asn_DEF_notify_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400773 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000774 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000775 asn_MBR_notify_7,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000776 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000777 &asn_SPC_notify_specs_7 /* Additional specs */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000778};
779
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800780asn_TYPE_member_t asn_MBR_ActionItem_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +0000781 { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000782 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
783 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000784 .type = &asn_DEF_accept_as_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700785 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000786 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400787 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000788 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
789 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000790 .name = "accept-as"
791 },
Lev Walkincc93b0f2004-09-10 09:18:20 +0000792 { ATF_POINTER, 1, offsetof(struct ActionItem, notify),
Lev Walkin2e3055d2004-08-20 13:36:32 +0000793 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
794 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000795 .type = &asn_DEF_notify_7,
Lev Walkin67a30122017-08-10 05:48:54 -0700796 .type_selector = 0,
Lev Walkinba58e1b2005-01-17 12:20:19 +0000797 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400798 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000799 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
800 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000801 .name = "notify"
Lev Walkinf15320b2004-06-03 03:38:44 +0000802 },
803};
Lev Walkina7591b52014-10-12 18:37:35 -0700804static const ber_tlv_tag_t asn_DEF_ActionItem_tags_1[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000805 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
806};
Lev Walkina7591b52014-10-12 18:37:35 -0700807static const asn_TYPE_tag2member_t asn_MAP_ActionItem_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700808 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as */
809 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 } /* notify */
Lev Walkincda6b8a2004-06-06 07:20:52 +0000810};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800811asn_SEQUENCE_specifics_t asn_SPC_ActionItem_specs_1 = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000812 sizeof(struct ActionItem),
Lev Walkindfae9752004-09-29 13:19:37 +0000813 offsetof(struct ActionItem, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700814 .tag2el = asn_MAP_ActionItem_tag2el_1,
815 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000816 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinf15320b2004-06-03 03:38:44 +0000817 1, /* Start extensions */
818 3 /* Stop extensions */
819};
Lev Walkindfae9752004-09-29 13:19:37 +0000820asn_TYPE_descriptor_t asn_DEF_ActionItem = {
Lev Walkinf15320b2004-06-03 03:38:44 +0000821 "ActionItem",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000822 "ActionItem",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800823 &asn_OP_SEQUENCE,
Lev Walkinf15320b2004-06-03 03:38:44 +0000824 SEQUENCE_constraint,
Lev Walkin59b176e2005-11-26 11:25:14 +0000825 asn_DEF_ActionItem_tags_1,
826 sizeof(asn_DEF_ActionItem_tags_1)
827 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
828 asn_DEF_ActionItem_tags_1, /* Same as above */
829 sizeof(asn_DEF_ActionItem_tags_1)
830 /sizeof(asn_DEF_ActionItem_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400831 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000832 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000833 asn_MBR_ActionItem_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000834 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000835 &asn_SPC_ActionItem_specs_1 /* Additional specs */
Lev Walkinf15320b2004-06-03 03:38:44 +0000836};
837