int (*cdb_store)(int, const void *, int, void *, int) = NULL;
int (*cdb_delete)(int, void *, int) = NULL;
void (*cdb_free)(struct cdbdata *) = NULL;
-struct cdbdata * (*cdb_next_item)(int) = NULL;
+void * (*cdb_rewind)(int) = NULL;
+struct cdbdata * (*cdb_next_item)(void *, int) = NULL;
void (*cdb_close_cursor)(int) = NULL;
void (*cdb_begin_transaction)(void) = NULL;
void (*cdb_end_transaction)(void) = NULL;
void (*check_handles)(void *) = NULL;
void (*cdb_compact)(void) = NULL;
void (*cdb_checkpoint)(void) = NULL;
-void (*cdb_rewind)(int) = NULL;
struct cdbdata * (*cdb_fetch)(int, const void *, int) = NULL;
// This function is responsible for choosing and initializing a back end.