]> git.sur5r.net Git - openldap/blob - servers/slapd/back-ldbm/external.h
Patches from Mark Whitehouse (with changes from myself) to make the
[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 extern int      ldbm_back_config LDAP_P(( BackendInfo *bi,
17         const char *fname, int lineno,
18         int argc, char **argv ));
19
20 extern int      ldbm_back_db_init LDAP_P(( BackendDB *bd ));
21 extern int      ldbm_back_db_open LDAP_P(( BackendDB *bd ));
22 extern int      ldbm_back_db_close LDAP_P(( BackendDB *bd ));
23 extern int      ldbm_back_db_destroy LDAP_P(( BackendDB *bd ));
24
25 extern int      ldbm_back_db_config LDAP_P(( BackendDB *bd,
26         const char *fname, int lineno,
27         int argc, char **argv ));
28
29 extern int ldbm_back_extended LDAP_P(( BackendDB *bd,
30         Connection *conn, Operation *op,
31         const char *reqoid,
32         struct berval *reqdata,
33         char **rspoid,
34         struct berval **rspdata,
35         LDAPControl *** rspctrls,
36         const char **text,
37         struct berval *** refs ));
38
39 extern int ldbm_back_bind LDAP_P(( BackendDB *bd,
40         Connection *conn, Operation *op,
41         const char *dn, const char *ndn, int method,
42         struct berval *cred, char** edn ));
43
44 extern int      ldbm_back_unbind LDAP_P(( BackendDB *bd,
45         Connection *conn, Operation *op ));
46
47 extern int      ldbm_back_search LDAP_P(( BackendDB *bd,
48         Connection *conn, Operation *op,
49         const char *base, const char *nbase,
50         int scope, int deref, int sizelimit, int timelimit,
51         Filter *filter, const char *filterstr,
52         char **attrs, int attrsonly ));
53
54 extern int      ldbm_back_compare LDAP_P(( BackendDB *bd,
55         Connection *conn, Operation *op,
56         const char *dn, const char *ndn,
57         AttributeAssertion *ava ));
58
59 extern int      ldbm_back_modify LDAP_P(( BackendDB *bd,
60         Connection *conn, Operation *op,
61         const char *dn, const char *ndn, Modifications *ml ));
62
63 extern int      ldbm_back_modrdn LDAP_P(( BackendDB *bd,
64         Connection *conn, Operation *op,
65         const char *dn, const char *ndn,
66         const char* newrdn, int deleteoldrdn,
67         const char *newSuperior ));
68
69 extern int      ldbm_back_add LDAP_P(( BackendDB *bd,
70         Connection *conn, Operation *op, Entry *e ));
71
72 extern int      ldbm_back_delete LDAP_P(( BackendDB *bd,
73         Connection *conn, Operation *op,
74         const char *dn, const char *ndn ));
75
76 extern int      ldbm_back_abandon LDAP_P(( BackendDB *bd,
77         Connection *conn, Operation *op, ber_int_t msgid ));
78
79 extern int      ldbm_back_group LDAP_P(( BackendDB *bd,
80         Connection *conn, Operation *op,
81         Entry *target,
82         const char* gr_ndn,
83         const char* op_ndn,
84         ObjectClass* group_oc,
85         AttributeDescription* group_at));
86
87 extern int      ldbm_back_attribute LDAP_P(( BackendDB *bd,
88         Connection *conn, Operation *op,
89         Entry *target,
90         const char* e_ndn,
91         AttributeDescription* entry_at,
92         struct berval ***vals));
93
94
95 /* hooks for slap tools */
96 extern int ldbm_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
97 extern int ldbm_tool_entry_close LDAP_P(( BackendDB *be ));
98 extern ID ldbm_tool_entry_first LDAP_P(( BackendDB *be ));
99 extern ID ldbm_tool_entry_next LDAP_P(( BackendDB *be ));
100 extern Entry* ldbm_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
101 extern ID ldbm_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
102
103 extern int ldbm_tool_entry_reindex LDAP_P(( BackendDB *be, ID id ));
104 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
105
106 extern int ldbm_back_referrals LDAP_P(( BackendDB *bd,
107         Connection *conn, Operation *op,
108         const char *dn, const char *ndn,
109         const char **text ));
110
111 LDAP_END_DECL
112
113 #endif /* _LDBM_EXTERNAL_H */
114