From 18bd1239bee04427340a44f57f993ea92c264e41 Mon Sep 17 00:00:00 2001 From: Kenneth Lundin Date: Fri, 19 Feb 2010 14:01:57 +0000 Subject: OTP-8463 Support for EXTENSIBILITY IMPLIED and SET/SEQ OF NamedType is added. --- .../Remote-Operations-Useful-Definitions.asn1 | 149 +++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 lib/asn1/test/asn1_SUITE_data/Remote-Operations-Useful-Definitions.asn1 (limited to 'lib/asn1/test/asn1_SUITE_data/Remote-Operations-Useful-Definitions.asn1') diff --git a/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Useful-Definitions.asn1 b/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Useful-Definitions.asn1 new file mode 100644 index 0000000000..989c23dd5f --- /dev/null +++ b/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Useful-Definitions.asn1 @@ -0,0 +1,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. -- cgit v1.2.3