diff --git a/include/proto/obj_type.h b/include/proto/obj_type.h index b64244fcc..60265b5e1 100644 --- a/include/proto/obj_type.h +++ b/include/proto/obj_type.h @@ -131,6 +131,18 @@ static inline struct connection *objt_conn(enum obj_type *t) return __objt_conn(t); } +static inline struct dns_srvrq *__objt_dns_srvrq(enum obj_type *t) +{ + return container_of(t, struct dns_srvrq, obj_type); +} + +static inline struct dns_srvrq *objt_dns_srvrq(enum obj_type *t) +{ + if (!t || *t != OBJ_TYPE_SRVRQ) + return NULL; + return __objt_dns_srvrq(t); +} + static inline void *obj_base_ptr(enum obj_type *t) { switch (obj_type(t)) { diff --git a/include/types/obj_type.h b/include/types/obj_type.h index 83a3e7826..a6310cfc0 100644 --- a/include/types/obj_type.h +++ b/include/types/obj_type.h @@ -39,6 +39,7 @@ enum obj_type { OBJ_TYPE_APPLET, /* object is a struct applet */ OBJ_TYPE_APPCTX, /* object is a struct appctx */ OBJ_TYPE_CONN, /* object is a struct connection */ + OBJ_TYPE_SRVRQ, /* object is a struct dns_srvrq */ OBJ_TYPE_ENTRIES /* last one : number of entries */ } __attribute__((packed)) ;