Lines Matching refs:db

39 #include <db.h>
41 #include <db5/db.h>
43 #include <db4/db.h>
45 #include <db3/db.h>
47 #include <db.h>
51 DB_close(krb5_context context, HDB *db)
53 DB *d = (DB*)db->hdb_db;
54 DBC *dbcp = (DBC*)db->hdb_dbc;
57 db->hdb_dbc = 0;
63 DB_destroy(krb5_context context, HDB *db)
67 ret = hdb_clear_master_key (context, db);
68 free(db->hdb_name);
69 free(db);
74 DB_lock(krb5_context context, HDB *db, int operation)
76 DB *d = (DB*)db->hdb_db;
84 DB_unlock(krb5_context context, HDB *db)
86 DB *d = (DB*)db->hdb_db;
95 DB_seq(krb5_context context, HDB *db,
99 DBC *dbcp = db->hdb_dbc;
105 if ((*db->hdb_lock)(context, db, HDB_RLOCK))
108 (*db->hdb_unlock)(context, db); /* XXX check value */
120 return DB_seq(context, db, flags, entry, DB_NEXT);
121 if (db->hdb_master_key_set && (flags & HDB_F_DECRYPT)) {
122 code = hdb_unseal_keys (context, db, &entry->entry);
141 DB_firstkey(krb5_context context, HDB *db, unsigned flags, hdb_entry_ex *entry)
143 return DB_seq(context, db, flags, entry, DB_FIRST);
148 DB_nextkey(krb5_context context, HDB *db, unsigned flags, hdb_entry_ex *entry)
150 return DB_seq(context, db, flags, entry, DB_NEXT);
154 DB_rename(krb5_context context, HDB *db, const char *new_name)
159 asprintf(&old, "%s.db", db->hdb_name);
160 asprintf(&new, "%s.db", new_name);
167 free(db->hdb_name);
168 db->hdb_name = strdup(new_name);
173 DB__get(krb5_context context, HDB *db, krb5_data key, krb5_data *reply)
175 DB *d = (DB*)db->hdb_db;
184 if ((code = (*db->hdb_lock)(context, db, HDB_RLOCK)))
187 (*db->hdb_unlock)(context, db);
198 DB__put(krb5_context context, HDB *db, int replace,
201 DB *d = (DB*)db->hdb_db;
213 if ((code = (*db->hdb_lock)(context, db, HDB_WLOCK)))
216 (*db->hdb_unlock)(context, db);
225 DB__del(krb5_context context, HDB *db, krb5_data key)
227 DB *d = (DB*)db->hdb_db;
234 code = (*db->hdb_lock)(context, db, HDB_WLOCK);
238 (*db->hdb_unlock)(context, db);
247 DB_open(krb5_context context, HDB *db, int flags, mode_t mode)
267 asprintf(&fn, "%s.db", db->hdb_name);
277 db->hdb_db = d;
280 ret = (*d->open)(db->hdb_db, NULL, fn, NULL, DB_BTREE, myflags, mode);
282 ret = (*d->open)(db->hdb_db, fn, NULL, DB_BTREE, myflags, mode);
286 /* try to open without .db extension */
288 ret = (*d->open)(db->hdb_db, NULL, db->hdb_name, NULL, DB_BTREE,
291 ret = (*d->open)(db->hdb_db, db->hdb_name, NULL, DB_BTREE,
299 db->hdb_name, strerror(ret));
309 db->hdb_dbc = dbc;
312 ret = hdb_check_db_format(context, db);
314 ret = hdb_init_db(context, db);
318 DB_close(context, db);
322 db->hdb_name);
329 hdb_db_create(krb5_context context, HDB **db,
332 *db = calloc(1, sizeof(**db));
333 if (*db == NULL) {
338 (*db)->hdb_db = NULL;
339 (*db)->hdb_name = strdup(filename);
340 if ((*db)->hdb_name == NULL) {
341 free(*db);
342 *db = NULL;
346 (*db)->hdb_master_key_set = 0;
347 (*db)->hdb_openp = 0;
348 (*db)->hdb_capability_flags = HDB_CAP_F_HANDLE_ENTERPRISE_PRINCIPAL;
349 (*db)->hdb_open = DB_open;
350 (*db)->hdb_close = DB_close;
351 (*db)->hdb_fetch_kvno = _hdb_fetch_kvno;
352 (*db)->hdb_store = _hdb_store;
353 (*db)->hdb_remove = _hdb_remove;
354 (*db)->hdb_firstkey = DB_firstkey;
355 (*db)->hdb_nextkey= DB_nextkey;
356 (*db)->hdb_lock = DB_lock;
357 (*db)->hdb_unlock = DB_unlock;
358 (*db)->hdb_rename = DB_rename;
359 (*db)->hdb__get = DB__get;
360 (*db)->hdb__put = DB__put;
361 (*db)->hdb__del = DB__del;
362 (*db)->hdb_destroy = DB_destroy;