-int PngSize(FILE *, long *, long *);
-
-int rrd_create_fn(const char *file_name, rrd_t *rrd);
-int rrd_fetch_fn(const char *filename, enum cf_en cf_idx,
- time_t *start,time_t *end,
- unsigned long *step,
- unsigned long *ds_cnt,
- char ***ds_namv,
- rrd_value_t **data);
-
-void rrd_free(rrd_t *rrd);
-void rrd_freemem(void *mem);
-void rrd_init(rrd_t *rrd);
-
-rrd_file_t* rrd_open(const char * const file_name, rrd_t *rrd, unsigned rdwr);
-int rrd_close(rrd_file_t* rrd_file);
-ssize_t rrd_read(rrd_file_t* rrd_file, void*buf, size_t count);
-ssize_t rrd_write(rrd_file_t* rrd_file, const void*buf, size_t count);
-void rrd_flush(rrd_file_t* rrd_file);
-off_t rrd_seek(rrd_file_t* rrd_file, off_t off, int whence);
-off_t rrd_tell(rrd_file_t* rrd_file);
-int readfile(const char *file, char **buffer, int skipfirst);
-
-#define RRD_READONLY 0
-#define RRD_READWRITE 1
-#define RRD_CREAT 2
-
-enum cf_en cf_conv(const char *string);
-enum dst_en dst_conv(char *string);
-long ds_match(rrd_t *rrd,char *ds_nam);
-double rrd_diff(char *a, char *b);
-
- /* rrd_strerror is thread safe, but still it uses a global buffer
- (but one per thread), thus subsequent calls within a single
- thread overwrite the same buffer */
-const char *rrd_strerror(int err);
-
+ int PngSize(
+ FILE *,
+ long *,
+ long *);
+
+ int rrd_create_fn(
+ const char *file_name,
+ rrd_t *rrd);
+ int rrd_fetch_fn (const char *filename,
+ enum cf_en cf_idx,
+ time_t *start,
+ time_t *end,
+ unsigned long *step,
+ unsigned long *ds_cnt,
+ char ***ds_namv,
+ rrd_value_t **data);
+
+
+#ifdef HAVE_LIBDBI
+int rrd_fetch_fn_libdbi(const char *filename, enum cf_en cf_idx,
+ time_t *start,time_t *end,
+ unsigned long *step,
+ unsigned long *ds_cnt,
+ char ***ds_namv,
+ rrd_value_t **data);