]> git.sur5r.net Git - openldap/blob - servers/slapd/back-ldbm/external.h
SLAPD_SCHEMA_NOT_COMPAT: Mostly work modify
[openldap] / servers / slapd / back-ldbm / external.h
1 /* $OpenLDAP$ */
2 /*
3  * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
4  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5  */
6
7 #ifndef _LDBM_EXTERNAL_H
8 #define _LDBM_EXTERNAL_H
9
10 LDAP_BEGIN_DECL
11
12 extern int      ldbm_back_initialize LDAP_P(( BackendInfo *bi ));
13 extern int      ldbm_back_open LDAP_P(( BackendInfo *bi ));
14 extern int      ldbm_back_close LDAP_P(( BackendInfo *bi ));
15 extern int      ldbm_back_destroy LDAP_P(( BackendInfo *bi ));
16
17 extern int      ldbm_back_db_init LDAP_P(( BackendDB *bd ));
18 extern int      ldbm_back_db_open LDAP_P(( BackendDB *bd ));
19 extern int      ldbm_back_db_close LDAP_P(( BackendDB *bd ));
20 extern int      ldbm_back_db_destroy LDAP_P(( BackendDB *bd ));
21
22 extern int      ldbm_back_db_config LDAP_P(( BackendDB *bd,
23         const char *fname, int lineno,
24         int argc, char **argv ));
25
26 extern int ldbm_back_extended LDAP_P(( BackendDB *bd,
27         Connection *conn, Operation *op,
28         const char *reqoid,
29         struct berval *reqdata,
30         char **rspoid,
31         struct berval **rspdata,
32         LDAPControl *** rspctrls,
33         const char **text,
34         struct berval *** refs ));
35
36 extern int ldbm_back_bind LDAP_P(( BackendDB *bd,
37         Connection *conn, Operation *op,
38         const char *dn, const char *ndn, int method,
39         struct berval *cred, char** edn ));
40
41 extern int      ldbm_back_unbind LDAP_P(( BackendDB *bd,
42         Connection *conn, Operation *op ));
43
44 extern int      ldbm_back_search LDAP_P(( BackendDB *bd,
45         Connection *conn, Operation *op,
46         const char *base, const char *nbase,
47         int scope, int deref, int sizelimit, int timelimit,
48         Filter *filter, const char *filterstr,
49         char **attrs, int attrsonly ));
50
51 #ifdef SLAPD_SCHEMA_NOT_COMPAT
52 extern int      ldbm_back_compare LDAP_P(( BackendDB *bd,
53         Connection *conn, Operation *op,
54         const char *dn, const char *ndn,
55         AttributeAssertion *ava ));
56 #else
57 extern int      ldbm_back_compare LDAP_P((BackendDB *bd,
58         Connection *conn, Operation *op,
59         const char *dn, const char *ndn,
60         Ava     *ava ));
61 #endif
62
63 extern int      ldbm_back_modify LDAP_P(( BackendDB *bd,
64         Connection *conn, Operation *op,
65         const char *dn, const char *ndn, Modifications *ml ));
66
67 extern int      ldbm_back_modrdn LDAP_P(( BackendDB *bd,
68         Connection *conn, Operation *op,
69         const char *dn, const char *ndn,
70         const char* newrdn, int deleteoldrdn,
71         const char *newSuperior ));
72
73 extern int      ldbm_back_add LDAP_P(( BackendDB *bd,
74         Connection *conn, Operation *op, Entry *e ));
75
76 extern int      ldbm_back_delete LDAP_P(( BackendDB *bd,
77         Connection *conn, Operation *op,
78         const char *dn, const char *ndn ));
79
80 extern int      ldbm_back_abandon LDAP_P(( BackendDB *bd,
81         Connection *conn, Operation *op, ber_int_t msgid ));
82
83 #ifdef SLAPD_SCHEMA_NOT_COMPAT
84 extern int      ldbm_back_group LDAP_P(( BackendDB *bd,
85         Entry *target,
86         const char* gr_ndn,
87         const char* op_ndn,
88         ObjectClass* group_oc,
89         AttributeDescription* group_at));
90 #else
91 extern int      ldbm_back_group LDAP_P(( BackendDB *bd,
92         Entry *target,
93         const char* gr_ndn, const char* op_ndn,
94         const char* group_oc,
95         const char* group_at));
96 #endif
97
98
99 /* hooks for slap tools */
100 extern int ldbm_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
101 extern int ldbm_tool_entry_close LDAP_P(( BackendDB *be ));
102 extern ID ldbm_tool_entry_first LDAP_P(( BackendDB *be ));
103 extern ID ldbm_tool_entry_next LDAP_P(( BackendDB *be ));
104 extern Entry* ldbm_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
105 extern ID ldbm_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
106
107 #ifdef SLAPD_SCHEMA_NOT_COMPAT
108 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be,
109         AttributeDescription* desc ));
110 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be,
111         AttributeDescription* desc,
112         struct berval **bv, ID id, int op ));
113 #else
114 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be,
115         char* type ));
116 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be,
117         char* type,
118         struct berval **bv, ID id, int op ));
119 #endif
120 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
121
122         
123 LDAP_END_DECL
124
125 #endif /* _LDBM_EXTERNAL_H */
126