]> arthur.barton.de Git - netatalk.git/blob - libatalk/cnid/cdb/cnid_cdb_delete.c
Remove all Appletalk stuff
[netatalk.git] / libatalk / cnid / cdb / cnid_cdb_delete.c
1 /*
2  * $Id: cnid_cdb_delete.c,v 1.4 2009-10-29 13:38:16 didg Exp $
3  *
4  * Copyright (c) 1999. Adrian Sun (asun@zoology.washington.edu)
5  * All Rights Reserved. See COPYRIGHT.
6  *
7  * cnid_delete: delete a CNID from the database 
8  */
9
10 #ifdef HAVE_CONFIG_H
11 #include "config.h"
12 #endif /* HAVE_CONFIG_H */
13
14 #ifdef CNID_BACKEND_CDB
15 #include <arpa/inet.h>
16 #include "cnid_cdb_private.h"
17
18 #define tid    NULL
19
20 int cnid_cdb_delete(struct _cnid_db *cdb, const cnid_t id) {
21     CNID_private *db;
22     DBT key;
23     int rc;
24
25     if (!cdb || !(db = cdb->_private) || !id || (db->flags & CNIDFLAG_DB_RO)) {
26         return -1;
27     }
28
29     memset(&key, 0, sizeof(key));
30
31     /* Get from ain CNID database. */
32     key.data = (cnid_t *)&id;
33     key.size = sizeof(id);
34     
35     if ((rc = db->db_cnid->del(db->db_cnid, tid, &key, 0))) {
36         LOG(log_error, logtype_default, "cnid_delete: Unable to delete CNID %u: %s",
37             ntohl(id), db_strerror(rc));
38     }
39     else {
40 #ifdef DEBUG
41         LOG(log_debug9, logtype_default, "cnid_delete: Deleting CNID %u", ntohl(id));
42 #endif
43     }
44     return rc;
45 }
46
47 #endif /* CNID_BACKEND_CDB */