]> gitweb @ CieloNegro.org - bindings-librrd.git/commitdiff
added Bindings.Librrd.Client RELEASE-0.1
authorPHO <pho@cielonegro.org>
Tue, 20 Apr 2010 16:08:59 +0000 (01:08 +0900)
committerPHO <pho@cielonegro.org>
Tue, 20 Apr 2010 16:08:59 +0000 (01:08 +0900)
Bindings/Librrd/Client.hsc [new file with mode: 0644]
bindings-librrd.cabal
cbits/inlines.c

diff --git a/Bindings/Librrd/Client.hsc b/Bindings/Librrd/Client.hsc
new file mode 100644 (file)
index 0000000..e1fb6e2
--- /dev/null
@@ -0,0 +1,39 @@
+#include <bindings.dsl.h>
+#include <HsBaseConfig.h>
+#include <rrd_client.h>
+
+-- |<http://oss.oetiker.ch/rrdtool/doc/librrd.en.html>
+-- 
+-- <http://oss.oetiker.ch/rrdtool/doc/rrdcached.en.html>
+
+module Bindings.Librrd.Client where
+#strict_import
+
+#cinline RRDCACHED_DEFAULT_ADDRESS, CString
+#cinline RRDCACHED_DEFAULT_PORT   , CString
+#cinline ENV_RRDCACHED_ADDRESS    , CString
+
+#ccall rrdc_connect     , CString -> IO CInt
+#ccall rrdc_is_connected, CString -> IO CInt
+#ccall rrdc_disconnect  , IO CInt
+
+#ccall rrdc_update, CString -> CInt -> Ptr CString -> IO CInt
+
+#ccall rrdc_flush          , CString -> IO CInt
+#ccall rrdc_flush_if_daemon, CString -> CString -> IO CInt
+
+-- Helper definitions for rrdc_stats_t
+#num RRDC_STATS_TYPE_GAUGE
+#num RRDC_STATS_TYPE_COUNTER
+
+#starttype struct rrdc_stats_s
+#field name , CString
+#field type , Word16
+#union_field value.counter, Word64
+#union_field value.gauge  , CDouble
+#field next , Ptr <rrdc_stats_s>
+#stoptype
+#synonym_t rrdc_stats_t, <rrdc_stats_s>
+
+#ccall rrdc_stats_get , Ptr (Ptr <rrdc_stats_t>) -> IO CInt
+#ccall rrdc_stats_free, Ptr <rrdc_stats_t> -> IO ()
index d7d266098bbc87d37562f1be8432a525a38ea1ce..e139368e72068281c45d91d5ca573a017c9972ea 100644 (file)
@@ -34,6 +34,7 @@ Library
 
     Exposed-Modules:
         Bindings.Librrd
+        Bindings.Librrd.Client
         Bindings.Posix.Time
 
     C-Sources:
index 7f44248818b1e8bab3fda9771db70a92ebf0183d..59857f6f6eca91a50888406de1dfab832cdf864c 100644 (file)
@@ -1,5 +1,7 @@
 #include <bindings.cmacros.h>
+#include <HsBaseConfig.h>
 #include <rrd.h>
+#include <rrd_client.h>
 
 BC_INLINE_(DNAN, double)
 BC_INLINE_(DINF, double)
@@ -10,3 +12,6 @@ inline_rrd_info_push(rrd_info_t * info,
     return rrd_info_push(info, key, type, *value);
 }
               
+BC_INLINE_(RRDCACHED_DEFAULT_ADDRESS, const char*)
+BC_INLINE_(RRDCACHED_DEFAULT_PORT   , const char*)
+BC_INLINE_(ENV_RRDCACHED_ADDRESS    , const char*)