1/**
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
59