1/**
2 * @file daemon/opd_events.h
3 * Event details for each counter
4 *
5 * @remark Copyright 2002, 2003 OProfile authors
6 * @remark Read the file COPYING
7 *
8 * @author John Levon
9 * @author Philippe Elie
10 */
11
12#ifndef OPD_EVENTS_H
13
14#include "op_types.h"
15
16#include <stdint.h>
17#include <time.h>
18
19/** event description for setup (perfmon) and mangling */
20struct opd_event {
21	char * name;
22	unsigned long value;
23	unsigned long counter;
24	unsigned long count;
25	unsigned long um;
26	unsigned long kernel;
27	unsigned long user;
28};
29
30/* needed for opd_perfmon.c */
31extern struct opd_event opd_events[];
32
33/** parse the events into the opd_events array */
34void opd_parse_events(char const * events);
35
36/** Find the event for the given counter */
37struct opd_event * find_counter_event(unsigned long counter);
38
39struct opd_header;
40
41/** fill the sample file header with event info etc. */
42void fill_header(struct opd_header * header, unsigned long counter,
43		 vma_t anon_start, vma_t anon_end,
44		 int is_kernel, int cg_to_is_kernel,
45                 int spu_samples, uint64_t embed_offset, time_t mtime);
46
47#endif /* OPD_EVENTS_H */
48