5 #ifndef _RTE_ETHDEV_DRIVER_H_
6 #define _RTE_ETHDEV_DRIVER_H_
33 struct rte_eth_dev *rte_eth_dev_allocated(
const char *name);
44 struct rte_eth_dev *rte_eth_dev_allocate(
const char *name);
57 struct rte_eth_dev *rte_eth_dev_attach_secondary(
const char *name);
68 int rte_eth_dev_release_port(
struct rte_eth_dev *eth_dev);
81 void _rte_eth_dev_reset(
struct rte_eth_dev *dev);
100 int _rte_eth_dev_callback_process(
struct rte_eth_dev *dev,
115 void rte_eth_dev_probing_finish(
struct rte_eth_dev *dev);
138 uint16_t queue_id,
size_t size,
157 rte_eth_linkstatus_set(
struct rte_eth_dev *dev,
160 volatile uint64_t *dev_link
161 = (
volatile uint64_t *)&(dev->data->dev_link);
170 *(
const uint64_t *)new_link);
172 return (orig.link.link_status == new_link->
link_status) ? -1 : 0;
185 rte_eth_linkstatus_get(
const struct rte_eth_dev *dev,
188 volatile uint64_t *src = (uint64_t *)&(dev->data->dev_link);
189 uint64_t *dst = (uint64_t *)link;
221 int __rte_experimental
239 int __rte_experimental
244 uint16_t ports[RTE_MAX_ETHPORTS];
268 int __rte_experimental
272 typedef int (*ethdev_init_t)(
struct rte_eth_dev *ethdev,
void *init_params);
273 typedef int (*ethdev_bus_specific_init)(
struct rte_eth_dev *ethdev,
274 void *bus_specific_init_params);
300 int __rte_experimental
302 size_t priv_data_size,
303 ethdev_bus_specific_init bus_specific_init,
void *bus_init_params,
304 ethdev_init_t ethdev_init,
void *init_params);
307 typedef int (*ethdev_uninit_t)(
struct rte_eth_dev *ethdev);
324 int __rte_experimental