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