~zulcss/samba/samab-3.4-test

« back to all changes in this revision

Viewing changes to source4/lib/ldb/include/ldb_errors.h

  • Committer: Chuck Short
  • Date: 2010-05-20 18:57:13 UTC
  • Revision ID: zulcss@ubuntu.com-20100520185713-hwqvf9t50z830wck
Initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* 
 
2
   ldb database library
 
3
 
 
4
   Copyright (C) Simo Sorce  2005
 
5
 
 
6
     ** NOTE! The following LGPL license applies to the ldb
 
7
     ** library. This does NOT imply that all of Samba is released
 
8
     ** under the LGPL
 
9
   
 
10
   This library is free software; you can redistribute it and/or
 
11
   modify it under the terms of the GNU Lesser General Public
 
12
   License as published by the Free Software Foundation; either
 
13
   version 3 of the License, or (at your option) any later version.
 
14
 
 
15
   This library is distributed in the hope that it will be useful,
 
16
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
17
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
18
   Lesser General Public License for more details.
 
19
 
 
20
   You should have received a copy of the GNU Lesser General Public
 
21
   License along with this library; if not, see <http://www.gnu.org/licenses/>.
 
22
*/
 
23
 
 
24
/*
 
25
 *  Name: ldb
 
26
 *
 
27
 *  Component: ldb header
 
28
 *
 
29
 *  Description: defines error codes following RFC 2251 ldap error codes
 
30
 *
 
31
 *  Author: Simo Sorce
 
32
 */
 
33
 
 
34
#ifndef _LDB_ERRORS_H_
 
35
 
 
36
/*! \cond DOXYGEN_IGNORE */
 
37
#define _LDB_ERRORS_H_ 1
 
38
/*! \endcond */
 
39
 
 
40
/** 
 
41
   \file ldb_errors.h
 
42
 
 
43
   This header provides a set of result codes for LDB function calls.
 
44
 
 
45
   Many LDB function calls return an integer value (int). As shown in
 
46
   the function documentation, those return values may indicate
 
47
   whether the function call worked correctly (in which case it
 
48
   returns LDB_SUCCESS) or some problem occurred (in which case some
 
49
   other value will be returned). As a special case,
 
50
   LDB_ERR_COMPARE_FALSE or LDB_ERR_COMPARE_TRUE may be returned,
 
51
   which does not indicate an error.
 
52
 
 
53
   \note Not all error codes make sense for LDB, however they are
 
54
   based on the LDAP error codes, and are kept for reference and to
 
55
   avoid overlap.
 
56
 
 
57
   \note Some of this documentation is based on information in
 
58
   the OpenLDAP documentation, as developed and maintained by the
 
59
   <a href="http://www.openldap.org/">The OpenLDAP Project</a>.
 
60
 */
 
61
 
 
62
/**
 
63
   The function call succeeded.
 
64
 
 
65
   If a function returns LDB_SUCCESS, then that function, and the
 
66
   underlying transactions that may have been required, completed
 
67
   successfully.
 
68
*/
 
69
#define LDB_SUCCESS                             0
 
70
 
 
71
/**
 
72
   The function call failed for some non-specific reason.
 
73
*/
 
74
#define LDB_ERR_OPERATIONS_ERROR                1
 
75
 
 
76
/**
 
77
   The function call failed because of a protocol violation.
 
78
*/
 
79
#define LDB_ERR_PROTOCOL_ERROR                  2
 
80
 
 
81
/**
 
82
   The function call failed because a time limit was exceeded.
 
83
*/
 
84
#define LDB_ERR_TIME_LIMIT_EXCEEDED             3
 
85
 
 
86
/**
 
87
   The function call failed because a size limit was exceeded.
 
88
*/
 
89
#define LDB_ERR_SIZE_LIMIT_EXCEEDED             4
 
