5 #ifdef CNID_BACKEND_TDB
9 /* Return CNID for a given did/name. */
10 cnid_t cnid_tdb_get(struct _cnid_db *cdb, cnid_t did, const char *name, size_t len)
12 char start[CNID_DID_LEN + MAXPATHLEN + 1], *buf;
13 struct _cnid_tdb_private *db;
17 if (!cdb || !(db = cdb->_private) || (len > MAXPATHLEN)) {
21 memset(&key, 0, sizeof(key));
22 memset(&data, 0, sizeof(data));
25 memcpy(buf, &did, sizeof(did));
27 memcpy(buf, name, len);
28 *(buf + len) = '\0'; /* Make it a C-string. */
30 key.dsize = CNID_DID_LEN + len + 1;
31 data = tdb_fetch(db->tdb_didname, key);
35 memcpy(&id, data.dptr, sizeof(id));