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