4 #include <tchdb.h> /* Tokyo Cabinet's hash API */
10 int tc_set(struct db_conn
*db
, const unsigned char *key
, size_t ksize
,
11 unsigned char *val
, size_t vsize
);
12 int tc_get(struct db_conn
*db
, const unsigned char *key
, size_t ksize
,
13 unsigned char *val
, size_t *vsize
);
14 int tc_del(struct db_conn
*db
, const unsigned char *key
, size_t ksize
);
15 int tc_close(struct db_conn
*db
);
18 struct db_conn
*tc_open(const char *name
, int flags
)
21 TCHDB
*tc_db
= tchdbnew();
23 if (!tchdbopen(qdbm_db
, name
, HDBOWRITER
| HDBOCREAT
))
26 db
= malloc(sizeof(struct db_conn
));
43 int tc_close(struct db_conn
*db
)
45 int r
= tchdbclose(db
->conn
);
52 int tc_set(struct db_conn
*db
, const unsigned char *key
, size_t ksize
,
53 unsigned char *val
, size_t vsize
)
55 return tchdbput(db
->conn
, key
, ksize
, val
, vsize
);
59 int tc_get(struct db_conn
*db
, const unsigned char *key
, size_t ksize
,
60 unsigned char *val
, size_t *vsize
)
64 rv
= tchdbget3(db
->conn
, key
, ksize
, val
, *vsize
);
73 int tc_del(struct db_conn
*db
, const unsigned char *key
, size_t ksize
)
75 return tchdbout(db
->conn
, key
, ksize
);
80 #include <stddef.h> /* NULL */
82 struct db_conn
*tc_open(const char *name
, int flags
)