xref: /openbmc/linux/tools/perf/util/thread_map.h (revision 4a44a19b)
1 #ifndef __PERF_THREAD_MAP_H
2 #define __PERF_THREAD_MAP_H
3 
4 #include <sys/types.h>
5 #include <stdio.h>
6 
7 struct thread_map {
8 	int nr;
9 	pid_t map[];
10 };
11 
12 struct thread_map *thread_map__new_dummy(void);
13 struct thread_map *thread_map__new_by_pid(pid_t pid);
14 struct thread_map *thread_map__new_by_tid(pid_t tid);
15 struct thread_map *thread_map__new_by_uid(uid_t uid);
16 struct thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid);
17 
18 struct thread_map *thread_map__new_str(const char *pid,
19 		const char *tid, uid_t uid);
20 
21 void thread_map__delete(struct thread_map *threads);
22 
23 size_t thread_map__fprintf(struct thread_map *threads, FILE *fp);
24 
25 static inline int thread_map__nr(struct thread_map *threads)
26 {
27 	return threads ? threads->nr : 1;
28 }
29 
30 #endif	/* __PERF_THREAD_MAP_H */
31