Code

Merge remote-tracking branch 'github/pr/387'
[collectd.git] / src / meta_data.h
index 30e72854df2156fb4812ab5c43d31ae00281f4a0..f1af40ee7ea5cb953e10ab5df315854bfd808a2a 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * collectd - src/meta_data.h
- * Copyright (C) 2008  Florian octo Forster
+ * Copyright (C) 2008-2011  Florian octo Forster
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
 
 #include "collectd.h"
 
+/*
+ * Defines
+ */
+#define MD_TYPE_STRING       1
+#define MD_TYPE_SIGNED_INT   2
+#define MD_TYPE_UNSIGNED_INT 3
+#define MD_TYPE_DOUBLE       4
+#define MD_TYPE_BOOLEAN      5
+
 struct meta_data_s;
 typedef struct meta_data_s meta_data_t;
 
 meta_data_t *meta_data_create (void);
+meta_data_t *meta_data_clone (meta_data_t *orig);
 void meta_data_destroy (meta_data_t *md);
 
 int meta_data_exists (meta_data_t *md, const char *key);
+int meta_data_type (meta_data_t *md, const char *key);
+int meta_data_toc (meta_data_t *md, char ***toc);
 int meta_data_delete (meta_data_t *md, const char *key);
 
 int meta_data_add_string (meta_data_t *md,
@@ -45,6 +57,9 @@ int meta_data_add_unsigned_int (meta_data_t *md,
 int meta_data_add_double (meta_data_t *md,
     const char *key,
     double value);
+int meta_data_add_boolean (meta_data_t *md,
+    const char *key,
+    _Bool value);
 
 int meta_data_get_string (meta_data_t *md,
     const char *key,
@@ -58,6 +73,9 @@ int meta_data_get_unsigned_int (meta_data_t *md,
 int meta_data_get_double (meta_data_t *md,
     const char *key,
     double *value);
+int meta_data_get_boolean (meta_data_t *md,
+    const char *key,
+    _Bool *value);
 
 #endif /* META_DATA_H */
 /* vim: set sw=2 sts=2 et : */