diff --git a/include/proto/stick_table.h b/include/proto/stick_table.h
index f26e002..01cd391 100644
--- a/include/proto/stick_table.h
+++ b/include/proto/stick_table.h
@@ -3,6 +3,7 @@
  * Functions for stick tables management.
  *
  * Copyright (C) 2009-2010 EXCELIANCE, Emeric Brun <ebrun@exceliance.fr>
+ * Copyright (C) 2010 Willy Tarreau <w@1wt.eu>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -36,6 +37,23 @@
 					void *l7, int dir, struct pattern_expr *expr,
 					unsigned long table_type);
 int stktable_compatible_pattern(struct pattern_expr *expr, unsigned long table_type);
+int stktable_get_data_type(char *name);
+
+/* reserve some space for data type <type>. Return non-0 if OK, or 0 if already
+ * allocated (or impossible type).
+ */
+static inline int stktable_alloc_data_type(struct stktable *t, int type)
+{
+	if (type >= STKTABLE_DATA_TYPES)
+		return 0;
+
+	if (t->data_ofs[type])
+		/* already allocated */
+		return 0;
 
+	t->data_size      += stktable_data_types[type].data_length;
+	t->data_ofs[type]  = -t->data_size;
+	return 1;
+}
 
 #endif /* _PROTO_STICK_TABLE_H */
diff --git a/include/types/stick_table.h b/include/types/stick_table.h
index de23610..dda9edb 100644
--- a/include/types/stick_table.h
+++ b/include/types/stick_table.h
@@ -3,6 +3,7 @@
  * Macros, variables and structures for stick tables management.
  *
  * Copyright (C) 2009-2010 EXCELIANCE, Emeric Brun <ebrun@exceliance.fr>
+ * Copyright (C) 2010 Willy Tarreau <w@1wt.eu>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -38,6 +39,24 @@
 	STKTABLE_TYPES            /* Number of types, must always be last */
 };
 
+/* The types of extra data we can store in a stick table */
+enum {
+	STKTABLE_DATA_TYPES       /* Number of data types, must always be last */
+};
+
+/* stick_table extra data. This is mainly used for casting or size computation */
+union stktable_data {
+};
+
+#define stktable_data_size(type) (sizeof(((union stktable_data*)0)->type))
+#define stktable_data_cast(ptr, type) ((union stktable_data*)(ptr))->type
+
+/* known data types */
+struct stktable_data_type {
+	const char *name; /* name of the data type */
+	int data_length;  /* length of this type, or 0 if variable (eg: string) */
+};
+
 /* stick table key type flags */
 #define STK_F_CUSTOM_KEYSIZE      0x00000001   /* this table's key size is configurable */
 
@@ -75,9 +94,10 @@
 	int exp_next;             /* next expiration date (ticks) */
 	int expire;               /* time to live for sticky sessions (milliseconds) */
 	int data_size;            /* the size of the data that is prepended *before* stksess */
+	int data_ofs[STKTABLE_DATA_TYPES]; /* negative offsets of present data types, or 0 if absent */
 };
 
-/*** The definitions below should probably be better placed in pattern.h ***/
+struct stktable_data_type stktable_data_types[STKTABLE_DATA_TYPES];
 
 /* stick table key data */
 union stktable_key_data {
