summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDimitri Sokolyuk <quax@moccu.com>2015-10-23 17:02:50 +0200
committerDimitri Sokolyuk <quax@moccu.com>2015-10-23 17:02:50 +0200
commit433d3dcffb0ec6f0e9f54e4f747cb78d052d56b8 (patch)
treeae10c4ad9daa7797c1ec11f395f6a2150f6838b1 /lib
parentea6feea9b530a4c9419cad77d268b1649ec0f0f9 (diff)
Resort files
Diffstat (limited to 'lib')
-rw-r--r--lib/Remote-Operations-Generic-ROS-PDUs.asn1134
-rw-r--r--lib/Remote-Operations-Information-Objects.asn1117
-rw-r--r--lib/Remote-Operations-Useful-Definitions.asn177
3 files changed, 328 insertions, 0 deletions
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,
+ &parameterTypeOptional BOOLEAN OPTIONAL,
+ &ErrorPriority Priority OPTIONAL,
+ &errorCode Code UNIQUE OPTIONAL
+}
+WITH SYNTAX
+{
+ [PARAMETER &ParameterType [OPTIONAL &parameterTypeOptional]]
+ [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.