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

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

#if defined(DQF_ROOT_SQUASH) || (defined(HAVE_DECL_DQF_ROOT_SQUASH) && HAVE_DECL_DQF_ROOT_SQUASH)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((DQF_ROOT_SQUASH) == ((1 << 0)), "DQF_ROOT_SQUASH != (1 << 0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define DQF_ROOT_SQUASH (1 << 0)
#endif
#if defined(DQF_SYS_FILE) || (defined(HAVE_DECL_DQF_SYS_FILE) && HAVE_DECL_DQF_SYS_FILE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((DQF_SYS_FILE) == ((1 << 16)), "DQF_SYS_FILE != (1 << 16)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define DQF_SYS_FILE (1 << 16)
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat if_dqinfo_flags in mpers mode

# else

static
const struct xlat if_dqinfo_flags[] = {
 XLAT(DQF_ROOT_SQUASH),
 XLAT(DQF_SYS_FILE),
 XLAT_END
};

# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
