File: papi_libpfm4_events.h

package info (click to toggle)
papi 5.7.0+dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid
  • size: 9,856 kB
  • sloc: ansic: 93,265; fortran: 3,338; xml: 2,460; makefile: 815; sh: 290
file content (46 lines) | stat: -rw-r--r-- 931 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef _PAPI_LIBPFM4_EVENTS_H
#define _PAPI_LIBPFM4_EVENTS_H

/*
* File:    papi_libpfm4_events.h
*/

#include "perfmon/pfmlib.h"
#include PEINCLUDE

struct native_event_t {
  int component;
  char *pmu;
  int papi_event_code;
  int libpfm4_idx;
  char *allocated_name;
  char *base_name;
  char *mask_string;
  char *event_description;
  char *mask_description;
  char *pmu_plus_name;
  int cpu;
  int users;
  perf_event_attr_t attr;
};

#define PMU_TYPE_CORE   1
#define PMU_TYPE_UNCORE 2
#define PMU_TYPE_OS     4

struct native_event_table_t {
   struct native_event_t *native_events;
   int num_native_events;
   int allocated_native_events;
   pfm_pmu_info_t default_pmu;
   int pmu_type;
};


/* Prototypes for libpfm name library access */

int _papi_libpfm4_error( int pfm_error );
int _papi_libpfm4_shutdown(papi_vector_t *my_vector);
int _papi_libpfm4_init(papi_vector_t *my_vector);

#endif // _PAPI_LIBPFM4_EVENTS_H