xref: /linux-6.15/tools/perf/util/thread_map.h (revision fd3f518f)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2fd78260bSArnaldo Carvalho de Melo #ifndef __PERF_THREAD_MAP_H
3fd78260bSArnaldo Carvalho de Melo #define __PERF_THREAD_MAP_H
4fd78260bSArnaldo Carvalho de Melo 
5fd78260bSArnaldo Carvalho de Melo #include <sys/types.h>
69ae7d335SArnaldo Carvalho de Melo #include <stdio.h>
74b49cce2SJiri Olsa #include <perf/threadmap.h>
8fd78260bSArnaldo Carvalho de Melo 
9*72932371SJiri Olsa struct perf_record_thread_map;
1059660942SJiri Olsa 
119749b90eSJiri Olsa struct perf_thread_map *thread_map__new_dummy(void);
129749b90eSJiri Olsa struct perf_thread_map *thread_map__new_by_pid(pid_t pid);
139749b90eSJiri Olsa struct perf_thread_map *thread_map__new_by_tid(pid_t tid);
149749b90eSJiri Olsa struct perf_thread_map *thread_map__new_by_uid(uid_t uid);
159749b90eSJiri Olsa struct perf_thread_map *thread_map__new_all_cpus(void);
169749b90eSJiri Olsa struct perf_thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid);
17*72932371SJiri Olsa struct perf_thread_map *thread_map__new_event(struct perf_record_thread_map *event);
18b52956c9SDavid Ahern 
199749b90eSJiri Olsa struct perf_thread_map *thread_map__new_str(const char *pid,
20147c508fSJin Yao 		const char *tid, uid_t uid, bool all_threads);
21b52956c9SDavid Ahern 
229749b90eSJiri Olsa struct perf_thread_map *thread_map__new_by_tid_str(const char *tid_str);
23097be0f5SJiri Olsa 
249749b90eSJiri Olsa size_t thread_map__fprintf(struct perf_thread_map *threads, FILE *fp);
259ae7d335SArnaldo Carvalho de Melo 
269749b90eSJiri Olsa void thread_map__read_comms(struct perf_thread_map *threads);
279749b90eSJiri Olsa bool thread_map__has(struct perf_thread_map *threads, pid_t pid);
289749b90eSJiri Olsa int thread_map__remove(struct perf_thread_map *threads, int idx);
29fd78260bSArnaldo Carvalho de Melo #endif	/* __PERF_THREAD_MAP_H */
30