base_coroutine/
epoll.rs

1#[repr(C)]
2#[derive(Debug, Clone)]
3pub struct epoll_data {
4    pub ptr: *mut libc::c_void,
5    pub fd: libc::c_int,
6    pub u32: u32,
7    pub u64: u64,
8}
9
10#[repr(C)]
11#[derive(Debug, Clone)]
12pub struct epoll_event {
13    pub events: u32,      /* Epoll events */
14    pub data: epoll_data, /* User data variable */
15}
16
17extern "C" {
18    pub fn epoll_pwait(
19        epfd: libc::c_int,
20        events: *mut epoll_event,
21        maxevents: libc::c_int,
22        timeout: libc::c_int,
23        sigmask: *const libc::sigset_t,
24    ) -> libc::c_int;
25
26    pub fn epoll_wait(
27        epfd: libc::c_int,
28        events: *mut epoll_event,
29        maxevents: libc::c_int,
30        timeout: libc::c_int,
31    ) -> libc::c_int;
32
33    pub fn epoll_ctl(
34        epfd: libc::c_int,
35        op: libc::c_int,
36        fd: libc::c_int,
37        event: *mut epoll_event,
38    ) -> libc::c_int;
39}