3 * Copyright 1998-1999 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, int argc, char **argv ));
25 extern int ldbm_back_extended LDAP_P(( BackendDB *bd,
26 Connection *conn, Operation *op,
28 struct berval *reqdata,
30 struct berval **rspdata,
31 LDAPControl *** rspctrls,
33 struct berval *** refs ));
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 ));
40 extern int ldbm_back_unbind LDAP_P(( BackendDB *bd,
41 Connection *conn, Operation *op ));
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 ));
48 extern int ldbm_back_compare LDAP_P((BackendDB *bd,
49 Connection *conn, Operation *op,
50 char *dn, char *ndn, Ava *ava ));
52 extern int ldbm_back_modify LDAP_P(( BackendDB *bd,
53 Connection *conn, Operation *op,
54 char *dn, char *ndn, LDAPModList *ml ));
56 extern int ldbm_back_modrdn LDAP_P(( BackendDB *bd,
57 Connection *conn, Operation *op,
58 char *dn, char *ndn, char* newrdn, int deleteoldrdn,
61 extern int ldbm_back_add LDAP_P(( BackendDB *bd,
62 Connection *conn, Operation *op, Entry *e ));
64 extern int ldbm_back_delete LDAP_P(( BackendDB *bd,
65 Connection *conn, Operation *op, char *dn, char *ndn ));
67 extern int ldbm_back_abandon LDAP_P(( BackendDB *bd,
68 Connection *conn, Operation *op, ber_int_t msgid ));
70 extern int ldbm_back_group LDAP_P(( BackendDB *bd,
71 Entry *target, const char* gr_ndn, const char* op_ndn,
72 const char* objectclassValue, const char* groupattrName));
75 /* hooks for slap tools */
76 extern int ldbm_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
77 extern int ldbm_tool_entry_close LDAP_P(( BackendDB *be ));
78 extern ID ldbm_tool_entry_first LDAP_P(( BackendDB *be ));
79 extern ID ldbm_tool_entry_next LDAP_P(( BackendDB *be ));
80 extern Entry* ldbm_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
81 extern ID ldbm_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
82 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be, char* type ));
83 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be, char* type,
84 struct berval **bv, ID id, int op ));
85 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
90 #endif /* _LDBM_EXTERNAL_H */