epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / asn1 / ngap / NGAP-Containers.asn
blob9bf48108434900b170e4e46dd1577e5f7416d7f9
1 -- 3GPP TS 38.413 V18.3.0 (2024-09)
2 -- 9.4.8        Container Definitions
3 -- **************************************************************
4 --
5 -- Container definitions
6 --
7 -- **************************************************************
9 NGAP-Containers {
10 itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
11 ngran-Access (22) modules (3) ngap (1) version1 (1) ngap-Containers (5) }
13 DEFINITIONS AUTOMATIC TAGS ::=
15 BEGIN
17 -- **************************************************************
19 -- IE parameter types from other modules.
21 -- **************************************************************
23 IMPORTS
25         Criticality,
26         Presence,
27         PrivateIE-ID,
28         ProtocolExtensionID,
29         ProtocolIE-ID
30 FROM NGAP-CommonDataTypes
32         maxPrivateIEs,
33         maxProtocolExtensions,
34         maxProtocolIEs
35 FROM NGAP-Constants;
37 -- **************************************************************
39 -- Class Definition for Protocol IEs
41 -- **************************************************************
43 NGAP-PROTOCOL-IES ::= CLASS {
44         &id                             ProtocolIE-ID                                   UNIQUE,
45         &criticality    Criticality,
46         &Value,
47         &presence               Presence
49 WITH SYNTAX {
50         ID                              &id
51         CRITICALITY             &criticality
52         TYPE                    &Value
53         PRESENCE                &presence
56 -- **************************************************************
58 -- Class Definition for Protocol IEs
60 -- **************************************************************
62 NGAP-PROTOCOL-IES-PAIR ::= CLASS {
63         &id                                     ProtocolIE-ID                           UNIQUE,
64         &firstCriticality       Criticality,
65         &FirstValue,
66         &secondCriticality      Criticality,
67         &SecondValue,
68         &presence                       Presence
70 WITH SYNTAX {
71         ID                                              &id
72         FIRST CRITICALITY               &firstCriticality
73         FIRST TYPE                              &FirstValue
74         SECOND CRITICALITY              &secondCriticality
75         SECOND TYPE                             &SecondValue
76         PRESENCE                                &presence
79 -- **************************************************************
81 -- Class Definition for Protocol Extensions
83 -- **************************************************************
85 NGAP-PROTOCOL-EXTENSION ::= CLASS {
86         &id                             ProtocolExtensionID                     UNIQUE,
87         &criticality    Criticality,
88         &Extension,
89         &presence               Presence
91 WITH SYNTAX {
92         ID                              &id
93         CRITICALITY             &criticality
94         EXTENSION               &Extension
95         PRESENCE                &presence
98 -- **************************************************************
100 -- Class Definition for Private IEs
102 -- **************************************************************
104 NGAP-PRIVATE-IES ::= CLASS {
105         &id                             PrivateIE-ID,
106         &criticality    Criticality,
107         &Value,
108         &presence               Presence
110 WITH SYNTAX {
111         ID                              &id
112         CRITICALITY             &criticality
113         TYPE                    &Value
114         PRESENCE                &presence
117 -- **************************************************************
119 -- Container for Protocol IEs
121 -- **************************************************************
123 ProtocolIE-Container {NGAP-PROTOCOL-IES : IEsSetParam} ::=
124         SEQUENCE (SIZE (0..maxProtocolIEs)) OF
125         ProtocolIE-Field {{IEsSetParam}}
127 ProtocolIE-SingleContainer {NGAP-PROTOCOL-IES : IEsSetParam} ::=
128         ProtocolIE-Field {{IEsSetParam}}
130 ProtocolIE-Field {NGAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
131         id                              NGAP-PROTOCOL-IES.&id                           ({IEsSetParam}),
132         criticality             NGAP-PROTOCOL-IES.&criticality          ({IEsSetParam}{@id}),
133         value                   NGAP-PROTOCOL-IES.&Value                        ({IEsSetParam}{@id})
136 -- **************************************************************
138 -- Container for Protocol IE Pairs
140 -- **************************************************************
142 ProtocolIE-ContainerPair {NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
143         SEQUENCE (SIZE (0..maxProtocolIEs)) OF
144         ProtocolIE-FieldPair {{IEsSetParam}}
146 ProtocolIE-FieldPair {NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
147         id                                      NGAP-PROTOCOL-IES-PAIR.&id                                      ({IEsSetParam}),
148         firstCriticality        NGAP-PROTOCOL-IES-PAIR.&firstCriticality        ({IEsSetParam}{@id}),
149         firstValue                      NGAP-PROTOCOL-IES-PAIR.&FirstValue                      ({IEsSetParam}{@id}),
150         secondCriticality       NGAP-PROTOCOL-IES-PAIR.&secondCriticality       ({IEsSetParam}{@id}),
151         secondValue                     NGAP-PROTOCOL-IES-PAIR.&SecondValue                     ({IEsSetParam}{@id})
154 -- **************************************************************
156 -- Container Lists for Protocol IE Containers
158 -- **************************************************************
160 ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES : IEsSetParam} ::=
161         SEQUENCE (SIZE (lowerBound..upperBound)) OF
162         ProtocolIE-SingleContainer {{IEsSetParam}}
164 ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, NGAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
165         SEQUENCE (SIZE (lowerBound..upperBound)) OF
166         ProtocolIE-ContainerPair {{IEsSetParam}}
168 -- **************************************************************
170 -- Container for Protocol Extensions
172 -- **************************************************************
174 ProtocolExtensionContainer {NGAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
175         SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
176         ProtocolExtensionField {{ExtensionSetParam}}
178 ProtocolExtensionField {NGAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
179         id                                      NGAP-PROTOCOL-EXTENSION.&id                             ({ExtensionSetParam}),
180         criticality                     NGAP-PROTOCOL-EXTENSION.&criticality    ({ExtensionSetParam}{@id}),
181         extensionValue          NGAP-PROTOCOL-EXTENSION.&Extension              ({ExtensionSetParam}{@id})
184 -- **************************************************************
186 -- Container for Private IEs
188 -- **************************************************************
190 PrivateIE-Container {NGAP-PRIVATE-IES : IEsSetParam } ::=
191         SEQUENCE (SIZE (1..maxPrivateIEs)) OF
192         PrivateIE-Field {{IEsSetParam}}
194 PrivateIE-Field {NGAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
195         id                                      NGAP-PRIVATE-IES.&id                            ({IEsSetParam}),
196         criticality                     NGAP-PRIVATE-IES.&criticality           ({IEsSetParam}{@id}),
197         value                           NGAP-PRIVATE-IES.&Value                         ({IEsSetParam}{@id})