MINOR: connection: add a field to store an object type
This will soon be used to differenciate connections from applet
contexts. Object type "connection" has also been added.
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;
}
}