blob: d3b57fa1222557d90fa41f6325ad8d1f5daac100 [file] [log] [blame]
Davide Libenzib215e282007-05-10 22:23:16 -07001/*
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
Ulrich Drepper6b1ef0e2008-07-23 21:29:39 -070011/* For O_CLOEXEC and O_NONBLOCK */
Ulrich Drepper11fcb6c2008-07-23 21:29:26 -070012#include <linux/fcntl.h>
Davide Libenzib215e282007-05-10 22:23:16 -070013
Davide Libenzi610d18f2009-02-18 14:48:18 -080014/*
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 */
Davide Libenzib215e282007-05-10 22:23:16 -070021#define TFD_TIMER_ABSTIME (1 << 0)
Thomas Gleixner9ec26902011-05-20 16:18:50 +020022#define TFD_TIMER_CANCEL_ON_SET (1 << 1)
Ulrich Drepper11fcb6c2008-07-23 21:29:26 -070023#define TFD_CLOEXEC O_CLOEXEC
Ulrich Drepper6b1ef0e2008-07-23 21:29:39 -070024#define TFD_NONBLOCK O_NONBLOCK
Davide Libenzib215e282007-05-10 22:23:16 -070025
Davide Libenzi610d18f2009-02-18 14:48:18 -080026#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. */
Thomas Gleixner9ec26902011-05-20 16:18:50 +020030#define TFD_SETTIME_FLAGS (TFD_TIMER_ABSTIME | TFD_TIMER_CANCEL_ON_SET)
Davide Libenzib215e282007-05-10 22:23:16 -070031
32#endif /* _LINUX_TIMERFD_H */