Home | History | Annotate | Download | only in strace
      1 #ifndef STRACE_LINUX_PERF_EVENT_STRUCT_H
      2 #define STRACE_LINUX_PERF_EVENT_STRUCT_H
      3 
      4 #include <stdint.h>
      5 
      6 struct perf_event_attr {
      7 	uint32_t type;
      8 	uint32_t size;
      9 	uint64_t config;
     10 	union {
     11 		uint64_t sample_period;
     12 		uint64_t sample_freq;
     13 	};
     14 	uint64_t sample_type;
     15 	uint64_t read_format;
     16 	uint64_t disabled                 :1,
     17 	         inherit                  :1,
     18 		 pinned                   :1,
     19 		 exclusive                :1,
     20 	         exclude_user             :1,
     21 	         exclude_kernel           :1,
     22 	         exclude_hv               :1,
     23 	         exclude_idle             :1,
     24 	         mmap                     :1,
     25 	         comm                     :1,
     26 	         freq                     :1,
     27 	         inherit_stat             :1,
     28 	         enable_on_exec           :1,
     29 	         task                     :1,
     30 	         watermark                :1,
     31 	         precise_ip               :2,
     32 	         mmap_data                :1,
     33 	         sample_id_all            :1,
     34 	         exclude_host             :1,
     35 	         exclude_guest            :1,
     36 	         exclude_callchain_kernel :1,
     37 	         exclude_callchain_user   :1,
     38 	         mmap2                    :1,
     39 	         comm_exec                :1,
     40 	         use_clockid              :1,
     41 	         context_switch           :1,
     42 	         write_backward           :1,
     43 	         __reserved_1             :36;
     44 	union {
     45 		uint32_t wakeup_events;
     46 		uint32_t wakeup_watermark;
     47 	};
     48 	uint32_t bp_type;
     49 	union {
     50 		uint64_t bp_addr;
     51 		uint64_t config1;
     52 	};
     53 	/* End of ver 0 - 64 bytes */
     54 	union {
     55 		uint64_t bp_len;
     56 		uint64_t config2;
     57 	};
     58 	/* End of ver 1 - 72 bytes */
     59 	uint64_t branch_sample_type;
     60 	/* End of ver 2 - 80 bytes */
     61 	uint64_t sample_regs_user;
     62 	uint32_t sample_stack_user;
     63 	int32_t  clockid;
     64 	/* End of ver 3 - 96 bytes */
     65 	uint64_t sample_regs_intr;
     66 	/* End of ver 4 - 104 bytes */
     67 	uint32_t aux_watermark;
     68 	uint16_t sample_max_stack;
     69 	uint16_t __reserved_2;
     70 	/* End of ver 5 - 112 bytes */
     71 };
     72 
     73 #endif /* !STRACE_LINUX_PERF_EVENT_STRUCT_H */
     74