#define _RRDLIB_H
#include <sys/types.h> /* for off_t */
+
+#ifndef WIN32
#include <unistd.h> /* for off_t */
+#else
+ typedef size_t ssize_t;
+ typedef long off_t;
+#endif
+
#include <time.h>
#include <stdio.h> /* for FILE */
-
+#include <string.h>
/* Formerly rrd_nan_inf.h */
#ifndef DNAN
/* information about an rrd file */
typedef struct rrd_file_t {
- int fd; /* file descriptor if this rrd file */
- char *file_start; /* start address of an open rrd file */
- off_t header_len; /* length of the header of this rrd file */
- off_t file_len; /* total size of the rrd file */
- off_t pos; /* current pos in file */
+ size_t header_len; /* length of the header of this rrd file */
+ size_t file_len; /* total size of the rrd file */
+ size_t pos; /* current pos in file */
+ void *pvt;
} rrd_file_t;
+/* information used for the conventional file access methods */
+ typedef struct rrd_simple_file_t {
+ int fd; /* file descriptor of this rrd file */
+#ifdef HAVE_MMAP
+ char *file_start; /* start address of an open rrd file */
+ int mm_prot;
+ int mm_flags;
+#endif
+ } rrd_simple_file_t;
+
/* rrd info interface */
typedef struct rrd_blob_t {
unsigned long size; /* size of the blob */
time_t last_up,
int argc,
const char **argv);
+ rrd_info_t *rrd_info_r(
+ char *);
/* NOTE: rrd_update_r are only thread-safe if no at-style time
specifications get used!!! */
} rrd_context_t;
/* returns the current per-thread rrd_context */
- rrd_context_t *rrd_get_context(
- void);
+ rrd_context_t *rrd_get_context(void);
+#ifdef WIN32
+/* this was added by the win32 porters Christof.Wegmann@exitgames.com */
+ rrd_context_t *rrd_force_new_context(void);
int rrd_proc_start_end(
rrd_time_value_t *,
rrd_time_value_t *,
time_t *,
time_t *);
+#endif
/* HELPER FUNCTIONS */
void rrd_set_error(
int rrd_lock(
rrd_file_t *file)
RRD_DEPRECATED;
+ void rrd_notify_row(
+ rrd_file_t *rrd_file,
+ int rra_idx,
+ unsigned long rra_row,
+ time_t rra_time)
+ RRD_DEPRECATED;
+ unsigned long rrd_select_initial_row(
+ rrd_file_t *rrd_file,
+ int rra_idx,
+ rra_def_t *rra
+ )
+ RRD_DEPRECATED;
#endif /* defined(_RRD_TOOL_H) || defined(RRD_EXPORT_DEPRECATED) */
#endif /* _RRDLIB_H */