spatem_ts_IntersectionGeometry.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_10 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_10 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) */
51  { ATF_POINTER, 0, 0,
52  (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
53  0,
55  0,
56  {
57 #if !defined(ASN_DISABLE_OER_SUPPORT)
58  0,
59 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
60 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
61  0,
62 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
63 #if !defined(ASN_DISABLE_JER_SUPPORT)
64  0,
65 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
66  0
67  },
68  0, 0, /* No default value */
69  ""
70  },
71 };
73  (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
74  (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
75 };
77  sizeof(struct spatem_ts_IntersectionGeometry__regional),
78  offsetof(struct spatem_ts_IntersectionGeometry__regional, _asn_ctx),
79  0, /* XER encoding is XMLDelimitedItemList */
80 };
81 static /* Use -fall-defs-global to expose */
83  "regional",
84  "regional",
88  /sizeof(asn_DEF_spatem_ts_regional_tags_10[0]) - 1, /* 1 */
89  asn_DEF_spatem_ts_regional_tags_10, /* Same as above */
91  /sizeof(asn_DEF_spatem_ts_regional_tags_10[0]), /* 2 */
92  {
93 #if !defined(ASN_DISABLE_OER_SUPPORT)
94  0,
95 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
96 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
97  &asn_PER_type_spatem_ts_regional_constr_10,
98 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
99 #if !defined(ASN_DISABLE_JER_SUPPORT)
100  0,
101 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
103  },
105  1, /* Single element */
106  &asn_SPC_spatem_ts_regional_specs_10 /* Additional specs */
107 };
108 
111  (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
112  -1, /* IMPLICIT tag at current level */
114  0,
115  {
116 #if !defined(ASN_DISABLE_OER_SUPPORT)
117  0,
118 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
119 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
120  0,
121 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
122 #if !defined(ASN_DISABLE_JER_SUPPORT)
123  0,
124 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
125  0
126  },
127  0, 0, /* No default value */
128  "name"
129  },
131  (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
132  -1, /* IMPLICIT tag at current level */
134  0,
135  {
136 #if !defined(ASN_DISABLE_OER_SUPPORT)
137  0,
138 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
139 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
140  0,
141 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
142 #if !defined(ASN_DISABLE_JER_SUPPORT)
143  0,
144 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
145  0
146  },
147  0, 0, /* No default value */
148  "id"
149  },
150  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_IntersectionGeometry, revision),
151  (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
152  -1, /* IMPLICIT tag at current level */
154  0,
155  {
156 #if !defined(ASN_DISABLE_OER_SUPPORT)
157  0,
158 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
159 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
160  0,
161 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
162 #if !defined(ASN_DISABLE_JER_SUPPORT)
163  0,
164 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
165  0
166  },
167  0, 0, /* No default value */
168  "revision"
169  },
170  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_IntersectionGeometry, refPoint),
171  (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
172  -1, /* IMPLICIT tag at current level */
174  0,
175  {
176 #if !defined(ASN_DISABLE_OER_SUPPORT)
177  0,
178 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
179 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
180  0,
181 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
182 #if !defined(ASN_DISABLE_JER_SUPPORT)
183  0,
184 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
185  0
186  },
187  0, 0, /* No default value */
188  "refPoint"
189  },
190  { ATF_POINTER, 2, offsetof(struct spatem_ts_IntersectionGeometry, laneWidth),
191  (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
192  -1, /* IMPLICIT tag at current level */
194  0,
195  {
196 #if !defined(ASN_DISABLE_OER_SUPPORT)
197  0,
198 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
199 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
200  0,
201 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
202 #if !defined(ASN_DISABLE_JER_SUPPORT)
203  0,
204 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
205  0
206  },
207  0, 0, /* No default value */
208  "laneWidth"
209  },
210  { ATF_POINTER, 1, offsetof(struct spatem_ts_IntersectionGeometry, speedLimits),
211  (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
212  -1, /* IMPLICIT tag at current level */
214  0,
215  {
216 #if !defined(ASN_DISABLE_OER_SUPPORT)
217  0,
218 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
219 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
220  0,
221 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
222 #if !defined(ASN_DISABLE_JER_SUPPORT)
223  0,
224 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
225  0
226  },
227  0, 0, /* No default value */
228  "speedLimits"
229  },
230  { ATF_NOFLAGS, 0, offsetof(struct spatem_ts_IntersectionGeometry, laneSet),
231  (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
232  -1, /* IMPLICIT tag at current level */
234  0,
235  {
236 #if !defined(ASN_DISABLE_OER_SUPPORT)
237  0,
238 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
239 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
240  0,
241 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
242 #if !defined(ASN_DISABLE_JER_SUPPORT)
243  0,
244 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
245  0
246  },
247  0, 0, /* No default value */
248  "laneSet"
249  },
250  { ATF_POINTER, 2, offsetof(struct spatem_ts_IntersectionGeometry, preemptPriorityData),
251  (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
252  -1, /* IMPLICIT tag at current level */
254  0,
255  {
256 #if !defined(ASN_DISABLE_OER_SUPPORT)
257  0,
258 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
259 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
260  0,
261 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
262 #if !defined(ASN_DISABLE_JER_SUPPORT)
263  0,
264 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
265  0
266  },
267  0, 0, /* No default value */
268  "preemptPriorityData"
269  },
270  { ATF_POINTER, 1, offsetof(struct spatem_ts_IntersectionGeometry, regional),
271  (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
272  0,
274  0,
275  {
276 #if !defined(ASN_DISABLE_OER_SUPPORT)
277  0,
278 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
279 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
280  &asn_PER_memb_spatem_ts_regional_constr_10,
281 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
282 #if !defined(ASN_DISABLE_JER_SUPPORT)
283  0,
284 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
286  },
287  0, 0, /* No default value */
288  "regional"
289  },
290 };
291 static const int asn_MAP_spatem_ts_IntersectionGeometry_oms_1[] = { 0, 4, 5, 7, 8 };
293  (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
294 };
296  { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* name */
297  { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */
298  { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* revision */
299  { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* refPoint */
300  { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* laneWidth */
301  { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* speedLimits */
302  { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* laneSet */
303  { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* preemptPriorityData */
304  { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* regional */
305 };
307  sizeof(struct spatem_ts_IntersectionGeometry),
310  9, /* Count of tags in the map */
311  asn_MAP_spatem_ts_IntersectionGeometry_oms_1, /* Optional members */
312  5, 0, /* Root/Additions */
313  9, /* First extension addition */
314 };
316  "IntersectionGeometry",
317  "IntersectionGeometry",
325  {
326 #if !defined(ASN_DISABLE_OER_SUPPORT)
327  0,
328 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
329 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
330  0,
331 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
332 #if !defined(ASN_DISABLE_JER_SUPPORT)
333  0,
334 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
336  },
338  9, /* Elements count */
339  &asn_SPC_spatem_ts_IntersectionGeometry_specs_1 /* Additional specs */
340 };
341 
asn_OP_SEQUENCE
asn_TYPE_operation_t asn_OP_SEQUENCE
Definition: constr_SEQUENCE.c:9
asn_DEF_spatem_ts_IntersectionGeometry_tags_1
static const ber_tlv_tag_t asn_DEF_spatem_ts_IntersectionGeometry_tags_1[]
Definition: spatem_ts_IntersectionGeometry.c:292
_A_CSEQUENCE_FROM_VOID
#define _A_CSEQUENCE_FROM_VOID(ptr)
Definition: asn_SEQUENCE_OF.h:46
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
spatem_ts_IntersectionGeometry.h
CC_NOTUSED
static asn_per_constraints_t asn_PER_type_spatem_ts_regional_constr_10 CC_NOTUSED
Definition: spatem_ts_IntersectionGeometry.c:37
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_IntersectionGeometry.c:11
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_DEF_spatem_ts_Position3D
asn_TYPE_descriptor_t asn_DEF_spatem_ts_Position3D
Definition: spatem_ts_Position3D.c:210
asn_SPC_spatem_ts_IntersectionGeometry_specs_1
asn_SEQUENCE_specifics_t asn_SPC_spatem_ts_IntersectionGeometry_specs_1
Definition: spatem_ts_IntersectionGeometry.c:306
asn_DEF_spatem_ts_regional_10
static asn_TYPE_descriptor_t asn_DEF_spatem_ts_regional_10
Definition: spatem_ts_IntersectionGeometry.c:82
SEQUENCE_OF_constraint
#define SEQUENCE_OF_constraint
Definition: constr_SEQUENCE_OF.h:28
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
asn_DEF_spatem_ts_DescriptiveName
asn_TYPE_descriptor_t asn_DEF_spatem_ts_DescriptiveName
Definition: spatem_ts_DescriptiveName.c:64
ATF_POINTER
@ ATF_POINTER
Definition: constr_TYPE.h:268
SEQUENCE_constraint
asn_constr_check_f SEQUENCE_constraint
Definition: constr_SEQUENCE.h:56
asn_DEF_spatem_ts_PreemptPriorityList
asn_TYPE_descriptor_t asn_DEF_spatem_ts_PreemptPriorityList
Definition: spatem_ts_PreemptPriorityList.c:47
asn_TYPE_descriptor_s
Definition: constr_TYPE.h:224
offsetof
#define offsetof(s, m)
Definition: asn_system.h:132
asn_DEF_spatem_ts_IntersectionReferenceID
asn_TYPE_descriptor_t asn_DEF_spatem_ts_IntersectionReferenceID
Definition: spatem_ts_IntersectionReferenceID.c:69
asn_DEF_spatem_ts_LaneList
asn_TYPE_descriptor_t asn_DEF_spatem_ts_LaneList
Definition: spatem_ts_LaneList.c:47
asn_DEF_spatem_ts_SpeedLimitList
asn_TYPE_descriptor_t asn_DEF_spatem_ts_SpeedLimitList
Definition: spatem_ts_SpeedLimitList.c:47
asn_MBR_spatem_ts_IntersectionGeometry_1
asn_TYPE_member_t asn_MBR_spatem_ts_IntersectionGeometry_1[]
Definition: spatem_ts_IntersectionGeometry.c:109
asn_DEF_spatem_ts_LaneWidth
asn_TYPE_descriptor_t asn_DEF_spatem_ts_LaneWidth
Definition: spatem_ts_LaneWidth.c:49
ATF_NOFLAGS
@ ATF_NOFLAGS
Definition: constr_TYPE.h:267
asn_DEF_spatem_ts_MsgCount
asn_TYPE_descriptor_t asn_DEF_spatem_ts_MsgCount
Definition: spatem_ts_MsgCount.c:49
asn_SPC_spatem_ts_regional_specs_10
static asn_SET_OF_specifics_t asn_SPC_spatem_ts_regional_specs_10
Definition: spatem_ts_IntersectionGeometry.c:76
spatem_ts_IntersectionGeometry
Definition: spatem_ts_IntersectionGeometry.h:35
asn_DEF_spatem_ts_regional_tags_10
static const ber_tlv_tag_t asn_DEF_spatem_ts_regional_tags_10[]
Definition: spatem_ts_IntersectionGeometry.c:72
asn_SEQUENCE_specifics_s
Definition: constr_SEQUENCE.h:14
ASN__CTFAIL
#define ASN__CTFAIL
Definition: constraints.h:57
asn_MAP_spatem_ts_IntersectionGeometry_oms_1
static const int asn_MAP_spatem_ts_IntersectionGeometry_oms_1[]
Definition: spatem_ts_IntersectionGeometry.c:291
asn_per_constraints_s
Definition: per_support.h:30
asn_TYPE_member_s
Definition: constr_TYPE.h:272
asn_MAP_spatem_ts_IntersectionGeometry_tag2el_1
static const asn_TYPE_tag2member_t asn_MAP_spatem_ts_IntersectionGeometry_tag2el_1[]
Definition: spatem_ts_IntersectionGeometry.c:295
asn_DEF_spatem_ts_Reg_IntersectionGeometry
asn_TYPE_descriptor_t asn_DEF_spatem_ts_Reg_IntersectionGeometry
Definition: spatem_ts_RegionalExtension.c:3202
asn_DEF_spatem_ts_IntersectionGeometry
asn_TYPE_descriptor_t asn_DEF_spatem_ts_IntersectionGeometry
Definition: spatem_ts_IntersectionGeometry.c:315
asn_SET_OF_specifics_s
Definition: constr_SET_OF.h:15
asn_MBR_spatem_ts_regional_10
static asn_TYPE_member_t asn_MBR_spatem_ts_regional_10[]
Definition: spatem_ts_IntersectionGeometry.c:50
spatem_ts_IntersectionGeometry::_asn_ctx
asn_struct_ctx_t _asn_ctx
Definition: spatem_ts_IntersectionGeometry.h:56


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