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 extern int ldbm_back_compare LDAP_P(( BackendDB *bd,
52 Connection *conn, Operation *op,
53 const char *dn, const char *ndn,
54 AttributeAssertion *ava ));
56 extern int ldbm_back_modify LDAP_P(( BackendDB *bd,
57 Connection *conn, Operation *op,
58 const char *dn, const char *ndn, Modifications *ml ));
60 extern int ldbm_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 ldbm_back_add LDAP_P(( BackendDB *bd,
67 Connection *conn, Operation *op, Entry *e ));
69 extern int ldbm_back_delete LDAP_P(( BackendDB *bd,
70 Connection *conn, Operation *op,
71 const char *dn, const char *ndn ));
73 extern int ldbm_back_abandon LDAP_P(( BackendDB *bd,
74 Connection *conn, Operation *op, ber_int_t msgid ));
76 extern int ldbm_back_group LDAP_P(( BackendDB *bd,
80 ObjectClass* group_oc,
81 AttributeDescription* group_at));
83 extern int ldbm_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 ldbm_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
93 extern int ldbm_tool_entry_close LDAP_P(( BackendDB *be ));
94 extern ID ldbm_tool_entry_first LDAP_P(( BackendDB *be ));
95 extern ID ldbm_tool_entry_next LDAP_P(( BackendDB *be ));
96 extern Entry* ldbm_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
97 extern ID ldbm_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
99 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be,
100 AttributeDescription* desc ));
101 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be,
102 AttributeDescription* desc,
103 struct berval **bv, ID id, int op ));
104 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
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 ));
113 #endif /* _LDBM_EXTERNAL_H */