1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2014 Intel Corporation
5 #ifndef EAL_INTERRUPTS_H
6 #define EAL_INTERRUPTS_H
8 struct rte_intr_handle {
14 /** VFIO device file descriptor */
16 /** UIO cfg file desc for uio_pci_generic */
19 int fd; /**< interrupt event file descriptor */
21 void *windows_handle; /**< device driver handle */
23 uint32_t alloc_flags; /**< flags passed at allocation */
24 enum rte_intr_handle_type type; /**< handle type */
25 uint32_t max_intr; /**< max interrupt requested */
26 uint32_t nb_efd; /**< number of available efd(event fd) */
27 uint8_t efd_counter_size; /**< size of efd counter, used for vdev */
29 /**< Max vector count, default RTE_MAX_RXTX_INTR_VEC_ID */
30 int efds[RTE_MAX_RXTX_INTR_VEC_ID]; /**< intr vectors/efds mapping */
31 struct rte_epoll_event elist[RTE_MAX_RXTX_INTR_VEC_ID];
32 /**< intr vector epoll event */
33 uint16_t vec_list_size;
34 int *intr_vec; /**< intr vector number array */
37 #endif /* EAL_INTERRUPTS_H */