.TH "PAPI_set_cmp_domain" 3 "Thu Dec 14 2023" "Version 7.1.0.0" "PAPI" \" -*- nroff -*- .ad l .nh .SH NAME PAPI_set_cmp_domain \- Set the default counting domain for new event sets bound to the specified component\&. .SH SYNOPSIS .br .PP .SH "Detailed Description" .PP .PP \fBC Prototype:\fP .RS 4 #include <\fBpapi\&.h\fP> .br int \fBPAPI_set_cmp_domain( int domain, int cidx )\fP; .RE .PP \fBParameters\fP .RS 4 \fIdomain\fP one of the following constants as defined in the \fBpapi\&.h\fP header file .PD 0 .IP "\(bu" 2 PAPI_DOM_USER User context counted .IP "\(bu" 2 PAPI_DOM_KERNEL Kernel/OS context counted .IP "\(bu" 2 PAPI_DOM_OTHER Exception/transient mode counted .IP "\(bu" 2 PAPI_DOM_SUPERVISOR Supervisor/hypervisor context counted .IP "\(bu" 2 PAPI_DOM_ALL All above contexts counted .IP "\(bu" 2 PAPI_DOM_MIN The smallest available context .IP "\(bu" 2 PAPI_DOM_MAX The largest available context .IP "\(bu" 2 PAPI_DOM_HWSPEC Something other than CPU like stuff\&. Individual components can decode low order bits for more meaning .PP .br \fIcidx\fP An integer identifier for a component\&. By convention, component 0 is always the cpu component\&. .RE .PP \fBReturn values\fP .RS 4 \fIPAPI_OK\fP .br \fIPAPI_EINVAL\fP One or more of the arguments is invalid\&. .br \fIPAPI_ENOCMP\fP The argument cidx is not a valid component\&. .RE .PP \fBPAPI_set_cmp_domain\fP sets the default counting domain for all new event sets in all threads, and requires an explicit component argument\&. Event sets that are already in existence are not affected\&. To change the domain of an existing event set, please see \fBPAPI_set_opt\fP\&. The reader should note that the domain of an event set affects only the mode in which the counter continues to run\&. Counts are still aggregated for the current process, and not for any other processes in the system\&. Thus when requesting PAPI_DOM_KERNEL , the user is asking for events that occur on behalf of the process, inside the kernel\&. .PP \fBExample:\fP .RS 4 .PP .nf int ret; // Initialize the library ret = PAPI_library_init(PAPI_VER_CURRENT); if (ret > 0 && ret != PAPI_VER_CURRENT) { fprintf(stderr,"PAPI library version mismatch!\\n"); exit(1); } if (ret < 0) handle_error(ret); // Set the default domain for the cpu component ret = PAPI_set_cmp_domain(PAPI_DOM_KERNEL,0); if (ret != PAPI_OK) handle_error(ret); ret = PAPI_create_eventset(&EventSet); if (ret != PAPI_OK) handle_error(ret); .fi .PP .RE .PP \fBSee also\fP .RS 4 \fBPAPI_set_domain\fP \fBPAPI_set_granularity\fP \fBPAPI_set_opt\fP \fBPAPI_get_opt\fP .RE .PP .SH "Author" .PP Generated automatically by Doxygen for PAPI from the source code\&.