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 union { 10 struct { 11 int dev_fd; /**< VFIO/UIO cfg device file descriptor */ 12 int fd; /**< interrupt event file descriptor */ 13 }; 14 void *windows_handle; /**< device driver handle */ 15 }; 16 uint32_t alloc_flags; /**< flags passed at allocation */ 17 enum rte_intr_handle_type type; /**< handle type */ 18 uint32_t max_intr; /**< max interrupt requested */ 19 uint32_t nb_efd; /**< number of available efd(event fd) */ 20 uint8_t efd_counter_size; /**< size of efd counter, used for vdev */ 21 uint16_t nb_intr; 22 /**< Max vector count, default RTE_MAX_RXTX_INTR_VEC_ID */ 23 int *efds; /**< intr vectors/efds mapping */ 24 struct rte_epoll_event *elist; /**< intr vector epoll event */ 25 uint16_t vec_list_size; 26 int *intr_vec; /**< intr vector number array */ 27 }; 28 29 #endif /* EAL_INTERRUPTS_H */ 30