remark release date
[Net-Radio-Location-SUPL-Test.git] / asn1 / NavModel-SBASecef.c
blob9caacdf483a184b6913884b3486d6320139ffe89
1 /*
2 * Generated by asn1c-0.9.23 (http://lionet.info/asn1c)
3 * From ASN.1 module "RRLP-Components"
4 * found in "../asn1src/RRLP-Components.asn"
5 * `asn1c -gen-PER -fskeletons-copy -fnative-types`
6 */
8 #include "NavModel-SBASecef.h"
10 static int
11 memb_sbasTo_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13 long value;
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;
22 value = *(const long *)sptr;
24 if((value >= 0 && value <= 5399)) {
25 /* Constraint check succeeded */
26 return 0;
27 } else {
28 _ASN_CTFAIL(app_key, td, sptr,
29 "%s: constraint failed (%s:%d)",
30 td->name, __FILE__, __LINE__);
31 return -1;
35 static int
36 memb_sbasAccuracy_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
37 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
38 const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
39 size_t size;
41 if(!sptr) {
42 _ASN_CTFAIL(app_key, td, sptr,
43 "%s: value not given (%s:%d)",
44 td->name, __FILE__, __LINE__);
45 return -1;
48 if(st->size > 0) {
49 /* Size in bits */
50 size = 8 * st->size - (st->bits_unused & 0x07);
51 } else {
52 size = 0;
55 if((size == 4)) {
56 /* Constraint check succeeded */
57 return 0;
58 } else {
59 _ASN_CTFAIL(app_key, td, sptr,
60 "%s: constraint failed (%s:%d)",
61 td->name, __FILE__, __LINE__);
62 return -1;
66 static int
67 memb_sbasXg_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
68 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
69 long value;
71 if(!sptr) {
72 _ASN_CTFAIL(app_key, td, sptr,
73 "%s: value not given (%s:%d)",
74 td->name, __FILE__, __LINE__);
75 return -1;
78 value = *(const long *)sptr;
80 if((value >= -536870912 && value <= 536870911)) {
81 /* Constraint check succeeded */
82 return 0;
83 } else {
84 _ASN_CTFAIL(app_key, td, sptr,
85 "%s: constraint failed (%s:%d)",
86 td->name, __FILE__, __LINE__);
87 return -1;
91 static int
92 memb_sbasYg_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
93 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
94 long value;
96 if(!sptr) {
97 _ASN_CTFAIL(app_key, td, sptr,
98 "%s: value not given (%s:%d)",
99 td->name, __FILE__, __LINE__);
100 return -1;
103 value = *(const long *)sptr;
105 if((value >= -536870912 && value <= 536870911)) {
106 /* Constraint check succeeded */
107 return 0;
108 } else {
109 _ASN_CTFAIL(app_key, td, sptr,
110 "%s: constraint failed (%s:%d)",
111 td->name, __FILE__, __LINE__);
112 return -1;
116 static int
117 memb_sbasZg_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
118 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
119 long value;
121 if(!sptr) {
122 _ASN_CTFAIL(app_key, td, sptr,
123 "%s: value not given (%s:%d)",
124 td->name, __FILE__, __LINE__);
125 return -1;
128 value = *(const long *)sptr;
130 if((value >= -16777216 && value <= 16777215)) {
131 /* Constraint check succeeded */
132 return 0;
133 } else {
134 _ASN_CTFAIL(app_key, td, sptr,
135 "%s: constraint failed (%s:%d)",
136 td->name, __FILE__, __LINE__);
137 return -1;
141 static int
142 memb_sbasXgDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
143 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
144 long value;
146 if(!sptr) {
147 _ASN_CTFAIL(app_key, td, sptr,
148 "%s: value not given (%s:%d)",
149 td->name, __FILE__, __LINE__);
150 return -1;
153 value = *(const long *)sptr;
155 if((value >= -65536 && value <= 65535)) {
156 /* Constraint check succeeded */
157 return 0;
158 } else {
159 _ASN_CTFAIL(app_key, td, sptr,
160 "%s: constraint failed (%s:%d)",
161 td->name, __FILE__, __LINE__);
162 return -1;
166 static int
167 memb_sbasYgDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
168 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
169 long value;
171 if(!sptr) {
172 _ASN_CTFAIL(app_key, td, sptr,
173 "%s: value not given (%s:%d)",
174 td->name, __FILE__, __LINE__);
175 return -1;
178 value = *(const long *)sptr;
180 if((value >= -65536 && value <= 65535)) {
181 /* Constraint check succeeded */
182 return 0;
183 } else {
184 _ASN_CTFAIL(app_key, td, sptr,
185 "%s: constraint failed (%s:%d)",
186 td->name, __FILE__, __LINE__);
187 return -1;
191 static int
192 memb_sbasZgDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
193 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
194 long value;
196 if(!sptr) {
197 _ASN_CTFAIL(app_key, td, sptr,
198 "%s: value not given (%s:%d)",
199 td->name, __FILE__, __LINE__);
200 return -1;
203 value = *(const long *)sptr;
205 if((value >= -131072 && value <= 131071)) {
206 /* Constraint check succeeded */
207 return 0;
208 } else {
209 _ASN_CTFAIL(app_key, td, sptr,
210 "%s: constraint failed (%s:%d)",
211 td->name, __FILE__, __LINE__);
212 return -1;
216 static int
217 memb_sbasXgDotDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
218 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
219 long value;
221 if(!sptr) {
222 _ASN_CTFAIL(app_key, td, sptr,
223 "%s: value not given (%s:%d)",
224 td->name, __FILE__, __LINE__);
225 return -1;
228 value = *(const long *)sptr;
230 if((value >= -512 && value <= 511)) {
231 /* Constraint check succeeded */
232 return 0;
233 } else {
234 _ASN_CTFAIL(app_key, td, sptr,
235 "%s: constraint failed (%s:%d)",
236 td->name, __FILE__, __LINE__);
237 return -1;
241 static int
242 memb_sbagYgDotDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
243 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
244 long value;
246 if(!sptr) {
247 _ASN_CTFAIL(app_key, td, sptr,
248 "%s: value not given (%s:%d)",
249 td->name, __FILE__, __LINE__);
250 return -1;
253 value = *(const long *)sptr;
255 if((value >= -512 && value <= 511)) {
256 /* Constraint check succeeded */
257 return 0;
258 } else {
259 _ASN_CTFAIL(app_key, td, sptr,
260 "%s: constraint failed (%s:%d)",
261 td->name, __FILE__, __LINE__);
262 return -1;
266 static int
267 memb_sbasZgDotDot_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
268 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
269 long value;
271 if(!sptr) {
272 _ASN_CTFAIL(app_key, td, sptr,
273 "%s: value not given (%s:%d)",
274 td->name, __FILE__, __LINE__);
275 return -1;
278 value = *(const long *)sptr;
280 if((value >= -512 && value <= 511)) {
281 /* Constraint check succeeded */
282 return 0;
283 } else {
284 _ASN_CTFAIL(app_key, td, sptr,
285 "%s: constraint failed (%s:%d)",
286 td->name, __FILE__, __LINE__);
287 return -1;
291 static asn_per_constraints_t asn_PER_memb_sbasTo_constr_2 = {
292 { APC_CONSTRAINED, 13, 13, 0, 5399 } /* (0..5399) */,
293 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
294 0, 0 /* No PER value map */
296 static asn_per_constraints_t asn_PER_memb_sbasAccuracy_constr_3 = {
297 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
298 { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */,
299 0, 0 /* No PER value map */
301 static asn_per_constraints_t asn_PER_memb_sbasXg_constr_4 = {
302 { APC_CONSTRAINED, 30, -1, -536870912, 536870911 } /* (-536870912..536870911) */,
303 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
304 0, 0 /* No PER value map */
306 static asn_per_constraints_t asn_PER_memb_sbasYg_constr_5 = {
307 { APC_CONSTRAINED, 30, -1, -536870912, 536870911 } /* (-536870912..536870911) */,
308 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
309 0, 0 /* No PER value map */
311 static asn_per_constraints_t asn_PER_memb_sbasZg_constr_6 = {
312 { APC_CONSTRAINED, 25, -1, -16777216, 16777215 } /* (-16777216..16777215) */,
313 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
314 0, 0 /* No PER value map */
316 static asn_per_constraints_t asn_PER_memb_sbasXgDot_constr_7 = {
317 { APC_CONSTRAINED, 17, -1, -65536, 65535 } /* (-65536..65535) */,
318 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
319 0, 0 /* No PER value map */
321 static asn_per_constraints_t asn_PER_memb_sbasYgDot_constr_8 = {
322 { APC_CONSTRAINED, 17, -1, -65536, 65535 } /* (-65536..65535) */,
323 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
324 0, 0 /* No PER value map */
326 static asn_per_constraints_t asn_PER_memb_sbasZgDot_constr_9 = {
327 { APC_CONSTRAINED, 18, -1, -131072, 131071 } /* (-131072..131071) */,
328 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
329 0, 0 /* No PER value map */
331 static asn_per_constraints_t asn_PER_memb_sbasXgDotDot_constr_10 = {
332 { APC_CONSTRAINED, 10, 10, -512, 511 } /* (-512..511) */,
333 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
334 0, 0 /* No PER value map */
336 static asn_per_constraints_t asn_PER_memb_sbagYgDotDot_constr_11 = {
337 { APC_CONSTRAINED, 10, 10, -512, 511 } /* (-512..511) */,
338 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
339 0, 0 /* No PER value map */
341 static asn_per_constraints_t asn_PER_memb_sbasZgDotDot_constr_12 = {
342 { APC_CONSTRAINED, 10, 10, -512, 511 } /* (-512..511) */,
343 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
344 0, 0 /* No PER value map */
346 static asn_TYPE_member_t asn_MBR_NavModel_SBASecef_1[] = {
347 { ATF_POINTER, 1, offsetof(struct NavModel_SBASecef, sbasTo),
348 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
349 -1, /* IMPLICIT tag at current level */
350 &asn_DEF_NativeInteger,
351 memb_sbasTo_constraint_1,
352 &asn_PER_memb_sbasTo_constr_2,
354 "sbasTo"
356 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasAccuracy),
357 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
358 -1, /* IMPLICIT tag at current level */
359 &asn_DEF_BIT_STRING,
360 memb_sbasAccuracy_constraint_1,
361 &asn_PER_memb_sbasAccuracy_constr_3,
363 "sbasAccuracy"
365 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasXg),
366 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
367 -1, /* IMPLICIT tag at current level */
368 &asn_DEF_NativeInteger,
369 memb_sbasXg_constraint_1,
370 &asn_PER_memb_sbasXg_constr_4,
372 "sbasXg"
374 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasYg),
375 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
376 -1, /* IMPLICIT tag at current level */
377 &asn_DEF_NativeInteger,
378 memb_sbasYg_constraint_1,
379 &asn_PER_memb_sbasYg_constr_5,
381 "sbasYg"
383 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasZg),
384 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
385 -1, /* IMPLICIT tag at current level */
386 &asn_DEF_NativeInteger,
387 memb_sbasZg_constraint_1,
388 &asn_PER_memb_sbasZg_constr_6,
390 "sbasZg"
392 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasXgDot),
393 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
394 -1, /* IMPLICIT tag at current level */
395 &asn_DEF_NativeInteger,
396 memb_sbasXgDot_constraint_1,
397 &asn_PER_memb_sbasXgDot_constr_7,
399 "sbasXgDot"
401 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasYgDot),
402 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
403 -1, /* IMPLICIT tag at current level */
404 &asn_DEF_NativeInteger,
405 memb_sbasYgDot_constraint_1,
406 &asn_PER_memb_sbasYgDot_constr_8,
408 "sbasYgDot"
410 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasZgDot),
411 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
412 -1, /* IMPLICIT tag at current level */
413 &asn_DEF_NativeInteger,
414 memb_sbasZgDot_constraint_1,
415 &asn_PER_memb_sbasZgDot_constr_9,
417 "sbasZgDot"
419 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasXgDotDot),
420 (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
421 -1, /* IMPLICIT tag at current level */
422 &asn_DEF_NativeInteger,
423 memb_sbasXgDotDot_constraint_1,
424 &asn_PER_memb_sbasXgDotDot_constr_10,
426 "sbasXgDotDot"
428 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbagYgDotDot),
429 (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
430 -1, /* IMPLICIT tag at current level */
431 &asn_DEF_NativeInteger,
432 memb_sbagYgDotDot_constraint_1,
433 &asn_PER_memb_sbagYgDotDot_constr_11,
435 "sbagYgDotDot"
437 { ATF_NOFLAGS, 0, offsetof(struct NavModel_SBASecef, sbasZgDotDot),
438 (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
439 -1, /* IMPLICIT tag at current level */
440 &asn_DEF_NativeInteger,
441 memb_sbasZgDotDot_constraint_1,
442 &asn_PER_memb_sbasZgDotDot_constr_12,
444 "sbasZgDotDot"
447 static int asn_MAP_NavModel_SBASecef_oms_1[] = { 0 };
448 static ber_tlv_tag_t asn_DEF_NavModel_SBASecef_tags_1[] = {
449 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
451 static asn_TYPE_tag2member_t asn_MAP_NavModel_SBASecef_tag2el_1[] = {
452 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sbasTo at 1395 */
453 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sbasAccuracy at 1396 */
454 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sbasXg at 1397 */
455 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sbasYg at 1398 */
456 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sbasZg at 1399 */
457 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* sbasXgDot at 1400 */
458 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sbasYgDot at 1401 */
459 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* sbasZgDot at 1402 */
460 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* sbasXgDotDot at 1403 */
461 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* sbagYgDotDot at 1404 */
462 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* sbasZgDotDot at 1405 */
464 static asn_SEQUENCE_specifics_t asn_SPC_NavModel_SBASecef_specs_1 = {
465 sizeof(struct NavModel_SBASecef),
466 offsetof(struct NavModel_SBASecef, _asn_ctx),
467 asn_MAP_NavModel_SBASecef_tag2el_1,
468 11, /* Count of tags in the map */
469 asn_MAP_NavModel_SBASecef_oms_1, /* Optional members */
470 1, 0, /* Root/Additions */
471 -1, /* Start extensions */
472 -1 /* Stop extensions */
474 asn_TYPE_descriptor_t asn_DEF_NavModel_SBASecef = {
475 "NavModel-SBASecef",
476 "NavModel-SBASecef",
477 SEQUENCE_free,
478 SEQUENCE_print,
479 SEQUENCE_constraint,
480 SEQUENCE_decode_ber,
481 SEQUENCE_encode_der,
482 SEQUENCE_decode_xer,
483 SEQUENCE_encode_xer,
484 SEQUENCE_decode_uper,
485 SEQUENCE_encode_uper,
486 0, /* Use generic outmost tag fetcher */
487 asn_DEF_NavModel_SBASecef_tags_1,
488 sizeof(asn_DEF_NavModel_SBASecef_tags_1)
489 /sizeof(asn_DEF_NavModel_SBASecef_tags_1[0]), /* 1 */
490 asn_DEF_NavModel_SBASecef_tags_1, /* Same as above */
491 sizeof(asn_DEF_NavModel_SBASecef_tags_1)
492 /sizeof(asn_DEF_NavModel_SBASecef_tags_1[0]), /* 1 */
493 0, /* No PER visible constraints */
494 asn_MBR_NavModel_SBASecef_1,
495 11, /* Elements count */
496 &asn_SPC_NavModel_SBASecef_specs_1 /* Additional specs */