DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
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
13
14
#include <stdint.h>
15
16
#include <rte_stdatomic.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
RTE_ATOMIC(uint32_t)
status
;
43
int
fd
;
44
int
epfd
;
45
struct
rte_epoll_data epdata;
46
};
47
48
#define RTE_EPOLL_PER_THREAD -1
49
67
int
68
rte_epoll_wait
(
int
epfd,
struct
rte_epoll_event
*events,
69
int
maxevents,
int
timeout);
70
88
int
89
rte_epoll_wait_interruptible
(
int
epfd,
struct
rte_epoll_event
*events,
90
int
maxevents,
int
timeout);
91
109
int
110
rte_epoll_ctl
(
int
epfd,
int
op,
int
fd,
111
struct
rte_epoll_event
*event);
112
113
#ifdef __cplusplus
114
}
115
#endif
116
117
#endif
/* __RTE_EPOLL_H__ */
rte_epoll_ctl
int rte_epoll_ctl(int epfd, int op, int fd, struct rte_epoll_event *event)
rte_epoll_wait
int rte_epoll_wait(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
rte_epoll_wait_interruptible
int rte_epoll_wait_interruptible(int epfd, struct rte_epoll_event *events, int maxevents, int timeout)
rte_epoll_event
Definition
rte_epoll.h:41
rte_epoll_event::fd
int fd
Definition
rte_epoll.h:43
rte_epoll_event::epfd
int epfd
Definition
rte_epoll.h:44
rte_epoll_event::status
uint32_t status
Definition
rte_epoll.h:42
lib
eal
include
rte_epoll.h
Generated by
1.17.0