Sync with 5.4.0
[deliverable/titan.core.git] / regression_test / ASN1 / parse / Test4.asn
CommitLineData
970ed795 1--/////////////////////////////////////////////////////////////////////////////
3abe9331 2-- Copyright (c) 2000-2015 Ericsson Telecom AB
970ed795
EL
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--/////////////////////////////////////////////////////////////////////////////
8Test4 --X.683 - parameters
9
10DEFINITIONS
11
12AUTOMATIC TAGS
13
14::=
15
16BEGIN
17--***************************************************************************************************
18--PARAMETRIZED TYPES (SEQUENCE, SET, CHOICE, SEQUENCE OF, SET OF, INTEGER, BIT STRING, OCTET STRING)
19--***************************************************************************************************
20
21--SEQUENCE
22MyParametrizedSequenceType{Field1Type,Field2Type}
23::= SEQUENCE
24 {field1 Field1Type,
25 field2 Field2Type}
26
27myParametrizedSequenceValue1 MyParametrizedSequenceType{INTEGER, BIT STRING}
28::= {
29 field1 5,
30 field2 '00110011'B
31 }
32
33myParametrizedSequenceValue2 MyParametrizedSequenceType{INTEGER(0..3), BIT STRING (SIZE(1..5))}
34::= {
35 field1 1,
36 field2 '001'B
37 }
38
39-- parametrized type in a parametrized type
40
41myParametrizedSequenceValue3 MyParametrizedSequenceType
42{ MyParametrizedSetType{INTEGER, BIT STRING}, MyParametrizedChoiceType{INTEGER, BIT STRING}}
43::=
44{
45
46field1 {
47 field2 '00110011'B,
48 field1 5
49 },
50
51field2
52 field1 : 5
53
54}
55
56MyParametrizedSequenceTypeAlias ::= MyParametrizedSequenceType{INTEGER, BIT STRING}
57
58myParametrizedSequenceValue4 MyParametrizedSequenceTypeAlias ::=
59{
60 field1 5,
61 field2 '00110011'B
62 }
63
64--SET
65
66MyParametrizedSetType{Field1Type,Field2Type}
67::= SET
68 {field1 Field1Type,
69 field2 Field2Type}
70
71myParametrizedSetValue1 MyParametrizedSetType{INTEGER, BIT STRING}
72::= {
73
74 field2 '00110011'B,
75 field1 5
76 }
77
78myParametrizedSetValue2 MyParametrizedSetType{INTEGER(0..3), BIT STRING(SIZE(1..5))}
79::= {
80 field2 '10'B,
81 field1 3
82 }
83
84MyParametrizedSetTypeAlias ::= MyParametrizedSetType{INTEGER, BIT STRING}
85
86myParametrizedSetValue4 MyParametrizedSetTypeAlias ::=
87 {
88 field2 '00110011'B,
89 field1 5
90 }
91
92--CHOICE
93
94MyParametrizedChoiceType{Field1Type,Field2Type}
95::= CHOICE
96 {field1 Field1Type,
97 field2 Field2Type}
98
99myParametrizedChoiceValue1 MyParametrizedChoiceType{INTEGER, BIT STRING}
100::=
101 field1 : 5
102
103MyParametrizedChoiceTypeAlias ::= MyParametrizedChoiceType{INTEGER, BIT STRING}
104
105myParametrizedChoiceValue4 MyParametrizedChoiceTypeAlias ::=
106
107 field2 : '001100'B
108
109--SEQUENCE OF
110
111MyParametrizedSequenceOfType{Field1Type}
112::= SEQUENCE OF Field1Type
113
114myParametrizedSequenceOfValue1 MyParametrizedSequenceOfType{BIT STRING}
115::= { '00'B, '11'B, '01'B }
116
117MyParametrizedSequenceOfTypeAlias ::= MyParametrizedSequenceOfType{BIT STRING}
118
119myParametrizedSequenceOfValue4 MyParametrizedSequenceOfTypeAlias ::=
120{ '11'B , '01'B }
121
122--SET OF
123
124MyParametrizedSetOfType{Field1Type}
125::= SET OF Field1Type
126
127myParametrizedSetOfValue1 MyParametrizedSetOfType{INTEGER}
128::= { 3,6,777 }
129
130MyParametrizedSetOfTypeAlias ::= MyParametrizedSetOfType{INTEGER}
131
132myParametrizedSetOfValue4 MyParametrizedSetOfTypeAlias ::=
133{ 3,6,777,5,3 }
134
135-- INTEGER
136
137 --Matyastol
138MyParametrizedIntegerType1 {MyInt:par-int} ::= INTEGER {namednum(par-int), namednum2(ketto)}
139ketto INTEGER ::= 2
140MyInt ::= INTEGER {harom(3)}
141
142myParametrizedIntegrValue1 MyParametrizedIntegerType1{ 4 } ::= 6
143
144myParametrizedIntegrValue2 MyParametrizedIntegerType1{ 4 } ::= 4
145
146myParametrizedIntegrValue3 MyParametrizedIntegerType1{ 4 } ::= namednum
147
148MyParametrizedIntegerType2 {MyInt2:par-int2} ::= INTEGER (par-int2.. 10)
149
150myParametrizedIntegerValue4 MyParametrizedIntegerType2 {5} ::= 5
151
152-- BIT STRING
153
154MyParametrizedBitstringType1 {MyInt:par-int} ::= BIT STRING {namedbit(par-int), namedbit2 (3)}
155
156myParametrizedBitstringValue1 MyParametrizedBitstringType1{2} ::= '0000'B
157
158myParametrizedBitstringValue2 MyParametrizedBitstringType1{2} ::= {namedbit}
159
160myParametrizedBitstringValue3 MyParametrizedBitstringType1{2} ::= {namedbit2}
161
162MyParametrizedBitstringType2 {MyInt2:par-int2} ::= BIT STRING (SIZE (par-int2.. 10))
163
164myParametrizedBitstringValue4 MyParametrizedBitstringType2{3} ::= '00000'B
165
166-- OCTET STRING
167MyParametrizedOctetstringType1 {MyInt:par-int} ::= OCTET STRING (SIZE (par-int.. 10))
168
169myParametrizedOctetstringValue1 MyParametrizedOctetstringType1{3} ::= 'FF00AA'H
170
171-- ENUMERATED
172MyParametrizedEnumeratedType1 {MyInt:par-int} ::= ENUMERATED {a(par-int) ,b, ..., c}
173
174myParametrizedEnumeratedValue1 MyParametrizedEnumeratedType1{0} ::= a
175
176--***************************************************************************************************
177--PARAMETRIZED VALUES ********************************************************
178--***************************************************************************************************
179
180myIntegerValue1 { INTEGER : par-int} INTEGER ::= par-int
181
182myIntegerValue2 INTEGER ::= myIntegerValue1 {3}
183
184myBitstringValue1 { BIT STRING : par-bitstring} BIT STRING ::= par-bitstring
185
186myBitstringValue2 BIT STRING ::= myBitstringValue1{'0011'B}
187
188myOctetstringValue1 {OCTET STRING : par-octetstring} OCTET STRING::= par-octetstring
189
190myOctetstringValue2 OCTET STRING ::= myOctetstringValue1{'FFFF'H}
191
192myEnumeratedValue1 {ENUMERATED{a,b,c} : par-enum} ENUMERATED{a,b,c} ::= par-enum
193
194--myEnumeratedValue2 ENUMERATED{a,b,c} ::= myEnumeratedValue1{a}
195
196myBooleanValue1 {BOOLEAN : par-boolean} BOOLEAN ::= par-boolean
197
198myBooleanValue2 BOOLEAN ::= myBooleanValue1{TRUE}
199
200myNullValue1 {NULL : par-null} NULL ::= par-null
201
202myNullValue2 NULL ::= myNullValue1{NULL}
203
204myRealValue1 {REAL : par-real} REAL ::= par-real
205
206myRealValue2 REAL ::= 5.3 --myRealValue1{{mantissa 314159,base 10, exponent -10}}
207
208mySequenceValue1 { INTEGER : par-int} SequenceAliasType ::= {field1 par-int}
209
210mySequenceValue2 SequenceAliasType ::= mySequenceValue1 {44}
211
212SequenceAliasType ::= SEQUENCE {field1 INTEGER}
213
214mySetValue1 { INTEGER : par-int} SetAliastype
215::= {field1 par-int}
216
217mySetValue2 SetAliastype ::= mySetValue1 {33}
218
219SetAliastype ::= SET { field1 INTEGER }
220
221myChoiceValue1 { INTEGER : par-int} ChoiceAliasType ::= field1 : par-int
222
223myChoiceValue2 ChoiceAliasType ::= myChoiceValue1 {22}
224
225ChoiceAliasType ::= CHOICE {field1 INTEGER, field2 BOOLEAN}
226
227mySequenceOfValue1 { INTEGER : par-int1, INTEGER : par-int2} SequenceOfAliasType ::=
228{
229par-int1,
230par-int2,
2314
232}
233
234mySequenceOfValue2 SequenceOfAliasType ::= mySequenceOfValue1{2,3}
235
236SequenceOfAliasType ::= SEQUENCE OF INTEGER
237
238mySetOfValue1 { BIT STRING : par-bitstring} SetOfAliasType ::= {par-bitstring, par-bitstring, '000111'B}
239
240mySetOfValue2 SetOfAliasType ::= mySetOfValue1 {'000'B}
241
242SetOfAliasType ::= SET OF BIT STRING
243
244myIA5StringValue1 {IA5String : par-string} IA5String ::= par-string
245
246myIA5StringValue2 IA5String ::= myIA5StringValue1 {"hihi"}
247
248--***************************************************************************************************
249-- PARAMETRIZED VALUE SETS TO BE ADDED
250--***************************************************************************************************
251
252--***************************************************************************************************
253-- PARAMETRIZED OBJECT CLASS ************************************************************************
254--***************************************************************************************************
255MY-PARAMETRIZED-OBJECT-CLASS1
256{PAR-ASN1-Type1,
257 INTEGER : par-Value1,
258 INTEGER : par-Value3,
259 INTEGER : par-Value4,
260 INTEGER : par-Value5,
261 INTEGER : par-Value6
262 }
263::= CLASS
264{
265&TypeField OPTIONAL,
266&fixedTypeValueField PAR-ASN1-Type1 UNIQUE OPTIONAL,
267&additionalFieldforValueField1 INTEGER DEFAULT par-Value1,
268&additionalFieldforValueField3 BIT STRING { first(par-Value3), second (1), last-in-first-octet(7) },
269&additionalFieldforValueField4 ASN1-Type5,
270&additionalFieldforValueField5 INTEGER (par-Value5..par-Value6)
271}
272
273MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= MY-PARAMETRIZED-OBJECT-CLASS1
274{
275INTEGER,
276111,
2770,
2782,
27910,
28018
281}
282
283myObject-1 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE
284::=
285{
286&TypeField ASN1-Type3,
287&fixedTypeValueField 999,
288&additionalFieldforValueField1 110,
289&additionalFieldforValueField3 '00001111'B,
290&additionalFieldforValueField4 a,
291&additionalFieldforValueField5 11
292}
293
294--***************************************************************************************************
295-- PARAMETRIZED OBJECT *****************************************************************************
296--***************************************************************************************************
297
298myParametrizedObject-1
299
300{PAR-ASN1-Type3, -- BIT STRING
301INTEGER : par-int,
302INTEGER : par-int2,
303BIT STRING : par-bitstring,
304ASN1-Type5 : par-enum,
305INTEGER : par-int3
306 }
307MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE
308::=
309{
310&TypeField PAR-ASN1-Type3, -- BIT STRING
311&fixedTypeValueField par-int,
312&additionalFieldforValueField1 par-int2,
313&additionalFieldforValueField3 par-bitstring,
314&additionalFieldforValueField4 par-enum,
315&additionalFieldforValueField5 par-int3
316}
317
318myObject-2 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE
319::=
320myParametrizedObject-1
321{
322 ASN1-Type3,
323 66,
324 88,
325 '001100'B,
326 a,
327 6
328}
329
330-- ***************************************************************
331
332ASN1-Type1 ::= INTEGER
333
334ASN1-Type2 ::= BOOLEAN
335
336ASN1-Type3 ::= BIT STRING
337
338ASN1-Type4 ::= OCTET STRING
339
340ASN1-Type5 ::= ENUMERATED {a(3) ,b, ..., c}
341
342--***************************************************************************************************
343-- PARAMETRIZED OBJECT SET **************************************************************************
344--***************************************************************************************************
345
346MY-PARAMETRIZED-OBJECT-SET1 {MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE : par-myObject-1,
347MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE : par-myObject-2} MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::=
348{
349par-myObject-1|
350par-myObject-2|
351MY-OBJECT-SET2,
352...
353}
354
355MY-OBJECT-SET2 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= {MY-PARAMETRIZED-OBJECT-SET1{myObject-1, myObject-2}}
356
357-- RANAP specification ***************************************************************
358-- using only (simpilfied) Reset and ResetResource elementary procedures CLASS1
359
360RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
361 RANAP-ELEMENTARY-PROCEDURES-CLASS-1
362/* |
363 RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
364 RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
365 ...
366*/
367
368}
369
370RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
371/*
372 iu-Release |
373 relocationPreparation |
374 relocationResourceAllocation |
375 relocationCancel |
376 sRNS-ContextTransfer |
377 securityModeControl |
378 dataVolumeReport |
379*/
380
381 reset |
382 resetResource ,
383 ...
384}
385
386RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
387 &InitiatingMessage ,
388 &SuccessfulOutcome OPTIONAL,
389 &UnsuccessfulOutcome OPTIONAL,
390 &Outcome OPTIONAL,
391 &procedureCode ProcedureCode UNIQUE,
392 &criticality Criticality DEFAULT ignore
393}
394WITH SYNTAX {
395 INITIATING MESSAGE &InitiatingMessage
396 [SUCCESSFUL OUTCOME &SuccessfulOutcome]
397 [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
398 [OUTCOME &Outcome]
399 PROCEDURE CODE &procedureCode
400 [CRITICALITY &criticality]
401}
402
403RANAP-PDU ::= CHOICE {
404 initiatingMessage InitiatingMessage,
405 successfulOutcome SuccessfulOutcome,
406 unsuccessfulOutcome UnsuccessfulOutcome,
407 outcome Outcome,
408 ...
409}
410
411InitiatingMessage ::= SEQUENCE {
412 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
413 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
414 value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
415}
416
417SuccessfulOutcome ::= SEQUENCE {
418 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
419 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
420 value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
421}
422
423UnsuccessfulOutcome ::= SEQUENCE {
424 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
425 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
426 value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
427}
428
429Outcome ::= SEQUENCE {
430 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
431 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
432 value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
433}
434
435reset RANAP-ELEMENTARY-PROCEDURE ::= {
436 INITIATING MESSAGE Reset
437 SUCCESSFUL OUTCOME ResetAcknowledge
438 PROCEDURE CODE id-Reset
439 CRITICALITY reject
440}
441
442resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
443 INITIATING MESSAGE ResetResource
444 SUCCESSFUL OUTCOME ResetResourceAcknowledge
445 PROCEDURE CODE id-ResetResource
446 CRITICALITY reject
447}
448
449Reset ::= SEQUENCE {
450 protocolIEs OCTET STRING, --simplified with dummy fields
451 protocolExtensions OCTET STRING, --simplified with dummy fields
452 ...
453}
454
455ResetAcknowledge ::= SEQUENCE {
456 protocolIEs OCTET STRING, --simplified with dummy fields
457 protocolExtensions OCTET STRING, --simplified with dummy fields
458 ...
459}
460
461ResetResource ::= SEQUENCE {
462 protocolIEs OCTET STRING, --simplified with dummy fields
463 protocolExtensions OCTET STRING, --simplified with dummy fields
464 ...
465}
466ResetResourceAcknowledge ::= SEQUENCE {
467 protocolIEs OCTET STRING, --simplified with dummy fields
468 protocolExtensions OCTET STRING, --simplified with dummy fields
469 ...
470}
471
472id-Reset ProcedureCode ::= 0
473
474id-ResetResource ProcedureCode ::= 1
475
476ProcedureCode ::= INTEGER (0..255)
477
478Criticality ::= ENUMERATED { reject, ignore, notify, unspecified }
479
480END
This page took 0.080152 seconds and 5 git commands to generate.