ethdev: add iterator to match devargs input
[dpdk.git] / lib / librte_ethdev / ethdev_private.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 GaĆ«tan Rivet
3  */
4
5 #ifndef _RTE_ETH_PRIVATE_H_
6 #define _RTE_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 #ifdef __cplusplus
29 }
30 #endif
31
32 #endif /* _RTE_ETH_PRIVATE_H_ */