Code

document the 'internal' functions in rrd.h but mark them as deprecated, so
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 10 Jun 2008 16:32:34 +0000 (16:32 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 10 Jun 2008 16:32:34 +0000 (16:32 +0000)
that anyone using them will see that they should not be doing it.

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1426 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/Makefile.am
src/rrd.h
src/rrd_format.h
src/rrd_hw_math.c
src/rrd_hw_update.c
src/rrd_tool.h

index 4f19be5aa6e5c95cb04aaf8c956d8988f04ae2ff..c567679469fa42f4b4bc603230ad8988615b4588 100644 (file)
@@ -79,7 +79,7 @@ librrd_th_la_LDFLAGS         = $(MULTITHREAD_LDFLAGS) -version-info @LIBVERS@
 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
 
index a458b57cd0bef1b632d0008184bf3bb1501ae209..764d4297a8c9097bf610e22124d09bd957d7a23d 100644 (file)
--- a/src/rrd.h
+++ b/src/rrd.h
@@ -299,6 +299,60 @@ extern    "C" {
 /* 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 b8f079055516fa558caec9dce61cf2587f84c4cc..7f974cb62deb9dc5d8a734ed153b27cbb95f3b45 100644 (file)
@@ -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 2b2c00fd50c794463954b67e6255b960661044c8..7ce9dc26d379cae02965ee327d9a9ffb0943c723 100644 (file)
@@ -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 89d0c8eabd7e764381c94413f89a79e6f4728238..80da40a6ed5205ed3f632cd334095bb33f40f43b 100644 (file)
@@ -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 a8a01fac9ad197e07f67c2cb6c4157c38321dfab..e211c6bf22b0822008428a0bbff322c1d458eefd 100644 (file)
@@ -87,41 +87,6 @@ extern    "C" {
     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)