25 #include <sys/queue.h>
117 #define RTE_REGISTER_CLASS(nm, cls) \
118 RTE_INIT_PRIO(classinitfn_ ##nm, CLASS) \
120 (cls).name = RTE_STR(nm); \
121 rte_class_register(&cls); \
124 #define RTE_UNREGISTER_CLASS(nm, cls) \
125 RTE_FINI_PRIO(classfinifn_ ##nm, CLASS) \
127 rte_class_unregister(&cls); \
void *(* rte_dev_iterate_t)(const void *start, const char *devstr, const struct rte_dev_iterator *it)
rte_dev_iterate_t dev_iterate
int(* rte_class_cmp_t)(const struct rte_class *cls, const void *data)
__rte_experimental struct rte_class * rte_class_find(const struct rte_class *start, rte_class_cmp_t cmp, const void *data)
TAILQ_HEAD(rte_class_list, rte_class)
__rte_experimental void rte_class_register(struct rte_class *cls)
__rte_experimental void rte_class_unregister(struct rte_class *cls)
__rte_experimental struct rte_class * rte_class_find_by_name(const char *name)
TAILQ_ENTRY(rte_class) next