1 /* id2entry.c - routines to deal with the id2entry database */
4 * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
5 * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
11 #include <ac/string.h>
20 struct bdb_info *bdb = (struct bdb_info *) be->be_private;
21 DB *db = bdb->bi_id2entry->bdi_db;
27 key.data = (char *) &e->e_id;
28 key.size = sizeof(ID);
30 rc = entry_encode( e, &bv );
31 if( rc != LDAP_SUCCESS ) {
38 rc = db->put( db, tid, &key, &data, DB_NOOVERWRITE );
50 struct bdb_info *bdb = (struct bdb_info *) be->be_private;
51 DB *db = bdb->bi_id2entry->bdi_db;
59 key.data = (char *) &id;
60 key.size = sizeof(ID);
63 data.flags = DB_DBT_MALLOC;
66 rc = db->get( db, tid, &key, &data, 0 );
74 rc = entry_decode( &bv, e );
80 int bdb_id2entry_delete(
85 struct bdb_info *bdb = (struct bdb_info *) be->be_private;
86 DB *db = bdb->bi_id2entry->bdi_db;
92 key.data = (char *) &id;
93 key.size = sizeof(ID);
95 rc = db->del( db, tid, &key, 0 );
101 int bdb_entry_return(