mempool: fix explicit cast to build C++ app
[dpdk.git] / lib / librte_mempool / rte_mempool.h
index ee67ce7..8abeca9 100644 (file)
@@ -268,13 +268,7 @@ struct rte_mempool {
 /* return the header of a mempool object (internal) */
 static inline struct rte_mempool_objhdr *__mempool_get_header(void *obj)
 {
-       return RTE_PTR_SUB(obj, sizeof(struct rte_mempool_objhdr));
-}
-
-/* return the trailer of a mempool object (internal) */
-static inline struct rte_mempool_objtlr *__mempool_get_trailer(void *obj)
-{
-       return RTE_PTR_SUB(obj, sizeof(struct rte_mempool_objtlr));
+       return (struct rte_mempool_objhdr *)RTE_PTR_SUB(obj, sizeof(struct rte_mempool_objhdr));
 }
 
 /**
@@ -292,6 +286,13 @@ static inline struct rte_mempool *rte_mempool_from_obj(void *obj)
        return hdr->mp;
 }
 
+/* return the trailer of a mempool object (internal) */
+static inline struct rte_mempool_objtlr *__mempool_get_trailer(void *obj)
+{
+       struct rte_mempool *mp = rte_mempool_from_obj(obj);
+       return (struct rte_mempool_objtlr *)RTE_PTR_ADD(obj, mp->elt_size);
+}
+
 /**
  * @internal Check and update cookies or panic.
  *