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