90
 
 
91
/**
 
92
   The function was for value comparison, and the comparison operation
 
93
   returned false.
 
94
 
 
95
   \note This is a status value, and doesn't normally indicate an
 
96
   error.
 
97
*/
 
98
#define LDB_ERR_COMPARE_FALSE                   5
 
99
 
 
100
/**
 
101
   The function was for value comparison, and the comparison operation
 
102
   returned true.
 
103
 
 
104
   \note This is a status value, and doesn't normally indicate an
 
105
   error.
 
106
*/
 
107
#define LDB_ERR_COMPARE_TRUE                    6
 
108
 
 
109
/**
 
110
   The function used an authentication method that is not supported by
 
111
   the database.
 
112
*/
 
113
#define LDB_ERR_AUTH_METHOD_NOT_SUPPORTED       7
 
114
 
 
115
/**
 
116
   The function call required a underlying operation that required
 
117
   strong authentication.
 
118
 
 
119
   This will normally only occur if you are using LDB with a LDAP
 
120
   backend.
 
121
*/
 
122
#define LDB_ERR_STRONG_AUTH_REQUIRED            8
 
123
/* 9 RESERVED */
 
124
 
 
125
/**
 
126
   The function resulted in a referral to another server.
 
127
*/
 
128
#define LDB_ERR_REFERRAL                        10
 
129
 
 
130
/**
 
131
   The function failed because an administrative / policy limit was
 
132
   exceeded.
 
133
*/
 
134
#define LDB_ERR_ADMIN_LIMIT_EXCEEDED            11
 
135
 
 
136
/**
 
137
   The function required an extension or capability that the
 
138
   database cannot provide.
 
139
*/
 
140
#define LDB_ERR_UNSUPPORTED_CRITICAL_EXTENSION  12
 
141
 
 
142
/**
 
143
   The function involved a transaction or database operation that
 
144
   could not be performed without a secure link.
 
145
*/
 
146
#define LDB_ERR_CONFIDENTIALITY_REQUIRED        13
 
147
 
 
148
/**
 
149
   This is an intermediate result code for SASL bind operations that
 
150
   have more than one step.
 
151
 
 
152
   \note This is a result code that does not normally indicate an
 
153
   error has occurred.
 
154
*/
 
155
#define LDB_ERR_SASL_BIND_IN_PROGRESS           14
 
156
 
 
157
/**
 
158
   The function referred to an attribute type that is not present in
 
159
   the entry.
 
160
*/
 
161
#define LDB_ERR_NO_SUCH_ATTRIBUTE               16
 
162
 
 
163
/**
 
164
   The function referred to an attribute type that is invalid
 
165
*/
 
166
#define LDB_ERR_UNDEFINED_ATTRIBUTE_TYPE        17
 
167
 
 
168
/**
 
169
   The function required a filter type that is not available for the
 
170
   specified attribute.
 
171
*/
 
172
#define LDB_ERR_INAPPROPRIATE_MATCHING          18
 
173
 
 
174
/**
 
175
   The function would have violated an attribute constraint.
 
176
*/
 
177
#define LDB_ERR_CONSTRAINT_VIOLATION            19
 
178
 
 
179
/**
 
180
   The function involved an attribute type or attribute value that
 
181
   already exists in the entry.
 
182
*/
 
183
#define LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS       20
 
184
/**
 
185
   The function used an invalid (incorrect syntax) attribute value.
 
186
*/
 
187
#define LDB_ERR_INVALID_ATTRIBUTE_SYNTAX        21
 
188
 
 
189
/* 22-31 unused */
 
190
 
 
191
/**
 
192
   The function referred to an object that does not exist in the
 
193
   database.
 
194
*/
 
195
#define LDB_ERR_NO_SUCH_OBJECT                  32
 
196
 
 
197
/**
 
198
   The function referred to an alias which points to a non-existant
 
199
   object in the database.
 
200
*/
 
201
#define LDB_ERR_ALIAS_PROBLEM                   33
 
