MEDIUM: actions: Merge (http|tcp)-(request|reponse) action structs

This patch is the first of a serie which merge all the action structs. The
function "tcp-request content", "tcp-response-content", "http-request" and
"http-response" have the same values and the same process for some defined
actions, but the struct and the prototype of the declared function are
different.

This patch try to unify all of these entries.
diff --git a/src/vars.c b/src/vars.c
index 3ad0c16..68f44bc 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -499,30 +499,32 @@
 }
 
 /* Wrapper for action_store */
-static int action_tcp_req_store(struct tcp_rule *rule, struct proxy *px,
+static int action_tcp_req_store(struct act_rule *rule, struct proxy *px,
                                 struct session *sess, struct stream *s)
 {
-	return action_store(rule->act_prm.data[0], rule->act_prm.data[1],
-	                    (long)rule->act_prm.data[2], px, s, SMP_OPT_DIR_REQ);
+	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
+	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_REQ);
 }
 
 /* Wrapper for action_store */
-static int action_tcp_res_store(struct tcp_rule *rule, struct proxy *px,
+static int action_tcp_res_store(struct act_rule *rule, struct proxy *px,
                                 struct session *sess, struct stream *s)
 {
-	return action_store(rule->act_prm.data[0], rule->act_prm.data[1],
-	                    (long)rule->act_prm.data[2], px, s, SMP_OPT_DIR_RES);
+	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
+	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_RES);
 }
 
 /* Wrapper for action_store */
-static int action_http_req_store(struct http_req_rule *rule, struct proxy *px, struct stream *s)
+static int action_http_req_store(struct act_rule *rule, struct proxy *px,
+                                 struct session *sess, struct stream *s)
 {
 	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
 	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_REQ);
 }
 
 /* Wrapper for action_store */
-static int action_http_res_store(struct http_res_rule *rule, struct proxy *px, struct stream *s)
+static int action_http_res_store(struct act_rule *rule, struct proxy *px,
+                                 struct session *sess, struct stream *s)
 {
 	return action_store(rule->arg.act.p[0], rule->arg.act.p[1],
 	                    (long)rule->arg.act.p[2], px, s, SMP_OPT_DIR_RES);
@@ -601,12 +603,12 @@
 
 /* Wrapper for parse_vars */
 static int parse_tcp_req_store(const char **args, int *arg, struct proxy *px,
-                               struct tcp_rule *rule, char **err)
+                               struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_FE_REQ_CNT, err,
-                   (struct sample_expr **)&rule->act_prm.data[0],
-                   (char **)&rule->act_prm.data[1],
-                   (enum vars_scope *)&rule->act_prm.data[2]))
+                   (struct sample_expr **)&rule->arg.act.p[0],
+                   (char **)&rule->arg.act.p[1],
+                   (enum vars_scope *)&rule->arg.act.p[2]))
 		return 0;
 	rule->action       = TCP_ACT_CUSTOM_CONT;
 	rule->action_ptr   = action_tcp_req_store;
@@ -615,12 +617,12 @@
 
 /* Wrapper for parse_vars */
 static int parse_tcp_res_store(const char **args, int *arg, struct proxy *px,
-                         struct tcp_rule *rule, char **err)
+                         struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_BE_RES_CNT, err,
-                   (struct sample_expr **)&rule->act_prm.data[0],
-                   (char **)&rule->act_prm.data[1],
-                   (enum vars_scope *)&rule->act_prm.data[2]))
+                   (struct sample_expr **)&rule->arg.act.p[0],
+                   (char **)&rule->arg.act.p[1],
+                   (enum vars_scope *)&rule->arg.act.p[2]))
 		return 0;
 	rule->action       = TCP_ACT_CUSTOM_CONT;
 	rule->action_ptr   = action_tcp_res_store;
@@ -629,7 +631,7 @@
 
 /* Wrapper for parse_vars */
 static int parse_http_req_store(const char **args, int *arg, struct proxy *px,
-                         struct http_req_rule *rule, char **err)
+                         struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_FE_HRQ_HDR, err,
                    (struct sample_expr **)&rule->arg.act.p[0],
@@ -643,7 +645,7 @@
 
 /* Wrapper for parse_vars */
 static int parse_http_res_store(const char **args, int *arg, struct proxy *px,
-                         struct http_res_rule *rule, char **err)
+                         struct act_rule *rule, char **err)
 {
 	if (!parse_vars(args, arg, px, SMP_VAL_BE_HRS_HDR, err,
                    (struct sample_expr **)&rule->arg.act.p[0],