+#ifndef _RRD_GRAPH_H
+#define _RRD_GRAPH_H
+
#include "rrd_tool.h"
#include "rrd_rpncalc.h"
#include "rrd_gfx.h"
int vdef_calc(image_desc_t *, int);
int vdef_percent_compar(const void *,const void *);
int graph_size_location(image_desc_t *, int, int);
+
+#endif
#include "rrd_tool.h"
#include "rrd_rpncalc.h"
+#include "rrd_graph.h"
#include <limits.h>
short addop2str(enum op_en op, enum op_en op_type, char *op_str,
#undef match_op
- else if ((sscanf(expr,"%29[_A-Za-z0-9]%n",
+ else if ((sscanf(expr, DEF_NAM_FMT "%n",
vname,&pos) == 1)
&& ((rpnp[steps].ptr = (*lookup)(key_hash,vname)) != -1)){
rpnp[steps].op = OP_VARIABLE;
****************************************************************************
* rrd_rpncalc.h RPN calculator functions
****************************************************************************/
+#ifndef _RRD_RPNCALC_H
+#define _RRD_RPNCALC_H
/* WARNING: if new operators are added, they MUST be added after OP_END.
* This is because COMPUTE (CDEF) DS store OP nodes by number (name is not
void rpn_compact2str(rpn_cdefds_t *rpnc,ds_def_t *ds_def,char **str);
rpnp_t * rpn_parse(void *key_hash,char *expr, long (*lookup)(void *,char *));
short rpn_calc(rpnp_t *rpnp, rpnstack_t *rpnstack, long data_idx, rrd_value_t *output, int output_idx);
+
+#endif