3 * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
7 #ifndef _LDBM_EXTERNAL_H
8 #define _LDBM_EXTERNAL_H
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 ));
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 ));
22 extern int ldbm_back_db_config LDAP_P(( BackendDB *bd,
23 const char *fname, int lineno,
24 int argc, char **argv ));
26 extern int ldbm_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 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 ));
41 extern int ldbm_back_unbind LDAP_P(( BackendDB *bd,
42 Connection *conn, Operation *op ));
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 ));
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 ));
57 extern int ldbm_back_compare LDAP_P((BackendDB *bd,
58 Connection *conn, Operation *op,
59 const char *dn, const char *ndn,
63 extern int ldbm_back_modify LDAP_P(( BackendDB *bd,
64 Connection *conn, Operation *op,
65 const char *dn, const char *ndn, Modifications *ml ));
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 ));
73 extern int ldbm_back_add LDAP_P(( BackendDB *bd,
74 Connection *conn, Operation *op, Entry *e ));
76 extern int ldbm_back_delete LDAP_P(( BackendDB *bd,
77 Connection *conn, Operation *op,
78 const char *dn, const char *ndn ));
80 extern int ldbm_back_abandon LDAP_P(( BackendDB *bd,
81 Connection *conn, Operation *op, ber_int_t msgid ));
83 #ifdef SLAPD_SCHEMA_NOT_COMPAT
84 extern int ldbm_back_group LDAP_P(( BackendDB *bd,
88 ObjectClass* group_oc,
89 AttributeDescription* group_at));
91 extern int ldbm_back_group LDAP_P(( BackendDB *bd,
93 const char* gr_ndn, const char* op_ndn,
95 const char* group_at));
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 ));
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 ));
114 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be,
116 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be,
118 struct berval **bv, ID id, int op ));
120 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
125 #endif /* _LDBM_EXTERNAL_H */