-- Module INDirectoryAccessProtocol (Q.1218:10/1995)
-- See also ITU-T Q.1218 (10/1995)
-- See also the index of all ASN.1 assignments needed in this document

INDirectoryAccessProtocol {itu-t recommendation q 1218 module(0) indap(12)
  version1(0)} 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
  directoryAbstractService
    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)}
  Bind{}, Unbind{}, InvokeId
    FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
      remote-operations(4) generic-ROS-PDUs(6) version1(0)}
  TCMessage{}
    FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
      version3(3)}
  APPLICATION-CONTEXT, dialogue-abstract-syntax
    FROM TC-Notation-Extensions {itu-t recommendation q 775 modules(2)
      notation-extensions(4) version1(1)}
  dialogue-as-id
    FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2)
      version1(1)}
  id-ac-directoryAccessAC, id-rosObject-dua, id-rosObject-directory,
    id-rosObject-dapDSA, id-contract-dap, id-package-dapConnection,
    id-package-search, id-package-modify, id-as-directoryOperationsAS,
    id-as-directoryBindingAS
    FROM SDFProtocolObjectIdentifiers {itu-t recommendation q 1218 modules(0)
      sdfProtocolObjectIdentifiers(10) version1(0)}
  directoryUnbind, directoryBind, search, addEntry, removeEntry, modifyEntry
    FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
      directoryAbstractService(2) 3};

--  application contexts 
iNdirectoryAccessAC APPLICATION-CONTEXT ::= {
  CONTRACT                  dapContract
  DIALOGUE MODE             structured
  TERMINATION               basic
  ABSTRACT SYNTAXES
    {dialogue-abstract-syntax | inDirectoryOperationsAbstractSyntax |
      inDirectoryBindingAbstractSyntax}
  APPLICATION CONTEXT NAME  id-ac-directoryAccessAC
}

--  ROS-objects 
dua ROS-OBJECT-CLASS ::= {INITIATES  {dapContract}
                          ID         id-rosObject-dua
}

directory ROS-OBJECT-CLASS ::= {
  RESPONDS  {dapContract}
  ID        id-rosObject-directory
}

dap-dsa ROS-OBJECT-CLASS ::= {
  RESPONDS  {dapContract}
  ID        id-rosObject-dapDSA
}

--  contracts 
dapContract CONTRACT ::= {
  CONNECTION             dapConnectionPackage
  INITIATOR CONSUMER OF  {searchPackage | modifyPackage}
  ID                     id-contract-dap
}

--  connection package 
dapConnectionPackage CONNECTION-PACKAGE ::= {
  BIND    directoryBind
  UNBIND  directoryUnbind
  ID      id-package-dapConnection
}

--  search package 
searchPackage OPERATION-PACKAGE ::= {
  CONSUMER INVOKES  {search}
  ID                id-package-search
}

--  modify package 
modifyPackage OPERATION-PACKAGE ::= {
  CONSUMER INVOKES  {addEntry | removeEntry | modifyEntry}
  ID                id-package-modify
}

--  abstract-syntaxes 
inDirectoryOperationsAbstractSyntax ABSTRACT-SYNTAX ::= {
  BasicDAP-PDUs
  IDENTIFIED BY  id-as-directoryOperationsAS
}

BasicDAP-PDUs ::= TCMessage{{DAP-Invokable}, {DAP-Returnable}}

DAP-Invokable OPERATION ::= {search | addEntry | removeEntry | modifyEntry}

DAP-Returnable OPERATION ::= {search | addEntry | removeEntry | modifyEntry}

inDirectoryBindingAbstractSyntax ABSTRACT-SYNTAX ::= {
  DAPBinding-PDUs
  IDENTIFIED BY  id-as-directoryBindingAS
}

DAPBinding-PDUs ::= CHOICE {
  bind    Bind{directoryBind},
  unbind  Unbind{directoryUnbind}
}

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