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

#include "gcc_compat.h"
#include "static_assert.h"

#if defined(TFD_TIMER_ABSTIME) || (defined(HAVE_DECL_TFD_TIMER_ABSTIME) && HAVE_DECL_TFD_TIMER_ABSTIME)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((TFD_TIMER_ABSTIME) == ((1 << 0)), "TFD_TIMER_ABSTIME != (1 << 0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define TFD_TIMER_ABSTIME (1 << 0)
#endif
#if defined(TFD_TIMER_CANCEL_ON_SET) || (defined(HAVE_DECL_TFD_TIMER_CANCEL_ON_SET) && HAVE_DECL_TFD_TIMER_CANCEL_ON_SET)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((TFD_TIMER_CANCEL_ON_SET) == ((1 << 1)), "TFD_TIMER_CANCEL_ON_SET != (1 << 1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define TFD_TIMER_CANCEL_ON_SET (1 << 1)
#endif
#if defined TFD_CLOEXEC || defined O_CLOEXEC
#if defined(TFD_CLOEXEC) || (defined(HAVE_DECL_TFD_CLOEXEC) && HAVE_DECL_TFD_CLOEXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((TFD_CLOEXEC) == (O_CLOEXEC), "TFD_CLOEXEC != O_CLOEXEC");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define TFD_CLOEXEC O_CLOEXEC
#endif
#endif
#if defined(TFD_NONBLOCK) || (defined(HAVE_DECL_TFD_NONBLOCK) && HAVE_DECL_TFD_NONBLOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((TFD_NONBLOCK) == (O_NONBLOCK), "TFD_NONBLOCK != O_NONBLOCK");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define TFD_NONBLOCK O_NONBLOCK
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat timerfdflags in mpers mode

# else

static const struct xlat_data timerfdflags_xdata[] = {


 XLAT(TFD_TIMER_ABSTIME),
 XLAT(TFD_TIMER_CANCEL_ON_SET),
#if defined TFD_CLOEXEC || defined O_CLOEXEC
 XLAT(TFD_CLOEXEC),
#endif
 XLAT(TFD_NONBLOCK),
};
static
const struct xlat timerfdflags[1] = { {
 .data = timerfdflags_xdata,
 .size = ARRAY_SIZE(timerfdflags_xdata),
 .type = XT_NORMAL,
} };

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
