Skip to content

Commit be7fe77

Browse files
committed
Add epoll definitions
1 parent 4f47bd7 commit be7fe77

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

src/unix/redox/mod.rs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,12 @@ s! {
6262
pub dli_saddr: *mut ::c_void,
6363
}
6464

65+
pub struct epoll_event {
66+
pub events: u32,
67+
pub data: u64,
68+
_pad: u64,
69+
}
70+
6571
pub struct fd_set {
6672
fds_bits: [::c_ulong; ::FD_SETSIZE / ULONG_SIZE],
6773
}
@@ -398,6 +404,37 @@ extern {
398404
oldset: *mut ::sigset_t) -> ::c_int;
399405
}
400406

407+
// sys/epoll.h
408+
pub const EPOLL_CLOEXEC: ::c_int = 0x0100_0000;
409+
pub const EPOLLIN: ::c_int = 1;
410+
pub const EPOLLPRI: ::c_int = 0;
411+
pub const EPOLLOUT: ::c_int = 2;
412+
pub const EPOLLRDNORM: ::c_int = 0;
413+
pub const EPOLLNVAL: ::c_int = 0;
414+
pub const EPOLLRDBAND: ::c_int = 0;
415+
pub const EPOLLWRNORM: ::c_int = 0;
416+
pub const EPOLLWRBAND: ::c_int = 0;
417+
pub const EPOLLMSG: ::c_int = 0;
418+
pub const EPOLLERR: ::c_int = 0;
419+
pub const EPOLLHUP: ::c_int = 0;
420+
pub const EPOLLRDHUP: ::c_int = 0;
421+
pub const EPOLLEXCLUSIVE: ::c_int = 0;
422+
pub const EPOLLWAKEUP: ::c_int = 0;
423+
pub const EPOLLONESHOT: ::c_int = 0;
424+
pub const EPOLLET: ::c_int = 0;
425+
extern {
426+
pub fn epoll_create(size: ::c_int) -> ::c_int;
427+
pub fn epoll_create1(flags: ::c_int) -> ::c_int;
428+
pub fn epoll_wait(epfd: ::c_int,
429+
events: *mut ::epoll_event,
430+
maxevents: ::c_int,
431+
timeout: ::c_int) -> ::c_int;
432+
pub fn epoll_ctl(epfd: ::c_int,
433+
op: ::c_int,
434+
fd: ::c_int,
435+
event: *mut ::epoll_event) -> ::c_int;
436+
}
437+
401438
// sys/stat.h
402439
pub const S_IFMT: ::c_int = 0o0_170_000;
403440
pub const S_IFDIR: ::c_int = 0o040_000;

0 commit comments

Comments
 (0)