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;
 	}
 }
