DPDK  18.05.1
rte_devargs.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright 2014 6WIND S.A.
3  */
4 
5 #ifndef _RTE_DEVARGS_H_
6 #define _RTE_DEVARGS_H_
7 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 #include <stdio.h>
24 #include <sys/queue.h>
25 #include <rte_compat.h>
26 #include <rte_bus.h>
27 
32  RTE_DEVTYPE_WHITELISTED_PCI,
33  RTE_DEVTYPE_BLACKLISTED_PCI,
34  RTE_DEVTYPE_VIRTUAL,
35 };
36 
47 struct rte_devargs {
55  struct rte_bus *bus;
57  char name[RTE_DEV_NAME_MAX_LEN];
59  char *args;
60 };
61 
88 __rte_deprecated
89 int rte_eal_parse_devargs_str(const char *devargs_str,
90  char **drvname, char **drvargs);
91 
125 __rte_experimental
126 int
127 rte_devargs_parse(struct rte_devargs *da,
128  const char *format, ...)
129 __attribute__((format(printf, 2, 0)));
130 
141 __rte_experimental
142 int
143 rte_devargs_insert(struct rte_devargs *da);
144 
158 __rte_experimental
159 int rte_devargs_add(enum rte_devtype devtype, const char *devargs_str);
160 
175 __rte_deprecated
176 int rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str);
177 
194 __rte_experimental
195 int rte_devargs_remove(const char *busname,
196  const char *devname);
197 
207 __rte_experimental
208 unsigned int
209 rte_devargs_type_count(enum rte_devtype devtype);
210 
221 __rte_deprecated
222 unsigned int
224 
231 __rte_experimental
232 void rte_devargs_dump(FILE *f);
233 
241 __rte_deprecated
242 void rte_eal_devargs_dump(FILE *f);
243 
260 __rte_experimental
261 struct rte_devargs *
262 rte_devargs_next(const char *busname, const struct rte_devargs *start);
263 
267 #define RTE_EAL_DEVARGS_FOREACH(busname, da) \
268  for (da = rte_devargs_next(busname, NULL); \
269  da != NULL; \
270  da = rte_devargs_next(busname, da)) \
271 
272 #ifdef __cplusplus
273 }
274 #endif
275 
276 #endif /* _RTE_DEVARGS_H_ */