3 * Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
4 * All Rights Reserved. See COPYRIGHT.
6 * cnid_delete: delete a CNID from the database
13 #ifdef CNID_BACKEND_TDB
17 int cnid_tdb_delete(struct _cnid_db *cdb, const cnid_t id)
19 struct _cnid_tdb_private *db;
22 if (!cdb || !(db = cdb->_private) || !id) {
25 memset(&key, 0, sizeof(key));
26 memset(&data, 0, sizeof(data));
28 key.dptr = (unsigned char *)&id;
29 key.dsize = sizeof(cnid_t);
30 data = tdb_fetch(db->tdb_cnid, key);
36 tdb_delete(db->tdb_cnid, key);
38 key.dptr = data.dptr +CNID_DEVINO_OFS;
39 key.dsize = CNID_DEVINO_LEN;
40 tdb_delete(db->tdb_devino, key);
42 key.dptr = data.dptr +CNID_DID_OFS;
43 key.dsize = data.dsize -CNID_DID_OFS;
44 tdb_delete(db->tdb_didname, key);