]> git.sur5r.net Git - openldap/blob - servers/slapd/back-ldbm/external.h
e58b4c57b7fdb2b387f07c88ced27022abb50b12
[openldap] / servers / slapd / back-ldbm / external.h
1 /* $OpenLDAP$ */
2 /*
3  * Copyright 1998-1999 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, int argc, char **argv ));
24
25 extern int ldbm_back_extended LDAP_P(( BackendDB *bd,
26         Connection *conn, Operation *op,
27         char *reqoid,
28         struct berval *reqdata,
29         char **rspoid,
30         struct berval **rspdata,
31         LDAPControl *** rspctrls,
32         char **text,
33         struct berval *** refs ));
34
35 extern int ldbm_back_bind LDAP_P(( BackendDB *bd,
36         Connection *conn, Operation *op,
37         char *dn, char *ndn, int method, char* mech,
38         struct berval *cred, char** edn ));
39
40 extern int      ldbm_back_unbind LDAP_P(( BackendDB *bd,
41         Connection *conn, Operation *op ));
42
43 extern int      ldbm_back_search LDAP_P(( BackendDB *bd,
44         Connection *conn, Operation *op, char *base,
45         char *nbase, int scope, int deref, int sizelimit, int timelimit,
46         Filter *filter, char *filterstr, char **attrs, int attrsonly ));
47
48 #ifdef SLAPD_SCHEMA_NOT_COMPAT
49 extern int      ldbm_back_compare LDAP_P(( BackendDB *bd,
50         Connection *conn, Operation *op,
51         char *dn, char *ndn, AttributeAssertion *ava ));
52 #else
53 extern int      ldbm_back_compare LDAP_P((BackendDB *bd,
54         Connection *conn, Operation *op,
55         char *dn, char *ndn, Ava        *ava ));
56 #endif
57
58 extern int      ldbm_back_modify LDAP_P(( BackendDB *bd,
59         Connection *conn, Operation *op,
60         char *dn, char *ndn, Modifications *ml ));
61
62 extern int      ldbm_back_modrdn LDAP_P(( BackendDB *bd,
63         Connection *conn, Operation *op,
64         char *dn, char *ndn, char* newrdn, int deleteoldrdn,
65         char *newSuperior ));
66
67 extern int      ldbm_back_add LDAP_P(( BackendDB *bd,
68         Connection *conn, Operation *op, Entry *e ));
69
70 extern int      ldbm_back_delete LDAP_P(( BackendDB *bd,
71         Connection *conn, Operation *op, char *dn, char *ndn ));
72
73 extern int      ldbm_back_abandon LDAP_P(( BackendDB *bd,
74         Connection *conn, Operation *op, ber_int_t msgid ));
75
76 #ifdef SLAPD_SCHEMA_NOT_COMPAT
77 extern int      ldbm_back_group LDAP_P(( BackendDB *bd,
78         Entry *target, const char* gr_ndn, const char* op_ndn,
79         const char* objectclassValue,
80         AttributeDescription* group_at));
81 #else
82 extern int      ldbm_back_group LDAP_P(( BackendDB *bd,
83         Entry *target, const char* gr_ndn, const char* op_ndn,
84         const char* objectclassValue, const char* group_at));
85 #endif
86
87
88 /* hooks for slap tools */
89 extern int ldbm_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
90 extern int ldbm_tool_entry_close LDAP_P(( BackendDB *be ));
91 extern ID ldbm_tool_entry_first LDAP_P(( BackendDB *be ));
92 extern ID ldbm_tool_entry_next LDAP_P(( BackendDB *be ));
93 extern Entry* ldbm_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
94 extern ID ldbm_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
95 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be, char* type ));
96 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be, char* type,
97         struct berval **bv, ID id, int op ));
98 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
99
100         
101 LDAP_END_DECL
102
103 #endif /* _LDBM_EXTERNAL_H */
104