diff --git a/include/proto/obj_type.h b/include/proto/obj_type.h
index 09a5ee4..8b180f2 100644
--- a/include/proto/obj_type.h
+++ b/include/proto/obj_type.h
@@ -24,6 +24,7 @@
 
 #include <common/config.h>
 #include <common/memory.h>
+#include <types/connection.h>
 #include <types/listener.h>
 #include <types/obj_type.h>
 #include <types/proxy.h>
@@ -44,6 +45,7 @@
 	case OBJ_TYPE_PROXY:    return "PROXY";
 	case OBJ_TYPE_SERVER:   return "SERVER";
 	case OBJ_TYPE_APPLET:   return "APPLET";
+	case OBJ_TYPE_CONN:     return "CONN";
 	default:                return "NONE";
 	}
 }
@@ -103,6 +105,18 @@
 	return __objt_applet(t);
 }
 
+static inline struct connection *__objt_conn(enum obj_type *t)
+{
+	return container_of(t, struct connection, obj_type);
+}
+
+static inline struct connection *objt_conn(enum obj_type *t)
+{
+	if (!t || *t != OBJ_TYPE_CONN)
+		return NULL;
+	return __objt_conn(t);
+}
+
 static inline void *obj_base_ptr(enum obj_type *t)
 {
 	switch (obj_type(t)) {
@@ -110,6 +124,7 @@
 	case OBJ_TYPE_PROXY:    return __objt_proxy(t);
 	case OBJ_TYPE_SERVER:   return __objt_server(t);
 	case OBJ_TYPE_APPLET:   return __objt_applet(t);
+	case OBJ_TYPE_CONN:     return __objt_conn(t);
 	default:                return NULL;
 	}
 }
diff --git a/include/types/connection.h b/include/types/connection.h
index 2c7acd1..3dfd73e 100644
--- a/include/types/connection.h
+++ b/include/types/connection.h
@@ -230,11 +230,12 @@
 /* This structure describes a connection with its methods and data.
  * A connection may be performed to proxy or server via a local or remote
  * socket, and can also be made to an internal applet. It can support
- * several transport schemes (applet, raw, ssl, ...). It can support several
+ * several transport schemes (raw, ssl, ...). It can support several
  * connection control schemes, generally a protocol for socket-oriented
  * connections, but other methods for applets.
  */
 struct connection {
+	enum obj_type obj_type;       /* differentiates connection from applet context */
 	const struct protocol *ctrl;  /* operations at the socket layer */
 	const struct xprt_ops *xprt;  /* operations at the transport layer */
 	const struct data_cb  *data;  /* data layer callbacks */
diff --git a/include/types/obj_type.h b/include/types/obj_type.h
index b27f375..88d8973 100644
--- a/include/types/obj_type.h
+++ b/include/types/obj_type.h
@@ -37,6 +37,7 @@
 	OBJ_TYPE_PROXY,        /* object is a struct proxy */
 	OBJ_TYPE_SERVER,       /* object is a struct server */
 	OBJ_TYPE_APPLET,       /* object is a struct si_applet */
+	OBJ_TYPE_CONN,         /* object is a struct connection */
 	OBJ_TYPE_ENTRIES       /* last one : number of entries */
 };
 
