19 #if ITT_PLATFORM==ITT_PLATFORM_WIN
31 #define INTEL_NO_MACRO_BODY
32 #define INTEL_ITTNOTIFY_API_PRIVATE
40 #define _N_(n) ITT_JOIN(INTEL_ITTNOTIFY_PREFIX,n)
42 #if ITT_OS==ITT_OS_WIN
44 #elif ITT_OS==ITT_OS_LINUX || ITT_OS==ITT_OS_FREEBSD
46 #elif ITT_OS==ITT_OS_MAC
49 #error Unsupported or unknown OS.
53 #include <android/log.h>
56 #include <sys/types.h>
59 #include <linux/limits.h>
61 #ifdef ITT_ANDROID_LOG
62 #define ITT_ANDROID_LOG_TAG "INTEL_VTUNE_USERAPI"
63 #define ITT_ANDROID_LOGI(...) ((void)__android_log_print(ANDROID_LOG_INFO, ITT_ANDROID_LOG_TAG, __VA_ARGS__))
64 #define ITT_ANDROID_LOGW(...) ((void)__android_log_print(ANDROID_LOG_WARN, ITT_ANDROID_LOG_TAG, __VA_ARGS__))
65 #define ITT_ANDROID_LOGE(...) ((void)__android_log_print(ANDROID_LOG_ERROR,ITT_ANDROID_LOG_TAG, __VA_ARGS__))
66 #define ITT_ANDROID_LOGD(...) ((void)__android_log_print(ANDROID_LOG_DEBUG,ITT_ANDROID_LOG_TAG, __VA_ARGS__))
68 #define ITT_ANDROID_LOGI(...)
69 #define ITT_ANDROID_LOGW(...)
70 #define ITT_ANDROID_LOGE(...)
71 #define ITT_ANDROID_LOGD(...)
75 #define ANDROID_ITTNOTIFY_DEFAULT_PATH_MASK(x) "/data/data/com.intel.vtune/perfrun/lib" \
76 #x "/runtime/libittnotify.so"
78 #if ITT_ARCH==ITT_ARCH_IA32 || ITT_ARCH==ITT_ARCH_ARM
79 #define ANDROID_ITTNOTIFY_DEFAULT_PATH ANDROID_ITTNOTIFY_DEFAULT_PATH_MASK(32)
81 #define ANDROID_ITTNOTIFY_DEFAULT_PATH ANDROID_ITTNOTIFY_DEFAULT_PATH_MASK(64)
88 #if ITT_ARCH==ITT_ARCH_IA32 || ITT_ARCH==ITT_ARCH_ARM
89 #define LIB_VAR_NAME INTEL_LIBITTNOTIFY32
91 #define LIB_VAR_NAME INTEL_LIBITTNOTIFY64
95 #define ITT_MUTEX_INIT_AND_LOCK(p) { \
96 if (PTHREAD_SYMBOLS) \
98 if (!p.mutex_initialized) \
100 if (__itt_interlocked_increment(&p.atomic_counter) == 1) \
102 __itt_mutex_init(&p.mutex); \
103 p.mutex_initialized = 1; \
106 while (!p.mutex_initialized) \
107 __itt_thread_yield(); \
109 __itt_mutex_lock(&p.mutex); \
118 #ifndef __itt_init_ittlib_name
121 #define __itt_init_ittlib_name __itt_init_ittlib_ptr
127 #ifndef __itt_fini_ittlib_name
130 #define __itt_fini_ittlib_name __itt_fini_ittlib_ptr
138 #define ITT_STUB(api,type,name,args,params,ptr,group,format) \
139 static type api ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)) args;\
140 typedef type api ITT_JOIN(_N_(name),_t) args; \
141 ITT_EXTERN_C_BEGIN ITT_JOIN(_N_(name),_t)* ITTNOTIFY_NAME(name) = ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)); ITT_EXTERN_C_END \
142 static type api ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)) args \
144 if (!_N_(_ittapi_global).api_initialized && _N_(_ittapi_global).thread_list == NULL) \
145 __itt_init_ittlib_name(NULL, __itt_group_all); \
146 if (ITTNOTIFY_NAME(name) && ITTNOTIFY_NAME(name) != ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init))) \
147 return ITTNOTIFY_NAME(name) params; \
152 #define ITT_STUBV(api,type,name,args,params,ptr,group,format) \
153 static type api ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)) args;\
154 typedef type api ITT_JOIN(_N_(name),_t) args; \
155 ITT_EXTERN_C_BEGIN ITT_JOIN(_N_(name),_t)* ITTNOTIFY_NAME(name) = ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)); ITT_EXTERN_C_END \
156 static type api ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)) args \
158 if (!_N_(_ittapi_global).api_initialized && _N_(_ittapi_global).thread_list == NULL) \
159 __itt_init_ittlib_name(NULL, __itt_group_all); \
160 if (ITTNOTIFY_NAME(name) && ITTNOTIFY_NAME(name) != ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init))) \
161 ITTNOTIFY_NAME(name) params; \
166 #undef __ITT_INTERNAL_INIT
171 #define ITT_STUB(api,type,name,args,params,ptr,group,format) \
172 static type api ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)) args;\
173 typedef type api ITT_JOIN(_N_(name),_t) args; \
174 ITT_EXTERN_C_BEGIN ITT_JOIN(_N_(name),_t)* ITTNOTIFY_NAME(name) = ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)); ITT_EXTERN_C_END
176 #define ITT_STUBV(api,type,name,args,params,ptr,group,format) \
177 static type api ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)) args;\
178 typedef type api ITT_JOIN(_N_(name),_t) args; \
179 ITT_EXTERN_C_BEGIN ITT_JOIN(_N_(name),_t)* ITTNOTIFY_NAME(name) = ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)); ITT_EXTERN_C_END
181 #define __ITT_INTERNAL_INIT
183 #undef __ITT_INTERNAL_INIT
187 #pragma pack(push, 8)
204 #if ITT_PLATFORM==ITT_PLATFORM_WIN
205 #pragma warning(push)
206 #pragma warning(disable: 4054)
213 #define ITT_STUB(api,type,name,args,params,nameindll,group,format) { ITT_TO_STR(ITT_JOIN(__itt_,nameindll)), (void**)(void*)&ITTNOTIFY_NAME(name), (void*)(size_t)&ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)), (void*)(size_t)&ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)), (__itt_group_id)(group)},
214 #define ITT_STUBV ITT_STUB
215 #define __ITT_INTERNAL_INIT
217 #undef __ITT_INTERNAL_INIT
221 #define ITT_STUB(api,type,name,args,params,nameindll,group,format) {ITT_TO_STR(ITT_JOIN(__itt_,nameindll)), (void**)(void*)&ITTNOTIFY_NAME(name), (void*)(size_t)&ITT_VERSIONIZE(ITT_JOIN(_N_(name),_init)), NULL, (__itt_group_id)(group)},
222 #define ITT_STUBV ITT_STUB
227 #if ITT_PLATFORM==ITT_PLATFORM_WIN
259 #ifdef ITT_NOTIFY_EXT_REPORT
263 #if ITT_PLATFORM==ITT_PLATFORM_WIN
264 #pragma warning(push)
265 #pragma warning(disable: 4055)
270 va_start(args, code);
271 if (
_N_(_ittapi_global).error_handler != NULL)
273 __itt_error_handler_t* handler = (__itt_error_handler_t*)(
size_t)
_N_(_ittapi_global).error_handler;
274 handler((__itt_error_code)code, args);
276 #ifdef ITT_NOTIFY_EXT_REPORT
277 _N_(error_handler)(code, args);
283 #define __itt_report_error(code, ...) \
284 __itt_report_error_impl((int)code,__VA_ARGS__)
287 #if ITT_PLATFORM==ITT_PLATFORM_WIN
291 #if ITT_PLATFORM==ITT_PLATFORM_WIN
294 __itt_domain *h_tail = NULL, *
h = NULL;
302 if (
_N_(_ittapi_global).api_initialized)
304 if (ITTNOTIFY_NAME(domain_createW) && ITTNOTIFY_NAME(domain_createW) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(domain_createW),_init)))
307 return ITTNOTIFY_NAME(domain_createW)(
name);
310 for (h_tail = NULL,
h =
_N_(_ittapi_global).domain_list;
h != NULL; h_tail =
h,
h =
h->next)
312 if (
h->nameW != NULL && !wcscmp(
h->nameW,
name))
break;
327 __itt_domain *h_tail = NULL, *
h = NULL;
335 if (
_N_(_ittapi_global).api_initialized)
337 #if ITT_PLATFORM==ITT_PLATFORM_WIN
338 if (ITTNOTIFY_NAME(domain_createA) && ITTNOTIFY_NAME(domain_createA) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(domain_createA),_init)))
341 return ITTNOTIFY_NAME(domain_createA)(
name);
344 if (ITTNOTIFY_NAME(domain_create) && ITTNOTIFY_NAME(domain_create) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(domain_create),_init)))
347 return ITTNOTIFY_NAME(domain_create)(
name);
351 for (h_tail = NULL,
h =
_N_(_ittapi_global).domain_list;
h != NULL; h_tail =
h,
h =
h->next)
363 #if ITT_PLATFORM==ITT_PLATFORM_WIN
366 __itt_string_handle *h_tail = NULL, *
h = NULL;
374 if (
_N_(_ittapi_global).api_initialized)
376 if (ITTNOTIFY_NAME(string_handle_createW) && ITTNOTIFY_NAME(string_handle_createW) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(string_handle_createW),_init)))
379 return ITTNOTIFY_NAME(string_handle_createW)(
name);
382 for (h_tail = NULL,
h =
_N_(_ittapi_global).string_list;
h != NULL; h_tail =
h,
h =
h->next)
384 if (
h->strW != NULL && !wcscmp(
h->strW,
name))
break;
396 static __itt_string_handle* ITTAPI
ITT_VERSIONIZE(ITT_JOIN(
_N_(string_handle_create),_init))(
const char*
name)
399 __itt_string_handle *h_tail = NULL, *
h = NULL;
407 if (
_N_(_ittapi_global).api_initialized)
409 #if ITT_PLATFORM==ITT_PLATFORM_WIN
410 if (ITTNOTIFY_NAME(string_handle_createA) && ITTNOTIFY_NAME(string_handle_createA) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(string_handle_createA),_init)))
413 return ITTNOTIFY_NAME(string_handle_createA)(
name);
416 if (ITTNOTIFY_NAME(string_handle_create) && ITTNOTIFY_NAME(string_handle_create) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(string_handle_create),_init)))
419 return ITTNOTIFY_NAME(string_handle_create)(
name);
423 for (h_tail = NULL,
h =
_N_(_ittapi_global).string_list;
h != NULL; h_tail =
h,
h =
h->next)
435 #if ITT_PLATFORM==ITT_PLATFORM_WIN
447 if (
_N_(_ittapi_global).api_initialized)
449 if (ITTNOTIFY_NAME(counter_createW) && ITTNOTIFY_NAME(counter_createW) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(counter_createW),_init)))
452 return ITTNOTIFY_NAME(counter_createW)(
name,
domain);
455 for (h_tail = NULL,
h =
_N_(_ittapi_global).counter_list;
h != NULL; h_tail =
h,
h =
h->next)
457 if (
h->nameW != NULL &&
h->type ==
type && !wcscmp(
h->nameW,
name) && ((
h->domainW == NULL &&
domain == NULL) ||
458 (
h->domainW != NULL &&
domain != NULL && !wcscmp(
h->domainW,
domain))))
break;
466 return (__itt_counter)
h;
483 if (
_N_(_ittapi_global).api_initialized)
485 #if ITT_PLATFORM==ITT_PLATFORM_WIN
486 if (ITTNOTIFY_NAME(counter_createA) && ITTNOTIFY_NAME(counter_createA) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(counter_createA),_init)))
489 return ITTNOTIFY_NAME(counter_createA)(
name,
domain);
492 if (ITTNOTIFY_NAME(counter_create) && ITTNOTIFY_NAME(counter_create) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(counter_create),_init)))
495 return ITTNOTIFY_NAME(counter_create)(
name,
domain);
499 for (h_tail = NULL,
h =
_N_(_ittapi_global).counter_list;
h != NULL; h_tail =
h,
h =
h->next)
509 return (__itt_counter)
h;
512 #if ITT_PLATFORM==ITT_PLATFORM_WIN
523 if (
_N_(_ittapi_global).api_initialized)
525 if (ITTNOTIFY_NAME(counter_create_typedW) && ITTNOTIFY_NAME(counter_create_typedW) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(counter_create_typedW),_init)))
531 for (h_tail = NULL,
h =
_N_(_ittapi_global).counter_list;
h != NULL; h_tail =
h,
h =
h->next)
533 if (
h->nameW != NULL &&
h->type ==
type && !wcscmp(
h->nameW,
name) && ((
h->domainW == NULL &&
domain == NULL) ||
534 (
h->domainW != NULL &&
domain != NULL && !wcscmp(
h->domainW,
domain))))
break;
542 return (__itt_counter)
h;
558 if (
_N_(_ittapi_global).api_initialized)
560 #if ITT_PLATFORM==ITT_PLATFORM_WIN
561 if (ITTNOTIFY_NAME(counter_create_typedA) && ITTNOTIFY_NAME(counter_create_typedA) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(counter_create_typedA),_init)))
567 if (ITTNOTIFY_NAME(counter_create_typed) && ITTNOTIFY_NAME(counter_create_typed) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(counter_create_typed),_init)))
574 for (h_tail = NULL,
h =
_N_(_ittapi_global).counter_list;
h != NULL; h_tail =
h,
h =
h->next)
584 return (__itt_counter)
h;
591 if (!
_N_(_ittapi_global).api_initialized &&
_N_(_ittapi_global).thread_list == NULL)
597 ITTNOTIFY_NAME(
pause)();
607 if (!
_N_(_ittapi_global).api_initialized &&
_N_(_ittapi_global).thread_list == NULL)
611 if (ITTNOTIFY_NAME(resume) && ITTNOTIFY_NAME(resume) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(resume),_init)))
613 ITTNOTIFY_NAME(resume)();
621 #if ITT_PLATFORM==ITT_PLATFORM_WIN
624 if (!
_N_(_ittapi_global).api_initialized &&
_N_(_ittapi_global).thread_list == NULL)
628 if (ITTNOTIFY_NAME(thread_set_nameW) && ITTNOTIFY_NAME(thread_set_nameW) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(thread_set_nameW),_init)))
630 ITTNOTIFY_NAME(thread_set_nameW)(
name);
646 if (!
_N_(_ittapi_global).api_initialized &&
_N_(_ittapi_global).thread_list == NULL)
650 #if ITT_PLATFORM==ITT_PLATFORM_WIN
651 if (ITTNOTIFY_NAME(thread_set_nameA) && ITTNOTIFY_NAME(thread_set_nameA) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(thread_set_nameA),_init)))
653 ITTNOTIFY_NAME(thread_set_nameA)(
name);
656 if (ITTNOTIFY_NAME(thread_set_name) && ITTNOTIFY_NAME(thread_set_name) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(thread_set_name),_init)))
658 ITTNOTIFY_NAME(thread_set_name)(
name);
663 #if ITT_PLATFORM==ITT_PLATFORM_WIN
681 if (!
_N_(_ittapi_global).api_initialized &&
_N_(_ittapi_global).thread_list == NULL)
685 if (ITTNOTIFY_NAME(thread_ignore) && ITTNOTIFY_NAME(thread_ignore) !=
ITT_VERSIONIZE(ITT_JOIN(
_N_(thread_ignore),_init)))
687 ITTNOTIFY_NAME(thread_ignore)();
709 static const char*
__itt_fsplit(
const char*
s,
const char* sep,
const char** out,
int* len)
714 if (!
s || !sep || !out || !len)
717 for (i = 0;
s[i]; i++)
720 for (j = 0; sep[j]; j++)
736 for (;
s[i]; i++, (*len)++)
739 for (j = 0; sep[j]; j++)
752 for (j = 0; sep[j]; j++)
772 #define MAX_ENV_VALUE_SIZE 4086
774 static char* env_value = (
char*)env_buff;
778 #if ITT_PLATFORM==ITT_PLATFORM_WIN
780 DWORD rc = GetEnvironmentVariableA(
name, env_value, (DWORD)max_len);
785 const char* ret = (
const char*)env_value;
794 DWORD err = GetLastError();
795 if (err == ERROR_SUCCESS)
798 if (err != ERROR_ENVVAR_NOT_FOUND)
802 char* env = getenv(
name);
809 const char* ret = (
const char*)env_value;
811 env_value += len + 1;
826 if (lib_name == NULL)
829 #if ITT_ARCH==ITT_ARCH_IA32 || ITT_ARCH==ITT_ARCH_ARM
830 const char*
const marker_filename =
"com.intel.itt.collector_lib_32";
832 const char*
const marker_filename =
"com.intel.itt.collector_lib_64";
835 char system_wide_marker_filename[
PATH_MAX] = {0};
836 int itt_marker_file_fd = -1;
839 res = snprintf(system_wide_marker_filename,
PATH_MAX - 1,
"%s%s",
"/data/local/tmp/", marker_filename);
842 ITT_ANDROID_LOGE(
"Unable to concatenate marker file string.");
845 itt_marker_file_fd = open(system_wide_marker_filename, O_RDONLY);
847 if (itt_marker_file_fd == -1)
849 const pid_t my_pid = getpid();
852 char app_sandbox_file[
PATH_MAX] = {0};
855 ITT_ANDROID_LOGI(
"Unable to open system-wide marker file.");
856 res = snprintf(cmdline_path,
PATH_MAX - 1,
"/proc/%d/cmdline", my_pid);
859 ITT_ANDROID_LOGE(
"Unable to get cmdline path string.");
863 ITT_ANDROID_LOGI(
"CMD file: %s\n", cmdline_path);
864 cmdline_fd = open(cmdline_path, O_RDONLY);
865 if (cmdline_fd == -1)
867 ITT_ANDROID_LOGE(
"Unable to open %s file!", cmdline_path);
870 res = read(cmdline_fd, package_name,
PATH_MAX - 1);
873 ITT_ANDROID_LOGE(
"Unable to read %s file!", cmdline_path);
874 res = close(cmdline_fd);
877 ITT_ANDROID_LOGE(
"Unable to close %s file!", cmdline_path);
881 res = close(cmdline_fd);
884 ITT_ANDROID_LOGE(
"Unable to close %s file!", cmdline_path);
887 ITT_ANDROID_LOGI(
"Package name: %s\n", package_name);
888 res = snprintf(app_sandbox_file,
PATH_MAX - 1,
"/data/data/%s/%s", package_name, marker_filename);
891 ITT_ANDROID_LOGE(
"Unable to concatenate marker file string.");
895 ITT_ANDROID_LOGI(
"Lib marker file name: %s\n", app_sandbox_file);
896 itt_marker_file_fd = open(app_sandbox_file, O_RDONLY);
897 if (itt_marker_file_fd == -1)
899 ITT_ANDROID_LOGE(
"Unable to open app marker file!");
907 res = read(itt_marker_file_fd, itt_lib_name,
PATH_MAX - 1);
910 ITT_ANDROID_LOGE(
"Unable to read %s file!", itt_marker_file_fd);
911 res = close(itt_marker_file_fd);
914 ITT_ANDROID_LOGE(
"Unable to close %s file!", itt_marker_file_fd);
918 ITT_ANDROID_LOGI(
"ITT Lib path: %s", itt_lib_name);
919 res = close(itt_marker_file_fd);
922 ITT_ANDROID_LOGE(
"Unable to close %s file!", itt_marker_file_fd);
929 ITT_ANDROID_LOGE(
"Unable to set env var!");
933 ITT_ANDROID_LOGI(
"ITT Lib path from env: %s", lib_name);
942 #define __itt_min(a,b) ((a) < (b) ? (a) : (b))
948 const char* var_name =
"INTEL_ITTNOTIFY_GROUPS";
951 if (group_str != NULL)
956 while ((group_str =
__itt_fsplit(group_str,
",; ", &chunk, &len)) != NULL)
958 int min_len =
__itt_min(len, (
int)(
sizeof(gr) - 1));
962 for (i = 0; group_list[i].name != NULL; i++)
1018 for (i = 0;
_N_(_ittapi_global).api_list_ptr[i].name != NULL; i++)
1019 *
_N_(_ittapi_global).api_list_ptr[i].func_ptr =
_N_(_ittapi_global).api_list_ptr[i].null_func;
1022 #if ITT_PLATFORM==ITT_PLATFORM_WIN
1023 #pragma warning(push)
1024 #pragma warning(disable: 4054)
1025 #pragma warning(disable: 4055)
1031 static volatile TIDT current_thread = 0;
1033 if (
_N_(_ittapi_global).api_initialized)
1036 if (
_N_(_ittapi_global).api_initialized)
1038 if (current_thread == 0)
1041 if (
_N_(_ittapi_global).lib != NULL)
1045 if (__itt_api_fini_ptr)
1047 __itt_api_fini_ptr(&
_N_(_ittapi_global));
1057 _N_(_ittapi_global).api_initialized = 0;
1069 #ifdef ITT_COMPLETE_GROUP
1072 static volatile TIDT current_thread = 0;
1074 if (!
_N_(_ittapi_global).api_initialized)
1076 #ifndef ITT_SIMPLE_INIT
1080 if (!
_N_(_ittapi_global).api_initialized)
1082 if (current_thread == 0)
1085 if (lib_name == NULL)
1094 if (
_N_(_ittapi_global).lib != NULL)
1099 switch (lib_version) {
1105 for (i = 0;
_N_(_ittapi_global).api_list_ptr[i].name != NULL; i++)
1107 if (
_N_(_ittapi_global).api_list_ptr[i].group & groups & init_groups)
1109 *
_N_(_ittapi_global).api_list_ptr[i].func_ptr = (
void*)
__itt_get_proc(
_N_(_ittapi_global).lib,
_N_(_ittapi_global).api_list_ptr[i].name);
1110 if (*
_N_(_ittapi_global).api_list_ptr[i].func_ptr == NULL)
1113 *
_N_(_ittapi_global).api_list_ptr[i].func_ptr =
_N_(_ittapi_global).api_list_ptr[i].null_func;
1115 #ifdef ITT_COMPLETE_GROUP
1116 zero_group = (
__itt_group_id)(zero_group |
_N_(_ittapi_global).api_list_ptr[i].group);
1121 *
_N_(_ittapi_global).api_list_ptr[i].func_ptr =
_N_(_ittapi_global).api_list_ptr[i].null_func;
1127 ITTNOTIFY_NAME(thread_ignore) = ITTNOTIFY_NAME(thr_ignore);
1128 #if ITT_PLATFORM==ITT_PLATFORM_WIN
1129 ITTNOTIFY_NAME(
sync_createA) = ITTNOTIFY_NAME(sync_set_nameA);
1132 ITTNOTIFY_NAME(sync_create) = ITTNOTIFY_NAME(sync_set_name);
1134 ITTNOTIFY_NAME(sync_prepare) = ITTNOTIFY_NAME(notify_sync_prepare);
1136 ITTNOTIFY_NAME(sync_acquired) = ITTNOTIFY_NAME(notify_sync_acquired);
1140 #ifdef ITT_COMPLETE_GROUP
1141 for (i = 0;
_N_(_ittapi_global).api_list_ptr[i].name != NULL; i++)
1142 if (
_N_(_ittapi_global).api_list_ptr[i].group & zero_group)
1143 *
_N_(_ittapi_global).api_list_ptr[i].func_ptr =
_N_(_ittapi_global).api_list_ptr[i].null_func;
1148 if (__itt_api_init_ptr)
1149 __itt_api_init_ptr(&
_N_(_ittapi_global), init_groups);
1157 #if ITT_PLATFORM==ITT_PLATFORM_WIN
1160 const char* error = dlerror();
1169 _N_(_ittapi_global).api_initialized = 1;
1176 #ifndef ITT_SIMPLE_INIT
1182 for (i = 0;
_N_(_ittapi_global).api_list_ptr[i].name != NULL; i++)
1184 if (*
_N_(_ittapi_global).api_list_ptr[i].func_ptr !=
_N_(_ittapi_global).api_list_ptr[i].null_func &&
1185 _N_(_ittapi_global).api_list_ptr[i].group & init_groups)
1195 __itt_error_handler_t* prev = (__itt_error_handler_t*)(
size_t)
_N_(_ittapi_global).error_handler;
1196 _N_(_ittapi_global).error_handler = (
void*)(
size_t)handler;
1200 #if ITT_PLATFORM==ITT_PLATFORM_WIN
1201 #pragma warning(pop)
1208 #if defined(ITT_API_IPT_SUPPORT) && (ITT_PLATFORM==ITT_PLATFORM_WIN || ITT_PLATFORM==ITT_PLATFORM_POSIX) && !defined(__ANDROID__)
1215 #if defined(ITT_API_IPT_SUPPORT) && (ITT_PLATFORM==ITT_PLATFORM_WIN || ITT_PLATFORM==ITT_PLATFORM_POSIX) && !defined(__ANDROID__)
1216 if (
_N_(_ittapi_global).ipt_collect_events == 1)
1218 __itt_pt_mark_event(2*region);
1222 __itt_pt_mark(2*region);
1231 #if defined(ITT_API_IPT_SUPPORT) && (ITT_PLATFORM==ITT_PLATFORM_WIN || ITT_PLATFORM==ITT_PLATFORM_POSIX) && !defined(__ANDROID__)
1232 if (
_N_(_ittapi_global).ipt_collect_events == 1)
1234 __itt_pt_mark_event(2*region + 1);
1238 __itt_pt_mark(2*region + 1);
#define __itt_fstrcmp(s1, s2)
#define MUTEX_INITIALIZER
#define NEW_DOMAIN_W(gptr, h, h_tail, name)
@ __itt_collection_paused
@ __itt_collection_normal
#define __itt_mutex_unlock(mutex)
#define API_VERSION_BUILD
#define __itt_thread_id()
#define __itt_get_proc(lib, name)
#define __itt_fstrnlen(s, l)
#define __itt_system_error()
#define NEW_COUNTER_A(gptr, h, h_tail, name, domain, type)
#define NEW_STRING_HANDLE_A(gptr, h, h_tail, name)
#define NEW_DOMAIN_A(gptr, h, h_tail, name)
#define NEW_COUNTER_W(gptr, h, h_tail, name, domain, type)
#define __itt_load_lib(name)
#define NEW_STRING_HANDLE_W(gptr, h, h_tail, name)
#define __itt_fstrcpyn(s1, b, s2, l)
static __itt_fini_ittlib_t * __itt_fini_ittlib_ptr
static const char * __itt_fsplit(const char *s, const char *sep, const char **out, int *len)
static __itt_init_ittlib_t * __itt_init_ittlib_ptr
static const char dll_path[PATH_MAX]
static __itt_group_alias group_alias[]
ITT_EXTERN_C int _N_() init_ittlib(const char *, __itt_group_id)
ITT_EXTERN_C void _N_() mark_pt_region_end(__itt_pt_region region)
static __itt_group_id __itt_get_groups(void)
#define MAX_ENV_VALUE_SIZE
int() __itt_init_ittlib_t(const char *, __itt_group_id)
#define __itt_init_ittlib_name
static const char api_version[]
#define ITT_MUTEX_INIT_AND_LOCK(p)
void() __itt_fini_ittlib_t(void)
static void __itt_report_error_impl(int code,...)
ITT_EXTERN_C void _N_() mark_pt_region_begin(__itt_pt_region region)
static const char * __itt_get_env_var(const char *name)
struct ___itt_group_alias __itt_group_alias
ITT_EXTERN_C void _N_() fini_ittlib(void)
static __itt_api_info api_list[]
static __itt_domain *ITTAPI ITT_VERSIONIZE(ITT_JOIN(_N_(domain_createW), _init)) const
static const char * __itt_get_lib_name(void)
static void __itt_nullify_all_pointers(void)
ITT_EXTERN_C __itt_error_handler_t *_N_() set_error_handler(__itt_error_handler_t *handler)
ITT_GROUP_LIST(group_list)
#define __itt_report_error(code,...)
void() __itt_api_init_t(__itt_global *, __itt_group_id)
static const char * ittnotify_lib_name
static int __itt_lib_version(lib_t lib)
void() __itt_api_fini_t(__itt_global *)
void const char const char int ITT_FORMAT __itt_group_sync s
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d sync_set_nameW
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p sync_cancel
void const char const char int ITT_FORMAT __itt_group_sync __itt_group_fsync
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d void const wchar_t const wchar_t int ITT_FORMAT __itt_group_sync __itt_group_fsync x void const wchar_t int const wchar_t int int ITT_FORMAT __itt_group_sync __itt_group_fsync x notify_sync_cancel
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p __itt_group_suppress
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int namelen
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT __itt_group_sync
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark __itt_group_legacy
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d void const wchar_t const wchar_t int ITT_FORMAT __itt_group_sync __itt_group_fsync x void const wchar_t int const wchar_t int int ITT_FORMAT __itt_group_sync __itt_group_fsync x void ITT_FORMAT __itt_group_sync __itt_group_fsync p void ITT_FORMAT __itt_group_sync __itt_group_fsync p void size_t ITT_FORMAT lu no args __itt_obj_prop_t __itt_obj_state_t ITT_FORMAT d const char ITT_FORMAT s const char ITT_FORMAT s __itt_frame ITT_FORMAT p __itt_counter ITT_FORMAT p __itt_counter unsigned long long ITT_FORMAT lu __itt_counter unsigned long long ITT_FORMAT lu __itt_counter __itt_clock_domain unsigned long long void ITT_FORMAT p const wchar_t ITT_FORMAT __itt_group_mark
void const char const char int ITT_FORMAT __itt_group_sync x void const char * name
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d void const wchar_t const wchar_t int ITT_FORMAT __itt_group_sync __itt_group_fsync x void const wchar_t int const wchar_t int int ITT_FORMAT __itt_group_sync __itt_group_fsync x void ITT_FORMAT __itt_group_sync __itt_group_fsync p notify_sync_releasing
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t * domain
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p sync_releasing
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d void const wchar_t const wchar_t int ITT_FORMAT __itt_group_sync __itt_group_fsync x void const wchar_t int const wchar_t int int ITT_FORMAT __itt_group_sync __itt_group_fsync x void ITT_FORMAT __itt_group_sync __itt_group_fsync p void ITT_FORMAT __itt_group_sync __itt_group_fsync p void size_t ITT_FORMAT lu no args __itt_obj_prop_t __itt_obj_state_t ITT_FORMAT d const char ITT_FORMAT s const char ITT_FORMAT s __itt_frame ITT_FORMAT p __itt_counter ITT_FORMAT p __itt_counter unsigned long long ITT_FORMAT lu __itt_counter unsigned long long ITT_FORMAT lu __itt_counter __itt_clock_domain unsigned long long void ITT_FORMAT p const wchar_t ITT_FORMAT S __itt_mark_type const wchar_t ITT_FORMAT S __itt_mark_type const char ITT_FORMAT s __itt_mark_type ITT_FORMAT d __itt_caller ITT_FORMAT p __itt_caller ITT_FORMAT p no args const __itt_domain __itt_clock_domain unsigned long long __itt_id ITT_FORMAT lu const __itt_domain __itt_clock_domain unsigned long long __itt_id __itt_id void ITT_FORMAT p const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_clock_domain unsigned long long __itt_id __itt_string_handle __itt_scope ITT_FORMAT d const __itt_domain __itt_scope __itt_string_handle const char size_t ITT_FORMAT lu const __itt_domain __itt_clock_domain unsigned long long __itt_relation __itt_id ITT_FORMAT lu __itt_track_group __itt_string_handle __itt_track_group_type ITT_FORMAT d __itt_track ITT_FORMAT p void int const int int const char int ITT_FORMAT d void void const char ITT_FORMAT __itt_group_none
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d int
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function h
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type type
@ __itt_group_splitter_max
@ __itt_group_splitter_min
enum ___itt_group_id __itt_group_id
unsigned char __itt_pt_region
__itt_metadata_type
describes the type of metadata
namespace msvc_inline_asm static inline void pause(uintptr_t delay)
Legacy User API functions and types.