/**
* collectd - src/filter_chain.h
- * Copyright (C) 2008 Florian octo Forster
+ * Copyright (C) 2008,2009 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
#define FC_MATCH_NO_MATCH 0
#define FC_MATCH_MATCHES 1
-#define FC_ACTION_CONTINUE 0
-#define FC_ACTION_STOP 1
+#define FC_TARGET_CONTINUE 0
+#define FC_TARGET_STOP 1
+#define FC_TARGET_RETURN 2
/*
* Match functions
};
typedef struct target_proc_s target_proc_t;
+struct fc_chain_s;
+typedef struct fc_chain_s fc_chain_t;
+
int fc_register_target (const char *name, target_proc_t proc);
/*
/*
* Processing function
*/
-int fc_process (const data_set_t *ds, value_list_t *vl);
+fc_chain_t *fc_chain_get_by_name (const char *chain_name);
+
+int fc_process_chain (const data_set_t *ds, value_list_t *vl,
+ fc_chain_t *chain);
+
+int fc_default_action (const data_set_t *ds, value_list_t *vl);
/*
* Shortcut for global configuration