18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/**
28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file opreport_options.h
38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Options for opreport tool
48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2003 OProfile authors
68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING
78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon
98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie
108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */
118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#ifndef OPREPORT_OPTIONS_H
138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#define OPREPORT_OPTIONS_H
148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <string>
168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <vector>
178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <iosfwd>
188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "common_option.h"
208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "string_filter.h"
218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "symbol_sort.h"
228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddclass profile_classes;
248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddclass merge_option;
258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddnamespace options {
278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern demangle_type demangle;
288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool symbols;
298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool callgraph;
308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool debug_info;
318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool details;
328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool reverse_sort;
338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool exclude_dependent;
348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern sort_options sort_by;
358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern merge_option merge_by;
368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool global_percent;
378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool long_filenames;
388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool show_address;
398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern string_filter symbol_filter;
408cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool show_header;
418cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool accumulated;
428cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern bool xml;
438cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd	extern std::string xml_options;
448cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd}
458cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
468cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/// All the chosen sample files.
478cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddextern profile_classes classes;
488cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddextern profile_classes classes2;
498cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
508cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/**
518cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * handle_options - process command line
528cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param spec  profile specification
538cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd *
548cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Process the spec, fatally complaining on error.
558cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */
568cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddvoid handle_options(options::spec const & spec);
578cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd
588cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#endif // OPREPORT_OPTIONS_H
59