MINOR: filters: add opaque data

Add opaque data between the filter keyword registrering and the parsing
function. This opaque data allow to use the same parser with differents
registered keywords. The opaque data is used for giving data which mainly
makes difference between the two keywords.

It will be used with Lua keywords registering.
diff --git a/src/filters.c b/src/filters.c
index cceca50..e96af31 100644
--- a/src/filters.c
+++ b/src/filters.c
@@ -206,7 +206,7 @@
 					  file, line, args[0], args[cur_arg]);
 				goto error;
 			}
-			if (kw->parse(args, &cur_arg, curpx, fconf, err) != 0) {
+			if (kw->parse(args, &cur_arg, curpx, fconf, err, kw->private) != 0) {
 				if (err && *err)
 					memprintf(err, "'%s' : '%s'",
 						  args[0], *err);
diff --git a/src/flt_http_comp.c b/src/flt_http_comp.c
index ee8f13b..fb431c1 100644
--- a/src/flt_http_comp.c
+++ b/src/flt_http_comp.c
@@ -830,7 +830,7 @@
 
 static int
 parse_http_comp_flt(char **args, int *cur_arg, struct proxy *px,
-			 struct flt_conf *fconf, char **err)
+                    struct flt_conf *fconf, char **err, void *private)
 {
 	struct flt_conf *fc, *back;
 
@@ -939,8 +939,8 @@
 
 /* Declare the filter parser for "compression" keyword */
 static struct flt_kw_list filter_kws = { "COMP", { }, {
-		{ "compression", parse_http_comp_flt },
-		{ NULL, NULL },
+		{ "compression", parse_http_comp_flt, NULL },
+		{ NULL, NULL, NULL },
 	}
 };
 
diff --git a/src/flt_trace.c b/src/flt_trace.c
index a45f4a0..8b47651 100644
--- a/src/flt_trace.c
+++ b/src/flt_trace.c
@@ -414,7 +414,7 @@
 /* Return -1 on error, else 0 */
 static int
 parse_trace_flt(char **args, int *cur_arg, struct proxy *px,
-		struct flt_conf *fconf, char **err)
+                struct flt_conf *fconf, char **err, void *private)
 {
 	struct trace_config *conf;
 	int                  pos = *cur_arg;
@@ -467,8 +467,8 @@
 
 /* Declare the filter parser for "trace" keyword */
 static struct flt_kw_list flt_kws = { "TRACE", { }, {
-		{ "trace", parse_trace_flt },
-		{ NULL, NULL },
+		{ "trace", parse_trace_flt, NULL },
+		{ NULL, NULL, NULL },
 	}
 };