202
 
 
203
/**
 
204
   The function used a DN which was invalid (incorrect syntax).
 
205
*/
 
206
#define LDB_ERR_INVALID_DN_SYNTAX               34
 
207
 
 
208
/* 35 RESERVED */
 
209
 
 
210
/**
 
211
   The function required dereferencing of an alias, and something went
 
212
   wrong during the dereferencing process.
 
213
*/
 
214
#define LDB_ERR_ALIAS_DEREFERENCING_PROBLEM     36
 
215
 
 
216
/* 37-47 unused */
 
217
 
 
218
/**
 
219
   The function passed in the wrong authentication method.
 
220
*/
 
221
#define LDB_ERR_INAPPROPRIATE_AUTHENTICATION    48
 
222
 
 
223
/**
 
224
   The function passed in or referenced incorrect credentials during
 
225
   authentication. 
 
226
*/
 
227
#define LDB_ERR_INVALID_CREDENTIALS             49
 
228
 
 
229
/**
 
230
   The function required access permissions that the user does not
 
231
   possess. 
 
232
*/
 
233
#define LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS      50
 
234
 
 
235
/**
 
236
   The function required a transaction or call that the database could
 
237
   not perform because it is busy.
 
238
*/
 
239
#define LDB_ERR_BUSY                            51
 
240
 
 
241
/**
 
242
   The function required a transaction or call to a database that is
 
243
   not available.
 
244
*/
 
245
#define LDB_ERR_UNAVAILABLE                     52
 
246
 
 
247
/**
 
248
   The function required a transaction or call to a database that the
 
249
   database declined to perform.
 
250
*/
 
251
#define LDB_ERR_UNWILLING_TO_PERFORM            53
 
252
 
 
253
/**
 
254
   The function failed because it resulted in a loop being detected.
 
255
*/
 
256
#define LDB_ERR_LOOP_DETECT                     54
 
257
 
 
258
/* 55-63 unused */
 
259
 
 
260
/**
 
261
   The function failed because it would have violated a naming rule.
 
262
*/
 
263
#define LDB_ERR_NAMING_VIOLATION                64
 
264
 
 
265
/**
 
266
   The function failed because it would have violated the schema.
 
267
*/
 
268
#define LDB_ERR_OBJECT_CLASS_VIOLATION          65
 
269
 
 
270
/**
 
271
   The function required an operation that is only allowed on leaf
 
272
   objects, but the object is not a leaf.
 
273
*/
 
274
#define LDB_ERR_NOT_ALLOWED_ON_NON_LEAF         66
 
275
 
 
276
/**
 
277
   The function required an operation that cannot be performed on a
 
278
   Relative DN, but the object is a Relative DN.
 
279
*/
 
280
#define LDB_ERR_NOT_ALLOWED_ON_RDN              67
 
281
 
 
282
/**
 
283
   The function failed because the entry already exists.
 
284
*/
 
285
#define LDB_ERR_ENTRY_ALREADY_EXISTS            68
 
286
 
 
287
/**
 
288
   The function failed because modifications to an object class are
 
289
   not allowable.
 
290
*/
 
291
#define LDB_ERR_OBJECT_CLASS_MODS_PROHIBITED    69
 
292
 
 
293
/* 70 RESERVED FOR CLDAP */
 
294
 
 
295
/**
 
296
   The function failed because it needed to be applied to multiple
 
297
   databases.
 
298
*/
 
299
#define LDB_ERR_AFFECTS_MULTIPLE_DSAS           71
 
300
 
 
301
/* 72-79 unused */
 
302
 
 
303
/**
 
304
   The function failed for unknown reasons.
 
305
*/
 
306
#define LDB_ERR_OTHER                           80
 
307
 
 
308
/* 81-90 RESERVED for APIs */
 
309
 
 
310
#endif /* _LDB_ERRORS_H_ */