/**
* @file daemon/opd_events.h
* Event details for each counter
*
* @remark Copyright 2002, 2003 OProfile authors
* @remark Read the file COPYING
*
* @author John Levon
* @author Philippe Elie
*/
#ifndef OPD_EVENTS_H
#include "op_types.h"
#include <stdint.h>
#include <time.h>
/** event description for setup (perfmon) and mangling */
struct opd_event {
char * name;
unsigned long value;
unsigned long counter;
unsigned long count;
unsigned long um;
unsigned long kernel;
unsigned long user;
};
/* needed for opd_perfmon.c */
extern struct opd_event opd_events[];
/** parse the events into the opd_events array */
void opd_parse_events(char const * events);
/** Find the event for the given counter */
struct opd_event * find_counter_event(unsigned long counter);
struct opd_header;
/** fill the sample file header with event info etc. */
void fill_header(struct opd_header * header, unsigned long counter,
vma_t anon_start, vma_t anon_end,
int is_kernel, int cg_to_is_kernel,
int spu_samples, uint64_t embed_offset, time_t mtime);
#endif /* OPD_EVENTS_H */