5 #ifndef _RTE_INTERRUPTS_H_ 6 #error "don't include this file directly, please include generic <rte_interrupts.h>" 17 #ifndef _RTE_EAL_INTERRUPTS_H_ 18 #define _RTE_EAL_INTERRUPTS_H_ 20 #define RTE_MAX_RXTX_INTR_VEC_ID 512 21 #define RTE_INTR_VEC_ZERO_OFFSET 0 22 #define RTE_INTR_VEC_RXTX_OFFSET 1 42 #define RTE_INTR_EVENT_ADD 1UL 43 #define RTE_INTR_EVENT_DEL 2UL 45 typedef void (*rte_intr_event_cb_t)(
int fd,
void *arg);
47 struct rte_epoll_data {
50 rte_intr_event_cb_t cb_fun;
55 RTE_EPOLL_INVALID = 0,
65 struct rte_epoll_data epdata;
88 int efds[RTE_MAX_RXTX_INTR_VEC_ID];
94 #define RTE_EPOLL_PER_THREAD -1 115 int maxevents,
int timeout);
137 int maxevents,
int timeout);
187 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)
__rte_experimental int rte_thread_is_intr(void)
int rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
__rte_experimental int rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
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)