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