/src/open5gs/lib/asn1c/s1ap/S1AP_Range.c
Line | Count | Source |
1 | | /* |
2 | | * Generated by asn1c-v1.4-43-gb7926896-2026-05-03 (https://github.com/mouse07410/asn1c) |
3 | | * From ASN.1 module "S1AP-IEs" |
4 | | * found in "../support/s1ap-r19.1.0/36413-j10.asn" |
5 | | * `asn1c -pdu=all -fprefix=S1AP_ -fcompound-names -findirect-choice -fno-include-deps -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR -no-gen-OER -no-gen-UPER` |
6 | | */ |
7 | | |
8 | | #include "S1AP_Range.h" |
9 | | |
10 | | /* |
11 | | * This type is implemented using NativeEnumerated, |
12 | | * so here we adjust the DEF accordingly. |
13 | | */ |
14 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
15 | | asn_per_constraints_t asn_PER_type_S1AP_Range_constr_1 CC_NOTUSED = { |
16 | | { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 8 } /* (0..8,...) */, |
17 | | { APC_UNCONSTRAINED, -1, -1, 0, 0 }, |
18 | | 0, 0 /* No PER value map */ |
19 | | }; |
20 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
21 | | static const asn_INTEGER_enum_map_t asn_MAP_S1AP_Range_value2enum_1[] = { |
22 | | { 0, 3, "m50" }, |
23 | | { 1, 3, "m80" }, |
24 | | { 2, 4, "m180" }, |
25 | | { 3, 4, "m200" }, |
26 | | { 4, 4, "m350" }, |
27 | | { 5, 4, "m400" }, |
28 | | { 6, 4, "m500" }, |
29 | | { 7, 4, "m700" }, |
30 | | { 8, 5, "m1000" } |
31 | | /* This list is extensible */ |
32 | | }; |
33 | | static int asn_validate_S1AP_Range_1(const asn_TYPE_descriptor_t *td, |
34 | | const void *sptr, |
35 | | asn_app_constraint_failed_f *ctfailcb, |
36 | 0 | void* app_key) { |
37 | 0 | if(! sptr) { return -1; } |
38 | 0 | e_S1AP_Range value = *(e_S1AP_Range*)sptr; |
39 | 0 | switch(value) { |
40 | 0 | case S1AP_Range_m50: |
41 | 0 | case S1AP_Range_m80: |
42 | 0 | case S1AP_Range_m180: |
43 | 0 | case S1AP_Range_m200: |
44 | 0 | case S1AP_Range_m350: |
45 | 0 | case S1AP_Range_m400: |
46 | 0 | case S1AP_Range_m500: |
47 | 0 | case S1AP_Range_m700: |
48 | 0 | case S1AP_Range_m1000: |
49 | 0 | return 0; |
50 | 0 | } |
51 | 0 | return -1; |
52 | 0 | } |
53 | | static const unsigned int asn_MAP_S1AP_Range_enum2value_1[] = { |
54 | | 8, /* m1000(8) */ |
55 | | 2, /* m180(2) */ |
56 | | 3, /* m200(3) */ |
57 | | 4, /* m350(4) */ |
58 | | 5, /* m400(5) */ |
59 | | 0, /* m50(0) */ |
60 | | 6, /* m500(6) */ |
61 | | 7, /* m700(7) */ |
62 | | 1 /* m80(1) */ |
63 | | /* This list is extensible */ |
64 | | }; |
65 | | const asn_INTEGER_specifics_t asn_SPC_S1AP_Range_specs_1 = { |
66 | | asn_MAP_S1AP_Range_value2enum_1, /* "tag" => N; sorted by tag */ |
67 | | asn_MAP_S1AP_Range_enum2value_1, /* N => "tag"; sorted by N */ |
68 | | 9, /* Number of elements in the maps */ |
69 | | 10, /* Extensions before this member */ |
70 | | 1, /* Strict enumeration */ |
71 | | 0, /* Native long size */ |
72 | | 0 |
73 | | }; |
74 | | static const ber_tlv_tag_t asn_DEF_S1AP_Range_tags_1[] = { |
75 | | (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
76 | | }; |
77 | | asn_TYPE_descriptor_t asn_DEF_S1AP_Range = { |
78 | | "Range", |
79 | | "Range", |
80 | | &asn_OP_NativeEnumerated, |
81 | | asn_DEF_S1AP_Range_tags_1, |
82 | | sizeof(asn_DEF_S1AP_Range_tags_1) |
83 | | /sizeof(asn_DEF_S1AP_Range_tags_1[0]), /* 1 */ |
84 | | asn_DEF_S1AP_Range_tags_1, /* Same as above */ |
85 | | sizeof(asn_DEF_S1AP_Range_tags_1) |
86 | | /sizeof(asn_DEF_S1AP_Range_tags_1[0]), /* 1 */ |
87 | | { |
88 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
89 | | 0, |
90 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
91 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
92 | | &asn_PER_type_S1AP_Range_constr_1, |
93 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
94 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
95 | | 0, |
96 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
97 | | asn_validate_S1AP_Range_1 |
98 | | }, |
99 | | 0, 0, /* Defined elsewhere */ |
100 | | &asn_SPC_S1AP_Range_specs_1 /* Additional specs */ |
101 | | }; |
102 | | |