Refresh OProfile code running on the target side to 0.9.5 for ARMV7.
diff --git a/daemon/opd_extended.h b/daemon/opd_extended.h
new file mode 100644
index 0000000..715041d
--- /dev/null
+++ b/daemon/opd_extended.h
@@ -0,0 +1,85 @@
+/**
+ * @file opd_extended.h
+ * OProfile Extended Feature
+ *
+ * @remark Copyright 2007-2009 OProfile authors
+ * @remark Read the file COPYING
+ *
+ * @author Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
+ * Copyright (c) 2009 Advanced Micro Devices, Inc.
+ */
+
+#ifndef OPD_EXTENDED_H
+#define OPD_EXTENDED_H
+
+#include "opd_trans.h"
+#include "odb.h"
+
+#include <stdlib.h>
+#include <stdint.h>
+
+
+/**
+ * OProfile Extended Feature Table Entry
+ */
+struct opd_ext_feature {
+	// Feature name
+	const char* feature;
+	// Feature handlers
+	struct opd_ext_handlers * handlers;
+};
+
+/**
+ * OProfile Extended handlers
+ */
+struct opd_ext_handlers {
+	// Extended init
+	int (*ext_init)(char const *);
+	// Extended statistics
+	int (*ext_print_stats)();
+	// Extended sfile handlers
+	struct opd_ext_sfile_handlers * ext_sfile;
+};
+
+/**
+ * OProfile Extended sub-handlers (sfile)
+ */
+struct opd_ext_sfile_handlers {
+	int (*create)(struct sfile *);
+	int (*dup)(struct sfile *, struct sfile *);
+	int (*close)(struct sfile *);
+	int (*sync)(struct sfile *);
+	odb_t * (*get)(struct transient const *, int);
+	struct opd_event * (*find_counter_event)(unsigned long);
+};
+
+/**
+ * @param value: commandline input option string
+ *
+ * Parse the specified extended feature
+ */
+extern int opd_ext_initialize(char const * value);
+
+/**
+ * Print out extended feature statistics in oprofiled.log file
+ */
+extern void opd_ext_print_stats();
+
+/**
+ * opd_sfile extended sfile handling functions
+ */
+extern void opd_ext_sfile_create(struct sfile * sf);
+extern void opd_ext_sfile_dup (struct sfile * to, struct sfile * from);
+extern void opd_ext_sfile_close(struct sfile * sf);
+extern void opd_ext_sfile_sync(struct sfile * sf);
+extern odb_t * opd_ext_sfile_get(struct transient const * trans, int is_cg);
+
+/**
+ * @param counter: counter index
+ *
+ * Get event struct opd_event from the counter index value.
+ */
+extern struct opd_event * opd_ext_find_counter_event(unsigned long counter);
+
+
+#endif