---
name: "PAPI_add_named_event"
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_add_named_event"
---

# PAPI\_add\_named\_event(3)

add PAPI preset or native hardware event by name to an EventSet

## NAME

PAPI\_add\_named\_event - add PAPI preset or native hardware event by name to an EventSet

## SYNOPSIS

## Detailed Description

**C Interface:**

\#include \<**papi.h**\> \
 int **PAPI\_add\_named\_event( int EventSet, const char \*EventName )**;

**PAPI\_add\_named\_event** adds one event to a PAPI EventSet. \
 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 avail test case 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 the papi\_native\_avail utility in the PAPI distribution.

**Parameters**

*EventSet* An integer handle for a PAPI Event Set as created by **PAPI\_create\_eventset**. \
 *EventCode* A defined event such as PAPI\_TOT\_INS.

**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\_ENOINIT* The PAPI library has not been initialized. \
 *PAPI\_ENOMEM* Insufficient memory to complete the operation. \
 *PAPI\_ENOEVST* The event set specified does not exist. \
 *PAPI\_EISRUN* The event set is currently counting events. \
 *PAPI\_ECNFLCT* The underlying counter hardware can not count this event and other events in the event set simultaneously. \
 *PAPI\_ENOEVNT* The PAPI preset is not available on the underlying hardware. \
 *PAPI\_EBUG* Internal error, please send mail to the developers. \
 *PAPI\_EMULPASS* Event exists, but cannot be counted due to multiple passes required by hardware.

**Examples:**

```
char EventName = "PAPI_TOT_INS";
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_named_event( EventSet, EventName ) != PAPI_OK )
handle_error( 1 );
// Add native event PM_CYC to EventSet
if ( PAPI_add_named_event( EventSet, "PM_CYC" ) != PAPI_OK )
handle_error( 1 );
```

**See also**

**PAPI\_add\_event** \
 **PAPI\_query\_named\_event** \
 **PAPI\_remove\_named\_event**

## Author

Generated automatically by Doxygen for PAPI from the source code.
