1 #include <linux/rbtree.h> 2 #include <linux/list.h> 3 #include <unistd.h> 4 #include "symbol.h" 5 6 struct thread { 7 struct rb_node rb_node; 8 struct list_head maps; 9 pid_t pid; 10 char shortname[3]; 11 char *comm; 12 }; 13 14 int thread__set_comm(struct thread *self, const char *comm); 15 struct thread * 16 threads__findnew(pid_t pid, struct rb_root *threads, struct thread **last_match); 17 struct thread * 18 register_idle_thread(struct rb_root *threads, struct thread **last_match); 19 void thread__insert_map(struct thread *self, struct map *map); 20 int thread__fork(struct thread *self, struct thread *parent); 21 struct map *thread__find_map(struct thread *self, u64 ip); 22 size_t threads__fprintf(FILE *fp, struct rb_root *threads); 23