forked from osmocom/wireshark
8c608e6e82
Change-Id: Ie476c6f82f318188b41ed922b92c6fec119ea954 Reviewed-on: https://code.wireshark.org/review/244 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
144 lines
3.8 KiB
Groff
144 lines
3.8 KiB
Groff
IEC61850 DEFINITIONS ::= BEGIN
|
|
|
|
GOOSEpdu ::= CHOICE {
|
|
gseMngtPdu [APPLICATION 0] IMPLICIT GSEMngtPdu,
|
|
goosePdu [APPLICATION 1] IMPLICIT IECGoosePdu,
|
|
...
|
|
}
|
|
|
|
GSEMngtPdu ::= SEQUENCE {
|
|
stateID [0] IMPLICIT INTEGER,
|
|
-- security [3] ANY OPTIONAL,
|
|
-- reserved for future definition
|
|
requestResp RequestResponse
|
|
-- CHOICE {
|
|
-- requests [1] IMPLICIT GSEMngtRequests,
|
|
-- responses [2] IMPLICIT GSEMngtResponses
|
|
-- }
|
|
}
|
|
|
|
RequestResponse ::= CHOICE {
|
|
requests [1] IMPLICIT GSEMngtRequests,
|
|
responses [2] IMPLICIT GSEMngtResponses
|
|
}
|
|
|
|
GSEMngtRequests ::= CHOICE {
|
|
getGoReference [1] IMPLICIT GetReferenceRequestPdu,
|
|
getGOOSEElementNumber [2] IMPLICIT GetElementRequestPdu,
|
|
getGsReference [3] IMPLICIT GetReferenceRequestPdu,
|
|
getGSSEDataOffset [4] IMPLICIT GetElementRequestPdu,
|
|
...
|
|
}
|
|
|
|
GSEMngtResponses ::= CHOICE {
|
|
gseMngtNotSupported [0] IMPLICIT NULL,
|
|
getGoReference [1] IMPLICIT GSEMngtResponsePdu,
|
|
getGOOSEElementNumber [2] IMPLICIT GSEMngtResponsePdu,
|
|
getGsReference [3] IMPLICIT GSEMngtResponsePdu,
|
|
getGSSEDataOffset [4] IMPLICIT GSEMngtResponsePdu,
|
|
...
|
|
}
|
|
|
|
GetReferenceRequestPdu ::= SEQUENCE {
|
|
ident [0] IMPLICIT VisibleString, -- size shall support up to 65 octets
|
|
offset [1] IMPLICIT SEQUENCE OF INTEGER,
|
|
...
|
|
}
|
|
|
|
GetElementRequestPdu ::= SEQUENCE {
|
|
ident [0] IMPLICIT VisibleString, -- size shall support up to 65 octets
|
|
references [1] IMPLICIT SEQUENCE OF VisibleString,
|
|
...
|
|
}
|
|
|
|
GSEMngtResponsePdu ::= SEQUENCE {
|
|
ident [0] IMPLICIT VisibleString, -- echos the value of the request
|
|
confRev [1] IMPLICIT INTEGER OPTIONAL,
|
|
posNeg PositiveNegative,
|
|
-- CHOICE {
|
|
-- responsePositive [2] IMPLICIT SEQUENCE {
|
|
-- datSet [0] IMPLICIT VisibleString OPTIONAL,
|
|
-- result [1] IMPLICIT SEQUENCE OF RequestResults
|
|
-- },
|
|
-- responseNegative [3] IMPLICIT GlbErrors
|
|
-- },
|
|
...
|
|
}
|
|
|
|
PositiveNegative ::= CHOICE {
|
|
responsePositive [2] IMPLICIT SEQUENCE {
|
|
datSet [0] IMPLICIT VisibleString OPTIONAL,
|
|
result [1] IMPLICIT SEQUENCE OF RequestResults
|
|
},
|
|
responseNegative [3] IMPLICIT GlbErrors
|
|
}
|
|
|
|
RequestResults::= CHOICE {
|
|
offset [0] IMPLICIT INTEGER,
|
|
reference [1] IMPLICIT IA5String,
|
|
error [2] IMPLICIT ErrorReason
|
|
}
|
|
|
|
GlbErrors ::= INTEGER {
|
|
other(0),
|
|
unknownControlBlock(1),
|
|
responseTooLarge(2),
|
|
controlBlockConfigurationError(3) --,
|
|
-- ...
|
|
}
|
|
|
|
ErrorReason ::= INTEGER {
|
|
other (0),
|
|
notFound (1) --,
|
|
-- ...
|
|
}
|
|
|
|
IECGoosePdu ::= SEQUENCE {
|
|
gocbRef [0] IMPLICIT VisibleString,
|
|
timeAllowedtoLive [1] IMPLICIT INTEGER,
|
|
datSet [2] IMPLICIT VisibleString,
|
|
goID [3] IMPLICIT VisibleString OPTIONAL,
|
|
t [4] IMPLICIT UtcTime,
|
|
stNum [5] IMPLICIT INTEGER,
|
|
sqNum [6] IMPLICIT INTEGER,
|
|
test [7] IMPLICIT BOOLEAN DEFAULT FALSE,
|
|
confRev [8] IMPLICIT INTEGER,
|
|
ndsCom [9] IMPLICIT BOOLEAN DEFAULT FALSE,
|
|
numDatSetEntries [10] IMPLICIT INTEGER,
|
|
allData [11] IMPLICIT SEQUENCE OF Data --,
|
|
-- security [12] ANY OPTIONAL
|
|
-- reserved for digital signature
|
|
}
|
|
|
|
UtcTime ::= OCTET STRING -- format and size defined in 8.1.3.6.
|
|
|
|
TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6))
|
|
FloatingPoint ::= OCTET STRING
|
|
|
|
|
|
Data ::= CHOICE
|
|
{
|
|
-- context tag 0 is reserved for AccessResult
|
|
array [1] IMPLICIT SEQUENCE OF Data,
|
|
structure [2] IMPLICIT SEQUENCE OF Data,
|
|
boolean [3] IMPLICIT BOOLEAN,
|
|
bit-string [4] IMPLICIT BIT STRING,
|
|
integer [5] IMPLICIT INTEGER,
|
|
unsigned [6] IMPLICIT INTEGER,
|
|
floating-point [7] IMPLICIT FloatingPoint,
|
|
real [8] IMPLICIT REAL,
|
|
octet-string [9] IMPLICIT OCTET STRING,
|
|
visible-string [10] IMPLICIT VisibleString,
|
|
binary-time [12] IMPLICIT TimeOfDay,
|
|
bcd [13] IMPLICIT INTEGER,
|
|
booleanArray [14] IMPLICIT BIT STRING,
|
|
objId [15] IMPLICIT OBJECT IDENTIFIER,
|
|
...,
|
|
mMSString [16] IMPLICIT MMSString,
|
|
utc-time [17] IMPLICIT UtcTime -- added by IEC61850 8.1 G3
|
|
}
|
|
|
|
MMSString ::= UTF8String
|
|
|
|
END
|