X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd.h;h=ce712d52a378238d5fd77aed89a30b515948fce3;hb=818549a636c390fb4a8390a7e2195a52293cd56b;hp=04f6381afa7f52a448d0e8e79acd9a3fedef1446;hpb=c112f7c06e534ce7a5a4e25b6f7f742aeb051850;p=rrdtool.git diff --git a/src/rrd.h b/src/rrd.h index 04f6381..ce712d5 100644 --- a/src/rrd.h +++ b/src/rrd.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2rc3 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007 ***************************************************************************** * rrdlib.h Public header file for librrd ***************************************************************************** @@ -52,6 +52,8 @@ extern "C" { #ifndef _RRDLIB_H #define _RRDLIB_H +#include /* for off_t */ +#include /* for off_t */ #include #include /* for FILE */ @@ -60,6 +62,15 @@ typedef double rrd_value_t; /* the data storage type is * double */ /* END rrd_format.h */ +/* 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 */ +} rrd_file_t; + /* main function blocks */ int rrd_create(int, char **); int rrd_update(int, char **); @@ -72,19 +83,28 @@ int rrd_tune(int, char **); time_t rrd_last(int, char **); time_t rrd_first(int, char **); int rrd_resize(int, char **); +char * rrd_strversion(void); +double rrd_version(void); int rrd_xport(int, char **, int *, time_t *, time_t *, unsigned long *, unsigned long *, char ***, rrd_value_t **); /* thread-safe (hopefully) */ -int rrd_create_r(char *filename, +int rrd_create_r(const char *filename, unsigned long pdp_step, time_t last_up, - int argc, char **argv); + int argc, const char **argv); /* NOTE: rrd_update_r are only thread-safe if no at-style time specifications get used!!! */ -int rrd_update_r(char *filename, char *_template, - int argc, char **argv); -int rrd_dump_r(char *filename); + +int rrd_update_r(const char *filename, const char *_template, + int argc, const char **argv); +int rrd_fetch_r(const char *filename, const char* cf, + time_t *start, time_t *end, + unsigned long *step, + unsigned long *ds_cnt, + char ***ds_namv, + rrd_value_t **data); +int rrd_dump_r(const char *filename, char *outname); time_t rrd_last_r(const char *filename); time_t rrd_first_r(const char *filename, int rraindex); @@ -103,6 +123,9 @@ struct rrd_time_value { struct tm tm; }; +char *parsetime(const char *spec, struct rrd_time_value *ptv); +/* END parsetime.h */ + struct rrd_context { int len; int errlen; @@ -113,8 +136,6 @@ struct rrd_context { /* returns the current per-thread rrd_context */ struct rrd_context *rrd_get_context(void); -char *parsetime(const char *spec, struct rrd_time_value *ptv); -/* END parsetime.h */ int proc_start_end (struct rrd_time_value *, struct rrd_time_value *, time_t *, time_t *); @@ -133,7 +154,7 @@ void rrd_free_context (struct rrd_context *buf); /* int rrd_test_error_r (struct rrd_context *); */ /* char *rrd_get_error_r (struct rrd_context *); */ -int LockRRD(FILE *); +int LockRRD(int in_file); #endif /* _RRDLIB_H */