src/utils_cache.[ch]: Implement a meta-data interface for cached values.
[collectd.git] / src / utils_cache.h
index d754a32..b7dc2bf 100644 (file)
@@ -45,5 +45,43 @@ int uc_get_history (const data_set_t *ds, const value_list_t *vl,
 int uc_get_history_by_name (const char *name,
     gauge_t *ret_history, size_t num_steps, size_t num_ds);
 
+/*
+ * Meta data interface
+ */
+int uc_meta_data_exists (value_list_t *vl, const char *key);
+int uc_meta_data_delete (value_list_t *vl, const char *key);
+
+int uc_meta_data_add_string (value_list_t *vl,
+    const char *key,
+    const char *value);
+int uc_meta_data_add_signed_int (value_list_t *vl,
+    const char *key,
+    int64_t value);
+int uc_meta_data_add_unsigned_int (value_list_t *vl,
+    const char *key,
+    uint64_t value);
+int uc_meta_data_add_double (value_list_t *vl,
+    const char *key,
+    double value);
+int uc_meta_data_add_boolean (value_list_t *vl,
+    const char *key,
+    _Bool value);
+
+int uc_meta_data_get_string (value_list_t *vl,
+    const char *key,
+    char **value);
+int uc_meta_data_get_signed_int (value_list_t *vl,
+    const char *key,
+    int64_t *value);
+int uc_meta_data_get_unsigned_int (value_list_t *vl,
+    const char *key,
+    uint64_t *value);
+int uc_meta_data_get_double (value_list_t *vl,
+    const char *key,
+    double *value);
+int uc_meta_data_get_boolean (value_list_t *vl,
+    const char *key,
+    _Bool *value);
+
 /* vim: set shiftwidth=2 softtabstop=2 tabstop=8 : */
 #endif /* !UTILS_CACHE_H */