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

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
};
