*/
#define VERSION_SAVED VERSION
#undef VERSION
+#ifndef WIN32
#include "../../rrd_config.h"
+#endif
#include "../../src/rrd_tool.h"
#undef VERSION
#define VERSION VERSION_SAVED
#undef VERSION_SAVED
/* perl 5.004 compatibility */
-#if PERLPATCHLEVEL < 5
+#ifndef PL_sv_undef
#define PL_sv_undef sv_undef
#endif
free(argv); \
if (rrd_test_error()) XSRETURN_UNDEF; \
hash = newHV(); \
+ save=data; \
while (data) { \
- save=data; \
/* the newSV will get copied by hv so we create it as a mortal \
to make sure it does not keep hanging round after the fact */ \
switch (data->type) { \
break; \
case RD_I_STR: \
hvs(newSVpv(data->value.u_str,0)); \
- rrd_freemem(data->value.u_str); \
break; \
case RD_I_BLO: \
hvs(newSVpv(data->value.u_blo.ptr,data->value.u_blo.size)); \
- rrd_freemem(data->value.u_blo.ptr); \
break; \
} \
- rrd_freemem(data->key); \
data = data->next; \
- rrd_freemem(save); \
- } \
- rrd_freemem(data); \
+ } \
+ rrd_info_free(save); \
RETVAL = newRV_noinc((SV*)hash);
/*
#ifdef MUST_DISABLE_FPMASK
fpsetmask(0);
#endif
-
SV*
rrd_error()
OUTPUT:
RETVAL
-
int
rrd_last(...)
PROTOTYPE: @
OUTPUT:
RETVAL
-
int
rrd_create(...)
PROTOTYPE: @
OUTPUT:
RETVAL
-
int
rrd_update(...)
PROTOTYPE: @
OUTPUT:
RETVAL
-
int
rrd_tune(...)
PROTOTYPE: @
OUTPUT:
RETVAL
-
-void
+SV *
rrd_graph(...)
PROTOTYPE: @
PREINIT:
PUSHs(sv_2mortal(newSViv(xsize)));
PUSHs(sv_2mortal(newSViv(ysize)));
-void
+SV *
rrd_fetch(...)
PROTOTYPE: @
PREINIT:
PUSHs(sv_2mortal(newRV_noinc((SV*)names)));
PUSHs(sv_2mortal(newRV_noinc((SV*)retar)));
-void
+SV *
rrd_times(start, end)
char *start
char *end
OUTPUT:
RETVAL
+#ifndef WIN32
+int
+rrd_flushcached(...)
+ PROTOTYPE: @
+ PREINIT:
+ int i;
+ char **argv;
+ CODE:
+ rrdcode(rrd_flushcached);
+ OUTPUT:
+ RETVAL
+
+#endif