vam_ts_PolygonalShape.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 "ETSI-ITS-CDD"
4  * found in "/input/ETSI-ITS-CDD.asn"
5  * `asn1c -fcompound-names -fprefix=vam_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 >= 3UL && size <= 16UL)) {
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_memb_vam_ts_polygon_constr_3 CC_NOTUSED = {
38  { APC_UNCONSTRAINED, -1, -1, 0, 0 },
39  { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 3, 16 } /* (SIZE(3..16,...)) */,
40  0, 0 /* No PER value map */
41 };
42 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
44  { ATF_POINTER, 1, offsetof(struct vam_ts_PolygonalShape, shapeReferencePoint),
45  (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
46  -1, /* IMPLICIT tag at current level */
48  0,
49  {
50 #if !defined(ASN_DISABLE_OER_SUPPORT)
51  0,
52 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
53 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
54  0,
55 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
56 #if !defined(ASN_DISABLE_JER_SUPPORT)
57  0,
58 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
59  0
60  },
61  0, 0, /* No default value */
62  "shapeReferencePoint"
63  },
64  { ATF_NOFLAGS, 0, offsetof(struct vam_ts_PolygonalShape, polygon),
65  (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
66  -1, /* IMPLICIT tag at current level */
68  0,
69  {
70 #if !defined(ASN_DISABLE_OER_SUPPORT)
71  0,
72 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
73 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
74  &asn_PER_memb_vam_ts_polygon_constr_3,
75 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
76 #if !defined(ASN_DISABLE_JER_SUPPORT)
77  0,
78 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
80  },
81  0, 0, /* No default value */
82  "polygon"
83  },
84  { ATF_POINTER, 1, offsetof(struct vam_ts_PolygonalShape, height),
85  (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
86  -1, /* IMPLICIT tag at current level */
88  0,
89  {
90 #if !defined(ASN_DISABLE_OER_SUPPORT)
91  0,
92 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
93 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
94  0,
95 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
96 #if !defined(ASN_DISABLE_JER_SUPPORT)
97  0,
98 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
99  0
100  },
101  0, 0, /* No default value */
102  "height"
103  },
104 };
105 static const int asn_MAP_vam_ts_PolygonalShape_oms_1[] = { 0, 2 };
107  (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
108 };
110  { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapeReferencePoint */
111  { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* polygon */
112  { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* height */
113 };
115  sizeof(struct vam_ts_PolygonalShape),
118  3, /* Count of tags in the map */
119  asn_MAP_vam_ts_PolygonalShape_oms_1, /* Optional members */
120  2, 0, /* Root/Additions */
121  -1, /* First extension addition */
122 };
124  "PolygonalShape",
125  "PolygonalShape",
129  /sizeof(asn_DEF_vam_ts_PolygonalShape_tags_1[0]), /* 1 */
130  asn_DEF_vam_ts_PolygonalShape_tags_1, /* Same as above */
132  /sizeof(asn_DEF_vam_ts_PolygonalShape_tags_1[0]), /* 1 */
133  {
134 #if !defined(ASN_DISABLE_OER_SUPPORT)
135  0,
136 #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
137 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
138  0,
139 #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
140 #if !defined(ASN_DISABLE_JER_SUPPORT)
141  0,
142 #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
144  },
146  3, /* Elements count */
147  &asn_SPC_vam_ts_PolygonalShape_specs_1 /* Additional specs */
148 };
149 
asn_OP_SEQUENCE
asn_TYPE_operation_t asn_OP_SEQUENCE
Definition: constr_SEQUENCE.c:9
asn_MBR_vam_ts_PolygonalShape_1
asn_TYPE_member_t asn_MBR_vam_ts_PolygonalShape_1[]
Definition: vam_ts_PolygonalShape.c:43
_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
asn_DEF_vam_ts_PolygonalShape_tags_1
static const ber_tlv_tag_t asn_DEF_vam_ts_PolygonalShape_tags_1[]
Definition: vam_ts_PolygonalShape.c:106
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_vam_ts_PolygonalShape
asn_TYPE_descriptor_t asn_DEF_vam_ts_PolygonalShape
Definition: vam_ts_PolygonalShape.c:123
SEQUENCE_OF_constraint
#define SEQUENCE_OF_constraint
Definition: constr_SEQUENCE_OF.h:28
asn_MAP_vam_ts_PolygonalShape_oms_1
static const int asn_MAP_vam_ts_PolygonalShape_oms_1[]
Definition: vam_ts_PolygonalShape.c:105
asn_TYPE_tag2member_s
Definition: constr_TYPE.h:289
asn_SPC_vam_ts_PolygonalShape_specs_1
asn_SEQUENCE_specifics_t asn_SPC_vam_ts_PolygonalShape_specs_1
Definition: vam_ts_PolygonalShape.c:114
ATF_POINTER
@ ATF_POINTER
Definition: constr_TYPE.h:268
SEQUENCE_constraint
asn_constr_check_f SEQUENCE_constraint
Definition: constr_SEQUENCE.h:56
asn_TYPE_descriptor_s
Definition: constr_TYPE.h:224
offsetof
#define offsetof(s, m)
Definition: asn_system.h:132
ATF_NOFLAGS
@ ATF_NOFLAGS
Definition: constr_TYPE.h:267
vam_ts_PolygonalShape::_asn_ctx
asn_struct_ctx_t _asn_ctx
Definition: vam_ts_PolygonalShape.h:33
asn_SEQUENCE_specifics_s
Definition: constr_SEQUENCE.h:14
ASN__CTFAIL
#define ASN__CTFAIL
Definition: constraints.h:57
CC_NOTUSED
static asn_per_constraints_t asn_PER_memb_vam_ts_polygon_constr_3 CC_NOTUSED
Definition: vam_ts_PolygonalShape.c:37
asn_DEF_vam_ts_StandardLength12b
asn_TYPE_descriptor_t asn_DEF_vam_ts_StandardLength12b
Definition: vam_ts_StandardLength12b.c:49
asn_per_constraints_s
Definition: per_support.h:30
asn_TYPE_member_s
Definition: constr_TYPE.h:272
vam_ts_PolygonalShape
Definition: vam_ts_PolygonalShape.h:27
asn_DEF_vam_ts_SequenceOfCartesianPosition3d
asn_TYPE_descriptor_t asn_DEF_vam_ts_SequenceOfCartesianPosition3d
Definition: vam_ts_SequenceOfCartesianPosition3d.c:47
memb_vam_ts_polygon_constraint_1
static int memb_vam_ts_polygon_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, asn_app_constraint_failed_f *ctfailcb, void *app_key)
Definition: vam_ts_PolygonalShape.c:11
asn_MAP_vam_ts_PolygonalShape_tag2el_1
static const asn_TYPE_tag2member_t asn_MAP_vam_ts_PolygonalShape_tag2el_1[]
Definition: vam_ts_PolygonalShape.c:109
vam_ts_PolygonalShape.h
asn_DEF_vam_ts_CartesianPosition3d
asn_TYPE_descriptor_t asn_DEF_vam_ts_CartesianPosition3d
Definition: vam_ts_CartesianPosition3d.c:90


etsi_its_vam_ts_coding
Author(s): Jean-Pierre Busch , Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:30:55