2 * $Id: cnid_tdb_delete.c,v 1.2 2005-04-28 20:50:02 bfernhomberg Exp $
4 * Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
5 * All Rights Reserved. See COPYRIGHT.
7 * cnid_delete: delete a CNID from the database
14 #ifdef CNID_BACKEND_TDB
18 int cnid_tdb_delete(struct _cnid_db *cdb, const cnid_t id)
20 struct _cnid_tdb_private *db;
23 if (!cdb || !(db = cdb->_private) || !id) {
26 memset(&key, 0, sizeof(key));
27 memset(&data, 0, sizeof(data));
29 key.dptr = (char *)&id;
30 key.dsize = sizeof(cnid_t);
31 data = tdb_fetch(db->tdb_cnid, key);
37 tdb_delete(db->tdb_cnid, key);
40 key.dsize = TDB_DEVINO_LEN;
41 tdb_delete(db->tdb_devino, key);
43 key.dptr = (char *)data.dptr + TDB_DEVINO_LEN;
44 key.dsize = data.dsize - TDB_DEVINO_LEN;
45 tdb_delete(db->tdb_didname, key);