DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
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
18
19
#include <stdio.h>
20
21
#include <
rte_dev.h
>
22
23
#ifdef __cplusplus
24
extern
"C"
{
25
#endif
26
27
struct
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
56
enum
rte_devtype
{
57
RTE_DEVTYPE_ALLOWED,
58
RTE_DEVTYPE_BLOCKED,
59
RTE_DEVTYPE_VIRTUAL,
60
};
61
72
struct
rte_devargs
{
74
RTE_TAILQ_ENTRY
(
rte_devargs
) next;
76
enum
rte_devtype
type
;
78
enum
rte_dev_policy
policy
;
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
124
int
125
rte_devargs_parse
(
struct
rte_devargs
*da,
const
char
*dev);
126
160
int
161
rte_devargs_parsef
(
struct
rte_devargs
*da,
162
const
char
*format, ...)
163
__rte_format_printf
(2, 0);
164
171
void
172
rte_devargs_reset
(struct
rte_devargs
*da);
173
186
int
187
rte_devargs_insert
(struct
rte_devargs
**da);
188
202
int
rte_devargs_add
(enum
rte_devtype
devtype, const
char
*devargs_str);
203
217
int
rte_devargs_remove
(struct
rte_devargs
*devargs);
218
228
unsigned
int
229
rte_devargs_type_count
(enum
rte_devtype
devtype);
230
237
void
rte_devargs_dump
(FILE *f);
238
255
struct
rte_devargs
*
256
rte_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_ */
__rte_format_printf
#define __rte_format_printf(format_index, first_arg)
Definition
rte_common.h:280
rte_dev.h
rte_dev_policy
rte_dev_policy
Definition
rte_dev.h:47
rte_devargs_dump
void rte_devargs_dump(FILE *f)
rte_devargs_add
int rte_devargs_add(enum rte_devtype devtype, const char *devargs_str)
rte_devargs_insert
int rte_devargs_insert(struct rte_devargs **da)
rte_devargs_parse
int rte_devargs_parse(struct rte_devargs *da, const char *dev)
rte_devargs_next
struct rte_devargs * rte_devargs_next(const char *busname, const struct rte_devargs *start)
rte_devtype
rte_devtype
Definition
rte_devargs.h:56
rte_devargs_parsef
int rte_devargs_parsef(struct rte_devargs *da, const char *format,...) __rte_format_printf(2
rte_devargs_reset
int void rte_devargs_reset(struct rte_devargs *da)
rte_devargs_remove
int rte_devargs_remove(struct rte_devargs *devargs)
rte_devargs_type_count
unsigned int rte_devargs_type_count(enum rte_devtype devtype)
rte_class
Definition
rte_class.h:33
rte_devargs
Definition
rte_devargs.h:72
rte_devargs::policy
enum rte_dev_policy policy
Definition
rte_devargs.h:78
rte_devargs::bus_str
const char * bus_str
Definition
rte_devargs.h:87
rte_devargs::cls
struct rte_class * cls
Definition
rte_devargs.h:86
rte_devargs::RTE_TAILQ_ENTRY
RTE_TAILQ_ENTRY(rte_devargs) next
rte_devargs::bus
struct rte_bus * bus
Definition
rte_devargs.h:85
rte_devargs::args
const char * args
Definition
rte_devargs.h:82
rte_devargs::data
char * data
Definition
rte_devargs.h:89
rte_devargs::cls_str
const char * cls_str
Definition
rte_devargs.h:88
rte_devargs::name
char name[RTE_DEV_NAME_MAX_LEN]
Definition
rte_devargs.h:80
rte_devargs::type
enum rte_devtype type
Definition
rte_devargs.h:76
rte_devargs::drv_str
const char * drv_str
Definition
rte_devargs.h:83
lib
eal
include
rte_devargs.h
Generated by
1.17.0