Commit | Line | Data |
---|---|---|
fd78260b ACM |
1 | #ifndef __PERF_THREAD_MAP_H |
2 | #define __PERF_THREAD_MAP_H | |
3 | ||
4 | #include <sys/types.h> | |
9ae7d335 | 5 | #include <stdio.h> |
fd78260b | 6 | |
38e89d2b JO |
7 | struct thread_map_data { |
8 | pid_t pid; | |
9 | }; | |
10 | ||
fd78260b ACM |
11 | struct thread_map { |
12 | int nr; | |
38e89d2b | 13 | struct thread_map_data map[]; |
fd78260b ACM |
14 | }; |
15 | ||
641556c9 | 16 | struct thread_map *thread_map__new_dummy(void); |
fd78260b ACM |
17 | struct thread_map *thread_map__new_by_pid(pid_t pid); |
18 | struct thread_map *thread_map__new_by_tid(pid_t tid); | |
0d37aa34 ACM |
19 | struct thread_map *thread_map__new_by_uid(uid_t uid); |
20 | struct thread_map *thread_map__new(pid_t pid, pid_t tid, uid_t uid); | |
b52956c9 DA |
21 | |
22 | struct thread_map *thread_map__new_str(const char *pid, | |
23 | const char *tid, uid_t uid); | |
24 | ||
fd78260b | 25 | void thread_map__delete(struct thread_map *threads); |
9ae7d335 ACM |
26 | |
27 | size_t thread_map__fprintf(struct thread_map *threads, FILE *fp); | |
28 | ||
b3a319d5 NK |
29 | static inline int thread_map__nr(struct thread_map *threads) |
30 | { | |
31 | return threads ? threads->nr : 1; | |
32 | } | |
33 | ||
e13798c7 JO |
34 | static inline pid_t thread_map__pid(struct thread_map *map, int thread) |
35 | { | |
38e89d2b | 36 | return map->map[thread].pid; |
e13798c7 JO |
37 | } |
38 | ||
39 | static inline void | |
40 | thread_map__set_pid(struct thread_map *map, int thread, pid_t pid) | |
41 | { | |
38e89d2b | 42 | map->map[thread].pid = pid; |
e13798c7 | 43 | } |
fd78260b | 44 | #endif /* __PERF_THREAD_MAP_H */ |