]> Git Repo - binutils.git/blob - gprofng/src/gp-print.h
Automatic date update in version.in
[binutils.git] / gprofng / src / gp-print.h
1 /* Copyright (C) 2021 Free Software Foundation, Inc.
2    Contributed by Oracle.
3
4    This file is part of GNU Binutils.
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3, or (at your option)
9    any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, write to the Free Software
18    Foundation, 51 Franklin Street - Fifth Floor, Boston,
19    MA 02110-1301, USA.  */
20
21 #ifndef _GP_PRINT_H
22 #define _ER_PRINT_H
23
24 #include "Command.h"
25 #include "DbeApplication.h"
26 #include "Histable.h"
27 #include "Print.h"
28
29 void ipc_mainLoop (int argc, char *argv[]);
30
31 class DbeView;
32 template <class ITEM> class Vector;
33
34 // er_print object
35 class er_print : public DbeApplication
36 {
37 public:
38
39   er_print (int argc, char *argv[]);
40   virtual ~er_print ();
41   void start (int argc, char *argv[]);
42   bool free_memory_before_exit ();
43
44 private:
45
46   char *error_msg;
47   DbeView *dbev;
48   char *out_fname;
49   FILE *inp_file;
50   FILE *dis_file;
51   FILE *out_file;
52   int dbevindex;
53   char *cov_string;
54   int limit;
55   Vector<Histable*> *cstack;
56   bool was_QQUIT;
57
58   // override methods in base class
59   int check_args (int argc, char *argv[]);
60   void usage ();
61
62   int is_valid_seg_name (char *seg_name, int prev);
63   int cmp_seg_name (char *full_name, char *seg_name);
64   int process_object_select (char *cov);
65   int set_libexpand (char *cov, enum LibExpand expand);
66   int set_libdefaults ();
67
68   bool end_command (char *cmd);
69   void run (int argc, char *argv[]);
70   void proc_script ();
71   void proc_cmd (CmdType cmd_type, int cparam, char *arg1, char *arg2,
72                  char *arg3 = NULL, char *arg4 = NULL, bool xdefault = true);
73   void disp_list (int no_header, int size, int align[],
74                   char *header[], char **lists[]);
75   void exp_list ();
76   void describe ();
77   void obj_list ();
78   void seg_list ();
79   void print_objects ();
80   void print_overview ();
81   void print_overview_nodes (Vector<void*> *data, int level,
82                              Vector<char *> *metric_cmds, Vector<char *> *non_metric_cmds);
83   void print_overview_tree (Vector<void*> *data, int level, Vector<void*> *values,
84                             Vector<char *> *metric_cmds, Vector<char *> *non_metric_cmds);
85   void print_segments ();
86   void filter_list (CmdType cmd_type);
87   int check_exp_id (int exp_id, char *sel);
88   int get_exp_id (char *sel, int &bgn_index, int &end_index);
89   void print_func (Histable::Type type, Print_mode mode,
90                    MetricList *mlist1, MetricList *mlist2,
91                    char *func_name = NULL, char *sel = NULL);
92   void print_gprof (CmdType cmd_type, char *func_name, char *sel);
93   void print_ctree (CmdType cmd_type);
94   void print_dobj (Print_mode type, MetricList *mlist1,
95                    char *dobj_name = NULL, char *sel = NULL);
96   void memobj (char *, int);
97   void mo_list (bool showtab, FILE *outf);
98   void mo_define (char *, char *, char *, char *, char *);
99   void indxobj (char *, int);
100   void indxo_list (bool showtab, FILE *outf);
101   void indxo_define (char *, char *, char *, char *);
102   void ifreq ();
103   void dump_nodes ();
104   void dump_stacks ();
105   void dump_unk_pcs ();
106   void dump_funcs (char *);
107   void dump_dataobjects (char *);
108   void dump_map ();
109   void dump_entities ();
110   void dump_stats ();
111   void dump_proc_warnings ();
112   void send_signal ();
113   void print_cmd (er_print_common_display *);
114   FILE *set_outfile (char *cmd, FILE *&set_file, bool append);
115   void gen_mapfile (char *seg_name, char *cmd);
116 };
117
118 #endif /* _ER_PRINT_H */
This page took 0.026336 seconds and 4 git commands to generate.