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

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

#if defined SFD_CLOEXEC || defined O_CLOEXEC
#if defined(SFD_CLOEXEC) || (defined(HAVE_DECL_SFD_CLOEXEC) && HAVE_DECL_SFD_CLOEXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SFD_CLOEXEC) == (O_CLOEXEC), "SFD_CLOEXEC != O_CLOEXEC");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SFD_CLOEXEC O_CLOEXEC
#endif
#endif
#if defined(SFD_NONBLOCK) || (defined(HAVE_DECL_SFD_NONBLOCK) && HAVE_DECL_SFD_NONBLOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SFD_NONBLOCK) == (O_NONBLOCK), "SFD_NONBLOCK != O_NONBLOCK");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SFD_NONBLOCK O_NONBLOCK
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat sfd_flags in mpers mode

# else

static
const struct xlat sfd_flags[] = {
#if defined SFD_CLOEXEC || defined O_CLOEXEC
 XLAT(SFD_CLOEXEC),
#endif
 XLAT(SFD_NONBLOCK),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
