3 * Copyright 2000 The OpenLDAP Foundation, All Rights Reserved.
4 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
15 Entry *bdb_deref_internal_r LDAP_P((
23 #define deref_entry_r( be, e, err, matched, text ) \
24 bdb_deref_internal_r( be, e, NULL, err, matched, text )
25 #define deref_dn_r( be, dn, err, matched, text ) \
26 bdb_deref_internal_r( be, NULL, dn, err, matched, text)
32 void bdb_attr_mask( struct bdb_info *bdb,
33 AttributeDescription *desc,
34 slap_mask_t *indexmask );
36 int bdb_attr_index_config LDAP_P(( struct bdb_info *bdb,
37 const char *fname, int lineno,
38 int argc, char **argv ));
40 void bdb_attr_index_destroy LDAP_P(( Avlnode *tree ));
47 bdb_attribute LDAP_P(( Backend *be, Connection *conn, Operation *op,
48 Entry *target, const char *e_ndn, AttributeDescription *entry_at,
49 struct berval ***vals ));
63 int bdb_dn2entry LDAP_P(( BackendDB *be, DB_TXN *tid,
64 const char *dn, Entry **e, Entry **matched, int flags ));
75 int bdb_dn2id_matched(
95 int bdb_dn2id_children(
110 int bdb_entry_return( BackendDB *be, Entry *e );
111 int bdb_entry_release( BackendDB *, Connection *, Operation *, Entry *, int );
116 void bdb_errcall( const char *pfx, char * msg );
121 int bdb_filter_candidates(
138 ObjectClass *group_oc,
139 AttributeDescription *group_at);
144 int bdb_id2entry_add(
149 int bdb_id2entry_update(
154 int bdb_id2entry_delete(
168 unsigned bdb_idl_search( ID *ids, ID id );
175 int bdb_idl_fetch_key(
182 int bdb_idl_insert_key(
189 int bdb_idl_delete_key(
205 bdb_idl_intersection(
214 ID bdb_idl_first( ID *ids, ID *cursor );
215 ID bdb_idl_next( ID *ids, ID *cursor );
222 bdb_index_param LDAP_P((
224 AttributeDescription *desc,
228 struct berval *prefix ));
231 bdb_index_values LDAP_P((
234 AttributeDescription *desc,
235 struct berval **vals,
239 int bdb_index_entry LDAP_P(( Backend *be, DB_TXN *t,
240 int r, Entry *e, Attribute *ap ));
242 #define bdb_index_entry_add(be,t,e,ap) \
243 bdb_index_entry((be),(t),SLAP_INDEX_ADD_OP,(e),(ap))
244 #define bdb_index_entry_del(be,t,e,ap) \
245 bdb_index_entry((be),(t),SLAP_INDEX_DELETE_OP,(e),(ap))
270 int bdb_next_id( BackendDB *be, DB_TXN *tid, ID *id );
271 int bdb_last_id( BackendDB *be, DB_TXN *tid );
276 int bdb_modify_internal(
281 Modifications *modlist,
296 struct berval *reqdata,
298 struct berval **rspdata,
299 LDAPControl *** rspctrls,
301 struct berval *** refs );
306 int bdb_tool_entry_open( BackendDB *be, int mode );
307 int bdb_tool_entry_close( BackendDB *be );
308 ID bdb_tool_entry_next( BackendDB *be );
309 Entry* bdb_tool_entry_get( BackendDB *be, ID id );
310 ID bdb_tool_entry_put( BackendDB *be, Entry *e );
311 int bdb_tool_entry_reindex( BackendDB *be, ID id );
316 #endif /* _PROTO_BDB_H */