1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
|
Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) useful-definitions(7) version2(1)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- exports everything
IMPORTS
OPERATION, ERROR, OPERATION-PACKAGE, Code
FROM Remote-Operations-Information-Objects
{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}
InvokeId, ROS{}
FROM Remote-Operations-Generic-ROS-PDUs
{joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)};
emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE}
emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE }
refuse ERROR ::= {CODE local:-1}
no-op OPERATION ::=
{
IDEMPOTENT TRUE
ALWAYS RESPONDS FALSE
CODE local:-1
}
Forward {OPERATION:OperationSet} OPERATION ::=
{
OperationSet |
OperationSet.&Linked.&Linked |
OperationSet.&Linked.&Linked.&Linked.&Linked
}
Reverse {OPERATION:OperationSet} OPERATION ::=
{Forward{{OperationSet.&Linked}}}
ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::=
{
Forward{{package.&Consumer}} |
Forward{{package.&Both}} |
Reverse{{package.&Supplier}} |
Reverse{{package.&Both}}
}
SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::=
{
Forward{{package.&Supplier}} |
Forward{{package.&Both}} |
Reverse{{package.&Consumer}} |
Reverse{{package.&Both}}
}
AllOperations {OPERATION-PACKAGE:package} OPERATION ::=
{
ConsumerPerforms {package} |
SupplierPerforms {package}
}
recode {OPERATION:operation, Code:code} OPERATION ::=
{
ARGUMENT operation.&ArgumentType
OPTIONAL operation.&argumentTypeOptional
RESULT operation.&ResultType
OPTIONAL operation.&resultTypeOptional
RETURN RESULT operation.&returnResult
ERRORS {operation.&Errors}
LINKED {operation.&Linked}
SYNCHRONOUS operation.&synchronous
ALWAYS RESPONDS operation.&alwaysReturns
INVOKE PRIORITY {operation.&InvokePriority}
RESULT-PRIORITY {operation.&ResultPriority}
CODE code
}
switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::=
{
OPERATIONS {package.&Both}
CONSUMER INVOKES {package.&Consumer}
SUPPLIER INVOKES {package.&Supplier}
ID id
}
combine {OPERATION-PACKAGE:ConsumerConsumes,OPERATION-PACKAGE:ConsumerSupplies,
OPERATION-PACKAGE:base
} OPERATION-PACKAGE ::=
{
OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both}
CONSUMER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier}
SUPPLIER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer}
ID base.&id
}
ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
{{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}}
ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
{{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}}
ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= ROS
{{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}}
probe OPERATION ::=
{
ARGUMENT SEQUENCE
{
invokeId [0] InvokeId
}
RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
IDEMPOTENT TRUE
CODE local:-2
}
acknowledge OPERATION ::=
{
ARGUMENT InvokeId
RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
IDEMPOTENT TRUE
CODE local:-3
}
ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
cancel OPERATION ::=
{
ARGUMENT InvokeId
ERRORS {cancelFailed}
IDEMPOTENT TRUE
CODE local:-4
}
cancelFailed ERROR ::=
{
PARAMETER SET
{
problem [0] CancelProblem,
operation [1] InvokeId
}
CODE local:-2
}
CancelProblem ::= ENUMERATED
{unknownOperation(0), tooLate(1), operationNotCancellable(2), ...}
cancelled ERROR ::= {CODE local:-3}
END -- end of useful definitions.
|