1 // SPDX-License-Identifier: GPL-2.0
2 #include "tracepoint.h"
11 #include <api/fs/tracing_path.h>
14 int tp_event_has_id(const char *dir_path, struct dirent *evt_dir)
16 char evt_path[MAXPATHLEN];
19 snprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, evt_dir->d_name);
20 fd = open(evt_path, O_RDONLY);
29 * Check whether event is in <debugfs_mount_point>/tracing/events
31 bool is_valid_tracepoint(const char *event_string)
33 char *dst, *path = malloc(strlen(event_string) + 4); /* Space for "/id\0". */
34 bool have_file = false; /* Conservatively return false if memory allocation failed. */
40 /* Copy event_string replacing the ':' with '/'. */
41 for (src = event_string, dst = path; *src; src++, dst++)
42 *dst = (*src == ':') ? '/' : *src;
44 memcpy(dst, "/id", 4);
46 dst = get_events_file(path);
48 have_file = file_available(dst);