]> git.sur5r.net Git - openldap/blob - servers/slapd/back-ldbm/external.h
New dn2id format with base/one/subtree indices (ldbm/bdb2)
[openldap] / servers / slapd / back-ldbm / external.h
1 /*
2  * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
3  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
4  */
5
6 #ifndef _LDBM_EXTERNAL_H
7 #define _LDBM_EXTERNAL_H
8
9 LDAP_BEGIN_DECL
10
11 extern int      ldbm_back_initialize LDAP_P(( BackendInfo *bi ));
12 extern int      ldbm_back_open LDAP_P(( BackendInfo *bi ));
13 extern int      ldbm_back_close LDAP_P(( BackendInfo *bi ));
14 extern int      ldbm_back_destroy LDAP_P(( BackendInfo *bi ));
15
16 extern int      ldbm_back_db_init LDAP_P(( BackendDB *bd ));
17 extern int      ldbm_back_db_open LDAP_P(( BackendDB *bd ));
18 extern int      ldbm_back_db_close LDAP_P(( BackendDB *bd ));
19 extern int      ldbm_back_db_destroy LDAP_P(( BackendDB *bd ));
20
21 extern int      ldbm_back_db_config LDAP_P(( BackendDB *bd,
22         char *fname, int lineno, int argc, char **argv ));
23
24 extern int ldbm_back_bind LDAP_P(( BackendDB *bd,
25         Connection *conn, Operation *op,
26         char *dn, int method, char* mech,
27         struct berval *cred, char** edn ));
28
29 extern int      ldbm_back_unbind LDAP_P(( BackendDB *bd,
30         Connection *conn, Operation *op ));
31
32 extern int      ldbm_back_search LDAP_P(( BackendDB *bd,
33         Connection *conn, Operation *op,
34         char *base, int scope, int deref, int sizelimit, int timelimit,
35         Filter *filter, char *filterstr, char **attrs, int attrsonly ));
36
37 extern int      ldbm_back_compare LDAP_P((BackendDB *bd,
38         Connection *conn, Operation *op,
39         char *dn, Ava   *ava ));
40
41 extern int      ldbm_back_modify LDAP_P(( BackendDB *bd,
42         Connection *conn, Operation *op,
43         char *dn, LDAPModList *ml ));
44
45 extern int      ldbm_back_modrdn LDAP_P(( BackendDB *bd,
46         Connection *conn, Operation *op,
47         char *dn, char* newrdn, int deleteoldrdn,
48         char *newSuperior ));
49
50 extern int      ldbm_back_add LDAP_P(( BackendDB *bd,
51         Connection *conn, Operation *op, Entry *e ));
52
53 extern int      ldbm_back_delete LDAP_P(( BackendDB *bd,
54         Connection *conn, Operation *op, char *dn ));
55
56 extern int      ldbm_back_abandon LDAP_P(( BackendDB *bd,
57         Connection *conn, Operation *op, ber_int_t msgid ));
58
59 extern int      ldbm_back_group LDAP_P(( BackendDB *bd,
60         Entry *target, char* gr_ndn, char* op_ndn,
61         char* objectclassValue, char* groupattrName));
62
63
64 /* hooks for slap tools */
65 extern int ldbm_tool_entry_open LDAP_P(( BackendDB *be, int mode ));
66 extern int ldbm_tool_entry_close LDAP_P(( BackendDB *be ));
67 extern ID ldbm_tool_entry_first LDAP_P(( BackendDB *be ));
68 extern ID ldbm_tool_entry_next LDAP_P(( BackendDB *be ));
69 extern Entry* ldbm_tool_entry_get LDAP_P(( BackendDB *be, ID id ));
70 extern ID ldbm_tool_entry_put LDAP_P(( BackendDB *be, Entry *e ));
71 extern int ldbm_tool_index_attr LDAP_P(( BackendDB *be, char* type ));
72 extern int ldbm_tool_index_change LDAP_P(( BackendDB *be, char* type,
73         struct berval **bv, ID id, int op ));
74 extern int ldbm_tool_sync LDAP_P(( BackendDB *be ));
75
76         
77 LDAP_END_DECL
78
79 #endif /* _LDBM_EXTERNAL_H */
80