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

#ifdef IN_MPERS

# error static const struct xlat evdev_sync in mpers mode

#else

static
const struct xlat evdev_sync[] = {
#if defined(SYN_REPORT) || (defined(HAVE_DECL_SYN_REPORT) && HAVE_DECL_SYN_REPORT)
  XLAT(SYN_REPORT),
#endif
#if defined(SYN_CONFIG) || (defined(HAVE_DECL_SYN_CONFIG) && HAVE_DECL_SYN_CONFIG)
  XLAT(SYN_CONFIG),
#endif
#if defined(SYN_MT_REPORT) || (defined(HAVE_DECL_SYN_MT_REPORT) && HAVE_DECL_SYN_MT_REPORT)
  XLAT(SYN_MT_REPORT),
#endif
#if defined(SYN_DROPPED) || (defined(HAVE_DECL_SYN_DROPPED) && HAVE_DECL_SYN_DROPPED)
  XLAT(SYN_DROPPED),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
