-- Module DirectorySystemProtocol (X.519 TC2:08/1997)
-- See also ITU-T X.519 (1997) Technical Cor. 2 (02/2001)
-- See also the index of all ASN.1 assignments needed in this document

DirectorySystemProtocol {joint-iso-itu-t ds(5) module(1) dsp(12) 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
  distributedOperations, 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
    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-directorySystemAC, id-rosObject-dspDSA, id-contract-dsp,
    id-package-dspConnection, id-package-chainedRead, id-package-chainedSearch,
    id-package-chainedModify, id-as-directorySystemAS
    FROM ProtocolObjectIdentifiers {joint-iso-itu-t ds(5) module(1)
      protocolObjectIdentifiers(4) 3}
  dSABind, dSAUnbind, chainedRead, chainedCompare, chainedAbandon, chainedList,
    chainedSearch, chainedAddEntry, chainedRemoveEntry, chainedModifyEntry,
    chainedModifyDN
    FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
      distributedOperations(3) 3};

-- application contexts 
directorySystemAC APPLICATION-CONTEXT ::= {
  CONTRACT                  dspContract
  ESTABLISHED BY            acse
  INFORMATION TRANSFER BY   pData
  ABSTRACT SYNTAXES
    {acse-abstract-syntax | directorySystemAbstractSyntax}
  APPLICATION CONTEXT NAME  id-ac-directorySystemAC
}

-- ROS objects 
dsp-dsa ROS-OBJECT-CLASS ::= {BOTH  {dspContract}
                              ID    id-rosObject-dspDSA
}

-- contracts 
dspContract CONTRACT ::= {
  CONNECTION     dspConnectionPackage
  OPERATIONS OF
    {chainedReadPackage | chainedSearchPackage | chainedModifyPackage}
  ID             id-contract-dsp
}

-- connection package 
dspConnectionPackage CONNECTION-PACKAGE ::= {
  BIND    dSABind
  UNBIND  dSAUnbind
  ID      id-package-dspConnection
}

--  chained read package 
chainedReadPackage OPERATION-PACKAGE ::= {
  OPERATIONS  {chainedRead | chainedCompare | chainedAbandon}
  ID          id-package-chainedRead
}

--  chained search package 
chainedSearchPackage OPERATION-PACKAGE ::= {
  OPERATIONS  {chainedList | chainedSearch}
  ID          id-package-chainedSearch
}

--  chained modify package 
chainedModifyPackage OPERATION-PACKAGE ::= {
  OPERATIONS
    {chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
      chainedModifyDN}
  ID          id-package-chainedModify
}

-- abstract syntaxes 
directorySystemAbstractSyntax ABSTRACT-SYNTAX ::= {
  DSP-PDUs
  IDENTIFIED BY  id-as-directorySystemAS
}

DSP-PDUs ::= CHOICE {
  basicRos  ROS{{DSP-InvokeIDSet}, {DSP-Invokable}, {DSP-Returnable}},
  bind      Bind{dSABind},
  unbind    Unbind{dSAUnbind}
}

DSP-InvokeIDSet ::= InvokeId(ALL EXCEPT absent:NULL)

DSP-Invokable OPERATION ::=
  {chainedRead | chainedCompare | chainedAbandon | chainedList | chainedSearch
   | chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
   chainedModifyDN}

DSP-Returnable OPERATION ::=
  {chainedRead | chainedCompare | chainedAbandon | chainedList | chainedSearch
   | chainedAddEntry | chainedRemoveEntry | chainedModifyEntry |
   chainedModifyDN}

END -- DirectorySystemProtocol
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D