3 * Copyright 2000 The OpenLDAP Foundation, All Rights Reserved.
4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
7 #ifndef _BDB_EXTERNAL_H
8 #define _BDB_EXTERNAL_H
12 extern int bdb_back_initialize LDAP_P(( BackendInfo *bi ));
13 extern int bdb_back_open LDAP_P(( BackendInfo *bi ));
14 extern int bdb_back_close LDAP_P(( BackendInfo *bi ));
15 extern int bdb_back_destroy LDAP_P(( BackendInfo *bi ));
17 extern int bdb_back_db_init LDAP_P(( BackendDB *bd ));
18 extern int bdb_back_db_open LDAP_P(( BackendDB *bd ));
19 extern int bdb_back_db_close LDAP_P(( BackendDB *bd ));
20 extern int bdb_back_db_destroy LDAP_P(( BackendDB *bd ));
22 extern int bdb_back_db_config LDAP_P(( BackendDB *bd,
23 const char *fname, int lineno,
24 int argc, char **argv ));
26 extern int bdb_back_extended LDAP_P(( BackendDB *bd,
27 Connection *conn, Operation *op,
29 struct berval *reqdata,
31 struct berval **rspdata,
32 LDAPControl *** rspctrls,
34 struct berval *** refs ));
36 extern int bdb_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 ));
41 extern int bdb_back_unbind LDAP_P(( BackendDB *bd,
42 Connection *conn, Operation *op ));
44 extern int bdb_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 ));
51 extern int bdb_back_compare LDAP_P(( BackendDB *bd,
52 Connection *conn, Operation *op,
53 const char *dn, const char *ndn,
54 AttributeAssertion *ava ));
56 extern int bdb_back_modify LDAP_P(( BackendDB *bd,
57 Connection *conn, Operation *op,
58 const char *dn, const char *ndn, Modifications *ml ));
60 extern int bdb_back_modrdn LDAP_P(( BackendDB *bd,
61 Connection *conn, Operation *op,
62 const char *dn, const char *ndn,
63 const char* newrdn, int deleteoldrdn,
64 const char *newSuperior ));
66 extern int bdb_back_add LDAP_P(( BackendDB *bd,
67 Connection *conn, Operation *op, Entry *e ));
69 extern int bdb_back_delete LDAP_P(( BackendDB *bd,
70 Connection *conn, Operation *op,
71 const char *dn, const char *ndn ));
73 extern int bdb_back_abandon LDAP_P(( BackendDB *bd,
74 Connection *conn, Operation *op, ber_int_t msgid ));
76 extern int bdb_back_group LDAP_P(( BackendDB *bd,
80 ObjectClass* group_oc,
81 AttributeDescription* group_at));
83 extern int bdb_back_attribute LDAP_P(( BackendDB *bd,
84 Connection *conn, Operation *op,
87 AttributeDescription* entry_at,
88 struct berval ***vals));
91 /* hooks for slap tools */
92 extern int bdb_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
93 extern int bdb_tool_entry_close LDAP_P(( BackendDB *be ));
94 extern ID bdb_tool_entry_first LDAP_P(( BackendDB *be ));
95 extern ID bdb_tool_entry_next LDAP_P(( BackendDB *be ));
96 extern Entry* bdb_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
97 extern ID bdb_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
99 extern int bdb_tool_entry_reindex LDAP_P(( BackendDB *be, ID id ));
100 extern int bdb_tool_sync LDAP_P(( BackendDB *be ));
102 extern int bdb_back_referrals LDAP_P(( BackendDB *bd,
103 Connection *conn, Operation *op,
104 const char *dn, const char *ndn,
105 const char **text ));
109 #endif /* _BDB_EXTERNAL_H */