X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd.h;h=ce712d52a378238d5fd77aed89a30b515948fce3;hb=818549a636c390fb4a8390a7e2195a52293cd56b;hp=c3199ef6e1f02da3eed21703eaaafb21f790b6c8;hpb=ddef520426eac2b6de73d4a81f1922d7747af28f;p=rrdtool.git diff --git a/src/rrd.h b/src/rrd.h index c3199ef..ce712d5 100644 --- a/src/rrd.h +++ b/src/rrd.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.2.15 Copyright by Tobi Oetiker, 1997-2006 + * 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 **); @@ -79,13 +90,20 @@ int rrd_xport(int, char **, int *, time_t *, time_t *, 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_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); @@ -105,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; @@ -115,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 *); @@ -135,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 */