C++程序  |  43行  |  1.03 KB

/* 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 */