You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iec61850bean/asn1/mms/more-asn1-files/mms-uniroma.asn

2218 lines
56 KiB
Groff

--Quelle: http://minerva.netgroup.uniroma2.it/svn/discreet/tfcproject/trunk/wireshark/asn1/mms/mms.asn
-- ASN definition from
-- http://www.sisconet.com/techinfo.htm
-- slightly modified
--
--
--Corrections made July 2, 1994
--
--
-- Modified to pass asn2wrs
MMS { iso standard 9506 part(2) mms-general-module-version(2) }
DEFINITIONS ::=
BEGIN
EXPORTS MMSpdu;
IMPORTS
EXTERNAL,
AP-title,
AP-invocation-identifier,
AE-qualifier,
AE-invocation-identifier
FROM ISO-8650-ACSE-1;
MMSpdu ::= CHOICE
{
confirmed_RequestPDU [0] IMPLICIT Confirmed_RequestPDU,
confirmed_ResponsePDU [1] IMPLICIT Confirmed_ResponsePDU,
confirmed_ErrorPDU [2] IMPLICIT Confirmed_ErrorPDU,
unconfirmed_PDU [3] IMPLICIT Unconfirmed_PDU,
rejectPDU [4] IMPLICIT RejectPDU,
cancel_RequestPDU [5] IMPLICIT Cancel_RequestPDU,
cancel_ResponsePDU [6] IMPLICIT Cancel_ResponsePDU,
cancel_ErrorPDU [7] IMPLICIT Cancel_ErrorPDU,
initiate_RequestPDU [8] IMPLICIT Initiate_RequestPDU,
initiate_ResponsePDU [9] IMPLICIT Initiate_ResponsePDU,
initiate_ErrorPDU [10] IMPLICIT Initiate_ErrorPDU,
conclude_RequestPDU [11] IMPLICIT Conclude_RequestPDU,
conclude_ResponsePDU [12] IMPLICIT Conclude_ResponsePDU,
conclude_ErrorPDU [13] IMPLICIT Conclude_ErrorPDU
}
Confirmed_RequestPDU ::= SEQUENCE
{
invokeID Unsigned32,
listOfModifier SEQUENCE OF Modifier OPTIONAL,
confirmedServiceRequest ConfirmedServiceRequest,
cs_Request-detail [79] CS_Request-Detail OPTIONAL
}
Unconfirmed_PDU ::= SEQUENCE
{
unconfirmedService UnconfirmedService,
cs_Request-detail [79] CS_Request-Detail OPTIONAL
}
Confirmed_ResponsePDU ::= SEQUENCE
{
invokeID Unsigned32,
confirmedServiceResponse ConfirmedServiceResponse,
cs_Request-detail [79] CS_Request-Detail OPTIONAL
}
Confirmed_ErrorPDU ::= SEQUENCE
{
invokeID [0] IMPLICIT Unsigned32,
modifierPosition [1] IMPLICIT Unsigned32 OPTIONAL,
serviceError [2] IMPLICIT ServiceError
}
UnconfirmedService ::= CHOICE
{
informationReport [0] IMPLICIT InformationReport,
unsolicitedStatus [1] IMPLICIT UnsolicitedStatus,
eventNotification [2] IMPLICIT EventNotification
-- XXX this one is neither in this ASN nor in the IMPORTS
-- additionalService [3] AdditionalUnconfirmedService
}
Modifier ::= CHOICE
{
attach-To-Event-Condition [0] IMPLICIT AttachToEventCondition,
attach-To-Semaphore [1] IMPLICIT AttachToSemaphore
}
ConfirmedServiceRequest ::= CHOICE
{
status [0] IMPLICIT Status_Request,
getNameList [1] IMPLICIT GetNameList_Request,
identify [2] IMPLICIT Identify_Request,
rename [3] IMPLICIT Rename_Request,
read [4] IMPLICIT Read_Request,
write [5] IMPLICIT Write_Request,
getVariableAccessAttributes [6] GetVariableAccessAttributes_Request,
defineNamedVariable [7] IMPLICIT DefineNamedVariable_Request,
defineScatteredAccess [8] IMPLICIT DefineScatteredAccess_Request,
getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes_Request,
deleteVariableAccess [10] IMPLICIT DeleteVariableAccess_Request,
defineNamedVariableList [11] IMPLICIT DefineNamedVariableList_Request,
getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes_Request,
deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList_Request,
defineNamedType [14] IMPLICIT DefineNamedType_Request,
getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes_Request,
deleteNamedType [16] IMPLICIT DeleteNamedType_Request,
input [17] IMPLICIT Input_Request,
output [18] IMPLICIT Output_Request,
takeControl [19] IMPLICIT TakeControl_Request,
relinquishControl [20] IMPLICIT RelinquishControl_Request,
defineSemaphore [21] IMPLICIT DefineSemaphore_Request,
deleteSemaphore [22] IMPLICIT DeleteSemaphore_Request,
reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus_Request,
reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus_Request,
reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus_Request,
initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence_Request,
downloadSegment [27] IMPLICIT DownloadSegment_Request,
terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence_Request,
initiateUploadSequence [29] IMPLICIT InitiateUploadSequence_Request,
uploadSegment [30] IMPLICIT UploadSegment_Request,
terminateUploadSequence [31] IMPLICIT TerminateUploadSequence_Request,
requestDomainDownload [32] IMPLICIT RequestDomainDownload_Request,
requestDomainUpload [33] IMPLICIT RequestDomainUpload_Request,
loadDomainContent [34] IMPLICIT LoadDomainContent_Request,
storeDomainContent [35] IMPLICIT StoreDomainContent_Request,
deleteDomain [36] IMPLICIT DeleteDomain_Request,
getDomainAttributes [37] IMPLICIT GetDomainAttributes_Request,
createProgramInvocation [38] IMPLICIT CreateProgramInvocation_Request,
deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation_Request,
start [40] IMPLICIT Start_Request,
stop [41] IMPLICIT Stop_Request,
resume [42] IMPLICIT Resume_Request,
reset [43] IMPLICIT Reset_Request,
kill [44] IMPLICIT Kill_Request,
getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes_Request,
obtainFile [46] IMPLICIT ObtainFile_Request,
defineEventCondition [47] IMPLICIT DefineEventCondition_Request,
deleteEventCondition [48] DeleteEventCondition_Request,
getEventConditionAttributes [49] GetEventConditionAttributes_Request,
reportEventConditionStatus [50] ReportEventConditionStatus_Request,
alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring_Request,
triggerEvent [52] IMPLICIT TriggerEvent_Request,
defineEventAction [53] IMPLICIT DefineEventAction_Request,
deleteEventAction [54] DeleteEventAction_Request,
getEventActionAttributes [55] GetEventActionAttributes_Request,
reportEventActionStatus [56] ReportEventActionStatus_Request,
defineEventEnrollment [57] IMPLICIT DefineEventEnrollment_Request,
deleteEventEnrollment [58] DeleteEventEnrollment_Request,
alterEventEnrollment [59] IMPLICIT AlterEventEnrollment_Request,
reportEventEnrollmentStatus [60] ReportEventEnrollmentStatus_Request,
getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes_Request,
acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification_Request,
getAlarmSummary [63] IMPLICIT GetAlarmSummary_Request,
getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary_Request,
readJournal [65] IMPLICIT ReadJournal_Request,
writeJournal [66] IMPLICIT WriteJournal_Request,
initializeJournal [67] IMPLICIT InitializeJournal_Request,
reportJournalStatus [68] IMPLICIT ReportJournalStatus_Request,
createJournal [69] IMPLICIT CreateJournal_Request,
deleteJournal [70] IMPLICIT DeleteJournal_Request,
getCapabilityList [71] IMPLICIT GetCapabilityList_Request,
fileOpen [72] IMPLICIT FileOpen_Request,
fileRead [73] IMPLICIT FileRead_Request,
fileClose [74] IMPLICIT FileClose_Request,
fileRename [75] IMPLICIT FileRename_Request,
fileDelete [76] IMPLICIT FileDelete_Request,
fileDirectory [77] IMPLICIT FileDirectory_Request
-- XXX this one is neither in this ASN nor in the IMPORTS
-- additionalService [78] AdditionalService_Request
}
CS_Request-Detail ::= CHOICE {
-- see ISO 9506-2
-- XXX can not handle empty choice
-- XXX fix me later
foo INTEGER
}
ConfirmedServiceResponse ::= CHOICE
{
status [0] IMPLICIT Status_Response,
getNameList [1] IMPLICIT GetNameList_Response,
identify [2] IMPLICIT Identify_Response,
rename [3] IMPLICIT Rename_Response,
read [4] IMPLICIT Read_Response,
write [5] IMPLICIT Write_Response,
getVariableAccessAttributes [6] IMPLICIT GetVariableAccessAttributes_Response,
defineNamedVariable [7] IMPLICIT DefineNamedVariable_Response,
defineScatteredAccess [8] IMPLICIT DefineScatteredAccess_Response,
getScatteredAccessAttributes [9] IMPLICIT GetScatteredAccessAttributes_Response,
deleteVariableAccess [10] IMPLICIT DeleteVariableAccess_Response,
defineNamedVariableList [11] IMPLICIT DefineNamedVariableList_Response,
getNamedVariableListAttributes [12] IMPLICIT GetNamedVariableListAttributes_Response,
deleteNamedVariableList [13] IMPLICIT DeleteNamedVariableList_Response,
defineNamedType [14] IMPLICIT DefineNamedType_Response,
getNamedTypeAttributes [15] IMPLICIT GetNamedTypeAttributes_Response,
deleteNamedType [16] IMPLICIT DeleteNamedType_Response,
input [17] IMPLICIT Input_Response,
output [18] IMPLICIT Output_Response,
takeControl [19] TakeControl_Response,
relinquishControl [20] IMPLICIT RelinquishControl_Response,
defineSemaphore [21] IMPLICIT DefineSemaphore_Response,
deleteSemaphore [22] IMPLICIT DeleteSemaphore_Response,
reportSemaphoreStatus [23] IMPLICIT ReportSemaphoreStatus_Response,
reportPoolSemaphoreStatus [24] IMPLICIT ReportPoolSemaphoreStatus_Response,
reportSemaphoreEntryStatus [25] IMPLICIT ReportSemaphoreEntryStatus_Response,
initiateDownloadSequence [26] IMPLICIT InitiateDownloadSequence_Response,
downloadSegment [27] IMPLICIT DownloadSegment_Response,
terminateDownloadSequence [28] IMPLICIT TerminateDownloadSequence_Response,
initiateUploadSequence [29] IMPLICIT InitiateUploadSequence_Response,
uploadSegment [30] IMPLICIT UploadSegment_Response,
terminateUploadSequence [31] IMPLICIT TerminateUploadSequence_Response,
requestDomainDownLoad [32] IMPLICIT RequestDomainDownload_Response,
requestDomainUpload [33] IMPLICIT RequestDomainUpload_Response,
loadDomainContent [34] IMPLICIT LoadDomainContent_Response,
storeDomainContent [35] IMPLICIT StoreDomainContent_Response,
deleteDomain [36] IMPLICIT DeleteDomain_Response,
getDomainAttributes [37] IMPLICIT GetDomainAttributes_Response,
createProgramInvocation [38] IMPLICIT CreateProgramInvocation_Response,
deleteProgramInvocation [39] IMPLICIT DeleteProgramInvocation_Response,
start [40] IMPLICIT Start_Response,
stop [41] IMPLICIT Stop_Response,
resume [42] IMPLICIT Resume_Response,
reset [43] IMPLICIT Reset_Response,
kill [44] IMPLICIT Kill_Response,
getProgramInvocationAttributes [45] IMPLICIT GetProgramInvocationAttributes_Response,
obtainFile [46] IMPLICIT ObtainFile_Response,
fileOpen [72] IMPLICIT FileOpen_Response,
defineEventCondition [47] IMPLICIT DefineEventCondition_Response,
deleteEventCondition [48] IMPLICIT DeleteEventCondition_Response,
getEventConditionAttributes [49] IMPLICIT GetEventConditionAttributes_Response,
reportEventConditionStatus [50] IMPLICIT ReportEventConditionStatus_Response,
alterEventConditionMonitoring [51] IMPLICIT AlterEventConditionMonitoring_Response,
triggerEvent [52] IMPLICIT TriggerEvent_Response,
defineEventAction [53] IMPLICIT DefineEventAction_Response,
deleteEventAction [54] IMPLICIT DeleteEventAction_Response,
getEventActionAttributes [55] IMPLICIT GetEventActionAttributes_Response,
reportActionStatus [56] IMPLICIT ReportEventActionStatus_Response,
defineEventEnrollment [57] IMPLICIT DefineEventEnrollment_Response,
deleteEventEnrollment [58] IMPLICIT DeleteEventEnrollment_Response,
alterEventEnrollment [59] IMPLICIT AlterEventEnrollment_Response,
reportEventEnrollmentStatus [60] IMPLICIT ReportEventEnrollmentStatus_Response,
getEventEnrollmentAttributes [61] IMPLICIT GetEventEnrollmentAttributes_Response,
acknowledgeEventNotification [62] IMPLICIT AcknowledgeEventNotification_Response,
getAlarmSummary [63] IMPLICIT GetAlarmSummary_Response,
getAlarmEnrollmentSummary [64] IMPLICIT GetAlarmEnrollmentSummary_Response,
readJournal [65] IMPLICIT ReadJournal_Response,
writeJournal [66] IMPLICIT WriteJournal_Response,
initializeJournal [67] IMPLICIT InitializeJournal_Response,
reportJournalStatus [68] IMPLICIT ReportJournalStatus_Response,
createJournal [69] IMPLICIT CreateJournal_Response,
deleteJournal [70] IMPLICIT DeleteJournal_Response,
getCapabilityList [71] IMPLICIT GetCapabilityList_Response,
fileRead [73] IMPLICIT FileRead_Response,
fileClose [74] IMPLICIT FileClose_Response,
fileRename [75] IMPLICIT FileRename_Response,
fileDelete [76] IMPLICIT FileDelete_Response,
fileDirectory [77] IMPLICIT FileDirectory_Response
-- XXX this one is neither in this ASN nor in the IMPORTS
-- additionalService [78] AdditionalService_Response
}
--********************************** COMMON MMS TYPES ***********************************
FileName ::= SEQUENCE OF GraphicString
TimeOfDay ::= OCTET STRING -- (SIZE (4 | 6))
Identifier ::= VisibleString
Integer8 ::= INTEGER
Integer16 ::= INTEGER
Integer32 ::= INTEGER
Unsigned8 ::= INTEGER
Unsigned16 ::= INTEGER
Unsigned32 ::= INTEGER
ObjectName ::= CHOICE
{
vmd-specific [0] IMPLICIT Identifier,
domain-specific [1] IMPLICIT SEQUENCE
{
domainId Identifier,
itemId Identifier
},
aa-specific [2] IMPLICIT Identifier
}
ApplicationReference ::= SEQUENCE
{
ap-title [0] AP-title OPTIONAL,
ap-invocation-id [1] AP-invocation-identifier OPTIONAL,
ae-qualifier [2] AE-qualifier OPTIONAL,
ae-invocation-id [3] AE-invocation-identifier OPTIONAL
}
Priority ::= Unsigned8
normalPriority Priority ::= 64
-- ************************************ GENERAL *************************************
Initiate_ErrorPDU ::= ServiceError
Initiate_RequestPDU ::= SEQUENCE
{
localDetailCalling [0] IMPLICIT Integer32 OPTIONAL,
proposedMaxServOutstandingCalling [1] IMPLICIT Integer16,
proposedMaxServOutstandingCalled [2] IMPLICIT Integer16,
proposedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL,
mmsInitRequestDetail [4] IMPLICIT InitRequestDetail
}
InitRequestDetail ::= SEQUENCE
{
proposedVersionNumber [0] IMPLICIT Integer16,
proposedParameterCBB [1] IMPLICIT ParameterSupportOptions,
servicesSupportedCalling [2] IMPLICIT ServiceSupportOptions
}
Initiate_ResponsePDU ::= SEQUENCE
{
localDetailCalled [0] IMPLICIT Integer32 OPTIONAL,
negotiatedMaxServOutstandingCalling [1] IMPLICIT Integer16,
negotiatedMaxServOutstandingCalled [2] IMPLICIT Integer16,
negotiatedDataStructureNestingLevel [3] IMPLICIT Integer8 OPTIONAL,
mmsInitResponseDetail [4] IMPLICIT InitResponseDetail
}
InitResponseDetail ::= SEQUENCE
{
negotiatedVersionNumber [0] IMPLICIT Integer16,
negotiatedParameterCBB [1] IMPLICIT ParameterSupportOptions,
servicesSupportedCalled [2] IMPLICIT ServiceSupportOptions
}
ParameterSupportOptions ::= BIT STRING {
str1 (0),
str2 (1),
vnam (2),
valt (3),
vadr (4),
vsca (5),
tpy (6),
vlis (7),
real (8),
cei (10)
}
ServiceSupportOptions ::= BIT STRING
{
status (0),
getNameList (1),
identify (2),
rename (3),
read (4),
write (5),
getVariableAccessAttributes (6),
defineNamedVariable (7),
defineScatteredAccess (8),
getScatteredAccessAttributes (9),
deleteVariableAccess (10),
defineNamedVariableList (11),
getNamedVariableListAttributes (12),
deleteNamedVariableList (13),
defineNamedType (14),
getNamedTypeAttributes (15),
deleteNamedType (16),
input (17),
output (18),
takeControl (19),
relinquishControl (20),
defineSemaphore (21),
deleteSemaphore (22),
reportSemaphoreStatus (23),
reportPoolSemaphoreStatus (24),
reportSemaphoreEntryStatus (25),
initiateDownloadSequence (26),
downloadSegment (27),
terminateDownloadSequence (28),
initiateUploadSequence (29),
uploadSegment (30),
terminateUploadSequence (31),
requestDomainDownload (32),
requestDomainUpload (33),
loadDomainContent (34),
storeDomainContent (35),
deleteDomain (36),
getDomainAttributes (37),
createProgramInvocation (38),
deleteProgramInvocation (39),
start (40),
stop (41),
resume (42),
reset (43),
kill (44),
getProgramInvocationAttributes (45),
obtainFile (46),
defineEventCondition (47),
deleteEventCondition (48),
getEventConditionAttributes (49),
reportEventConditionStatus (50),
alterEventConditionMonitoring (51),
triggerEvent (52),
defineEventAction (53),
deleteEventAction (54),
getEventActionAttributes (55),
reportActionStatus (56),
defineEventEnrollment (57),
deleteEventEnrollment (58),
alterEventEnrollment (59),
reportEventEnrollmentStatus (60),
getEventEnrollmentAttributes (61),
acknowledgeEventNotification (62),
getAlarmSummary (63),
getAlarmEnrollmentSummary (64),
readJournal (65),
writeJournal (66),
initializeJournal (67),
reportJournalStatus (68),
createJournal (69),
deleteJournal (70),
getCapabilityList (71),
fileOpen (72),
fileRead (73),
fileClose (74),
fileRename (75),
fileDelete (76),
fileDirectory (77),
unsolicitedStatus (78),
informationReport (79),
eventNotification (80),
attachToEventCondition (81),
attachToSemaphore (82),
conclude (83),
cancel (84)
}
---------------------------------- CONCLUDE --------------------------------
Conclude_RequestPDU ::= NULL
Conclude_ResponsePDU ::= NULL
Conclude_ErrorPDU ::= ServiceError
---------------------------------- CANCEL --------------------------------
Cancel_RequestPDU ::= Unsigned32 -- originalInvokeID
Cancel_ResponsePDU ::= Unsigned32 -- originalInvokeID
Cancel_ErrorPDU ::= SEQUENCE
{
originalInvokeID [0] IMPLICIT Unsigned32,
serviceError [1] IMPLICIT ServiceError
}
------------------------------ Service_Error --------------------------------
ServiceError ::= SEQUENCE
{
errorClass [0] CHOICE
{
vmd-state [0] IMPLICIT INTEGER
{
other (0),
vmd-state-conflict (1),
vmd-operational-problem (2),
domain-transfer-problem (3),
state-machine-id-invalid (4)
},
application-reference [1] IMPLICIT INTEGER
{
other (0),
aplication-unreachable (1),
connection-lost (2),
application-reference-invalid (3),
context-unsupported (4)
},
definition [2] IMPLICIT INTEGER
{
other (0),
object-undefined (1),
invalid-address (2),
type-unsupported (3),
type-inconsistent (4),
object-exists (5),
object-attribute-inconsistent (6)
},
resource [3] IMPLICIT INTEGER
{
other (0),
memory-unavailable (1),
processor-resource-unavailable (2),
mass-storage-unavailable (3),
capability-unavailable (4),
capability-unknown (5)
},
service [4] IMPLICIT INTEGER
{
other (0),
primitives-out-of-sequence (1),
object-sate-conflict (2),
pdu-size (3),
continuation-invalid (4),
object-constraint-conflict (5)
},
service-preempt [5] IMPLICIT INTEGER
{
other (0),
timeout (1),
deadlock (2),
cancel (3)
},
time-resolution [6] IMPLICIT INTEGER
{
other (0),
unsupportable-time-resolution (1)
},
access [7] IMPLICIT INTEGER
{
other (0),
object-access-unsupported (1),
object-non-existent (2),
object-access-denied (3),
object-invalidated (4)
},
initiate [8] IMPLICIT INTEGER
{
other (0),
version-incompatible (1),
max-segment-insufficient (2),
max-services-outstanding-calling-insufficient (3),
max-services-outstanding-called-insufficient (4),
service-CBB-insufficient (5),
parameter-CBB-insufficient (6),
nesting-level-insufficient (7)
},
conclude [9] IMPLICIT INTEGER
{
other (0),
further-communication-required (1)
},
cancel [10] IMPLICIT INTEGER
{
other (0),
invoke-id-unknown (1),
cancel-not-possible (2)
},
file [11] IMPLICIT INTEGER
{
other (0),
filename-ambiguous (1),
file-busy (2),
filename-syntax_Error (3),
content-type-invalid (4),
position-invalid (5),
file-acces-denied (6),
file-non-existent (7),
duplicate-filename (8),
insufficient-space-in-filestore (9)
},
others [12] IMPLICIT INTEGER
},
additionalCode [1] IMPLICIT INTEGER OPTIONAL,
additionalDescription [2] IMPLICIT VisibleString OPTIONAL,
serviceSpecificInformation [3] CHOICE
{
obtainFile [0] IMPLICIT ObtainFile_Error,
start [1] IMPLICIT Start_Error,
stop [2] IMPLICIT Stop_Error,
resume [3] IMPLICIT Resume_Error,
reset [4] IMPLICIT Reset_Error,
deleteVariableAccess [5] IMPLICIT DeleteVariableAccess_Error,
deleteNamedVariableList [6] IMPLICIT DeleteNamedVariableList_Error,
deleteNamedType [7] IMPLICIT DeleteNamedType_Error,
defineEventEnrollment_Error [8] DefineEventEnrollment_Error,
fileRename [9] IMPLICIT FileRename_Error
-- XXX this one is neither in this ASN nor in the IMPORTS
-- additionalService [10] AdditionalServiceError
} OPTIONAL
}
---------------------------------- REJECT --------------------------------
RejectPDU ::= SEQUENCE
{
originalInvokeID [0] IMPLICIT Unsigned32 OPTIONAL,
rejectReason CHOICE
{
confirmed_RequestPDU [1] IMPLICIT INTEGER
{
other (0),
unrecognized-service (1),
unrecognized-modifier (2),
invalid-invokeID (3),
invalid-argument (4),
invalid-modifier (5),
max-serv-outstanding-exceeded (6),
max-recursion-exceeded (8),
value-out-of-range (9)
},
confirmed_ResponsePDU [2] IMPLICIT INTEGER
{
other (0),
unrecognized-service (1),
invalid-invokeID (2),
invalid-result (3),
max-recursion-exceeded (5),
value-out-of-range (6)
},
confirmed_ErrorPDU [3] IMPLICIT INTEGER
{
other (0),
unrecognized-service (1),
invalid-invokeID (2),
invalid-serviceError (3),
value-out-of-range (4)
} ,
unconfirmedPDU [4] IMPLICIT INTEGER
{
other (0),
unrecognized-service (1),
invalid-argument (2),
max-recursion-exceeded (3),
value-out-of-range (4)
},
pdu_Error [5] IMPLICIT INTEGER
{
unknown_PDU-type (0),
invalid_PDU (1),
illegal-acse-mapping (2)
},
cancel_RequestPDU [6] IMPLICIT INTEGER
{
other (0),
invalid-invokeID (1)
},
cancel_ResponsePDU [7] IMPLICIT INTEGER
{
other (0),
invalid-invokeID (1)
},
cancel_ErrorPDU [8] IMPLICIT INTEGER
{
other (0),
invalid-invokeID (1),
invalid-serviceError (2),
value-out-of-range (3)
},
conclude_RequestPDU [9] IMPLICIT INTEGER
{
other (0),
invalid-argument (1)
},
conclude_ResponsePDU [10] IMPLICIT INTEGER
{
other (0),
invalid-result (1)
},
conclude_ErrorPDU [11] IMPLICIT INTEGER
{
other (0),
invalid-serviceError (1),
value-out-of-range (2)
}
}
}
-- *************************************** VMD ********************************************
Status_Request ::= BOOLEAN
Status_Response ::= SEQUENCE {
vmdLogicalStatus [0] IMPLICIT INTEGER {
state-changes-allowed (0),
no-state-changes-allowed (1),
limited-services-allowed (2),
support-services-allowed (3)
},
vmdPhysicalStatus [1] IMPLICIT INTEGER {
operational (0),
partially-operational (1),
inoperable (2),
needs-commissioning (3)
},
localDetail [2] IMPLICIT BIT STRING(SIZE(0..128)) OPTIONAL
}
-- UNSOLICITEDSTATUS
UnsolicitedStatus ::= Status_Response
-- GETNAMELIST
GetNameList_Request ::= SEQUENCE
{
extendedObjectClass [0] CHOICE
{
objectClass [0] IMPLICIT INTEGER
{
nammedVariable (0),
scatteredAccess (1),
namedVariableList (2),
namedType (3),
semaphore (4),
eventCondition (5),
eventAction (6),
eventEnrollment (7),
journal (8),
domain (9),
programInvocation (10),
operatorStation (11)
}
},
objectScope [1] CHOICE
{
vmdSpecific [0] IMPLICIT NULL,
domainSpecific [1] IMPLICIT Identifier,
aaSpecific [2] IMPLICIT NULL
},
continueAfter [2] IMPLICIT Identifier OPTIONAL
}
GetNameList_Response ::= SEQUENCE
{
listOfIdentifier [0] IMPLICIT SEQUENCE OF Identifier,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
---------------------------------- IDENTIFY --------------------------------
Identify_Request ::= NULL
Identify_Response ::= SEQUENCE {
vendorName [0] IMPLICIT VisibleString,
modelName [1] IMPLICIT VisibleString,
revision [2] IMPLICIT VisibleString,
listOfAbstractSyntaxes [3] IMPLICIT SEQUENCE OF OBJECT IDENTIFIER OPTIONAL
}
---------------------------------- RENAME --------------------------------
Rename_Request ::= SEQUENCE
{
extendedObjectClass [0] CHOICE {
objectClass [0] IMPLICIT INTEGER
{
namedVariable (0),
scatteredAccess (1),
namedVariableList (2),
namedType (3),
semaphore (4),
eventCondition (5),
eventAction (6),
eventEnrollment (7),
journal (8),
domain (9),
programInvocation (10),
operatorStation (11)
}
},
currentName [1] ObjectName,
newIdentifier [2] IMPLICIT Identifier
}
Rename_Response ::= NULL
---------------------------------- GET CAPABILITY LIST --------------------------------
GetCapabilityList_Request ::= SEQUENCE {
continueAfter VisibleString OPTIONAL
}
GetCapabilityList_Response ::= SEQUENCE {
listOfCapabilities [0] IMPLICIT SEQUENCE OF VisibleString,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
-- ************************************* DOMAIN ****************************************
InitiateDownloadSequence_Request ::= SEQUENCE
{
domainName [0] IMPLICIT Identifier,
listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString,
sharable [2] IMPLICIT BOOLEAN
}
InitiateDownloadSequence_Response ::= NULL
-- DOWNLOAD SEGMENT
DownloadSegment_Request ::= Identifier
DownloadSegment_Response ::= SEQUENCE
{
loadData CHOICE {
non-coded [0] IMPLICIT OCTET STRING,
coded EXTERNAL
},
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
-- TERMINATE DOWNLOAD
TerminateDownloadSequence_Request ::= SEQUENCE
{
domainName [0] IMPLICIT Identifier,
discard [1] IMPLICIT ServiceError OPTIONAL
}
TerminateDownloadSequence_Response ::= NULL
-- INITIATE UPLOAD
InitiateUploadSequence_Request ::= Identifier -- Domain Name
InitiateUploadSequence_Response ::= SEQUENCE
{
ulsmID [0] IMPLICIT Integer32,
listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString
}
-- UPLOAD SEGMENT
UploadSegment_Request ::= Integer32 -- ULSM Identifier
UploadSegment_Response ::= SEQUENCE
{
loadData CHOICE {
non-coded [0] IMPLICIT OCTET STRING,
coded EXTERNAL
},
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
-- TERMINATE UPLOAD
TerminateUploadSequence_Request ::= Integer32 -- ULSM Identifer
TerminateUploadSequence_Response ::= NULL
-- REQUEST DOMAIN DOWNLOAD
RequestDomainDownload_Request ::= SEQUENCE
{
domainName [0] IMPLICIT Identifier,
listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
sharable [2] IMPLICIT BOOLEAN,
fileName [4] IMPLICIT FileName
}
RequestDomainDownload_Response ::= NULL
-- REQUEST DOMAIN UPLOAD
RequestDomainUpload_Request ::= SEQUENCE
{
domainName [0] IMPLICIT Identifier,
fileName [1] IMPLICIT FileName
}
RequestDomainUpload_Response ::= NULL
-- LOAD DOMAIN CONTENT
LoadDomainContent_Request ::= SEQUENCE
{
domainName [0] IMPLICIT Identifier,
listOfCapabilities [1] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
sharable [2] IMPLICIT BOOLEAN,
fileName [4] IMPLICIT FileName,
thirdParty [5] IMPLICIT ApplicationReference OPTIONAL
}
LoadDomainContent_Response ::= NULL
-- STORE DOMAIN CONTENT
StoreDomainContent_Request ::= SEQUENCE
{
domainName [0] IMPLICIT Identifier,
filenName [1] IMPLICIT FileName,
thirdParty [2] IMPLICIT ApplicationReference OPTIONAL
}
StoreDomainContent_Response ::= NULL
-- DELETE DOMAIN
DeleteDomain_Request ::= Identifier -- Domain Name
DeleteDomain_Response ::= NULL
-- GET DOMAIN ATTRIBUTES
GetDomainAttributes_Request ::= Identifier -- Domain Name
GetDomainAttributes_Response ::= SEQUENCE
{
listOfCapabilities [0] IMPLICIT SEQUENCE OF VisibleString,
state [1] IMPLICIT DomainState,
mmsDeletable [2] IMPLICIT BOOLEAN,
sharable [3] IMPLICIT BOOLEAN,
listOfProgramInvocations [4] IMPLICIT SEQUENCE OF Identifier, -- PI Names
uploadInProgress [5] IMPLICIT Integer8
}
DomainState ::= INTEGER
{
non-existent (0),
loading (1),
ready (2),
in-use (3),
complete (4),
incomplete (5),
d1 (7),
d2 (8),
d3 (9),
d4 (10),
d5 (11),
d6 (12),
d7 (13),
d8 (14),
d9 (15)
}
-- ********************************* PROGRAM INVOCATION *********************************
-- CREATE PROGRAM INVOCATION
CreateProgramInvocation_Request ::= SEQUENCE
{
programInvocationName [0] IMPLICIT Identifier,
listOfDomainName [1] IMPLICIT SEQUENCE OF Identifier,
reusable [2] IMPLICIT BOOLEAN DEFAULT TRUE,
monitorType [3] IMPLICIT BOOLEAN OPTIONAL
-- TRUE indicates PERMANENT monitoring
-- FALSE indicates CURRENT monitoring
}
CreateProgramInvocation_Response ::= NULL
-- DELETE PROGRAM INVOCATION
DeleteProgramInvocation_Request ::= Identifier -- Program Invocation Name
DeleteProgramInvocation_Response ::= NULL
-- START
Start_Request ::= SEQUENCE
{
programInvocationName [0] IMPLICIT Identifier,
executionArgument CHOICE {
simpleString [1] IMPLICIT VisibleString,
encodedString EXTERNAL
} OPTIONAL
}
Start_Response ::= NULL
Start_Error ::= ProgramInvocationState
-- STOP
Stop_Request ::= SEQUENCE
{
programInvocationName [0] IMPLICIT Identifier
}
Stop_Response ::= NULL
Stop_Error ::= ProgramInvocationState
-- RESUME
Resume_Request ::= SEQUENCE
{
programInvocationName [0] IMPLICIT Identifier,
executionArgument CHOICE {
simpleString [1] IMPLICIT VisibleString,
encodedString EXTERNAL
} OPTIONAL
}
Resume_Response ::= NULL
Resume_Error ::= ProgramInvocationState
-- RESET
Reset_Request ::= SEQUENCE
{
programInvocationName [0] IMPLICIT Identifier
}
Reset_Response ::= NULL
Reset_Error ::= ProgramInvocationState
-- KILL
Kill_Request ::= SEQUENCE
{
programInvocationName [0] IMPLICIT Identifier
}
Kill_Response ::= NULL
-- GET PI ATTRIBUTES
GetProgramInvocationAttributes_Request ::= Identifier -- Program Invocation Name
GetProgramInvocationAttributes_Response ::= SEQUENCE
{
state [0] IMPLICIT ProgramInvocationState,
listOfDomainNames [1] IMPLICIT SEQUENCE OF Identifier,
mmsDeletable [2] IMPLICIT BOOLEAN,
reusable [3] IMPLICIT BOOLEAN,
monitor [4] IMPLICIT BOOLEAN,
startArgument [5] IMPLICIT VisibleString,
executionArgument CHOICE {
simpleString [1] IMPLICIT VisibleString,
encodedString EXTERNAL
} OPTIONAL
}
ProgramInvocationState ::= INTEGER
{
non-existent (0),
unrunable (1),
idle (2),
running (3),
stopped (4),
starting (5),
stopping (6),
resuming (7),
resetting (8)
}
-- Companion Standard may add additional values
-- *********************************** VARIABLES ****************************************
TypeSpecification ::= CHOICE
{
typeName [0] ObjectName,
array [1] IMPLICIT SEQUENCE
{
packed [0] IMPLICIT BOOLEAN DEFAULT FALSE,
numberOfElements [1] IMPLICIT Unsigned32,
elementType [2] TypeSpecification
},
structure [2] IMPLICIT SEQUENCE
{
packed [0] IMPLICIT BOOLEAN DEFAULT FALSE,
components [1] IMPLICIT SEQUENCE OF SEQUENCE
{
componentName [0] IMPLICIT Identifier OPTIONAL,
componentType [1] TypeSpecification
}
},
-- Simple Type
boolean [3] IMPLICIT NULL,
bit-string [4] IMPLICIT Integer32,
integer [5] IMPLICIT Unsigned8,
unsigned [6] IMPLICIT Unsigned8,
octet-string [9] IMPLICIT Integer32,
visible-string [10] IMPLICIT Integer32,
generalized-time [11] IMPLICIT NULL,
binary-time [12] IMPLICIT BOOLEAN,
bcd [13] IMPLICIT Unsigned8,
objId [15] IMPLICIT NULL
}
AlternateAccess ::= SEQUENCE OF CHOICE
{
unnamed AlternateAccessSelection,
named [5] IMPLICIT SEQUENCE
{
componentName [0] IMPLICIT Identifier,
accesst AlternateAccessSelection
}
}
AlternateAccessSelection ::= CHOICE
{
selectAccess CHOICE
{
component [1] IMPLICIT Identifier,
index [2] IMPLICIT Unsigned32,
indexRange [3] IMPLICIT SEQUENCE
{
lowIndex [0] IMPLICIT Unsigned32,
numberOfElements [1] IMPLICIT Unsigned32
},
allElements [4] IMPLICIT NULL -- all array elements
}
}
-- READ
Read_Request ::= SEQUENCE
{
specificationWithResult [0] IMPLICIT BOOLEAN DEFAULT FALSE,
variableAccessSpecification [1] VariableAccessSpecification
}
Read_Response ::= SEQUENCE
{
variableAccessSpecification [0] VariableAccessSpecification OPTIONAL,
listOfAccessResult [1] IMPLICIT SEQUENCE OF AccessResult
}
-- WRITE
Write_Request ::= SEQUENCE
{
variableAccessSpecification VariableAccessSpecification,
listOfData [0] IMPLICIT SEQUENCE OF Data
}
Write_Response ::= SEQUENCE OF CHOICE
{
failure [0] IMPLICIT DataAccessError,
success [1] IMPLICIT NULL
}
-- INFORMATION REPORT
InformationReport ::= SEQUENCE
{
variableAccessSpecification VariableAccessSpecification,
listOfAccessResult [0] IMPLICIT SEQUENCE OF AccessResult
}
-- GET VARIABLE ACCESS ATTRIBUTES
GetVariableAccessAttributes_Request ::= CHOICE
{
name [0] ObjectName,
address [1] Address
}
GetVariableAccessAttributes_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN,
address [1] Address OPTIONAL,
typeSpecification [2] TypeSpecification
}
-- DEFINE NAMED VARIABLE
DefineNamedVariable_Request ::= SEQUENCE
{
variableName [0] ObjectName,
address [1] Address,
typeSpecification [2] TypeSpecification OPTIONAL
}
DefineNamedVariable_Response ::= NULL
-- DEFINE SCATTERED ACCESS
DefineScatteredAccess_Request ::= SEQUENCE
{
scatteredAccessName [0] ObjectName,
scatteredAccessDescription [1] IMPLICIT ScatteredAccessDescription
}
DefineScatteredAccess_Response ::= NULL
-- GET SCATTERED ACCESS ATTRIBUTES
GetScatteredAccessAttributes_Request ::= ObjectName -- ScatteredAccessName
GetScatteredAccessAttributes_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN,
scatteredAccessDescription [1] IMPLICIT ScatteredAccessDescription
}
-- DELETE VARIABLE ACCESS
DeleteVariableAccess_Request ::= SEQUENCE
{
scopeOfDelete [0] IMPLICIT INTEGER
{
specific (0),
aa-specific (1),
domain (2),
vmd (3)
} DEFAULT specific,
listOfName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
domainName [2] IMPLICIT Identifier OPTIONAL
}
DeleteVariableAccess_Response ::= SEQUENCE
{
numberMatched [0] IMPLICIT Unsigned32,
numberDeleted [1] IMPLICIT Unsigned32
}
DeleteVariableAccess_Error ::= Unsigned32 -- numberDeleted
-- DEFINE NAMED VAR. LIST
DefineNamedVariableList_Request ::= SEQUENCE
{
variableListName ObjectName,
listOfVariable [0] IMPLICIT SEQUENCE OF SEQUENCE
{
variableSpecification VariableSpecification,
alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
}
}
DefineNamedVariableList_Response ::= NULL
-- GET NAMED VAR. LIST ATTRIBUTES
GetNamedVariableListAttributes_Request ::= ObjectName -- VariableListName
GetNamedVariableListAttributes_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN,
listOfVariable [1] IMPLICIT SEQUENCE OF SEQUENCE
{
variableSpecification VariableSpecification,
alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
}
}
-- DELETE NAMED VAR. LIST
DeleteNamedVariableList_Request ::= SEQUENCE
{
scopeOfDelete [0] IMPLICIT INTEGER
{
specific (0),
aa-specific (1),
domain (2),
vmd (3)
} DEFAULT specific,
listOfVariableListName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
domainName [2] IMPLICIT Identifier OPTIONAL
}
DeleteNamedVariableList_Response ::= SEQUENCE
{
numberMatched [0] IMPLICIT Unsigned32,
numberDeleted [1] IMPLICIT Unsigned32
}
DeleteNamedVariableList_Error ::= Unsigned32 -- number Deleted
-- DEFINE NAMED TYPE
DefineNamedType_Request ::= SEQUENCE
{
typeName ObjectName,
typeSpecification TypeSpecification
}
DefineNamedType_Response ::= NULL
-- GET NAMED TYPE ATTRIB.
GetNamedTypeAttributes_Request ::= ObjectName -- TypeName
GetNamedTypeAttributes_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN,
typeSpecification TypeSpecification
}
-- DELETE NAMED TYPE
DeleteNamedType_Request ::= SEQUENCE
{
scopeOfDelete [0] IMPLICIT INTEGER
{
specific (0),
aa-specific (1),
domain (2),
vmd (3)
} DEFAULT specific,
listOfTypeName [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
domainName [2] IMPLICIT Identifier OPTIONAL
}
DeleteNamedType_Response ::= SEQUENCE
{
numberMatched [0] IMPLICIT Unsigned32,
numberDeleted [1] IMPLICIT Unsigned32
}
DeleteNamedType_Error ::= Unsigned32 -- number Deleted
-- SUPPORT DEFINITIONS
AccessResult ::= CHOICE
{
failure [0] IMPLICIT DataAccessError,
success Data
}
DataAccessError ::= INTEGER
{
object-invalidated (0),
hardware-fault (1),
temporarily-unavailable (2),
object-access-denied (3),
object-undefined (4),
invalid-address (5),
type-unsupported (6),
type-inconsistent (7),
object-attribute-inconsistent (8),
object-access-unsupported (9),
object-non-existent (10)
}
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,
-- XXX asn2wrs and packet-ber can not handle REAL yet
-- 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
}
FloatingPoint ::= OCTET STRING
VariableAccessSpecification ::= CHOICE
{
listOfVariable [0] IMPLICIT SEQUENCE OF SEQUENCE
{
variableSpecification VariableSpecification,
alternateAccess [5] IMPLICIT AlternateAccess OPTIONAL
},
variableListName [1] ObjectName
}
ScatteredAccessDescription ::= SEQUENCE OF SEQUENCE
{
componentName [0] IMPLICIT Identifier OPTIONAL,
variableSpecification [1] VariableSpecification,
alternateAccess [2] IMPLICIT AlternateAccess OPTIONAL
}
VariableSpecification ::= CHOICE
{
name [0] ObjectName,
address [1] Address,
variableDescription [2] IMPLICIT SEQUENCE
{
address Address,
typeSpecification TypeSpecification
},
scatteredAccessDescription [3] IMPLICIT ScatteredAccessDescription,
invalidated [4] IMPLICIT NULL
}
Address ::= CHOICE
{
numericAddress [0] IMPLICIT Unsigned32,
symbolicAddress [1] IMPLICIT VisibleString,
unconstrainedAddress [2] IMPLICIT OCTET STRING
}
-- ********************************* SEMAPHORES *****************************************
TakeControl_Request ::= SEQUENCE
{
semaphoreName [0] ObjectName,
namedToken [1] IMPLICIT Identifier OPTIONAL,
priority [2] IMPLICIT Priority DEFAULT 64,
acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL,
controlTimeOut [4] IMPLICIT Unsigned32 OPTIONAL,
abortOnTimeOut [5] IMPLICIT BOOLEAN OPTIONAL,
relinquishIfConnectionLost [6] IMPLICIT BOOLEAN DEFAULT TRUE,
applicationToPreempt [7] IMPLICIT ApplicationReference OPTIONAL
}
TakeControl_Response ::= CHOICE
{
noResult [0] IMPLICIT NULL,
namedToken [1] IMPLICIT Identifier
}
-- RELINQUISH CONTROL
RelinquishControl_Request ::= SEQUENCE
{
semaphoreName [0] ObjectName,
namedToken [1] IMPLICIT Identifier OPTIONAL
}
RelinquishControl_Response ::= NULL
-- DEFINE SEMAPHORE
DefineSemaphore_Request ::= SEQUENCE
{
semaphoreName [0] ObjectName,
numbersOfTokens [1] IMPLICIT Unsigned16
}
DefineSemaphore_Response ::= NULL
-- DELETE SEMAPHORE
DeleteSemaphore_Request ::= ObjectName -- Semaphore Name
DeleteSemaphore_Response ::= NULL
-- REPORT SEMAPHORE STATUS
ReportSemaphoreStatus_Request ::= ObjectName -- SemaphoreName
ReportSemaphoreStatus_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN,
class [1] IMPLICIT INTEGER
{
token (0),
pool (1)
},
numberOfTokens [2] IMPLICIT Unsigned16,
numberOfOwnedTokens [3] IMPLICIT Unsigned16,
numberOfHungTokens [4] IMPLICIT Unsigned16
}
-- REPORT POOL SEMAPHORE STATUS
ReportPoolSemaphoreStatus_Request ::= SEQUENCE
{
semaphoreName [0] ObjectName,
nameToStartAfter [1] IMPLICIT Identifier OPTIONAL
}
ReportPoolSemaphoreStatus_Response ::= SEQUENCE
{
listOfNamedTokens [0] IMPLICIT SEQUENCE OF CHOICE
{
freeNamedToken [0] IMPLICIT Identifier,
ownedNamedToken [1] IMPLICIT Identifier,
hungNamedToken [2] IMPLICIT Identifier
},
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
-- REPORT SEMAPHORE ENTRY STATUS
ReportSemaphoreEntryStatus_Request ::=SEQUENCE
{
semaphoreName [0] ObjectName,
state [1] IMPLICIT INTEGER
{
queued (0),
owner (1),
hung (2)
} ,
entryIdToStartAfter [2] IMPLICIT OCTET STRING OPTIONAL
}
ReportSemaphoreEntryStatus_Response ::= SEQUENCE
{
listOfSemaphoreEntry [0] IMPLICIT SEQUENCE OF SemaphoreEntry,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
AttachToSemaphore ::= SEQUENCE
{
semaphoreName [0] ObjectName,
namedToken [1] IMPLICIT Identifier OPTIONAL,
priority [2] IMPLICIT Priority DEFAULT 64,
acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL,
controlTimeOut [4] IMPLICIT Unsigned32 OPTIONAL,
abortOnTimeOut [5] IMPLICIT BOOLEAN OPTIONAL,
relinquishIfConnectionLost [6] IMPLICIT BOOLEAN DEFAULT TRUE
}
SemaphoreEntry ::= SEQUENCE
{
entryId [0] IMPLICIT OCTET STRING,
entryClass [1] IMPLICIT INTEGER
{
simple (0),
modifier (1)
},
applicationReference [2] ApplicationReference,
namedToken [3] IMPLICIT Identifier OPTIONAL,
priority [4] IMPLICIT Priority DEFAULT 64,
remainingTimeOut [5] IMPLICIT Unsigned32 OPTIONAL,
abortOnTimeOut [6] IMPLICIT BOOLEAN OPTIONAL,
relinquishIfConnectionLost [7] IMPLICIT BOOLEAN DEFAULT TRUE
}
--******************************** OPERATOR COMMUNICATION *****************************
-- INPUT
Input_Request ::= SEQUENCE
{
operatorStationName [0] IMPLICIT Identifier,
echo [1] IMPLICIT BOOLEAN DEFAULT TRUE,
listOfPromptData [2] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
inputTimeOut [3] IMPLICIT Unsigned32 OPTIONAL
}
Input_Response ::= VisibleString -- Input String
-- OUTPUT
Output_Request ::= SEQUENCE
{
operatorStationName [0] IMPLICIT Identifier,
listOfOutputData [1] IMPLICIT SEQUENCE OF VisibleString
}
Output_Response ::= NULL
-- ************************************ EVENTS *********************************************
DefineEventCondition_Request ::= SEQUENCE
{
eventConditionName [0] ObjectName,
class [1] IMPLICIT EC-Class,
prio-rity [2] IMPLICIT Priority DEFAULT 64,
severity [3] IMPLICIT Unsigned8 DEFAULT 64,
alarmSummaryReports [4] IMPLICIT BOOLEAN OPTIONAL,
monitoredVariable [6] VariableSpecification OPTIONAL,
evaluationInterval [7] IMPLICIT Unsigned32 OPTIONAL
}
DefineEventCondition_Response ::= NULL
DeleteEventCondition_Request ::= CHOICE
{
specific [0] IMPLICIT SEQUENCE OF ObjectName,
aa-specific [1] IMPLICIT NULL,
domain [2] IMPLICIT Identifier,
vmd [3] IMPLICIT NULL
}
DeleteEventCondition_Response ::= Unsigned32 -- Candidates Not Deleted
GetEventConditionAttributes_Request ::= ObjectName -- Event Condition Name
GetEventConditionAttributes_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN DEFAULT FALSE,
class [1] IMPLICIT EC-Class,
prio-rity [2] IMPLICIT Priority DEFAULT 64,
severity [3] IMPLICIT Unsigned8 DEFAULT 64,
alarmSummaryReports [4] IMPLICIT BOOLEAN DEFAULT FALSE,
monitoredVariable [6] CHOICE
{
variableReference [0] VariableSpecification,
undefined [1] IMPLICIT NULL
} OPTIONAL,
evaluationInterval [7] IMPLICIT Unsigned32 OPTIONAL
}
ReportEventConditionStatus_Request ::= ObjectName -- EventConditionName
ReportEventConditionStatus_Response ::= SEQUENCE
{
currentState [0] IMPLICIT EC-State,
numberOfEventEnrollments [1] IMPLICIT Unsigned32,
enabled [2] IMPLICIT BOOLEAN OPTIONAL,
timeOfLastTransitionToActive [3] EventTime OPTIONAL,
timeOfLastTransitionToIdle [4] EventTime OPTIONAL
}
AlterEventConditionMonitoring_Request ::= SEQUENCE
{
eventConditionName [0] ObjectName,
enabled [1] IMPLICIT BOOLEAN OPTIONAL,
priority [2] IMPLICIT Priority OPTIONAL,
alarmSummaryReports [3] IMPLICIT BOOLEAN OPTIONAL,
evaluationInterval [4] IMPLICIT Unsigned32 OPTIONAL
}
AlterEventConditionMonitoring_Response ::= NULL
TriggerEvent_Request ::= SEQUENCE
{
eventConditionName [0] ObjectName,
priority [1] IMPLICIT Priority OPTIONAL
}
TriggerEvent_Response ::= NULL
DefineEventAction_Request ::= SEQUENCE
{
eventActionName [0] ObjectName,
listOfModifier [1] IMPLICIT SEQUENCE OF Modifier OPTIONAL
-- XXX this one is neither in this ASN nor in the IMPORTS
-- confirmed-Service_Request [2] DefineEventAction-ConfirmedServiceRequest
}
DefineEventAction_Response ::= NULL
DeleteEventAction_Request ::= CHOICE
{
specific [0] IMPLICIT SEQUENCE OF ObjectName,
aa-specific [1] IMPLICIT NULL,
domain [3] IMPLICIT Identifier,
vmd [4] IMPLICIT NULL
}
DeleteEventAction_Response ::= Unsigned32 -- candidates not deleted
GetEventActionAttributes_Request ::= ObjectName -- Event Action Name
GetEventActionAttributes_Response ::= SEQUENCE
{
mmsDeletable [0] IMPLICIT BOOLEAN DEFAULT FALSE,
listOfModifier [1] IMPLICIT SEQUENCE OF Modifier
-- XXX this one is neither in this ASN nor in the IMPORTS
-- confirmed-Service_Request [2] DefineEventAction-ConfirmedServiceRequest
}
ReportEventActionStatus_Request ::= ObjectName -- EventActionName
ReportEventActionStatus_Response ::= Unsigned32 -- Number of Event Enrollments
DefineEventEnrollment_Request ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
eventConditionName [1] ObjectName,
eventConditionTransition [2] IMPLICIT Transitions,
alarmAcknowledgementRule [3] IMPLICIT AlarmAckRule,
eventActionName [4] ObjectName OPTIONAL,
clientApplication [5] ApplicationReference OPTIONAL
}
DefineEventEnrollment_Response ::= NULL
DefineEventEnrollment_Error ::= ObjectName
DeleteEventEnrollment_Request ::= CHOICE
{
specific [0] IMPLICIT SEQUENCE OF ObjectName,
ec [1] ObjectName,
ea [2] ObjectName
}
DeleteEventEnrollment_Response ::= Unsigned32 -- candidates not deleted
GetEventEnrollmentAttributes_Request ::= SEQUENCE
{
scopeOfRequest [0] IMPLICIT INTEGER
{
specific (0),
client (1),
ec (2),
ea (3)
} DEFAULT client,
eventEnrollmentNames [1] IMPLICIT SEQUENCE OF ObjectName OPTIONAL,
clientApplication [2] ApplicationReference OPTIONAL,
eventConditionName [3] ObjectName OPTIONAL,
eventActionName [4] ObjectName OPTIONAL,
continueAfter [5] ObjectName OPTIONAL
}
EventEnrollment ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
eventConditionName [1] CHOICE
{
eventCondition [0] ObjectName,
undefined [1] IMPLICIT NULL
},
eventActionName [2] CHOICE
{
eventAction [0] ObjectName,
undefined [1] IMPLICIT NULL
} OPTIONAL,
clientApplication [3] ApplicationReference OPTIONAL,
mmsDeletable [4] IMPLICIT BOOLEAN DEFAULT FALSE,
enrollmentClass [5] IMPLICIT EE-Class,
duration [6] IMPLICIT EE-Duration DEFAULT current,
invokeID [7] IMPLICIT Unsigned32,
remainingAcceptableDelay [8] IMPLICIT Unsigned32 OPTIONAL
}
GetEventEnrollmentAttributes_Response ::= SEQUENCE
{
listOfEventEnrollment [0] IMPLICIT SEQUENCE OF EventEnrollment,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
}
ReportEventEnrollmentStatus_Request ::= ObjectName -- Event Enrollment Name
ReportEventEnrollmentStatus_Response ::= SEQUENCE
{
eventConditionTransitions [0] IMPLICIT Transitions,
notificationLost [1] IMPLICIT BOOLEAN DEFAULT FALSE,
duration [2] IMPLICIT EE-Duration,
alarmAcknowledgmentRule [3] IMPLICIT AlarmAckRule OPTIONAL,
currentState [4] IMPLICIT EE-State
}
AlterEventEnrollment_Request ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
eventConditionTransitions [1] IMPLICIT Transitions OPTIONAL,
alarmAcknowledgmentRule [2] IMPLICIT AlarmAckRule OPTIONAL
}
AlterEventEnrollment_Response ::= SEQUENCE
{
currentState [0] CHOICE
{
state [0] IMPLICIT EE-State,
undefined [1] IMPLICIT NULL
},
transitionTime [1] EventTime
}
AcknowledgeEventNotification_Request ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
acknowledgedState [2] IMPLICIT EC-State,
timeOfAcknowledgedTransition [3] EventTime
}
AcknowledgeEventNotification_Response ::= NULL
GetAlarmSummary_Request ::= SEQUENCE
{
enrollmentsOnly [0] IMPLICIT BOOLEAN DEFAULT TRUE,
activeAlarmsOnly [1] IMPLICIT BOOLEAN DEFAULT TRUE,
acknowledgmentFilter [2] IMPLICIT INTEGER
{
not-acked (0),
acked (1),
all (2)
} DEFAULT not-acked,
severityFilter [3] IMPLICIT SEQUENCE
{
mostSevere [0] IMPLICIT Unsigned8,
leastSevere [1] IMPLICIT Unsigned8
} OPTIONAL,
continueAfter [5] ObjectName OPTIONAL
}
GetAlarmSummary_Response ::= SEQUENCE
{
listOfAlarmSummary [0] IMPLICIT SEQUENCE OF AlarmSummary,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
}
AlarmSummary ::= SEQUENCE
{
eventConditionName [0] ObjectName,
severity [1] IMPLICIT Unsigned8,
currentState [2] IMPLICIT EC-State,
unacknowledgedState [3] IMPLICIT INTEGER
{
none (0),
active (1),
idle (2),
both (3)
},
timeOfLastTransitionToActive [5] EventTime OPTIONAL,
timeOfLastTransitionToIdle [6] EventTime OPTIONAL
}
GetAlarmEnrollmentSummary_Request ::= SEQUENCE
{
enrollmentsOnly [0] IMPLICIT BOOLEAN DEFAULT TRUE,
activeAlarmsOnly [1] IMPLICIT BOOLEAN DEFAULT TRUE,
acknowledgmentFilter [2] IMPLICIT INTEGER
{
not-acked (0),
acked (1),
all (2)
} DEFAULT not-acked,
severityFilter [3] IMPLICIT SEQUENCE
{
mostSevere [0] IMPLICIT Unsigned8,
leastSevere [1] IMPLICIT Unsigned8
} OPTIONAL,
continueAfter [5] ObjectName OPTIONAL
}
GetAlarmEnrollmentSummary_Response ::= SEQUENCE
{
listOfAlarmEnrollmentSummary [0] IMPLICIT SEQUENCE OF AlarmEnrollmentSummary,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
}
AlarmEnrollmentSummary ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
clientApplication [2] ApplicationReference OPTIONAL,
severity [3] IMPLICIT Unsigned8,
currentState [4] IMPLICIT EC-State,
notificationLost [6] IMPLICIT BOOLEAN DEFAULT FALSE,
alarmAcknowledgmentRule [7] IMPLICIT AlarmAckRule OPTIONAL,
enrollementState [8] IMPLICIT EE-State OPTIONAL,
timeOfLastTransitionToActive [9] EventTime OPTIONAL,
timeActiveAcknowledged [10] EventTime OPTIONAL,
timeOfLastTransitionToIdle [11] EventTime OPTIONAL,
timeIdleAcknowledged [12] EventTime OPTIONAL
}
EventNotification ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
eventConditionName [1] CHOICE
{
eventCondition [0] ObjectName,
undefined [1] IMPLICIT NULL
},
severity [2] IMPLICIT Unsigned8,
currentState [3] IMPLICIT EC-State OPTIONAL,
transitionTime [4] EventTime,
notificationLost [6] IMPLICIT BOOLEAN DEFAULT FALSE,
alarmAcknowledgmentRule [7] IMPLICIT AlarmAckRule OPTIONAL,
actionResult [8] IMPLICIT SEQUENCE
{
eventActioName ObjectName,
eventActionResult CHOICE
{
success [0] ConfirmedServiceResponse,
failure [1] IMPLICIT ServiceError
}
} OPTIONAL
}
AttachToEventCondition ::= SEQUENCE
{
eventEnrollmentName [0] ObjectName,
eventConditionName [1] ObjectName,
causingTransitions [2] IMPLICIT Transitions,
acceptableDelay [3] IMPLICIT Unsigned32 OPTIONAL
}
EventTime ::= CHOICE
{
timeOfDayT [0] IMPLICIT TimeOfDay,
timeSequenceIdentifier [1] IMPLICIT Unsigned32
}
EC-Class ::= INTEGER
{
network-triggered (0),
monitored (1)
}
EC-State ::= INTEGER
{
disabled (0),
idle (1),
active (2)
}
EE-State ::= INTEGER
{
disabled (0),
idle (1),
active (2),
activeNoAckA (3),
idleNoAckI (4),
idleNoAckA (5),
idleAcked (6),
activeAcked (7)
}
Transitions ::= BIT STRING
{
idle-to-disabled (0),
active-to-disabled (1),
disabled-to-idle (2),
active-to-idle (3),
disabled-to-active (4),
idle-to-active (5),
any-to-deleted (6)
}
AlarmAckRule ::= INTEGER
{
none (0),
simple (1),
ack-active (2),
ack-all (3)
}
EE-Class ::= INTEGER
{
modifier (0),
notification (1)
}
EE-Duration ::= INTEGER
{
current (0),
permanent (1)
}
-- ********************************** JOURNAL *******************************************
-- READ JOURNAL
ReadJournal_Request ::= SEQUENCE
{
journalName [0] ObjectName,
rangeStartSpecification [1] CHOICE
{
startingTime [0] IMPLICIT TimeOfDay,
startingEntry [1] IMPLICIT OCTET STRING
} OPTIONAL,
rangeStopSpecification [2] CHOICE
{
endingTime [0] IMPLICIT TimeOfDay,
numberOfEntries [1] IMPLICIT Integer32
} OPTIONAL,
listOfVariables [4] IMPLICIT SEQUENCE OF VisibleString OPTIONAL,
entryToStartAfter [5] IMPLICIT SEQUENCE
{
timeSpecification [0] IMPLICIT TimeOfDay,
entrySpecification [1] IMPLICIT OCTET STRING
}
}
ReadJournal_Response ::= SEQUENCE
{
listOfJournalEntry [0] IMPLICIT SEQUENCE OF JournalEntry,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
}
JournalEntry ::= SEQUENCE
{
entryIdentifier [0] IMPLICIT OCTET STRING,
originatingApplication [1] ApplicationReference,
entryContent [2] IMPLICIT EntryContent
}
-- WRITE JOURNAL
WriteJournal_Request ::= SEQUENCE
{
journalName [0] ObjectName,
listOfJournalEntry [1] IMPLICIT SEQUENCE OF EntryContent
}
WriteJournal_Response ::= NULL
-- INITIALIZE JOURNAL
InitializeJournal_Request ::= SEQUENCE
{
journalName [0] ObjectName,
limitSpecification [1] IMPLICIT SEQUENCE
{
limitingTime [0] IMPLICIT TimeOfDay,
limitingEntry [1] IMPLICIT OCTET STRING OPTIONAL
} OPTIONAL
}
InitializeJournal_Response ::= Unsigned32 -- entries deleted
-- REPORT JOURNAL STATUS
ReportJournalStatus_Request ::= ObjectName -- Journal Name
ReportJournalStatus_Response ::= SEQUENCE
{
currentEntries [0] IMPLICIT Unsigned32,
mmsDeletable [1] IMPLICIT BOOLEAN
}
-- CREATE JOURNAL
CreateJournal_Request ::= SEQUENCE
{
journalName [0] ObjectName
}
CreateJournal_Response ::= NULL
-- DELETE JOURNAL
DeleteJournal_Request ::= SEQUENCE
{
journalName [0] ObjectName
}
DeleteJournal_Response ::= NULL
-- SUPPORTING PRODUCTIONS
EntryContent ::= SEQUENCE
{
occurenceTime [0] IMPLICIT TimeOfDay,
additionalDetail [1] JOU-Additional-Detail OPTIONAL,
-- additionalDetail shall be omitted
-- from abstract syntax defined in this standard
entryForm CHOICE
{
data [2] IMPLICIT SEQUENCE
{
event [0] IMPLICIT SEQUENCE
{
eventConditionName [0] ObjectName,
currentState [1] IMPLICIT EC-State
} OPTIONAL,
listOfVariables [1] IMPLICIT SEQUENCE OF SEQUENCE
{
variableTag [0] IMPLICIT VisibleString,
valueSpecification [1] Data
} OPTIONAL
},
annotation [3] IMPLICIT VisibleString
}
}
JOU-Additional-Detail ::= NULL -- Defined by Companion Standard
-- **************************************** FILES *********************************************
ObtainFile_Request ::= SEQUENCE {
sourceFileServer [0] IMPLICIT ApplicationReference OPTIONAL,
sourceFile [1] IMPLICIT FileName,
destinationFile [2] IMPLICIT FileName
}
ObtainFile_Response ::= NULL
ObtainFile_Error ::= INTEGER {
source-file (0),
destination-file (1)
}
FileOpen_Request ::= SEQUENCE {
fileName [0] IMPLICIT FileName,
initialPosition [1] IMPLICIT Unsigned32
}
FileOpen_Response ::= SEQUENCE {
frsmID [0] IMPLICIT Integer32,
fileAttributes [1] IMPLICIT FileAttributes
}
FileRead_Request ::= Integer32
FileRead_Response ::= SEQUENCE {
fileData [0] IMPLICIT OCTET STRING,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT TRUE
}
FileClose_Request ::= Integer32
FileClose_Response ::= NULL
FileRename_Request ::= SEQUENCE {
currentFileName [0] IMPLICIT FileName,
newFileName [1] IMPLICIT FileName
}
FileRename_Response ::= NULL
FileRename_Error ::= INTEGER {
source-file (0),
destination-file (1)
}
FileDelete_Request ::= FileName
FileDelete_Response ::= NULL
FileDirectory_Request ::= SEQUENCE {
fileSpecification [0] IMPLICIT FileName OPTIONAL,
continueAfter [1] IMPLICIT FileName OPTIONAL
}
FileDirectory_Response ::= SEQUENCE {
listOfDirectoryEntry [0] SEQUENCE OF DirectoryEntry,
moreFollows [1] IMPLICIT BOOLEAN DEFAULT FALSE
}
DirectoryEntry ::= SEQUENCE {
filename [0] IMPLICIT FileName,
fileAttributes [1] IMPLICIT FileAttributes
}
FileAttributes ::= SEQUENCE {
sizeOfFile [0] IMPLICIT Unsigned32,
lastModified [1] IMPLICIT GeneralizedTime OPTIONAL
}
END