00001
00002
00003 #ifndef jdb_tbuf_output_h
00004 #define jdb_tbuf_output_h
00005
00006 #include "initcalls.h"
00007 #include "l4_types.h"
00008
00009
00010
00011
00012
00013
00014 class Tb_entry;
00015
00016 class Jdb_tbuf_output
00017 {
00018 private:
00019 typedef unsigned (Format_entry_fn)(Tb_entry *tb, const char *tidstr,
00020 char *buf, int maxlen);
00021 static Format_entry_fn *_format_entry_fn[];
00022
00023 public:
00024 static void FIASCO_INIT init();
00025
00026 static void register_ff(Unsigned8 type, Format_entry_fn format_entry_fn);
00027
00028
00029 static int thread_ip(int e_nr, Global_id *tid, Mword *ip);
00030
00031 static void print_entry(int e_nr, char *buf, int maxlen);
00032
00033 static void print_entry(Tb_entry *tb, char *buf, int maxlen);
00034
00035 static bool set_filter(const char *filter_str, Mword *entries);
00036
00037 private:
00038 static unsigned dummy_format_entry(Tb_entry *tb, const char *, char *buf, int maxlen);
00039 };
00040
00041 #endif // jdb_tbuf_output_h