struct flt_kw {
const char *kw;
int (*parse)(char **args, int *cur_arg, struct proxy *px,
- struct flt_conf *fconf, char **err);
+ struct flt_conf *fconf, char **err, void *private);
+ void *private;
};
/*
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);
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;
/* 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 },
}
};
/* 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;
/* 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 },
}
};