1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef __PERF_TRACEPOINT_H |
3 | #define __PERF_TRACEPOINT_H |
4 | |
5 | #include <dirent.h> |
6 | #include <string.h> |
7 | |
8 | int tp_event_has_id(const char *dir_path, struct dirent *evt_dir); |
9 | |
10 | #define for_each_event(dir_path, evt_dir, evt_dirent) \ |
11 | while ((evt_dirent = readdir(evt_dir)) != NULL) \ |
12 | if (evt_dirent->d_type == DT_DIR && \ |
13 | (strcmp(evt_dirent->d_name, ".")) && \ |
14 | (strcmp(evt_dirent->d_name, "..")) && \ |
15 | (!tp_event_has_id(dir_path, evt_dirent))) |
16 | |
17 | #define for_each_subsystem(sys_dir, sys_dirent) \ |
18 | while ((sys_dirent = readdir(sys_dir)) != NULL) \ |
19 | if (sys_dirent->d_type == DT_DIR && \ |
20 | (strcmp(sys_dirent->d_name, ".")) && \ |
21 | (strcmp(sys_dirent->d_name, ".."))) |
22 | |
23 | int is_valid_tracepoint(const char *event_string); |
24 | |
25 | #endif /* __PERF_TRACEPOINT_H */ |
26 | |