DPDK
21.11.6
lib
eal
include
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
19
extern
"C"
{
20
#endif
21
22
#define RTE_INTR_EVENT_ADD 1UL
23
#define RTE_INTR_EVENT_DEL 2UL
24
25
typedef
void (*rte_intr_event_cb_t)(
int
fd,
void
*arg);
26
27
struct
rte_epoll_data {
28
uint32_t event;
29
void
*data;
30
rte_intr_event_cb_t cb_fun;
31
void
*cb_arg;
32
};
33
34
enum
{
35
RTE_EPOLL_INVALID = 0,
36
RTE_EPOLL_VALID,
37
RTE_EPOLL_EXEC,
38
};
39
41
struct
rte_epoll_event
{
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
67
int
68
rte_epoll_wait
(
int
epfd,
struct
rte_epoll_event
*events,
69
int
maxevents,
int
timeout);
70
88
__rte_experimental
89
int
90
rte_epoll_wait_interruptible
(
int
epfd,
struct
rte_epoll_event
*events,
91
int
maxevents,
int
timeout);
92
110
int
111
rte_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_epoll_event::status
uint32_t status
Definition:
rte_epoll.h:42
rte_epoll_wait
int rte_epoll_wait(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
rte_epoll_wait_interruptible
__rte_experimental int rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
rte_epoll_ctl
int rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
rte_epoll_event
Definition:
rte_epoll.h:41
rte_epoll_event::epfd
int epfd
Definition:
rte_epoll.h:44
rte_epoll_event::fd
int fd
Definition:
rte_epoll.h:43
Generated by
1.8.17