1
/*****************************************************************************
2
* RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000
3
*****************************************************************************
4
* rrd_tool.h Common Header File
5
*****************************************************************************
6
* $Id: rrd_tool.h,v 1.4 2005/10/04 10:42:22 deri Exp $
8
* Revision 1.4 2005/10/04 10:42:22 deri
9
* Added MinGw/Win32 patches
10
* Fixed bug on arbitrary graphs
12
* Courtesy of Georget Araujo <georger_br@yahoo.com.br>
14
* Revision 1.3 2004/09/06 10:20:05 deri
15
* Updated to RRDtool 1.0.49
17
* Revision 1.1.1.1 2002/02/26 10:21:37 oetiker
20
*****************************************************************************/
30
# include "ntconfig.h"
34
#include "config_aux.h"
38
#ifdef MUST_DISABLE_SIGFPE
42
#ifdef MUST_DISABLE_FPMASK
43
#include <floatingpoint.h>
54
# include <sys/param.h>
68
# include <sys/time.h>
71
# include <sys/times.h>
73
#if HAVE_SYS_RESOURCE_H
74
# include <sys/resource.h>
75
#if (defined(__svr4__) && defined(__sun__))
76
/* Solaris headers (pre 2.6) don't have a getrusage prototype.
78
extern int getrusage(int, struct rusage *);
79
#endif /* __svr4__ && __sun__ */
86
/* unix-only includes */
88
int isnan(double value);
93
/* Win32 only includes */
95
#include <float.h> /* for _isnan */
97
#if !defined(__GNUC__)
99
#define isinf(a) (_fpclass(a) == _FPCLASS_NINF || _fpclass(a) == _FPCLASS_PINF)
102
#define finite _finite
105
/* local include files -- need to be after the system ones */
107
#include "rrd_format.h"
110
#define max(a,b) ((a) > (b) ? (a) : (b))
114
#define min(a,b) ((a) < (b) ? (a) : (b))
117
#define DIM(x) (sizeof(x)/sizeof(x[0]))
119
/* rrd info interface */
120
enum info_type { RD_I_VAL=0,
124
typedef union infoval {
130
typedef struct info_t {
138
info_t *rrd_info(int, char **);
140
/* HELPER FUNCTIONS */
141
int GifSize(FILE *, long *, long *);
142
int PngSize(FILE *, long *, long *);
143
int PngSize(FILE *, long *, long *);
146
void gdImagePng(gdImagePtr im, FILE *out);
148
int rrd_create_fn(char *file_name, rrd_t *rrd);
149
int rrd_fetch_fn(char *filename, enum cf_en cf_idx,
150
time_t *start,time_t *end,
152
unsigned long *ds_cnt,
156
void rrd_free(rrd_t *rrd);
157
void rrd_init(rrd_t *rrd);
159
int rrd_open(char *file_name, FILE **in_file, rrd_t *rrd, int rdwr);
160
int readfile(char *file, char **buffer, int skipfirst);
162
#define RRD_READONLY 0
163
#define RRD_READWRITE 1
165
enum cf_en cf_conv(char *string);
166
enum dst_en dst_conv(char *string);
167
long ds_match(rrd_t *rrd,char *ds_nam);
168
double rrd_diff(char *a, char *b);