diff options
author | Björn Gustavsson <[email protected]> | 2015-01-12 12:25:52 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-01-12 12:25:52 +0100 |
commit | 8ee2d5f59f0e3ceee6895b5af41e563a29a22be2 (patch) | |
tree | e6a25247f76d72cefaacbce0d5affc1033e7adb0 /lib/asn1/test/asn1_SUITE_data/rfcs/DirectoryInformationShadowProtocol.asn1 | |
parent | 71b35f78c12f31ae33cf51fd948c22483c77ff7c (diff) | |
parent | 17ec629959088f0b213a5559ab2e793e9ec0f124 (diff) | |
download | otp-8ee2d5f59f0e3ceee6895b5af41e563a29a22be2.tar.gz otp-8ee2d5f59f0e3ceee6895b5af41e563a29a22be2.tar.bz2 otp-8ee2d5f59f0e3ceee6895b5af41e563a29a22be2.zip |
Merge branch 'bjorn/asn1/rfc-5912/OTP-12395'
* bjorn/asn1/rfc-5912/OTP-12395: (79 commits)
Remove the old unused yecc-based parser
Improve error handling for illegal object definitions
Reimplement storeindb/2 to avoid excessive process communication
Remove useless fields in #state{}
Remove vestiges of obsolete {TypeName,Value} notation
Remove old error handling
Modernize the remaining cases
Further improve error handling for instatiation of parameterized types
asn1ct_tok: Clean up
Add a test case for EXTENSIBILITY IMPLIED
asn1ct_parser2: Remove expensive lookahead_assignment/1 function
asn1ct_parser2: Clean up error handling and reporting
asn1ct, asn1ct_parser2: Refactor the upper levels of error handling
asn1ct_parser2: Eliminate all uses of old-style 'catch'
asn1ct_parser2: Clean up parse_or/3 and parse_or_tag/3
asn1ct_parser2: Correct extraction of line number from token
asn1ct_parser2: Throw an {asn1_error,...} for *all* parse errors
asn1ct_parser2: Simplify parse_Type/1
asn1ct_parser2: Remove unsuccessful parsing of ValueSetFromObjects
Move checking of UNIQUE & DEFAULT error to asn1ct_check
...
Diffstat (limited to 'lib/asn1/test/asn1_SUITE_data/rfcs/DirectoryInformationShadowProtocol.asn1')
-rw-r--r-- | lib/asn1/test/asn1_SUITE_data/rfcs/DirectoryInformationShadowProtocol.asn1 | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/rfcs/DirectoryInformationShadowProtocol.asn1 b/lib/asn1/test/asn1_SUITE_data/rfcs/DirectoryInformationShadowProtocol.asn1 new file mode 100644 index 0000000000..91c0a865f7 --- /dev/null +++ b/lib/asn1/test/asn1_SUITE_data/rfcs/DirectoryInformationShadowProtocol.asn1 @@ -0,0 +1,246 @@ +-- Module DirectoryInformationShadowProtocol (X.519 TC2:08/1997) + +DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1) disp(16) 3} +DEFINITIONS ::= +BEGIN + +-- EXPORTS All +-- The types and values defined in this module are exported for use in the other ASN.1 modules contained +-- within the Directory Specifications, and for the use of other applications which will use them to access +-- Directory services. Other applications may use them for their own purposes, but this will not constrain +-- extensions and modifications needed to maintain or improve the Directory service. +IMPORTS + directoryShadowAbstractService, protocolObjectIdentifiers + FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) + usefulDefinitions(0) 3} + ROS-OBJECT-CLASS, CONTRACT, OPERATION-PACKAGE, CONNECTION-PACKAGE, + Code, OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + ROS{}, Bind{}, Unbind{}, InvokeId + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + APPLICATION-CONTEXT + FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t + remote-operations(4) informationObjects-extensions(8) version1(0)} + acse, pData, association-by-RTSE, transfer-by-RTSE + FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4) + realizations(9) version1(0)} + acse-abstract-syntax + FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t + remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)} + id-ac-shadowSupplierInitiatedAC, id-ac-shadowSupplierInitiatedAsynchronousAC, + id-ac-shadowConsumerInitiatedAC, + id-ac-shadowConsumerInitiatedAsynchronousAC, + id-ac-reliableShadowSupplierInitiatedAC, + id-ac-reliableShadowConsumerInitiatedAC, + id-rosObject-initiatingConsumerDSA, id-rosObject-respondingSupplierDSA, + id-rosObject-initiatingSupplierDSA, id-rosObject-respondingConsumerDSA, + id-contract-shadowConsumer, id-contract-shadowSupplier, + id-package-dispConnection, id-package-shadowConsumer, + id-package-shadowSupplier, id-as-directoryShadowAS, + id-as-directoryReliableShadowAS, id-as-reliableShadowBindingAS + FROM ProtocolObjectIdentifiers protocolObjectIdentifiers + dSAShadowBind, dSAShadowUnbind, requestShadowUpdate, updateShadow, + coordinateShadowUpdate + FROM DirectoryShadowAbstractService directoryShadowAbstractService + RTORQapdu, RTOACapdu, RTORJapdu + FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) apdus(0)}; + +RTSE-apdus ::= CHOICE { + rtorq-apdu [16] IMPLICIT RTORQapdu, + rtoac-apdu [17] IMPLICIT RTOACapdu, + rtorj-apdu [18] IMPLICIT RTORJapdu, + rttp-apdu RTTPapdu, + rttr-apdu RTTRapdu, + rtab-apdu [22] IMPLICIT RTABapdu +} + +RTTPapdu ::= -- priority-- INTEGER + +RTTRapdu ::= OCTET STRING + +RTABapdu ::= SET { + abortReason [0] IMPLICIT AbortReason OPTIONAL, + reflectedParameter [1] IMPLICIT BIT STRING OPTIONAL, + -- 8 bits maximum, only if abortReason is invalidParameter + userdataAB + [2] TYPE-IDENTIFIER.&Type + OPTIONAL -- only in normal mode and if abortReason-- + -- is userError +} + +AbortReason ::= INTEGER { + localSystemProblem(0), + invalidParameter(1), -- reflectedParameter supplied + unrecognizedActivity(2), + temporaryProblem(3), + -- the RTSE cannot accept a session for a period of time + protocolError(4), -- RTSE level protocol error + permanentProblem(5), --provider-abort solely in normal mode + userError(6), -- user-abort solely in normal mode + transferCompleted(7) -- activity can't be discarded--} + +-- application contexts +shadowSupplierInitiatedAC APPLICATION-CONTEXT ::= { + CONTRACT shadowSupplierContract + ESTABLISHED BY acse + INFORMATION TRANSFER BY pData + ABSTRACT SYNTAXES + {acse-abstract-syntax | directoryShadowAbstractSyntax} + APPLICATION CONTEXT NAME id-ac-shadowSupplierInitiatedAC +} + +shadowSupplierInitiatedAsynchronousAC APPLICATION-CONTEXT ::= { + CONTRACT shadowSupplierContract + ESTABLISHED BY acse + INFORMATION TRANSFER BY pData + ABSTRACT SYNTAXES + {acse-abstract-syntax | directoryShadowAbstractSyntax} + APPLICATION CONTEXT NAME id-ac-shadowSupplierInitiatedAsynchronousAC +} + +shadowConsumerInitiatedAC APPLICATION-CONTEXT ::= { + CONTRACT shadowConsumerContract + ESTABLISHED BY acse + INFORMATION TRANSFER BY pData + ABSTRACT SYNTAXES + {acse-abstract-syntax | directoryShadowAbstractSyntax} + APPLICATION CONTEXT NAME id-ac-shadowConsumerInitiatedAC +} + +shadowConsumerInitiatedAsynchronousAC APPLICATION-CONTEXT ::= { + CONTRACT shadowConsumerContract + ESTABLISHED BY acse + INFORMATION TRANSFER BY pData + ABSTRACT SYNTAXES + {acse-abstract-syntax | directoryShadowAbstractSyntax} + APPLICATION CONTEXT NAME id-ac-shadowConsumerInitiatedAsynchronousAC +} + +reliableShadowSupplierInitiatedAC APPLICATION-CONTEXT ::= { + CONTRACT shadowSupplierContract + ESTABLISHED BY association-by-RTSE + INFORMATION TRANSFER BY transfer-by-RTSE + ABSTRACT SYNTAXES + {acse-abstract-syntax | reliableShadowBindingAbstractSyntax | + directoryReliableShadowAbstractSyntax} + APPLICATION CONTEXT NAME id-ac-reliableShadowSupplierInitiatedAC +} + +reliableShadowConsumerInitiatedAC APPLICATION-CONTEXT ::= { + CONTRACT shadowConsumerContract + ESTABLISHED BY association-by-RTSE + INFORMATION TRANSFER BY transfer-by-RTSE + ABSTRACT SYNTAXES + {acse-abstract-syntax | reliableShadowBindingAbstractSyntax | + directoryReliableShadowAbstractSyntax} + APPLICATION CONTEXT NAME id-ac-reliableShadowConsumerInitiatedAC +} + +-- ROS objects +initiating-consumer-dsa ROS-OBJECT-CLASS ::= { + INITIATES {shadowConsumerContract} + ID id-rosObject-initiatingConsumerDSA +} + +responding-supplier-dsa ROS-OBJECT-CLASS ::= { + RESPONDS {shadowConsumerContract} + ID id-rosObject-respondingSupplierDSA +} + +initiating-supplier-dsa ROS-OBJECT-CLASS ::= { + INITIATES {shadowSupplierContract} + ID id-rosObject-initiatingSupplierDSA +} + +responding-consumer-dsa ROS-OBJECT-CLASS ::= { + RESPONDS {shadowSupplierContract} + ID id-rosObject-respondingConsumerDSA +} + +-- contracts +shadowConsumerContract CONTRACT ::= { + CONNECTION dispConnectionPackage + INITIATOR CONSUMER OF {shadowConsumerPackage} + ID id-contract-shadowConsumer +} + +shadowSupplierContract CONTRACT ::= { + CONNECTION dispConnectionPackage + RESPONDER CONSUMER OF {shadowSupplierPackage} + ID id-contract-shadowSupplier +} + +-- connection package +dispConnectionPackage CONNECTION-PACKAGE ::= { + BIND dSAShadowBind + UNBIND dSAShadowUnbind + ID id-package-dispConnection +} + +-- packages +shadowConsumerPackage OPERATION-PACKAGE ::= { + CONSUMER INVOKES {requestShadowUpdate} + SUPPLIER INVOKES {updateShadow} + ID id-package-shadowConsumer +} + +shadowSupplierPackage OPERATION-PACKAGE ::= { + SUPPLIER INVOKES {coordinateShadowUpdate | updateShadow} + ID id-package-shadowSupplier +} + +-- abstract syntaxes +directoryShadowAbstractSyntax ABSTRACT-SYNTAX ::= { + DISP-PDUs + IDENTIFIED BY id-as-directoryShadowAS +} + +directoryReliableShadowAbstractSyntax ABSTRACT-SYNTAX ::= { + Reliable-DISP-PDUs + IDENTIFIED BY id-as-directoryReliableShadowAS +} + +reliableShadowBindingAbstractSyntax ABSTRACT-SYNTAX ::= { + ReliableShadowBinding-PDUs + IDENTIFIED BY id-as-reliableShadowBindingAS +} + +DISP-PDUs ::= CHOICE { + basicROS ROS{{DISP-InvokeIDSet}, {DISP-Invokable}, {DISP-Returnable}}, + bind Bind{dSAShadowBind}, + unbind Unbind{dSAShadowUnbind} +} + +Reliable-DISP-PDUs ::= + ROS{{DISP-InvokeIDSet}, {DISP-Invokable}, {DISP-Returnable}} + +ReliableShadowBinding-PDUs ::= CHOICE { + rTS [0] RTSE-apdus, + bind Bind{dSAShadowBind}, + unbind Unbind{dSAShadowUnbind} +} + +DISP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL) + +DISP-Invokable OPERATION ::= + {requestShadowUpdate | updateShadow | coordinateShadowUpdate} + +DISP-Returnable OPERATION ::= + {requestShadowUpdate | updateShadow | coordinateShadowUpdate} + +-- remote operation codes +id-opcode-requestShadowUpdate Code ::= local:1 + +id-opcode-updateShadow Code ::= local:2 + +id-opcode-coordinateShadowUpdate Code ::= local:3 + +-- remote error codes +id-errcode-shadowError Code ::= local:1 + +END -- DirectoryInformationShadowProtocol + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + |