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

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

#if defined(IN_NONBLOCK) || (defined(HAVE_DECL_IN_NONBLOCK) && HAVE_DECL_IN_NONBLOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IN_NONBLOCK) == (O_NONBLOCK), "IN_NONBLOCK != O_NONBLOCK");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IN_NONBLOCK O_NONBLOCK
#endif
#if defined IN_CLOEXEC || defined O_CLOEXEC
#if defined(IN_CLOEXEC) || (defined(HAVE_DECL_IN_CLOEXEC) && HAVE_DECL_IN_CLOEXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IN_CLOEXEC) == (O_CLOEXEC), "IN_CLOEXEC != O_CLOEXEC");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IN_CLOEXEC O_CLOEXEC
#endif
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat inotify_init_flags in mpers mode

# else

static
const struct xlat inotify_init_flags[] = {
 XLAT(IN_NONBLOCK),
#if defined IN_CLOEXEC || defined O_CLOEXEC
 XLAT(IN_CLOEXEC),
#endif
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
