diff options
Diffstat (limited to 'gprofng/src/gp-print.h')
-rw-r--r-- | gprofng/src/gp-print.h | 118 |
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 */ |