From 433d3dcffb0ec6f0e9f54e4f747cb78d052d56b8 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 23 Oct 2015 17:02:50 +0200 Subject: Resort files --- lib/Remote-Operations-Generic-ROS-PDUs.asn1 | 134 +++++++++++++++++++++++++ lib/Remote-Operations-Information-Objects.asn1 | 117 +++++++++++++++++++++ lib/Remote-Operations-Useful-Definitions.asn1 | 77 ++++++++++++++ 3 files changed, 328 insertions(+) create mode 100644 lib/Remote-Operations-Generic-ROS-PDUs.asn1 create mode 100644 lib/Remote-Operations-Information-Objects.asn1 create mode 100644 lib/Remote-Operations-Useful-Definitions.asn1 (limited to 'lib') diff --git a/lib/Remote-Operations-Generic-ROS-PDUs.asn1 b/lib/Remote-Operations-Generic-ROS-PDUs.asn1 new file mode 100644 index 0000000..f854b0a --- /dev/null +++ b/lib/Remote-Operations-Generic-ROS-PDUs.asn1 @@ -0,0 +1,134 @@ +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 diff --git a/lib/Remote-Operations-Information-Objects.asn1 b/lib/Remote-Operations-Information-Objects.asn1 new file mode 100644 index 0000000..5414b32 --- /dev/null +++ b/lib/Remote-Operations-Information-Objects.asn1 @@ -0,0 +1,117 @@ +Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} +DEFINITIONS ::= +BEGIN +-- exports everything +IMPORTS emptyBind, emptyUnbind FROM Remote-Operations-Useful-Definitions{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)}; +OPERATION ::= CLASS +{ + &ArgumentType OPTIONAL, + &argumentTypeOptional BOOLEAN OPTIONAL, + &returnResult BOOLEAN DEFAULT TRUE, + &ResultType OPTIONAL, + &resultTypeOptional BOOLEAN OPTIONAL, + &Errors ERROR OPTIONAL, + &Linked OPERATION OPTIONAL, + &synchronous BOOLEAN DEFAULT FALSE, + &alwaysReturns BOOLEAN DEFAULT TRUE, + &InvokePriority Priority OPTIONAL, + &ResultPriority Priority OPTIONAL, + &operationCode Code UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]] + [RESULT &ResultType [OPTIONAL &resultTypeOptional]] + [RETURN RESULT &returnResult] + [ERRORS &Errors] + [LINKED &Linked] + [SYNCHRONOUS &synchronous] + [ALWAYS RESPONDS &alwaysReturns] + [INVOKE PRIORITY &InvokePriority] + [RESULT-PRIORITY &ResultPriority] + [CODE &operationCode] +} +ERROR ::= CLASS +{ + &ParameterType OPTIONAL, + ¶meterTypeOptional BOOLEAN OPTIONAL, + &ErrorPriority Priority OPTIONAL, + &errorCode Code UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [PARAMETER &ParameterType [OPTIONAL ¶meterTypeOptional]] + [PRIORITY &ErrorPriority] + [CODE &errorCode] +} + +OPERATION-PACKAGE ::= CLASS +{ + &Both OPERATION OPTIONAL, + &Consumer OPERATION OPTIONAL, + &Supplier OPERATION OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [OPERATIONS &Both] + [CONSUMER INVOKES &Supplier] + [SUPPLIER INVOKES &Consumer] + [ID &id] +} +CONNECTION-PACKAGE ::= CLASS +{ + &bind OPERATION DEFAULT emptyBind, + &unbind OPERATION DEFAULT emptyUnbind, + &responderCanUnbind BOOLEAN DEFAULT FALSE, + &unbindCanFail BOOLEAN DEFAULT FALSE, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [BIND &bind] + [UNBIND &unbind] + [RESPONDER UNBIND &responderCanUnbind] + [FAILURE TO UNBIND &unbindCanFail] + [ID &id] +} +CONTRACT ::= CLASS +{ + &connection CONNECTION-PACKAGE OPTIONAL, + &OperationsOf OPERATION-PACKAGE OPTIONAL, + &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL, + &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [CONNECTION &connection] + [OPERATIONS OF &OperationsOf] + [INITIATOR CONSUMER OF &InitiatorConsumerOf] + [RESPONDER CONSUMER OF &InitiatorSupplierOf] + [ID &id] +} + +ROS-OBJECT-CLASS ::= CLASS +{ + &Is ROS-OBJECT-CLASS OPTIONAL, + &Initiates CONTRACT OPTIONAL, + &Responds CONTRACT OPTIONAL, + &InitiatesAndResponds CONTRACT OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX +{ + [IS &Is] + [BOTH &InitiatesAndResponds] + [INITIATES &Initiates] + [RESPONDS &Responds] + ID &id +} +Code ::= CHOICE +{ + local INTEGER, + global OBJECT IDENTIFIER +} +Priority ::= INTEGER (0..MAX) +END -- end of Information Object specifications diff --git a/lib/Remote-Operations-Useful-Definitions.asn1 b/lib/Remote-Operations-Useful-Definitions.asn1 new file mode 100644 index 0000000..fe1160a --- /dev/null +++ b/lib/Remote-Operations-Useful-Definitions.asn1 @@ -0,0 +1,77 @@ +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} +} +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.&Supplier} + SUPPLIER INVOKES {package.&Consumer} + ID id +} +combine {OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= +{ + OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} + CONSUMER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} + SUPPLIER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} + 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