34 #ifndef _RTE_INTERRUPTS_H_ 35 #error "don't include this file directly, please include generic <rte_interrupts.h>" 46 #ifndef _RTE_EAL_INTERRUPTS_H_ 47 #define _RTE_EAL_INTERRUPTS_H_ 49 #define RTE_MAX_RXTX_INTR_VEC_ID 32 50 #define RTE_INTR_VEC_ZERO_OFFSET 0 51 #define RTE_INTR_VEC_RXTX_OFFSET 1 69 #define RTE_INTR_EVENT_ADD 1UL 70 #define RTE_INTR_EVENT_DEL 2UL 72 typedef void (*rte_intr_event_cb_t)(
int fd,
void *arg);
74 struct rte_epoll_data {
77 rte_intr_event_cb_t cb_fun;
82 RTE_EPOLL_INVALID = 0,
92 struct rte_epoll_data epdata;
107 int efds[RTE_MAX_RXTX_INTR_VEC_ID];
113 #define RTE_EPOLL_PER_THREAD -1 133 int maxevents,
int timeout);
183 int epfd,
int op,
unsigned int vec,
void *data);
int rte_intr_rx_ctl(struct rte_intr_handle *intr_handle, int epfd, int op, unsigned int vec, void *data)
int rte_intr_efd_enable(struct rte_intr_handle *intr_handle, uint32_t nb_efd)
int rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
int rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)
int rte_intr_tls_epfd(void)
int rte_epoll_wait(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
void rte_intr_free_epoll_fd(struct rte_intr_handle *intr_handle)
void rte_intr_efd_disable(struct rte_intr_handle *intr_handle)
int rte_intr_allow_others(struct rte_intr_handle *intr_handle)
int rte_intr_dp_is_en(struct rte_intr_handle *intr_handle)