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

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

#if defined(BSG_FLAG_Q_AT_TAIL) || (defined(HAVE_DECL_BSG_FLAG_Q_AT_TAIL) && HAVE_DECL_BSG_FLAG_Q_AT_TAIL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((BSG_FLAG_Q_AT_TAIL) == (0x10), "BSG_FLAG_Q_AT_TAIL != 0x10");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define BSG_FLAG_Q_AT_TAIL 0x10
#endif
#if defined(BSG_FLAG_Q_AT_HEAD) || (defined(HAVE_DECL_BSG_FLAG_Q_AT_HEAD) && HAVE_DECL_BSG_FLAG_Q_AT_HEAD)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((BSG_FLAG_Q_AT_HEAD) == (0x20), "BSG_FLAG_Q_AT_HEAD != 0x20");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define BSG_FLAG_Q_AT_HEAD 0x20
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat bsg_flags in mpers mode

# else

static
const struct xlat bsg_flags[] = {
 XLAT(BSG_FLAG_Q_AT_TAIL),
 XLAT(BSG_FLAG_Q_AT_HEAD),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
