24 #include <rte_compat.h>
30 #define RTE_TAILQ_STACK_NAME "RTE_STACK"
31 #define RTE_STACK_MZ_PREFIX "STK_"
33 #define RTE_STACK_NAMESIZE (RTE_MEMZONE_NAMESIZE - \
34 sizeof(RTE_STACK_MZ_PREFIX) + 1)
36 struct rte_stack_lf_elem {
38 struct rte_stack_lf_elem *next;
41 struct rte_stack_lf_head {
42 struct rte_stack_lf_elem *top;
46 struct rte_stack_lf_list {
68 struct rte_stack_std {
86 struct rte_stack_lf stack_lf;
87 struct rte_stack_std stack_std;
95 #define RTE_STACK_F_LF 0x0001
97 #include "rte_stack_std.h"
98 #include "rte_stack_lf.h"
119 RTE_ASSERT(s != NULL);
120 RTE_ASSERT(obj_table != NULL);
123 return __rte_stack_lf_push(s, obj_table, n);
125 return __rte_stack_std_push(s, obj_table, n);
147 RTE_ASSERT(s != NULL);
148 RTE_ASSERT(obj_table != NULL);
151 return __rte_stack_lf_pop(s, obj_table, n);
153 return __rte_stack_std_pop(s, obj_table, n);
171 RTE_ASSERT(s != NULL);
174 return __rte_stack_lf_count(s);
176 return __rte_stack_std_count(s);
194 RTE_ASSERT(s != NULL);