db.h_4_5 10.7 KB
Newer Older
Rich Prohaska's avatar
Rich Prohaska committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#ifndef _DB_H
#define _DB_H
/* This code generated by make_db_h.   Copyright (c) 2007 Tokutek */
#ident "Copyright (c) 2007 Tokutek Inc.  All rights reserved."
#include <sys/types.h>
/*stdio is needed for the FILE* in db->verify*/
#include <stdio.h>
#if defined(__cplusplus)
extern "C" {
#endif
#define TOKUDB 1
#define DB_VERSION_MAJOR 4
#define DB_VERSION_MINOR 5
#define DB_VERSION_PATCH 20
#ifndef _TOKUDB_WRAP_H
#define DB_VERSION_STRING "Tokutek: TokuDB 4.5.20"
#else
#define DB_VERSION_STRING_ydb "Tokutek: TokuDB (wrapped bdb)"
#endif
typedef struct __toku_db_btree_stat DB_BTREE_STAT;
typedef struct __toku_db_env DB_ENV;
typedef struct __toku_db_key_range DB_KEY_RANGE;
typedef struct __toku_db_lsn DB_LSN;
typedef struct __toku_db DB;
typedef struct __toku_db_txn DB_TXN;
typedef struct __toku_db_txn_active DB_TXN_ACTIVE;
typedef struct __toku_db_txn_stat DB_TXN_STAT;
typedef struct __toku_dbc DBC;
typedef struct __toku_dbt DBT;
typedef enum {
 DB_BTREE=1
} DBTYPE;
#ifndef _TOKUDB_WRAP_H
#define DB_VERB_DEADLOCK 1
#define DB_VERB_RECOVERY 2
#define DB_VERB_REPLICATION 8
#define DB_VERB_WAITSFOR 16
#define DB_DBT_MALLOC 4
#define DB_DBT_REALLOC 16
#define DB_DBT_USERMEM 64
#define DB_DBT_DUPOK 128
#define DB_ARCH_ABS 1
#define DB_ARCH_LOG 4
#define DB_CREATE 1
#define DB_EXCL 16384
#define DB_PRIVATE 2097152
#define DB_RDONLY 32
#define DB_RECOVER 64
#define DB_THREAD 128
#define DB_TXN_NOSYNC 512
#define DB_LOCK_DEFAULT 1
#define DB_LOCK_OLDEST 7
#define DB_LOCK_RANDOM 8
#define DB_DUP 32768
#define DB_DUPSORT 65536
56
#define DB_NODUPDATA 19
Rich Prohaska's avatar
Rich Prohaska committed
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
#define DB_NOOVERWRITE 20
#define DB_INIT_LOCK 32768
#define DB_INIT_LOG 65536
#define DB_INIT_MPOOL 131072
#define DB_INIT_TXN 524288
#define DB_USE_ENVIRON 4096
#define DB_USE_ENVIRON_ROOT 8192
#define DB_KEYEMPTY -30997
#define DB_KEYEXIST -30996
#define DB_LOCK_DEADLOCK -30995
#define DB_NOTFOUND -30989
#define DB_SECONDARY_BAD -30974
#define DB_DONOTINDEX -30998
#define DB_BADFORMAT -30500
#define DB_DELETE_ANY 65536
#define DB_FIRST 7
#define DB_GET_BOTH 8
#define DB_LAST 15
#define DB_CURRENT 6
#define DB_NEXT 16
#define DB_NEXT_DUP 17
#define DB_PREV 23
#define DB_SET 25
#define DB_SET_RANGE 27
#define DB_RMW 1073741824
#define DB_DBT_APPMALLOC 1
#endif
/* in wrap mode, top-level function txn_begin is renamed, but the field isn't renamed, so we have to hack it here.*/
#ifdef _TOKUDB_WRAP_H
#undef txn_begin
#endif
struct __toku_db_btree_stat {
  char __toku_dummy0[12];
  u_int32_t bt_nkeys; /* 32-bit offset=12 size=4, 64=bit offset=12 size=4 */
  u_int32_t bt_ndata; /* 32-bit offset=16 size=4, 64=bit offset=16 size=4 */
  char __toku_dummy1[60];  /* Padding at the end */ 
};
struct __toku_db_env {
  struct __toku_db_env_internal *i;
  void* __toku_dummy0[12];
  void *app_private; /* 32-bit offset=52 size=4, 64=bit offset=104 size=8 */
  void* __toku_dummy1[47];
  char __toku_dummy2[128];
  int  (*close) (DB_ENV *, u_int32_t); /* 32-bit offset=372 size=4, 64=bit offset=616 size=8 */
  void* __toku_dummy3[2];
  void (*err) (const DB_ENV *, int, const char *, ...); /* 32-bit offset=384 size=4, 64=bit offset=640 size=8 */
  void* __toku_dummy4[40];
  int  (*log_archive) (DB_ENV *, char **[], u_int32_t); /* 32-bit offset=548 size=4, 64=bit offset=968 size=8 */
  void* __toku_dummy5[2];
  int  (*log_flush) (DB_ENV *, const DB_LSN *); /* 32-bit offset=560 size=4, 64=bit offset=992 size=8 */
  void* __toku_dummy6[25];
  int  (*open) (DB_ENV *, const char *, u_int32_t, int); /* 32-bit offset=664 size=4, 64=bit offset=1200 size=8 */
  void* __toku_dummy7[27];
  int  (*set_cachesize) (DB_ENV *, u_int32_t, u_int32_t, int); /* 32-bit offset=776 size=4, 64=bit offset=1424 size=8 */
  int  (*set_data_dir) (DB_ENV *, const char *); /* 32-bit offset=780 size=4, 64=bit offset=1432 size=8 */
  void* __toku_dummy8[1];
  void (*set_errcall) (DB_ENV *, void (*)(const char *, char *)); /* 32-bit offset=788 size=4, 64=bit offset=1448 size=8 */
  void* __toku_dummy9[1];
  void (*set_errpfx) (DB_ENV *, const char *); /* 32-bit offset=796 size=4, 64=bit offset=1464 size=8 */
  void* __toku_dummy10[2];
  int  (*set_flags) (DB_ENV *, u_int32_t, int); /* 32-bit offset=808 size=4, 64=bit offset=1488 size=8 */
  void* __toku_dummy11[2];
  int  (*set_lg_bsize) (DB_ENV *, u_int32_t); /* 32-bit offset=820 size=4, 64=bit offset=1512 size=8 */
  int  (*set_lg_dir) (DB_ENV *, const char *); /* 32-bit offset=824 size=4, 64=bit offset=1520 size=8 */
  void* __toku_dummy12[1];
  int  (*set_lg_max) (DB_ENV *, u_int32_t); /* 32-bit offset=832 size=4, 64=bit offset=1536 size=8 */
  void* __toku_dummy13[2];
  int  (*set_lk_detect) (DB_ENV *, u_int32_t); /* 32-bit offset=844 size=4, 64=bit offset=1560 size=8 */
  void* __toku_dummy14[16];
  int  (*set_tmp_dir) (DB_ENV *, const char *); /* 32-bit offset=912 size=4, 64=bit offset=1696 size=8 */
  void* __toku_dummy15[2];
  int  (*set_verbose) (DB_ENV *, u_int32_t, int); /* 32-bit offset=924 size=4, 64=bit offset=1720 size=8 */
  void* __toku_dummy16[1];
  int  (*txn_begin) (DB_ENV *, DB_TXN *, DB_TXN **, u_int32_t); /* 32-bit offset=932 size=4, 64=bit offset=1736 size=8 */
  int  (*txn_checkpoint) (DB_ENV *, u_int32_t, u_int32_t, u_int32_t); /* 32-bit offset=936 size=4, 64=bit offset=1744 size=8 */
  void* __toku_dummy17[1];
  int  (*txn_stat) (DB_ENV *, DB_TXN_STAT **, u_int32_t); /* 32-bit offset=944 size=4, 64=bit offset=1760 size=8 */
  void* __toku_dummy18[2]; /* Padding at the end */ 
  char __toku_dummy19[16];  /* Padding at the end */ 
};
struct __toku_db_key_range {
  double less; /* 32-bit offset=0 size=8, 64=bit offset=0 size=8 */
  double equal; /* 32-bit offset=8 size=8, 64=bit offset=8 size=8 */
  double greater; /* 32-bit offset=16 size=8, 64=bit offset=16 size=8 */
  void* __toku_dummy0[207]; /* Padding at the end */ 
  char __toku_dummy1[120];  /* Padding at the end */ 
};
struct __toku_db_lsn {
  char __toku_dummy0[8];  /* Padding at the end */ 
};
struct __toku_db {
  struct __toku_db_internal *i;
  void* __toku_dummy0[3];
  void *app_private; /* 32-bit offset=16 size=4, 64=bit offset=32 size=8 */
  DB_ENV *dbenv; /* 32-bit offset=20 size=4, 64=bit offset=40 size=8 */
  void* __toku_dummy1[42];
  char __toku_dummy2[96];
  int (*associate) (DB*, DB_TXN*, DB*, int(*)(DB*, const DBT*, const DBT*, DBT*), u_int32_t); /* 32-bit offset=288 size=4, 64=bit offset=480 size=8 */
  int (*close) (DB*, u_int32_t); /* 32-bit offset=292 size=4, 64=bit offset=488 size=8 */
  void* __toku_dummy3[1];
  int (*cursor) (DB *, DB_TXN *, DBC **, u_int32_t); /* 32-bit offset=300 size=4, 64=bit offset=504 size=8 */
  int (*del) (DB *, DB_TXN *, DBT *, u_int32_t); /* 32-bit offset=304 size=4, 64=bit offset=512 size=8 */
  void* __toku_dummy4[3];
  int (*get) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=320 size=4, 64=bit offset=544 size=8 */
  void* __toku_dummy5[24];
  int (*key_range) (DB *, DB_TXN *, DBT *, DB_KEY_RANGE *, u_int32_t); /* 32-bit offset=420 size=4, 64=bit offset=744 size=8 */
  int (*open) (DB *, DB_TXN *, const char *, const char *, DBTYPE, u_int32_t, int); /* 32-bit offset=424 size=4, 64=bit offset=752 size=8 */
  int (*pget) (DB *, DB_TXN *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=428 size=4, 64=bit offset=760 size=8 */
  int (*put) (DB *, DB_TXN *, DBT *, DBT *, u_int32_t); /* 32-bit offset=432 size=4, 64=bit offset=768 size=8 */
  int (*remove) (DB *, const char *, const char *, u_int32_t); /* 32-bit offset=436 size=4, 64=bit offset=776 size=8 */
  int (*rename) (DB *, const char *, const char *, const char *, u_int32_t); /* 32-bit offset=440 size=4, 64=bit offset=784 size=8 */
  void* __toku_dummy6[2];
  int (*set_bt_compare) (DB *, int (*)(DB *, const DBT *, const DBT *)); /* 32-bit offset=452 size=4, 64=bit offset=808 size=8 */
  void* __toku_dummy7[3];
  int (*set_dup_compare) (DB *, int (*)(DB *, const DBT *, const DBT *)); /* 32-bit offset=468 size=4, 64=bit offset=840 size=8 */
  void* __toku_dummy8[5];
  int (*set_flags) (DB *, u_int32_t); /* 32-bit offset=492 size=4, 64=bit offset=888 size=8 */
  void* __toku_dummy9[6];
  int (*set_pagesize) (DB *, u_int32_t); /* 32-bit offset=520 size=4, 64=bit offset=944 size=8 */
  void* __toku_dummy10[6];
  int (*stat) (DB *, void *, u_int32_t); /* 32-bit offset=548 size=4, 64=bit offset=1000 size=8 */
  void* __toku_dummy11[4];
  int (*verify) (DB *, const char *, const char *, FILE *, u_int32_t); /* 32-bit offset=568 size=4, 64=bit offset=1040 size=8 */
  void* __toku_dummy12[5]; /* Padding at the end */ 
  char __toku_dummy13[16];  /* Padding at the end */ 
};
struct __toku_db_txn_active {
  u_int32_t txnid; /* 32-bit offset=0 size=4, 64=bit offset=0 size=4 */
  void* __toku_dummy0[2];
  char __toku_dummy1[4];
  DB_LSN lsn; /* 32-bit offset=16 size=8, 64=bit offset=24 size=8 */
  char __toku_dummy2[200];  /* Padding at the end */ 
};
struct __toku_db_txn {
  struct __toku_db_txn_internal *i;
  void* __toku_dummy0[21];
  char __toku_dummy1[8];
  int (*abort) (DB_TXN *); /* 32-bit offset=96 size=4, 64=bit offset=184 size=8 */
  int (*commit) (DB_TXN*, u_int32_t); /* 32-bit offset=100 size=4, 64=bit offset=192 size=8 */
  void* __toku_dummy2[2];
  u_int32_t (*id) (DB_TXN *); /* 32-bit offset=112 size=4, 64=bit offset=216 size=8 */
  void* __toku_dummy3[5]; /* Padding at the end */ 
};
struct __toku_db_txn_stat {
  void* __toku_dummy0[1];
  char __toku_dummy1[28];
  u_int32_t st_nactive; /* 32-bit offset=32 size=4, 64=bit offset=36 size=4 */
  char __toku_dummy2[16];
  DB_TXN_ACTIVE *st_txnarray; /* 32-bit offset=52 size=4, 64=bit offset=56 size=8 */
  void* __toku_dummy3[1]; /* Padding at the end */ 
  char __toku_dummy4[8];  /* Padding at the end */ 
};
struct __toku_dbc {
  struct __toku_dbc_internal *i;
  void* __toku_dummy0[24];
  char __toku_dummy1[104];
  int (*c_close) (DBC *); /* 32-bit offset=204 size=4, 64=bit offset=304 size=8 */
  void* __toku_dummy2[1];
  int (*c_del) (DBC *, u_int32_t); /* 32-bit offset=212 size=4, 64=bit offset=320 size=8 */
  void* __toku_dummy3[1];
  int (*c_get) (DBC *, DBT *, DBT *, u_int32_t); /* 32-bit offset=220 size=4, 64=bit offset=336 size=8 */
218 219
  int (*c_pget) (DBC *, DBT *, DBT *, DBT *, u_int32_t); /* 32-bit offset=224 size=4, 64=bit offset=344 size=8 */
  void* __toku_dummy4[9]; /* Padding at the end */ 
Rich Prohaska's avatar
Rich Prohaska committed
220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
};
struct __toku_dbt {
  void*data; /* 32-bit offset=0 size=4, 64=bit offset=0 size=8 */
  u_int32_t size; /* 32-bit offset=4 size=4, 64=bit offset=8 size=4 */
  u_int32_t ulen; /* 32-bit offset=8 size=4, 64=bit offset=12 size=4 */
  void* __toku_dummy0[1];
  char __toku_dummy1[8];
  u_int32_t flags; /* 32-bit offset=24 size=4, 64=bit offset=32 size=4 */
  /* 4 more bytes of alignment in the 64-bit case. */
};
#ifdef _TOKUDB_WRAP_H
#define txn_begin txn_begin_tokudb
#endif
int db_env_create(DB_ENV **, u_int32_t);
int db_create(DB **, DB_ENV *, u_int32_t);
char *db_strerror(int);
const char *db_version(int*,int *,int *);
int log_compare (const DB_LSN*, const DB_LSN *);
#if defined(__cplusplus)
}
#endif
#endif