---
name: "PAPI_remove_events"
section: "3"
platform: "linux"
package: "libpapi-dev"
version: "7.1.0-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/PAPI_remove_events"
---

# PAPI\_remove\_events(3)

Remove an array of hardware event codes from a PAPI event set.

## NAME

PAPI\_remove\_events - Remove an array of hardware event codes from a PAPI event set.

## SYNOPSIS

## Detailed Description

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 or run the papi\_avail utility in the PAPI distribution. PAPI Presets can be passed to **PAPI\_query\_event** to see if they exist on the underlying architecture. For a list of native events available on current platform, run papi\_native\_avail in the PAPI distribution. It should be noted that **PAPI\_remove\_events** can partially succeed, exactly like **PAPI\_add\_events**.

**C Prototype:**

\#include \<**papi.h**\> \
\
  int **PAPI\_remove\_events( int  EventSet, int \* EventCode, int  number )**;

**Parameters**

*EventSet* an integer handle for a PAPI event set as created by **PAPI\_create\_eventset** \
 *\*Events* an array of defined events \
 *number* an integer indicating the number of events in the array \*EventCode

**Return values**

*Positive* integer The number of consecutive elements that succeeded before the error. \
 *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.

**Example:**

```
int EventSet = PAPI_NULL;
int Events[] = {PAPI_TOT_INS, PAPI_FP_OPS};
int ret;
 // Create an empty EventSet
ret = PAPI_create_eventset(&EventSet);
if (ret != PAPI_OK) handle_error(ret);
// Add two events to our EventSet
ret = PAPI_add_events(EventSet, Events, 2);
if (ret != PAPI_OK) handle_error(ret);
// Start counting
ret = PAPI_start(EventSet);
if (ret != PAPI_OK) handle_error(ret);
// Stop counting, ignore values
ret = PAPI_stop(EventSet, NULL);
if (ret != PAPI_OK) handle_error(ret);
// Remove event
ret = PAPI_remove_events(EventSet, Events, 2);
if (ret != PAPI_OK) handle_error(ret);
```

**See also**

**PAPI\_cleanup\_eventset** **PAPI\_destroy\_eventset** **PAPI\_event\_name\_to\_code** PAPI\_presets **PAPI\_add\_event** **PAPI\_add\_events**

## Author

Generated automatically by Doxygen for PAPI from the source code.
