34 #if defined(LIBC_SCCS) && !defined(lint)
35 static char sccsid[] =
"@(#)db.c 8.4 (Berkeley) 2/21/94";
38 #include <sys/types.h>
45 #include "../include/db.h"
48 dbopen(fname, flags, mode, type, openinfo)
55 #define DB_FLAGS (DB_LOCK | DB_SHMEM | DB_TXN)
56 #define USE_OPEN_FLAGS \
57 (O_CREAT | O_EXCL | O_EXLOCK | O_NONBLOCK | O_RDONLY | \
58 O_RDWR | O_SHLOCK | O_TRUNC)
60 if ((flags & ~(USE_OPEN_FLAGS | DB_FLAGS)) == 0)
63 return (__bt_open(fname, flags & USE_OPEN_FLAGS,
64 mode, openinfo, flags & DB_FLAGS));
66 return (__hash_open(fname, flags & USE_OPEN_FLAGS,
67 mode, openinfo, flags & DB_FLAGS));
69 return (__rec_open(fname, flags & USE_OPEN_FLAGS,
70 mode, openinfo, flags & DB_FLAGS));
93 dbp->del = (int (*)__P((const struct
__db *,
94 const
DBT *, u_int))) __dberr;
95 dbp->get = (
int (*)__P((const struct __db *,
96 const DBT *, DBT *, u_int))) __dberr;
97 dbp->put = (
int (*)__P((const struct __db *,
98 DBT *, const DBT *, u_int))) __dberr;
99 dbp->seq = (
int (*)__P((const struct __db *,
100 DBT *, DBT *, u_int))) __dberr;
101 dbp->sync = (
int (*)__P((const struct __db *, u_int))) __dberr;
102 dbp->fd = (
int (*)__P((const struct __db *))) __dberr;