summaryrefslogtreecommitdiff
path: root/asn1/DirectoryAccessProtocol.asn
blob: fbe1a90a0e0ee6909eecdc5c327414e4fe4225d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
-- Module DirectoryAccessProtocol (X.519:02/2001)
DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4} 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
  -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
  directoryAbstractService, protocolObjectIdentifiers
    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
      usefulDefinitions(0) 4}
  -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
  abandon, addEntry, compare, directoryBind, directoryUnbind, list, modifyDN,
    modifyEntry, read, removeEntry, search
    FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
      directoryAbstractService(2) 4}
  -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
  id-ac-directoryAccessAC, id-as-directoryAccessAS, id-contract-dap,
    id-package-dapConnection, id-package-modify, id-package-read,
    id-package-search, id-rosObject-dapDSA, id-rosObject-directory,
    id-rosObject-dua
    FROM ProtocolObjectIdentifiers {joint-iso-itu-t ds(5) module(1)
      protocolObjectIdentifiers(4) 4}
  -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
  Code, CONNECTION-PACKAGE, CONTRACT, OPERATION, OPERATION-PACKAGE,
    ROS-OBJECT-CLASS
    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
      remote-operations(4) informationObjects(5) version1(0)}
  Bind{}, InvokeId, ROS{}, Unbind{}
    FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
      remote-operations(4) generic-ROS-PDUs(6) version1(0)}
  -- from ITU-T Rec. X.881 | ISO/IEC 13712-2
  APPLICATION-CONTEXT
    FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
      remote-operations(4) informationObjects-extensions(8) version1(0)}
  -- from ITU-T Rec. X.882 | ISO/IEC 13712-3
  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)};

-- application contexts 
directoryAccessAC APPLICATION-CONTEXT ::= {
  CONTRACT                  dapContract
  ESTABLISHED BY            acse
  INFORMATION TRANSFER BY   pData
  ABSTRACT SYNTAXES
    {acse-abstract-syntax | directoryAccessAbstractSyntax}
  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  {readPackage | searchPackage | modifyPackage}
  ID                     id-contract-dap
}

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

--  read package 
readPackage OPERATION-PACKAGE ::= {
  CONSUMER INVOKES  {read | compare | abandon}
  ID                id-package-read
}

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

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

-- abstract syntaxes 
directoryAccessAbstractSyntax ABSTRACT-SYNTAX ::= {
  DAP-PDUs
  IDENTIFIED BY  id-as-directoryAccessAS
}

DAP-PDUs ::= CHOICE {
  basicRos  ROS{{DAP-InvokeIDSet}, {DAP-Invokable}, {DAP-Returnable}},
  bind      Bind{directoryBind},
  unbind    Unbind{directoryUnbind}
}

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

DAP-Invokable OPERATION ::=
  {read | compare | abandon | list | search | addEntry | removeEntry |
   modifyEntry | modifyDN}

DAP-Returnable OPERATION ::=
  {read | compare | abandon | list | search | addEntry | removeEntry |
   modifyEntry | modifyDN}

--  remote operation codes 
id-opcode-read Code ::= local:1

id-opcode-compare Code ::= local:2

id-opcode-abandon Code ::= local:3

id-opcode-list Code ::= local:4

id-opcode-search Code ::= local:5

id-opcode-addEntry Code ::= local:6

id-opcode-removeEntry Code ::= local:7

id-opcode-modifyEntry Code ::= local:8

id-opcode-modifyDN Code ::= local:9

-- remote error codes 
id-errcode-attributeError Code ::= local:1

id-errcode-nameError Code ::= local:2

id-errcode-serviceError Code ::= local:3

id-errcode-referral Code ::= local:4

id-errcode-abandoned Code ::= local:5

id-errcode-securityError Code ::= local:6

id-errcode-abandonFailed Code ::= local:7

id-errcode-updateError Code ::= local:8

-- remote error code for DSP 
id-errcode-dsaReferral Code ::= local:9

END -- DirectoryAccessProtocol

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