spatem_ts_LaneDataAttribute.c
Go to the documentation of this file.
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "DSRC"
4  * found in "/input/ISO-TS-19091-addgrp-C-2018-patched.asn"
5  * `asn1c -fcompound-names -fprefix=spatem_ts_ -no-gen-BER -no-gen-XER -no-gen-OER -no-gen-example -gen-UPER -gen-JER`
6  */
7 
9 
10 static int
12  asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13  size_t size;
14 
15  if(!sptr) {
16  ASN__CTFAIL(app_key, td, sptr,
17  "%s: value not given (%s:%d)",
18  td->name, __FILE__, __LINE__);
19  return -1;
20  }
21 
22  /* Determine the number of elements */
23  size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
24 
25  if((size >= 1UL && size <= 4UL)) {
26  /* Perform validation of the inner elements */
27  return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key);
28  } else {
29  ASN__CTFAIL(app_key, td, sptr,
30  "%s: constraint failed (%s:%d)",
31  td->name, __FILE__, __LINE__);
32  return -1;
33  }
34 }
35 
36 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
37 static asn_per_constraints_t asn_PER_type_spatem_ts_regional_constr_8 CC_NOTUSED = {
38  { APC_UNCONSTRAINED, -1, -1, 0, 0 },
39  { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
40  0, 0 /* No PER value map */
41 };
42 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
43 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
44 static asn_per_constraints_t asn_PER_memb_spatem_ts_regional_constr_8 CC_NOTUSED = {
45  { APC_UNCONSTRAINED, -1, -1, 0, 0 },
46  { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
47  0, 0 /* No PER value map */
48 };
49 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
50 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
52  { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */,
53  { APC_UNCONSTRAINED, -1, -1, 0, 0 },
54  0, 0 /* No PER value map */
55 };
56 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
58  { ATF_POINTER, 0, 0,
59  (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
60  0,
62  0,
63  {
64 #if !defined(ASN_DISABLE_OER_SUPPORT)
65  0,
66 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
67 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
68  0,
69 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
70 #if !defined(ASN_DISABLE_JER_SUPPORT)
71  0,
72 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
73  0
74  },
75  0, 0, /* No default value */
76  ""
77  },
78 };
80  (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
81  (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
82 };
84  sizeof(struct spatem_ts_LaneDataAttribute__regional),
85  offsetof(struct spatem_ts_LaneDataAttribute__regional, _asn_ctx),
86  0, /* XER encoding is XMLDelimitedItemList */
87 };
88 static /* Use -fall-defs-global to expose */
90  "regional",
91  "regional",
95  /sizeof(asn_DEF_spatem_ts_regional_tags_8[0]) - 1, /* 1 */
96  asn_DEF_spatem_ts_regional_tags_8, /* Same as above */
98  /sizeof(asn_DEF_spatem_ts_regional_tags_8[0]), /* 2 */
99  {
100 #if !defined(ASN_DISABLE_OER_SUPPORT)
101  0,
102 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
103 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
104  &asn_PER_type_spatem_ts_regional_constr_8,
105 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
106 #if !defined(ASN_DISABLE_JER_SUPPORT)
107  0,
108 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
110  },
112  1, /* Single element */
113  &asn_SPC_spatem_ts_regional_specs_8 /* Additional specs */
114 };
115 
117  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.pathEndPointAngle),
118  (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
119  -1, /* IMPLICIT tag at current level */
121  0,
122  {
123 #if !defined(ASN_DISABLE_OER_SUPPORT)
124  0,
125 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
126 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
127  0,
128 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
129 #if !defined(ASN_DISABLE_JER_SUPPORT)
130  0,
131 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
132  0
133  },
134  0, 0, /* No default value */
135  "pathEndPointAngle"
136  },
137  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.laneCrownPointCenter),
138  (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
139  -1, /* IMPLICIT tag at current level */
141  0,
142  {
143 #if !defined(ASN_DISABLE_OER_SUPPORT)
144  0,
145 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
146 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
147  0,
148 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
149 #if !defined(ASN_DISABLE_JER_SUPPORT)
150  0,
151 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
152  0
153  },
154  0, 0, /* No default value */
155  "laneCrownPointCenter"
156  },
157  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.laneCrownPointLeft),
158  (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
159  -1, /* IMPLICIT tag at current level */
161  0,
162  {
163 #if !defined(ASN_DISABLE_OER_SUPPORT)
164  0,
165 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
166 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
167  0,
168 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
169 #if !defined(ASN_DISABLE_JER_SUPPORT)
170  0,
171 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
172  0
173  },
174  0, 0, /* No default value */
175  "laneCrownPointLeft"
176  },
177  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.laneCrownPointRight),
178  (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
179  -1, /* IMPLICIT tag at current level */
181  0,
182  {
183 #if !defined(ASN_DISABLE_OER_SUPPORT)
184  0,
185 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
186 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
187  0,
188 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
189 #if !defined(ASN_DISABLE_JER_SUPPORT)
190  0,
191 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
192  0
193  },
194  0, 0, /* No default value */
195  "laneCrownPointRight"
196  },
197  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.laneAngle),
198  (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
199  -1, /* IMPLICIT tag at current level */
201  0,
202  {
203 #if !defined(ASN_DISABLE_OER_SUPPORT)
204  0,
205 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
206 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
207  0,
208 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
209 #if !defined(ASN_DISABLE_JER_SUPPORT)
210  0,
211 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
212  0
213  },
214  0, 0, /* No default value */
215  "laneAngle"
216  },
217  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.speedLimits),
218  (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
219  -1, /* IMPLICIT tag at current level */
221  0,
222  {
223 #if !defined(ASN_DISABLE_OER_SUPPORT)
224  0,
225 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
226 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
227  0,
228 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
229 #if !defined(ASN_DISABLE_JER_SUPPORT)
230  0,
231 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
232  0
233  },
234  0, 0, /* No default value */
235  "speedLimits"
236  },
237  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_LaneDataAttribute, choice.regional),
238  (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
239  0,
241  0,
242  {
243 #if !defined(ASN_DISABLE_OER_SUPPORT)
244  0,
245 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
246 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
247  &asn_PER_memb_spatem_ts_regional_constr_8,
248 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
249 #if !defined(ASN_DISABLE_JER_SUPPORT)
250  0,
251 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
253  },
254  0, 0, /* No default value */
255  "regional"
256  },
257 };
259  { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pathEndPointAngle */
260  { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneCrownPointCenter */
261  { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneCrownPointLeft */
262  { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* laneCrownPointRight */
263  { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* laneAngle */
264  { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* speedLimits */
265  { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */
266 };
268  sizeof(struct spatem_ts_LaneDataAttribute),
271  sizeof(((struct spatem_ts_LaneDataAttribute *)0)->present),
273  7, /* Count of tags in the map */
274  0, 0,
275  7 /* Extensions start */
276 };
278  "LaneDataAttribute",
279  "LaneDataAttribute",
280  &asn_OP_CHOICE,
281  0, /* No effective tags (pointer) */
282  0, /* No effective tags (count) */
283  0, /* No tags (pointer) */
284  0, /* No tags (count) */
285  {
286 #if !defined(ASN_DISABLE_OER_SUPPORT)
287  0,
288 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
289 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
291 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
292 #if !defined(ASN_DISABLE_JER_SUPPORT)
293  0,
294 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
296  },
298  7, /* Elements count */
299  &asn_SPC_spatem_ts_LaneDataAttribute_specs_1 /* Additional specs */
300 };
301 
asn_OP_CHOICE
asn_TYPE_operation_t asn_OP_CHOICE
Definition: constr_CHOICE.c:8
spatem_ts_LaneDataAttribute
Definition: spatem_ts_LaneDataAttribute.h:45
memb_spatem_ts_regional_constraint_1
static int memb_spatem_ts_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
Definition: spatem_ts_LaneDataAttribute.c:11
_A_CSEQUENCE_FROM_VOID
#define _A_CSEQUENCE_FROM_VOID(ptr)
Definition: asn_SEQUENCE_OF.h:46
asn_DEF_spatem_ts_MergeDivergeNodeAngle
asn_TYPE_descriptor_t asn_DEF_spatem_ts_MergeDivergeNodeAngle
Definition: spatem_ts_MergeDivergeNodeAngle.c:49
asn_app_constraint_failed_f
void() asn_app_constraint_failed_f(void *application_specific_key, const struct asn_TYPE_descriptor_s *type_descriptor_which_failed, const void *structure_which_failed_ptr, const char *error_message_format,...) CC_PRINTFLIKE(4
Definition: asn_application.h:167
ASN_TAG_CLASS_CONTEXT
@ ASN_TAG_CLASS_CONTEXT
Definition: ber_tlv_tag.h:15
ber_tlv_tag_t
unsigned ber_tlv_tag_t
Definition: ber_tlv_tag.h:18
asn_DEF_spatem_ts_regional_8
static asn_TYPE_descriptor_t asn_DEF_spatem_ts_regional_8
Definition: spatem_ts_LaneDataAttribute.c:89
ASN_TAG_CLASS_UNIVERSAL
@ ASN_TAG_CLASS_UNIVERSAL
Definition: ber_tlv_tag.h:13
asn_TYPE_descriptor_s::name
const char * name
Definition: constr_TYPE.h:225
asn_MAP_spatem_ts_LaneDataAttribute_tag2el_1
static const asn_TYPE_tag2member_t asn_MAP_spatem_ts_LaneDataAttribute_tag2el_1[]
Definition: spatem_ts_LaneDataAttribute.c:258
asn_PER_type_spatem_ts_LaneDataAttribute_constr_1
asn_per_constraints_t asn_PER_type_spatem_ts_LaneDataAttribute_constr_1
asn_DEF_spatem_ts_regional_tags_8
static const ber_tlv_tag_t asn_DEF_spatem_ts_regional_tags_8[]
Definition: spatem_ts_LaneDataAttribute.c:79
spatem_ts_LaneDataAttribute::present
spatem_ts_LaneDataAttribute_PR present
Definition: spatem_ts_LaneDataAttribute.h:46
asn_CHOICE_specifics_s
Definition: constr_CHOICE.h:14
SEQUENCE_OF_constraint
#define SEQUENCE_OF_constraint
Definition: constr_SEQUENCE_OF.h:28
asn_DEF_spatem_ts_DeltaAngle
asn_TYPE_descriptor_t asn_DEF_spatem_ts_DeltaAngle
Definition: spatem_ts_DeltaAngle.c:49
asn_TYPE_tag2member_s
Definition: constr_TYPE.h:289
asn_OP_SEQUENCE_OF
asn_TYPE_operation_t asn_OP_SEQUENCE_OF
Definition: constr_SEQUENCE_OF.c:10
spatem_ts_LaneDataAttribute.h
ATF_POINTER
@ ATF_POINTER
Definition: constr_TYPE.h:268
asn_TYPE_descriptor_s
Definition: constr_TYPE.h:224
offsetof
#define offsetof(s, m)
Definition: asn_system.h:132
asn_DEF_spatem_ts_SpeedLimitList
asn_TYPE_descriptor_t asn_DEF_spatem_ts_SpeedLimitList
Definition: spatem_ts_SpeedLimitList.c:47
asn_MBR_spatem_ts_LaneDataAttribute_1
asn_TYPE_member_t asn_MBR_spatem_ts_LaneDataAttribute_1[]
Definition: spatem_ts_LaneDataAttribute.c:116
asn_SPC_spatem_ts_LaneDataAttribute_specs_1
asn_CHOICE_specifics_t asn_SPC_spatem_ts_LaneDataAttribute_specs_1
Definition: spatem_ts_LaneDataAttribute.c:267
asn_DEF_spatem_ts_RoadwayCrownAngle
asn_TYPE_descriptor_t asn_DEF_spatem_ts_RoadwayCrownAngle
Definition: spatem_ts_RoadwayCrownAngle.c:49
CHOICE_constraint
asn_constr_check_f CHOICE_constraint
Definition: constr_CHOICE.h:51
ATF_NOFLAGS
@ ATF_NOFLAGS
Definition: constr_TYPE.h:267
spatem_ts_LaneDataAttribute::_asn_ctx
asn_struct_ctx_t _asn_ctx
Definition: spatem_ts_LaneDataAttribute.h:67
ASN__CTFAIL
#define ASN__CTFAIL
Definition: constraints.h:57
asn_DEF_spatem_ts_LaneDataAttribute
asn_TYPE_descriptor_t asn_DEF_spatem_ts_LaneDataAttribute
Definition: spatem_ts_LaneDataAttribute.c:277
asn_DEF_spatem_ts_Reg_LaneDataAttribute
asn_TYPE_descriptor_t asn_DEF_spatem_ts_Reg_LaneDataAttribute
Definition: spatem_ts_RegionalExtension.c:3611
asn_MBR_spatem_ts_regional_8
static asn_TYPE_member_t asn_MBR_spatem_ts_regional_8[]
Definition: spatem_ts_LaneDataAttribute.c:57
asn_SPC_spatem_ts_regional_specs_8
static asn_SET_OF_specifics_t asn_SPC_spatem_ts_regional_specs_8
Definition: spatem_ts_LaneDataAttribute.c:83
asn_per_constraints_s
Definition: per_support.h:30
asn_TYPE_member_s
Definition: constr_TYPE.h:272
CC_NOTUSED
static asn_per_constraints_t asn_PER_type_spatem_ts_regional_constr_8 CC_NOTUSED
Definition: spatem_ts_LaneDataAttribute.c:37
asn_SET_OF_specifics_s
Definition: constr_SET_OF.h:15


etsi_its_spatem_ts_coding
Author(s): Jean-Pierre Busch , Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:29:28