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

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

#if defined(IORING_FEAT_SINGLE_MMAP) || (defined(HAVE_DECL_IORING_FEAT_SINGLE_MMAP) && HAVE_DECL_IORING_FEAT_SINGLE_MMAP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IORING_FEAT_SINGLE_MMAP) == ((1<<0)), "IORING_FEAT_SINGLE_MMAP != (1<<0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IORING_FEAT_SINGLE_MMAP (1<<0)
#endif
#if defined(IORING_FEAT_NODROP) || (defined(HAVE_DECL_IORING_FEAT_NODROP) && HAVE_DECL_IORING_FEAT_NODROP)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IORING_FEAT_NODROP) == ((1<<1)), "IORING_FEAT_NODROP != (1<<1)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IORING_FEAT_NODROP (1<<1)
#endif
#if defined(IORING_FEAT_SUBMIT_STABLE) || (defined(HAVE_DECL_IORING_FEAT_SUBMIT_STABLE) && HAVE_DECL_IORING_FEAT_SUBMIT_STABLE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IORING_FEAT_SUBMIT_STABLE) == ((1<<2)), "IORING_FEAT_SUBMIT_STABLE != (1<<2)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IORING_FEAT_SUBMIT_STABLE (1<<2)
#endif
#if defined(IORING_FEAT_RW_CUR_POS) || (defined(HAVE_DECL_IORING_FEAT_RW_CUR_POS) && HAVE_DECL_IORING_FEAT_RW_CUR_POS)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IORING_FEAT_RW_CUR_POS) == ((1<<3)), "IORING_FEAT_RW_CUR_POS != (1<<3)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IORING_FEAT_RW_CUR_POS (1<<3)
#endif
#if defined(IORING_FEAT_CUR_PERSONALITY) || (defined(HAVE_DECL_IORING_FEAT_CUR_PERSONALITY) && HAVE_DECL_IORING_FEAT_CUR_PERSONALITY)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IORING_FEAT_CUR_PERSONALITY) == ((1<<4)), "IORING_FEAT_CUR_PERSONALITY != (1<<4)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IORING_FEAT_CUR_PERSONALITY (1<<4)
#endif
#if defined(IORING_FEAT_FAST_POLL) || (defined(HAVE_DECL_IORING_FEAT_FAST_POLL) && HAVE_DECL_IORING_FEAT_FAST_POLL)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
static_assert((IORING_FEAT_FAST_POLL) == ((1<<5)), "IORING_FEAT_FAST_POLL != (1<<5)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
# define IORING_FEAT_FAST_POLL (1<<5)
#endif

#ifndef XLAT_MACROS_ONLY

# ifdef IN_MPERS

#  error static const struct xlat uring_setup_features in mpers mode

# else

static const struct xlat_data uring_setup_features_xdata[] = {
 XLAT(IORING_FEAT_SINGLE_MMAP),
 #define XLAT_VAL_0 ((unsigned) (IORING_FEAT_SINGLE_MMAP))
 #define XLAT_STR_0 STRINGIFY(IORING_FEAT_SINGLE_MMAP)
 XLAT(IORING_FEAT_NODROP),
 #define XLAT_VAL_1 ((unsigned) (IORING_FEAT_NODROP))
 #define XLAT_STR_1 STRINGIFY(IORING_FEAT_NODROP)
 XLAT(IORING_FEAT_SUBMIT_STABLE),
 #define XLAT_VAL_2 ((unsigned) (IORING_FEAT_SUBMIT_STABLE))
 #define XLAT_STR_2 STRINGIFY(IORING_FEAT_SUBMIT_STABLE)
 XLAT(IORING_FEAT_RW_CUR_POS),
 #define XLAT_VAL_3 ((unsigned) (IORING_FEAT_RW_CUR_POS))
 #define XLAT_STR_3 STRINGIFY(IORING_FEAT_RW_CUR_POS)
 XLAT(IORING_FEAT_CUR_PERSONALITY),
 #define XLAT_VAL_4 ((unsigned) (IORING_FEAT_CUR_PERSONALITY))
 #define XLAT_STR_4 STRINGIFY(IORING_FEAT_CUR_PERSONALITY)
 XLAT(IORING_FEAT_FAST_POLL),
 #define XLAT_VAL_5 ((unsigned) (IORING_FEAT_FAST_POLL))
 #define XLAT_STR_5 STRINGIFY(IORING_FEAT_FAST_POLL)
};
static
const struct xlat uring_setup_features[1] = { {
 .data = uring_setup_features_xdata,
 .size = ARRAY_SIZE(uring_setup_features_xdata),
 .type = XT_NORMAL,
 .flags_mask = 0
#  ifdef XLAT_VAL_0
  | XLAT_VAL_0
#  endif
#  ifdef XLAT_VAL_1
  | XLAT_VAL_1
#  endif
#  ifdef XLAT_VAL_2
  | XLAT_VAL_2
#  endif
#  ifdef XLAT_VAL_3
  | XLAT_VAL_3
#  endif
#  ifdef XLAT_VAL_4
  | XLAT_VAL_4
#  endif
#  ifdef XLAT_VAL_5
  | XLAT_VAL_5
#  endif
  ,
 .flags_strsz = 0
#  ifdef XLAT_STR_0
  + sizeof(XLAT_STR_0)
#  endif
#  ifdef XLAT_STR_1
  + sizeof(XLAT_STR_1)
#  endif
#  ifdef XLAT_STR_2
  + sizeof(XLAT_STR_2)
#  endif
#  ifdef XLAT_STR_3
  + sizeof(XLAT_STR_3)
#  endif
#  ifdef XLAT_STR_4
  + sizeof(XLAT_STR_4)
#  endif
#  ifdef XLAT_STR_5
  + sizeof(XLAT_STR_5)
#  endif
  ,
} };

#  undef XLAT_STR_0
#  undef XLAT_VAL_0
#  undef XLAT_STR_1
#  undef XLAT_VAL_1
#  undef XLAT_STR_2
#  undef XLAT_VAL_2
#  undef XLAT_STR_3
#  undef XLAT_VAL_3
#  undef XLAT_STR_4
#  undef XLAT_VAL_4
#  undef XLAT_STR_5
#  undef XLAT_VAL_5
# endif /* !IN_MPERS */

#endif /* !XLAT_MACROS_ONLY */
