aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
diff options
context:
space:
mode:
Diffstat (limited to 'lib/asn1/test/asn1_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1')
-rw-r--r--lib/asn1/test/asn1_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1203
1 files changed, 203 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1 b/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
new file mode 100644
index 0000000000..7dcf4fda0e
--- /dev/null
+++ b/lib/asn1/test/asn1_SUITE_data/Remote-Operations-Generic-ROS-PDUs.asn1
@@ -0,0 +1,203 @@
+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 {InvokeId:InvokeIdSet,OPERATION:Invokable,OPERATION:Returnable} ::= CHOICE
+ {
+ invoke [1] Invoke {{InvokeIdSet}, {Invokable}},
+ returnResult [2] ReturnResult {{Returnable}},
+ returnError [3] ReturnError {{Errors{{Returnable}}}},
+ reject [4] Reject
+ }
+(CONSTRAINED BY {-- must conform to the above definition --}
+ ! RejectProblem : general-unrecognizedPDU)
+
+Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE
+{
+ invokeId InvokeId (InvokeIdSet)
+ (CONSTRAINED BY {-- must be unambiguous --}
+ ! RejectProblem : invoke-duplicateInvocation),
+ linkedId CHOICE {
+ present [0] IMPLICIT present < InvokeId,
+ absent [1] IMPLICIT NULL
+ }
+ (CONSTRAINED BY {-- must identify an outstanding operation --}
+ ! RejectProblem : invoke-unrecognizedLinkedId)
+ (CONSTRAINED BY {-- which has one or more linked operations--}
+ ! RejectProblem : invoke-linkedResponseUnexpected)
+ OPTIONAL,
+ opcode OPERATION.&operationCode
+ ({Operations}
+ ! RejectProblem : invoke-unrecognizedOperation),
+ argument OPERATION.&ArgumentType
+ ({Operations} {@opcode}
+ ! RejectProblem : invoke-mistypedArgument)
+ OPTIONAL
+ }
+(CONSTRAINED BY {-- must conform to the above definition --}
+ ! RejectProblem : general-mistypedPDU)
+(
+WITH COMPONENTS
+{...,
+ linkedId ABSENT
+ }
+| WITH COMPONENTS
+{...,
+ linkedId PRESENT,
+ opcode
+ (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --
+ }
+ ! RejectProblem : invoke-unexpectedLinkedOperation)
+ }
+)
+
+ReturnResult {OPERATION:Operations}::= SEQUENCE
+{
+ invokeId InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation --}
+ ! RejectProblem:returnResult-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns a result --}
+ ! RejectProblem:returnResult-resultResponseUnexpected),
+ result SEQUENCE
+ {
+ opcode OPERATION.&operationCode
+ ({Operations})(CONSTRAINED BY {-- identified by invokeId --}
+ ! RejectProblem:returnResult-unrecognizedInvocation),
+ result OPERATION.&ResultType ({Operations} {@.opcode}
+ ! RejectProblem:returnResult-mistypedResult)
+ }
+ OPTIONAL
+ }
+(CONSTRAINED BY {-- must conform to the above definition --
+ }
+! RejectProblem:general-mistypedPDU)
+
+ReturnError {ERROR:Errors} ::= SEQUENCE
+{
+ invokeId InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation --
+ }
+ ! RejectProblem : returnError-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns an error --
+ }
+ ! RejectProblem : returnError-errorResponseUnexpected),
+ errcode ERROR.&errorCode
+ ({Errors}
+ ! RejectProblem : returnError-unrecognizedError)
+ (CONSTRAINED BY {-- must be in the &Errors field of the associated operation --
+ }
+ ! RejectProblem : returnError-unexpectedError),
+ parameter ERROR.&ParameterType
+ ({Errors}{@errcode}
+ ! RejectProblem : returnError-mistypedParameter) OPTIONAL
+ }
+(CONSTRAINED BY {-- must conform to the above definition --
+ }
+! RejectProblem : general-mistypedPDU)
+
+Reject ::= SEQUENCE
+{
+ invokeId InvokeId,
+ problem CHOICE
+ {
+ general [0] GeneralProblem,
+ invoke [1] InvokeProblem,
+ returnResult [2] ReturnResultProblem,
+ returnError [3] ReturnErrorProblem
+ }
+ }
+(CONSTRAINED BY {-- must conform to the above definition --
+ }
+! RejectProblem : general-mistypedPDU)
+
+GeneralProblem ::= INTEGER
+{
+ unrecognizedPDU (0),
+ mistypedPDU (1),
+ badlyStructuredPDU (2)
+ }
+
+InvokeProblem ::= INTEGER
+{
+ duplicateInvocation (0),
+ unrecognizedOperation (1),
+ mistypedArgument (2),
+ resourceLimitation (3),
+ releaseInProgress (4),
+ unrecognizedLinkedId (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7)
+ }
+
+ReturnResultProblem ::= INTEGER
+{
+ unrecognizedInvocation (0),
+ resultResponseUnexpected (1),
+ mistypedResult (2)
+ }
+
+ReturnErrorProblem ::= INTEGER
+{
+ unrecognizedInvocation (0),
+ errorResponseUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4)
+ }
+
+RejectProblem ::= INTEGER
+{
+ general-unrecognizedPDU (0),
+ general-mistypedPDU (1),
+ general-badlyStructuredPDU (2),
+ invoke-duplicateInvocation (10),
+ invoke-unrecognizedOperation (11),
+ invoke-mistypedArgument (12),
+ invoke-resourceLimitation (13),
+ invoke-releaseInProgress (14),
+ invoke-unrecognizedLinkedId (15),
+ invoke-linkedResponseUnexpected (16),
+ invoke-unexpectedLinkedOperation (17),
+ returnResult-unrecognizedInvocation (20),
+ returnResult-resultResponseUnexpected (21),
+ returnResult-mistypedResult (22),
+ returnError-unrecognizedInvocation (30),
+ returnError-errorResponseUnexpected (31),
+ returnError-unrecognizedError (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