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

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

#if defined(SG_INFO_CHECK) || (defined(HAVE_DECL_SG_INFO_CHECK) && HAVE_DECL_SG_INFO_CHECK)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SG_INFO_CHECK) == (1), "SG_INFO_CHECK != 1");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SG_INFO_CHECK 1
#endif
#if defined(SG_INFO_DIRECT_IO) || (defined(HAVE_DECL_SG_INFO_DIRECT_IO) && HAVE_DECL_SG_INFO_DIRECT_IO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SG_INFO_DIRECT_IO) == (2), "SG_INFO_DIRECT_IO != 2");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SG_INFO_DIRECT_IO 2
#endif
#if defined(SG_INFO_MIXED_IO) || (defined(HAVE_DECL_SG_INFO_MIXED_IO) && HAVE_DECL_SG_INFO_MIXED_IO)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((SG_INFO_MIXED_IO) == (4), "SG_INFO_MIXED_IO != 4");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define SG_INFO_MIXED_IO 4
#endif

#ifndef XLAT_MACROS_ONLY

# ifndef IN_MPERS

const struct xlat sg_io_info[] = {
 XLAT(SG_INFO_CHECK),
 XLAT(SG_INFO_DIRECT_IO),
 XLAT(SG_INFO_MIXED_IO),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
