summaryrefslogtreecommitdiff
path: root/apps/plugin.h
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2007-06-14 15:07:54 +0000
committerNils Wallménius <nils@rockbox.org>2007-06-14 15:07:54 +0000
commit61cf9b8513517d9844050fecf5dc1c48fe4c065b (patch)
tree6f1a4240d4d5ff305e145608d25988f74c8f3ea8 /apps/plugin.h
parent283738086d1cc1ccc39392939d4994fb8db4ade5 (diff)
downloadrockbox-61cf9b8513517d9844050fecf5dc1c48fe4c065b.zip
rockbox-61cf9b8513517d9844050fecf5dc1c48fe4c065b.tar.gz
rockbox-61cf9b8513517d9844050fecf5dc1c48fe4c065b.tar.bz2
rockbox-61cf9b8513517d9844050fecf5dc1c48fe4c065b.tar.xz
Move the MEM_FUNCTION_WRAPPERS macro into plugin.h and get rid of the extra header file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13628 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugin.h')
-rw-r--r--apps/plugin.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/apps/plugin.h b/apps/plugin.h
index 11bb80d..606db6e 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -679,4 +679,24 @@ void plugin_tsr(bool (*exit_callback)(bool reenter));
enum plugin_status plugin_start(struct plugin_api* rockbox, void* parameter)
NO_PROF_ATTR;
+/* Use this macro in plugins where gcc tries to optimize by calling
+ * these functions directly */
+#define MEM_FUNCTION_WRAPPERS(api) \
+ void *memcpy(void *dest, const void *src, size_t n) \
+ { \
+ return (api)->memcpy(dest, src, n); \
+ } \
+ void *memset(void *dest, int c, size_t n) \
+ { \
+ return (api)->memset(dest, c, n); \
+ } \
+ void *memmove(void *dest, const void *src, size_t n) \
+ { \
+ return (api)->memmove(dest, src, n); \
+ } \
+ int memcmp(const void *s1, const void *s2, size_t n) \
+ { \
+ return (api)->memcmp(s1, s2, n); \
+ }
+
#endif