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
);