blob: 634f2809a342310ba0d1e95d45baafb81e7856df [file] [log] [blame]
Frederic Weisbecker6baa0a52009-08-14 12:21:53 +02001#include <linux/rbtree.h>
2#include <linux/list.h>
3#include <unistd.h>
4#include "symbol.h"
5
6struct thread {
7 struct rb_node rb_node;
8 struct list_head maps;
9 pid_t pid;
10 char *comm;
11};
12
13int thread__set_comm(struct thread *self, const char *comm);
14struct thread *
15threads__findnew(pid_t pid, struct rb_root *threads, struct thread **last_match);
Frederic Weisbecker5b447a62009-08-31 06:45:18 +020016struct thread *
17register_idle_thread(struct rb_root *threads, struct thread **last_match);
Frederic Weisbecker6baa0a52009-08-14 12:21:53 +020018void thread__insert_map(struct thread *self, struct map *map);
19int thread__fork(struct thread *self, struct thread *parent);
20struct map *thread__find_map(struct thread *self, u64 ip);
21size_t threads__fprintf(FILE *fp, struct rb_root *threads);