aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/Objects.asn
blob: f911acbbe94af9e411562fa5a2e14f7aa211c5a6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Objects DEFINITIONS ::=
BEGIN

OPERATION ::= CLASS 
 { 
   &ArgumentType OPTIONAL, 
   &ResultType OPTIONAL, 
   &Errors ERROR OPTIONAL, 
   &Linked OPERATION OPTIONAL, 
   &resultReturned BOOLEAN DEFAULT TRUE, 
   &operationCode INTEGER UNIQUE 
 } 
WITH SYNTAX 
 { 
   [ARGUMENT &ArgumentType] 
   [RESULT &ResultType] 
   [RETURN RESULT &resultReturned] 
   [ERRORS &Errors] 
   [LINKED &Linked] 
   CODE &operationCode 
 } 

ERROR ::= CLASS 
 { 
   &ParameterType OPTIONAL, 
   &errorCode INTEGER UNIQUE 
 } 
WITH SYNTAX 
 { 
   [PARAMETER &ParameterType] 
   CODE &errorCode 
 }

My-Operations OPERATION ::= { operationA | operationB }

operationA OPERATION ::= { 
  ARGUMENT INTEGER 
  ERRORS { { PARAMETER INTEGER CODE 1000 } | { CODE 1001 } }
  CODE 1
}

operationB OPERATION ::= {
  ARGUMENT IA5String
  RESULT BOOLEAN
  ERRORS { { CODE 1002 } | { PARAMETER IA5String CODE 1003 } }
  CODE 2
}

My-OperationErrors ERROR ::= { My-Operations.&Errors }

My-OperationAERror ERROR ::= {operationA.&Errors}
-- Equals:
-- My-OperationErrors ERROR ::= { { PARAMETER INTEGER CODE 1000 } | { CODE 1001 } | { CODE 1002 } | { PARAMETER IA5String CODE 1003 } }

My-OperationErrorCodes INTEGER ::= { My-Operations.&Errors.&errorCode }
-- Equals:
-- My-OperationErrorCodes INTEGER ::= { 1000 | 1001 | 1002 | 1003 }

END