blob: 51ab7a6b168e0308147b274aa2bd4ae0113870fd [file] [log] [blame]
Mike Dodd8cfa7022010-11-17 11:12:26 -08001/**
2 * @file opreport_options.h
3 * Options for opreport tool
4 *
5 * @remark Copyright 2003 OProfile authors
6 * @remark Read the file COPYING
7 *
8 * @author John Levon
9 * @author Philippe Elie
10 */
11
12#ifndef OPREPORT_OPTIONS_H
13#define OPREPORT_OPTIONS_H
14
15#include <string>
16#include <vector>
17#include <iosfwd>
18
19#include "common_option.h"
20#include "string_filter.h"
21#include "symbol_sort.h"
22
23class profile_classes;
24class merge_option;
25
26namespace options {
27 extern demangle_type demangle;
28 extern bool symbols;
29 extern bool callgraph;
30 extern bool debug_info;
31 extern bool details;
32 extern bool reverse_sort;
33 extern bool exclude_dependent;
34 extern sort_options sort_by;
35 extern merge_option merge_by;
36 extern bool global_percent;
37 extern bool long_filenames;
38 extern bool show_address;
39 extern string_filter symbol_filter;
40 extern bool show_header;
41 extern bool accumulated;
42 extern bool xml;
43 extern std::string xml_options;
44}
45
46/// All the chosen sample files.
47extern profile_classes classes;
48extern profile_classes classes2;
49
50/**
51 * handle_options - process command line
52 * @param spec profile specification
53 *
54 * Process the spec, fatally complaining on error.
55 */
56void handle_options(options::spec const & spec);
57
58#endif // OPREPORT_OPTIONS_H