summaryrefslogtreecommitdiff
path: root/apps/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugin.h')
-rw-r--r--apps/plugin.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/apps/plugin.h b/apps/plugin.h
index 286a5e2794..cf6a1bc4e4 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -157,13 +157,12 @@ int plugin_open(const char *plugin, const char *parameter);
157 157
158#define PLUGIN_MAGIC 0x526F634B /* RocK */ 158#define PLUGIN_MAGIC 0x526F634B /* RocK */
159 159
160/* increase this every time the api struct changes */ 160/*
161#define PLUGIN_API_VERSION 265 161 * Increment this whenever a change breaks the plugin ABI,
162 162 * when this happens please take the opportunity to sort in
163/* update this to latest version if a change to the api struct breaks 163 * any new functions "waiting" at the end of the list.
164 backwards compatibility (and please take the opportunity to sort in any 164 */
165 new function which are "waiting" at the end of the function table) */ 165#define PLUGIN_API_VERSION 266
166#define PLUGIN_MIN_API_VERSION 260
167 166
168/* 239 Marks the removal of ARCHOS HWCODEC and CHARCELL */ 167/* 239 Marks the removal of ARCHOS HWCODEC and CHARCELL */
169 168
@@ -962,6 +961,7 @@ struct plugin_header {
962 struct lc_header lc_hdr; /* must be the first */ 961 struct lc_header lc_hdr; /* must be the first */
963 enum plugin_status(*entry_point)(const void*); 962 enum plugin_status(*entry_point)(const void*);
964 const struct plugin_api **api; 963 const struct plugin_api **api;
964 size_t api_size;
965}; 965};
966 966
967#ifdef PLUGIN 967#ifdef PLUGIN
@@ -973,14 +973,15 @@ extern unsigned char plugin_end_addr[];
973 const struct plugin_header __header \ 973 const struct plugin_header __header \
974 __attribute__ ((section (".header")))= { \ 974 __attribute__ ((section (".header")))= { \
975 { PLUGIN_MAGIC, TARGET_ID, PLUGIN_API_VERSION, \ 975 { PLUGIN_MAGIC, TARGET_ID, PLUGIN_API_VERSION, \
976 plugin_start_addr, plugin_end_addr }, plugin__start, &rb }; 976 plugin_start_addr, plugin_end_addr, }, \
977 plugin__start, &rb, sizeof(struct plugin_api) };
977#else /* PLATFORM_HOSTED */ 978#else /* PLATFORM_HOSTED */
978#define PLUGIN_HEADER \ 979#define PLUGIN_HEADER \
979 const struct plugin_api *rb DATA_ATTR; \ 980 const struct plugin_api *rb DATA_ATTR; \
980 const struct plugin_header __header \ 981 const struct plugin_header __header \
981 __attribute__((visibility("default"))) = { \ 982 __attribute__((visibility("default"))) = { \
982 { PLUGIN_MAGIC, TARGET_ID, PLUGIN_API_VERSION, NULL, NULL }, \ 983 { PLUGIN_MAGIC, TARGET_ID, PLUGIN_API_VERSION, NULL, NULL }, \
983 plugin__start, &rb }; 984 plugin__start, &rb, sizeof(struct plugin_api) };
984#endif /* CONFIG_PLATFORM */ 985#endif /* CONFIG_PLATFORM */
985#endif /* PLUGIN */ 986#endif /* PLUGIN */
986 987