net/bnxt: ignore VLAN priority mask
[dpdk.git] / lib / librte_regexdev / rte_regexdev_core.h
index c46438f..a5576d3 100644 (file)
@@ -127,6 +127,17 @@ struct rte_regexdev_ops {
        regexdev_dump_t dev_dump;
 };
 
+/**
+ * Possible states of a RegEx device.
+ */
+enum rte_regexdev_state {
+       RTE_REGEXDEV_UNUSED = 0, /**< Device is unused. */
+       RTE_REGEXDEV_REGISTERED,
+       /**< Device is registered, but not ready to be used. */
+       RTE_REGEXDEV_READY,
+       /**< Device is ready for use. This is set by the PMD. */
+};
+
 /**
  * @internal
  * The data part, with no function pointers, associated with each RegEx device.
@@ -136,6 +147,10 @@ struct rte_regexdev_ops {
  */
 struct rte_regexdev_data {
        void *dev_private; /**< PMD-specific private data. */
+       char dev_name[RTE_REGEXDEV_NAME_MAX_LEN]; /**< Unique identifier name */
+       uint16_t dev_id; /**< Device [external]  identifier. */
+       struct rte_regexdev_config dev_conf; /**< RegEx configuration. */
+       uint8_t dev_started : 1; /**< Device started to work. */
 } __rte_cache_aligned;
 
 /**
@@ -154,7 +169,15 @@ struct rte_regexdev {
        const struct rte_regexdev_ops *dev_ops;
        /**< Functions exported by PMD */
        struct rte_device *device; /**< Backing device */
+       enum rte_regexdev_state state; /**< The device state. */
        struct rte_regexdev_data *data;  /**< Pointer to device data. */
 } __rte_cache_aligned;
 
+/**
+ * @internal
+ * The pool of *rte_regexdev* structures. The size of the pool
+ * is configured at compile-time in the <rte_regexdev.c> file.
+ */
+extern struct rte_regexdev rte_regex_devices[];
+
 #endif /* _RTE_REGEX_CORE_H_ */