timerfd.h 999 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * include/linux/timerfd.h
  3. *
  4. * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org>
  5. *
  6. */
  7. #ifndef _LINUX_TIMERFD_H
  8. #define _LINUX_TIMERFD_H
  9. /* For O_CLOEXEC and O_NONBLOCK */
  10. #include <linux/fcntl.h>
  11. /* For _IO helpers */
  12. #include <linux/ioctl.h>
  13. /*
  14. * CAREFUL: Check include/asm-generic/fcntl.h when defining
  15. * new flags, since they might collide with O_* ones. We want
  16. * to re-use O_* flags that couldn't possibly have a meaning
  17. * from eventfd, in order to leave a free define-space for
  18. * shared O_* flags.
  19. */
  20. #define TFD_TIMER_ABSTIME (1 << 0)
  21. #define TFD_TIMER_CANCEL_ON_SET (1 << 1)
  22. #define TFD_CLOEXEC O_CLOEXEC
  23. #define TFD_NONBLOCK O_NONBLOCK
  24. #define TFD_SHARED_FCNTL_FLAGS (TFD_CLOEXEC | TFD_NONBLOCK)
  25. /* Flags for timerfd_create. */
  26. #define TFD_CREATE_FLAGS TFD_SHARED_FCNTL_FLAGS
  27. /* Flags for timerfd_settime. */
  28. #define TFD_SETTIME_FLAGS (TFD_TIMER_ABSTIME | TFD_TIMER_CANCEL_ON_SET)
  29. #define TFD_IOC_SET_TICKS _IOW('T', 0, u64)
  30. #endif /* _LINUX_TIMERFD_H */