X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_match.h;h=9e47d5c52e8c8476601b9476a3ae0e66a25d7f64;hb=3ecbbe941d9507dc45def5d8d47e591d8ca943c8;hp=5108e966a5c06fda1a6b2a25f519f652bda97414;hpb=8f2cabfa3fa192a664c47029a321ae87963815ed;p=collectd.git diff --git a/src/utils_match.h b/src/utils_match.h index 5108e966..9e47d5c5 100644 --- a/src/utils_match.h +++ b/src/utils_match.h @@ -28,10 +28,27 @@ /* * Defines */ -#define UTILS_MATCH_DS_TYPE_GAUGE 0 -#define UTILS_MATCH_DS_TYPE_COUNTER_SET 1 -#define UTILS_MATCH_DS_TYPE_COUNTER_ADD 2 -#define UTILS_MATCH_DS_TYPE_COUNTER_INC 3 +#define UTILS_MATCH_DS_TYPE_GAUGE 0x10 +#define UTILS_MATCH_DS_TYPE_COUNTER 0x20 +#define UTILS_MATCH_DS_TYPE_DERIVE 0x30 +#define UTILS_MATCH_DS_TYPE_ABSOLUTE 0x40 + +#define UTILS_MATCH_CF_GAUGE_AVERAGE 0x01 +#define UTILS_MATCH_CF_GAUGE_MIN 0x02 +#define UTILS_MATCH_CF_GAUGE_MAX 0x04 +#define UTILS_MATCH_CF_GAUGE_LAST 0x08 + +#define UTILS_MATCH_CF_COUNTER_SET 0x01 +#define UTILS_MATCH_CF_COUNTER_ADD 0x02 +#define UTILS_MATCH_CF_COUNTER_INC 0x04 + +#define UTILS_MATCH_CF_DERIVE_SET 0x01 +#define UTILS_MATCH_CF_DERIVE_ADD 0x02 +#define UTILS_MATCH_CF_DERIVE_INC 0x04 + +#define UTILS_MATCH_CF_ABSOLUTE_SET 0x01 +#define UTILS_MATCH_CF_ABSOLUTE_ADD 0x02 +#define UTILS_MATCH_CF_ABSOLUTE_INC 0x04 /* * Data types @@ -43,6 +60,7 @@ struct cu_match_value_s { int ds_type; value_t value; + unsigned int values_num; }; typedef struct cu_match_value_s cu_match_value_t; @@ -64,9 +82,12 @@ typedef struct cu_match_value_s cu_match_value_t; * then only the submatch (the part in the parenthesis) will be passed to the * callback. If there is no submatch, then the entire string is passed to the * callback. + * The optional `excluderegex' allows to exclude the line from the match, if + * the excluderegex matches. */ -cu_match_t *match_create_callback (const char *regex, - int (*callback) (const char *str, void *user_data), +cu_match_t *match_create_callback (const char *regex, const char *excluderegex, + int (*callback) (const char *str, + char * const *matches, size_t matches_num, void *user_data), void *user_data); /* @@ -93,7 +114,8 @@ cu_match_t *match_create_callback (const char *regex, * The function will not search for anything in the string and increase * value.counter by one. */ -cu_match_t *match_create_simple (const char *regex, int ds_type); +cu_match_t *match_create_simple (const char *regex, + const char *excluderegex, int ds_type); /* * NAME @@ -124,7 +146,7 @@ int match_apply (cu_match_t *obj, const char *str); * * DESCRIPTION * Returns the pointer passed to `match_create_callback' or a pointer to the - * `cu_match_value_t' structure allocated by `match_create_callback'. + * `cu_match_value_t' structure allocated by `match_create_simple'. */ void *match_get_user_data (cu_match_t *obj);