1 /* SPDX-License-Identifier: Apache-2.0
2 * Copyright (c) 2023 Cisco Systems, Inc.
5 #ifndef _VNET_DEV_TYPES_H_
6 #define _VNET_DEV_TYPES_H_
8 #include <vppinfra/types.h>
9 #include <vnet/dev/errors.h>
11 typedef char vnet_dev_device_id_t[32];
12 typedef char vnet_dev_if_name_t[32];
13 typedef char vnet_dev_driver_name_t[16];
14 typedef char vnet_dev_bus_name_t[8];
15 typedef u16 vnet_dev_port_id_t;
16 typedef struct vnet_dev vnet_dev_t;
17 typedef struct vnet_dev_port vnet_dev_port_t;
18 typedef struct vnet_dev_rx_queue vnet_dev_rx_queue_t;
19 typedef struct vnet_dev_tx_queue vnet_dev_tx_queue_t;
23 VNET_DEV_MINUS_OK = 0,
24 #define _(n, d) VNET_DEV_ERR_MINUS_##n,
25 foreach_vnet_dev_rv_type
27 } vnet_dev_minus_rv_t;
32 #define _(n, d) VNET_DEV_ERR_##n = -(VNET_DEV_ERR_MINUS_##n),
33 foreach_vnet_dev_rv_type
37 /* do not change bit assignments - API dependency */
38 #define foreach_vnet_dev_flag _ (3, NO_STATS, "don't poll device stats")
44 #define _(b, n, d) VNET_DEV_F_##n = 1ull << (b),
51 /* do not change bit assignments - API dependency */
52 #define foreach_vnet_dev_port_flag \
53 _ (3, INTERRUPT_MODE, "enable interrupt mode")
59 #define _(b, n, d) VNET_DEV_PORT_F_##n = 1ull << (b),
60 foreach_vnet_dev_port_flag
64 } vnet_dev_port_flags_t;
66 #endif /* _VNET_DEV_TYPES_H_ */