]> git.sur5r.net Git - openldap/blob - servers/slapd/back-meta/external.h
Fixup bdb_entry_release now that entry_decode uses two memory blocks
[openldap] / servers / slapd / back-meta / external.h
1 /*
2  * Copyright 1998-2001 The OpenLDAP Foundation, All Rights Reserved.
3  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
4  *
5  * Copyright 2001, Pierangelo Masarati, All rights reserved. <ando@sys-net.it>
6  *
7  * This work has been developed to fulfill the requirements
8  * of SysNet s.n.c. <http:www.sys-net.it> and it has been donated
9  * to the OpenLDAP Foundation in the hope that it may be useful
10  * to the Open Source community, but WITHOUT ANY WARRANTY.
11  *
12  * Permission is granted to anyone to use this software for any purpose
13  * on any computer system, and to alter it and redistribute it, subject
14  * to the following restrictions:
15  *
16  * 1. The author and SysNet s.n.c. are not responsible for the consequences
17  *    of use of this software, no matter how awful, even if they arise from 
18  *    flaws in it.
19  *
20  * 2. The origin of this software must not be misrepresented, either by
21  *    explicit claim or by omission.  Since few users ever read sources,
22  *    credits should appear in the documentation.
23  *
24  * 3. Altered versions must be plainly marked as such, and must not be
25  *    misrepresented as being the original software.  Since few users
26  *    ever read sources, credits should appear in the documentation.
27  *    SysNet s.n.c. cannot be responsible for the consequences of the
28  *    alterations.
29  *
30  * 4. This notice may not be removed or altered.
31  *
32  *
33  * This software is based on the backend back-ldap, implemented
34  * by Howard Chu <hyc@highlandsun.com>, and modified by Mark Valence
35  * <kurash@sassafras.com>, Pierangelo Masarati <ando@sys-net.it> and other
36  * contributors. The contribution of the original software to the present
37  * implementation is acknowledged in this copyright statement.
38  *
39  * A special acknowledgement goes to Howard for the overall architecture
40  * (and for borrowing large pieces of code), and to Mark, who implemented
41  * from scratch the attribute/objectclass mapping.
42  *
43  * The original copyright statement follows.
44  *
45  * Copyright 1999, Howard Chu, All rights reserved. <hyc@highlandsun.com>
46  *
47  * Permission is granted to anyone to use this software for any purpose
48  * on any computer system, and to alter it and redistribute it, subject
49  * to the following restrictions:
50  *
51  * 1. The author is not responsible for the consequences of use of this
52  *    software, no matter how awful, even if they arise from flaws in it.
53  *
54  * 2. The origin of this software must not be misrepresented, either by
55  *    explicit claim or by omission.  Since few users ever read sources,
56  *    credits should appear in the documentation.
57  *
58  * 3. Altered versions must be plainly marked as such, and must not be
59  *    misrepresented as being the original software.  Since few users
60  *    ever read sources, credits should appear in the
61  *    documentation.
62  *
63  * 4. This notice may not be removed or altered.
64  *
65  */
66
67 #ifndef META_EXTERNAL_H
68 #define META_EXTERNAL_H
69
70 LDAP_BEGIN_DECL
71
72 extern int
73 meta_back_initialize LDAP_P((
74                 BackendInfo *bi
75 ));
76 extern int
77 meta_back_open LDAP_P((
78                 BackendInfo *bi
79 ));
80 extern int
81 meta_back_close LDAP_P((
82                 BackendInfo *bi
83 ));
84 extern int
85 meta_back_destroy LDAP_P((
86                 BackendInfo *bi
87 ));
88 extern int
89 meta_back_db_init LDAP_P((
90                 BackendDB *bd
91 ));
92 extern int
93 meta_back_db_destroy LDAP_P((
94                 BackendDB *bd
95 ));
96 extern int
97 meta_back_db_config LDAP_P((
98                 BackendDB *bd,
99                 const char *fname,
100                 int lineno,
101                 int argc,
102                 char **argv
103 ));
104 extern int
105 meta_back_bind LDAP_P((
106                 BackendDB *bd,
107                 Connection *conn,
108                 Operation *op,
109                 const char *dn,
110                 const char *ndn,
111                 int method,
112                 struct berval *cred,
113                 char** edn
114 ));
115 extern int
116 meta_back_conn_destroy LDAP_P((
117                 BackendDB *bd,
118                 Connection *conn
119 ));
120 extern int
121 meta_back_search LDAP_P((
122                 BackendDB *bd,
123                 Connection *conn,
124                 Operation *op,
125                 const char *base,
126                 const char *nbase,
127                 int scope,
128                 int deref,
129                 int sizelimit,
130                 int timelimit,
131                 Filter *filter,
132                 const char *filterstr,
133                 char **attrs,
134                 int attrsonly
135 ));
136 extern int
137 meta_back_compare LDAP_P((
138                 BackendDB *bd,
139                 Connection *conn,
140                 Operation *op,
141                 const char *dn,
142                 const char *ndn,
143                 AttributeAssertion *ava
144 ));
145 extern int
146 meta_back_modify LDAP_P((
147                 BackendDB *bd,
148                 Connection *conn,
149                 Operation *op,
150                 const char *dn,
151                 const char *ndn,
152                 Modifications *ml
153 ));
154 extern int
155 meta_back_modrdn LDAP_P((
156                 BackendDB *bd,
157                 Connection *conn,
158                 Operation *op,
159                 const char *dn,
160                 const char *ndn,
161                 const char *newrdn,
162                 int deleteoldrdn,
163                 const char *newSuperior
164 ));
165 extern int
166 meta_back_add LDAP_P((
167                 BackendDB *bd,
168                 Connection *conn,
169                 Operation *op,
170                 Entry *e
171 ));
172 extern int
173 meta_back_delete LDAP_P((
174                 BackendDB *bd,
175                 Connection *conn,
176                 Operation *op,
177                 const char *dn,
178                 const char *ndn
179 ));
180 extern int meta_back_abandon LDAP_P((
181                 BackendDB *bd,
182                 Connection *conn,
183                 Operation *op,
184                 int msgid
185 ));
186 extern int meta_back_group LDAP_P((
187                 BackendDB *bd,
188                 Connection *conn,
189                 Operation *op,
190                 Entry *target,
191                 const char* gr_ndn,
192                 const char* op_ndn,
193                 ObjectClass* group_oc,
194                 AttributeDescription*
195                 group_at
196 ));
197 extern int
198 meta_back_attribute LDAP_P((
199                 BackendDB *bd,
200                 Connection *conn,
201                 Operation *op,
202                 Entry *target,
203                 const char* e_ndn,
204                 AttributeDescription* entry_at,
205                 struct berval ***vals
206 ));
207
208 LDAP_END_DECL
209
210 #endif /* META_EXTERNAL_H */
211