diff --git a/include/haproxy/obj_type-t.h b/include/haproxy/obj_type-t.h index f57fbf01a..6ffca9be3 100644 --- a/include/haproxy/obj_type-t.h +++ b/include/haproxy/obj_type-t.h @@ -47,6 +47,7 @@ enum obj_type { OBJ_TYPE_DGRAM, /* object is a struct quic_dgram */ #endif OBJ_TYPE_HATERM, /* object is a struct hstream */ + OBJ_TYPE_HALOAD, /* object is a struct hxstream */ OBJ_TYPE_ACME_RSLV, /* object is a struct acme_rslv */ OBJ_TYPE_ENTRIES /* last one : number of entries */ } __attribute__((packed)) ; diff --git a/include/haproxy/obj_type.h b/include/haproxy/obj_type.h index d10a32969..653a187c0 100644 --- a/include/haproxy/obj_type.h +++ b/include/haproxy/obj_type.h @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -217,6 +218,19 @@ static inline struct acme_rslv *objt_acme_rslv(enum obj_type *t) return __objt_acme_rslv(t); } +static inline struct hldstream *__objt_hldstream(enum obj_type *t) +{ + return container_of(t, struct hldstream, obj_type); +} + +static inline struct hldstream *objt_hldstream(enum obj_type *t) +{ + if (!t || *t != OBJ_TYPE_HALOAD) + return NULL; + + return __objt_hldstream(t); +} + #ifdef USE_QUIC static inline struct quic_dgram *__objt_dgram(enum obj_type *t) {