Sync with 5.4.0
[deliverable/titan.core.git] / regression_test / ASN1 / parse / Test2.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--/////////////////////////////////////////////////////////////////////////////
8Test2
9
10DEFINITIONS
11
12AUTOMATIC TAGS
13
14::=
15BEGIN
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--***************************************************************************************************
30MY-CLASS-1 ::= CLASS
31{
32&TypeField OPTIONAL,
33&fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
34
35}
36WITH SYNTAX
37{
38[TYPE FIELD &TypeField]
39[FIXED VALUE TYPE FIELD &fixedTypeValueField]
40}
41
42ASN1-Type1 ::= INTEGER
43
44ASN1-Type2 ::= BOOLEAN
45
46ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
47
48ASN1-Type4 ::= OCTET STRING
49
50OBJECTCLASS1 ::= RANAP-ELEMENTARY-PROCEDURE
51
52--****************************************************************************************************
53-- OBJECTS using the class defined above
54--****************************************************************************************************
55
56myObject-1 MY-CLASS-1 ::=
57{
58TYPE FIELD ASN1-Type3
59FIXED VALUE TYPE FIELD 999
60}
61
62myObject-2 MY-CLASS-1 ::=
63{
64TYPE FIELD ASN1-Type2
65FIXED VALUE TYPE FIELD 888
66}
67
68myObject-3 MY-CLASS-1 ::=
69{
70TYPE FIELD ASN1-Type4
71FIXED VALUE TYPE FIELD 555
72}
73
74--****************************************************************************************************
75-- Defining Information Object sets
76--****************************************************************************************************
77
78MyInformationObjectSet1 MY-CLASS-1 ::=
79{
80myObject-1|
81myObject-2,
82...
83}
84
85MyInformationObjectSet2 MY-CLASS-1 ::=
86{
87MyInformationObjectSet1|
88myObject-3,
89...
90}
91
92--****************************************************************************************************
93-- References from class
94--****************************************************************************************************
95
96MyBigMessageType1 ::= SEQUENCE
97
98{
99field1 MY-CLASS-1.&TypeField, --open Type
100field2 MY-CLASS-1.&fixedTypeValueField
101}
102
103MyBigMessageType2 ::= SEQUENCE
104
105{
106field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
107field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
108}
109
110MyBigMessageType3 ::= SEQUENCE
111{
112field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@field2} ),
113field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1} )
114}
115
116myBigMessage1 MyBigMessageType2 ::=
117{
118
119field1 aSN1-Type3 : {f1 8 } , -- Note: use of small first letter is temporary
120field2 6457
121
122}
123
124--****************************************************************************************************
125-- References from object
126--****************************************************************************************************
127
128MyBigMessageType4 ::= SEQUENCE
129
130{
131field1 myObject-1.&TypeField , -- type from object
132field2 MY-CLASS-1.&fixedTypeValueField
133}
134
135myBigMessage2 MyBigMessageType4 ::=
136{
137field1 {f1 10 } ,
138field2 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
158RANAP-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
168RANAP-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
184RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
185 &InitiatingMessage ,
186 &SuccessfulOutcome OPTIONAL,
187 &UnsuccessfulOutcome OPTIONAL,
188 &Outcome OPTIONAL,
189 &procedureCode ProcedureCode UNIQUE,
190 &criticality Criticality DEFAULT ignore
191}
192WITH 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
201RANAP-PDU ::= CHOICE {
202 initiatingMessage InitiatingMessage,
203 successfulOutcome SuccessfulOutcome,
204 unsuccessfulOutcome UnsuccessfulOutcome,
205 outcome Outcome,
206 ...
207}
208
209InitiatingMessage ::= 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
215SuccessfulOutcome ::= 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
221UnsuccessfulOutcome ::= 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
227Outcome ::= 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
233reset RANAP-ELEMENTARY-PROCEDURE ::= {
234 INITIATING MESSAGE Reset
235 SUCCESSFUL OUTCOME ResetAcknowledge
236 PROCEDURE CODE id-Reset
237 CRITICALITY reject
238}
239
240resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
241 INITIATING MESSAGE ResetResource
242 SUCCESSFUL OUTCOME ResetResourceAcknowledge
243 PROCEDURE CODE id-ResetResource
244 CRITICALITY reject
245}
246
247Reset ::= SEQUENCE {
248 protocolIEs OCTET STRING, --simplified with dummy fields
249 protocolExtensions OCTET STRING, --simplified with dummy fields
250 ...
251}
252
253ResetAcknowledge ::= SEQUENCE {
254 protocolIEs OCTET STRING, --simplified with dummy fields
255 protocolExtensions OCTET STRING, --simplified with dummy fields
256 ...
257}
258
259ResetResource ::= SEQUENCE {
260 protocolIEs OCTET STRING, --simplified with dummy fields
261 protocolExtensions OCTET STRING, --simplified with dummy fields
262 ...
263}
264ResetResourceAcknowledge ::= SEQUENCE {
265 protocolIEs OCTET STRING, --simplified with dummy fields
266 protocolExtensions OCTET STRING, --simplified with dummy fields
267 ...
268}
269
270ProcedureCode ::= INTEGER (0..255)
271
272Criticality ::= ENUMERATED { reject, ignore, notify, unspecified }
273
274id-Reset ProcedureCode ::= 0
275
276id-ResetResource ProcedureCode ::= 1
277
278--Gyuri ASN1 ****************************************************************
279-- **************************************************************************
280MY-CLASS-2 ::= CLASS
281{
282&Argument,
283&identifier INTEGER UNIQUE
284--,
285--&linkedArgument &Argument OPTIONAL,
286--&ErrorCodes INTEGER DEFAULT {0},
287--&returnedObject
288}
289WITH SYNTAX
290{
291INFORMATION &Argument WITH ID &identifier
292--[AND ERRORS &ErrorCodes]
293--[LINKED TO &linkedArgument]
294--[ANSWERS &returnedObject]
295}
296
297-- TR924 --
298Matrix ::= SEQUENCE OF SEQUENCE OF INTEGER
299
300OPERATION ::= 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
310ERROR ::= CLASS
311{
312 &ParameterType OPTIONAL,
313 &errorCode INTEGER UNIQUE
314}
315
316invertMatrix OPERATION ::=
317{
318 &ArgumentType Matrix,
319 &ResultType Matrix,
320 &Errors {determinantIsZero},
321 &operationCode "inv"
322}
323
324determinantIsZero ERROR ::=
325{
326 &errorCode 1
327}
328
329END
This page took 0.035368 seconds and 5 git commands to generate.