oprofile 0.9.6

Copy in the rest of the oprofile 0.9.6 tree so we have a source
copy to match the prebuilt binaries that are checked into
external/.

Change-Id: Iaac327571d5d583594a4194973bf256569061048
diff --git a/gui/oprof_start_config.h b/gui/oprof_start_config.h
new file mode 100644
index 0000000..07b25d8
--- /dev/null
+++ b/gui/oprof_start_config.h
@@ -0,0 +1,56 @@
+/**
+ * @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