xref: /linux/include/uapi/linux/timerfd.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2575b1967SMike Frysinger /*
3575b1967SMike Frysinger  *  include/linux/timerfd.h
4575b1967SMike Frysinger  *
5575b1967SMike Frysinger  *  Copyright (C) 2007  Davide Libenzi <davidel@xmailserver.org>
6575b1967SMike Frysinger  *
7575b1967SMike Frysinger  */
8575b1967SMike Frysinger 
9575b1967SMike Frysinger #ifndef _UAPI_LINUX_TIMERFD_H
10575b1967SMike Frysinger #define _UAPI_LINUX_TIMERFD_H
11575b1967SMike Frysinger 
12575b1967SMike Frysinger #include <linux/types.h>
13575b1967SMike Frysinger 
14575b1967SMike Frysinger /* For O_CLOEXEC and O_NONBLOCK */
15575b1967SMike Frysinger #include <linux/fcntl.h>
16575b1967SMike Frysinger 
17575b1967SMike Frysinger /* For _IO helpers */
18575b1967SMike Frysinger #include <linux/ioctl.h>
19575b1967SMike Frysinger 
20575b1967SMike Frysinger /*
21575b1967SMike Frysinger  * CAREFUL: Check include/asm-generic/fcntl.h when defining
22575b1967SMike Frysinger  * new flags, since they might collide with O_* ones. We want
23575b1967SMike Frysinger  * to re-use O_* flags that couldn't possibly have a meaning
24575b1967SMike Frysinger  * from eventfd, in order to leave a free define-space for
25575b1967SMike Frysinger  * shared O_* flags.
26575b1967SMike Frysinger  *
27575b1967SMike Frysinger  * Also make sure to update the masks in include/linux/timerfd.h
28575b1967SMike Frysinger  * when adding new flags.
29575b1967SMike Frysinger  */
30575b1967SMike Frysinger #define TFD_TIMER_ABSTIME (1 << 0)
31575b1967SMike Frysinger #define TFD_TIMER_CANCEL_ON_SET (1 << 1)
32575b1967SMike Frysinger #define TFD_CLOEXEC O_CLOEXEC
33575b1967SMike Frysinger #define TFD_NONBLOCK O_NONBLOCK
34575b1967SMike Frysinger 
35575b1967SMike Frysinger #define TFD_IOC_SET_TICKS	_IOW('T', 0, __u64)
36575b1967SMike Frysinger 
37575b1967SMike Frysinger #endif /* _UAPI_LINUX_TIMERFD_H */
38