PAPI_get_component_info - Online Linux Manual PageSection : 3
Updated : April, 2007
Source : PAPI Programmer's Reference
Note : PAPI

NAMEPAPI_get_component_info − get information about a specific software component

SYNOPSISC Interface #include <papi.h> const PAPI_component_info_t *PAPI_get_component_info(int cidx);Fortran Interface <none>

DESCRIPTIONThis function returns a pointer to a structure containing detailed information about a specific software component in the PAPI library. This includes versioning information, preset and native event information, and more. For full details, see the structure listing below.

RETURN VALUESOn success, the function returns a valid non-NULL pointer. On error, a NULL pointer is returned.

ERRORS<none>  

EXAMPLEconst PAPI_component_info_t *cmpinfo = NULL; if (PAPI_library_init(PAPI_VER_CURRENT) != PAPI_VER_CURRENT) exit(1); if ((cmpinfo = PAPI_get_component_info(0)) == NULL) exit(1); printf("This component supports %d Preset Events and %d Native events.\n", cmpinfo->num_preset_events, cmpinfo->num_native_events);

DATA STRUCTUREThe C data structure returned by this function is found in papi.h and reproduced below: typedef struct _papi_component_option { char name[PAPI_MAX_STR_LEN]; /* Name of the component we're using, usually CVS RCS Id */ char version[PAPI_MIN_STR_LEN]; /* Version of this component, usually CVS Revision */ char support_version[PAPI_MIN_STR_LEN]; /* Version of the support library */ char kernel_version[PAPI_MIN_STR_LEN]; /* Version of the kernel PMC support driver */ int CmpIdx; /* Index into the vector array for this component; set at init time */ int num_cntrs; /* Number of hardware counters the substrate supports */ int num_mpx_cntrs; /* Number of multiplexed hardware counters the substrate or PAPI support: PAPI_MPX_DEF_DEG */ int num_preset_events; /* Number of preset events the substrate supports */ int num_native_events; /* Number of native events the substrate supports */ int default_domain; /* The default domain when this substrate is used: PAPI_DOM_USER */ int available_domains; /* Available domains; default: .default_domain */ int default_granularity; /* The default granularity when this substrate is used: PAPI_GRN_THR */ int available_granularities; /* Available granularities; default:.default_granularity */ int hardware_intr_sig; /* Signal used by hardware to deliver PMC events: PAPI_SIGNAL */ int opcode_match_width; /* Width of opcode matcher if exists, 0 if not */ int reserved_ints[4]; unsigned int hardware_intr:1; /* hw overflow intr, does not need to be emulated in software*/ unsigned int precise_intr:1; /* Performance interrupts happen precisely */ unsigned int posix1b_timers:1; /* Using POSIX 1b interval timers (timer_create) instead of setitimer */ unsigned int kernel_profile:1; /* Has kernel profiling support (buffered interrupts or sprofil-like) */ unsigned int kernel_multiplex:1; /* In kernel multiplexing */ unsigned int data_address_range:1; /* Supports data address range limiting */ unsigned int instr_address_range:1; /* Supports instruction address range limiting */ unsigned int fast_counter_read:1; /* Supports a user level PMC read instruction */ unsigned int fast_real_timer:1; /* Supports a fast real timer */ unsigned int fast_virtual_timer:1; /* Supports a fast virtual timer */ unsigned int attach:1; /* Supports attach */ unsigned int attach_must_ptrace:1; /* Attach must first ptrace and stop the thread/process*/ unsigned int edge_detect:1; /* Supports edge detection on events */ unsigned int invert:1; /* Supports invert detection on events */ unsigned int profile_ear:1; /* Supports data/instr/tlb miss address sampling */ unsigned int grouped_cntrs:1; /* Underlying hardware uses counter groups */ unsigned int reserved_bits:16; } PAPI_component_info_t;

BUGSIf called before PAPI_library_init() the behavior of the routine is undefined.

SEE ALSOPAPI_library_init(3)," PAPI_get_opt(3)," PAPI_get_dmem_info(3)," PAPI_get_hardware_info(3)," PAPI_get_executable_info(3)"
0
Johanes Gumabo
Data Size   :   10,009 byte
man-PAPI_get_component_info.3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   4 / 173,581
Visitor ID   :     :  
Visitor IP   :   18.223.108.134   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.

ERROR : Need New Coding :         (rof_nr_x|149|PAPI_get_component_info.3|44|\n",|printf("This component supports %d Preset Events and %d Native events.\n", )