blob: 07b25d82486933ec4c1a40bc16e9665ec00c5397 [file] [log] [blame]
Mike Dodd8cfa7022010-11-17 11:12:26 -08001/**
2 * @file oprof_start_config.h
3 * GUI startup config management
4 *
5 * @remark Copyright 2002 OProfile authors
6 * @remark Read the file COPYING
7 *
8 * @author John Levon
9 * @author Philippe Elie
10 */
11
12#ifndef OPROF_START_CONFIG_H
13#define OPROF_START_CONFIG_H
14
15#include <sys/types.h>
16#include <string>
17#include <iosfwd>
18
19/// Store the setup of one event
20struct event_setting {
21
22 event_setting();
23
24 uint count;
25 uint umask;
26 bool os_ring_count;
27 bool user_ring_count;
28};
29
30/**
31 * Store the general configuration of the profiler.
32 * There is no save(), instead opcontrol --setup must be
33 * called. This uses opcontrol's daemonrc file.
34 */
35struct config_setting {
36 config_setting();
37
38 void load(std::istream & in);
39
40 uint buffer_size;
41 uint note_table_size;
42 std::string kernel_filename;
43 bool no_kernel;
44 bool verbose;
45 bool separate_lib;
46 bool separate_kernel;
47 bool separate_cpu;
48 bool separate_thread;
49 uint callgraph_depth;
50 uint buffer_watershed;
51 uint cpu_buffer_size;
52};
53
54std::istream & operator>>(std::istream & in, config_setting & object);
55
56#endif // ! OPROF_START_CONFIG_H