Blame src/sw_multiplex.h

Packit 577717
#ifndef MULTIPLEX_H
Packit 577717
#define MULTIPLEX_H
Packit 577717
Packit 577717
#define PAPI_MAX_SW_MPX_EVENTS 32
Packit 577717
Packit 577717
/* Structure contained in the EventSet structure that 
Packit 577717
   holds information about multiplexing. */
Packit 577717
Packit 577717
typedef enum
Packit 577717
  { MPX_STOPPED, MPX_RUNNING } MPX_status;
Packit 577717
Packit 577717
/** Structure contained in the EventSet structure that 
Packit 577717
    holds information about multiplexing.
Packit 577717
    @internal */
Packit 577717
Packit 577717
typedef struct _MPX_EventSet {
Packit 577717
  MPX_status status;
Packit 577717
  /** Pointer to this thread's structure */
Packit 577717
  struct _threadlist *mythr;
Packit 577717
  /** Pointers to this EventSet's MPX entries in the master list for this thread */
Packit 577717
  struct _masterevent *(mev[PAPI_MAX_SW_MPX_EVENTS]);
Packit 577717
  /** Number of entries in above list */
Packit 577717
  int num_events;
Packit 577717
  /** Not sure... */
Packit 577717
  long long start_c, stop_c;
Packit 577717
  long long start_values[PAPI_MAX_SW_MPX_EVENTS];
Packit 577717
  long long stop_values[PAPI_MAX_SW_MPX_EVENTS];
Packit 577717
  long long start_hc[PAPI_MAX_SW_MPX_EVENTS];
Packit 577717
} MPX_EventSet;
Packit 577717
Packit 577717
typedef struct EventSetMultiplexInfo {
Packit 577717
  MPX_EventSet *mpx_evset;
Packit 577717
  int ns;
Packit 577717
  int flags;
Packit 577717
} EventSetMultiplexInfo_t;
Packit 577717
Packit 577717
int mpx_check( int EventSet );
Packit 577717
int mpx_init( int );
Packit 577717
int mpx_add_event( MPX_EventSet **, int EventCode, int domain,
Packit 577717
		   int granularity );
Packit 577717
int mpx_remove_event( MPX_EventSet **, int EventCode );
Packit 577717
int MPX_add_events( MPX_EventSet ** mpx_events, int *event_list, int num_events,
Packit 577717
		    int domain, int granularity );
Packit 577717
int MPX_stop( MPX_EventSet * mpx_events, long long *values );
Packit 577717
int MPX_cleanup( MPX_EventSet ** mpx_events );
Packit 577717
void MPX_shutdown( void );
Packit 577717
int MPX_reset( MPX_EventSet * mpx_events );
Packit 577717
int MPX_read( MPX_EventSet * mpx_events, long long *values, int called_by_stop );
Packit 577717
int MPX_start( MPX_EventSet * mpx_events );
Packit 577717
Packit 577717
#endif /* MULTIPLEX_H */