Hi Tobi, On Tue, Jun 10, 2008 at 04:17:47PM +0200, Tobias Oetiker wrote: > if you can send the patch in the next few hours we will manage to cram > it into 1.3.0 still ...
ugh, that's a rough deadline ;) I made it though, but only gave this a quick test: -- 8< -- [EMAIL PROTECTED]:/tmp/rrdtest $ gcc -I/tmp/rrdtool/include -L/tmp/rrdtool/lib -o foo foo.c -lrrd foo.c: In function `main': foo.c:5: error: `rrd_t' undeclared (first use in this function) foo.c:5: error: (Each undeclared identifier is reported only once foo.c:5: error: for each function it appears in.) foo.c:5: error: expected `;' before `buffer' foo.c:7: error: `buffer' undeclared (first use in this function) [EMAIL PROTECTED]:/tmp/rrdtest $ gcc -I/tmp/rrdtool/include -L/tmp/rrdtool/lib -DRRD_EXPORT_DEPRECATED -o foo foo.c -lrrd foo.c: In function `main': foo.c:7: warning: `rrd_init' is deprecated (declared at /tmp/rrdtool/include/rrd.h:330) foo.c:9: warning: `rrd_lock' is deprecated (declared at /tmp/rrdtool/include/rrd.h:352) -- >8 -- Everything I changed is hidden within the #if, normal applications should not notice the change at all. I didn't test RRDTool itself with `-Werror' since there are a couple of unrelated warnings which would terminate the build.. Let me know what you think. I have a date at 19:30 (GMT+1) and can fix stuff till then ;) Regards, -octo -- Florian octo Forster Hacker in training GnuPG: 0x91523C3D http://verplant.org/
Index: src/rrd_hw_math.c
===================================================================
--- src/rrd_hw_math.c (revision 1425)
+++ src/rrd_hw_math.c (working copy)
@@ -2,6 +2,7 @@
* rrd_hw_math.c Math functions for Holt-Winters computations
*****************************************************************************/
+#include "rrd_tool.h"
#include "rrd_hw_math.h"
#include "rrd_config.h"
Index: src/rrd_hw_update.c
===================================================================
--- src/rrd_hw_update.c (revision 1425)
+++ src/rrd_hw_update.c (working copy)
@@ -2,6 +2,7 @@
* rrd_hw_update.c Functions for updating a Holt-Winters RRA
****************************************************************************/
+#include "rrd_tool.h"
#include "rrd_format.h"
#include "rrd_config.h"
#include "rrd_hw_math.h"
Index: src/rrd_tool.h
===================================================================
--- src/rrd_tool.h (revision 1425)
+++ src/rrd_tool.h (working copy)
@@ -87,41 +87,9 @@
char ***ds_namv,
rrd_value_t **data);
- void rrd_free(
- rrd_t *rrd);
void rrd_freemem(
void *mem);
- void rrd_init(
- rrd_t *rrd);
- rrd_file_t *rrd_open(
- const char *const file_name,
- rrd_t *rrd,
- unsigned rdwr);
- void rrd_dontneed(
- rrd_file_t *rrd_file,
- rrd_t *rrd);
- int rrd_close(
- rrd_file_t *rrd_file);
- ssize_t rrd_read(
- rrd_file_t *rrd_file,
- void *buf,
- size_t count);
- ssize_t rrd_write(
- rrd_file_t *rrd_file,
- const void *buf,
- size_t count);
- void rrd_flush(
- rrd_file_t *rrd_file);
- off_t rrd_seek(
- rrd_file_t *rrd_file,
- off_t off,
- int whence);
- off_t rrd_tell(
- rrd_file_t *rrd_file);
- int rrd_lock(
- rrd_file_t *file);
-
#define RRD_READONLY (1<<0)
#define RRD_READWRITE (1<<1)
#define RRD_CREAT (1<<2)
Index: src/rrd.h
===================================================================
--- src/rrd.h (revision 1425)
+++ src/rrd.h (working copy)
@@ -299,6 +299,60 @@
/* int rrd_test_error_r (rrd_context_t *); */
/* char *rrd_get_error_r (rrd_context_t *); */
+/*
+ * The following functions are _internal_ functions needed to read the raw RRD
+ * files. Since they are _internal_ they may change with the file format and
+ * will be replaced with a more general interface in RRDTool 1.4. Don't use
+ * these functions unless you have good reasons to do so. If you do use these
+ * functions you will have to adapt your code for RRDTool 1.4!
+ *
+ * To enable the deprecated functions define `RRD_EXPORT_DEPRECATED' before
+ * including <rrd_test.h>. You have been warned! If you come back to the
+ * RRDTool mailing list and whine about your broken application, you will get
+ * hit with something smelly!
+ */
+#if defined(_RRD_TOOL_H) || defined(RRD_EXPORT_DEPRECATED)
+
+# if defined(_RRD_TOOL_H)
+# include "rrd_format.h"
+# else
+# include <rrd_format.h>
+# endif
+
+#if defined(__GNUC__) && defined (RRD_EXPORT_DEPRECATED)
+# define RRD_DEPRECATED __attribute__((deprecated))
+#else
+# define RRD_DEPRECATED /**/
+#endif
+
+ void rrd_free (rrd_t *rrd)
+ RRD_DEPRECATED;
+ void rrd_init (rrd_t *rrd)
+ RRD_DEPRECATED;
+
+ rrd_file_t *rrd_open (const char *const file_name, rrd_t *rrd,
+ unsigned rdwr)
+ RRD_DEPRECATED;
+
+ void rrd_dontneed (rrd_file_t *rrd_file, rrd_t *rrd)
+ RRD_DEPRECATED;
+ int rrd_close (rrd_file_t *rrd_file)
+ RRD_DEPRECATED;
+ ssize_t rrd_read (rrd_file_t *rrd_file, void *buf, size_t count)
+ RRD_DEPRECATED;
+ ssize_t rrd_write (rrd_file_t *rrd_file,
+ const void *buf, size_t count)
+ RRD_DEPRECATED;
+ void rrd_flush (rrd_file_t *rrd_file)
+ RRD_DEPRECATED;
+ off_t rrd_seek (rrd_file_t *rrd_file, off_t off, int whence)
+ RRD_DEPRECATED;
+ off_t rrd_tell (rrd_file_t *rrd_file)
+ RRD_DEPRECATED;
+ int rrd_lock (rrd_file_t *file)
+ RRD_DEPRECATED;
+#endif /* defined(_RRD_TOOL_H) || defined(RRD_EXPORT_DEPRECATED) */
+
#endif /* _RRDLIB_H */
#ifdef __cplusplus
Index: src/rrd_format.h
===================================================================
--- src/rrd_format.h (revision 1425)
+++ src/rrd_format.h (working copy)
@@ -7,6 +7,18 @@
#ifndef _RRD_FORMAT_H
#define _RRD_FORMAT_H
+/*
+ * _RRD_TOOL_H
+ * We're building RRDTool itself.
+ *
+ * RRD_EXPORT_DEPRECATED
+ * User is requesting internal function which need this struct. They have
+ * been told that this will change and have agreed to adapt their programs.
+ */
+#if !defined(_RRD_TOOL_H) && !defined(RRD_EXPORT_DEPRECATED)
+# error "Do not include rrd_format.h directly. Include rrd.h instead!"
+#endif
+
#include "rrd.h"
/*****************************************************************************
Index: src/Makefile.am
===================================================================
--- src/Makefile.am (revision 1425)
+++ src/Makefile.am (working copy)
@@ -79,7 +79,7 @@
librrd_th_la_LDFLAGS += -export-symbols librrd.sym
librrd_th_la_LIBADD = $(ALL_LIBS)
-include_HEADERS = rrd.h
+include_HEADERS = rrd.h rrd_format.h
bin_PROGRAMS = rrdtool rrdupdate
signature.asc
Description: Digital signature
_______________________________________________ rrd-developers mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers
