From 31cd25a7dd51f9cb8676370fadf630cf4c81c93b Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 23 Oct 2015 10:18:38 +0200 Subject: Initial import --- rose/Remote-Operations-Useful-Definitions.asn1 | 93 ++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 rose/Remote-Operations-Useful-Definitions.asn1 (limited to 'rose/Remote-Operations-Useful-Definitions.asn1') diff --git a/rose/Remote-Operations-Useful-Definitions.asn1 b/rose/Remote-Operations-Useful-Definitions.asn1 new file mode 100644 index 0000000..e4430ce --- /dev/null +++ b/rose/Remote-Operations-Useful-Definitions.asn1 @@ -0,0 +1,93 @@ +Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) + useful-definitions(7) version1(0)} 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 ::= {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}} + +-- continued on the next page +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}}} + +END -- end of useful definitions. -- cgit v1.2.3