DPDK 25.03.0-rc0
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#include <stdio.h>
20
21#include <rte_dev.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27struct rte_bus;
28
35#define RTE_DEVARGS_KEY_BUS "bus"
36
43#define RTE_DEVARGS_KEY_CLASS "class"
44
51#define RTE_DEVARGS_KEY_DRIVER "driver"
52
57 RTE_DEVTYPE_ALLOWED,
58 RTE_DEVTYPE_BLOCKED,
59 RTE_DEVTYPE_VIRTUAL,
60};
61
80 char name[RTE_DEV_NAME_MAX_LEN];
81 union {
82 const char *args;
83 const char *drv_str;
84 };
85 struct rte_bus *bus;
86 struct rte_class *cls;
87 const char *bus_str;
88 const char *cls_str;
89 char *data;
90};
91
124int
125rte_devargs_parse(struct rte_devargs *da, const char *dev);
126
160int
162 const char *format, ...)
164
171void
173
186int
188
202int rte_devargs_add(enum rte_devtype devtype, const char *devargs_str);
203
217int rte_devargs_remove(struct rte_devargs *devargs);
218
228unsigned int
230
237void rte_devargs_dump(FILE *f);
238
255struct rte_devargs *
256rte_devargs_next(const char *busname, const struct rte_devargs *start);
257
261#define RTE_EAL_DEVARGS_FOREACH(busname, da) \
262 for (da = rte_devargs_next(busname, NULL); \
263 da != NULL; \
264 da = rte_devargs_next(busname, da)) \
265
266#ifdef __cplusplus
267}
268#endif
269
270#endif /* _RTE_DEVARGS_H_ */
#define __rte_format_printf(format_index, first_arg)
Definition: rte_common.h:203
rte_dev_policy
Definition: rte_dev.h:47
void rte_devargs_dump(FILE *f)
int rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
int rte_devargs_insert(struct rte_devargs **da)
int rte_devargs_parse(struct rte_devargs *da, const char *dev)
struct rte_devargs * rte_devargs_next(const char *busname, const struct rte_devargs *start)
rte_devtype
Definition: rte_devargs.h:56
int rte_devargs_parsef(struct rte_devargs *da, const char *format,...) __rte_format_printf(2
int void rte_devargs_reset(struct rte_devargs *da)
int rte_devargs_remove(struct rte_devargs *devargs)
unsigned int rte_devargs_type_count(enum rte_devtype devtype)
enum rte_dev_policy policy
Definition: rte_devargs.h:78
const char * bus_str
Definition: rte_devargs.h:87
struct rte_class * cls
Definition: rte_devargs.h:86
RTE_TAILQ_ENTRY(rte_devargs) next
struct rte_bus * bus
Definition: rte_devargs.h:85
const char * args
Definition: rte_devargs.h:82
char * data
Definition: rte_devargs.h:89
const char * cls_str
Definition: rte_devargs.h:88
char name[RTE_DEV_NAME_MAX_LEN]
Definition: rte_devargs.h:80
enum rte_devtype type
Definition: rte_devargs.h:76
const char * drv_str
Definition: rte_devargs.h:83