/**
* @file op_alloc_counter.h
* hardware counter allocation
*
* You can have silliness here.
*
* @remark Copyright 2002 OProfile authors
* @remark Read the file COPYING
*
* @author John Levon
* @author Philippe Elie
*/
#ifndef OP_ALLOC_COUNTER_H
#define OP_ALLOC_COUNTER_H
#include <stddef.h>
#include "op_cpu_type.h"
struct op_event;
#ifdef __cplusplus
extern "C" {
#endif
/**
* @param pev array of selected event we want to bind to counter
* @param nr_events size of pev array
* @param cpu_type cpu type
*
* Try to calculate a binding between passed event in pev and counter number.
* The binding is returned in a size_t * where returned ptr[i] is the counter
* number bound to pev[i]
*/
size_t * map_event_to_counter(struct op_event const * pev[], int nr_events,
op_cpu cpu_type);
#ifdef __cplusplus
}
#endif
#endif /* !OP_ALLOC_COUNTER_H */