PAPI_component_info_t(3)

πŸ’– NAME πŸ’–

okay so this is the PAPI manual page for PAPI_component_info_t(3), bestie. It's the struct that keeps all the component info together, and the field lineup is right below β€” no cap, we're keeping every single one ✨

🌸 SYNOPSIS 🌸

πŸŽ€ Data Fields πŸŽ€

here's the exact field list, verbatim because code is literal, periodt:

char name [128]
char short_name [64]
char description [128]
char version [64]
char support_version [64]
char kernel_version [64]
char disabled_reason [1024]
int disabled
char partially_disabled_reason [1024]
int partially_disabled
int initialized
int CmpIdx
int num_cntrs
int num_mpx_cntrs
int num_preset_events
int num_native_events
int default_domain
int available_domains
int default_granularity
int available_granularities
int hardware_intr_sig
int component_type
char * pmu_names [80]
int reserved [8]
unsigned int hardware_intr:1
unsigned int precise_intr:1
unsigned int posix1b_timers:1
unsigned int kernel_profile:1
unsigned int kernel_multiplex:1
unsigned int fast_counter_read:1
unsigned int fast_real_timer:1
unsigned int fast_virtual_timer:1
unsigned int attach:1
unsigned int attach_must_ptrace:1
unsigned int cntr_umasks:1
unsigned int cpu:1
unsigned int inherit:1
unsigned int reserved_bits:19

✨ Field Documentation ✨

  • unsigned int PAPI_component_info_t::attach β€” Supports attach πŸ’…
  • unsigned int PAPI_component_info_t::attach_must_ptrace β€” Attach must first ptrace and stop the thread/process. iykyk.
  • int PAPI_component_info_t::available_domains β€” Available domains.
  • int PAPI_component_info_t::available_granularities β€” Available granularities.
  • int PAPI_component_info_t::CmpIdx β€” Index into the vector array for this component; set at init time.
  • unsigned int PAPI_component_info_t::cntr_umasks β€” counters have unit masks.
  • int PAPI_component_info_t::component_type β€” Type of component.
  • unsigned int PAPI_component_info_t::cpu β€” Supports specifying cpu number to use with event set.
  • int PAPI_component_info_t::default_domain β€” The default domain when this component is used.
  • int PAPI_component_info_t::default_granularity β€” The default granularity when this component is used.
  • char PAPI_component_info_t::description[128] β€” Description of the component.
  • int PAPI_component_info_t::disabled β€” 0 if enabled, otherwise error code from initialization.
  • char PAPI_component_info_t::disabled_reason[1024] β€” Reason for failure of initialization.
  • unsigned int PAPI_component_info_t::fast_counter_read β€” Supports a user level PMC read instruction.
  • unsigned int PAPI_component_info_t::fast_real_timer β€” Supports a fast real timer.
  • unsigned int PAPI_component_info_t::fast_virtual_timer β€” Supports a fast virtual timer.
  • unsigned int PAPI_component_info_t::hardware_intr β€” hw overflow intr, does not need to be emulated in software. iconic behavior tbh.
  • int PAPI_component_info_t::hardware_intr_sig β€” Signal used by hardware to deliver PMC events.
  • unsigned int PAPI_component_info_t::inherit β€” Supports child processes inheriting parents counters.
  • int PAPI_component_info_t::initialized β€” Component is ready to use. main character energy.
  • unsigned int PAPI_component_info_t::kernel_multiplex β€” In kernel multiplexing.
  • unsigned int PAPI_component_info_t::kernel_profile β€” Has kernel profiling support (buffered interrupts or sprofil-like).
  • char PAPI_component_info_t::kernel_version[64] β€” Version of the kernel PMC support driver.
  • char PAPI_component_info_t::name[128] β€” Name of the component we're using.
  • int PAPI_component_info_t::num_cntrs β€” Number of hardware counters the component supports.
  • int PAPI_component_info_t::num_mpx_cntrs β€” Number of hardware counters the component or PAPI can multiplex supports.
  • int PAPI_component_info_t::num_native_events β€” Number of native events the component supports.
  • int PAPI_component_info_t::num_preset_events β€” Number of preset events the component supports.
  • int PAPI_component_info_t::partially_disabled β€” 1 if component is partially disabled, 0 otherwise.
  • char PAPI_component_info_t::partially_disabled_reason[1024] β€” Reason for partial initialization.
  • char* PAPI_component_info_t::pmu_names[80] β€” list of pmu names supported by this component.
  • unsigned int PAPI_component_info_t::posix1b_timers β€” Using POSIX 1b interval timers (timer_create) instead of setitimer.
  • unsigned int PAPI_component_info_t::precise_intr β€” Performance interrupts happen precisely.
  • char PAPI_component_info_t::short_name[64] β€” Short name of component, to be prepended to event names.
  • char PAPI_component_info_t::support_version[64] β€” Version of the support library.
  • char PAPI_component_info_t::version[64] β€” Version of this component.

🌟 Author 🌟

Generated automatically by Doxygen for PAPI from the source code. yes bestie, the robots wrote this part πŸ€–πŸ’–


🫢 that's the whole page! this is the PAPI_component_info_t(3) manual page from PAPI version 7.2.0.0, dated Wed Jun 25 2025 19:30:48, and the author note says it was generated automatically by Doxygen for PAPI from the source code. hydrate, stretch, and may your counters stay iconic πŸ’–βœ¨