Merge commit 'v3.17' into next
[sfrench/cifs-2.6.git] / include / linux / timerfd.h
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 */