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