1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2010-2014 Intel Corporation 3 */ 4 5 #ifndef EAL_INTERRUPTS_H 6 #define EAL_INTERRUPTS_H 7 8 struct rte_intr_handle { 9 RTE_STD_C11 10 union { 11 struct { 12 int dev_fd; /**< VFIO/UIO cfg device file descriptor */ 13 int fd; /**< interrupt event file descriptor */ 14 }; 15 void *windows_handle; /**< device driver handle */ 16 }; 17 uint32_t alloc_flags; /**< flags passed at allocation */ 18 enum rte_intr_handle_type type; /**< handle type */ 19 uint32_t max_intr; /**< max interrupt requested */ 20 uint32_t nb_efd; /**< number of available efd(event fd) */ 21 uint8_t efd_counter_size; /**< size of efd counter, used for vdev */ 22 uint16_t nb_intr; 23 /**< Max vector count, default RTE_MAX_RXTX_INTR_VEC_ID */ 24 int *efds; /**< intr vectors/efds mapping */ 25 struct rte_epoll_event *elist; /**< intr vector epoll event */ 26 uint16_t vec_list_size; 27 int *intr_vec; /**< intr vector number array */ 28 }; 29 30 #endif /* EAL_INTERRUPTS_H */ 31