Convert a few more dissectors to wmem
[metze/wireshark/wip.git] / asn1 / x2ap / X2AP-Containers.asn
1 -- $Id$
2 -- 3GPP TS 36.423 V10.3.0 (2011-09)
3 -- 9.3.8        Container Definitions
4 -- **************************************************************
5 --
6 -- Container definitions
7 --
8 -- **************************************************************
9 X2AP-Containers {
10 itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
11 eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5)  }
12
13 DEFINITIONS AUTOMATIC TAGS ::= 
14
15 BEGIN
16
17 -- **************************************************************
18 --
19 -- IE parameter types from other modules.
20 --
21 -- **************************************************************
22
23 IMPORTS
24         maxPrivateIEs,
25         maxProtocolExtensions,
26         maxProtocolIEs,
27         Criticality,
28         Presence,
29         PrivateIE-ID,
30         ProtocolIE-ID   
31 FROM X2AP-CommonDataTypes;
32
33 -- **************************************************************
34 --
35 -- Class Definition for Protocol IEs
36 --
37 -- **************************************************************
38
39 X2AP-PROTOCOL-IES ::= CLASS {
40         &id                             ProtocolIE-ID                   UNIQUE,
41         &criticality    Criticality,
42         &Value,
43         &presence               Presence
44 }
45 WITH SYNTAX {
46         ID                              &id
47         CRITICALITY             &criticality
48         TYPE                    &Value
49         PRESENCE                &presence
50 }
51
52 -- **************************************************************
53 --
54 -- Class Definition for Protocol IEs
55 --
56 -- **************************************************************
57
58 X2AP-PROTOCOL-IES-PAIR ::= CLASS {
59         &id                                             ProtocolIE-ID           UNIQUE,
60         &firstCriticality               Criticality,
61         &FirstValue,
62         &secondCriticality              Criticality,
63         &SecondValue,
64         &presence                               Presence
65 }
66 WITH SYNTAX {
67         ID                                              &id
68         FIRST CRITICALITY               &firstCriticality
69         FIRST TYPE                              &FirstValue
70         SECOND CRITICALITY              &secondCriticality
71         SECOND TYPE                             &SecondValue
72         PRESENCE                                &presence
73 }
74
75 -- **************************************************************
76 --
77 -- Class Definition for Protocol Extensions
78 --
79 -- **************************************************************
80
81 X2AP-PROTOCOL-EXTENSION ::= CLASS {
82         &id                                     ProtocolIE-ID           UNIQUE,
83         &criticality            Criticality,
84         &Extension,
85         &presence                       Presence
86 }
87 WITH SYNTAX {
88         ID                                      &id
89         CRITICALITY                     &criticality
90         EXTENSION                       &Extension
91         PRESENCE                        &presence
92 }
93
94 -- **************************************************************
95 --
96 -- Class Definition for Private IEs
97 --
98 -- **************************************************************
99
100 X2AP-PRIVATE-IES ::= CLASS {
101         &id                                     PrivateIE-ID,
102         &criticality            Criticality,
103         &Value,
104         &presence                       Presence
105 }
106 WITH SYNTAX {
107         ID                                      &id
108         CRITICALITY                     &criticality
109         TYPE                            &Value
110         PRESENCE                        &presence
111 }
112
113 -- **************************************************************
114 --
115 -- Container for Protocol IEs
116 --
117 -- **************************************************************
118
119 ProtocolIE-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::= 
120         SEQUENCE (SIZE (0..maxProtocolIEs)) OF
121         ProtocolIE-Field {{IEsSetParam}}
122
123 ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::= 
124         ProtocolIE-Field {{IEsSetParam}}
125
126 ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
127         id                              X2AP-PROTOCOL-IES.&id                                   ({IEsSetParam}),
128         criticality             X2AP-PROTOCOL-IES.&criticality                  ({IEsSetParam}{@id}),
129         value                   X2AP-PROTOCOL-IES.&Value                        ({IEsSetParam}{@id})
130 }
131
132 -- **************************************************************
133 --
134 -- Container for Protocol IE Pairs
135 --
136 -- **************************************************************
137
138 ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= 
139         SEQUENCE (SIZE (0..maxProtocolIEs)) OF
140         ProtocolIE-FieldPair {{IEsSetParam}}
141
142 ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
143         id                                      X2AP-PROTOCOL-IES-PAIR.&id                                      ({IEsSetParam}),
144         firstCriticality        X2AP-PROTOCOL-IES-PAIR.&firstCriticality        ({IEsSetParam}{@id}),
145         firstValue                      X2AP-PROTOCOL-IES-PAIR.&FirstValue              ({IEsSetParam}{@id}),
146         secondCriticality       X2AP-PROTOCOL-IES-PAIR.&secondCriticality       ({IEsSetParam}{@id}),
147         secondValue                     X2AP-PROTOCOL-IES-PAIR.&SecondValue             ({IEsSetParam}{@id})
148 }
149
150 -- **************************************************************
151 --
152 -- Container Lists for Protocol IE Containers
153 --
154 -- **************************************************************
155
156 ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=
157         SEQUENCE (SIZE (lowerBound..upperBound)) OF
158         ProtocolIE-Container {{IEsSetParam}}
159
160 ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
161         SEQUENCE (SIZE (lowerBound..upperBound)) OF
162         ProtocolIE-ContainerPair {{IEsSetParam}}
163
164 -- **************************************************************
165 --
166 -- Container for Protocol Extensions
167 --
168 -- **************************************************************
169
170 ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 
171         SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
172         ProtocolExtensionField {{ExtensionSetParam}}
173
174 ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
175         id                                      X2AP-PROTOCOL-EXTENSION.&id                             ({ExtensionSetParam}),
176         criticality                     X2AP-PROTOCOL-EXTENSION.&criticality    ({ExtensionSetParam}{@id}),
177         extensionValue          X2AP-PROTOCOL-EXTENSION.&Extension              ({ExtensionSetParam}{@id})
178 }
179
180 -- **************************************************************
181 --
182 -- Container for Private IEs
183 --
184 -- **************************************************************
185
186 PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::= 
187         SEQUENCE (SIZE (1..maxPrivateIEs)) OF
188         PrivateIE-Field {{IEsSetParam}}
189
190 PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
191         id                              X2AP-PRIVATE-IES.&id                    ({IEsSetParam}),
192         criticality             X2AP-PRIVATE-IES.&criticality   ({IEsSetParam}{@id}),
193         value                   X2AP-PRIVATE-IES.&Value                 ({IEsSetParam}{@id})
194 }
195
196 END