5 #ifndef _RTE_REGEX_CORE_H_
6 #define _RTE_REGEX_CORE_H_
22 typedef int (*regexdev_info_get_t)(
struct rte_regexdev *dev,
26 typedef int (*regexdev_configure_t)(
struct rte_regexdev *dev,
30 typedef int (*regexdev_qp_setup_t)(
struct rte_regexdev *dev, uint16_t id,
34 typedef int (*regexdev_start_t)(
struct rte_regexdev *dev);
37 typedef int (*regexdev_stop_t)(
struct rte_regexdev *dev);
40 typedef int (*regexdev_close_t)(
struct rte_regexdev *dev);
43 typedef int (*regexdev_attr_get_t)(
struct rte_regexdev *dev,
48 typedef int (*regexdev_attr_set_t)(
struct rte_regexdev *dev,
53 typedef int (*regexdev_rule_db_update_t)(
struct rte_regexdev *dev,
58 typedef int (*regexdev_rule_db_compile_activate_t)(
struct rte_regexdev *dev);
61 typedef int (*regexdev_rule_db_import_t)(
struct rte_regexdev *dev,
63 uint32_t rule_db_len);
66 typedef int (*regexdev_rule_db_export_t)(
struct rte_regexdev *dev,
70 typedef int (*regexdev_xstats_names_get_t)(
struct rte_regexdev *dev,
75 typedef int (*regexdev_xstats_get_t)(
struct rte_regexdev *dev,
76 const uint16_t *ids, uint64_t *values,
80 typedef int (*regexdev_xstats_by_name_get_t)(
struct rte_regexdev *dev,
81 const char *name, uint16_t *id,
85 typedef int (*regexdev_xstats_reset_t)(
struct rte_regexdev *dev,
90 typedef int (*regexdev_selftest_t)(
struct rte_regexdev *dev);
93 typedef int (*regexdev_dump_t)(
struct rte_regexdev *dev, FILE *f);
96 typedef uint16_t (*regexdev_enqueue_t)(
struct rte_regexdev *dev, uint16_t qp_id,
101 typedef uint16_t (*regexdev_dequeue_t)(
struct rte_regexdev *dev, uint16_t qp_id,
110 regexdev_info_get_t dev_info_get;
111 regexdev_configure_t dev_configure;
112 regexdev_qp_setup_t dev_qp_setup;
113 regexdev_start_t dev_start;
114 regexdev_stop_t dev_stop;
115 regexdev_close_t dev_close;
116 regexdev_attr_get_t dev_attr_get;
117 regexdev_attr_set_t dev_attr_set;
118 regexdev_rule_db_update_t dev_rule_db_update;
119 regexdev_rule_db_compile_activate_t dev_rule_db_compile_activate;
120 regexdev_rule_db_import_t dev_db_import;
121 regexdev_rule_db_export_t dev_db_export;
122 regexdev_xstats_names_get_t dev_xstats_names_get;
123 regexdev_xstats_get_t dev_xstats_get;
124 regexdev_xstats_by_name_get_t dev_xstats_by_name_get;
125 regexdev_xstats_reset_t dev_xstats_reset;
126 regexdev_selftest_t dev_selftest;
127 regexdev_dump_t dev_dump;
148 struct rte_regexdev_data {
150 char dev_name[RTE_REGEXDEV_NAME_MAX_LEN];
153 uint8_t dev_started : 1;
166 struct rte_regexdev {
167 regexdev_enqueue_t enqueue;
168 regexdev_dequeue_t dequeue;
173 struct rte_regexdev_data *data;
181 extern struct rte_regexdev rte_regex_devices[];
#define __rte_cache_aligned