/* Generated by ./xlat/gen.sh from ./xlat/perf_event_sample_format.in; do not edit. */
#if !(defined(PERF_SAMPLE_IP) || (defined(HAVE_DECL_PERF_SAMPLE_IP) && HAVE_DECL_PERF_SAMPLE_IP))
# define PERF_SAMPLE_IP 1 << 0
#endif
#if !(defined(PERF_SAMPLE_TID) || (defined(HAVE_DECL_PERF_SAMPLE_TID) && HAVE_DECL_PERF_SAMPLE_TID))
# define PERF_SAMPLE_TID 1 << 1
#endif
#if !(defined(PERF_SAMPLE_TIME) || (defined(HAVE_DECL_PERF_SAMPLE_TIME) && HAVE_DECL_PERF_SAMPLE_TIME))
# define PERF_SAMPLE_TIME 1 << 2
#endif
#if !(defined(PERF_SAMPLE_ADDR) || (defined(HAVE_DECL_PERF_SAMPLE_ADDR) && HAVE_DECL_PERF_SAMPLE_ADDR))
# define PERF_SAMPLE_ADDR 1 << 3
#endif
#if !(defined(PERF_SAMPLE_READ) || (defined(HAVE_DECL_PERF_SAMPLE_READ) && HAVE_DECL_PERF_SAMPLE_READ))
# define PERF_SAMPLE_READ 1 << 4
#endif
#if !(defined(PERF_SAMPLE_CALLCHAIN) || (defined(HAVE_DECL_PERF_SAMPLE_CALLCHAIN) && HAVE_DECL_PERF_SAMPLE_CALLCHAIN))
# define PERF_SAMPLE_CALLCHAIN 1 << 5
#endif
#if !(defined(PERF_SAMPLE_ID) || (defined(HAVE_DECL_PERF_SAMPLE_ID) && HAVE_DECL_PERF_SAMPLE_ID))
# define PERF_SAMPLE_ID 1 << 6
#endif
#if !(defined(PERF_SAMPLE_CPU) || (defined(HAVE_DECL_PERF_SAMPLE_CPU) && HAVE_DECL_PERF_SAMPLE_CPU))
# define PERF_SAMPLE_CPU 1 << 7
#endif
#if !(defined(PERF_SAMPLE_PERIOD) || (defined(HAVE_DECL_PERF_SAMPLE_PERIOD) && HAVE_DECL_PERF_SAMPLE_PERIOD))
# define PERF_SAMPLE_PERIOD 1 << 8
#endif
#if !(defined(PERF_SAMPLE_STREAM_ID) || (defined(HAVE_DECL_PERF_SAMPLE_STREAM_ID) && HAVE_DECL_PERF_SAMPLE_STREAM_ID))
# define PERF_SAMPLE_STREAM_ID 1 << 9
#endif
#if !(defined(PERF_SAMPLE_RAW) || (defined(HAVE_DECL_PERF_SAMPLE_RAW) && HAVE_DECL_PERF_SAMPLE_RAW))
# define PERF_SAMPLE_RAW 1 << 10
#endif
#if !(defined(PERF_SAMPLE_BRANCH_STACK) || (defined(HAVE_DECL_PERF_SAMPLE_BRANCH_STACK) && HAVE_DECL_PERF_SAMPLE_BRANCH_STACK))
# define PERF_SAMPLE_BRANCH_STACK 1 << 11
#endif
#if !(defined(PERF_SAMPLE_REGS_USER) || (defined(HAVE_DECL_PERF_SAMPLE_REGS_USER) && HAVE_DECL_PERF_SAMPLE_REGS_USER))
# define PERF_SAMPLE_REGS_USER 1 << 12
#endif
#if !(defined(PERF_SAMPLE_STACK_USER) || (defined(HAVE_DECL_PERF_SAMPLE_STACK_USER) && HAVE_DECL_PERF_SAMPLE_STACK_USER))
# define PERF_SAMPLE_STACK_USER 1 << 13
#endif
#if !(defined(PERF_SAMPLE_WEIGHT) || (defined(HAVE_DECL_PERF_SAMPLE_WEIGHT) && HAVE_DECL_PERF_SAMPLE_WEIGHT))
# define PERF_SAMPLE_WEIGHT 1 << 14
#endif
#if !(defined(PERF_SAMPLE_DATA_SRC) || (defined(HAVE_DECL_PERF_SAMPLE_DATA_SRC) && HAVE_DECL_PERF_SAMPLE_DATA_SRC))
# define PERF_SAMPLE_DATA_SRC 1 << 15
#endif
#if !(defined(PERF_SAMPLE_IDENTIFIER) || (defined(HAVE_DECL_PERF_SAMPLE_IDENTIFIER) && HAVE_DECL_PERF_SAMPLE_IDENTIFIER))
# define PERF_SAMPLE_IDENTIFIER 1 << 16
#endif
#if !(defined(PERF_SAMPLE_TRANSACTION) || (defined(HAVE_DECL_PERF_SAMPLE_TRANSACTION) && HAVE_DECL_PERF_SAMPLE_TRANSACTION))
# define PERF_SAMPLE_TRANSACTION 1 << 17
#endif
#if !(defined(PERF_SAMPLE_REGS_INTR) || (defined(HAVE_DECL_PERF_SAMPLE_REGS_INTR) && HAVE_DECL_PERF_SAMPLE_REGS_INTR))
# define PERF_SAMPLE_REGS_INTR 1 << 18
#endif

#ifdef IN_MPERS

# error static const struct xlat perf_event_sample_format in mpers mode

#else

static
const struct xlat perf_event_sample_format[] = {
 XLAT(PERF_SAMPLE_IP),
 XLAT(PERF_SAMPLE_TID),
 XLAT(PERF_SAMPLE_TIME),
 XLAT(PERF_SAMPLE_ADDR),
 XLAT(PERF_SAMPLE_READ),
 XLAT(PERF_SAMPLE_CALLCHAIN),
 XLAT(PERF_SAMPLE_ID),
 XLAT(PERF_SAMPLE_CPU),
 XLAT(PERF_SAMPLE_PERIOD),
 XLAT(PERF_SAMPLE_STREAM_ID),
 XLAT(PERF_SAMPLE_RAW),
 XLAT(PERF_SAMPLE_BRANCH_STACK),
 XLAT(PERF_SAMPLE_REGS_USER),
 XLAT(PERF_SAMPLE_STACK_USER),
 XLAT(PERF_SAMPLE_WEIGHT),
 XLAT(PERF_SAMPLE_DATA_SRC),
 XLAT(PERF_SAMPLE_IDENTIFIER),
 XLAT(PERF_SAMPLE_TRANSACTION),
 XLAT(PERF_SAMPLE_REGS_INTR),
 XLAT_END
};

#endif /* !IN_MPERS */
