* driver/implementation can use to configure the device. It is also assumed
* that once the configuration is done, a `queue_id` type field can be used
* to refer to some arbitrary internal representation of a queue.
+ * @param dev_private_size
+ * The length of the memory space pointed to by dev_private in dev_info.
+ * This should be set to the size of the expected private structure to be
+ * used by the driver, and may be checked by drivers to ensure the expected
+ * struct type is provided.
*
* @return
* - 0: Success, device configured.
* - <0: Error code returned by the driver configuration function.
*/
int
-rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf);
+rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
+ size_t dev_private_size);
/**
* previously supplied to rte_rawdev_configure().
* @param[out] queue_conf
* The pointer to the default raw queue configuration data.
+ * @param queue_conf_size
+ * The size of the structure pointed to by queue_conf
* @return
* - 0: Success, driver updates the default raw queue configuration data.
* - <0: Error code returned by the driver info get function.
int
rte_rawdev_queue_conf_get(uint16_t dev_id,
uint16_t queue_id,
- rte_rawdev_obj_t queue_conf);
+ rte_rawdev_obj_t queue_conf,
+ size_t queue_conf_size);
/**
* Allocate and set up a raw queue for a raw device.
* @param queue_conf
* The pointer to the configuration data to be used for the raw queue.
* NULL value is allowed, in which case default configuration used.
+ * @param queue_conf_size
+ * The size of the structure pointed to by queue_conf
*
* @see rte_rawdev_queue_conf_get()
*
int
rte_rawdev_queue_setup(uint16_t dev_id,
uint16_t queue_id,
- rte_rawdev_obj_t queue_conf);
+ rte_rawdev_obj_t queue_conf,
+ size_t queue_conf_size);
/**
* Release and deallocate a raw queue from a raw device.