pycrate/pycrate_asn1dir/3GPP_SS_24080-g10/Remote-Operations-Informati...

137 lines
3.6 KiB
Groff

-- **************************************************************
--
-- Remote-Operations-Information-Objects
--
-- **************************************************************
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)
-- addition from Remote-Operations-Useful-Definitions
-- this avoids circular IMPORTS
refuse ERROR ::= {CODE local:-1}
emptyBind OPERATION ::= {ERRORS {refuse}
SYNCHRONOUS TRUE
}
emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE
}
END