22 #include <rte_compat.h>
28 #define RTE_TAILQ_STACK_NAME "RTE_STACK"
29 #define RTE_STACK_MZ_PREFIX "STK_"
31 #define RTE_STACK_NAMESIZE (RTE_MEMZONE_NAMESIZE - \
32 sizeof(RTE_STACK_MZ_PREFIX) + 1)
34 struct rte_stack_lf_elem {
36 struct rte_stack_lf_elem *next;
39 struct rte_stack_lf_head {
40 struct rte_stack_lf_elem *top;
44 struct rte_stack_lf_list {
66 struct rte_stack_std {
84 struct rte_stack_lf stack_lf;
85 struct rte_stack_std stack_std;
93 #define RTE_STACK_F_LF 0x0001
95 #include "rte_stack_std.h"
96 #include "rte_stack_lf.h"
113 RTE_ASSERT(s != NULL);
114 RTE_ASSERT(obj_table != NULL);
117 return __rte_stack_lf_push(s, obj_table, n);
119 return __rte_stack_std_push(s, obj_table, n);
137 RTE_ASSERT(s != NULL);
138 RTE_ASSERT(obj_table != NULL);
141 return __rte_stack_lf_pop(s, obj_table, n);
143 return __rte_stack_std_pop(s, obj_table, n);
157 RTE_ASSERT(s != NULL);
160 return __rte_stack_lf_count(s);
162 return __rte_stack_std_count(s);
176 RTE_ASSERT(s != NULL);