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

#ifdef IN_MPERS

# error static const struct xlat uffd_register_mode_flags in mpers mode

#else

static
const struct xlat uffd_register_mode_flags[] = {
#if defined(UFFDIO_REGISTER_MODE_MISSING) || (defined(HAVE_DECL_UFFDIO_REGISTER_MODE_MISSING) && HAVE_DECL_UFFDIO_REGISTER_MODE_MISSING)
  XLAT_TYPE(uint64_t, UFFDIO_REGISTER_MODE_MISSING),
#endif
#if defined(UFFDIO_REGISTER_MODE_WP) || (defined(HAVE_DECL_UFFDIO_REGISTER_MODE_WP) && HAVE_DECL_UFFDIO_REGISTER_MODE_WP)
  XLAT_TYPE(uint64_t, UFFDIO_REGISTER_MODE_WP),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
