1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2018 Gaëtan Rivet 3 */ 4 5 #ifndef _ETH_PRIVATE_H_ 6 #define _ETH_PRIVATE_H_ 7 8 #include "rte_ethdev.h" 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 /* 15 * Convert rte_eth_dev pointer to port id. 16 * NULL will be translated to RTE_MAX_ETHPORTS. 17 */ 18 uint16_t eth_dev_to_id(const struct rte_eth_dev *dev); 19 20 /* Generic rte_eth_dev comparison function. */ 21 typedef int (*rte_eth_cmp_t)(const struct rte_eth_dev *, const void *); 22 23 /* Generic rte_eth_dev iterator. */ 24 struct rte_eth_dev * 25 eth_find_device(const struct rte_eth_dev *_start, rte_eth_cmp_t cmp, 26 const void *data); 27 28 /* Parse devargs value for representor parameter. */ 29 typedef int (*rte_eth_devargs_callback_t)(char *str, void *data); 30 int rte_eth_devargs_parse_list(char *str, rte_eth_devargs_callback_t callback, 31 void *data); 32 int rte_eth_devargs_parse_representor_ports(char *str, void *data); 33 34 #ifdef __cplusplus 35 } 36 #endif 37 38 #endif /* _ETH_PRIVATE_H_ */ 39