epoll.rs 841 B

12345678910111213141516171819202122232425262728293031323334
  1. use super::{
  2. super::{types::*, PalEpoll},
  3. e, Sys,
  4. };
  5. use crate::header::{signal::sigset_t, sys_epoll::epoll_event};
  6. impl PalEpoll for Sys {
  7. fn epoll_create1(flags: c_int) -> c_int {
  8. unsafe { e(syscall!(EPOLL_CREATE1, flags)) as c_int }
  9. }
  10. fn epoll_ctl(epfd: c_int, op: c_int, fd: c_int, event: *mut epoll_event) -> c_int {
  11. unsafe { e(syscall!(EPOLL_CTL, epfd, op, fd, event)) as c_int }
  12. }
  13. fn epoll_pwait(
  14. epfd: c_int,
  15. events: *mut epoll_event,
  16. maxevents: c_int,
  17. timeout: c_int,
  18. sigmask: *const sigset_t,
  19. ) -> c_int {
  20. unsafe {
  21. e(syscall!(
  22. EPOLL_PWAIT,
  23. epfd,
  24. events,
  25. maxevents,
  26. timeout,
  27. sigmask
  28. )) as c_int
  29. }
  30. }
  31. }