/* Generated by ./xlat/gen.sh from ./xlat/perf_event_read_format.in; do not edit. */
#if !(defined(PERF_FORMAT_TOTAL_TIME_ENABLED) || (defined(HAVE_DECL_PERF_FORMAT_TOTAL_TIME_ENABLED) && HAVE_DECL_PERF_FORMAT_TOTAL_TIME_ENABLED))
# define PERF_FORMAT_TOTAL_TIME_ENABLED 1 << 0
#endif
#if !(defined(PERF_FORMAT_TOTAL_TIME_RUNNING) || (defined(HAVE_DECL_PERF_FORMAT_TOTAL_TIME_RUNNING) && HAVE_DECL_PERF_FORMAT_TOTAL_TIME_RUNNING))
# define PERF_FORMAT_TOTAL_TIME_RUNNING 1 << 1
#endif
#if !(defined(PERF_FORMAT_ID) || (defined(HAVE_DECL_PERF_FORMAT_ID) && HAVE_DECL_PERF_FORMAT_ID))
# define PERF_FORMAT_ID 1 << 2
#endif
#if !(defined(PERF_FORMAT_GROUP) || (defined(HAVE_DECL_PERF_FORMAT_GROUP) && HAVE_DECL_PERF_FORMAT_GROUP))
# define PERF_FORMAT_GROUP 1 << 3
#endif

#ifdef IN_MPERS

# error static const struct xlat perf_event_read_format in mpers mode

#else

static
const struct xlat perf_event_read_format[] = {
 XLAT(PERF_FORMAT_TOTAL_TIME_ENABLED),
 XLAT(PERF_FORMAT_TOTAL_TIME_RUNNING),
 XLAT(PERF_FORMAT_ID),
 XLAT(PERF_FORMAT_GROUP),
 XLAT_END
};

#endif /* !IN_MPERS */
