#ifndef STRACE_LINUX_PERF_EVENT_STRUCT_H
#define STRACE_LINUX_PERF_EVENT_STRUCT_H

#include <stdint.h>

struct perf_event_attr {
	uint32_t type;
	uint32_t size;
	uint64_t config;
	union {
		uint64_t sample_period;
		uint64_t sample_freq;
	};
	uint64_t sample_type;
	uint64_t read_format;
	uint64_t disabled                 :1,
	         inherit                  :1,
		 pinned                   :1,
		 exclusive                :1,
	         exclude_user             :1,
	         exclude_kernel           :1,
	         exclude_hv               :1,
	         exclude_idle             :1,
	         mmap                     :1,
	         comm                     :1,
	         freq                     :1,
	         inherit_stat             :1,
	         enable_on_exec           :1,
	         task                     :1,
	         watermark                :1,
	         precise_ip               :2,
	         mmap_data                :1,
	         sample_id_all            :1,
	         exclude_host             :1,
	         exclude_guest            :1,
	         exclude_callchain_kernel :1,
	         exclude_callchain_user   :1,
	         mmap2                    :1,
	         comm_exec                :1,
	         use_clockid              :1,
	         context_switch           :1,
	         write_backward           :1,
	         __reserved_1             :36;
	union {
		uint32_t wakeup_events;
		uint32_t wakeup_watermark;
	};
	uint32_t bp_type;
	union {
		uint64_t bp_addr;
		uint64_t config1;
	};
	/* End of ver 0 - 64 bytes */
	union {
		uint64_t bp_len;
		uint64_t config2;
	};
	/* End of ver 1 - 72 bytes */
	uint64_t branch_sample_type;
	/* End of ver 2 - 80 bytes */
	uint64_t sample_regs_user;
	uint32_t sample_stack_user;
	int32_t  clockid;
	/* End of ver 3 - 96 bytes */
	uint64_t sample_regs_intr;
	/* End of ver 4 - 104 bytes */
	uint32_t aux_watermark;
	uint16_t sample_max_stack;
	uint16_t __reserved_2;
	/* End of ver 5 - 112 bytes */
};

#endif /* !STRACE_LINUX_PERF_EVENT_STRUCT_H */
