MINOR: tcp: prepare support for the "capture" action

A few minor entries will be needed to capture sample fetches in requests
or responses. This patch just prepares the code for this.
diff --git a/include/types/arg.h b/include/types/arg.h
index 566f174..809f367 100644
--- a/include/types/arg.h
+++ b/include/types/arg.h
@@ -58,6 +58,7 @@
 	ARGC_HRS,      /* http-response */
 	ARGC_UIF,      /* unique-id-format */
 	ARGC_RDR,      /* redirect */
+	ARGC_CAP,      /* capture rule */
 };
 
 /* some types that are externally defined */
diff --git a/include/types/proto_tcp.h b/include/types/proto_tcp.h
index 7f65244..e8f2d74 100644
--- a/include/types/proto_tcp.h
+++ b/include/types/proto_tcp.h
@@ -38,14 +38,21 @@
 	TCP_ACT_TRK_SC2 = 6,
 	TCP_ACT_TRK_SCMAX = TCP_ACT_TRK_SC0 + MAX_SESS_STKCTR - 1,
 	TCP_ACT_CLOSE, /* close at the sender's */
+	TCP_ACT_CAPTURE, /* capture a fetched sample */
 };
 
+struct capture_prm {
+	struct sample_expr *expr;               /* expression used as the key */
+	struct cap_hdr *hdr;                    /* the capture storage */
+};
+
 struct tcp_rule {
 	struct list list;
 	struct acl_cond *cond;
 	int action;
 	union {
 		struct track_ctr_prm trk_ctr;
+		struct capture_prm cap;
 	} act_prm;
 };
 
diff --git a/src/sample.c b/src/sample.c
index 66c9a9c..9f22ef9 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -971,6 +971,7 @@
 		case ARGC_HRS: where = "in http-response header format string in"; break;
 		case ARGC_UIF: where = "in unique-id-format string in"; break;
 		case ARGC_RDR: where = "in redirect format string in"; break;
+		case ARGC_CAP: where = "in capture rule in"; break;
 		case ARGC_ACL: ctx = "ACL keyword"; break;
 		}