/src/open5gs/lib/asn1c/s1ap/S1AP_ReportIntervalMDT.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_ReportIntervalMDT.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_ReportIntervalMDT_constr_1 CC_NOTUSED = { |
16 | | { APC_CONSTRAINED, 4, 4, 0, 12 } /* (0..12) */, |
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_ReportIntervalMDT_value2enum_1[] = { |
22 | | { 0, 5, "ms120" }, |
23 | | { 1, 5, "ms240" }, |
24 | | { 2, 5, "ms480" }, |
25 | | { 3, 5, "ms640" }, |
26 | | { 4, 6, "ms1024" }, |
27 | | { 5, 6, "ms2048" }, |
28 | | { 6, 6, "ms5120" }, |
29 | | { 7, 7, "ms10240" }, |
30 | | { 8, 4, "min1" }, |
31 | | { 9, 4, "min6" }, |
32 | | { 10, 5, "min12" }, |
33 | | { 11, 5, "min30" }, |
34 | | { 12, 5, "min60" } |
35 | | }; |
36 | | static int asn_validate_S1AP_ReportIntervalMDT_1(const asn_TYPE_descriptor_t *td, |
37 | | const void *sptr, |
38 | | asn_app_constraint_failed_f *ctfailcb, |
39 | 0 | void* app_key) { |
40 | 0 | if(! sptr) { return -1; } |
41 | 0 | e_S1AP_ReportIntervalMDT value = *(e_S1AP_ReportIntervalMDT*)sptr; |
42 | 0 | switch(value) { |
43 | 0 | case S1AP_ReportIntervalMDT_ms120: |
44 | 0 | case S1AP_ReportIntervalMDT_ms240: |
45 | 0 | case S1AP_ReportIntervalMDT_ms480: |
46 | 0 | case S1AP_ReportIntervalMDT_ms640: |
47 | 0 | case S1AP_ReportIntervalMDT_ms1024: |
48 | 0 | case S1AP_ReportIntervalMDT_ms2048: |
49 | 0 | case S1AP_ReportIntervalMDT_ms5120: |
50 | 0 | case S1AP_ReportIntervalMDT_ms10240: |
51 | 0 | case S1AP_ReportIntervalMDT_min1: |
52 | 0 | case S1AP_ReportIntervalMDT_min6: |
53 | 0 | case S1AP_ReportIntervalMDT_min12: |
54 | 0 | case S1AP_ReportIntervalMDT_min30: |
55 | 0 | case S1AP_ReportIntervalMDT_min60: |
56 | 0 | return 0; |
57 | 0 | } |
58 | 0 | return -1; |
59 | 0 | } |
60 | | static const unsigned int asn_MAP_S1AP_ReportIntervalMDT_enum2value_1[] = { |
61 | | 8, /* min1(8) */ |
62 | | 10, /* min12(10) */ |
63 | | 11, /* min30(11) */ |
64 | | 9, /* min6(9) */ |
65 | | 12, /* min60(12) */ |
66 | | 4, /* ms1024(4) */ |
67 | | 7, /* ms10240(7) */ |
68 | | 0, /* ms120(0) */ |
69 | | 5, /* ms2048(5) */ |
70 | | 1, /* ms240(1) */ |
71 | | 2, /* ms480(2) */ |
72 | | 6, /* ms5120(6) */ |
73 | | 3 /* ms640(3) */ |
74 | | }; |
75 | | const asn_INTEGER_specifics_t asn_SPC_S1AP_ReportIntervalMDT_specs_1 = { |
76 | | asn_MAP_S1AP_ReportIntervalMDT_value2enum_1, /* "tag" => N; sorted by tag */ |
77 | | asn_MAP_S1AP_ReportIntervalMDT_enum2value_1, /* N => "tag"; sorted by N */ |
78 | | 13, /* Number of elements in the maps */ |
79 | | 0, /* Enumeration is not extensible */ |
80 | | 1, /* Strict enumeration */ |
81 | | 0, /* Native long size */ |
82 | | 0 |
83 | | }; |
84 | | static const ber_tlv_tag_t asn_DEF_S1AP_ReportIntervalMDT_tags_1[] = { |
85 | | (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
86 | | }; |
87 | | asn_TYPE_descriptor_t asn_DEF_S1AP_ReportIntervalMDT = { |
88 | | "ReportIntervalMDT", |
89 | | "ReportIntervalMDT", |
90 | | &asn_OP_NativeEnumerated, |
91 | | asn_DEF_S1AP_ReportIntervalMDT_tags_1, |
92 | | sizeof(asn_DEF_S1AP_ReportIntervalMDT_tags_1) |
93 | | /sizeof(asn_DEF_S1AP_ReportIntervalMDT_tags_1[0]), /* 1 */ |
94 | | asn_DEF_S1AP_ReportIntervalMDT_tags_1, /* Same as above */ |
95 | | sizeof(asn_DEF_S1AP_ReportIntervalMDT_tags_1) |
96 | | /sizeof(asn_DEF_S1AP_ReportIntervalMDT_tags_1[0]), /* 1 */ |
97 | | { |
98 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
99 | | 0, |
100 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
101 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
102 | | &asn_PER_type_S1AP_ReportIntervalMDT_constr_1, |
103 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
104 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
105 | | 0, |
106 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
107 | | asn_validate_S1AP_ReportIntervalMDT_1 |
108 | | }, |
109 | | 0, 0, /* Defined elsewhere */ |
110 | | &asn_SPC_S1AP_ReportIntervalMDT_specs_1 /* Additional specs */ |
111 | | }; |
112 | | |