share/collection.conf: Add graph for "swap_io".
[collection4.git] / src / graph_ident.h
index 5107011..e4a12a0 100644 (file)
@@ -1,14 +1,25 @@
 #ifndef GRAPH_IDENT_H
 #define GRAPH_IDENT_H 1
 
+#include <time.h>
+#include "graph_types.h"
+
 #define ANY_TOKEN "/any/"
 #define ALL_TOKEN "/all/"
 
 #define IS_ANY(str) (((str) != NULL) && (strcasecmp (ANY_TOKEN, (str)) == 0))
 #define IS_ALL(str) (((str) != NULL) && (strcasecmp (ALL_TOKEN, (str)) == 0))
 
-struct graph_ident_s;
-typedef struct graph_ident_s graph_ident_t;
+enum graph_ident_field_e
+{
+  GIF_HOST,
+  GIF_PLUGIN,
+  GIF_PLUGIN_INSTANCE,
+  GIF_TYPE,
+  GIF_TYPE_INSTANCE,
+  _GIF_LAST
+};
+typedef enum graph_ident_field_e graph_ident_field_t;
 
 graph_ident_t *ident_create (const char *host,
     const char *plugin, const char *plugin_instance,
@@ -27,6 +38,8 @@ const char *ident_get_plugin (graph_ident_t *ident);
 const char *ident_get_plugin_instance (graph_ident_t *ident);
 const char *ident_get_type (graph_ident_t *ident);
 const char *ident_get_type_instance (graph_ident_t *ident);
+const char *ident_get_field (graph_ident_t *ident,
+    graph_ident_field_t field);
 
 int ident_set_host (graph_ident_t *ident, const char *host);
 int ident_set_plugin (graph_ident_t *ident, const char *plugin);
@@ -40,11 +53,13 @@ int ident_compare (const graph_ident_t *i0,
     const graph_ident_t *i1);
 
 _Bool ident_matches (const graph_ident_t *selector,
-               const graph_ident_t *ident);
+    const graph_ident_t *ident);
 
 char *ident_to_string (const graph_ident_t *ident);
 char *ident_to_file (const graph_ident_t *ident);
 char *ident_to_json (const graph_ident_t *ident);
 
+time_t ident_get_mtime (const graph_ident_t *ident);
+
 /* vim: set sw=2 sts=2 et fdm=marker : */
 #endif /* GRAPH_IDENT_H */