numam-dpdk/lib/eal/common/eal_interrupts.h
Harman Kalra 73d844fd08 interrupts: make interrupt handle structure opaque
Moving interrupt handle structure definition inside a EAL private
header to make its fields totally opaque to the outside world.

Signed-off-by: Harman Kalra <hkalra@marvell.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Raslan Darawsheh <rasland@nvidia.com>
2021-10-25 21:20:12 +02:00

38 lines
1.1 KiB
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright(c) 2010-2014 Intel Corporation
*/
#ifndef EAL_INTERRUPTS_H
#define EAL_INTERRUPTS_H
struct rte_intr_handle {
RTE_STD_C11
union {
struct {
RTE_STD_C11
union {
/** VFIO device file descriptor */
int vfio_dev_fd;
/** UIO cfg file desc for uio_pci_generic */
int uio_cfg_fd;
};
int fd; /**< interrupt event file descriptor */
};
void *windows_handle; /**< device driver handle */
};
uint32_t alloc_flags; /**< flags passed at allocation */
enum rte_intr_handle_type type; /**< handle type */
uint32_t max_intr; /**< max interrupt requested */
uint32_t nb_efd; /**< number of available efd(event fd) */
uint8_t efd_counter_size; /**< size of efd counter, used for vdev */
uint16_t nb_intr;
/**< Max vector count, default RTE_MAX_RXTX_INTR_VEC_ID */
int efds[RTE_MAX_RXTX_INTR_VEC_ID]; /**< intr vectors/efds mapping */
struct rte_epoll_event elist[RTE_MAX_RXTX_INTR_VEC_ID];
/**< intr vector epoll event */
uint16_t vec_list_size;
int *intr_vec; /**< intr vector number array */
};
#endif /* EAL_INTERRUPTS_H */