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/*
15 * CAREFUL: Check include/asm-generic/fcntl.h when defining
16 * new flags, since they might collide with O_* ones. We want
17 * to re-use O_* flags that couldn't possibly have a meaning
18 * from eventfd, in order to leave a free define-space for
19 * shared O_* flags.
20 */
21#define TFD_TIMER_ABSTIME (1 << 0)
22#define TFD_TIMER_CANCEL_ON_SET (1 << 1)
23#define TFD_CLOEXEC O_CLOEXEC
24#define TFD_NONBLOCK O_NONBLOCK
25
26#define TFD_SHARED_FCNTL_FLAGS (TFD_CLOEXEC | TFD_NONBLOCK)
27/* Flags for timerfd_create.  */
28#define TFD_CREATE_FLAGS TFD_SHARED_FCNTL_FLAGS
29/* Flags for timerfd_settime.  */
30#define TFD_SETTIME_FLAGS (TFD_TIMER_ABSTIME | TFD_TIMER_CANCEL_ON_SET)
31
32#endif /* _LINUX_TIMERFD_H */
33