]> git.sur5r.net Git - openldap/blob - servers/slapd/back-bdb/proto-bdb.h
e87da339fc2587481ee524a093651ed35fcb47a7
[openldap] / servers / slapd / back-bdb / proto-bdb.h
1 /* $OpenLDAP$ */
2 /*
3  * Copyright 2000 The OpenLDAP Foundation, All Rights Reserved.
4  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
5  */
6
7 #ifndef _PROTO_BDB_H
8 #define _PROTO_BDB_H
9
10 LDAP_BEGIN_DECL
11
12
13 /*
14  * alias.c
15  */
16 Entry *bdb_deref_internal_r LDAP_P((
17         Backend *be,
18         Entry *e,
19         const char *dn,
20         int *err,
21         Entry **matched,
22         const char **text ));
23
24 #define deref_entry_r( be, e, err, matched, text ) \
25         bdb_deref_internal_r( be, e, NULL, err, matched, text )
26 #define deref_dn_r( be, dn, err, matched, text ) \
27         bdb_deref_internal_r( be, NULL, dn, err, matched, text)
28
29 /*
30  * dn2id.c
31  */
32 int bdb_index_dn_add(
33         BackendDB *be,
34         DB_TXN *tid,
35         const char *dn,
36         ID id );
37
38 Entry * bdb_dn2entry_rw LDAP_P(( Backend *be, DB_TXN *tid,
39         const char *dn, Entry **matched, int rw ));
40
41 #define dn2entry_r(be, tid, dn, m) bdb_dn2entry_rw((be), (tid), (dn), (m), 0)
42 #define dn2entry_w(be, tid, dn, m) bdb_dn2entry_rw((be), (tid), (dn), (m), 1)
43
44 /*
45  * error.c
46  */
47 void bdb_errcall( const char *pfx, char * msg );
48
49 /*
50  * idl.c
51  */
52 int bdb_idl_insert_key(
53         BackendDB *be,
54         DB *db,
55         DB_TXN *txn,
56         DBT *key,
57         ID id );
58
59 /*
60  * nextid.c
61  */
62 int bdb_next_id( BackendDB *be, DB_TXN *tid, ID *id );
63
64 /*
65  * tools.c
66  */
67 int bdb_tool_entry_open( BackendDB *be, int mode );
68 int bdb_tool_entry_close( BackendDB *be );
69 ID bdb_tool_entry_next( BackendDB *be );
70 Entry* bdb_tool_entry_get( BackendDB *be, ID id );
71 ID bdb_tool_entry_put( BackendDB *be, Entry *e );
72
73
74 LDAP_END_DECL
75
76 #endif /* _PROTO_BDB_H */