Sync with 5.4.0
[deliverable/titan.core.git] / regression_test / ASN1 / parse / Test2.asn
1 --/////////////////////////////////////////////////////////////////////////////
2 -- Copyright (c) 2000-2015 Ericsson Telecom AB
3 -- All rights reserved. This program and the accompanying materials
4 -- are made available under the terms of the Eclipse Public License v1.0
5 -- which accompanies this distribution, and is available at
6 -- http://www.eclipse.org/legal/epl-v10.html
7 --/////////////////////////////////////////////////////////////////////////////
8 Test2
9
10 DEFINITIONS
11
12 AUTOMATIC TAGS
13
14 ::=
15 BEGIN
16
17 --Test Case 2 Information Object Class (for parsing)
18 -- 1. only TypeField and fixedTypeValueField supported in object-classes
19 -- (no variableTypeValueField,FixedTypeValueSetField , VariableTypeValueSetField objectField and ObjectSetField is supported)
20 --
21 -- 2. object-classes have to include "WITH SYNTAX"
22 --
23 -- 3. Type aliases have to be used for TypeField when defining objects ("ASN1-Type1" has to be used "INTEGER" is not accepted)
24 --
25 -- 4. Simple types can not be used for open-type->union when assigning values
26
27 --***************************************************************************************************
28 --modified class taken from Gyuri ASN1
29 --***************************************************************************************************
30 MY-CLASS-1 ::= CLASS
31 {
32 &TypeField OPTIONAL,
33 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
34
35 }
36 WITH SYNTAX
37 {
38 [TYPE FIELD &TypeField]
39 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
40 }
41
42 ASN1-Type1 ::= INTEGER
43
44 ASN1-Type2 ::= BOOLEAN
45
46 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
47
48 ASN1-Type4 ::= OCTET STRING
49
50 OBJECTCLASS1 ::= RANAP-ELEMENTARY-PROCEDURE
51
52 --****************************************************************************************************
53 -- OBJECTS using the class defined above
54 --****************************************************************************************************
55
56 myObject-1 MY-CLASS-1 ::=
57 {
58 TYPE FIELD ASN1-Type3
59 FIXED VALUE TYPE FIELD 999
60 }
61
62 myObject-2 MY-CLASS-1 ::=
63 {
64 TYPE FIELD ASN1-Type2
65 FIXED VALUE TYPE FIELD 888
66 }
67
68 myObject-3 MY-CLASS-1 ::=
69 {
70 TYPE FIELD ASN1-Type4
71 FIXED VALUE TYPE FIELD 555
72 }
73
74 --****************************************************************************************************
75 -- Defining Information Object sets
76 --****************************************************************************************************
77
78 MyInformationObjectSet1 MY-CLASS-1 ::=
79 {
80 myObject-1|
81 myObject-2,
82 ...
83 }
84
85 MyInformationObjectSet2 MY-CLASS-1 ::=
86 {
87 MyInformationObjectSet1|
88 myObject-3,
89 ...
90 }
91
92 --****************************************************************************************************
93 -- References from class
94 --****************************************************************************************************
95
96 MyBigMessageType1 ::= SEQUENCE
97
98 {
99 field1 MY-CLASS-1.&TypeField, --open Type
100 field2 MY-CLASS-1.&fixedTypeValueField
101 }
102
103 MyBigMessageType2 ::= SEQUENCE
104
105 {
106 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
107 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
108 }
109
110 MyBigMessageType3 ::= SEQUENCE
111 {
112 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@field2} ),
113 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1} )
114 }
115
116 myBigMessage1 MyBigMessageType2 ::=
117 {
118
119 field1 aSN1-Type3 : {f1 8 } , -- Note: use of small first letter is temporary
120 field2 6457
121
122 }
123
124 --****************************************************************************************************
125 -- References from object
126 --****************************************************************************************************
127
128 MyBigMessageType4 ::= SEQUENCE
129
130 {
131 field1 myObject-1.&TypeField , -- type from object
132 field2 MY-CLASS-1.&fixedTypeValueField
133 }
134
135 myBigMessage2 MyBigMessageType4 ::=
136 {
137 field1 {f1 10 } ,
138 field2 myObject-1.&fixedTypeValueField
139 }
140
141 --****************************************************************************************************
142 -- References from object set
143 --****************************************************************************************************
144
145 /*
146 myValueFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&fixedTypeValueField
147
148 myValueSetFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&variableTypeValueField
149
150 MyNewObjectSet2 OBJECTCLASS1 ::= MyInformationObjectSet1.myObject-1
151
152 MyNewObjectSet3 OBJECTCLASS1 ::= MyInformationObjectSet1.myObject-1
153 */
154
155 --RANAP specification ***************************************************************
156 -- using only Reset and ResetResource elementary procedures CLASS1
157
158 RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
159 RANAP-ELEMENTARY-PROCEDURES-CLASS-1
160 /* |
161 RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
162 RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
163 ...
164 */
165
166 }
167
168 RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
169 /*
170 iu-Release |
171 relocationPreparation |
172 relocationResourceAllocation |
173 relocationCancel |
174 sRNS-ContextTransfer |
175 securityModeControl |
176 dataVolumeReport |
177 */
178
179 reset |
180 resetResource ,
181 ...
182 }
183
184 RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
185 &InitiatingMessage ,
186 &SuccessfulOutcome OPTIONAL,
187 &UnsuccessfulOutcome OPTIONAL,
188 &Outcome OPTIONAL,
189 &procedureCode ProcedureCode UNIQUE,
190 &criticality Criticality DEFAULT ignore
191 }
192 WITH SYNTAX {
193 INITIATING MESSAGE &InitiatingMessage
194 [SUCCESSFUL OUTCOME &SuccessfulOutcome]
195 [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
196 [OUTCOME &Outcome]
197 PROCEDURE CODE &procedureCode
198 [CRITICALITY &criticality]
199 }
200
201 RANAP-PDU ::= CHOICE {
202 initiatingMessage InitiatingMessage,
203 successfulOutcome SuccessfulOutcome,
204 unsuccessfulOutcome UnsuccessfulOutcome,
205 outcome Outcome,
206 ...
207 }
208
209 InitiatingMessage ::= SEQUENCE {
210 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
211 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
212 value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
213 }
214
215 SuccessfulOutcome ::= SEQUENCE {
216 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
217 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
218 value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
219 }
220
221 UnsuccessfulOutcome ::= SEQUENCE {
222 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
223 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
224 value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
225 }
226
227 Outcome ::= SEQUENCE {
228 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
229 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
230 value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
231 }
232
233 reset RANAP-ELEMENTARY-PROCEDURE ::= {
234 INITIATING MESSAGE Reset
235 SUCCESSFUL OUTCOME ResetAcknowledge
236 PROCEDURE CODE id-Reset
237 CRITICALITY reject
238 }
239
240 resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
241 INITIATING MESSAGE ResetResource
242 SUCCESSFUL OUTCOME ResetResourceAcknowledge
243 PROCEDURE CODE id-ResetResource
244 CRITICALITY reject
245 }
246
247 Reset ::= SEQUENCE {
248 protocolIEs OCTET STRING, --simplified with dummy fields
249 protocolExtensions OCTET STRING, --simplified with dummy fields
250 ...
251 }
252
253 ResetAcknowledge ::= SEQUENCE {
254 protocolIEs OCTET STRING, --simplified with dummy fields
255 protocolExtensions OCTET STRING, --simplified with dummy fields
256 ...
257 }
258
259 ResetResource ::= SEQUENCE {
260 protocolIEs OCTET STRING, --simplified with dummy fields
261 protocolExtensions OCTET STRING, --simplified with dummy fields
262 ...
263 }
264 ResetResourceAcknowledge ::= SEQUENCE {
265 protocolIEs OCTET STRING, --simplified with dummy fields
266 protocolExtensions OCTET STRING, --simplified with dummy fields
267 ...
268 }
269
270 ProcedureCode ::= INTEGER (0..255)
271
272 Criticality ::= ENUMERATED { reject, ignore, notify, unspecified }
273
274 id-Reset ProcedureCode ::= 0
275
276 id-ResetResource ProcedureCode ::= 1
277
278 --Gyuri ASN1 ****************************************************************
279 -- **************************************************************************
280 MY-CLASS-2 ::= CLASS
281 {
282 &Argument,
283 &identifier INTEGER UNIQUE
284 --,
285 --&linkedArgument &Argument OPTIONAL,
286 --&ErrorCodes INTEGER DEFAULT {0},
287 --&returnedObject
288 }
289 WITH SYNTAX
290 {
291 INFORMATION &Argument WITH ID &identifier
292 --[AND ERRORS &ErrorCodes]
293 --[LINKED TO &linkedArgument]
294 --[ANSWERS &returnedObject]
295 }
296
297 -- TR924 --
298 Matrix ::= SEQUENCE OF SEQUENCE OF INTEGER
299
300 OPERATION ::= CLASS
301 {
302 &ArgumentType OPTIONAL,
303 &ResultType OPTIONAL,
304 &Errors ERROR OPTIONAL,
305 &Linked OPERATION OPTIONAL,
306 &resultReturned BOOLEAN DEFAULT TRUE,
307 &operationCode PrintableString UNIQUE
308 }
309
310 ERROR ::= CLASS
311 {
312 &ParameterType OPTIONAL,
313 &errorCode INTEGER UNIQUE
314 }
315
316 invertMatrix OPERATION ::=
317 {
318 &ArgumentType Matrix,
319 &ResultType Matrix,
320 &Errors {determinantIsZero},
321 &operationCode "inv"
322 }
323
324 determinantIsZero ERROR ::=
325 {
326 &errorCode 1
327 }
328
329 END
This page took 0.076019 seconds and 6 git commands to generate.