18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file oprof_start_util.h 38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Miscellaneous helpers for the GUI start 48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2002 OProfile authors 68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING 78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie 98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon 108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#ifndef OPROF_START_UTIL_H 138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#define OPROF_START_UTIL_H 148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <cmath> 168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <string> 178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <vector> 188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/// Store various daemon status data 208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstruct daemon_status { 218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd /// fill various data member according to the current daemon status 228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd daemon_status(); 238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd bool running; ///< true if daemon is running 248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd unsigned int nr_interrupts; ///< nr_interrupts from profiling start 258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd}; 268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddinline double ratio(double x1, double x2) 288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return fabs(((x1 - x2) / x2)) * 100; 308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstd::string const get_config_filename(std::string const & filename); 338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddbool check_and_create_config_dir(); 348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstd::string const format(std::string const & orig, uint const maxlen); 358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddint do_exec_command(std::string const & cmd, std::vector<std::string> const & args = std::vector<std::string>()); 368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstd::string const do_open_file_or_dir(std::string const & base_dir, bool dir_only); 378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddbool verify_argument(std::string const & str); 388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#endif // OPROF_START_UTIL_H 40