Do case insensitive search for lua scripts to load.
[obnox/wireshark/wip.git] / asn1 / goose / goose.asn
1 -- $Id$
2 IEC61850 DEFINITIONS ::= BEGIN
3
4 GOOSEpdu ::= CHOICE {
5         gseMngtPdu      [APPLICATION 0] IMPLICIT GSEMngtPdu,
6         goosePdu        [APPLICATION 1] IMPLICIT IECGoosePdu,
7         ...
8 }
9
10 GSEMngtPdu ::= SEQUENCE {
11         stateID         [0] IMPLICIT INTEGER,
12 --      security        [3] ANY OPTIONAL,
13                                         -- reserved for future definition
14         requestResp     RequestResponse
15 --      CHOICE {
16 --              requests        [1] IMPLICIT GSEMngtRequests,
17 --              responses       [2] IMPLICIT GSEMngtResponses
18 --      }
19 }
20
21 RequestResponse ::= CHOICE {
22         requests        [1] IMPLICIT GSEMngtRequests,
23         responses       [2] IMPLICIT GSEMngtResponses
24 }
25
26 GSEMngtRequests ::= CHOICE {
27         getGoReference                  [1] IMPLICIT GetReferenceRequestPdu,
28         getGOOSEElementNumber   [2] IMPLICIT GetElementRequestPdu,
29         getGsReference                  [3] IMPLICIT GetReferenceRequestPdu,
30         getGSSEDataOffset               [4] IMPLICIT GetElementRequestPdu,
31         ...
32 }
33
34 GSEMngtResponses ::= CHOICE {
35         gseMngtNotSupported             [0] IMPLICIT NULL,
36         getGoReference                  [1] IMPLICIT GSEMngtResponsePdu,
37         getGOOSEElementNumber   [2] IMPLICIT GSEMngtResponsePdu,
38         getGsReference                  [3] IMPLICIT GSEMngtResponsePdu,
39         getGSSEDataOffset               [4] IMPLICIT GSEMngtResponsePdu,
40         ...
41 }
42
43 GetReferenceRequestPdu ::= SEQUENCE {
44         ident   [0] IMPLICIT VisibleString, -- size shall support up to 65 octets
45         offset  [1] IMPLICIT SEQUENCE OF INTEGER,
46         ...
47 }
48
49 GetElementRequestPdu ::= SEQUENCE {
50         ident           [0] IMPLICIT VisibleString, -- size shall support up to 65 octets
51         references      [1] IMPLICIT SEQUENCE OF VisibleString,
52         ...
53 }
54
55 GSEMngtResponsePdu ::= SEQUENCE {
56         ident           [0] IMPLICIT VisibleString, -- echos the value of the request
57         confRev         [1] IMPLICIT INTEGER OPTIONAL,
58         posNeg          PositiveNegative,
59 --      CHOICE {
60 --              responsePositive        [2] IMPLICIT SEQUENCE {
61 --                      datSet                          [0] IMPLICIT VisibleString OPTIONAL,
62 --                      result                          [1] IMPLICIT SEQUENCE OF RequestResults
63 --              },
64 --              responseNegative        [3] IMPLICIT GlbErrors
65 --      },
66         ...
67 }
68
69 PositiveNegative ::= CHOICE {
70         responsePositive        [2] IMPLICIT SEQUENCE {
71                 datSet                          [0] IMPLICIT VisibleString OPTIONAL,
72                 result                          [1] IMPLICIT SEQUENCE OF RequestResults
73         },
74         responseNegative        [3] IMPLICIT GlbErrors
75 }
76
77 RequestResults::= CHOICE {
78         offset          [0] IMPLICIT INTEGER,
79         reference       [1] IMPLICIT IA5String,
80         error           [2] IMPLICIT ErrorReason
81 }
82
83 GlbErrors ::= INTEGER {
84         other(0),
85         unknownControlBlock(1),
86         responseTooLarge(2),
87         controlBlockConfigurationError(3) --,
88 --      ...
89 }
90
91 ErrorReason ::= INTEGER {
92         other (0),
93         notFound (1) --,
94 --      ...
95 }
96
97 IECGoosePdu ::= SEQUENCE {
98         gocbRef                         [0] IMPLICIT VisibleString,
99         timeAllowedtoLive       [1] IMPLICIT INTEGER,
100         datSet                          [2] IMPLICIT VisibleString,
101         goID                            [3] IMPLICIT VisibleString OPTIONAL,
102         t                                       [4] IMPLICIT UtcTime,
103         stNum                           [5] IMPLICIT INTEGER,
104         sqNum                           [6] IMPLICIT INTEGER,
105         test                            [7] IMPLICIT BOOLEAN DEFAULT FALSE,
106         confRev                         [8] IMPLICIT INTEGER,
107         ndsCom                          [9] IMPLICIT BOOLEAN DEFAULT FALSE,
108         numDatSetEntries        [10] IMPLICIT INTEGER,
109         allData                         [11] IMPLICIT SEQUENCE OF Data --,
110 --      security                        [12] ANY OPTIONAL
111                                                          -- reserved for digital signature
112 }
113
114 UtcTime ::= OCTET STRING -- format and size defined in 8.1.3.6.
115
116 TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6))
117 FloatingPoint ::= OCTET STRING
118
119 Data ::= CHOICE {
120         -- context tag 0 is reserved for AccessResult
121         array                   [1] IMPLICIT SEQUENCE OF Data,
122         structure               [2] IMPLICIT SEQUENCE OF Data,
123         boolean                 [3] IMPLICIT BOOLEAN,   
124         bit-string              [4] IMPLICIT BIT STRING,
125         integer                 [5] IMPLICIT INTEGER,
126         unsigned                [6] IMPLICIT INTEGER,
127         floating-point  [7] IMPLICIT FloatingPoint,
128         real                    [8] IMPLICIT REAL,
129         octet-string    [9] IMPLICIT OCTET STRING,
130         visible-string  [10] IMPLICIT VisibleString,
131         binary-time             [12] IMPLICIT TimeOfDay,
132         bcd                             [13] IMPLICIT INTEGER,
133         booleanArray    [14] IMPLICIT BIT STRING
134 }
135
136 END