00001
00002 #ifndef __JBXL_BERKELEY_DB4_H__
00003 #define __JBXL_BERKELEY_DB4_H__
00004
00005
00019 #include "tlist.h"
00020
00021
00022 #ifdef DISABLE_BERKELEYDB
00023 #ifdef ENABLE_BERKELEYDB
00024 #undef ENABLE_BERKELEYDB
00025 #endif
00026 #endif
00027
00028
00029 #ifdef ENABLE_BERKELEYDB
00030 #ifndef HAVE_DB_H
00031 #ifndef DISABLE_BERKELEYDB
00032 #define DISABLE_BERKELEYDB
00033 #endif
00034 #undef ENABLE_BERKELEYDB
00035 #endif
00036 #endif
00037
00038
00039
00040 #ifdef ENABLE_BERKELEYDB
00041
00042
00043
00044 #if ! defined (HAVE_DB_H) && ! defined (HAVE_LIBDB_4_2)
00045 #error fdb.h needs Berkley
00046 #endif
00047
00048
00049 #define DB_DBM_HSEARCH 1
00050 #include <db.h>
00051
00052 #include <fcntl.h>
00053
00054
00055
00057
00058 DB* open_fdb(char* fname, unsigned int mode);
00059 void close_fdb(DB** dp);
00060
00061 #define flush_fdb(d) (d)->sync((d), 0)
00062
00063 int set_fdb_data(DB* dp, Buffer id, Buffer dbdata);
00064 int del_fdb_data(DB* dp, Buffer id);
00065 Buffer get_fdb_data(DB* dp, Buffer id);
00066
00067
00069
00070 int check_fdb_file(char* fname);
00071 int set_fdb_data_file(char* fname, Buffer id, Buffer dbdata);
00072 int del_fdb_data_file(char* fname, Buffer id);
00073 Buffer get_fdb_data_file(char* fname, Buffer id);
00074
00075
00077
00078 tList* get_all_fdb_data(DB* dp);
00079 tList* get_all_fdb_data_file(char* fname);
00080
00081
00082 #endif // ENABLE_BERKELEYDB
00083
00084 #endif // __JBXL_BERKELEY_DB4_H__
00085
00086