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