DPDK 21.11.9
rte_epoll.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell International Ltd.
3 */
4
5#ifndef __RTE_EPOLL_H__
6#define __RTE_EPOLL_H__
7
14#include <stdint.h>
15
16#include <rte_compat.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define RTE_INTR_EVENT_ADD 1UL
23#define RTE_INTR_EVENT_DEL 2UL
24
25typedef void (*rte_intr_event_cb_t)(int fd, void *arg);
26
27struct rte_epoll_data {
28 uint32_t event;
29 void *data;
30 rte_intr_event_cb_t cb_fun;
31 void *cb_arg;
32};
33
34enum {
35 RTE_EPOLL_INVALID = 0,
36 RTE_EPOLL_VALID,
37 RTE_EPOLL_EXEC,
38};
39
42 uint32_t status;
43 int fd;
44 int epfd;
45 struct rte_epoll_data epdata;
46};
47
48#define RTE_EPOLL_PER_THREAD -1
67int
68rte_epoll_wait(int epfd, struct rte_epoll_event *events,
69 int maxevents, int timeout);
70
88__rte_experimental
89int
91 int maxevents, int timeout);
92
110int
111rte_epoll_ctl(int epfd, int op, int fd,
112 struct rte_epoll_event *event);
113
114#ifdef __cplusplus
115}
116#endif
117
118#endif /* __RTE_EPOLL_H__ */
__rte_experimental int rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
int rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
int rte_epoll_wait(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
uint32_t status
Definition: rte_epoll.h:42