NAME

PAPI_remove_event, PAPI_remove_events - remove PAPI preset or native hardware event from an EventSet

CONTENTS

Synopsis
Description
Arguments
Return Values
Errors
Examples
Authors
Bugs
See Also

SYNOPSIS

C Interface

#include <papi.h> 

int PAPI_remove_event(int EventSet, int EventCode); 

int PAPI_remove_events(int EventSet, int *EventCode, int number); 

Fortran Interface

#include fpapi.h 

PAPIF_remove_event(C_INT EventSet, C_INT EventCode, C_INT check) 

PAPIF_remove_events(C_INT EventSet, C_INT(*) EventCode, C_INT number, C_INT check) 

DESCRIPTION

PAPI_remove_event() removes a hardware event to a PAPI event set. PAPI_remove_events() does the same, but for an array of hardware event codes.

ARGUMENTS

EventSet -- an integer handle for a PAPI event set as created by PAPI_create_eventset (3)

EventCode -- a defined event such as PAPI_TOT_INS or a native event.

*EventCode -- an array of defined events

number -- an integer indicating the number of events in the array *EventCode

A hardware event can be either a PAPI Preset or a native hardware event code. For a list of PAPI preset events, see PAPI_presets (3) or run the avail test case in the PAPI distribution. PAPI Presets can be passed to PAPI_query_event (3) to see if they exist on the underlying architecture. For a list of native events available on current platform, run native_avail test case in the PAPI distribution. For the encoding of native events, see PAPI_event_name_to_code (3) to learn how to generate native code for the supported native event on the underlying architecture.

RETURN VALUES

On success, this function returns PAPI_OK.
On error, a non-zero error code is returned.

ERRORS

PAPI_EINVAL
  One or more of the arguments is invalid.
PAPI_ENOEVST
  The EventSet specified does not exist.
PAPI_EISRUN
  The EventSet is currently counting events.
PAPI_ECNFLCT
  The underlying counter hardware can not count this event and other events in the EventSet simultaneously.
PAPI_ENOEVNT
  The PAPI preset is not available on the underlying hardware.

EXAMPLES


int EventSet = PAPI_NULL;
unsigned int native = 0x0;
        
if (PAPI_create_eventset(&EventSet) != PAPI_OK)
  handle_error(1);

/* Add Total Instructions Executed to our EventSet */

if (PAPI_add_event(EventSet, PAPI_TOT_INS) != PAPI_OK) handle_error(1);

/* Start counting */

if (PAPI_start(EventSet) != PAPI_OK) handle_error(1);

/* Stop counting, ignore values */

if (PAPI_stop(EventSet, NULL) != PAPI_OK) handle_error(1);

/* Remove event */

if (PAPI_remove_event(EventSet, PAPI_TOT_INS) != PAPI_OK) handle_error(1);

AUTHORS

The PAPI Team. See them at the PAPI Web Site: http://icl.cs.utk.edu/projects/papi

BUGS

These functions have no known bugs.

SEE ALSO

PAPI_preset (3), PAPI_set_opt (3), PAPI_start (3), PAPI_add_event (3), PAPI_add_events (3), PAPI_add_pevents (3), PAPI_query_event (3), PAPI_cleanup_eventset (3), PAPI_destroy_eventset (3), PAPI_event_name_to_code (3)


PAPI Programmer’s Reference PAPI_remove_event (3) November, 2003

  Innovative Computing Laboratory
2001 R&D Winner  
Contact PAPI: papi@cs.utk.edu Computer Science Department
  University of Tennessee