/**
* @file oprof_start_config.h
* GUI startup config management
*
* @remark Copyright 2002 OProfile authors
* @remark Read the file COPYING
*
* @author John Levon
* @author Philippe Elie
*/
#ifndef OPROF_START_CONFIG_H
#define OPROF_START_CONFIG_H
#include <sys/types.h>
#include <string>
#include <iosfwd>
/// Store the setup of one event
struct event_setting {
event_setting();
uint count;
uint umask;
bool os_ring_count;
bool user_ring_count;
};
/**
* Store the general configuration of the profiler.
* There is no save(), instead opcontrol --setup must be
* called. This uses opcontrol's daemonrc file.
*/
struct config_setting {
config_setting();
void load(std::istream & in);
uint buffer_size;
uint note_table_size;
std::string kernel_filename;
bool no_kernel;
bool verbose;
bool separate_lib;
bool separate_kernel;
bool separate_cpu;
bool separate_thread;
uint callgraph_depth;
uint buffer_watershed;
uint cpu_buffer_size;
};
std::istream & operator>>(std::istream & in, config_setting & object);
#endif // ! OPROF_START_CONFIG_H