rte_class.h
Contents
Detailed Description
DPDK device class interface.
This file describes the interface of the device class abstraction layer.
A device class defines the type of function a device will be used for e.g.: Ethernet adapter (eth),
cryptographic co-processor (crypto), etc.
Definition in file rte_class.h.
Function Documentation
RTE_TAILQ_HEAD(rte_class_list,rte_class)
Double linked list of classes
structrte_class*rte_class_find(conststructrte_class*start,rte_class_cmp_tcmp,constvoid*data)
Class iterator to find a particular class.
This function compares each registered class to find one that matches the data passed as parameter.
If the comparison function returns zero this function will stop iterating over any more classes. To
continue a search the class of a previous search can be passed via the start parameter.
Parametersstart Starting point for the iteration.
cmp Comparison function.
data Data to pass to comparison function.
Returns
A pointer to a rte_class structure or NULL in case no class matches
structrte_class*rte_class_find_by_name(constchar*name)
Find the registered class for a given name.
voidrte_class_register(structrte_class*cls)
Register a Class handle.
Parameterscls A pointer to a rte_class structure describing the class to be registered.
voidrte_class_unregister(structrte_class*cls)
Unregister a Class handle.
Parameterscls A pointer to a rte_class structure describing the class to be unregistered.
Macro Definition Documentation
#defineRTE_REGISTER_CLASS(nm,cls)Value:.PP
RTE_INIT_PRIO(classinitfn_ ##nm, CLASS) \
{\
(cls).name = RTE_STR(nm); \
rte_class_register(&cls); \
}
Helper for Class registration. The constructor has lower priority than Bus constructors. The constructor
has higher priority than PMD constructors.
Definition at line 111 of file rte_class.h.
Name
rte_class.h
Synopsis
#include <rte_dev.h>
DataStructures
struct rte_classMacros
#define RTE_REGISTER_CLASS(nm, cls)
Typedefstypedef int(* rte_class_cmp_t) (const struct rte_class *cls, const void *data)
FunctionsRTE_TAILQ_HEAD (rte_class_list, rte_class)
struct rte_class * rte_class_find (const struct rte_class *start, rte_class_cmp_t cmp, const void *data)
struct rte_class * rte_class_find_by_name (const char *name)
void rte_class_register (struct rte_class *cls)
void rte_class_unregister (struct rte_class *cls)
Typedef Documentation
typedefint(*rte_class_cmp_t)(conststructrte_class*cls,constvoid*data)
Class comparison function.
Parameterscls Class under test.
data Data to compare against.
Returns
0 if the class matches the data. !0 if the class does not match. <0 if ordering is possible and the
class is lower than the data. >0 if ordering is possible and the class is greater than the data.
Definition at line 54 of file rte_class.h.
