/* Generated by ./xlat/gen.sh from ./xlat/timerfdflags.in; do not edit. */

static const struct xlat timerfdflags[] = {
/* The Linux userspace headers didn't export these for a long time. */

#if !(defined(TFD_TIMER_ABSTIME) || (defined(HAVE_DECL_TFD_TIMER_ABSTIME) && HAVE_DECL_TFD_TIMER_ABSTIME))
# define TFD_TIMER_ABSTIME (1 << 0)
#endif
 XLAT(TFD_TIMER_ABSTIME),
#if !(defined(TFD_TIMER_CANCEL_ON_SET) || (defined(HAVE_DECL_TFD_TIMER_CANCEL_ON_SET) && HAVE_DECL_TFD_TIMER_CANCEL_ON_SET))
# define TFD_TIMER_CANCEL_ON_SET (1 << 1)
#endif
 XLAT(TFD_TIMER_CANCEL_ON_SET),
#ifdef O_CLOEXEC
#if !(defined(TFD_CLOEXEC) || (defined(HAVE_DECL_TFD_CLOEXEC) && HAVE_DECL_TFD_CLOEXEC))
# define TFD_CLOEXEC O_CLOEXEC
#endif
 XLAT(TFD_CLOEXEC),
#endif
#if !(defined(TFD_NONBLOCK) || (defined(HAVE_DECL_TFD_NONBLOCK) && HAVE_DECL_TFD_NONBLOCK))
# define TFD_NONBLOCK O_NONBLOCK
#endif
 XLAT(TFD_NONBLOCK),
 XLAT_END
};
