DPDK  18.08.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  char name[RTE_DEV_NAME_MAX_LEN];
57  union {
59  char *args;
60  const char *drv_str;
61  };
62  struct rte_bus *bus;
63  struct rte_class *cls;
64  const char *bus_str;
65  const char *cls_str;
66  const char *data;
67 };
68 
95 __rte_deprecated
96 int rte_eal_parse_devargs_str(const char *devargs_str,
97  char **drvname, char **drvargs);
98 
131 __rte_experimental
132 int
133 rte_devargs_parse(struct rte_devargs *da, const char *dev);
134 
168 __rte_experimental
169 int
171  const char *format, ...)
172 __attribute__((format(printf, 2, 0)));
173 
184 __rte_experimental
185 int
186 rte_devargs_insert(struct rte_devargs *da);
187 
201 __rte_experimental
202 int rte_devargs_add(enum rte_devtype devtype, const char *devargs_str);
203 
218 __rte_deprecated
219 int rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str);
220 
237 __rte_experimental
238 int rte_devargs_remove(const char *busname,
239  const char *devname);
240 
250 __rte_experimental
251 unsigned int
252 rte_devargs_type_count(enum rte_devtype devtype);
253 
264 __rte_deprecated
265 unsigned int
267 
274 __rte_experimental
275 void rte_devargs_dump(FILE *f);
276 
284 __rte_deprecated
285 void rte_eal_devargs_dump(FILE *f);
286 
303 __rte_experimental
304 struct rte_devargs *
305 rte_devargs_next(const char *busname, const struct rte_devargs *start);
306 
310 #define RTE_EAL_DEVARGS_FOREACH(busname, da) \
311  for (da = rte_devargs_next(busname, NULL); \
312  da != NULL; \
313  da = rte_devargs_next(busname, da)) \
314 
315 #ifdef __cplusplus
316 }
317 #endif
318 
319 #endif /* _RTE_DEVARGS_H_ */