1Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)} 2DEFINITIONS IMPLICIT TAGS ::= 3BEGIN 4 5-- exports everything 6 7IMPORTS OPERATION, ERROR 8FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}; 9 10 11ROS {InvokeId:InvokeIdSet,OPERATION:Invokable,OPERATION:Returnable} ::= CHOICE 12 { 13 invoke [1] Invoke {{InvokeIdSet}, {Invokable}}, 14 returnResult [2] ReturnResult {{Returnable}}, 15 returnError [3] ReturnError {{Errors{{Returnable}}}}, 16 reject [4] Reject 17 } 18(CONSTRAINED BY {-- must conform to the above definition --} 19 ! RejectProblem : general-unrecognizedPDU) 20 21Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE 22{ 23 invokeId InvokeId (InvokeIdSet) 24 (CONSTRAINED BY {-- must be unambiguous --} 25 ! RejectProblem : invoke-duplicateInvocation), 26 linkedId CHOICE { 27 present [0] IMPLICIT present < InvokeId, 28 absent [1] IMPLICIT NULL 29 } 30 (CONSTRAINED BY {-- must identify an outstanding operation --} 31 ! RejectProblem : invoke-unrecognizedLinkedId) 32 (CONSTRAINED BY {-- which has one or more linked operations--} 33 ! RejectProblem : invoke-linkedResponseUnexpected) 34 OPTIONAL, 35 opcode OPERATION.&operationCode 36 ({Operations} 37 ! RejectProblem : invoke-unrecognizedOperation), 38 argument OPERATION.&ArgumentType 39 ({Operations} {@opcode} 40 ! RejectProblem : invoke-mistypedArgument) 41 OPTIONAL 42 } 43(CONSTRAINED BY {-- must conform to the above definition --} 44 ! RejectProblem : general-mistypedPDU) 45( 46WITH COMPONENTS 47{..., 48 linkedId ABSENT 49 } 50| WITH COMPONENTS 51{..., 52 linkedId PRESENT, 53 opcode 54 (CONSTRAINED BY {-- must be in the &Linked field of the associated operation -- 55 } 56 ! RejectProblem : invoke-unexpectedLinkedOperation) 57 } 58) 59 60ReturnResult {OPERATION:Operations}::= SEQUENCE 61{ 62 invokeId InvokeId 63 (CONSTRAINED BY {-- must be that for an outstanding operation --} 64 ! RejectProblem:returnResult-unrecognizedInvocation) 65 (CONSTRAINED BY {-- which returns a result --} 66 ! RejectProblem:returnResult-resultResponseUnexpected), 67 result SEQUENCE 68 { 69 opcode OPERATION.&operationCode 70 ({Operations})(CONSTRAINED BY {-- identified by invokeId --} 71 ! RejectProblem:returnResult-unrecognizedInvocation), 72 result OPERATION.&ResultType ({Operations} {@.opcode} 73 ! RejectProblem:returnResult-mistypedResult) 74 } 75 OPTIONAL 76 } 77(CONSTRAINED BY {-- must conform to the above definition -- 78 } 79! RejectProblem:general-mistypedPDU) 80 81ReturnError {ERROR:Errors} ::= SEQUENCE 82{ 83 invokeId InvokeId 84 (CONSTRAINED BY {-- must be that for an outstanding operation -- 85 } 86 ! RejectProblem : returnError-unrecognizedInvocation) 87 (CONSTRAINED BY {-- which returns an error -- 88 } 89 ! RejectProblem : returnError-errorResponseUnexpected), 90 errcode ERROR.&errorCode 91 ({Errors} 92 ! RejectProblem : returnError-unrecognizedError) 93 (CONSTRAINED BY {-- must be in the &Errors field of the associated operation -- 94 } 95 ! RejectProblem : returnError-unexpectedError), 96 parameter ERROR.&ParameterType 97 ({Errors}{@errcode} 98 ! RejectProblem : returnError-mistypedParameter) OPTIONAL 99 } 100(CONSTRAINED BY {-- must conform to the above definition -- 101 } 102! RejectProblem : general-mistypedPDU) 103 104Reject ::= SEQUENCE 105{ 106 invokeId InvokeId, 107 problem CHOICE 108 { 109 general [0] GeneralProblem, 110 invoke [1] InvokeProblem, 111 returnResult [2] ReturnResultProblem, 112 returnError [3] ReturnErrorProblem 113 } 114 } 115(CONSTRAINED BY {-- must conform to the above definition -- 116 } 117! RejectProblem : general-mistypedPDU) 118 119GeneralProblem ::= INTEGER 120{ 121 unrecognizedPDU (0), 122 mistypedPDU (1), 123 badlyStructuredPDU (2) 124 } 125 126InvokeProblem ::= INTEGER 127{ 128 duplicateInvocation (0), 129 unrecognizedOperation (1), 130 mistypedArgument (2), 131 resourceLimitation (3), 132 releaseInProgress (4), 133 unrecognizedLinkedId (5), 134 linkedResponseUnexpected (6), 135 unexpectedLinkedOperation (7) 136 } 137 138ReturnResultProblem ::= INTEGER 139{ 140 unrecognizedInvocation (0), 141 resultResponseUnexpected (1), 142 mistypedResult (2) 143 } 144 145ReturnErrorProblem ::= INTEGER 146{ 147 unrecognizedInvocation (0), 148 errorResponseUnexpected (1), 149 unrecognizedError (2), 150 unexpectedError (3), 151 mistypedParameter (4) 152 } 153 154RejectProblem ::= INTEGER 155{ 156 general-unrecognizedPDU (0), 157 general-mistypedPDU (1), 158 general-badlyStructuredPDU (2), 159 invoke-duplicateInvocation (10), 160 invoke-unrecognizedOperation (11), 161 invoke-mistypedArgument (12), 162 invoke-resourceLimitation (13), 163 invoke-releaseInProgress (14), 164 invoke-unrecognizedLinkedId (15), 165 invoke-linkedResponseUnexpected (16), 166 invoke-unexpectedLinkedOperation (17), 167 returnResult-unrecognizedInvocation (20), 168 returnResult-resultResponseUnexpected (21), 169 returnResult-mistypedResult (22), 170 returnError-unrecognizedInvocation (30), 171 returnError-errorResponseUnexpected (31), 172 returnError-unrecognizedError (32), 173 returnError-unexpectedError (33), 174 returnError-mistypedParameter (34) 175 } 176 177InvokeId ::= CHOICE 178{ 179 present INTEGER, 180 absent NULL 181 } 182 183noInvokeId InvokeId ::= absent:NULL 184 185NoInvokeId InvokeId ::= {noInvokeId} 186 187Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors} 188 189Bind {OPERATION:operation} ::= CHOICE 190{ 191 bind-invoke [16] OPERATION.&ArgumentType({operation}), 192 bind-result [17] OPERATION.&ResultType ({operation}), 193 bind-error [18] OPERATION.&Errors.&ParameterType ({operation}) 194 } 195 196Unbind {OPERATION:operation} ::= CHOICE 197{ 198 unbind-invoke [19] OPERATION.&ArgumentType({operation}), 199 unbind-result [20] OPERATION.&ResultType ({operation}), 200 unbind-error [21] OPERATION.&Errors.&ParameterType ({operation}) 201 } 202 203END -- end of generic ROS PDU definitions 204