C++程序  |  51行  |  1.31 KB

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

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

#if defined(EFD_SEMAPHORE) || (defined(HAVE_DECL_EFD_SEMAPHORE) && HAVE_DECL_EFD_SEMAPHORE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((EFD_SEMAPHORE) == (1), "EFD_SEMAPHORE != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define EFD_SEMAPHORE 1
#endif
#if defined EFD_CLOEXEC || defined O_CLOEXEC
#if defined(EFD_CLOEXEC) || (defined(HAVE_DECL_EFD_CLOEXEC) && HAVE_DECL_EFD_CLOEXEC)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((EFD_CLOEXEC) == (O_CLOEXEC), "EFD_CLOEXEC != O_CLOEXEC");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define EFD_CLOEXEC O_CLOEXEC
#endif
#endif
#if defined(EFD_NONBLOCK) || (defined(HAVE_DECL_EFD_NONBLOCK) && HAVE_DECL_EFD_NONBLOCK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((EFD_NONBLOCK) == (O_NONBLOCK), "EFD_NONBLOCK != O_NONBLOCK");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define EFD_NONBLOCK O_NONBLOCK
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat efd_flags in mpers mode

# else

static
const struct xlat efd_flags[] = {
 XLAT(EFD_SEMAPHORE),
#if defined EFD_CLOEXEC || defined O_CLOEXEC
 XLAT(EFD_CLOEXEC),
#endif
 XLAT(EFD_NONBLOCK),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */