]> gitweb @ CieloNegro.org - bindings-librrd.git/blobdiff - Bindings/Librrd/Client.hsc
added Bindings.Librrd.Client
[bindings-librrd.git] / Bindings / Librrd / Client.hsc
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 ()