PAPI_add_event(3)
π PAPI_add_event β add PAPI preset or native hardware event to an event set β¨
okay so bestie, this is the PAPI_add_event(3) page from the PAPI manual π«Ά. Itβs giving βone event, one set, no capβ β and honestly? iconic. π
β¨ NAME β¨
PAPI_add_event β add PAPI preset or native hardware event to an event set π
πΈ SYNOPSIS πΈ
π¦ Detailed Description
C Interface:
#include <papi.h>
int PAPI_add_event( int EventSet, int EventCode );
PAPI_add_event adds one event to a PAPI Event Set. Literally one. Main character energy only. β¨
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. For the encoding of native events, see PAPI_event_name_to_code to learn how to generate native code for the supported native event on the underlying architecture. π¦
π Parameters
EventSetβ An integer handle for a PAPI Event Set as created byPAPI_create_eventset.EventCodeβ A defined event such asPAPI_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_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
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 );
// Add native event PM_CYC to EventSet
if ( PAPI_event_name_to_code( "PM_CYC", &native ) != PAPI_OK )
handle_error( 1 );
if ( PAPI_add_event( EventSet, native ) != PAPI_OK )
handle_error( 1 );
π See also
PAPI_cleanup_eventsetPAPI_destroy_eventsetPAPI_event_code_to_namePAPI_remove_eventsPAPI_query_eventPAPI_presetsPAPI_nativePAPI_remove_event
π Author
Generated automatically by Doxygen for PAPI from the source code. Not me writing this at 2 a.m. with a strawberry soda, but honestly same energy. ππ
mwah π β this cutie is from PAPI source/version 7.2.0.0, dated Wed Jun 25 2025 19:30:48. periodt. πβ¨
π¦ where this page comes from
- nixos 26.05: papi 7.2.0
- nixpkgs unstable: papi 7.2.0
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: papi-devel 7.2.0-160000.2.2 Β· BSD-3-Clause
- ubuntu resolute: libpapi-dev 7.2.0-2 Β· BSD-3-Clause
- ubuntu stonking: libpapi-dev 7.2.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms