Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)} DEFINITIONS IMPLICIT TAGS ::= BEGIN -- exports everything IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}; ROS ::= CHOICE { invoke [1] Invoke, returnResult [2] ReturnResult, returnError [3] ReturnError, reject [4] Reject } Invoke ::= SEQUENCE { invokeId InvokeId, linkedId CHOICE { present [0] IMPLICIT present < InvokeId, absent [1] IMPLICIT NULL } OPTIONAL, opcode OPERATION.&operationCode, argument OPERATION.&ArgumentType OPTIONAL } ( WITH COMPONENTS {..., linkedId ABSENT } | WITH COMPONENTS {..., linkedId PRESENT, opcode } ) ReturnResult ::= SEQUENCE { invokeId InvokeId, result SEQUENCE { opcode OPERATION.&operationCode, result OPERATION.&ResultType } OPTIONAL } ReturnError ::= SEQUENCE { invokeId InvokeId, errcode ERROR.&errorCode, parameter ERROR.&ParameterType OPTIONAL } Reject ::= SEQUENCE { invokeId InvokeId, problem CHOICE { general [0] GeneralProblem, invoke [1] InvokeProblem, returnResult [2] ReturnResultProblem, returnError [3] ReturnErrorProblem } } GeneralProblem ::= INTEGER { unrecognisedPDU (0), mistypedPDU (1), badlyStructuredPDU (2) } InvokeProblem ::= INTEGER { duplicateInvocation (0), unrecognisedOperation (1), mistypedArgument (2), resourceLimitation (3), releaseInProgress (4), unrecognisedLinkedId (5), linkedResponseUnexpected (6), unexpectedLinkedOperation (7) } ReturnResultProblem ::= INTEGER { unrecognisedInvocation (0), resultResponseUnexpected (1), mistypedResult (2) } ReturnErrorProblem ::= INTEGER { unrecognisedInvocation (0), errorResponseUnexpected (1), unrecognisedError (2), unexpectedError (3), mistypedParameter (4) } RejectProblem ::= INTEGER { general-unrecognisedPDU (0), general-mistypedPDU (1), general-badlyStructuredPDU (2), invoke-duplicateInvocation (10), invoke-unrecognisedOperation (11), invoke-mistypedArgument (12), invoke-resourceLimitation (13), invoke-releaseInProgress (14), invoke-unrecognisedLinkedId (15), invoke-linkedResponseUnexpected (16), invoke-unexpectedLinkedOperation (17), returnResult-unrecognisedInvocation (20), returnResult-resultResponseUnexpected (21), returnResult-mistypedResult (22), returnError-unrecognisedInvocation (30), returnError-errorResponseUnexpected (31), returnError-unrecognisedError (32), returnError-unexpectedError (33), returnError-mistypedParameter (34) } InvokeId ::= CHOICE { present INTEGER, absent NULL } noInvokeId InvokeId ::= absent:NULL NoInvokeId InvokeId ::= {noInvokeId} Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors} Bind {OPERATION:operation} ::= CHOICE { bind-invoke [16] OPERATION.&ArgumentType({operation}), bind-result [17] OPERATION.&ResultType ({operation}), bind-error [18] OPERATION.&Errors.&ParameterType ({operation}) } Unbind {OPERATION:operation} ::= CHOICE { unbind-invoke [19] OPERATION.&ArgumentType({operation}), unbind-result [20] OPERATION.&ResultType ({operation}), unbind-error [21] OPERATION.&Errors.&ParameterType ({operation}) } END -- end of generic ROS PDU definitions