aboutsummaryrefslogtreecommitdiff
path: root/gprofng/src/gp-print.h
diff options
context:
space:
mode:
Diffstat (limited to 'gprofng/src/gp-print.h')
-rw-r--r--gprofng/src/gp-print.h118
1 files changed, 118 insertions, 0 deletions
diff --git a/gprofng/src/gp-print.h b/gprofng/src/gp-print.h
new file mode 100644
index 0000000..80c922f
--- /dev/null
+++ b/gprofng/src/gp-print.h
@@ -0,0 +1,118 @@
+/* Copyright (C) 2021 Free Software Foundation, Inc.
+ Contributed by Oracle.
+
+ This file is part of GNU Binutils.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _GP_PRINT_H
+#define _ER_PRINT_H
+
+#include "Command.h"
+#include "DbeApplication.h"
+#include "Histable.h"
+#include "Print.h"
+
+void ipc_mainLoop (int argc, char *argv[]);
+
+class DbeView;
+template <class ITEM> class Vector;
+
+// er_print object
+class er_print : public DbeApplication
+{
+public:
+
+ er_print (int argc, char *argv[]);
+ virtual ~er_print ();
+ void start (int argc, char *argv[]);
+ bool free_memory_before_exit ();
+
+private:
+
+ char *error_msg;
+ DbeView *dbev;
+ char *out_fname;
+ FILE *inp_file;
+ FILE *dis_file;
+ FILE *out_file;
+ int dbevindex;
+ char *cov_string;
+ int limit;
+ Vector<Histable*> *cstack;
+ bool was_QQUIT;
+
+ // override methods in base class
+ int check_args (int argc, char *argv[]);
+ void usage ();
+
+ int is_valid_seg_name (char *seg_name, int prev);
+ int cmp_seg_name (char *full_name, char *seg_name);
+ int process_object_select (char *cov);
+ int set_libexpand (char *cov, enum LibExpand expand);
+ int set_libdefaults ();
+
+ bool end_command (char *cmd);
+ void run (int argc, char *argv[]);
+ void proc_script ();
+ void proc_cmd (CmdType cmd_type, int cparam, char *arg1, char *arg2,
+ char *arg3 = NULL, char *arg4 = NULL, bool xdefault = true);
+ void disp_list (int no_header, int size, int align[],
+ char *header[], char **lists[]);
+ void exp_list ();
+ void describe ();
+ void obj_list ();
+ void seg_list ();
+ void print_objects ();
+ void print_overview ();
+ void print_overview_nodes (Vector<void*> *data, int level,
+ Vector<char *> *metric_cmds, Vector<char *> *non_metric_cmds);
+ void print_overview_tree (Vector<void*> *data, int level, Vector<void*> *values,
+ Vector<char *> *metric_cmds, Vector<char *> *non_metric_cmds);
+ void print_segments ();
+ void filter_list (CmdType cmd_type);
+ int check_exp_id (int exp_id, char *sel);
+ int get_exp_id (char *sel, int &bgn_index, int &end_index);
+ void print_func (Histable::Type type, Print_mode mode,
+ MetricList *mlist1, MetricList *mlist2,
+ char *func_name = NULL, char *sel = NULL);
+ void print_gprof (CmdType cmd_type, char *func_name, char *sel);
+ void print_ctree (CmdType cmd_type);
+ void print_dobj (Print_mode type, MetricList *mlist1,
+ char *dobj_name = NULL, char *sel = NULL);
+ void memobj (char *, int);
+ void mo_list (bool showtab, FILE *outf);
+ void mo_define (char *, char *, char *, char *, char *);
+ void indxobj (char *, int);
+ void indxo_list (bool showtab, FILE *outf);
+ void indxo_define (char *, char *, char *, char *);
+ void ifreq ();
+ void dump_nodes ();
+ void dump_stacks ();
+ void dump_unk_pcs ();
+ void dump_funcs (char *);
+ void dump_dataobjects (char *);
+ void dump_map ();
+ void dump_entities ();
+ void dump_stats ();
+ void dump_proc_warnings ();
+ void send_signal ();
+ void print_cmd (er_print_common_display *);
+ FILE *set_outfile (char *cmd, FILE *&set_file, bool append);
+ void gen_mapfile (char *seg_name, char *cmd);
+};
+
+#endif /* _ER_PRINT_H */